*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:16px/1.55 var(--body);background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}
.top{position:fixed;inset:0 0 auto;z-index:5;display:flex;align-items:center;gap:20px;padding:12px 20px;backdrop-filter:blur(10px);background:var(--bar)}
.top nav{display:flex;gap:18px;margin-left:auto;font-size:14px}.logo{font-weight:800;letter-spacing:.02em}.logo b{font-weight:400;margin-left:6px;opacity:.7}
.btn{display:inline-block;padding:13px 22px;border-radius:var(--r);background:var(--acc);color:var(--onacc);font-weight:700;min-height:44px}
.btn.sm{padding:9px 16px;min-height:0;font-size:14px}.btn.ghost{background:transparent;color:inherit;border:1.5px solid currentColor}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;isolation:isolate}
.poster,.stage{position:absolute;inset:0;z-index:-1}.stage{opacity:0;transition:opacity .9s}.stage.on{opacity:1}.stage canvas{width:100%;height:100%;display:block}
.hero-in{position:relative;max-width:min(680px,92vw);padding:120px 24px 64px 6vw}
.eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:700;margin-bottom:14px}
h1{font:var(--h1w) clamp(2.3rem,7vw,4.6rem)/1.04 var(--head);letter-spacing:-.02em;margin-bottom:18px}
.lead{font-size:clamp(1.05rem,2.2vw,1.25rem);opacity:.85;max-width:52ch;margin-bottom:26px}.btns{display:flex;gap:12px;flex-wrap:wrap}
.sec{padding:clamp(56px,9vw,110px) 6vw}h2{font:var(--h2w) clamp(1.5rem,3.6vw,2.4rem)/1.15 var(--head);max-width:26ch;margin-bottom:36px}
.svc{display:grid;gap:16px}.svc h3,.real h3,.steps h3{font:700 1.15rem/1.25 var(--head);margin:6px 0}.svc p,.real p,.steps p{opacity:.8;font-size:.97rem}
.num{font-weight:800;color:var(--acc)}.reals{display:grid;gap:16px}.real{display:block;padding:24px;border-radius:var(--r);border:1px solid var(--line)}
.real small{color:var(--acc);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.real span{display:inline-block;margin-top:12px;font-weight:700;color:var(--acc)}
.steps{display:grid;gap:16px}.steps li{padding:22px;border-radius:var(--r);border:1px solid var(--line)}.steps b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--acc);color:var(--onacc)}
.band{background:var(--band);color:var(--onband)}.band p{max-width:62ch}.band .eyebrow{color:inherit;opacity:.8}.final{text-align:center}.final h2{margin-inline:auto}.final p{margin-bottom:22px}
footer{display:flex;gap:20px;flex-wrap:wrap;padding:26px 6vw;font-size:14px;border-top:1px solid var(--line);opacity:.85}
@media(min-width:760px){.svc{grid-template-columns:repeat(2,1fr)}.reals{grid-template-columns:1fr 1fr}.steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.top nav{display:none}.top{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.stage{transition:none}}
:root{--bg:#f5f0e8;--ink:#1c1917;--bar:rgba(245,240,232,.85);--acc:#ea580c;--onacc:#fff;--r:4px;--line:#1c1917;--band:#1c1917;--onband:#f5f0e8;--body:"Iowan Old Style",Georgia,serif;--head:"Iowan Old Style",Georgia,serif;--h1w:700;--h2w:700}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.hero-in{align-self:center}
.poster{left:50%;background:repeating-linear-gradient(0deg,#ead9bf 0 28px,#f5f0e8 28px 30px),#f5f0e8}
.stage{left:50%;border-left:2px solid var(--ink)}
.poster::after{content:"";position:absolute;left:30%;top:38%;width:38%;height:30%;background:#ea580c;box-shadow:-40px 36px 0 #f59e0b,60px 50px 0 #1c1917}
h1{font-style:italic}.svc{counter-reset:s;gap:0;border-top:2px solid var(--ink)}
.svc li{display:grid;grid-template-columns:70px 1fr;column-gap:16px;padding:22px 0;border-bottom:2px solid var(--ink)}
.svc .num{grid-row:span 2;font:700 2.6rem/1 var(--head)}.svc p{grid-column:2}
.real,.steps li{border:2px solid var(--ink);background:#fff;box-shadow:6px 6px 0 var(--ink)}
@media(min-width:760px){.svc{grid-template-columns:1fr}}
@media(max-width:760px){.hero{grid-template-columns:1fr;grid-template-rows:auto 42svh;min-height:0}.hero-in{padding-top:96px}.poster,.stage{position:relative;left:0;grid-row:2;grid-column:1;border-left:0;border-top:2px solid var(--ink);width:100%;height:42svh}.poster::after{left:20%;top:30%}.poster,.stage{height:42svh;width:100%}}
