/* Perky Goose: navy, mustard, cream, bandana red. Mobile first. */
:root{--navy:#14254a;--navy2:#1f3a6b;--mustard:#f3c01f;--mustard2:#fbe08a;--cream:#fbf5e6;--paper:#fffdf8;--red:#c8102e;--ink:#1b1f2a;--muted:#5b6170;--line:#e8dfc8;--r:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Archivo,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;font-size:17px}
img{max-width:100%;height:auto}
a{color:var(--navy2)}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
h1,h2,h3,.logo span,.btn-big{font-family:"Alfa Slab One",Georgia,serif;font-weight:400;letter-spacing:.2px;line-height:1.2;color:var(--navy)}
h1{font-size:clamp(1.9rem,5vw,2.9rem);margin:.2em 0 .4em}
h2{font-size:clamp(1.35rem,3.4vw,1.8rem);margin:1.6em 0 .4em}
h3{font-size:1.1rem;margin:.1em 0 .3em}

/* disclosure bar + header */
.topbar{background:var(--navy);color:#e9edf6;font-size:.82rem;text-align:center;padding:7px 16px}
.topbar a{color:var(--mustard)}
.site-head{background:var(--cream);border-bottom:3px solid var(--mustard)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo img{width:64px;height:64px}
.logo span{font-size:1.6rem;color:var(--navy)}
.main-nav{display:flex;gap:8px;flex-wrap:wrap}
.nav-btn{display:inline-block;padding:8px 14px;border-radius:999px;border:2px solid var(--navy);color:var(--navy);text-decoration:none;font-weight:700;font-size:.92rem;background:#fff}
.nav-btn:hover{background:var(--navy);color:#fff}
.nav-primary{background:var(--navy);color:#fff}
.nav-primary:hover{background:var(--navy2)}

/* buttons */
.btn{display:inline-block;background:var(--mustard);color:var(--navy);font-weight:700;text-decoration:none;padding:11px 18px;border-radius:10px;border:2px solid var(--navy);box-shadow:0 3px 0 var(--navy);transition:transform .08s}
.btn:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--navy)}
.btn-big{font-size:1.15rem;padding:14px 24px}

/* home hero */
.hero{background:radial-gradient(circle at 80% 40%,var(--mustard2),var(--mustard) 60%);border-bottom:3px solid var(--navy)}
.hero-row{display:flex;align-items:center;gap:28px;padding-top:36px;padding-bottom:40px;flex-wrap:wrap}
.hero-text{flex:1 1 380px}
.hero .kicker{color:var(--red);font-size:1.4rem;letter-spacing:8px;margin:0}
.hero .lead{font-size:1.12rem;max-width:36em}
.hero-logo{flex:0 1 340px;width:340px;max-width:80vw;margin:0 auto;filter:drop-shadow(0 8px 18px rgba(20,37,74,.25))}
.sec-title{text-align:left}
.stiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.stile{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:var(--r);background:var(--navy);color:#fff;text-decoration:none;border:3px solid var(--navy);box-shadow:0 5px 0 var(--mustard)}
.stile:hover{background:var(--navy2)}
.stname{font-family:"Alfa Slab One",Georgia,serif;font-size:1.35rem;color:var(--mustard)}
.stsub{color:#dfe5f2}
.stile .arrow{margin-top:6px;font-weight:700}
.promise .three{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.promise .three li{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:16px}
main{padding-bottom:40px}

/* page head */
.phead{background:var(--cream);border-bottom:1px solid var(--line);padding:18px 0 22px}
.crumbs{font-size:.88rem;color:var(--muted);margin:0}
.crumbs a{color:var(--muted)}
.lead{font-size:1.08rem;max-width:46em}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.jump a{font-size:.9rem;font-weight:700;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--navy)}
.snote{color:var(--muted);margin-top:0}

/* product cards */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 2px 0 var(--line)}
.ptile{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--cream);color:var(--navy);text-decoration:none}
.ptile img.amz{width:100%;height:100%;object-fit:contain;background:#fff;padding:10px}
.pbody{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;flex:1}
.plevel{align-self:flex-start;background:var(--red);color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:3px 9px;border-radius:999px}
.pbrand{margin:4px 0 0;color:var(--muted);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.pwhy{margin:.2em 0}
.pann{margin:.2em 0;font-size:.93rem;color:#4a4f5c;background:#fff8e1;border-left:3px solid var(--mustard);padding:6px 10px;border-radius:0 8px 8px 0}
.pprice{min-height:4px;margin:6px 0}
.pprice .pp{font-weight:700;font-size:1.15rem;color:var(--navy)}
.pprice .pas{display:block;font-size:.75rem;color:var(--muted)}
.pdet{text-decoration:underline dotted;cursor:help}
.pdisc{font-size:.78rem;color:var(--muted);margin:6px 0 12px}
.pbody .btn{margin-top:auto;text-align:center}
.skip{margin:32px 0 0;background:var(--navy);color:#fff;border-radius:var(--r);padding:6px 22px 14px}
.skip h2{color:var(--mustard)}

.guide{margin-top:34px;background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:4px 22px 14px}
.guide ol{padding-left:1.3em}
.guide li{margin:.55em 0}
.related{margin-top:30px}

/* prose pages */
.prose{max-width:760px;padding-top:10px}
.prose li{margin:.35em 0}

/* footer */
.site-foot{background:var(--navy);color:#dfe5f2;padding:34px 0 14px;margin-top:20px}
.site-foot a{color:#fff}
.site-foot h3{color:var(--mustard);font-size:1rem}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin:.35em 0}
.logo-foot span{color:#fff}
.foot-tag{color:var(--mustard);font-weight:700}
.social{margin-top:12px}
.social span{font-size:.9rem}
.sbtns{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.sbtn{display:inline-flex;width:38px;height:38px;border-radius:50%;background:var(--mustard);align-items:center;justify-content:center}
.sbtn svg{width:20px;height:20px;fill:var(--navy)}
.fine{font-size:.78rem;color:#aeb8cf;margin-top:22px;border-top:1px solid #2c4170;padding-top:12px}

@media (max-width:600px){
  body{font-size:16px}
  .hide-sm{display:none}
  .logo span{font-size:1.25rem}
  .hero-row{padding-top:22px}
  .hero-logo{width:240px}
}
