/* Loan Resource Partners — warm editorial system
   Sand / forest / clay · Work Sans + Fraunces italic
   -------------------------------------------------- */

:root{
  /* ---------- colour ---------- */
  --forest:#14532D;
  --forest-deep:#0D3A1F;
  --forest-soft:#2C6B45;
  --forest-darker:#0A2E18;
  --sand:#F5F1E8;
  --sand-deep:#EBE4D5;
  --sand-warm:#F0E9DA;
  --paper:#FCFAF5;
  --clay:#B45309;          /* graphic accent: rules, fills, large numerals */
  --clay-ink:#8F4207;      /* text-safe clay — AA on sand and paper */
  --clay-deep:#8F4207;     /* legacy alias, kept for existing markup */
  --clay-soft:#E9CFAE;
  --clay-wash:#FAF0E2;
  --bark:#3F3A34;
  --bark-soft:#6B635A;
  --line:#DED5C3;
  --line-hair:rgba(63,58,52,.13);
  --on-forest:#DCE7DF;
  --on-forest-soft:#BFD3C6;
  --on-forest-fine:#A8BFB0;
  --on-forest-line:rgba(245,241,232,.18);

  /* ---------- fluid type scale ---------- */
  --step--1:clamp(.813rem, .795rem + .09vw, .875rem);
  --step-0 :clamp(1rem, .972rem + .14vw, 1.094rem);
  --step-1 :clamp(1.125rem, 1.073rem + .26vw, 1.3rem);
  --step-2 :clamp(1.266rem, 1.176rem + .45vw, 1.563rem);
  --step-3 :clamp(1.424rem, 1.281rem + .72vw, 1.898rem);
  --step-4 :clamp(1.602rem, 1.383rem + 1.09vw, 2.328rem);
  --step-5 :clamp(1.802rem, 1.478rem + 1.62vw, 2.887rem);
  --step-6 :clamp(2.027rem, 1.556rem + 2.36vw, 3.606rem);
  --step-7 :clamp(2.281rem, 1.66rem + 3.1vw, 4.1rem);

  --lh-display:1.06;
  --lh-title:1.14;
  --lh-body:1.62;
  --measure:68ch;

  --sans:"Work Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Fraunces","Iowan Old Style",Georgia,serif;

  /* ---------- spacing ---------- */
  --s0:.35rem; --s1:.6rem; --s2:.95rem; --s3:1.4rem; --s4:2.25rem;
  --s5:3.5rem; --s6:5.5rem; --s7:8rem;

  /* ---------- geometry ---------- */
  --r-xs:6px; --r-sm:10px; --r:14px; --r-lg:26px; --r-xl:40px; --r-pill:999px;
  --shell:1200px;
  --hair:1px;

  /* ---------- shadows: layered, low opacity, bark + forest tinted ---------- */
  --shadow-sm:
    0 1px 1px rgba(63,58,52,.04),
    0 2px 5px -2px rgba(63,58,52,.07);
  --shadow-md:
    0 1px 2px rgba(63,58,52,.04),
    0 6px 14px -6px rgba(63,58,52,.12),
    0 14px 26px -18px rgba(20,83,45,.16);
  --shadow-lg:
    0 2px 4px rgba(63,58,52,.04),
    0 14px 30px -14px rgba(63,58,52,.16),
    0 30px 56px -34px rgba(20,83,45,.24);
  --shadow-xl:
    0 3px 6px rgba(63,58,52,.04),
    0 22px 46px -20px rgba(63,58,52,.18),
    0 48px 88px -46px rgba(20,83,45,.30);
  /* legacy aliases — still referenced in markup and older rules */
  --lift:var(--shadow-lg);
  --lift-sm:var(--shadow-md);

  /* ---------- motion ---------- */
  --ease:cubic-bezier(.25,.7,.3,1);
  --ease-out:cubic-bezier(.2,.7,.3,1);
  --t-fast:160ms;
  --t:220ms;
  --t-slow:300ms;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:24px;}
body{
  margin:0;
  background:var(--sand);
  color:var(--bark);
  font-family:var(--sans);
  font-size:var(--step-0);
  line-height:var(--lh-body);
  overflow-x:hidden;
  font-optical-sizing:auto;
  font-synthesis-weight:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;display:block;height:auto;}
figure{margin:0;}
a{color:inherit;}
h1,h2,h3,h4{
  font-family:var(--sans);
  font-weight:600;
  line-height:var(--lh-title);
  letter-spacing:-.02em;
  margin:0;
  color:var(--forest);
  text-wrap:balance;
  font-optical-sizing:auto;
}
h1{line-height:var(--lh-display);letter-spacing:-.03em;}
h1 em,h2 em,h3 em,.serif,.hd-serif{
  font-family:var(--serif);font-style:italic;font-weight:400;
  letter-spacing:-.012em;font-optical-sizing:auto;
}
p{margin:0 0 1.1em;text-wrap:pretty;}
ul,ol{margin:0 0 1.2em;padding-left:1.25em;}
li{margin:.4em 0;}
strong{font-weight:600;color:var(--forest);}
.tnum,.stat__n,.stepitem__n,.door__n,.gone__n,.grid-tbl td,.deflist span,.guide__card,.fine{
  font-variant-numeric:tabular-nums;
}

.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:clamp(20px,5vw,44px);}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;left:-999px;top:0;background:var(--forest);color:var(--sand);padding:12px 18px;z-index:99;}
.skip:focus{left:0;}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:2px;}
.band--forest :focus-visible,.foot :focus-visible,.topbar :focus-visible,.guide__card :focus-visible,
.door--deep :focus-visible{outline-color:var(--clay-soft);}

/* ---------- top utility strip ---------- */
.topbar{background:var(--forest);color:var(--on-forest);font-size:var(--step--1);}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:42px;}
.topbar__note{margin:0;letter-spacing:.01em;max-width:none;}
.topbar__link{
  display:inline-flex;align-items:center;gap:8px;color:#F2E6D4;text-decoration:none;font-weight:500;
  border-bottom:1px solid rgba(242,230,212,.42);padding-bottom:1px;white-space:nowrap;
  transition:color var(--t) var(--ease-out),border-color var(--t) var(--ease-out);
}
.topbar__link:hover{color:#fff;border-bottom-color:#fff;}
.topbar__link:active{color:var(--clay-soft);}
.topbar__link svg{transition:transform var(--t) var(--ease-out);}
.topbar__link:hover svg{transform:translateX(3px);}

/* ---------- masthead (static, not sticky — deliberate) ---------- */
.masthead{background:var(--sand);border-bottom:var(--hair) solid var(--line);}
.masthead__in{display:flex;align-items:center;gap:var(--s4);min-height:88px;}
.wordmark{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto;}
.wordmark svg{transition:transform var(--t) var(--ease-out);}
.wordmark:hover svg{transform:rotate(-6deg);}
.wordmark__t{font-size:var(--step-1);color:var(--forest);font-weight:600;letter-spacing:-.025em;white-space:nowrap;}
.wordmark__t em{font-family:var(--serif);font-style:italic;font-weight:400;}
.burger{
  margin-left:auto;display:none;background:none;border:var(--hair) solid var(--line);
  border-radius:var(--r-xs);width:46px;height:42px;color:var(--forest);cursor:pointer;
  transition:border-color var(--t) var(--ease-out),background var(--t) var(--ease-out);
}
.burger:hover{border-color:var(--clay);background:var(--clay-wash);}
.burger span[aria-hidden]{display:grid;gap:5px;place-items:center;}
.burger i{display:block;width:18px;height:1.5px;background:currentColor;transition:transform var(--t) var(--ease-out),opacity var(--t-fast);}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.mainnav{margin-left:auto;display:flex;align-items:center;gap:var(--s4);}
.mainnav__list{display:flex;align-items:center;gap:var(--s3);list-style:none;margin:0;padding:0;}
.mainnav__list a,.dropbtn{
  display:inline-flex;align-items:center;gap:6px;padding:6px 0;
  font-family:inherit;font-size:.97rem;font-weight:500;color:var(--bark);
  text-decoration:none;background:none;border:0;cursor:pointer;position:relative;
  transition:color var(--t) var(--ease-out);
}
.mainnav__list a::after,.dropbtn::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--clay);
  transition:right var(--t-slow) var(--ease-out);
}
.mainnav__list a:hover,.dropbtn:hover{color:var(--forest);}
.mainnav__list a:hover::after,.dropbtn:hover::after,.mainnav__list a.is-active::after{right:0;}
.mainnav__list a.is-active{color:var(--forest);}
.hasdrop{position:relative;}
.drop{
  position:absolute;top:calc(100% + 14px);left:-16px;min-width:320px;list-style:none;margin:0;padding:10px;
  background:var(--paper);border:var(--hair) solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity var(--t) var(--ease-out),transform var(--t) var(--ease-out),visibility var(--t);z-index:40;
}
.drop::before{
  content:"";position:absolute;top:0;left:10px;right:10px;height:2px;background:var(--clay);border-radius:2px;
}
.hasdrop:hover .drop,.hasdrop:focus-within .drop,.drop.is-open{opacity:1;visibility:visible;transform:none;}
.drop a{display:block;padding:11px 12px;border-radius:var(--r-xs);font-size:.93rem;color:var(--bark);text-decoration:none;
  transition:background var(--t) var(--ease-out),color var(--t) var(--ease-out);}
.drop a::after{display:none;}
.drop a:hover{background:var(--sand-deep);color:var(--forest);}
.mainnav__end{display:flex;align-items:center;gap:var(--s3);}
.txtlink{
  font-size:.94rem;font-weight:500;color:var(--bark);text-decoration:none;
  border-bottom:1px solid var(--line);padding-bottom:2px;
  transition:color var(--t) var(--ease-out),border-color var(--t) var(--ease-out);
}
.txtlink:hover{color:var(--clay-ink);border-bottom-color:var(--clay);}
.txtlink:active{color:var(--forest);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 26px;border-radius:var(--r-xs);border:1.5px solid transparent;
  font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:.005em;line-height:1.3;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background var(--t) var(--ease-out),color var(--t) var(--ease-out),
             border-color var(--t) var(--ease-out),box-shadow var(--t) var(--ease-out),
             transform var(--t-fast) var(--ease-out);
}
.btn svg{transition:transform var(--t) var(--ease-out);}
.btn:hover svg{transform:translateX(3px);}
.btn--fill{background:var(--forest);color:var(--sand);}
.btn--fill:hover{background:var(--forest-deep);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.btn--fill:active{transform:translateY(0);background:var(--forest-darker);box-shadow:none;}
.btn--clay{background:var(--clay);color:#FFFBF4;}
.btn--clay:hover{background:var(--clay-deep);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.btn--clay:active{transform:translateY(0);background:#7A3806;box-shadow:none;}
.btn--line{background:transparent;border-color:var(--forest);color:var(--forest);}
.btn--line:hover{background:var(--forest);color:var(--sand);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn--line:active{transform:translateY(0);background:var(--forest-deep);box-shadow:none;}
.btn--onDark{background:var(--sand);color:var(--forest);}
.btn--onDark:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.btn--onDark:active{transform:translateY(0);background:var(--sand-deep);box-shadow:none;}
.btn--lineDark{background:transparent;border-color:rgba(245,241,232,.55);color:var(--sand);}
.btn--lineDark:hover{border-color:var(--sand);background:rgba(245,241,232,.12);transform:translateY(-2px);}
.btn--lineDark:active{transform:translateY(0);background:rgba(245,241,232,.06);}
.btn--lg{padding:16px 32px;font-size:1rem;}
.btn--block{width:100%;}
.btn[aria-disabled="true"]{opacity:.5;pointer-events:none;}

/* ---------- hero: layered field, offset photo, card that breaks the seam ---------- */
.hero{position:relative;padding:clamp(40px,5.5vw,76px) 0 clamp(56px,7vw,104px);isolation:isolate;}
.hero__field{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;}
.hero__block{
  position:absolute;top:0;right:0;width:46%;height:66%;
  background:linear-gradient(168deg,var(--sand-deep),var(--sand-warm));
  will-change:transform;
}
.hero__wash{
  position:absolute;top:-14%;left:-8%;width:52%;height:70%;
  background:radial-gradient(60% 60% at 30% 40%,rgba(180,83,9,.09),rgba(180,83,9,0) 70%);
  will-change:transform;
}
.hero__grain{
  position:absolute;inset:auto 0 0 0;height:44%;
  background:linear-gradient(180deg,rgba(245,241,232,0),rgba(235,228,213,.55));
}
.hero__in{position:relative;z-index:1;display:grid;grid-template-columns:1fr;}
.hero__fig{
  width:min(100%,76%);margin-left:auto;position:relative;
  border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-xl);
}
.hero__fig img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.hero__fig::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(200deg,rgba(20,83,45,0) 48%,rgba(20,83,45,.24));
}
.hero__say{
  position:relative;z-index:2;
  margin-top:clamp(-180px,-12.5vw,-68px);
  width:min(100%,68%);
  background:var(--paper);border-radius:var(--r-lg);
  padding:clamp(26px,3.4vw,54px);
  box-shadow:var(--shadow-xl);border:var(--hair) solid var(--line);
}
/* clay bar that crosses the seam, out over the photograph */
.hero__say::before{
  content:"";position:absolute;top:-4px;right:-64px;width:132px;height:4px;
  background:var(--clay);border-radius:2px;
}
/* clay-soft spine down the outer edge */
.hero__say::after{
  content:"";position:absolute;left:0;top:20%;bottom:20%;width:4px;
  background:var(--clay-soft);border-radius:0 4px 4px 0;
}
.tagline{
  display:inline-flex;align-items:center;gap:10px;font-size:var(--step--1);font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--clay-ink);margin-bottom:var(--s3);
}
.tagline::before{content:"";width:34px;height:1.5px;background:var(--clay);display:block;flex:0 0 auto;}
.hero h1{font-size:var(--step-7);margin-bottom:var(--s3);}
.hero__lede{font-size:var(--step-1);color:var(--bark-soft);max-width:46ch;margin-bottom:var(--s4);line-height:1.55;}
.hero__do{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}

/* slim trust row — three honest items, no invented figures */
.trustrow{
  list-style:none;margin:var(--s4) 0 0;padding:var(--s3) 0 0;border-top:var(--hair) solid var(--line);
  display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);
}
.trustrow li{display:flex;align-items:center;gap:9px;margin:0;font-size:.9rem;color:var(--bark-soft);}
.trustrow svg{flex:0 0 auto;color:var(--clay);}
.partnote{margin:var(--s3) 0 0;font-size:.9rem;color:var(--bark-soft);}
.partnote a{color:var(--clay-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.partnote a:hover{color:var(--forest);}
.hero__foot{
  margin-top:var(--s3);padding-top:var(--s3);border-top:var(--hair) solid var(--line);
  font-size:.86rem;color:var(--bark-soft);max-width:60ch;
}

/* ---------- section furniture ---------- */
.band{padding:clamp(56px,8vw,110px) 0;position:relative;}
.band--sand{background:var(--sand);}
.band--paper{background:var(--paper);}
.band--deep{background:var(--sand-deep);}
.band--forest{background:var(--forest);color:var(--on-forest);}
.band--forest h2,.band--forest h3,.band--forest h4{color:var(--sand);}
.band--forest strong{color:var(--sand);}
.band--forest p{color:var(--on-forest-soft);}
.band--tight{padding-block:clamp(44px,5.5vw,74px);}

/* elegant seam between bands: hairline + a short clay tab */
.band--edge::before{
  content:"";position:absolute;top:0;left:0;right:0;height:var(--hair);background:var(--line);
}
.band--edge::after{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:76px;height:3px;background:var(--clay);border-radius:0 0 3px 3px;
}
.band--forest.band--edge::before{background:var(--on-forest-line);}
.band--forest.band--edge::after{background:var(--clay-soft);}

.lead{max-width:42rem;margin-bottom:clamp(34px,4.5vw,62px);}
.lead--wide{max-width:54rem;}
.lead--close{margin-bottom:var(--s4);}
.lead h2{font-size:var(--step-6);margin-bottom:var(--s3);}
.lead p{color:var(--bark-soft);font-size:var(--step-1);margin:0;max-width:var(--measure);line-height:1.55;}
.band--forest .lead p{color:var(--on-forest-soft);}
.overline{
  display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.08rem;
  color:var(--clay-ink);margin-bottom:12px;font-optical-sizing:auto;
}
.band--forest .overline{color:var(--clay-soft);}

/* ---------- offset feature blocks (break the grid) ---------- */
.offset{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,84px);align-items:center;}
/* grid items must be free to shrink below min-content, or a nowrap button widens the track */
.offset > *,.doors > *,.guide > *,.howgrid > *,.cards > *,.plain > *,.qa > *,.stepitem > *,
.dash__cols > *,.foot__top > *{min-width:0;}
.offset__media{position:relative;}
.offset__media img{
  width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--shadow-xl);
}
.offset--right .offset__media{order:2;transform:translateY(-28px);}
.offset--left .offset__media{order:-1;transform:translateY(28px);}
.offset__media::after{
  content:"";position:absolute;width:60%;height:60%;border:1.5px solid var(--clay);border-radius:var(--r-lg);
  z-index:-1;
}
.offset--right .offset__media::after{right:-28px;bottom:-28px;}
.offset--left .offset__media::after{left:-28px;top:-28px;}
.offset h2{font-size:var(--step-5);margin-bottom:var(--s3);}
.offset p{color:var(--bark-soft);max-width:var(--measure);}
.band--forest .offset p{color:var(--on-forest-soft);}
.offset .btn{margin-top:var(--s2);}
.offset--top{align-items:start;}

/* ---------- guided match: the signature module ---------- */
.guide{
  display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(26px,4vw,64px);align-items:start;
}
.guide__ask{display:grid;gap:var(--s4);}
.gq{border:0;padding:0;margin:0;min-width:0;}
.gq__q{
  display:block;width:100%;float:none;padding:0 0 var(--s2);margin:0;
  font-size:var(--step-2);font-weight:600;color:var(--forest);letter-spacing:-.02em;
  line-height:var(--lh-title);text-wrap:balance;
}
.gq__n{
  font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.05rem;color:var(--clay-ink);
  font-variant-numeric:tabular-nums;margin-right:10px;
}
.gq__opts{display:flex;flex-wrap:wrap;gap:10px;padding-top:var(--s1);border-top:var(--hair) solid var(--line);}
.opt{
  font-family:inherit;font-size:.94rem;font-weight:500;line-height:1.35;
  padding:11px 18px;border-radius:var(--r-pill);cursor:pointer;
  background:var(--paper);border:1.5px solid var(--line);color:var(--bark);
  transition:background var(--t) var(--ease-out),border-color var(--t) var(--ease-out),
             color var(--t) var(--ease-out),transform var(--t-fast) var(--ease-out),
             box-shadow var(--t) var(--ease-out);
}
.opt:hover{border-color:var(--clay);color:var(--clay-ink);transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.opt:active{transform:translateY(0);box-shadow:none;}
.opt[aria-pressed="true"]{
  background:var(--forest);border-color:var(--forest);color:var(--sand);box-shadow:var(--shadow-md);
}
.opt[aria-pressed="true"]:hover{background:var(--forest-deep);border-color:var(--forest-deep);color:var(--sand);}

.guide__out{position:sticky;top:var(--s3);}
.guide__card{
  background:var(--forest);color:var(--on-forest);border-radius:var(--r-lg);
  padding:clamp(24px,3vw,38px);box-shadow:var(--shadow-xl);position:relative;overflow:hidden;
}
.guide__card::before{
  content:"";position:absolute;top:0;left:clamp(24px,3vw,38px);width:64px;height:3px;background:var(--clay);
  border-radius:0 0 3px 3px;
}
.guide__k{
  display:block;font-size:var(--step--1);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--clay-soft);margin-bottom:var(--s2);
}
.guide__title{
  font-family:var(--serif);font-style:italic;font-weight:400;font-size:var(--step-4);
  color:var(--sand);line-height:1.12;letter-spacing:-.015em;margin:0 0 var(--s2);
  font-optical-sizing:auto;text-wrap:balance;
}
.guide__why{color:var(--on-forest-soft);font-size:.97rem;margin:0 0 var(--s3);max-width:44ch;}
.guide__list{list-style:none;margin:0 0 var(--s3);padding:var(--s3) 0 0;border-top:1px solid var(--on-forest-line);}
.guide__list li{
  display:flex;gap:11px;align-items:flex-start;margin:0 0 11px;
  font-size:.93rem;color:var(--on-forest-soft);
}
.guide__list li:last-child{margin-bottom:0;}
.guide__list svg{flex:0 0 auto;color:var(--clay-soft);margin-top:5px;}
.guide__do{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--s3);}
.guide__fine{
  margin:0;padding-top:var(--s3);border-top:1px solid var(--on-forest-line);
  font-size:.8rem;line-height:1.6;color:var(--on-forest-fine);
}

/* ---------- two doors: the consumer / partner split ---------- */
.doors{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(20px,3vw,44px);position:relative;}
.doors::before{
  content:"";position:absolute;top:8%;bottom:8%;left:calc(56% - clamp(10px,1.5vw,22px));
  width:1px;background:linear-gradient(180deg,transparent,var(--clay-soft) 22%,var(--clay-soft) 78%,transparent);
}
.doors::after{
  content:"";position:absolute;top:50%;left:calc(56% - clamp(10px,1.5vw,22px));
  width:9px;height:9px;margin:-4px 0 0 -4px;transform:rotate(45deg);background:var(--clay);
}
.door{
  border-radius:var(--r-lg);padding:clamp(28px,3.4vw,50px);
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  transition:transform var(--t-slow) var(--ease-out),box-shadow var(--t-slow) var(--ease-out),
             border-color var(--t-slow) var(--ease-out);
}
.door--warm{background:var(--paper);border:var(--hair) solid var(--line);}
.door--warm:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:var(--clay-soft);}
.door--deep{background:var(--forest);border:var(--hair) solid var(--forest-soft);color:var(--on-forest);}
.door--deep:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:var(--clay);}
.door__n{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(2.6rem,5vw,4rem);line-height:.9;color:var(--clay);
  display:block;margin-bottom:var(--s2);opacity:.9;
}
.door--deep .door__n{color:var(--clay-soft);}
.door__tag{
  display:block;font-size:var(--step--1);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--clay-ink);margin-bottom:10px;
}
.door h3{font-size:var(--step-3);margin-bottom:var(--s2);}
.door p{color:var(--bark-soft);max-width:46ch;}
.ticks,.door ul{list-style:none;padding:0;margin:var(--s2) 0 var(--s4);}
.ticks li,.door ul li{
  display:flex;gap:11px;align-items:flex-start;font-size:.95rem;color:var(--bark-soft);margin:0 0 10px;
}
.door .btn{margin-top:auto;align-self:flex-start;}
.leaf{flex:0 0 auto;color:var(--clay);margin-top:5px;}

/* forest door overrides — declared after the generic .door rules so they win the cascade */
.door--deep h3,.door--deep h4{color:var(--sand);}
.door--deep p{color:var(--on-forest-soft);}
.door--deep .door__tag{color:var(--clay-soft);}
.door--deep .ticks li,.door--deep ul li{color:var(--on-forest-soft);}
.door--deep .leaf{color:var(--clay-soft);}

.door--tall{height:100%;}
.door__note{font-size:.92rem;color:var(--bark-soft);margin:0 0 var(--s3);}
.door--deep .door__note{color:var(--on-forest-soft);}
/* legacy .door usage (partners.php sidebar card) keeps a paper treatment */
.door:not(.door--warm):not(.door--deep){background:var(--paper);border:var(--hair) solid var(--line);}
.door:not(.door--warm):not(.door--deep):hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--clay-soft);}

/* ---------- editorial numbered steps with connected nodes ---------- */
.steps{display:grid;gap:0;border-top:var(--hair) solid var(--line);}
.stepitem{
  display:grid;grid-template-columns:clamp(72px,8vw,110px) 1fr;gap:clamp(18px,3vw,44px);
  padding:clamp(26px,3.4vw,46px) 0;border-bottom:var(--hair) solid var(--line);align-items:start;
  position:relative;
}
.stepitem__n{
  position:relative;
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(1.5rem,2.4vw,2rem);line-height:1;color:var(--clay);
  width:clamp(56px,5vw,72px);height:clamp(56px,5vw,72px);
  display:grid;place-items:center;border-radius:50%;
  border:1.5px solid var(--clay-soft);background:var(--paper);
  transition:border-color var(--t-slow) var(--ease-out),background var(--t-slow) var(--ease-out),
             transform var(--t-slow) var(--ease-out);
}
/* the connector between nodes */
.stepitem::before{
  content:"";position:absolute;left:calc(clamp(56px,5vw,72px) / 2);top:0;bottom:0;width:1px;
  background:var(--clay-soft);z-index:0;
}
.stepitem:first-child::before{top:clamp(26px,3.4vw,46px);}
.stepitem:last-child::before{bottom:calc(100% - clamp(26px,3.4vw,46px) - clamp(56px,5vw,72px));}
.stepitem__n{z-index:1;}
.band--paper .stepitem__n{background:var(--sand);}
.band--deep .stepitem__n{background:var(--paper);}
.stepitem:hover .stepitem__n{border-color:var(--clay);background:var(--clay-wash);transform:translateY(-3px);}
.stepitem h3{font-size:var(--step-2);margin-bottom:10px;}
.stepitem p{color:var(--bark-soft);margin:0;max-width:60ch;}
.band--forest .stepitem,.band--forest .steps{border-color:var(--on-forest-line);}
.band--forest .stepitem::before{background:rgba(233,207,174,.35);}
.band--forest .stepitem__n{color:var(--clay-soft);border-color:rgba(233,207,174,.45);background:var(--forest-deep);}
.band--forest .stepitem:hover .stepitem__n{border-color:var(--clay-soft);background:var(--forest-soft);}
.band--forest .stepitem p{color:var(--on-forest-soft);}

/* how-it-works: steps beside a sticky photo */
.howgrid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(30px,5vw,72px);align-items:start;}
.howpic{position:sticky;top:var(--s4);}
.howpic img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--shadow-xl);}
.howpic figcaption{
  margin-top:var(--s2);font-size:.84rem;color:var(--bark-soft);
  padding-left:var(--s2);border-left:2px solid var(--clay);max-width:38ch;
}

/* ---------- resource cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,28px);}
.rcard{
  background:var(--paper);border:var(--hair) solid var(--line);border-radius:var(--r-lg);
  padding:clamp(24px,2.8vw,36px);display:flex;flex-direction:column;text-decoration:none;
  position:relative;overflow:hidden;
  transition:transform var(--t-slow) var(--ease-out),box-shadow var(--t-slow) var(--ease-out),
             border-color var(--t-slow) var(--ease-out);
}
.rcard::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--clay);
  transform:scaleX(0);transform-origin:left;transition:transform var(--t-slow) var(--ease-out);
}
.rcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:var(--clay-soft);}
.rcard:hover::before,.rcard:focus-visible::before{transform:scaleX(1);}
.rcard__k{
  font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--clay-ink);
  margin-bottom:14px;display:block;font-optical-sizing:auto;
}
.rcard h3{font-size:var(--step-2);margin-bottom:10px;}
.rcard p{color:var(--bark-soft);font-size:.95rem;margin-bottom:var(--s3);}
.rcard__go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:var(--forest);font-weight:600;font-size:.92rem;}
.rcard:hover .rcard__go{color:var(--clay-ink);gap:12px;}
.rcard__go svg{transition:transform var(--t) var(--ease-out);}

/* ---------- plain principles list ---------- */
.plain{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,48px);}
.plain--two{grid-template-columns:repeat(2,1fr);gap:clamp(24px,3vw,52px);}
.plain__it h3{font-size:var(--step-1);margin-bottom:8px;padding-top:var(--s2);border-top:2px solid var(--clay);}
.plain__it p{color:var(--bark-soft);font-size:.95rem;margin:0;max-width:46ch;}
.band--forest .plain__it p{color:var(--on-forest-soft);}
.band--forest .plain__it h3{border-top-color:var(--clay-soft);}
.band--forest .plain__it a{color:var(--clay-soft);text-decoration:underline;text-underline-offset:3px;}
.band--forest .plain__it a:hover{color:var(--sand);}

/* ---------- Q&A editorial grid (partners: terms of engagement) ---------- */
.qa{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,3.4vw,52px);}
.qa__it h3{font-size:var(--step-1);margin-bottom:9px;}
.qa__it p{color:var(--bark-soft);font-size:.96rem;margin:0;max-width:52ch;}
.qa__it p + p{margin-top:.7em;}
.band--forest .qa__it p{color:var(--on-forest-soft);}

/* ---------- collapsible FAQ ---------- */
.faq{border-top:var(--hair) solid var(--line);max-width:58rem;}
.faq__it{border-bottom:var(--hair) solid var(--line);}
.faq__it summary{
  list-style:none;cursor:pointer;position:relative;
  padding:var(--s3) 52px var(--s3) 0;
  font-size:var(--step-1);font-weight:600;color:var(--forest);letter-spacing:-.015em;
  line-height:var(--lh-title);text-wrap:balance;
  transition:color var(--t) var(--ease-out);
}
.faq__it summary::-webkit-details-marker{display:none;}
.faq__it summary::marker{content:"";}
.faq__it summary:hover{color:var(--clay-ink);}
.faq__it summary::after{
  content:"";position:absolute;right:14px;top:50%;width:11px;height:11px;
  border-right:2px solid var(--clay);border-bottom:2px solid var(--clay);
  transform:translateY(-70%) rotate(45deg);
  transition:transform var(--t-slow) var(--ease-out);
}
.faq__it[open] summary::after{transform:translateY(-30%) rotate(-135deg);}
.faq__it[open] summary{color:var(--clay-ink);}
.faq__a{padding:0 clamp(0px,6%,72px) var(--s3) 0;}
.faq__a p{color:var(--bark-soft);margin:0;max-width:var(--measure);}
.faq__a p + p{margin-top:.8em;}
.faq__a a{color:var(--clay-ink);text-decoration:underline;text-underline-offset:3px;}
.faq__a a:hover{color:var(--forest);}

/* ---------- closing call to action ---------- */
.cta{position:relative;}
.cta__in{
  position:relative;border:1px solid var(--on-forest-line);border-radius:var(--r-xl);
  padding:clamp(30px,4.6vw,68px);background:linear-gradient(150deg,var(--forest-deep),var(--forest) 60%);
  overflow:hidden;
}
.cta__in::before{
  content:"";position:absolute;top:-1px;left:clamp(30px,4.6vw,68px);width:88px;height:4px;
  background:var(--clay);border-radius:0 0 3px 3px;
}
.cta__in::after{
  content:"";position:absolute;right:-70px;bottom:-70px;width:230px;height:230px;
  border:1.5px solid rgba(233,207,174,.28);border-radius:50%;
}
.cta h2{font-size:var(--step-6);margin-bottom:var(--s3);max-width:20ch;color:var(--sand);}
.cta p{color:var(--on-forest-soft);max-width:52ch;font-size:var(--step-1);line-height:1.55;}
.cta__do{display:flex;flex-wrap:wrap;gap:14px;margin-top:var(--s4);position:relative;}
.cta__fine{
  margin:var(--s4) 0 0;padding-top:var(--s3);border-top:1px solid var(--on-forest-line);
  font-size:.84rem;color:var(--on-forest-fine);max-width:64ch;position:relative;
}

/* ---------- callout ---------- */
.callout{
  background:var(--paper);border:var(--hair) solid var(--line);border-left:4px solid var(--clay);
  border-radius:0 var(--r) var(--r) 0;padding:clamp(20px,2.6vw,32px);margin:var(--s4) 0;
  box-shadow:var(--shadow-sm);
}
.callout p:last-child{margin-bottom:0;}
.callout strong{color:var(--clay-ink);}

/* ---------- article pages ---------- */
.artitop{padding:clamp(44px,5.5vw,84px) 0 0;position:relative;}
.artitop::before{
  content:"";position:absolute;top:0;right:0;width:36%;height:60%;background:var(--sand-deep);z-index:-1;
}
.trail{font-size:.85rem;color:var(--bark-soft);margin-bottom:var(--s3);}
.trail a{color:var(--forest);text-decoration:none;border-bottom:1px solid var(--line);
  transition:color var(--t) var(--ease-out),border-color var(--t) var(--ease-out);}
.trail a:hover{border-bottom-color:var(--clay);color:var(--clay-ink);}
.artitop h1{font-size:var(--step-6);max-width:19ch;margin-bottom:var(--s3);}
.artitop__lede{font-size:var(--step-1);color:var(--bark-soft);max-width:46ch;margin-bottom:var(--s4);line-height:1.55;}
.artipic{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-xl);}
.artipic img{width:100%;aspect-ratio:2/1;object-fit:cover;}
.artipic--lead{margin:0 0 clamp(36px,5vw,64px);}
.artipic--side{margin:0 0 var(--s4);}
.artipic--side img{aspect-ratio:9/7;}
.prose{max-width:46rem;}
.prose h2{font-size:var(--step-4);margin:var(--s5) 0 var(--s2);}
.prose h3{font-size:var(--step-1);margin:var(--s4) 0 var(--s1);}
.prose p,.prose li{color:#4C463E;max-width:var(--measure);}
.prose > p:first-child{font-size:var(--step-1);color:var(--bark);line-height:1.55;}
.prose a{color:var(--clay-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.prose a:hover{color:var(--forest);}
.morelinks{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:var(--s5);}
.morelinks a{
  display:block;padding:var(--s3);background:var(--paper);border:var(--hair) solid var(--line);
  border-radius:var(--r);text-decoration:none;
  transition:border-color var(--t) var(--ease-out),transform var(--t) var(--ease-out),
             box-shadow var(--t) var(--ease-out);
}
.morelinks a:hover{border-color:var(--clay);transform:translateY(-4px);box-shadow:var(--shadow-md);}
.morelinks span{display:block;font-family:var(--serif);font-style:italic;color:var(--clay-ink);font-size:.94rem;margin-bottom:6px;}
.morelinks b{color:var(--forest);font-weight:600;font-size:1.02rem;line-height:1.25;display:block;text-wrap:balance;}

/* ---------- forms ---------- */
.formshell{max-width:480px;margin-inline:auto;}
.paperbox{
  background:var(--paper);border:var(--hair) solid var(--line);border-radius:var(--r-lg);
  padding:clamp(26px,3.6vw,46px);box-shadow:var(--shadow-md);position:relative;
}
.paperbox::before{
  content:"";position:absolute;top:0;left:clamp(26px,3.6vw,46px);width:56px;height:3px;
  background:var(--clay);border-radius:0 0 3px 3px;
}
.paperbox--full{max-width:none;}
.paperbox--inset{margin:var(--s4) 0;}
.paperbox h1{font-size:var(--step-4);margin-bottom:10px;}
.paperbox__h{margin:0 0 var(--s3);font-size:var(--step-2);}
.paperbox__sub{color:var(--bark-soft);font-size:.97rem;margin-bottom:var(--s4);max-width:48ch;}
.paperbox__alt{text-align:center;margin:var(--s3) 0 0;font-size:.92rem;color:var(--bark-soft);}
.paperbox__alt a{color:var(--clay-ink);font-weight:600;text-underline-offset:3px;}
.paperbox__alt a:hover{color:var(--forest);}
.field{margin-bottom:var(--s3);}
.field--flush{margin-bottom:0;}
.field--trap{position:absolute;left:-9999px;}
.field label{display:block;font-size:.86rem;font-weight:600;color:var(--forest);margin-bottom:7px;}
.field input,.field select,.field textarea{
  width:100%;padding:13px 15px;border-radius:var(--r-xs);background:#fff;
  border:1.5px solid var(--line);color:var(--bark);font-family:inherit;font-size:.98rem;
  transition:border-color var(--t) var(--ease-out),box-shadow var(--t) var(--ease-out);
}
.field input::placeholder,.field textarea::placeholder{color:#8C8375;}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#C4B69B;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--clay);box-shadow:0 0 0 3px rgba(180,83,9,.18);
}
.field select{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%233F3A34' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:12px;padding-right:38px;
}
.calcgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s3);}
.calcout{margin-top:var(--s3);}
.fine{font-size:.82rem;color:var(--bark-soft);line-height:1.6;margin:var(--s3) 0 0;max-width:var(--measure);}
.fine strong{color:var(--clay-ink);}
.flag{padding:13px 17px;border-radius:var(--r-xs);font-size:.92rem;margin-bottom:var(--s3);border:1px solid;}
.flag--bad{background:#FBEAE6;border-color:#E5B3A6;color:#8A2E12;}
.flag--ok{background:#E7F0E9;border-color:#B4D0BE;color:#14532D;}
.flag ul{margin:.4em 0 0;padding-left:1.1em;}
.flag--spaced{margin-bottom:var(--s4);}

/* ---------- dashboard ---------- */
.dash{padding:clamp(36px,5vw,68px) 0 clamp(50px,7vw,90px);}
.dash__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--s3);margin-bottom:var(--s4);}
.dash__top h1{font-size:var(--step-5);}
.dash__meta{color:var(--bark-soft);font-size:.94rem;margin:8px 0 0;}
.dash__do{display:flex;flex-wrap:wrap;gap:12px;}
.dashside{display:grid;gap:var(--s3);}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,20px);margin-bottom:var(--s4);}
.stat{
  background:var(--paper);border:var(--hair) solid var(--line);border-radius:var(--r);padding:var(--s3);
  position:relative;transition:border-color var(--t) var(--ease-out),box-shadow var(--t) var(--ease-out);
}
.stat:hover{border-color:var(--clay-soft);box-shadow:var(--shadow-sm);}
.stat__l{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bark-soft);margin:0 0 10px;}
.stat__n{font-family:var(--serif);font-style:italic;font-size:var(--step-4);line-height:1;color:var(--forest);display:block;font-optical-sizing:auto;}
.stat__d{font-size:.82rem;color:var(--bark-soft);margin:10px 0 0;}
.dash__cols{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(18px,2.2vw,28px);align-items:start;}
.slab{background:var(--paper);border:var(--hair) solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.slab--narrow{max-width:660px;}
.slab__h{padding:var(--s3);border-bottom:var(--hair) solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;}
.slab__h h2{font-size:var(--step-1);}
.slab__b{padding:var(--s3);}
.slab__note{font-size:.93rem;color:var(--bark-soft);margin:0;}
.slab__do{display:grid;gap:10px;margin-top:var(--s3);}
.tblscroll{overflow-x:auto;}
.grid-tbl{width:100%;border-collapse:collapse;font-size:.9rem;}
.grid-tbl th{
  text-align:left;padding:12px var(--s3);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--bark-soft);font-weight:600;border-bottom:var(--hair) solid var(--line);
}
.grid-tbl td{padding:15px var(--s3);border-bottom:var(--hair) solid var(--line);color:var(--bark-soft);}
.grid-tbl tr:last-child td{border-bottom:0;}
.grid-tbl tbody tr{transition:background var(--t) var(--ease-out);}
.grid-tbl tbody tr:hover{background:var(--sand);}
.grid-tbl b{color:var(--forest);font-weight:600;}
.tag{display:inline-block;padding:4px 12px;border-radius:var(--r-pill);font-size:.75rem;font-weight:600;}
.tag--go{background:#E1EDE5;color:var(--forest);}
.tag--wait{background:#F7E9D6;color:var(--clay-ink);}
.tag--done{background:var(--sand-deep);color:var(--bark-soft);}
.deflist{list-style:none;margin:0;padding:0;}
.deflist li{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:var(--hair) solid var(--line);font-size:.9rem;color:var(--bark-soft);margin:0;}
.deflist li:last-child{border-bottom:0;}
.deflist span{color:var(--forest);font-weight:500;text-align:right;word-break:break-word;}
.deflist a{color:var(--clay-ink);text-decoration:none;border-bottom:1px solid var(--line);}
.deflist a:hover{color:var(--forest);border-bottom-color:var(--clay);}
.slabfoot{padding:var(--s2) var(--s3);border-top:var(--hair) solid var(--line);font-size:.78rem;color:var(--bark-soft);}

/* ---------- 404 ---------- */
.gone{padding:clamp(50px,8vw,120px) 0;max-width:46rem;}
.gone__n{font-family:var(--serif);font-style:italic;font-size:clamp(4.5rem,15vw,9rem);line-height:.85;color:var(--clay);margin-bottom:var(--s3);font-optical-sizing:auto;}
.gone h1{font-size:var(--step-5);margin-bottom:var(--s2);}
.gone p{color:var(--bark-soft);margin-bottom:var(--s4);max-width:var(--measure);}
.gone__do{display:flex;flex-wrap:wrap;gap:14px;}

/* ---------- sticky mobile CTA ---------- */
.stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;
  background:rgba(252,250,245,.96);
  border-top:var(--hair) solid var(--line);
  box-shadow:0 -10px 30px -18px rgba(63,58,52,.35);
  padding:10px clamp(14px,4vw,24px) calc(10px + env(safe-area-inset-bottom,0px));
  transform:translateY(110%);
  transition:transform var(--t-slow) var(--ease-out);
}
.stickybar.is-up{transform:none;}
.stickybar__in{display:flex;align-items:center;gap:var(--s2);max-width:640px;margin-inline:auto;}
.stickybar__t{margin:0;font-size:.82rem;line-height:1.35;color:var(--bark-soft);flex:1 1 auto;}
.stickybar .btn{flex:0 0 auto;padding:12px 20px;}

/* ---------- footer ---------- */
.foot{background:var(--forest);color:var(--on-forest-soft);padding:clamp(48px,7vw,86px) 0 var(--s4);}
.foot__top{display:grid;grid-template-columns:1.3fr 2fr;gap:clamp(28px,4vw,64px);padding-bottom:var(--s5);}
.foot__mark{font-size:var(--step-2);color:var(--sand);margin-bottom:14px;font-weight:600;letter-spacing:-.02em;}
.foot__mark em{font-family:var(--serif);font-style:italic;font-weight:400;}
.foot__blurb{font-size:.92rem;max-width:36ch;color:var(--on-forest-soft);}
.foot__mail{
  color:var(--clay-soft);text-decoration:none;font-size:.93rem;border-bottom:1px solid rgba(233,207,174,.42);
  transition:color var(--t) var(--ease-out),border-color var(--t) var(--ease-out);
}
.foot__mail:hover{color:#fff;border-bottom-color:#fff;}
.foot__nav{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);}
.foot__h{font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;color:var(--clay-soft);margin-bottom:14px;font-weight:600;}
.foot__nav ul{list-style:none;margin:0;padding:0;}
.foot__nav li{margin-bottom:10px;}
.foot__nav a{color:var(--on-forest-soft);text-decoration:none;font-size:.91rem;transition:color var(--t) var(--ease-out);}
.foot__nav a:hover{color:var(--sand);text-decoration:underline;text-underline-offset:3px;}
.foot__fine{border-top:1px solid var(--on-forest-line);padding-top:var(--s4);}
.foot__fine p{font-size:.8rem;line-height:1.65;color:var(--on-forest-fine);max-width:84ch;}
.foot__fine strong{color:#CFDDD4;}
.foot__addr{margin-top:var(--s3);}
.foot__copy{margin:0;}

/* ---------- reveal + stagger ---------- */
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
.rv.is-in{opacity:1;transform:none;}
.rv--stagger{opacity:1;transform:none;}
.rv--stagger > *{
  opacity:0;transform:translateY(16px);
  transition:opacity .55s var(--ease-out),transform .55s var(--ease-out);
}
.rv--stagger.is-in > *{opacity:1;transform:none;}
.rv--stagger.is-in > *:nth-child(1){transition-delay:0ms;}
.rv--stagger.is-in > *:nth-child(2){transition-delay:60ms;}
.rv--stagger.is-in > *:nth-child(3){transition-delay:120ms;}
.rv--stagger.is-in > *:nth-child(4){transition-delay:180ms;}
.rv--stagger.is-in > *:nth-child(5){transition-delay:240ms;}
.rv--stagger.is-in > *:nth-child(6){transition-delay:300ms;}
.rv--stagger.is-in > *:nth-child(7){transition-delay:360ms;}
.rv--stagger.is-in > *:nth-child(n+8){transition-delay:420ms;}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    transition-delay:0ms !important;
    scroll-behavior:auto !important;
  }
  html{scroll-behavior:auto;}
  .rv,.rv--stagger > *{opacity:1;transform:none;}
  .stickybar{transition:none;}
  .btn:hover,.rcard:hover,.door:hover,.morelinks a:hover,.opt:hover,
  .stepitem:hover .stepitem__n{transform:none;}
  .hero__block,.hero__wash{transform:none !important;}
}

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .doors,.qa,.guide{grid-template-columns:1fr;}
  .doors::before,.doors::after{display:none;}
  .guide__out{position:static;}
  .cards,.plain,.morelinks{grid-template-columns:repeat(2,1fr);}
  .plain--two{grid-template-columns:repeat(2,1fr);}
  .dash__cols{grid-template-columns:1fr;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .foot__top{grid-template-columns:1fr;}
  .howgrid{grid-template-columns:1fr;}
  .howpic{position:static;max-width:520px;}
  .howpic img{aspect-ratio:16/10;}
}
@media (max-width:900px){
  .burger{display:grid;place-items:center;}
  .mainnav{
    position:absolute;left:0;right:0;top:100%;z-index:50;margin:0;
    flex-direction:column;align-items:stretch;gap:var(--s3);
    background:var(--paper);border-bottom:var(--hair) solid var(--line);box-shadow:var(--shadow-lg);
    padding:var(--s3) clamp(20px,5vw,44px) var(--s4);
    max-height:calc(100dvh - 130px);overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity var(--t) var(--ease-out),transform var(--t) var(--ease-out),visibility var(--t);
  }
  .mainnav.is-open{opacity:1;visibility:visible;transform:none;}
  .masthead{position:relative;}
  .mainnav__list{flex-direction:column;align-items:stretch;gap:0;}
  .mainnav__list > li{border-bottom:var(--hair) solid var(--line);}
  .mainnav__list a,.dropbtn{padding:14px 0;width:100%;justify-content:space-between;font-size:1.02rem;}
  .mainnav__list a::after,.dropbtn::after{display:none;}
  .drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 10px 12px;display:none;min-width:0;}
  .drop::before{display:none;}
  .drop.is-open{display:block;}
  .hasdrop:hover .drop:not(.is-open){display:none;}
  .mainnav__end{flex-direction:column;align-items:stretch;gap:var(--s2);}
  .mainnav__end .btn,.mainnav__end .txtlink{width:100%;text-align:center;}
  .txtlink{padding:10px 0;border-bottom:0;}

  .hero{padding-top:clamp(28px,5vw,48px);}
  .hero__block{width:100%;height:40%;}
  .hero__wash{width:80%;}
  .hero__fig{width:100%;}
  .hero__say{width:calc(100% - 20px);margin-inline:auto;margin-top:-52px;}
  .hero__say::before{right:auto;left:clamp(26px,3.4vw,52px);width:96px;}
  .hero__say::after{display:none;}
  .offset{grid-template-columns:1fr;gap:var(--s4);}
  .offset--right .offset__media,.offset--left .offset__media{order:-1;transform:none;}
  .offset__media::after{display:none;}
  .stickybar{display:block;}
}
@media (max-width:640px){
  .cards,.plain,.plain--two,.morelinks{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr 1fr;}
  .foot__nav{grid-template-columns:1fr;gap:var(--s4);}
  .topbar__note{display:none;}
  .topbar__in{justify-content:center;}
  .stepitem{grid-template-columns:clamp(52px,14vw,64px) 1fr;gap:var(--s3);}
  .stepitem::before{left:calc(clamp(48px,13vw,60px) / 2);}
  .stepitem__n{width:clamp(48px,13vw,60px);height:clamp(48px,13vw,60px);font-size:1.3rem;}
  .hero__do .btn,.cta__do .btn,.gone__do .btn{width:100%;}
  .guide__do .btn{width:100%;}
  .btn{white-space:normal;text-align:center;}
  .stickybar__t{display:none;}
  .stickybar .btn{width:100%;}
}
@media (max-width:400px){
  .wordmark__t{font-size:1rem;}
  .stats{grid-template-columns:1fr;}
  .opt{font-size:.9rem;padding:10px 15px;}
}
