
:root{--ink:#14202b;--muted:#4d5966;--bg:#f6f4ef;--paper:#fff;--line:#ddd6cc;--accent:#9a4a24;--accent2:#14202b;--display:'Fraunces',Georgia,serif;--sans:'Outfit',sans-serif;--radius:0px}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.5;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,.flogo,.brand b{font-family:var(--display);font-weight:520;letter-spacing:-.02em}
h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:.98;margin:.2em 0}
h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:0 0 .6em}
.top{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{max-width:1180px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:18px}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none}
.mark{width:36px;height:36px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:700}
.brand b{display:block;font-size:1.15rem;line-height:1}
.brand small{display:block;font-family:var(--sans);letter-spacing:.14em;font-size:10px;color:var(--muted)}
.desk{display:flex;gap:16px;margin-left:auto}
.desk a{text-decoration:none;font-size:14px}
.desk a.is-on{border-bottom:2px solid var(--accent)}
.cta{background:var(--accent);color:#fff;text-decoration:none;padding:10px 14px;min-height:44px;display:inline-flex;align-items:center}
.burger{display:none;margin-left:auto;background:transparent;border:1px solid var(--ink);min-width:44px;min-height:44px}
.mob{display:none;flex-direction:column;padding:8px 20px 16px}
.mob.on{display:flex}
.mob a{padding:10px 0;text-decoration:none;border-bottom:1px solid var(--line)}
.hero,.band,.split2,.formwrap{max-width:1180px;margin:0 auto;padding:28px 20px}
.hero-split{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:end;padding-top:48px}
.kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.lead{font-size:1.1rem;max-width:46ch}
.grid3,.grid2,.blocks{display:grid;gap:16px}
.grid3{grid-template-columns:repeat(3,1fr)}
.grid2{grid-template-columns:1fr 1fr}
.card{background:var(--paper);padding:18px;border:1px solid var(--line)}
.card span{color:var(--accent);font-size:12px;letter-spacing:.12em}
.split2{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.steps{list-style:none;padding:0;margin:0}
.steps li{padding:12px 0;border-top:1px solid var(--line)}
.steps b{display:block}
.faqs details{border-top:1px solid var(--line);padding:10px 0}
.faqs summary{cursor:pointer;font-size:1.15rem;font-family:var(--display)}
.formwrap{background:var(--paper);border:1px solid var(--line);margin-bottom:40px}
.lead{display:grid;gap:12px;max-width:560px}
.lead input,.lead select{width:100%;background:#fff;color:#141414;border:1px solid #c8c2b8;padding:12px;font:inherit;font-size:16px}
.lead button{background:var(--accent);color:#fff;border:0;padding:12px 16px;font:inherit;cursor:pointer;min-height:48px}
.check{display:flex;gap:8px;align-items:flex-start;font-size:14px}
.err{color:#8d1d1d;font-size:13px;min-height:1em}
.pay{font-size:14px;color:var(--muted)}
footer{border-top:4px solid var(--accent);padding:36px 20px 28px;background:var(--paper)}
.foot{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:24px}
.foot ul{list-style:none;padding:0;margin:0;line-height:1.9}
.flab{letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.disc,.copy{max-width:1180px;margin:14px auto 0;font-size:14px;color:var(--muted)}
#cookieBanner{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#141414;color:#fff;padding:14px 16px}
#cookieBanner a{color:#fff}
.ckbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ckbtns button{min-height:40px;padding:8px 12px;cursor:pointer}
#ckAll{background:var(--accent);color:#fff;border:0}
#ckPart,#ckFun{background:transparent;color:#fff;border:1px solid #fff}
.prose{max-width:760px;margin:0 auto;padding:36px 20px 60px}
.prose h1{font-size:clamp(2rem,4vw,3.2rem)}
.bleed{width:100%;max-height:520px;object-fit:cover}
.round{border-radius:28px}
@media(max-width:860px){
  .desk{display:none}
  .burger{display:inline-flex;align-items:center;justify-content:center}
  .hero-split,.split2,.grid3,.grid2,.foot,.hero-blocks,.hero-spec{grid-template-columns:1fr}
  .hero-poster img,.bleed{max-height:320px;object-fit:cover;width:100%}
}
.d-atelier{--ink:#1c2430;--bg:#f3efe6;--paper:#fffdf8;--line:#e2d8c8;--accent:#9c4221;--display:'Fraunces',Georgia,serif;--sans:'Outfit',sans-serif}
.d-poster{--ink:#2a211c;--bg:#f6efe8;--paper:#fff;--line:#eadfd4;--accent:#9a3412;--display:'Libre Baskerville',Georgia,serif;--sans:'Karla',sans-serif}
.d-poster .top{background:#2a211c;color:#f6efe8;border:0}
.d-poster .brand small,.d-poster .desk a{color:#f6efe8}
.d-poster .mark{background:#e7c3b0;color:#2a211c;border-radius:50%}
.d-poster .cta{background:#e7c3b0;color:#2a211c;border-radius:999px}
.d-poster h1{text-align:center;font-size:clamp(2.6rem,7vw,5.2rem)}
.d-poster .hero-poster{text-align:center}
.d-poster .hero-poster .lead{margin:0 auto 16px}
.d-poster .hero-poster img{margin-top:22px;width:100%}
.d-poster .card{border:0;border-radius:18px;box-shadow:0 10px 30px rgba(42,33,28,.06)}
.d-poster .formwrap.dark{background:#2a211c;color:#f6efe8;border:0;border-radius:18px}
.d-poster .formwrap.dark .lead input,.d-poster .formwrap.dark .lead select{background:#fff;color:#141414}
.d-industrial{--ink:#111;--bg:#f2f2f0;--paper:#fff;--line:#111;--accent:#f5c400;--display:'Archivo Narrow',sans-serif;--sans:'Manrope',sans-serif}
.d-industrial .top{background:#111;color:#fff;border:0}
.d-industrial .brand small,.d-industrial .desk a{color:#fff}
.d-industrial .mark{background:var(--accent);color:#111}
.d-industrial .cta{background:var(--accent);color:#111;font-weight:700}
.d-industrial h1{text-transform:uppercase;letter-spacing:-.03em;font-weight:700}
.d-industrial .rows{display:grid}
.d-industrial .rows .card{display:grid;grid-template-columns:70px 1fr;gap:12px;border-left:0;border-right:0;border-radius:0;background:transparent}
.d-industrial .formwrap{border:2px solid #111}
.d-garden{--ink:#1c2b24;--bg:#f4f1e8;--paper:#fff;--line:#e4ddd0;--accent:#1e4d3a;--display:'Literata',Georgia,serif;--sans:'Figtree',sans-serif;--radius:22px}
.d-garden .mark{border-radius:50%;background:#1e4d3a}
.d-garden .cta{border-radius:999px;background:#1e4d3a}
.d-garden .hero-overlap{position:relative;padding-top:12px}
.d-garden .hero-overlap img{width:100%;border-radius:28px;max-height:560px;object-fit:cover}
.d-garden .cardcopy{background:#fff;border-radius:24px;padding:22px;margin:-70px 6% 0;position:relative;box-shadow:0 16px 40px rgba(30,50,40,.08)}
.d-garden .soft .card{border:0;border-radius:20px}
.d-garden .formwrap.green{background:#1e4d3a;color:#f4f1e8;border:0;border-radius:24px}
.d-garden .formwrap.green input,.d-garden .formwrap.green select{background:#fff;color:#142018}
.d-blocks{--ink:#0f172a;--bg:#f4f7fb;--paper:#fff;--line:#dbe3ef;--accent:#1e3a8a;--display:'Syne',sans-serif;--sans:'Sora',sans-serif}
.d-blocks .mark{background:#1e3a8a}
.d-blocks .cta{background:#f59e0b;color:#111;font-weight:700}
.d-blocks .hero-blocks{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;max-width:none}
.d-blocks .slab{background:#1e3a8a;color:#fff;padding:64px 8vw}
.d-blocks .slab .kicker{color:#f59e0b}
.d-blocks .hero-blocks img{width:100%;height:100%;object-fit:cover;min-height:320px}
.d-blocks .blocks{grid-template-columns:1.2fr .8fr .8fr}
.d-blocks .blocks .card:nth-child(1){background:#1e3a8a;color:#fff}
.d-blocks .blocks .card:nth-child(2){background:#f59e0b;color:#111}
.d-blocks .blocks .card span{color:inherit}
.d-spec{--ink:#1a1a1a;--bg:#fff;--paper:#fff;--line:#e5e5e5;--accent:#d0121a;--display:'IBM Plex Sans',sans-serif;--sans:'IBM Plex Sans',sans-serif}
.d-spec .top{border-top:4px solid #d0121a}
.d-spec .mark{background:#1a1a1a}
.d-spec .cta{background:#d0121a}
.d-spec .kicker{font-family:'IBM Plex Mono',monospace}
.d-spec h1{font-weight:600}
.d-spec .hero-spec{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.d-spec figure{margin:0;border:1px solid #1a1a1a;padding:8px}
.d-spec .spec{display:grid;gap:0}
.d-spec .spec .card{border-radius:0;border-left:4px solid #d0121a}
@media(max-width:860px){
  .d-blocks .hero-blocks,.d-spec .hero-spec,.d-industrial .rows .card{grid-template-columns:1fr}
  .d-garden .cardcopy{margin:-40px 12px 0}
}

/* --- accessibility: visible keyboard focus --- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.burger:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}

/* --- accessibility: legible text on dark form panels (was inheriting low-contrast default colors) --- */
.d-poster .formwrap.dark .pay{color:#d8c9bd}
.d-poster .formwrap.dark .err{color:#ffb4a8}
.d-garden .formwrap.green .pay{color:#cfe0d6}
.d-garden .formwrap.green .err{color:#ffb4a8}
