/* Waymarker: generated by "npm run pipeline -- site". Edit pipeline/src/site/styles.ts, not this file. */
:root{
  --bg:#F4F2EC;--surface:#FFFFFF;--alt:#E9E6DD;--text:#101418;--muted:#3D454D;--border:#C9C4B8;
  --header:#14452F;--primary:#14452F;--on-primary:#FFFFFF;--accent:#E8590C;--link:#14452F;
  --danger:#B3261E;--success:#1E7B3A;--focus:#E8590C;--radius:12px;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0F1512;--surface:#17201B;--alt:#202B25;--text:#ECF0EA;--muted:#B4BFB6;--border:#33433A;
    --header:#0B2A1D;--primary:#2A7D52;--on-primary:#FFFFFF;--link:#86D8AA;--danger:#FF9A92;--success:#7FD39A;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
img{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:.15em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
[hidden]{display:none!important}
h1,h2,h3{line-height:1.2;margin:1.6em 0 .5em}
h1{font-size:clamp(1.75rem,5vw,2.4rem);margin-top:.4em}
h2{font-size:1.45rem}
h3{font-size:1.15rem}
p,ul,ol,dl{margin:.7em 0}
li{margin:.25em 0}
.wrap{max-width:60rem;margin:0 auto;padding:0 16px}
.prose{max-width:44rem}
.small{font-size:.9rem;color:var(--muted)}
.muted{color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;z-index:20;background:var(--surface);color:var(--text);padding:.75rem 1rem;border-radius:8px}
.skip:focus{left:8px;top:8px}

.site-header{background:var(--header);color:#fff}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 1rem;min-height:56px}
.brand{color:#fff;font-weight:800;font-size:1.15rem;text-decoration:none;padding:.6rem 0}
.site-header nav{display:flex;flex-wrap:wrap;gap:.1rem;margin:0 -.8rem}
.site-header nav a{color:#fff;text-decoration:none;font-weight:600;padding:.75rem .8rem;border-radius:8px;min-height:48px;display:inline-flex;align-items:center}
.site-header nav a:hover{background:rgba(255,255,255,.16)}
main{padding-bottom:3rem}
.site-footer{background:var(--alt);border-top:1px solid var(--border);padding:1.25rem 0 2rem}
.site-footer nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.site-footer nav a{padding:.5rem 0;display:inline-block;font-weight:600}
.attribution{font-size:.9rem;color:var(--muted);max-width:44rem}

.draft-banner{background:#FFE08A;color:#101418;border-bottom:3px solid #B3261E;padding:.8rem 16px;font-weight:700;text-align:center}
.placeholder{background:#FFE08A;color:#101418;padding:0 .25em;border-radius:4px}

.hero{background:var(--header);color:#fff;padding:2rem 0 2.5rem}
.hero h1{margin-bottom:.3em}
.hero p{max-width:40rem;font-size:1.15rem}
.hero .stats{color:#D5E6DC}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.65rem 1.4rem;border-radius:999px;border:2px solid transparent;background:var(--primary);color:var(--on-primary);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.1)}
.btn.accent{background:var(--accent);color:#101418}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.btn.danger{background:var(--danger);color:#fff}
@media (prefers-color-scheme:dark){.btn.danger{color:#101418}}
.btn[disabled]{opacity:.5;cursor:not-allowed;filter:none}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0}

.stats{display:flex;flex-wrap:wrap;gap:.25rem 1.75rem;list-style:none;margin:1rem 0;padding:0}
.stats li{margin:0}
.stats strong{font-size:1.35rem;margin-right:.3em}

.cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));list-style:none;padding:0}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;margin:0}
.card h3{margin:.1em 0 .3em}
.card p{margin:.3em 0}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;margin:1.25rem 0}
.panel.cta{border-left:6px solid var(--accent)}
.panel.warn{border-left:6px solid var(--danger)}
.price{font-size:1.2rem;font-weight:700}

.table-wrap{overflow-x:auto;margin:1rem 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
table{border-collapse:collapse;width:100%}
caption{text-align:left;padding:.7rem .8rem;font-weight:700}
th,td{padding:.6rem .8rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
thead th{background:var(--alt)}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
@media (max-width:480px){th,td{padding:.55rem .45rem}caption{padding:.6rem .45rem}}
.sub{display:block;font-weight:400;font-size:.85rem;color:var(--muted)}
td.num,th.num{text-align:right;white-space:nowrap}
td.tick,th.tick{text-align:center;white-space:nowrap}
tbody th{font-weight:600}
.tick .yes{color:var(--success);font-weight:800}

.grade{display:inline-block;padding:.05rem .65rem;border-radius:999px;font-size:.85rem;font-weight:700;line-height:1.6;white-space:nowrap}
.g-green{background:#2E9E4F;color:#101418}
.g-blue{background:#1F6FD1;color:#FFFFFF}
.g-red{background:#D33A2C;color:#FFFFFF}
.g-black{background:#1A1A1A;color:#FFFFFF}
.g-orange{background:#F08A24;color:#101418}
.badge{display:inline-block;padding:.05rem .65rem;border-radius:999px;font-size:.85rem;font-weight:700;line-height:1.6;background:var(--primary);color:var(--on-primary)}

.crumbs{font-size:.95rem;color:var(--muted);padding-top:1rem}
.crumbs a{padding:.4rem 0;display:inline-block}
.preview{display:block;border-radius:var(--radius);border:1px solid var(--border);background:var(--alt);width:100%;max-width:40rem;height:auto;aspect-ratio:8/5;object-fit:cover}

.az{display:flex;flex-wrap:wrap;gap:.25rem;list-style:none;padding:0}
.az a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-weight:700;text-decoration:none}
.area-list{list-style:none;padding:0;columns:18rem;column-gap:1.5rem}
.area-list li{break-inside:avoid;padding:.35rem 0;border-bottom:1px solid var(--border)}
.area-list .meta{display:block;font-size:.88rem;color:var(--muted)}

label{display:block;font-weight:700;margin:1rem 0 .3rem}
input[type=email],input[type=text],input[type=search]{width:100%;max-width:26rem;min-height:52px;padding:.5rem .8rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit}
input:focus-visible{border-color:var(--focus)}
.signup form{margin-top:.5rem}
label.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:600}
label.check input{width:22px;height:22px;margin-top:.15rem;flex:none;accent-color:var(--primary)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.small.error{color:var(--danger);font-weight:700}
.field-note{font-size:.9rem;color:var(--muted);margin:.3rem 0 0}
.message{padding:.8rem 1rem;border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);margin:1rem 0}
.message.error{border-color:var(--danger)}
.message.ok{border-color:var(--success)}
.steps{counter-reset:s;list-style:none;padding:0}
.steps>li{counter-increment:s;position:relative;padding-left:2.4rem;margin:1rem 0}
.steps>li::before{content:counter(s);position:absolute;left:0;top:0;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--primary);color:var(--on-primary);font-weight:700;display:flex;align-items:center;justify-content:center}

details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:.6rem 0}
summary{cursor:pointer;font-weight:700;padding:.85rem 1rem;min-height:48px}
details>div{padding:0 1rem .6rem}
.legal h2{border-top:1px solid var(--border);padding-top:1.1rem}
.legal table{font-size:.95rem}
code,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
kbd{background:var(--alt);border:1px solid var(--border);border-radius:6px;padding:.05em .4em}
.linklike{background:none;border:0;padding:.5rem 0;font:inherit;color:var(--link);text-decoration:underline;cursor:pointer;min-height:44px}
