/*
Theme Name: Elite Wealth
Template: twentytwentyfive
Description: Child theme of Twenty Twenty-Five for Elite Wealth & Insurance Management (Edward Hambarchian, CLU). Colours, fonts and calculator styling live here; all page content is editable in the block editor.
Version: 1.2.3
Author: Elite Wealth & Insurance Management
Text Domain: elite-wealth
*/

/* ===== Generic helpers used by editable blocks ===== */
.ew-eyebrow{font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;font-weight:700;color:var(--wp--preset--color--gold-deep)}
.ew-eyebrow.is-teal{color:var(--wp--preset--color--teal-deep)}
.ew-index{font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;font-weight:700;color:var(--wp--preset--color--gold-deep);margin-bottom:.5rem}
.ew-card{border-radius:20px;transition:transform .35s ease,box-shadow .35s ease}
@media(prefers-reduced-motion:no-preference){
  .ew-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(31,41,38,.12)}
}
.ew-portrait img{border-radius:999px 999px 18px 18px;box-shadow:0 22px 48px rgba(31,41,38,.18)}
.ew-hero-photo img{border-radius:999px 999px 18px 18px;box-shadow:0 24px 60px rgba(31,41,38,.18)}
.ew-tool-tag{display:inline-block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.7);color:var(--wp--preset--color--teal-deep)}
.ew-rule{border-top:1px solid var(--wp--preset--color--line)}
.ew-disclaimer{font-size:.78rem;line-height:1.6;color:rgba(255,255,255,.8)}
.ew-services .wp-block-column h3,
.ew-services .wp-block-column h3.has-gold-color{color:var(--wp--preset--color--gold-light)!important}
.ew-services .wp-block-column{border-top:2px solid rgba(255,255,255,.28);padding-top:1.1rem}
.ew-toc .wp-block-button__link{font-size:.82rem;padding:.55rem 1rem}

/* Site header */
.ew-header .wp-block-site-logo img{height:54px;width:auto}
.ew-header .wp-block-navigation-item__content{font-size:.92rem;font-weight:600;color:var(--wp--preset--color--contrast)}
.ew-header .wp-block-navigation-item__content:hover{color:var(--wp--preset--color--teal)}
.ew-header .ew-nav-cta a.wp-block-navigation-item__content{background:var(--wp--preset--color--teal);color:#fff;border-radius:999px;padding:.55rem 1.1rem}
.ew-header .ew-nav-cta a.wp-block-navigation-item__content:hover{background:var(--wp--preset--color--teal-deep);color:#fff}

/* ===== Calculators (markup lives in Custom HTML blocks) ===== */
.ew-calc{
  --calc-accent:var(--wp--preset--color--teal);
  --calc-accent-deep:var(--wp--preset--color--teal-deep);
  --ink:var(--wp--preset--color--contrast);
  --ink-soft:var(--wp--preset--color--muted);
  --ink-faint:#8A9793;
  --line:var(--wp--preset--color--line);
  --paper:var(--wp--preset--color--base);
  font-family:var(--wp--preset--font-family--manrope);
  font-weight:400;font-size:1rem;line-height:1.55;color:var(--ink);
  border:1px solid var(--line);background:#fff;padding:44px 46px;border-radius:20px;
  box-shadow:0 6px 22px rgba(31,41,38,.08);margin:0;
}
.ew-calc.is-gold{--calc-accent:var(--wp--preset--color--gold-deep);--calc-accent-deep:#6E4C0C}
.ew-calc *{box-sizing:border-box}
.ew-calc .calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px}
.ew-calc .field{display:flex;flex-direction:column;gap:8px}
.ew-calc .field.full{grid-column:1 / -1}
.ew-calc .field label{font-size:.95rem;font-weight:600;color:var(--ink);letter-spacing:-.005em}
.ew-calc .field .hint{font-size:.8rem;color:var(--ink-faint);line-height:1.5;margin-top:-2px}
.ew-calc .input-wrap{display:flex;align-items:center;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:0 14px;transition:border-color .25s,box-shadow .25s}
.ew-calc .input-wrap:focus-within{border-color:var(--calc-accent);box-shadow:0 0 0 3px rgba(47,138,120,.18)}
.ew-calc .input-wrap .pre,.ew-calc .input-wrap .suf{color:var(--ink-faint);font-size:.92rem;flex:0 0 auto}
.ew-calc .input-wrap input,.ew-calc .input-wrap select{border:none;background:none;outline:none;width:100%;padding:13px 8px;font-family:inherit;font-size:1.04rem;color:var(--ink);font-weight:500;-moz-appearance:textfield;appearance:none;box-shadow:none}
.ew-calc .input-wrap.sel{position:relative}
.ew-calc .input-wrap.sel::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:1.5px solid var(--ink-faint);border-bottom:1.5px solid var(--ink-faint);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.ew-calc .input-wrap input::-webkit-outer-spin-button,.ew-calc .input-wrap input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ew-calc .slider-row{display:flex;align-items:center;gap:18px}
.ew-calc .slider-row input[type=range]{flex:1;accent-color:var(--calc-accent);height:4px;cursor:pointer}
.ew-calc .slider-row .slider-val{font-variant-numeric:tabular-nums;font-weight:600;min-width:3.2em;text-align:right;color:var(--calc-accent-deep)}
.ew-calc .calc-warn{display:none;margin-top:30px;padding:18px 22px;border-radius:12px;background:var(--wp--preset--color--gold-mist);border:1px solid rgba(184,132,42,.28);color:var(--ink-soft);font-size:.95rem;line-height:1.6}
.ew-calc .calc-warn.show{display:block}
.ew-calc .calc-warn strong{color:var(--ink)}
.ew-calc .calc-result{margin-top:40px;border-top:1px solid var(--line);padding-top:34px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.ew-calc .result-label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px}
.ew-calc .result-num{font-family:var(--wp--preset--font-family--literata);font-weight:300;font-size:clamp(2.4rem,6vw,3.8rem);color:var(--calc-accent);letter-spacing:-.025em;line-height:.95}
.ew-calc .result-side{max-width:340px;color:var(--ink-soft);font-size:.95rem;line-height:1.6;margin:0}
.ew-calc .breakdown{margin-top:38px;border-top:1px solid var(--line)}
.ew-calc .breakdown .row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:1rem;color:var(--ink-soft)}
.ew-calc .breakdown .row .v{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink);white-space:nowrap}
.ew-calc .breakdown .row.sub-head{color:var(--ink-faint);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:none;padding-bottom:4px;padding-top:22px}
.ew-calc .breakdown .row.sub-head:first-child{padding-top:6px}
.ew-calc .breakdown .row.minus .v{color:var(--calc-accent-deep)}
.ew-calc .breakdown .row.hl .v{color:var(--calc-accent-deep)}
.ew-calc .breakdown .row.dim{opacity:.7}
.ew-calc .breakdown .row.tally{font-weight:600;color:var(--ink)}
.ew-calc .breakdown .row.tally .v{color:var(--ink)}
.ew-calc .assumptions{margin:30px 0 0;font-size:.8rem;line-height:1.6;color:var(--ink-faint)}
.ew-calc .assumptions strong{color:var(--ink-soft)}
@media(max-width:700px){
  .ew-calc{padding:28px 22px}
  .ew-calc .calc-grid{grid-template-columns:1fr;gap:20px}
}

/* ===== FAQ (core Details blocks) ===== */
.ew-faq .wp-block-details{border:1px solid var(--wp--preset--color--line);border-radius:14px;padding:0;background:#fff;margin-bottom:.75rem}
.ew-faq .wp-block-details summary{padding:1rem 1.25rem;font-weight:600;font-size:1.02rem;cursor:pointer;list-style:none;display:flex;gap:.9rem;align-items:baseline}
.ew-faq .wp-block-details summary::-webkit-details-marker{display:none}
.ew-faq .wp-block-details summary::before{content:"+";font-family:var(--wp--preset--font-family--literata);color:var(--wp--preset--color--teal);font-size:1.3rem;line-height:1;flex:0 0 auto}
.ew-faq .wp-block-details[open] summary::before{content:"\2013"}
.ew-faq .wp-block-details[open] summary{color:var(--wp--preset--color--teal-deep)}
.ew-faq .wp-block-details > :not(summary){padding:0 1.25rem 1.1rem 3.1rem;color:var(--wp--preset--color--muted)}
.ew-faq .wp-block-details > p:not(summary){margin-top:0}
.ew-footer a{color:#fff;text-decoration:none}.ew-footer a:hover{text-decoration:underline}.ew-footer .wp-block-navigation-item__content{color:#fff}

/* =========================================================================
   Visual refinements — added 2026-09-04.
   CSS only: no new HTTP requests, no block markup changes, no JS.
   Everything degrades to the previous appearance if a feature is unsupported.
   ========================================================================= */

/* --- Typography polish ------------------------------------------------- */
h1,h2,h3,h4,h5,h6,.wp-block-heading{text-wrap:balance}
p,li{text-wrap:pretty}
p.has-large-font-size{line-height:1.62}
p a,li a,td a{text-underline-offset:.18em;text-decoration-thickness:1px}
a[href^="tel:"]{font-variant-numeric:tabular-nums}
::selection{background:var(--wp--preset--color--teal-mist);color:var(--wp--preset--color--contrast)}
.has-teal-deep-background-color ::selection,.ew-footer ::selection{background:var(--wp--preset--color--gold-light);color:var(--wp--preset--color--contrast)}

/* Index/eyebrow sitting on the dark teal band needs the light gold */
.has-teal-deep-background-color .ew-index,
.has-teal-deep-background-color .ew-index.has-gold-color,
.has-teal-deep-background-color .ew-eyebrow{color:var(--wp--preset--color--gold-light)!important}

/* --- Focus visibility --------------------------------------------------- */
a:focus-visible,button:focus-visible,summary:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,
.wp-block-button__link:focus-visible,.wp-block-navigation-item__content:focus-visible{
  outline:2px solid var(--wp--preset--color--teal-deep);outline-offset:3px
}
.has-teal-deep-background-color a:focus-visible,
.has-teal-deep-background-color button:focus-visible,
.ew-footer a:focus-visible,
.ew-footer .wp-block-navigation-item__content:focus-visible{outline-color:var(--wp--preset--color--gold-light)}

/* --- Anchor scrolling under the sticky header --------------------------- */
[id]{scroll-margin-top:104px}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(max-width:781px){[id]{scroll-margin-top:96px}}

/* --- Sticky header ------------------------------------------------------
   The translucent panel lives on a pseudo-element on purpose: putting
   backdrop-filter on .ew-header itself would make it a containing block for
   the position:fixed mobile navigation overlay and break the burger menu. */
/* The block template part is the header's only parent and is exactly as tall as
   the header, so sticky has to live on it, not on .ew-header itself. */
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:0;z-index:100}
.ew-header{position:relative}
.ew-header::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:rgba(251,249,244,.86);
  border-bottom:1px solid var(--wp--preset--color--line);
}
@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .ew-header::before{background:rgba(251,249,244,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
}
@media(max-width:781px){
  .ew-header .wp-block-site-logo img{height:46px}
}
/* The open mobile menu covers the viewport — no blurred bar behind it */
.ew-header:has(.wp-block-navigation__responsive-container.is-menu-open)::before{display:none}

/* --- Buttons ------------------------------------------------------------ */
.wp-block-button__link,.wp-element-button,
.ew-header .ew-nav-cta a.wp-block-navigation-item__content{
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease
}
.wp-block-button.is-style-outline>.wp-block-button__link:hover,
.wp-block-button.is-style-outline>.wp-block-button__link:focus-visible{
  background-color:var(--wp--preset--color--teal-deep);
  border-color:var(--wp--preset--color--teal-deep);
  color:#fff
}
@media(prefers-reduced-motion:no-preference){
  .wp-block-button__link:hover,.ew-header .ew-nav-cta a.wp-block-navigation-item__content:hover{
    transform:translateY(-2px);box-shadow:0 10px 22px rgba(31,41,38,.16)
  }
}
/* Table-of-contents pills on the guide pages */
.ew-toc .wp-block-button__link:hover{background-color:var(--wp--preset--color--teal-deep);border-color:var(--wp--preset--color--teal-deep);color:#fff}

/* --- Portraits ---------------------------------------------------------- */
.ew-hero-photo img,.ew-portrait img{border:1px solid rgba(31,41,38,.10)}
@media(min-width:782px){
  .ew-hero-photo{position:relative}
  .ew-hero-photo::before{
    content:"";position:absolute;left:-22px;bottom:-22px;right:22px;top:42%;
    border-left:2px solid var(--wp--preset--color--gold);
    border-bottom:2px solid var(--wp--preset--color--gold);
    border-radius:0 0 0 24px;pointer-events:none
  }
  .ew-hero-photo img{position:relative}
}

/* --- Services: panels on the teal band, centred second row -------------- */
.ew-services .wp-block-column{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.14);
  border-top:2px solid var(--wp--preset--color--gold);
  border-radius:16px;
  padding:1.5rem 1.4rem 1.6rem;
}
.ew-services .wp-block-column p:last-child{margin-bottom:0}
@media(min-width:782px){.ew-services .wp-block-column h3{min-height:2.2em}}
@media(min-width:782px){
  .ew-services+.ew-services{justify-content:center}
  .ew-services+.ew-services>.wp-block-column{flex-basis:33.33%!important;flex-grow:0}
}

/* --- Cards: equal height, action pinned to the bottom edge -------------- */
.ew-card{height:100%;display:flex;flex-direction:column}
/* Constrained layout gives every child `margin-inline:auto !important`; inside a
   flex column those auto margins beat align-items:stretch and shrink-wrap the
   child. Restore full-width children (aligned blocks keep their own behaviour). */
.ew-card>*:not(.alignwide):not(.alignfull){margin-left:0!important;margin-right:0!important;max-width:100%}
/* the pill tag must keep shrink-wrapping instead of stretching */
.ew-card>.ew-tool-tag{align-self:flex-start;width:auto}
.ew-card>.wp-block-buttons{margin-top:auto}
.ew-card>*:last-child{margin-bottom:0}

/* =========================================================================
   Photography layer — added 2026-09-04 (theme v1.2).
   Six photographs under the Unsplash License; see assets/img/CREDITS.txt.
   Every photograph is decorative and lives in CSS rather than in post content:
   it carries no information the copy does not already carry, so it takes no
   alt text and the client can restyle or drop it without touching a page.
   ========================================================================= */

/* Shared scrim recipe. The cream veil is heaviest under the text column and
   thins toward the right, so the photograph reads as depth behind the words
   instead of as a backdrop pasted underneath them. */
.ew-hero,.ew-pagehead,.ew-contact{position:relative;isolation:isolate}
.ew-hero::before,.ew-hero::after,
.ew-pagehead::before,.ew-pagehead::after,
.ew-contact::before,.ew-contact::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none
}
.ew-hero::before,.ew-pagehead::before,.ew-contact::before{
  background-repeat:no-repeat;background-size:cover
}

/* --- Home hero ---------------------------------------------------------- */
.ew-hero::before{
  background-image:url(assets/img/hero-1800.webp);
  background-position:50% 64%
}
.ew-hero::after{
  background:
    linear-gradient(to bottom,rgba(251,249,244,.34) 0%,rgba(251,249,244,.10) 30%,
      rgba(251,249,244,.30) 68%,rgba(251,249,244,.86) 94%,#FBF9F4 100%),
    linear-gradient(96deg,rgba(251,249,244,.96) 0%,rgba(251,249,244,.94) 34%,
      rgba(251,249,244,.82) 56%,rgba(251,249,244,.58) 78%,rgba(251,249,244,.46) 100%)
}

/* --- Guide page headers ------------------------------------------------- */
/* Shorter and paler than the hero: these pages are reference material, and the
   picture is there to place the topic, not to compete with it. */
.ew-pagehead::after{
  background:
    linear-gradient(to bottom,rgba(251,249,244,.30) 0%,rgba(251,249,244,.10) 30%,
      rgba(251,249,244,.72) 74%,#FBF9F4 100%),
    linear-gradient(94deg,rgba(251,249,244,.96) 0%,rgba(251,249,244,.93) 38%,
      rgba(251,249,244,.82) 62%,rgba(251,249,244,.66) 100%)
}

.ew-pagehead--life::before{background-image:url(assets/img/tool-life-1800.webp);background-position:50% 55%}
.ew-pagehead--tfsa::before{background-image:url(assets/img/tool-tfsa-1800.webp);background-position:50% 55%}
.ew-pagehead--resp::before{background-image:url(assets/img/tool-resp-1800.webp);background-position:50% 55%}
.ew-pagehead--rdsp::before{background-image:url(assets/img/tool-rdsp-1800.webp);background-position:50% 55%}

/* --- Contact ------------------------------------------------------------ */
/* Two hands and two mugs, almost washed out — the section is about starting a
   conversation, and the picture only has to suggest the temperature of one. */
.ew-contact::before{
  background-image:url(assets/img/conversation-1800.webp);
  background-position:50% 50%
}
.ew-contact::after{
  background:
    radial-gradient(110% 80% at 50% 46%,rgba(251,249,244,.90) 0%,
      rgba(251,249,244,.80) 46%,rgba(251,249,244,.90) 78%,#FBF9F4 100%),
    linear-gradient(to bottom,#FBF9F4 0%,rgba(251,249,244,.30) 26%,
      rgba(251,249,244,.34) 72%,#FBF9F4 100%)
}

/* --- Hero portrait ------------------------------------------------------ */
/* The portrait JPEG has a near-white studio background. On the old cream page
   that disappeared; over a photograph it read as a cut-out floating in the
   trees. A white mat turns the same edge into a mounted print, which is what
   it should have looked like all along. */
.ew-hero .ew-hero-photo img{
  box-shadow:0 0 0 12px #FDFCFA,0 26px 64px rgba(31,41,38,.26);
  border-color:rgba(31,41,38,.06)
}
@media(max-width:781px){
  .ew-hero .ew-hero-photo img{box-shadow:0 0 0 8px #FDFCFA,0 18px 40px rgba(31,41,38,.22)}
}
/* The source JPEG (1200x1800) has ~375px of blank studio white above the
   hair. Crop 281px of it (75%) off the top only: same width, shorter frame. */
.ew-hero .ew-hero-photo img{aspect-ratio:1200/1519;height:auto;object-fit:cover;object-position:50% 100%}
/* Portrait at 75% of its column, centred. Sized on the figure (not the img)
   so the gold bracket drawn by ::before shrinks with it. */
.ew-hero .ew-hero-photo{width:75%;margin-left:auto;margin-right:auto}

/* --- Eyebrows over photographs ------------------------------------------ */
/* Measured against the darkest pixel behind the glyphs, gold-deep clears AA on
   these sections by about 1% (4.56:1 against a 4.5 floor). One step deeper puts
   it near 6:1, which survives a future image swap; at 12.5px tracked-out caps
   the two are indistinguishable. */
.ew-hero .ew-eyebrow,.ew-pagehead .ew-eyebrow,.ew-contact .ew-eyebrow{color:#74500F}

/* --- Service icons ------------------------------------------------------ */
/* Drawn as masks so they take the palette's gold and add no HTTP request. */
.ew-services .wp-block-column::before{
  content:"";display:block;width:30px;height:30px;margin:0 0 .95rem;
  background-color:var(--wp--preset--color--gold-light);
  -webkit-mask:var(--ew-icon) no-repeat center/contain;
  mask:var(--ew-icon) no-repeat center/contain
}
.ew-svc-life{--ew-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%202.9%204.8%205.7v5.6c0%204.6%202.9%207.9%207.2%209.8%204.3-1.9%207.2-5.2%207.2-9.8V5.7z%27%2F%3E%3Cpath%20d%3D%27M9.1%2011.6h1.7l.9-2%201.4%203.6%20.9-1.6h1.9%27%2F%3E%3C%2Fsvg%3E")}
.ew-svc-health{--ew-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273.4%27%20y%3D%278%27%20width%3D%2717.2%27%20height%3D%2711.6%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M8.9%208V6.2c0-.6.5-1.1%201.1-1.1h4c.6%200%201.1.5%201.1%201.1V8%27%2F%3E%3Cpath%20d%3D%27M12%2011.3v5%27%2F%3E%3Cpath%20d%3D%27M9.5%2013.8h5%27%2F%3E%3C%2Fsvg%3E")}
.ew-svc-registered{--ew-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3.4%2020.2h17.2%27%2F%3E%3Cpath%20d%3D%27M4.2%2016.4%209.6%2011l3.6%202.9%206.6-7.4%27%2F%3E%3Cpath%20d%3D%27M15.6%206.5h4.2v4.2%27%2F%3E%3C%2Fsvg%3E")}
.ew-svc-estate{--ew-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6.2%203.2h7.4l4.2%204.2v13.4H6.2z%27%2F%3E%3Cpath%20d%3D%27M13.4%203.2v4.3h4.4%27%2F%3E%3Cpath%20d%3D%27M9%2012h6.2%27%2F%3E%3Cpath%20d%3D%27M9%2015.2h6.2%27%2F%3E%3Cpath%20d%3D%27M9%2018.4h3.6%27%2F%3E%3C%2Fsvg%3E")}
.ew-svc-buysell{--ew-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3.6%209h13.2%27%2F%3E%3Cpath%20d%3D%27M13.7%205.6%2017.2%209l-3.5%203.4%27%2F%3E%3Cpath%20d%3D%27M20.4%2015h-13.2%27%2F%3E%3Cpath%20d%3D%27M10.3%2011.6%206.8%2015l3.5%203.4%27%2F%3E%3C%2Fsvg%3E")}

/* --- Tool cards --------------------------------------------------------- */
/* The photograph dissolves into the card's own tint rather than sitting in a
   hard-edged box, so the card still reads as one object. */
.ew-card--life,.ew-card--resp,.ew-card--tfsa,.ew-card--rdsp{overflow:hidden}
.ew-card--life::before,.ew-card--resp::before,
.ew-card--tfsa::before,.ew-card--rdsp::before{
  content:"";display:block;flex:none;height:170px;
  margin:calc(-1 * var(--wp--preset--spacing--50))
         calc(-1 * var(--wp--preset--spacing--50))
         var(--wp--preset--spacing--40);
  background-image:
    linear-gradient(to bottom,rgba(var(--ew-tint),0) 46%,
      rgba(var(--ew-tint),.72) 82%,rgb(var(--ew-tint)) 100%),
    var(--ew-thumb);
  background-size:cover;background-position:50% 52%;background-repeat:no-repeat
}
.ew-card--life{--ew-tint:251,241,219;--ew-thumb:url(assets/img/tool-life-900.webp)}
.ew-card--resp{--ew-tint:227,241,237;--ew-thumb:url(assets/img/tool-resp-900.webp)}
.ew-card--tfsa{--ew-tint:227,241,237;--ew-thumb:url(assets/img/tool-tfsa-900.webp)}
.ew-card--rdsp{--ew-tint:251,241,219;--ew-thumb:url(assets/img/tool-rdsp-900.webp)}

/* --- Smaller viewports --------------------------------------------------- */
/* Half-width sources below 900px, and the hero scrim goes near-opaque because
   the text column now sits over the whole frame rather than one side of it. */
@media(max-width:900px){
  .ew-hero::before{background-image:url(assets/img/hero-900.webp)}
  .ew-contact::before{background-image:url(assets/img/conversation-900.webp)}
  .ew-pagehead--life::before{background-image:url(assets/img/tool-life-900.webp)}
  .ew-pagehead--resp::before{background-image:url(assets/img/tool-resp-900.webp)}
  .ew-pagehead--tfsa::before{background-image:url(assets/img/tool-tfsa-900.webp)}
  .ew-pagehead--rdsp::before{background-image:url(assets/img/tool-rdsp-900.webp)}
  .ew-hero::after{
    background:
      linear-gradient(to bottom,rgba(251,249,244,.55) 0%,rgba(251,249,244,.34) 20%,
        rgba(251,249,244,.80) 72%,#FBF9F4 100%),
      linear-gradient(96deg,rgba(251,249,244,.93) 0%,rgba(251,249,244,.88) 100%)
  }
  .ew-pagehead::after{
    background:
      linear-gradient(to bottom,rgba(251,249,244,.50) 0%,rgba(251,249,244,.40) 26%,
        rgba(251,249,244,.84) 72%,#FBF9F4 100%),
      linear-gradient(94deg,rgba(251,249,244,.92) 0%,rgba(251,249,244,.88) 100%)
  }
  .ew-card--life::before,.ew-card--resp::before,
  .ew-card--tfsa::before,.ew-card--rdsp::before{height:150px}
}

/* Windows High Contrast and forced-colours modes drop the decoration entirely. */
@media(forced-colors:active){
  .ew-hero::before,.ew-hero::after,.ew-pagehead::before,.ew-pagehead::after,
  .ew-contact::before,.ew-contact::after{display:none}
}

