:root{--paper:#fbf6ea;--paper-2:#f3ead4;--ink:#1d1a16;--muted:#5c554a;--yolk:#f6c326;--yolk-deep:#e8921c;--line:#1d1a16;--radius:22px;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px;box-shadow:0 0 0 6px var(--yolk)}
.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--ink);color:var(--paper);padding:.7rem 1rem;border-radius:10px;z-index:20;text-decoration:none}
.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem clamp(1rem,4vw,3rem);background:rgba(251,246,234,.92);backdrop-filter:blur(8px);border-bottom:2px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--serif);font-weight:700;font-size:1.2rem;text-decoration:none}
.brand-dot{width:1.1rem;height:1.1rem;border-radius:50%;background:var(--yolk);border:2px solid var(--ink)}
.nav{display:flex;gap:.3rem;flex-wrap:wrap}
.nav a{padding:.4rem .9rem;border-radius:999px;text-decoration:none;font-weight:600;font-size:.97rem}
.nav a:hover{background:var(--yolk)}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,5vw,4rem);align-items:center;max-width:1200px;margin:0 auto;padding:clamp(2.5rem,7vw,6rem) clamp(1rem,4vw,3rem)}
.eyebrow{margin:0 0 1rem;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;font-weight:700;color:var(--muted)}
h1,h2,h3{font-family:var(--serif);line-height:1.08;margin:0}
h1{font-size:clamp(3rem,9vw,6.5rem);letter-spacing:-.03em}
.badge{display:inline-block;margin:1.2rem 0 0;padding:.45rem 1.1rem;background:var(--yolk);border:2px solid var(--ink);border-radius:999px;font-weight:800;box-shadow:4px 4px 0 var(--ink);transform:rotate(-2deg)}
.headline{font-family:var(--serif);font-size:clamp(1.4rem,3vw,2rem);line-height:1.25;margin:1.8rem 0 1rem;font-weight:600}
.intro{max-width:36rem;color:var(--muted)}
.intro p{margin:0 0 1rem}
.intro strong{color:var(--ink)}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.btn{display:inline-block;padding:.85rem 1.5rem;border:2px solid var(--ink);border-radius:999px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-ghost{background:transparent}
.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--yolk-deep)}
.hero-art{position:relative;aspect-ratio:1;max-width:460px;width:100%;justify-self:center}
.hero-art svg{width:100%;height:100%;overflow:visible}
.orbit{position:absolute;border:3px solid var(--ink);border-radius:50%;background:var(--yolk-deep)}
.orbit-a{width:34px;height:34px;top:6%;right:8%;animation:float 6s ease-in-out infinite}
.orbit-b{width:20px;height:20px;bottom:10%;left:4%;background:var(--yolk);animation:float 7s ease-in-out infinite reverse}
@keyframes float{50%{transform:translateY(-14px)}}
.section{max-width:1200px;margin:0 auto;padding:clamp(3rem,7vw,5.5rem) clamp(1rem,4vw,3rem)}
.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:end;margin-bottom:2.5rem}
.section-head p{margin:0;color:var(--muted)}
h2{font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.02em}
.areas{list-style:none;counter-reset:area;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem}
.area-card{counter-increment:area;position:relative;background:#fff;border:2px solid var(--ink);border-radius:var(--radius);padding:1.6rem 1.5rem 1.7rem;box-shadow:6px 6px 0 var(--ink);transition:transform .15s}
.area-card:hover{transform:translateY(-4px)}
.area-card::before{content:counter(area,decimal-leading-zero);display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;margin-bottom:1rem;border-radius:50%;background:var(--yolk);border:2px solid var(--ink);font-weight:800}
.area-card:nth-child(even){background:var(--paper-2)}
.area-card h3{font-size:1.5rem;margin-bottom:.6rem}
.area-card p{margin:0;color:var(--muted)}
.approach{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:start;border-top:2px solid var(--ink)}
.prose p{margin:0 0 1rem}
.prose ul{margin:0;padding:0;list-style:none;display:grid;gap:.9rem}
.prose li{padding:1rem 1.2rem;background:#fff;border-left:8px solid var(--yolk);border-radius:12px;border:2px solid var(--ink);border-left-width:8px}
.contact-card{background:var(--yolk);border:2px solid var(--ink);border-radius:32px;padding:clamp(1.6rem,5vw,3.5rem);box-shadow:8px 8px 0 var(--ink)}
.contact-card p{max-width:38rem;margin:1rem 0 0}
.contact-list{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;gap:.7rem}
.contact-list li{display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap;font-size:1.2rem}
.contact-list span{min-width:5.5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.contact-list a{font-weight:700;overflow-wrap:anywhere}
.contact-empty{padding:1rem 1.2rem;background:var(--paper);border:2px dashed var(--ink);border-radius:14px;font-weight:600}
.site-footer{padding:2rem clamp(1rem,4vw,3rem);border-top:2px solid var(--ink);text-align:center;color:var(--muted);font-size:.95rem}
.site-footer p{margin:0}
.fallback{max-width:40rem;margin:4rem auto;padding:1rem}
@media (max-width:820px){.hero,.approach,.section-head{grid-template-columns:1fr}.hero-art{max-width:300px;order:-1}.site-header{position:static}.nav a{padding:.4rem .7rem}html{scroll-padding-top:1rem}}
@media (max-width:480px){body{font-size:1rem}.btn{width:100%;text-align:center}.area-card{box-shadow:4px 4px 0 var(--ink)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
