@font-face{font-family:"Nunito Sans";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/nunito-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/nunito-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/nunito-sans-latin-800-normal.woff2) format("woff2")}

:root{
  --linen:#f4efe4;
  --linen-deep:#e9e1d0;
  --paper:#fffdf8;
  --sage:#7d9070;
  --sage-deep:#566a4c;
  --sage-pale:#dde5d4;
  --ink:#2c3329;
  --ink-soft:#626b5d;
  --shadow:0 6px 22px rgba(60,72,52,.12);
  --shadow-lift:0 12px 30px rgba(60,72,52,.18);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--linen);color:var(--ink);font-family:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.0625rem;line-height:1.65}
a{color:var(--sage-deep)}
a:hover{color:var(--ink)}
img{max-width:100%;height:auto;display:block}

.topBar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.5rem;max-width:72rem;margin:0 auto;padding:1.1rem 1.25rem}
.logo{display:inline-flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.3rem;color:var(--ink);text-decoration:none}
.logoDot{width:1.1rem;height:1.1rem;border-radius:50%;background:var(--sage);box-shadow:inset -3px -3px 0 rgba(0,0,0,.12)}
.topNav{display:flex;flex-wrap:wrap;gap:.35rem}
.topLink{padding:.4rem .95rem;border-radius:999px;color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:.95rem}
.topLink:hover{background:var(--sage-pale);color:var(--ink)}

.showcase{max-width:72rem;margin:0 auto;padding:.5rem 1.25rem 0}
.showcaseHead{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem 2rem;margin-bottom:1.4rem}
.showcaseTitle{margin:0;font-size:clamp(1.9rem,4.6vw,3rem);line-height:1.1;font-weight:800;letter-spacing:-.01em}
.showcaseSub{margin:.4rem 0 0;color:var(--ink-soft);max-width:34rem}
.photoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.card{background:var(--paper);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.cardPhoto{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--linen-deep)}
.cardBody{padding:1rem 1.2rem 1.25rem}
.cardTitle{margin:0 0 .25rem;font-size:1.15rem;font-weight:800}
.cardText{margin:0;color:var(--ink-soft);font-size:.96rem;line-height:1.5}

.band{max-width:72rem;margin:3rem auto 0;padding:0 1.25rem}
.bandBox{background:var(--sage-pale);border-radius:28px;padding:2rem clamp(1.25rem,4vw,3rem);display:flex;flex-wrap:wrap;gap:1.2rem 2.5rem;align-items:center;justify-content:space-between}
.bandText{margin:0;max-width:40rem}
.bandTitle{margin:0 0 .4rem;font-size:1.5rem;font-weight:800}

.pill{display:inline-block;border:2px solid var(--sage-deep);background:var(--sage-deep);color:#fff;font:inherit;font-weight:800;font-size:1rem;padding:.7rem 1.6rem;border-radius:999px;text-decoration:none;cursor:pointer;box-shadow:0 3px 10px rgba(60,72,52,.2)}
.pill:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.pillGhost{background:transparent;color:var(--sage-deep);box-shadow:none}
.pillGhost:hover{background:var(--sage-deep);color:#fff;border-color:var(--sage-deep)}

.narrow{max-width:44rem;margin:0 auto;padding:1rem 1.25rem 0}
.panel{background:var(--paper);border-radius:26px;box-shadow:var(--shadow);padding:clamp(1.4rem,4vw,2.8rem)}
.panelTitle{margin:0 0 .6rem;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.15;font-weight:800}
.panel h2{margin:2.2rem 0 .5rem;font-size:1.35rem;font-weight:800;color:var(--sage-deep)}
.panel h3{margin:1.4rem 0 .3rem;font-size:1.1rem}
.panel p,.panel ul,.panel ol{margin:0 0 1rem}
.panel li{margin-bottom:.4rem}
.panel code{background:var(--linen);padding:.08rem .4rem;border-radius:8px;font-size:.9em}
.stamp{color:var(--ink-soft);font-size:.92rem;margin:0 0 1.4rem}
.note{background:var(--sage-pale);border-radius:18px;padding:1rem 1.2rem}
.note p{margin:0}
.scopeTable{width:100%;border-collapse:separate;border-spacing:0 .5rem;margin:.5rem 0 1rem}
.scopeTable th,.scopeTable td{text-align:left;vertical-align:top;padding:.75rem 1rem;background:var(--linen)}
.scopeTable th{border-radius:14px 0 0 14px;white-space:nowrap}
.scopeTable td{border-radius:0 14px 14px 0}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding:.1rem 0 .1rem 2.8rem;margin-bottom:.9rem}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:2rem;height:2rem;border-radius:50%;background:var(--sage);color:#fff;font-weight:800;display:grid;place-items:center}

.stackForm{display:grid;gap:1rem;margin:1.4rem 0;justify-items:start}
.fieldLabel{font-weight:800}
.field{width:100%;max-width:22rem;font:inherit;padding:.7rem 1rem;border:2px solid var(--sage-pale);border-radius:14px;background:#fff;color:var(--ink)}
.field:focus{outline:none;border-color:var(--sage)}
.checkRow{display:flex;gap:.8rem;align-items:flex-start}
.checkRow input{margin-top:.45rem;width:1.15rem;height:1.15rem;accent-color:var(--sage-deep)}
.flash{background:#f8e0d8;border-radius:14px;padding:.7rem 1rem;color:#7a2a17}
.small{font-size:.9rem;color:var(--ink-soft)}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.4rem;background:var(--linen);border-radius:18px;padding:1.1rem 1.3rem;margin:1.2rem 0;word-break:break-word}
.facts dt{color:var(--ink-soft)}
.facts dd{margin:0}

.foot{margin-top:4rem;background:var(--linen-deep)}
.footInner{max-width:72rem;margin:0 auto;padding:1.8rem 1.25rem 2.4rem;font-size:.9rem;color:var(--ink-soft)}
.footLegal,.footNote{margin:0 0 .5rem;max-width:46rem}

@media (max-width:52rem){.photoGrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:34rem){
  .photoGrid{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}
  .scopeTable th{white-space:normal}
  .scopeTable th,.scopeTable td{display:block;border-radius:14px 14px 0 0}
  .scopeTable td{border-radius:0 0 14px 14px}
}
