/* Fonts are served from this site, never a third party. Latin subset, OFL licensed (fonts/OFL-*.txt). */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/fraunces.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/inter.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jetbrains-mono-500.woff2) format("woff2")}

/* Layout: one long page in bush-green bands and wattle-paper bands, alternating; content column max 1120px. */
:root{
  --ink:#14261D;        /* bush green: dark bands, text on paper */
  --ink2:#1d3629;
  --gold:#E8B21C;       /* wattle gold: the one accent */
  --gold-text:#8a6608;  /* gold dark enough for small text on paper */
  --paper:#FBF8F0;      /* page ground */
  --card:#ffffff;
  --line:#e4dcc6;
  --fg:#14261D;
  --muted:#56665d;
  --on-ink:#ece7d6;
  --on-ink-muted:#b9b4a2;
  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:14px;
  --ok:#2f7a4a;
  --bad:#b3261e;
  --warn-bg:#fdf3d4;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#0f1c15;--ok:#6fcf8f;--bad:#ff8a80;--warn-bg:#2a2410;--card:#15261d;--line:#2a3d32;--fg:#ece7d6;--muted:#a5ab9f;--gold-text:#f0c74a;
  --ink:#0a140f;--ink2:#132219;color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#0f1c15;--ok:#6fcf8f;--bad:#ff8a80;--warn-bg:#2a2410;--card:#15261d;--line:#2a3d32;--fg:#ece7d6;--muted:#a5ab9f;--gold-text:#f0c74a;
  --ink:#0a140f;--ink2:#132219;color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--fg);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:-.015em;text-wrap:balance;line-height:1.1}
h2{font-size:clamp(28px,4vw,40px);font-weight:600}
h3{font-size:19px;font-weight:600;line-height:1.25}
p{margin:0}
a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.band{padding-block:88px}
.dark{background:var(--ink);color:var(--on-ink)}
.dark .muted{color:var(--on-ink-muted)}
.muted{color:var(--muted)}
.kicker{font:600 12px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text);margin-bottom:14px}
.dark .kicker{color:var(--gold)}
.lede{font-size:18px;max-width:62ch}
.head{display:grid;gap:14px;margin-bottom:44px;max-width:720px}
.code{font:500 .82em var(--mono);background:var(--ink);color:var(--gold);border-radius:4px;padding:1px 6px;white-space:nowrap}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font:600 15px var(--body);text-decoration:none;border-radius:999px;padding:13px 22px;border:1.5px solid transparent;cursor:pointer}
.btn-gold{background:var(--gold);color:#14261D}
.btn-gold:hover{background:#f2c43a}
.btn-ghost{border-color:currentColor;color:inherit}
.btn-ghost:hover{background:rgba(232,178,28,.12)}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--ink);color:var(--on-ink);border-bottom:1px solid rgba(232,178,28,.18)}
.nav .wrap{display:flex;align-items:center;gap:24px;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 20px var(--display);letter-spacing:.02em}
.brand svg{width:32px;height:32px}
.nav ul{display:flex;gap:22px;list-style:none;margin:0 0 0 auto;padding:0;font-size:14.5px}
.nav ul a{text-decoration:none;color:var(--on-ink-muted)}
.nav ul a:hover{color:var(--gold)}
.nav .btn{padding:9px 16px;font-size:14px}
@media (max-width:860px){.nav ul{display:none}.nav .btn{margin-left:auto}}

/* hero */
.hero{position:relative;overflow:hidden;padding-block:80px 72px}
.hero .dots{position:absolute;inset:0;opacity:.07;pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(44px,7vw,80px);font-weight:700;line-height:1}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero .lede{margin-top:24px;color:var(--on-ink-muted)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.zeros{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:48px}
.zero{border:1px solid rgba(232,178,28,.35);border-radius:var(--r);padding:16px 14px}
.zero b{display:block;font:700 40px/1 var(--display);color:var(--gold)}
.zero span{font-size:13px;color:var(--on-ink-muted)}
.shield{width:100%;max-width:420px;justify-self:center}
.shield .ring{transform-origin:100px 100px;animation:breathe 4s ease-in-out infinite}
.shield .ring:nth-child(2){animation-delay:.6s}.shield .ring:nth-child(3){animation-delay:1.2s}
@keyframes breathe{50%{transform:scale(1.04);opacity:.5}}
.origin{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:28px;font-size:13.5px;color:var(--on-ink-muted)}
.origin span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:8px;vertical-align:2px}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.shield{max-width:260px;order:-1}.zeros{grid-template-columns:repeat(2,1fr)}}

/* walls */
.walls{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:56px;align-items:center}
.walls svg{width:100%;max-width:380px}
.walls ol{list-style:none;margin:0;padding:0;counter-reset:w;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.walls li{counter-increment:w;display:grid;grid-template-columns:34px 1fr;gap:4px 12px;padding:14px 0;border-bottom:1px dashed var(--line)}
.walls li::before{content:counter(w);grid-row:span 2;width:28px;height:28px;border-radius:50%;background:var(--gold);color:#14261D;font:700 13px/28px var(--body);text-align:center}
.walls li b{font-weight:600}
.walls li span{font-size:14px;color:var(--muted)}
@media (max-width:860px){.walls{grid-template-columns:1fr}.walls svg{max-width:260px;margin:0 auto}.walls ol{grid-template-columns:1fr}}

/* features */
.feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.feat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:10px;align-content:start}
.feat .ic{width:40px;height:40px;border-radius:10px;background:#14261D;display:grid;place-items:center}
.feat .ic svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.feat p{font-size:15px;color:var(--muted)}
@media (max-width:900px){.feats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.feats{grid-template-columns:1fr}}

/* triggers */
.trigs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.trig{border-top:3px solid var(--gold);padding-top:18px;display:grid;gap:8px}
.trig .t{font:600 12px var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.trig p{color:var(--on-ink-muted);font-size:15px}
.promise{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;border-top:1px solid rgba(232,178,28,.2);padding-top:48px}
.promise ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.promise li{display:flex;gap:12px;font-size:15.5px}
.promise li svg{flex:none;width:20px;height:20px;margin-top:3px;stroke:var(--gold);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:860px){.trigs,.promise{grid-template-columns:1fr}}

/* packages */
.pkgs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.pkg{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:16px}
.pkg.feature{border:2px solid var(--gold);position:relative}
.pkg .tagline{position:absolute;top:-13px;left:24px;background:var(--gold);color:#14261D;font:600 12px var(--body);letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.pkg .price{font:600 26px var(--display)}
.pkg .price small{display:block;font:400 13px var(--body);color:var(--muted);margin-top:4px}
.pkg ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:15px}
.pkg li{display:flex;gap:10px}
.pkg li svg{flex:none;width:18px;height:18px;margin-top:3px;stroke:var(--gold-text);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.pkg .btn{margin-top:auto;justify-content:center}
.pkg .btn-ghost{color:var(--fg)}
.fine{margin-top:20px;font-size:14px;color:var(--muted);max-width:80ch}
@media (max-width:900px){.pkgs{grid-template-columns:1fr}}

/* process */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;counter-reset:s}
.steps li{counter-increment:s;display:grid;gap:8px;align-content:start}
.steps li::before{content:"Step " counter(s);font:500 12px var(--mono);letter-spacing:.06em;color:var(--gold-text)}
.steps p{font-size:15px;color:var(--muted)}
.handover{margin-top:40px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--r);padding:20px 24px;max-width:820px}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* faq */
.faq{display:grid;gap:10px;max-width:820px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0 20px}
.faq summary{cursor:pointer;list-style:none;padding:18px 28px 18px 0;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:14px;font:400 24px var(--body);color:var(--gold-text)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding-bottom:18px;color:var(--muted);font-size:15.5px}
.dark .faq details{background:var(--ink2);border-color:rgba(232,178,28,.22)}
.dark .faq details p{color:var(--on-ink-muted)}
.dark .faq summary::after{color:var(--gold)}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.channels{display:grid;gap:12px}
.channel{border:1px solid rgba(232,178,28,.3);border-radius:var(--r);padding:16px 18px;display:grid;gap:4px}
.channel .t{font:600 12px var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.channel b{font:500 16px var(--mono);word-break:break-all}
.channel span{font-size:14px;color:var(--on-ink-muted)}
.channel b a{color:inherit;text-decoration:none}
.channel b a:hover{color:var(--gold)}
@media (max-width:860px){.contact{grid-template-columns:1fr}}

footer{background:var(--ink);color:var(--on-ink-muted);font-size:13.5px;border-top:1px solid rgba(232,178,28,.18)}
footer .wrap{padding-block:32px;display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center}
footer .brand{color:var(--on-ink);font-size:17px}
footer .brand svg{width:26px;height:26px}
footer p{max-width:70ch}
footer .legal{flex-basis:100%;max-width:none;font-size:10.5px;letter-spacing:.02em;opacity:.7;font-variant-numeric:tabular-nums;color:var(--on-ink-muted)}

/* replaces inline style attributes, which the content security policy blocks */
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.band.flush{padding-top:0}
.gap-top{margin-top:16px}
footer .legal .nw{white-space:nowrap}

/* how to order */
.order-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:18px;counter-reset:o}
.order-steps li{counter-increment:o;display:grid;grid-template-columns:34px 1fr;gap:2px 14px}
.order-steps li::before{content:counter(o);grid-row:span 2;width:30px;height:30px;border-radius:50%;background:var(--gold);color:#14261D;font:700 14px/30px var(--body);text-align:center}
.order-steps b{font-weight:600}
.order-steps span{color:var(--on-ink-muted);font-size:15.5px}
.small-note{margin-top:22px;font-size:14px}
footer .legal a{color:inherit}
footer .legal a:hover{color:var(--gold)}

/* text pages (privacy) */
.doc .wrap{max-width:760px}
.doc-h1{font-size:clamp(32px,5vw,46px);font-weight:700}
.doc section{display:grid;gap:12px;padding-block:22px;border-top:1px solid var(--line)}
.doc h2{font-size:24px}
.doc ul{margin:0;padding-left:20px;display:grid;gap:8px}
.doc a{color:var(--gold-text)}
.nav .nav-solo{margin-left:auto}

/* coming-soon page (served as index.html before launch) */
body.soon{display:flex;flex-direction:column;min-height:100vh;background:var(--ink)}
.soon-main{flex:1;position:relative;overflow:hidden;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;padding-block:72px}
.soon-dots{position:absolute;inset:0;opacity:.07;background-image:radial-gradient(var(--gold) 1px,transparent 1.2px);background-size:14px 14px;pointer-events:none}
.soon-wrap{position:relative;display:grid;justify-items:center;text-align:center;gap:18px;max-width:720px}
.soon-logo{width:88px;height:88px}
.soon-name{font:700 24px var(--display);letter-spacing:.04em}
.soon-h1{font-size:clamp(40px,7vw,68px);font-weight:700;line-height:1.03;margin-top:18px}
.soon-h1 em{font-style:normal;color:var(--gold)}
.soon-lede{font-size:18px;color:var(--on-ink-muted);max-width:44ch}
.soon-badge{margin-top:10px;border:1px solid rgba(232,178,28,.5);color:var(--gold);border-radius:999px;padding:8px 18px;font:600 12px var(--body);letter-spacing:.22em;text-transform:uppercase}
.soon-links{margin-top:18px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;font-size:15px}
.soon-links a{color:var(--on-ink-muted);text-decoration:none;border-bottom:1px solid rgba(232,178,28,.35)}
.soon-links a:hover{color:var(--gold)}
@media (prefers-reduced-motion:no-preference){.soon-logo{animation:soonIn .9s ease-out both}@keyframes soonIn{from{opacity:.4;transform:scale(.94)}}}
