/* sunvestmg.com public site (2026-11-10 rebuild). "Florida sunrise": ink + sun gold on warm paper, arches and sun rays
   taken from the Sunvest seal. Fonts are self-hosted. Markup comes from src/sunvest-site.js. */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:300 900;font-display:swap;src:url(/public/fonts/sunvest/fraunces-normal.woff2) format("woff2")}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:300 900;font-display:swap;src:url(/public/fonts/sunvest/fraunces-italic.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(/public/fonts/sunvest/figtree-normal.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:italic;font-weight:300 900;font-display:swap;src:url(/public/fonts/sunvest/figtree-italic.woff2) format("woff2")}

:root{
  --night:#2f2621;--night-2:#27221e;   /* dark backgrounds, a step lighter than the text ink (2026-11-10: near-black read as flat black on low-contrast screens) */
  --ink:#1c1a17;--ink-2:#2b2824;--ink-3:#3d3932;--paper:#fdfaf3;--sand:#f6eedd;--sand-2:#efe4cc;--line:#e4d9c0;--line-2:#d6c9a8;
  --sun:#f5b93a;--sun-2:#ffd56a;--sun-3:#fff0c4;--ember:#d8572a;--ember-ink:#9a3a13;--khaki:#a8966a;--palm:#1d4f43;--palm-2:#e2efe8;
  --muted:#6a6356;--muted-d:#b9b09c;--ok:#1d6b4f;--err:#a3271b;--err-bg:#fdf0ed;
  --fd:"Fraunces",Georgia,"Times New Roman",serif;--fb:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:18px;--r-s:12px;--sh:0 24px 60px -30px rgba(28,26,23,.38);--sh-s:0 10px 30px -18px rgba(28,26,23,.35);
  --wrap:1180px;--pad:20px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--fb);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--fd);font-weight:560;line-height:1.08;letter-spacing:-.018em;margin:0;text-wrap:balance}
h1{font-size:clamp(2.5rem,6.4vw,5rem)}h2{font-size:clamp(1.9rem,3.9vw,3.05rem)}h3{font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.2}
h1 em,h2 em{font-style:italic;font-weight:440;color:var(--ember-ink)}
p{margin:0 0 1em;text-wrap:pretty}
a{color:inherit;text-decoration-color:var(--sun);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{text-decoration-color:var(--ember)}
::selection{background:var(--sun-2);color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}
.sec-ink :focus-visible,.hero :focus-visible,.ftr :focus-visible,.band :focus-visible{outline-color:var(--sun-2)}
.wrap{width:min(var(--wrap),100% - var(--pad)*2);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;text-decoration:none}
.skip:focus{top:12px}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}

/* ---------- type helpers ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ember-ink)}
.eyebrow::before{content:"";width:22px;height:11px;border-radius:22px 22px 0 0;background:var(--sun);box-shadow:0 0 0 3px rgba(245,185,58,.25)}
.sec-ink .eyebrow,.hero .eyebrow,.band .eyebrow{color:var(--sun-2)}
.lead{font-size:clamp(1.08rem,1.6vw,1.28rem);line-height:1.55;color:var(--ink-3);max-width:56ch}
.muted{color:var(--muted)}.small{font-size:.9rem}.center{text-align:center}.center .lead{margin-inline:auto}
.sec{padding:clamp(60px,9vw,118px) 0;position:relative}
.sec-tight{padding:clamp(40px,6vw,72px) 0}
.sec-sand{background:var(--sand)}
.sec-ink{background:var(--night-2);color:var(--paper)}
.sec-ink .lead,.sec-ink .muted{color:var(--muted-d)}
.sec-head{max-width:760px;margin-bottom:clamp(28px,4vw,52px)}
.sec-head.center{margin-inline:auto}
.horizon{height:1px;background:linear-gradient(90deg,transparent,var(--line-2) 18%,var(--line-2) 82%,transparent);position:relative;margin:0}
.horizon::after{content:"";position:absolute;left:50%;bottom:0;width:34px;height:17px;margin-left:-17px;border-radius:34px 34px 0 0;background:var(--sun);box-shadow:0 0 0 6px var(--paper)}
.sec-sand+.horizon::after,.horizon.on-sand::after{box-shadow:0 0 0 6px var(--sand)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:2px solid transparent;font:700 1rem/1 var(--fb);letter-spacing:.005em;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none;transition:transform .2s ease}
.btn:hover svg{transform:translateX(4px)}
.btn-sun{background:linear-gradient(180deg,var(--sun-2),var(--sun));color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 12px 26px -14px rgba(216,87,42,.8)}
.btn-sun:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 18px 30px -14px rgba(216,87,42,.9)}
.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover{background:var(--ink-3);transform:translateY(-2px)}
.btn-ghost{border-color:currentColor;background:transparent;color:inherit}.btn-ghost:hover{background:rgba(28,26,23,.06)}
.hero .btn-ghost:hover,.sec-ink .btn-ghost:hover,.band .btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-s{min-height:44px;padding:0 18px;font-size:.94rem}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--sun);padding-bottom:2px}
.link-arrow svg{width:16px;height:16px;transition:transform .2s}.link-arrow:hover svg{transform:translateX(4px)}

/* ---------- header ---------- */
.topbar{background:var(--ink);color:var(--muted-d);font-size:.8rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:36px}
.topbar a{color:var(--paper);text-decoration:none}.topbar a:hover{text-decoration:underline}
.topbar-r{display:flex;gap:18px;align-items:center}
.hdr{position:sticky;top:0;z-index:50;background:rgba(253,250,243,.9);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.hdr.stuck{border-color:var(--line);box-shadow:0 10px 30px -24px rgba(28,26,23,.5)}
.hdr-in{display:flex;align-items:center;gap:22px;min-height:74px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.brand img{width:50px;height:50px;border-radius:50%}
.brand-t{display:grid;line-height:1}
.brand-t b{font-family:var(--fd);font-weight:620;font-size:1.5rem;letter-spacing:-.02em}
.brand-t i{font-style:normal;font-size:.68rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.nav{display:none;align-items:center;gap:2px;margin-left:auto}
.nav>a,.nav-btn{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 13px;border-radius:999px;border:0;background:none;font:600 .97rem var(--fb);color:var(--ink);text-decoration:none;cursor:pointer}
.nav>a:hover,.nav-btn:hover,.nav-btn[aria-expanded="true"]{background:var(--sand)}
.nav>a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--sun)}
.nav-btn svg{width:14px;height:14px;transition:transform .2s}.nav-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.hdr-cta{display:none;align-items:center;gap:14px;flex:none}
.tel{font-weight:700;text-decoration:none;white-space:nowrap}
.burger{margin-left:auto;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-2);background:var(--paper);display:grid;place-content:center;gap:6px;cursor:pointer}
.burger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--ink);transition:transform .2s}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:var(--sh);padding:30px 0 34px;display:none}
.mega.open{display:block;animation:drop .22s ease both}
.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 40px}
.mega h3{font:700 .74rem var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--ember-ink);margin-bottom:8px}
.mega ul{list-style:none;margin:0;padding:0}.mega li a{display:block;padding:5px 0;text-decoration:none;font-weight:600}.mega li a:hover{color:var(--ember-ink)}
.mega-foot{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;gap:24px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.sheet{position:fixed;inset:0;z-index:60;background:var(--paper);overflow:auto;padding:18px var(--pad) 120px;display:none}
.sheet.open{display:block;animation:fade .2s ease both}
.sheet-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.sheet a.big,.sheet summary{display:flex;justify-content:space-between;align-items:center;font-family:var(--fd);font-size:1.6rem;font-weight:540;text-decoration:none;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer;list-style:none}
.sheet summary::-webkit-details-marker{display:none}.sheet summary::after{content:"+";font-family:var(--fb);font-weight:400;color:var(--khaki)}.sheet details[open] summary::after{content:"\2212"}
.sheet-sub{padding:8px 0 14px;display:grid;gap:2px}.sheet-sub b{font:700 .72rem var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--ember-ink);margin-top:12px}
.sheet-sub a{padding:7px 0;text-decoration:none;font-weight:600}
.sheet .cta-row .btn{flex:1 1 100%}
@media(min-width:1060px){.nav,.hdr-cta{display:flex}.burger{display:none}}
@media(max-width:1059px){.topbar-l span{display:none}}
@media(max-width:560px){.topbar .hide-s{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:var(--paper);padding:clamp(52px,7vw,96px) 0 0}
.hero-sky{position:absolute;inset:0;z-index:-1;background:radial-gradient(95% 80% at 80% 108%,#ffd56a 0%,#f5a23a 12%,#d8572a 26%,#763220 44%,#47322b 66%,var(--night) 100%)}
.hero-sky::before{content:"";position:absolute;left:80%;top:108%;width:240vmax;height:240vmax;margin:-120vmax 0 0 -120vmax;background:repeating-conic-gradient(from 0deg,rgba(255,226,150,.17) 0deg 2.4deg,transparent 2.4deg 9deg);-webkit-mask:radial-gradient(closest-side,#000 0%,rgba(0,0,0,.6) 24%,transparent 58%);mask:radial-gradient(closest-side,#000 0%,rgba(0,0,0,.6) 24%,transparent 58%);animation:spin 240s linear infinite}
.hero-sky::after,.grain::after{content:"";position:absolute;inset:0;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.hero-grid{display:grid;gap:34px;align-items:end}
.hero-copy{padding-bottom:clamp(36px,6vw,84px)}
.hero h1{font-size:clamp(2.9rem,7.6vw,6.1rem);font-weight:520;letter-spacing:-.03em;line-height:.98}
.hero h1 em{color:var(--sun-2);font-weight:420}
.hero .lead{color:#efe7d6;margin-top:22px;max-width:50ch}
.hero .fine{margin:16px 0 0;font-size:.9rem;color:#d9cfb9;display:flex;gap:8px;align-items:center}
.hero .fine svg{width:16px;height:16px;flex:none;color:var(--sun-2)}
.hero-art{position:relative;justify-self:center;width:min(430px,86%)}
.arch{position:relative;border-radius:999px 999px 0 0;overflow:hidden;aspect-ratio:4/5;background:var(--ink-2);box-shadow:0 0 0 6px rgba(255,213,106,.9),0 0 0 14px rgba(28,26,23,.55),0 0 0 16px rgba(255,213,106,.4)}
.arch img{width:100%;height:100%;object-fit:cover}
.hero-badge{position:absolute;left:-18px;bottom:26px;max-width:230px;background:var(--paper);color:var(--ink);border-radius:16px;padding:14px 16px;box-shadow:var(--sh);font-size:.86rem;line-height:1.35}
.hero-badge b{display:block;font-family:var(--fd);font-size:1.12rem;font-weight:600;margin-bottom:2px}
.hero-badge i{font-style:normal;color:var(--muted)}
@media(min-width:900px){.hero-grid{grid-template-columns:1.12fr .88fr;gap:56px}.hero-art{justify-self:end;width:min(470px,100%)}}
.hero-sm{padding:clamp(44px,6vw,80px) 0 clamp(40px,6vw,72px)}
.hero-sm h1{font-size:clamp(2.3rem,5.4vw,4.2rem)}
.hero-sm .hero-grid{align-items:center}.hero-sm .hero-copy{padding-bottom:0}
.hero-sm .hero-art{width:min(360px,74%)}.hero-sm .arch{aspect-ratio:1/1.08}
.hero-plain .hero-grid{grid-template-columns:1fr}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.84rem;color:#d9cfb9;margin:0 0 20px;padding:0;list-style:none}
.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.5}
.tagline{font-family:var(--fd);font-style:italic;font-weight:420;font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.25;color:var(--sun-2);margin:14px 0 0}

/* ---------- trust strip ---------- */
.trust{background:var(--sand);border-bottom:1px solid var(--line)}
.trust ul{list-style:none;margin:0;padding:18px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 18px}
.trust li{display:flex;align-items:center;gap:10px;font-weight:650;font-size:.93rem;line-height:1.25}
.trust svg{width:22px;height:22px;flex:none;color:var(--ember-ink)}
@media(min-width:900px){.trust ul{grid-template-columns:repeat(5,auto);justify-content:space-between}}

/* ---------- finder + program cards ---------- */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px;padding:0;border:0}
.chips legend{padding:0;margin-bottom:14px;font-weight:700}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--paper);font-weight:650;font-size:.97rem;transition:all .16s ease}
.chip input:hover+span{border-color:var(--ink)}
.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper);box-shadow:inset 0 -3px 0 var(--sun)}
.chip input:focus-visible+span{outline:3px solid var(--ink);outline-offset:3px}
.pgrid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.pcard{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px 22px 22px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line);text-decoration:none;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.sec-sand .pcard{background:#fffdf8}
.pcard::before{content:"";position:absolute;right:-34px;top:-34px;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle,var(--sun-2),var(--sun) 60%,transparent 62%);opacity:.0;transform:translateY(28px);transition:opacity .25s,transform .35s}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:var(--line-2)}
.pcard:hover::before{opacity:.9;transform:none}
.pcard small{font:700 .7rem var(--fb);letter-spacing:.13em;text-transform:uppercase;color:var(--ember-ink)}
.pcard b{font-family:var(--fd);font-weight:580;font-size:1.36rem;line-height:1.15;letter-spacing:-.012em}
.pcard span{color:var(--ink-3);font-size:.97rem;line-height:1.45}
.pcard i{margin-top:auto;padding-top:10px;font-style:normal;font-weight:700;font-size:.92rem;display:inline-flex;gap:8px;align-items:center}
.pcard i svg{width:15px;height:15px;transition:transform .2s}.pcard:hover i svg{transform:translateX(4px)}
.finder-empty{display:none}
.finder-note{margin-top:22px;font-size:.9rem;color:var(--muted)}

/* ---------- family index ---------- */
.fams{border-top:1px solid var(--line-2)}
.fam{display:grid;gap:14px 28px;padding:30px 0;border-bottom:1px solid var(--line-2);align-items:start}
.fam-n{font-family:var(--fd);font-style:italic;font-weight:400;font-size:1.5rem;color:var(--khaki);line-height:1}
.fam h3{font-size:clamp(1.55rem,2.6vw,2.1rem)}
.fam h3 a{text-decoration:none}.fam h3 a:hover{text-decoration:underline;text-decoration-color:var(--sun)}
.fam p{margin:8px 0 0;color:var(--ink-3);max-width:46ch}
.fam ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fam li a{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:999px;border:1.5px solid var(--line-2);text-decoration:none;font-weight:650;font-size:.93rem;transition:all .15s}
.fam li a:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
@media(min-width:900px){.fam{grid-template-columns:70px minmax(0,1fr) minmax(0,1.05fr)}}

/* ---------- steps ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:26px 24px 24px;border-radius:var(--r);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.sec:not(.sec-ink) .steps li{background:#fffdf8;border-color:var(--line)}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--fd);font-style:italic;font-size:2.3rem;line-height:1;color:var(--sun);margin-bottom:14px}
.sec:not(.sec-ink) .steps li::before{color:var(--ember)}
.steps h3{font-size:1.28rem;margin-bottom:8px}
.steps p{margin:0;font-size:.98rem;color:var(--muted-d)}
.sec:not(.sec-ink) .steps p{color:var(--ink-3)}
@media(min-width:760px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1060px){.steps.four{grid-template-columns:repeat(4,1fr)}.steps.three{grid-template-columns:repeat(3,1fr)}}

/* ---------- photo band ---------- */
.band{position:relative;isolation:isolate;color:var(--paper);overflow:hidden;background:var(--ink)}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(28,26,23,.94) 0%,rgba(28,26,23,.82) 42%,rgba(28,26,23,.25) 100%)}
.band .wrap{padding:clamp(64px,9vw,120px) 0}
.band-copy{max-width:600px}
.band .lead{color:#efe7d6}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.tags li{padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);font-size:.88rem;font-weight:650}
.sec:not(.sec-ink) .tags li{border-color:var(--line-2);background:#fffdf8}
@media(max-width:760px){.band::before{background:linear-gradient(180deg,rgba(28,26,23,.86),rgba(28,26,23,.93))}}

/* ---------- split + lists ---------- */
.split{display:grid;gap:clamp(28px,5vw,64px);align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr}.split.wide-l{grid-template-columns:1.15fr .85fr}}
.split .arch{max-width:420px;margin-inline:auto;box-shadow:0 0 0 6px var(--sun),0 0 0 14px var(--paper),0 0 0 15px var(--line-2)}
.sec-sand .split .arch{box-shadow:0 0 0 6px var(--sun),0 0 0 14px var(--sand),0 0 0 15px var(--line-2)}
.ticks,.weigh,.docs{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ticks li,.weigh li,.docs li{position:relative;padding-left:36px;line-height:1.45}
.ticks li::before,.weigh li::before,.docs li::before{content:"";position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--palm-2) center/14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f43' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.weigh li::before{background-color:var(--sun-3);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a3a13' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6v7M12 17.5v.5'/%3E%3C/svg%3E")}
.docs li::before{background-color:var(--sand-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1a17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h6l4 4v12H8zM14 4v4h4'/%3E%3C/svg%3E")}
.duo{display:grid;gap:18px}
@media(min-width:860px){.duo{grid-template-columns:1fr 1fr}}
.panel{padding:clamp(24px,3.4vw,38px);border-radius:var(--r);background:#fffdf8;border:1px solid var(--line)}
.panel h2,.panel h3{margin-bottom:18px}
.panel h2{font-size:clamp(1.45rem,2.4vw,1.85rem)}
.panel-sun{background:linear-gradient(160deg,var(--sun-3),#fffdf8 70%);border-color:#ecd9a0}
.panel-ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}.panel-ink p{color:var(--muted-d)}
.trio{display:grid;gap:16px;counter-reset:t}
@media(min-width:860px){.trio{grid-template-columns:repeat(3,1fr)}}
.trio>div{counter-increment:t;padding:26px 24px;border-radius:var(--r);background:#fffdf8;border:1px solid var(--line);position:relative}
.trio>div::before{content:"0" counter(t);font-family:var(--fd);font-style:italic;color:var(--khaki);font-size:1.1rem}
.trio h3{margin:10px 0 8px;font-size:1.3rem}.trio p{margin:0;color:var(--ink-3);font-size:.99rem}
.grid-3{display:grid;gap:16px}@media(min-width:760px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media(min-width:1060px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.grid-2{display:grid;gap:16px}@media(min-width:760px){.grid-2{grid-template-columns:repeat(2,1fr)}}
.card{padding:26px 24px;border-radius:var(--r);background:#fffdf8;border:1px solid var(--line)}
.card h3{margin-bottom:8px;font-size:1.28rem}.card p{margin:0;color:var(--ink-3);font-size:.99rem}
.card .link-arrow{margin-top:16px}

/* ---------- timeline (program how / process) ---------- */
.tl{list-style:none;margin:0;padding:0;counter-reset:tl;display:grid;gap:0}
.tl>li{counter-increment:tl;position:relative;padding:0 0 34px 68px}
.tl>li::before{content:counter(tl);position:absolute;left:0;top:-4px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--sun-2);font-family:var(--fd);font-size:1.25rem;font-weight:600}
.tl>li::after{content:"";position:absolute;left:22px;top:46px;bottom:4px;width:2px;background:repeating-linear-gradient(180deg,var(--line-2) 0 6px,transparent 6px 12px)}
.tl>li:last-child{padding-bottom:0}.tl>li:last-child::after{display:none}
.tl h3{font-size:1.32rem;margin-bottom:6px}.tl p{margin:0;color:var(--ink-3)}
.youwe{display:grid;gap:12px;margin-top:16px}
@media(min-width:700px){.youwe{grid-template-columns:1fr 1fr}}
.youwe div{padding:16px 18px;border-radius:var(--r-s);background:#fffdf8;border:1px solid var(--line)}
.youwe b{display:block;font:700 .72rem var(--fb);letter-spacing:.13em;text-transform:uppercase;color:var(--ember-ink);margin-bottom:8px}
.youwe ul{margin:0;padding-left:18px;font-size:.96rem;color:var(--ink-3)}.youwe li+li{margin-top:4px}

/* ---------- faq ---------- */
.faqs{border-top:1px solid var(--line-2);max-width:860px}
.faq{border-bottom:1px solid var(--line-2)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 2px;font-family:var(--fd);font-weight:560;font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line-2);background:center/14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1a17' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");transition:transform .25s,background-color .2s}
.faq[open] summary::after{transform:rotate(45deg);background-color:var(--sun)}
.faq p{margin:0;padding:0 46px 22px 2px;color:var(--ink-3);max-width:70ch}
.sec-ink .faq,.sec-ink .faqs{border-color:rgba(255,255,255,.16)}

/* ---------- team ---------- */
.team{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.person{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 20px 22px;border-radius:var(--r);background:#fffdf8;border:1px solid var(--line)}
.avatar{width:118px;height:118px;border-radius:50%;object-fit:cover;object-position:center 22%;box-shadow:0 0 0 4px var(--sun),0 0 0 9px var(--ink),0 0 0 11px var(--sun-2);margin:11px 0 20px;background:var(--sand-2)}
.avatar.mono{display:grid;place-items:center;font-family:var(--fd);font-size:2.6rem;font-weight:560;color:var(--ink)}
.person h3{font-size:1.24rem}.person .role{margin:4px 0 0;font-size:.86rem;color:var(--muted);font-weight:600}
.person .bio{margin:12px 0 0;font-size:.93rem;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.person .contact{margin:14px 0 0;display:grid;gap:2px;font-size:.93rem;font-weight:650}
.person .contact a{text-decoration:none}.person .contact a:hover{text-decoration:underline}
.person .cta-row{margin-top:auto;padding-top:18px;justify-content:center;gap:8px}
.team-mini{display:flex;flex-wrap:wrap;gap:22px 26px;justify-content:center;margin:0;padding:0;list-style:none}
.team-mini li{width:132px;text-align:center}.team-mini .avatar{width:96px;height:96px;margin:9px auto 14px}
.team-mini b{display:block;font-family:var(--fd);font-weight:560;font-size:1.02rem;line-height:1.2}.team-mini span{font-size:.78rem;color:var(--muted)}
.team-mini a{text-decoration:none}

/* ---------- prose (legal, about) ---------- */
.prose{max-width:760px}
.prose h1{font-size:clamp(2.1rem,4.4vw,3.2rem);margin-bottom:22px}.prose h2{font-size:1.55rem;margin:38px 0 12px}.prose h3{margin:26px 0 8px}
.prose ul,.prose ol{padding-left:22px;margin:0 0 1em}.prose li+li{margin-top:6px}
.prose a{font-weight:600}
.note{padding:16px 18px;border-radius:var(--r-s);background:var(--sand);border:1px solid var(--line);font-size:.9rem;color:var(--ink-3);line-height:1.5}
.note b{color:var(--ink)}
.disclosure{margin-top:28px;font-size:.86rem;color:var(--muted);line-height:1.55;max-width:900px}

/* ---------- glossary + topic nav ---------- */
.toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0;list-style:none}
.toc a{display:inline-flex;min-height:40px;align-items:center;padding:0 15px;border-radius:999px;border:1.5px solid var(--line-2);text-decoration:none;font-weight:650;font-size:.92rem;background:var(--paper)}
.toc a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.topic{padding:clamp(34px,5vw,56px) 0;border-top:1px solid var(--line-2)}
.topic-head{max-width:700px;margin-bottom:24px}.topic-head p{color:var(--ink-3);margin:12px 0 0}
.gloss{margin:0;display:grid;gap:0 44px}
@media(min-width:860px){.gloss{grid-template-columns:1fr 1fr}}
.gloss div{padding:16px 0;border-bottom:1px solid var(--line)}
.gloss dt{font-family:var(--fd);font-weight:600;font-size:1.12rem}.gloss dd{margin:4px 0 0;color:var(--ink-3);font-size:.97rem}

/* ---------- forms ---------- */
.field{display:grid;gap:7px;font-weight:650;font-size:.95rem}
.field .opt,.opt{font-weight:500;color:var(--muted);font-size:.86rem}
.field small{font-weight:500;color:var(--muted);font-size:.84rem;line-height:1.4}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{width:100%;min-height:54px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--line-2);background:#fff;color:var(--ink);font:500 1rem var(--fb);transition:border-color .15s,box-shadow .15s;appearance:none;-webkit-appearance:none}
textarea{min-height:120px;resize:vertical;line-height:1.5}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1a17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
input:hover,select:hover,textarea:hover{border-color:var(--khaki)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(245,185,58,.45)}
.fgrid{display:grid;gap:16px}@media(min-width:640px){.fgrid{grid-template-columns:1fr 1fr}.fgrid .full{grid-column:1/-1}}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:500;font-size:.92rem;line-height:1.45}
.check input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--ink)}
.consent{border:1.5px solid var(--line-2);border-radius:14px;padding:16px 18px;margin:0;background:#fffdf8}
.consent legend{font-weight:700;padding:0 8px;font-size:.92rem}
.consent .fineprint{margin:10px 0 0;font-size:.82rem;color:var(--muted);line-height:1.5}
.alert{padding:14px 18px;border-radius:14px;margin:0 0 18px;font-weight:600;font-size:.96rem;line-height:1.45}
.alert-err{background:var(--err-bg);border:1.5px solid #f0c1b8;color:var(--err)}
.alert-ok{background:var(--palm-2);border:1.5px solid #b9d8ca;color:var(--palm)}
.alert-warn{background:var(--sun-3);border:1.5px solid #ecd58f;color:#5e4409;font-weight:500}

/* ---------- application wizard ---------- */
.apply{background:var(--sand);min-height:70vh;padding:clamp(22px,4vw,54px) 0 clamp(48px,7vw,90px)}
.apply-grid{display:grid;gap:22px;align-items:start}
@media(min-width:980px){.apply-grid{grid-template-columns:330px minmax(0,1fr);gap:34px}}
.apply-side{position:relative;border-radius:var(--r);overflow:hidden;background:var(--night);color:var(--paper);padding:26px 24px 24px;isolation:isolate}
.apply-side::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 70% at 50% 112%,#f5a23a 0%,#d8572a 20%,#6a2e1e 44%,#44302a 70%,var(--night) 100%)}
.apply-side h1{font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.05}.apply-side h1 em{color:var(--sun-2)}
.apply-side p{color:#e9dfca;font-size:.96rem;margin:12px 0 0}
.with-lo{display:flex;gap:12px;align-items:center;margin-top:18px;padding:12px;border-radius:14px;background:rgba(255,255,255,.1)}
.with-lo img,.with-lo .avatar{width:52px;height:52px;margin:0;box-shadow:0 0 0 2px var(--sun)}
.with-lo .avatar.mono{font-size:1.3rem}
.with-lo b{display:block;line-height:1.2}.with-lo span{font-size:.8rem;color:#d9cfb9}
.sunrise{margin:20px 0 2px}
.sunrise svg{display:block;width:100%;height:auto}
.sunrise .ball{transform:translateY(calc(30px - var(--p,0)*30px));transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.sunrise .rays{opacity:calc(.15 + var(--p,0)*.85);transition:opacity .8s ease;stroke:var(--sun-2);stroke-width:2.4;stroke-linecap:round}
.sunrise .disc{fill:var(--sun-2)}
.sunrise .ground{stroke:rgba(255,255,255,.5);stroke-width:1.5;stroke-linecap:round}
.wiz-steps{list-style:none;margin:8px 0 0;padding:0;display:none;gap:4px;counter-reset:w}
.wiz-steps li{counter-increment:w;display:flex;gap:12px;align-items:center;padding:8px 0;color:#cfc5ae;font-weight:600;font-size:.95rem}
.wiz-steps li::before{content:counter(w);flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.3);font-size:.82rem}
.wiz-steps li.on{color:#fff}.wiz-steps li.on::before{background:var(--sun-2);border-color:var(--sun-2);color:var(--ink)}
.wiz-steps li.done::before{content:"\2713";background:rgba(255,255,255,.16);border-color:transparent;color:var(--sun-2)}
@media(min-width:980px){.wiz-steps{display:grid}.apply-side{position:sticky;top:96px}}
.side-fine{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.18);font-size:.82rem;color:#d9cfb9;display:grid;gap:8px}
.side-fine span{display:flex;gap:8px;align-items:flex-start}.side-fine svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--sun-2)}
.wiz{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-s);padding:clamp(22px,3.6vw,42px)}
.wiz fieldset.step{border:0;margin:0 0 34px;padding:0;min-width:0}
.wiz .step>legend{padding:0;margin:0 0 6px;font-family:var(--fd);font-weight:560;font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.12;letter-spacing:-.015em}
.wiz .step-sub{color:var(--ink-3);margin:0 0 22px}
.wiz .q{margin:0 0 24px;border:0;padding:0;min-width:0}
.wiz .q>legend,.wiz .q>.qlabel{display:block;padding:0;margin:0 0 10px;font-weight:700;font-size:1rem}
.choices{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr))}
.choices.big{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.choice{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--line-2);background:#fff;font-weight:650;font-size:.97rem;line-height:1.25;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s}
.choice:hover{border-color:var(--ink)}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice:has(input:checked){border-color:var(--ink);background:var(--sun-3);box-shadow:inset 0 0 0 1.5px var(--ink)}
.choice:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:3px}
.choice::after{content:"";margin-left:auto;flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-2);background:#fff center/12px no-repeat}
.choice:has(input:checked)::after{border-color:var(--ink);background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffd56a' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.choice.big{min-height:84px;align-items:flex-start;flex-direction:column;gap:4px;padding:16px 46px 16px 18px}
.choice.big::after{position:absolute;right:14px;top:16px}
.choice.big b{font-family:var(--fd);font-size:1.16rem;font-weight:580}.choice.big small{font-weight:500;color:var(--ink-3);font-size:.86rem;line-height:1.35}
.wiz-nav{display:none;justify-content:space-between;gap:12px;margin-top:8px;padding-top:22px;border-top:1px solid var(--line)}
.wiz-count{display:none;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ember-ink);margin:0 0 10px}
.js .wiz fieldset.step{display:none;margin-bottom:0}
.js .wiz fieldset.step.on{display:block;animation:rise .35s cubic-bezier(.2,.8,.2,1) both}
.js .wiz-nav{display:flex}.js .wiz-count{display:block}.js .wiz .nojs-submit{display:none}
/* 2026-11-10: on phones the Back + "Send my information" row was wider than the screen (last step); stack the buttons */
@media(max-width:520px){.wiz-nav{flex-direction:column-reverse}.wiz-nav>span{display:flex}.wiz-nav .btn{width:100%}}
@media(max-width:359px){.hdr-cta .tel{display:none}}
/* long button labels may wrap on phones instead of pushing the page wider than the screen (home page at 360 px, program pages at 320 px) */
@media(max-width:480px){.btn{white-space:normal;text-align:center;line-height:1.2;padding-block:12px}}
.js .wiz [data-show].off{display:none}
.wiz-err{color:var(--err);font-weight:650;font-size:.92rem;margin:10px 0 0;min-height:1.2em}
.apply-legal{margin-top:20px;font-size:.8rem;color:var(--muted);line-height:1.55}
.next{display:grid;gap:14px;counter-reset:n;list-style:none;margin:22px 0 0;padding:0}
.next li{counter-increment:n;position:relative;padding:4px 0 4px 54px}
.next li::before{content:counter(n);position:absolute;left:0;top:2px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--sun-2);font-family:var(--fd);font-weight:600}
.next b{display:block}.next span{color:var(--ink-3);font-size:.96rem}

@media(max-width:979px){.apply-side{padding:18px 20px 12px}.apply-side h1{font-size:1.7rem}.apply-side>p,.apply-side .side-fine,.apply-side .with-lo span{display:none}.apply-side .with-lo{margin-top:12px;padding:8px 10px}.apply-side .with-lo .avatar{width:38px;height:38px}.sunrise{margin:6px 0 0}.sunrise svg{max-height:62px}}
@media(max-width:520px){.choices:not(.big){grid-template-columns:1fr 1fr}.choice:not(.big){padding:12px 12px;min-height:54px;font-size:.93rem}.choice:not(.big)::after{display:none}}

/* ---------- calculator ---------- */
.calc{display:grid;gap:22px;align-items:start}
@media(min-width:940px){.calc{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}}
.calc-out{position:sticky;top:96px;border-radius:var(--r);background:var(--ink);color:var(--paper);padding:clamp(24px,3.4vw,36px);isolation:isolate;overflow:hidden}
.calc-out::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(110% 60% at 50% 118%,#f5a23a 0%,#d8572a 18%,#5d281b 42%,#1c1a17 72%)}
.calc-out .big{font-family:var(--fd);font-weight:560;font-size:clamp(2.6rem,6vw,3.8rem);line-height:1;margin:6px 0 4px;letter-spacing:-.02em}
.calc-out .lbl{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sun-2)}
.bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.14);margin:20px 0 16px}
.bar i{display:block;height:100%;transition:width .4s ease}
.bar .b1{background:var(--sun-2)}.bar .b2{background:#f08a3c}.bar .b3{background:#c9bd9d}.bar .b4{background:#8fb3a6}.bar .b5{background:#e9dfca}
.rows{display:grid;gap:9px;margin:0}
.rows div{display:flex;justify-content:space-between;gap:12px;font-size:.96rem}
.rows dt{display:flex;align-items:center;gap:9px;color:#e9dfca}.rows dt i{width:10px;height:10px;border-radius:50%}
.rows dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.tabs{display:inline-flex;padding:5px;border-radius:999px;background:var(--sand-2);gap:4px;margin-bottom:24px}
.tabs button{min-height:44px;padding:0 18px;border-radius:999px;border:0;background:none;font:700 .95rem var(--fb);color:var(--ink-3);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.inp-money{position:relative}.inp-money input{padding-left:32px}.inp-money::before{content:"$";position:absolute;left:15px;top:50%;transform:translateY(-50%);font-weight:700;color:var(--muted)}
.inp-pct{position:relative}.inp-pct input{padding-right:36px}.inp-pct::after{content:"%";position:absolute;right:15px;top:50%;transform:translateY(-50%);font-weight:700;color:var(--muted)}

/* ---------- cta + footer ---------- */
.cta{position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:var(--paper);text-align:center;padding:clamp(70px,10vw,130px) 0}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 90% at 50% 125%,#ffd56a 0%,#f5a23a 10%,#d8572a 24%,#763220 42%,#47322b 66%,var(--night) 96%)}
.cta h2{font-size:clamp(2.2rem,5.4vw,4.2rem);font-weight:520}.cta h2 em{color:var(--sun-2)}
.cta p{color:#efe7d6;max-width:52ch;margin:18px auto 0}
.cta .cta-row{justify-content:center}
.ftr{background:#151310;color:#cfc5ae;font-size:.93rem;padding:clamp(48px,7vw,84px) 0 28px}
.ftr a{color:#f3ead6;text-decoration:none}.ftr a:hover{text-decoration:underline;text-decoration-color:var(--sun)}
.ftr-grid{display:grid;gap:34px}
@media(min-width:860px){.ftr-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}}
.ftr-brand .brand-t b{color:#fff}.ftr-brand .brand-t i{color:#b9b09c}
.ftr-brand p{margin:16px 0 0;max-width:34ch;line-height:1.6}
.ftr h3{font:700 .72rem var(--fb);letter-spacing:.15em;text-transform:uppercase;color:var(--sun-2);margin-bottom:12px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ftr-legal{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:18px;font-size:.8rem;line-height:1.6;color:#a79e8a}
.ftr-legal p{margin:0;max-width:none}
.eho{display:flex;gap:14px;align-items:center;color:#f3ead6;font-weight:650}
.eho svg{width:46px;height:46px;flex:none}
.ftr-bottom{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(253,250,243,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .3s ease}
.mbar.show{transform:none}.mbar .btn{flex:1;min-height:48px;padding:0 12px}
@media(min-width:1060px){.mbar{display:none}}
@media(max-width:1059px){body.has-mbar{padding-bottom:76px}}

/* ---------- motion ---------- */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.hero .eyebrow,.hero .crumbs,.hero h1,.hero .tagline,.hero .lead,.hero .cta-row,.hero .fine,.hero-art{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}
.hero h1{animation-delay:.08s}.hero .tagline{animation-delay:.14s}.hero .lead{animation-delay:.2s}.hero .cta-row{animation-delay:.3s}.hero .fine{animation-delay:.38s}.hero-art{animation-delay:.22s;animation-duration:1.1s}
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.js .rv{opacity:1;transform:none}}
@media print{.hdr,.topbar,.mbar,.ftr,.cta,.sheet{display:none!important}body{background:#fff}.hero{background:#fff;color:#000}.hero-sky{display:none}}
/* loan officer sign-in (sunvestmg.com/login): an arch-shaped card on the sunrise background */
.signin{padding:clamp(44px,7vw,92px) 0 clamp(60px,9vw,120px);min-height:calc(100vh - 230px);display:grid;align-items:center}
.signin-card{width:min(100%,440px);margin:0 auto;background:var(--paper);color:var(--ink);border-radius:999px 999px 26px 26px;padding:clamp(46px,9vw,62px) clamp(26px,6vw,44px) clamp(26px,5vw,36px);text-align:center;box-shadow:0 0 0 6px rgba(255,213,106,.9),0 0 0 14px rgba(28,26,23,.5),0 0 0 16px rgba(255,213,106,.4),0 50px 90px -40px rgba(0,0,0,.7)}
.signin-seal{display:block;width:84px;height:84px;margin:0 auto 18px;border-radius:50%;box-shadow:0 0 0 4px var(--paper),0 0 0 6px var(--sun)}
.signin-card .eyebrow{color:var(--ember-ink);margin-bottom:10px}
.signin-card h1{font-size:clamp(2.1rem,6vw,2.8rem);line-height:1.04;color:var(--ink)}.signin-card h1 em{color:var(--ember-ink)}
.signin-sub{color:var(--ink-3);margin:12px auto 0;max-width:30ch}
.signin-card .alert{text-align:left;margin:20px 0 0}
.signin-btn{width:100%;margin:24px 0 0}
.signin-g{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#fff}
.signin-note{font-size:.88rem;color:var(--muted);margin:12px 0 0}
.signin-back{margin:20px 0 0;font-size:.92rem}
.signin-card :focus-visible{outline-color:var(--ink)}
.topbar a{white-space:nowrap}
