/* Homepage below-fold styles. Loaded non-blocking from index.html. */
/* ─── DESIGN TOKENS (matches production) ─── *//* ─── BUTTONS — exact production ─── *//* ─── SHARED SECTION SCAFFOLD ─── */.section{padding:64px 56px}/* ─── SECTION-SPECIFIC OVERRIDES ─── *//* tool section: near-white, barely differentiated from hero */#available-today{background:#F8FAF8}#trust{padding:0}.section-inner{max-width:1100px;margin:0 auto}.section-label{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-bottom:16px;display:flex;align-items:center;gap:8px}.section-label::before{content:'';width:20px;height:1.5px;background:var(--green);flex-shrink:0}.section-label a{color:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:none}.section-label a:hover,.section-label a:focus{text-decoration:underline}/* ─── ILLUSTRATION PLACEHOLDER — light ghost style ─── */.ph{background:rgba(240,245,242,0.55);border:1px dashed #CFDAD4;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.ph-label{font-size:9px;font-weight:400;letter-spacing:.07em;text-transform:uppercase;color:#ADBFB7;text-align:center;padding:0 16px}/* ─── SECTION BACKGROUNDS ─── */.bg-white{background:var(--white)}.bg-mist{background:var(--mist)}.bg-green-light{background:var(--green-light)}.bg-ink{background:var(--ink)}/* ════════════════════════════════════
   ② HERO
════════════════════════════════════ *//* Desktop: next-section padding-top supplies the breathing room under the illustration.
   Mobile keeps 56px bottom padding (see max-width:950px). *//* grid constrained to max-width so the text column stays where it was *//* Outset tracks the tool grid: content left = first tool-card left − 72/48.
   Tool-card left is max(section pad 56px, centered 1280 inner). *//* ≥768 fluid hero lives after the ≤950 stack rules so it wins on tablet. *//* illustration column — top-anchored, right-anchored, fills column height naturally *//* Right grid cell is a spacer only — photo is positioned against the section *//* Image carries the left fade; no CSS overlay. *//* ════════════════════════════════════
   ③ AVAILABLE TODAY
════════════════════════════════════ *//* wider inner keeps cards ~12% wider than the rest of the site sections */#available-today .section-inner{max-width:1360px}.tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px;align-items:stretch}@media(max-width:1023px){.tools-grid{grid-template-columns:repeat(2,1fr)}}/* card: flex column — text at top · icon slot · CTA pinned to bottom.
   Grid stretch (align-items:stretch default) makes cards equal height per row. */.tool-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--white);transition:transform 160ms ease,box-shadow 160ms ease;box-shadow:0 2px 16px rgba(15,26,21,0.07);container-type:inline-size}.coming-soon-chip{position:absolute;top:16px;right:16px;z-index:1;background:var(--green-light);color:var(--green-mid);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:3px}.tool-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(15,26,21,0.1)}@media(prefers-reduced-motion:reduce){.tool-card{transition:none}.tool-card:hover{transform:none}}a.tool-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;cursor:pointer}/* text block: heading + paragraph, full card width.
   flex:1 grows shorter copy so extra space sits between copy and slot. */.tc-body{padding:28px 32px 0;flex:1 0 auto}.tc-body::before{content:'';display:block;width:24px;height:2px;background:#1D9E75;margin:0 0 12px;flex-shrink:0}.tool-card-advisor .tc-title-row{padding-right:96px;align-items:flex-start}.tc-title-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.tool-card h3{font-family:'DM Serif Display',serif;font-size:25px;font-weight:400;letter-spacing:-0.01em;color:var(--ink);margin-bottom:0;line-height:29px}.tc-advisor-heading{display:block;margin:0}.tc-advisor-name{font-family:'DM Serif Display',serif;font-size:inherit;font-weight:400;font-style:italic;letter-spacing:-0.01em;color:var(--green);line-height:inherit}.coming-badge{background:var(--green-light);color:var(--green);font-size:9px;font-weight:600;padding:3px 8px;border-radius:3px;letter-spacing:.05em;text-transform:uppercase;flex-shrink:0}.tool-card p{font-size:var(--text-secondary);color:var(--secondary);line-height:1.6;margin-bottom:0}/* Uniform art slot. --tc-lap-w is the pre-trim 300px-at-1440 scale.
   Landscape arts render at their old visible-content width (bbox/canvas × lap-w).
   Portrait/slot height is the trimmed phone at that same scale. */.tc-illus{--tc-art-h:200px;--tc-lap-w:min(100cqi,calc(var(--tc-art-h) * 1536 / 1024));--tc-port-h:calc(var(--tc-lap-w) * 1137 / 1254);--tc-slot-h:var(--tc-port-h);--tc-esc-w:calc(var(--tc-lap-w) * 1224 / 1345);--tc-adv-w:calc(var(--tc-lap-w) * 1466 / 1536);display:flex;align-items:center;justify-content:center;position:relative;overflow:visible;width:100%;height:var(--tc-slot-h);flex:0 0 var(--tc-slot-h);margin-top:16px;pointer-events:none;order:1}.tc-stage{position:absolute;z-index:0;background:#EAF4EF;border:none;pointer-events:none}.tc-illus-ror .tc-stage,.tc-illus-ef .tc-stage{width:calc(var(--tc-port-h) * 0.85);height:calc(var(--tc-port-h) * 0.85);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.tc-illus-esc .tc-stage,.tc-illus-advisor .tc-stage{width:calc(100% + 24px);height:70%;border-radius:var(--radius-lg);left:50%;bottom:0;transform:translateX(-50%)}.tc-tool-img{position:relative;bottom:auto;right:auto;height:100%;width:auto;max-width:100%;object-fit:contain;object-position:center;display:block}.tc-advisor-art{position:relative;z-index:1;aspect-ratio:1466/936;width:var(--tc-adv-w);height:auto;max-width:100%}.tc-advisor-laptop{position:relative;inset:auto;z-index:1;width:100%;height:auto;object-fit:contain;object-position:center;display:block}/* Logo overlay kept for v3; v4 already carries the wordmark on screen. */.tc-advisor-logo{position:absolute;left:17.4%;top:12.9%;width:11.7%;height:3.1%;object-fit:contain;object-position:left center;pointer-events:none}.tc-ef-art{position:relative;z-index:1;aspect-ratio:553/1137;height:var(--tc-port-h);width:auto;max-width:100%;max-height:var(--tc-port-h)}.tc-ef-panel{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center;display:block}.tc-illus-esc .tc-ef-art{width:var(--tc-esc-w);height:auto;max-width:100%;max-height:none;aspect-ratio:1224/903}.tc-illus-esc .tc-ef-panel{position:relative;inset:auto;width:100%;height:auto;display:block}.tc-illus-ef{container-type:size}
.tc-illus-ef .tc-ef-art{aspect-ratio:auto;height:100%;width:100%;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}
.tc-illus-ef .tc-stage{width:calc(var(--tc-port-h)*0.85);height:calc(var(--tc-port-h)*0.85)}
.tc-ef-c2{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1;color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.tc-ef-c2 *{margin:0;box-sizing:border-box}
.tc-ef-c2 .mini{width:196px;height:265px;max-width:100%;display:flex;flex-direction:column;gap:8px;transform:scale(min(1,calc(100cqh / 265px),calc(100cqw / 196px)));transform-origin:center center}
.tc-ef-c2 .hero{position:relative;flex:0 0 84px;height:84px;display:grid;grid-template-columns:minmax(0,1fr) 38px;grid-template-rows:auto 1fr auto;align-items:center;column-gap:8px;background:#fff;border:0.5px solid var(--border);border-radius:12px;padding:10px 10px 10px 12px;box-shadow:0 1px 2px rgba(15,26,21,.03),0 6px 16px -8px rgba(15,26,21,.12);overflow:hidden}
.tc-ef-c2 .hero::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--green);pointer-events:none}
.tc-ef-c2 .badge{grid-column:1;grid-row:1;justify-self:start;align-self:start;width:fit-content;font-size:6.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green-mid);line-height:1;background:var(--teal,#E1F5EE);padding:2px 5px;border-radius:3px;white-space:nowrap}
.tc-ef-c2 .model{grid-column:1;grid-row:2;align-self:center;font-family:'DM Serif Display',serif;font-size:17px;font-weight:400;font-style:normal;line-height:1;color:var(--ink)}
.tc-ef-c2 .cat{grid-column:1/-1;grid-row:3;justify-self:start;align-self:end;font-size:6px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sec,var(--secondary));line-height:1;white-space:nowrap}
.tc-ef-c2 .lg{grid-column:2;grid-row:2;width:38px;height:16px;object-fit:contain;justify-self:end;align-self:center;display:block}
.tc-ef-c2 .check{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:#fff;border:0.5px solid var(--border);border-radius:12px;padding:6px 10px 4px;box-shadow:0 1px 2px rgba(15,26,21,.03),0 6px 16px -8px rgba(15,26,21,.12)}
.tc-ef-c2 .eyebrow{flex:0 0 auto;font-size:6.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);line-height:1;padding:0 0 4px;margin:0 0 1px;border-bottom:1px solid var(--green)}
.tc-ef-c2 .li{display:flex;align-items:center;gap:6px;flex:0 0 25px;height:25px;font-size:9px;font-weight:500;line-height:1.15;color:var(--ink);border-bottom:0.5px solid var(--border)}
.tc-ef-c2 .li:last-child{border-bottom:0}
.tc-ef-c2 .tick{width:10px;height:10px;border-radius:50%;background:var(--green);flex-shrink:0;position:relative}
.tc-ef-c2 .tick::after{content:'';position:absolute;left:2.7px;top:1.5px;width:3.2px;height:5.4px;border:solid #fff;border-width:0 1.4px 1.4px 0;transform:rotate(45deg)}.tc-illus-ror{container-type:size}.tc-illus-ror .ae-cardo{width:260px;max-width:none;flex-shrink:0;border-radius:14px;overflow:hidden;transform:scale(min(1,calc(100cqw / 260px),calc(100cqh / 180px)));transform-origin:center center}.tc-illus-ror .ae-dark{background:#071A15;color:#f2f6f3;border:none}.tc-illus-ror .ae-cpad{padding:12px 14px 14px}.tc-illus-ror .ae-khead{display:flex;align-items:baseline;margin-bottom:6px}.tc-illus-ror .ae-kicker,.tc-illus-ror .ae-htile-l{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.16em;font-weight:700;color:#8fc9b2;text-transform:uppercase}.tc-illus-ror .ae-stepnum{font-family:'DM Sans',sans-serif;font-size:10px;color:#6e8f80;margin-left:auto}.tc-illus-ror .ae-headline{font-family:'DM Serif Display',Georgia,serif;font-size:20px;line-height:1.15;font-weight:400;margin:4px 0 10px;color:inherit}.tc-illus-ror .ae-headline em{color:#7fd6ae;font-style:italic}.tc-illus-ror .ae-htiles{display:flex;flex-direction:column;gap:5px;margin-top:0}.tc-illus-ror .ae-htile{display:flex;justify-content:space-between;align-items:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:8px 12px;flex-wrap:wrap;gap:2px}.tc-illus-ror .ae-htile--ceil{border-color:#EF9F27}.tc-illus-ror .ae-htile-col{display:flex;flex-direction:column;gap:2px}.tc-illus-ror .ae-htile-v{font-size:24px;font-family:'DM Serif Display',Georgia,serif;color:#fff;font-weight:400;line-height:1.15}.tc-illus-ror .ae-htile-s{font-family:'DM Sans',sans-serif;font-size:11px;color:#9dbcac;margin-top:1px;line-height:1.3}.tc-illus-ror .ae-sub,
.tc-illus-ror [data-ae-c1-sev],
.tc-illus-ror [data-ae-estimate-tile],
.tc-illus-ror [data-ae-quote-tile]{display:none}.tc-esc-art{width:calc(100% - 20px);max-width:280px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.tc-esc-tile{border:0.5px solid var(--border);border-radius:8px;background:var(--white);padding:8px 10px;display:flex;flex-direction:column;gap:4px;min-width:0}.tc-esc-tile.comparison{background:#F3FAF6;border-color:#DCEEE3}.tc-esc-tile.savings{background:#EAF6EF;border-color:#A9D6C0}.tc-esc-label{font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--green-mid,#178A64);line-height:1.3}.tc-esc-value{font-family:'DM Serif Display',Georgia,serif;font-size:18px;font-weight:400;color:var(--ink);line-height:1.15}.tc-esc-unit{font-family:'DM Sans',sans-serif;font-size:10px;font-weight:400;color:var(--secondary);margin-left:2px}@media(min-width:561px){.mobile-break{display:none}}@media(max-width:1023px){.tc-illus{--tc-art-h:180px}}@media(max-width:560px){.tc-illus{--tc-art-h:160px}}/* CTA: flush below the art slot */.tc-cta{display:flex;align-items:center;gap:5px;padding:12px 32px 28px;margin-top:0;order:2;font-size:var(--text-small);font-weight:600;line-height:24px;white-space:nowrap;color:var(--green);text-decoration:none;cursor:pointer;transition:color .15s}button.tc-cta{background:none;border:none;cursor:pointer;margin:0;text-align:left}.tc-cta::after{content:'→'}.tc-cta:hover{color:var(--green-mid)}/* ════════════════════════════════════
   ③.2 SHOP TALK
════════════════════════════════════ */#home-shoptalk{background:var(--white)}#home-shoptalk .section-inner{max-width:1360px}.st-home-grid{display:grid;grid-template-columns:minmax(240px,3fr) minmax(0,7fr);gap:48px;align-items:start}.st-home-intro .section-label{margin-bottom:16px}.st-home-h2{font-family:'DM Serif Display',serif;font-size:34px;font-weight:400;line-height:1.15;color:var(--ink);letter-spacing:-0.3px;margin-bottom:18px}.st-home-h2 em{font-style:italic;color:var(--green)}.st-home-blurb{font-size:var(--text-body);color:var(--secondary);line-height:1.65;margin-bottom:28px;max-width:360px}.st-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.st-card{display:flex;flex-direction:column;min-width:0;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 2px 16px rgba(15,26,21,0.07);transition:box-shadow .2s,border-color .2s}.st-card:hover{border-color:var(--green);box-shadow:0 6px 24px rgba(15,26,21,0.1)}.st-card-hero{aspect-ratio:16/9;overflow:hidden;background:transparent}.st-card-hero img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.st-card-body{display:flex;flex-direction:column;flex:1;padding:20px 20px 22px}.st-card-cat{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-bottom:10px}.st-card-title{font-family:'DM Serif Display',serif;font-size:20px;font-weight:400;line-height:1.25;color:var(--ink);letter-spacing:-0.2px;margin-bottom:10px}.st-card-dek{font-size:var(--text-secondary);color:var(--secondary);line-height:1.5;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.st-card-cta{margin-top:auto;font-size:var(--text-small);font-weight:600;color:var(--green)}.st-card:hover .st-card-cta{color:var(--green-mid)}/* ════════════════════════════════════
   ③.3 PROMOTIONS
════════════════════════════════════ */#home-promos{background:#F8FAF8}#home-promos .section-inner{max-width:1360px}.hp-promos-head{margin-bottom:28px}.hp-promos-h2{font-family:'DM Serif Display',serif;font-size:34px;font-weight:400;line-height:1.15;color:var(--ink);letter-spacing:-0.3px;margin-bottom:18px}.hp-promos-h2 em{font-style:italic;color:var(--green)}.hp-promos-tagline{font-size:var(--text-body);color:var(--secondary);line-height:1.65;margin-bottom:28px;max-width:360px}@media(min-width:1057px){.home-intro-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.home-intro-row .hp-promos-tagline{max-width:none;margin-bottom:0;white-space:nowrap}}.hp-promo-logo-box{display:flex;align-items:center;justify-content:flex-start;width:100%;height:48px;flex:0 0 48px}.hp-promo-logo{height:calc(32px * var(--hp-logo-scale, 1));width:auto;max-width:150px;object-fit:contain;object-position:left center;display:block}.hp-promo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;align-items:stretch}.hp-promo-pills{display:none}.hp-promo-tile{display:flex;flex-direction:column;align-items:flex-start;height:100%;min-width:0;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px 24px;text-decoration:none;color:inherit;box-shadow:0 2px 16px rgba(15,26,21,0.07);transition:box-shadow .2s,border-color .2s}.hp-promo-tile:hover{border-color:var(--green);box-shadow:0 6px 24px rgba(15,26,21,0.1)}.hp-promo-count{font-size:var(--text-secondary);color:var(--secondary);line-height:1.5;margin:12px 0 0;white-space:nowrap}.hp-promo-cta{margin-top:12px;font-size:var(--text-small);font-weight:600;line-height:1.5;color:var(--green);white-space:nowrap}.hp-promo-tile:hover .hp-promo-cta{color:var(--green-mid)}/* ─── Mini Edge File card — dark At a Glance grammar ─── */.ef-mini-file{display:block;width:100%;max-width:400px;margin:0 auto;border-radius:16px;overflow:hidden;background:#071A15;text-decoration:none;color:inherit;box-shadow:0 8px 32px rgba(7,26,21,0.40),0 2px 8px rgba(7,26,21,0.24);transition:box-shadow .2s,transform .2s}.ef-mini-file:hover{box-shadow:0 14px 44px rgba(7,26,21,0.50),0 4px 12px rgba(7,26,21,0.30);transform:translateY(-2px)}.ef-mini-file:focus-visible{outline:2px solid #8fc9b2;outline-offset:3px}.ef-mini-kicker{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8fc9b2;padding:16px 14px 12px;display:flex;align-items:center;gap:8px}.ef-mini-kicker::before{content:'';width:16px;height:1px;background:#8fc9b2;flex-shrink:0}.ef-mini-tiles{padding:0 10px 12px;display:grid;gap:5px}.ef-mini-tile{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);border-radius:10px;padding:8px 11px;display:flex;align-items:center;gap:10px}.ef-mini-chip{width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ef-mini-chip svg{width:14px;height:14px;display:block;fill:none;stroke:#8FD3AE;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:#8FD3AE}.ef-ae-icon{width:14px;height:14px;display:block;filter:brightness(0) invert(83%) sepia(19%) saturate(557%) hue-rotate(104deg) brightness(96%) contrast(90%)}.ef-mini-chip-recall{background:rgba(192,57,43,.24)}.ef-mini-chip-recall svg{stroke:#e8604e;color:#e8604e}.ef-mini-label{font-size:11px;font-weight:700;color:#f2f6f3;line-height:1.3}.ef-mini-edge{color:#8fc9b2}.advisor-form{display:flex;gap:8px;flex-wrap:wrap;max-width:360px}.advisor-form input[type="email"]{flex:1;min-width:0;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-small);font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--white);outline:none;transition:border-color .15s}.advisor-form input[type="email"]:focus{border-color:var(--green)}.advisor-form input[type="email"]::placeholder{color:#A0B4AC}.advisor-form button{background:var(--green);color:var(--white);border:none;padding:10px 20px;border-radius:var(--radius-sm);font-size:var(--text-small);font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer;white-space:nowrap;transition:background .15s}.advisor-form button:hover{background:var(--green-mid)}.advisor-form button:disabled{opacity:0.6;cursor:not-allowed}.advisor-confirm{font-size:var(--text-small);color:var(--green);line-height:1.5;margin-top:12px;display:none}.advisor-dialog{border:none;border-radius:var(--radius-lg);padding:32px;max-width:420px;width:calc(100% - 32px);background:var(--white);color:var(--ink);box-shadow:0 16px 48px rgba(15,26,21,.18)}.advisor-dialog::backdrop{background:rgba(15,26,21,.45)}.advisor-dialog h2{font-family:'DM Serif Display',serif;font-size:28px;font-weight:400;color:var(--ink);margin-bottom:8px}.advisor-dialog h2 em{font-style:italic;color:var(--green)}.advisor-dialog-lede{font-size:var(--text-secondary);color:var(--secondary);line-height:1.55;margin-bottom:20px}.advisor-dialog-close{position:absolute;top:12px;right:12px;border:none;background:transparent;color:var(--secondary);font-size:22px;line-height:1;cursor:pointer;padding:6px}.advisor-dialog{position:relative}/* ════════════════════════════════════
   ⑦ BUILT ON TRUST — full-width band
════════════════════════════════════ */#trust.trust-band{
  position:relative;
  height:340px;
  max-height:340px;
  min-height:0;
  padding:0;
  background:var(--white);
  overflow:hidden;
}.trust-photo{
  position:absolute;
  top:0;bottom:0;left:0;
  width:58vw;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
  z-index:0;
}.trust-copy{
  position:relative;
  z-index:2;
  height:100%;
  max-width:none;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  margin-left:calc(58vw - 48px);
  margin-right:max(56px, calc((100% - 1360px) / 2));
  padding:40px 0 28px;
  box-sizing:border-box;
}.trust-copy .section-label{margin-bottom:8px}.trust-copy h2{
  font-family:'DM Serif Display',serif;
  font-size:28px;
  font-weight:400;
  line-height:1.1;
  color:var(--ink);
  letter-spacing:-0.4px;
  margin:0 0 6px;
}.trust-copy h2 em{font-style:italic;color:var(--green)}.trust-sub{
  font-size:14px;
  color:var(--secondary);
  line-height:1.35;
  margin:0 0 22px;
}.trust-items{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:stretch;gap:0}.trust-item-block{
  display:flex;
  flex-direction:column;
  flex:1 1 0;
  min-width:0;
  padding:0 16px;
}.trust-item-block:first-child{padding-left:0}.trust-item-block:not(:first-child){border-left:0.5px solid var(--border)}.trust-item-icon{width:28px;height:28px;margin-bottom:6px;display:flex;align-items:center;justify-content:center}.trust-item-icon svg{width:26px;height:26px}.trust-item-title{font-size:13px;font-weight:700;color:var(--ink);margin:0 0 4px;line-height:1.25}.trust-item-desc{font-size:12px;color:var(--secondary);line-height:1.35;margin:0}@media(min-width:1057px){#trust.trust-band{height:auto;max-height:none;min-height:340px}.trust-photo{width:50vw}.trust-copy{height:auto;margin-left:calc(50vw - 48px)}#trust .trust-copy h2,
  #trust .trust-copy h2 em{font-size:34px;line-height:1.15}#trust .trust-sub{font-size:16px;line-height:1.55;color:var(--secondary);font-weight:400}#trust .trust-item-title{font-size:16px;font-weight:400}#trust .trust-item-desc{font-size:14px;line-height:1.5}}@media(min-width:768px) and (max-width:1023px){#trust.trust-band{height:340px;max-height:340px;min-height:0}.trust-photo{width:52vw}.trust-copy{
    height:100%;
    margin-left:calc(52vw - 48px);
    margin-right:24px;
    padding:40px 0 28px;
  }.trust-copy h2,.trust-sub{white-space:normal}}@media(max-width:767px){#trust.trust-band{
    height:auto;
    max-height:none;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:visible;
    padding:48px 0;
  }.trust-copy{
    display:contents;
    margin:0;
    height:auto;
    padding:0;
  }.trust-copy .section-label{order:1;padding:0 24px;margin-bottom:8px}.trust-copy h2{order:2;padding:0 24px;margin:0}.trust-photo{
    order:3;
    position:relative;
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    object-fit:cover;
    object-position:0% 50%;
    margin:20px 0;
  }.trust-sub{order:4;padding:0 24px;margin:0 0 22px}.trust-items{order:5;padding:0 24px}.trust-copy h2,.trust-sub{white-space:normal}.trust-items{display:flex;flex-direction:column;gap:20px}.trust-item-block,
  .trust-item-block:not(:first-child){
    display:grid;
    grid-template-columns:40px 1fr;
    column-gap:14px;
    row-gap:2px;
    padding:0;
    border-left:none;
    flex:none;
  }.trust-item-icon{grid-column:1;grid-row:1/3;width:40px;height:40px;margin:0;align-self:start}.trust-item-icon svg{width:36px;height:36px}.trust-item-title{grid-column:2;grid-row:1}.trust-item-desc{grid-column:2;grid-row:2}}/* ════════════════════════════════════
   ⑧ FINAL CTA — full-width banner
════════════════════════════════════ *//* primary green fill — same treatment as .btn-primary / site CTAs *//* ─── FOOTER — dark green site-wide treatment ─── *//* ════════════════════════════════════
   RESPONSIVE — mobile
════════════════════════════════════ */@media(max-width:950px){.section{padding:48px 24px}.tools-grid{grid-template-columns:repeat(2,1fr);gap:14px}.st-home-grid{grid-template-columns:1fr;gap:36px}.st-card-grid{grid-template-columns:1fr;gap:14px}/* CTA banner — tablet: keep horizontal, tighter padding */}/* ─── SECTION IMAGE REORDERS — full single-column range (≤950 px) ──
   Hero, philosophy, advisor, and trust: heading → image → text via
   display:contents + order properties.  Breakpoint matches the point
   where all these grids become single-column.
   Philosophy headline fix (clamp) lives in the ≤950px block below.
   Desktop two-column layout (>950px) is completely unaffected.
──────────────────────────────────────────────────────────────────── *//* Section image reorders — heading → image → text, full single-column range (≤950px).
   display:contents dissolves wrapper boxes so children can be individually ordered.
   Trust band layout is defined with the band CSS (1024 / 768–1023 / <768).
   from 950px; pulling it to 800px-only would leave 801–950px with icon stacked above text. */@media(max-width:950px){/* Hero *//* Hero image: fluid sizing across the full single-column range.
     Overrides the fixed height:320px/300px and width:100%;height:100% from the
     layout-collapse block above. height:auto preserves aspect ratio; max-width:640px
     caps the image at wider single-column widths; margin:0 auto centers it. */}/* ─── POST-HERO SECTION CENTERING ≤950px ─────────────────────────
   Single-column widths: all post-hero section text centers.
   Exceptions: hero (left), tool-card internals (left),
   trust-item rows (left), Edge Files stats (centered).
   Nothing changes above 950px.
──────────────────────────────────────────────────────────────────── */@media(max-width:950px){/* All eyebrow flex rows: center the [dash + text] pair.
     text-align has no effect on flex children; justify-content does. */.section-label{justify-content:flex-start;width:100%}/* "Start With The Right Tool" — eyebrow + heading; card internals untouched */#available-today .section-label,
  #available-today .section-inner > h2{text-align:center}/* Trust — eyebrow left; heading centered */#trust .section-label{justify-content:flex-start;text-align:left}#trust h2{text-align:left}/* CTA banner — stack vertically + center (extends the ≤560px treatment) */}/* ─── MOBILE HEADING SIZES (≤950 px) ────────────────────────────────
   Heading size reductions across all sections.
   Breakpoint raised to 950px to match the section-layout boundary,
   covering all landscape phones (up to iPhone 15 Pro Max 932px).
   Desktop layout (>950px) is completely unaffected.
──────────────────────────────────────────────────────────────────── */@media(max-width:950px){.advisor-form{max-width:none}/* ── Non-hero heading size reduction (−2 px) ──────────────────────
     Hero h1 (.hero-h1, 36 px) is intentionally excluded.
     Three h2s carry inline font-size styles and need !important.
  ──────────────────────────────────────────────────────────────────── *//* h2 — inline-style overrides (!important required) */#available-today .section-inner > h2{font-size:clamp(24px,7.5vw,30px)!important}.st-home-h2,.hp-promos-h2{font-size:clamp(24px,7.5vw,30px)}#trust h2{font-size:clamp(24px,7.5vw,30px);white-space:normal}/* h3 — tool card headings: 18px keeps hierarchy above 16px body (--text-secondary) */.tool-card h3{font-size:var(--text-card-title);line-height:28px}.tc-advisor-name{line-height:27px}}@media(min-width:951px) and (max-width:1100px){/* hero headline: widen text column so headline fits in 2 lines *//* 4-up cards are too narrow for 32px CTA padding + nowrap */.tc-cta{padding-left:20px;padding-right:20px}}@media(max-width:1279px){.hp-promo-grid{grid-template-columns:repeat(3,1fr);gap:14px}}@media(max-width:767px){.hp-promo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.tools-grid{grid-template-columns:1fr}/* tool cards — single-column phone stack, Evan-tuned on debug-toolrow.html */.tools-grid{gap:10px}.tc-body{padding:24px 20px 0}.tc-cta{padding:5px 18px 12px}/* CTA banner — mobile: stack, center text, full-width button */}/* ─── SECTION SPACING RHYTHM ≤950px ───────────────────────────────
   Four custom properties pin the approved Philosophy values.
   Rules below apply them to every section and the hero, replacing
   the per-section one-offs that were creating drift.
   This block is last in the stylesheet so it wins all same-specificity
   conflicts from earlier mobile blocks.
──────────────────────────────────────────────────────────────────── */@media(max-width:950px){/* ── e) Uniform section rhythm: 48px top, 36px bottom → 84px at every boundary ── */.section{padding-bottom:var(--mob-s-bot)}#home-shoptalk,#home-promos{padding-top:var(--mob-s-top);padding-bottom:var(--mob-s-bot)}/* ── a) Eyebrow → heading: 20px ── */.section-label{margin-bottom:var(--mob-eye)}/* Hero eyebrow: 22px → 20px *//* ── b) Heading → image / cards: 18px ── */#available-today .section-inner > h2{margin-bottom:var(--mob-h2)}.tools-grid{margin-top:0}/* Hero: remove hero-right top padding so h1 margin-bottom is the sole gap to image *//* Three checkmarks: keep the space-between row, do not force a 2×2. */}/* Hero badge row: desktop single-row. +2px from the old 10–12 clamp now that
   the fourth checkmark is gone; space-between still distributes the gaps. */@media(max-width:950px){.ef-mini-file{max-width:100%}}/* Fluid hero 768–1920. Wins over the ≤950 stack. Mobile (<768) is unchanged. *//* Homepage <768: pills, shop-talk swipe, 78% tool art, 48px section rhythm.
   768+ is unchanged except the 48px promo logo box / GE scale (all widths). */@media(max-width:767px){#available-today.section,
  #home-shoptalk.section,
  #home-promos.section{padding-top:48px;padding-bottom:48px}.section-label,
  #trust .section-label,
  .st-home-intro .section-label{font-size:12px;margin-bottom:12px}#available-today .section-inner > h2{font-size:clamp(26px,calc(8vw - 2px),34px)!important;line-height:1.15!important;margin-bottom:16px}.st-home-h2,
  .hp-promos-h2,
  #trust h2{font-size:clamp(26px,calc(8vw - 2px),34px);line-height:1.15;margin-bottom:16px}#trust h2{margin-bottom:0}.st-home-blurb,
  .hp-promos-tagline,
  .trust-sub{font-size:16px;line-height:1.5;margin-bottom:24px;color:var(--secondary);font-weight:400}.tool-card h3,
  .st-card-title{font-size:22px;line-height:1.2}.tc-advisor-name{line-height:1.2}.tool-card p,
  .st-card-dek{font-size:15px;line-height:1.5}.tc-cta,
  .st-card-cta{font-size:15px;font-weight:500}.hp-promos-tagline{max-width:none}.hp-promos-head{margin-bottom:24px}.home-intro-row{display:contents}.hp-promo-grid{display:none}.hp-promo-pills{display:flex;flex-direction:column;gap:8px}.hp-promo-pill{display:grid;grid-template-columns:88px 1fr auto;column-gap:12px;align-items:center;height:52px;padding:0 16px;background:var(--white);border:0.5px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;color:inherit;box-sizing:border-box}.hp-promo-pill .hp-promo-logo-box{width:88px;height:32px;flex:none}.hp-promo-pill .hp-promo-logo{height:calc(22px * var(--hp-logo-scale, 1));max-height:none;max-width:80px;width:auto}.hp-promo-pill-count{margin:0;font-size:15px;color:var(--secondary);line-height:1.5;white-space:nowrap}.hp-promo-pill-arrow{justify-self:end;font-size:16px;line-height:1;color:var(--green)}.st-home-grid{display:flex;flex-direction:column;gap:0}.st-home-intro{display:contents}.st-home-intro .section-label{order:1}.st-home-h2{order:2;margin-bottom:16px}.st-home-blurb{order:3;max-width:none;margin-bottom:24px}#home-shoptalk{overflow-x:clip}.st-card-grid{
    order:4;
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    gap:12px;
    width:calc(100% + 48px);
    max-width:calc(100% + 48px);
    min-width:0;
    margin-left:-24px;
    margin-right:-24px;
    padding-inline:24px;
    scroll-padding-inline:24px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    grid-template-columns:none;
  }.st-card-grid::-webkit-scrollbar{display:none}.st-card{flex:0 0 88vw;min-width:0;scroll-snap-align:start}.tc-illus{--tc-art-h:calc(180px * 0.78)}}@media(max-width:560px){.tc-illus{--tc-art-h:calc(160px * 0.78)}}
@media(max-width:767px){
  #cta-banner{padding:48px 0;min-height:0;height:auto}
  #cta-banner .cta-banner-inner{padding:0 24px;gap:0;min-height:0;flex-direction:column;align-items:stretch;text-align:center}
  #cta-banner .cta-banner-heading{font-size:clamp(26px,calc(8vw - 2px),34px);line-height:1.15;margin:0 0 16px;text-align:center}
  #cta-banner .cta-banner-sub{font-size:16px;line-height:1.5;margin:0 0 24px;color:var(--secondary);font-weight:400;text-align:center}
  #cta-banner .btn-white-cta{width:100%;height:46.8px;box-sizing:border-box;padding-top:0;padding-bottom:0;margin:0}
}
