:root{--bg:var(--parch);--bg2:var(--parch2);--text:var(--ink);--head:var(--navy);--accent:var(--brassink);--line:#dccfb3;--hdr:rgba(250,246,238,.92);--field:#fff;--field-line:#d8cbb0;--btn-bg:var(--navy);--btn-fg:var(--parch);--btn-hover:var(--teal);--deep:var(--navy);--ok:var(--teal);--err:#9b2c2c;color-scheme:light;--navy:#0F2438;--teal:#1E5A68;--sage:#4F8F7A;--brass:#C9973F;--sand:#E3C27F;--parch:#FAF6EE;--parch2:#F1E9D8;--brassink:#7A5C22;--ink:#2b3a49}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font:400 17px/1.65 Inter,system-ui,sans-serif;color:var(--text);background:var(--bg)}
h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;color:var(--head);line-height:1.15}
h1{font-weight:600;font-size:clamp(2.6rem,6vw,4.6rem);letter-spacing:-.01em}
h2{font-weight:600;font-size:clamp(1.9rem,3.6vw,2.8rem);margin-bottom:1rem}
h3{font-weight:600;font-size:1.4rem;margin-bottom:.5rem}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.eyebrow{font-weight:600;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;display:block}
.on-navy .eyebrow{color:var(--brass)}
header{position:sticky;top:0;z-index:10;background:var(--hdr);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none}
.logo img{width:40px;height:40px}
.logo b{font-weight:700;letter-spacing:.28em;color:var(--head);font-size:1.15rem}
nav{display:flex;align-items:center;gap:30px;font-weight:500;font-size:.95rem}
nav a{text-decoration:none;color:var(--text)}nav a:hover{color:var(--head)}
.btn{display:inline-block;background:var(--btn-bg);color:var(--btn-fg)!important;padding:12px 24px;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--btn-hover)}
.btn.ghost{background:none;color:var(--head)!important;box-shadow:inset 0 0 0 1.5px var(--head)}
.btn.ghost:hover{background:var(--head);color:var(--bg)!important}
.hero{padding:96px 0 110px;background:linear-gradient(180deg,var(--bg),var(--bg2))}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.hero p.lead{font-size:1.25rem;margin:1.6rem 0 2.2rem;max-width:34em}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.rosette{width:100%;max-width:420px;justify-self:center}.rosette svg{display:block;width:100%;animation:spin 90s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

section{padding:96px 0}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:3rem}
.three>div{border-top:2px solid var(--brass);padding-top:1.2rem}
.narrow{max-width:46em}
.navy{background:var(--deep);color:#cfd8e2}.navy h2,.navy h3{color:var(--parch)}
.five{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:3rem}
.leaf{background:rgba(250,246,238,.06);border:1px solid rgba(201,151,63,.35);border-radius:16px;padding:26px 20px}
.leaf svg{width:34px;height:34px;margin-bottom:14px}
.leaf h3{font-size:1.15rem}.leaf p{font-size:.93rem;line-height:1.55}
.steps{counter-reset:s;margin-top:3rem;display:grid;gap:0}
.step{position:relative;display:grid;grid-template-columns:70px 1fr;gap:20px;align-items:start;padding:28px 0}
.step:before{grid-column:1;counter-increment:s;content:"0" counter(s);font:600 1.8rem "Source Serif 4",serif;color:var(--brass)}
.sand{background:var(--bg2)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.split img{width:100%;max-width:360px;justify-self:center}
form{display:grid;gap:16px;margin-top:2rem}
label{font-weight:500;font-size:.9rem;color:var(--head);display:grid;gap:6px}
input,textarea{font:inherit;padding:13px 15px;border:1.5px solid var(--field-line);border-radius:10px;background:var(--field);color:var(--text)}
input:focus,textarea:focus{outline:2px solid var(--teal);border-color:var(--teal)}
footer{background:var(--deep);color:#b8c4d0;padding:64px 0 36px;font-size:.92rem}
footer .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:48px;align-items:center}
footer img.badge{width:150px}
footer .logo b{color:var(--parch)}
.fine{grid-column:1/-1;border-top:1px solid rgba(250,246,238,.15);padding-top:24px;font-size:.8rem;color:#8fa0b2}
@media(max-width:860px){.hero .wrap,.split,footer .wrap{grid-template-columns:1fr}.three{grid-template-columns:1fr}.five{grid-template-columns:1fr 1fr}nav a:not(.btn){display:none}.rosette{max-width:230px;order:-1}}
#form-status{font-size:.92rem;min-height:1.4em}#form-status.ok{color:var(--ok);font-weight:500}#form-status.err{color:var(--err);font-weight:500}
form{position:relative}.btn:disabled{opacity:.6;cursor:wait}

:root[data-theme=dark]{--bg:#0A1826;--bg2:#0D2032;--text:#C9D3DD;--head:#FAF6EE;--accent:#D9AE5C;--line:#24384c;--hdr:rgba(10,24,38,.9);--field:#10263A;--field-line:#2c4660;--btn-bg:#C9973F;--btn-fg:#0F2438;--btn-hover:#E3C27F;--deep:#0F2438;--ok:#7fc3ae;--err:#f19a9a;color-scheme:dark}
:root[data-theme=dark] .mark-light{display:none}:root[data-theme=dark] .mark-dark{display:inline}:root[data-theme=dark] .badge-wrap{box-shadow:0 0 0 1px rgba(201,151,63,.4)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0A1826;--bg2:#0D2032;--text:#C9D3DD;--head:#FAF6EE;--accent:#D9AE5C;--line:#24384c;--hdr:rgba(10,24,38,.9);--field:#10263A;--field-line:#2c4660;--btn-bg:#C9973F;--btn-fg:#0F2438;--btn-hover:#E3C27F;--deep:#0F2438;--ok:#7fc3ae;--err:#f19a9a;color-scheme:dark}:root:not([data-theme=light]) .mark-light{display:none}:root:not([data-theme=light]) .mark-dark{display:inline}:root:not([data-theme=light]) .badge-wrap{box-shadow:0 0 0 1px rgba(201,151,63,.4)}}
.mark-dark{display:none}.badge-wrap{background:var(--deep);border-radius:50%;padding:10px}
.theme-toggle{background:none;border:1.5px solid var(--line);color:var(--head);width:40px;height:40px;border-radius:50%;cursor:pointer;display:grid;place-items:center}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle svg{width:18px;height:18px}
:root[data-theme=dark] .rosette{background:#FAF6EE;border-radius:50%;padding:7%;box-shadow:0 0 0 1px rgba(201,151,63,.45)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .rosette{background:#FAF6EE;border-radius:50%;padding:7%;box-shadow:0 0 0 1px rgba(201,151,63,.45)}}

/* motion */
.rosette .lf{transform-box:view-box;transform-origin:50px 50px;transition:filter .3s,transform .3s}
.js .rosette .lf{animation:grow 1.1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.15s + var(--i)*.12s)}
@keyframes grow{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.rosette .lf:hover{transform:scale(1.12);filter:drop-shadow(0 0 3px rgba(201,151,63,.8))}
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease;transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.leaf{transition:transform .3s,border-color .3s,box-shadow .3s}
.leaf svg{transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .3s}
.leaf:hover{border-color:var(--brass);box-shadow:0 8px 28px rgba(0,0,0,.25)}
.leaf:hover svg{transform:rotate(-12deg) scale(1.3);filter:drop-shadow(0 0 6px rgba(227,194,127,.6))}
.step:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--brass);opacity:.55;transform:scaleX(0);transform-origin:left;transition:transform 1.2s ease}
.step.in:after,html:not(.js) .step:after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){html:not(.motion) .rosette svg{animation:none}html:not(.motion).js .rosette .lf{animation:none}html:not(.motion).js .rv{opacity:1;transform:none;transition:none}html:not(.motion) .step:after{transform:scaleX(1);transition:none}html:not(.motion) .leaf,html:not(.motion) .leaf svg{transition:none}}
/* small phones */
@media(max-width:560px){
.wrap{padding:0 20px}
header .wrap{height:64px;gap:10px}
.logo{gap:10px;min-width:0}.logo img{width:32px;height:32px}.logo b{font-size:1rem;letter-spacing:.2em}
nav{gap:10px;flex-shrink:0}
nav .btn{padding:10px 16px;font-size:.88rem;white-space:nowrap}
.theme-toggle{width:44px;height:44px;flex-shrink:0}
.hero{padding:40px 0 64px}
.hero p.lead{font-size:1.1rem}
.hero .cta .btn{flex:1 1 100%;text-align:center}
.five{grid-template-columns:1fr}
.step{grid-template-columns:48px 1fr;gap:14px}
footer .wrap{gap:28px;justify-items:start}
footer img.badge{width:120px}
.split{gap:36px}
}
body{overflow-x:clip}section[id],[id=top]{scroll-margin-top:72px}
