/* Little Goose Village — shared styles */

/* ===== LAUNCH SWITCH =====
   Coming soon (until memberships open): hide .when-open
   Open: change the line below to   .when-soon{display:none !important}
   (and see SETUP.md → "Opening memberships" for the other two steps) */
.when-open{display:none !important}

:root{
  --ink:#3B3128; --ink-soft:#5C5045; --olive:#5E6427; --olive-light:#A3AB56;
  --cream:#FDF6E9; --paper:#FFFCF6; --line:#E8DCC4; --line-strong:#CBBFA6;
  --sky:#A7C4D9; --butter:#F6E2A3; --sage:#C7D3A6; --blush:#F3C9C8;
  --serif:'Fraunces', Georgia, serif;
  --sans:'Nunito', system-ui, sans-serif;
  --hand:'Patrick Hand', 'Comic Sans MS', cursive;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);font-size:17px;line-height:1.6}
img{max-width:100%}
a{color:var(--ink)} a:hover{color:var(--olive)}
summary{cursor:pointer}
input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--olive-light);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none !important}

/* type */
.serif,h1,h2,h3,summary.q{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100;letter-spacing:-0.015em}
h1,h2,h3,p{margin:0}
.eyebrow{font-family:var(--hand);font-size:22px;color:var(--olive);margin:0}
.lede{font-size:20px;color:var(--ink-soft)}
.muted{color:var(--ink-soft)}
.small{font-size:15px}
.tiny{font-size:14px}
.h-hero{font-size:clamp(44px,6vw,80px);line-height:1.02}
.h-page{font-size:clamp(42px,5.5vw,70px);line-height:1.02}
.h-section{font-size:clamp(32px,3.6vw,46px);line-height:1.08}

/* layout */
.wrap{max-width:1200px;margin:0 auto;padding-left:32px;padding-right:32px}
.stack{display:flex;flex-direction:column}
.row{display:flex;flex-wrap:wrap}
.grid-auto{display:grid;gap:24px}
.band-paper{background:var(--paper);border-top:1px solid var(--line)}
@media (max-width:640px){.wrap{padding-left:20px;padding-right:20px}}

/* buttons */
.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;font-weight:700;border:0;font:inherit;font-weight:700;cursor:pointer;color:var(--ink)}
.btn-sky{background:var(--sky)}
.btn-blush{background:var(--blush)}
.btn-butter{background:var(--butter)}
.btn-dark{background:var(--ink);color:var(--cream)} .btn-dark:hover{color:var(--cream);background:#2c241d}
.btn-outline{background:transparent;border:1.5px solid var(--ink)}
.btn-quiet{background:transparent;border:1.5px solid var(--line-strong)}
.btn-lg{min-height:56px;font-size:17px}
.btn-block{width:100%}
.btn[disabled]{opacity:.6;cursor:progress}

/* header */
.site-header{background:var(--cream);border-bottom:1px solid var(--line)}
.site-nav{max-width:1200px;margin:0 auto;padding:14px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.site-nav .logo img{height:64px;width:auto;display:block}
.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px 24px;font-weight:700;font-size:16px}
.nav-links > a:not(.btn){text-decoration:none;padding:10px 0}
.nav-links a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
.nav-links .btn{min-height:44px;padding:0 20px}
.nav-me{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-me .dot{width:40px;height:40px;border-radius:999px;background:var(--blush);display:inline-block}

/* footer */
.site-footer{background:var(--sky);color:var(--ink)}
.site-footer .inner{max-width:1200px;margin:0 auto;padding:56px 32px 64px;display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:flex-end}
.site-footer .brand{display:flex;flex-direction:column;gap:12px;max-width:22rem;font-size:15px}
.site-footer .brand img{height:96px;width:auto;align-self:flex-start}
.site-footer nav{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:15px;font-weight:700}

/* cards */
.card{border-radius:32px;padding:28px}
.card-paper{background:var(--paper);border:1.5px solid var(--line)}
.shadow{box-shadow:0 14px 34px rgba(59,49,40,0.08)}
.bg-butter{background:var(--butter)} .bg-sage{background:var(--sage)} .bg-sky{background:var(--sky)} .bg-blush{background:var(--blush)} .bg-paper{background:var(--paper)} .bg-cream{background:var(--cream)}
.pill{align-self:flex-start;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:800}
.checks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.checks li{display:flex;gap:12px}
.checks svg{flex:none;margin-top:2px}

/* forms */
.field{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:15px}
.field input,.field select{min-height:48px;padding:0 14px;border:1.5px solid var(--line-strong);border-radius:14px;font:inherit;font-weight:400;background:#fff;color:var(--ink)}
.field .opt{font-weight:400;color:var(--ink-soft)}
fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
legend{font-weight:700;font-size:15px;padding:0 0 8px}
.check{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--ink);flex:none}
.form-error{background:var(--blush);border-radius:14px;padding:12px 16px;font-size:15px;font-weight:700}
.hp{position:absolute;left:-9999px}

/* faq */
details.faq{border-top:1.5px solid var(--line);padding:20px 0}
details.faq:last-of-type{border-bottom:1.5px solid var(--line)}
details.faq summary{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100;letter-spacing:-0.015em;font-size:21px}
details.faq p{margin:12px 0 0;color:var(--ink-soft)}

/* image placeholder fallback (until real art is in /images) */
img.ph{background:repeating-linear-gradient(45deg,rgba(59,49,40,.06) 0 10px,transparent 10px 20px);border-radius:18px}

/* filter chips */
.chip{min-height:44px;padding:8px 20px;border-radius:999px;font:inherit;font-weight:700;font-size:16px;cursor:pointer;background:var(--paper);color:var(--ink);border:1.5px solid var(--line-strong)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* kit choice */
.kit{min-height:88px;text-align:left;padding:14px 18px;border-radius:18px;font:inherit;color:var(--ink);cursor:pointer;background:#fff;border:1.5px solid var(--line-strong)}
.kit[aria-pressed="true"]{background:var(--butter);border:2px solid var(--ink)}
.kit .k-label{display:block;font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100;font-size:22px}
.kit .k-note{display:block;font-size:15px}

/* progress */
.bar{height:12px;border-radius:999px;background:var(--line);overflow:hidden}
.bar > div{height:12px;background:var(--olive-light);width:0}

/* phones: ease the big rounded panels */
@media (max-width:640px){
  .panel-xl{padding:28px 22px !important;border-radius:28px !important;gap:28px !important}
  .site-nav .logo img{height:52px}
  .card{padding:22px}
}
