/* ============================================================
   WRAP-A-NAP — clean white, playful, sky-blue accents.
   Rebuilt to match the original site look.
   ============================================================ */
:root{
  --ink:#1c1c1c;
  --muted:#7c7c7c;
  --blue:#3fb1e4;
  --blue-d:#2f9bcc;
  --paper:#ffffff;
  --line:#e7e7e7;
  --grey:#b2b2b2;      /* newsletter block */
  --bar:#111111;       /* announcement + accents */
  --maxw:1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Nunito",system-ui,-apple-system,sans-serif;
  font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:"Baloo 2","Nunito",sans-serif;
  font-weight:700;line-height:1.08;margin:0 0 .4em;letter-spacing:.2px;
}
h1{font-size:clamp(2.4rem,5vw,3.4rem);}
h2{font-size:clamp(2rem,4vw,2.8rem);}
h3{font-size:1.25rem;}
p{margin:0 0 1em;}
a{color:var(--blue);text-decoration:none;}
a:hover{color:var(--blue-d);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;}
.center{text-align:center;}

/* ---------- announcement bar ---------- */
.announce{background:var(--bar);color:#fff;text-align:center;font-size:.82rem;
  font-weight:700;letter-spacing:.04em;padding:9px 12px;}
.announce b{font-weight:800;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:"Nunito",sans-serif;font-weight:800;font-size:.95rem;
  text-transform:uppercase;letter-spacing:.06em;text-decoration:none;
  padding:15px 34px;border-radius:999px;border:0;cursor:pointer;color:#fff;
  background:var(--blue);transition:background .15s ease,transform .15s ease;}
.btn:hover{background:var(--blue-d);color:#fff;transform:translateY(-1px);}
.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.85);}
.btn-outline:hover{background:#fff;color:var(--ink);}

/* ---------- header / nav ---------- */
.site-head{background:var(--paper);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:18px;height:96px;}
.nav .left{justify-self:end;} .nav .right{justify-self:start;}
.nav .left,.nav .right{display:flex;align-items:center;gap:30px;}
.nav a.navlink{color:var(--ink);text-transform:uppercase;font-weight:700;
  font-size:.82rem;letter-spacing:.08em;}
.nav a.navlink:hover,.nav a.navlink[aria-current="page"]{color:var(--blue);}
.brand{justify-self:center;display:block;}
.brand img{height:52px;width:auto;display:block;}
.social{display:flex;gap:12px;margin-left:8px;}
.social a{color:#9a9a9a;font-size:.95rem;font-weight:900;}
.social a:hover{color:var(--blue);}

/* ---------- home top buttons ---------- */
.top-cta{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  max-width:760px;margin:34px auto 30px;}

/* ---------- hero slider ---------- */
.slider{position:relative;max-width:var(--maxw);margin:0 auto;overflow:hidden;
  border-radius:6px;}
.slides{position:relative;aspect-ratio:16/9;}
.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .7s ease;}
.slide.active{opacity:1;}
.slider .arrow{position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(0,0,0,.35);color:#fff;border:0;width:44px;height:44px;
  border-radius:50%;font-size:1.4rem;cursor:pointer;display:grid;place-items:center;}
.slider .arrow:hover{background:rgba(0,0,0,.55);}
.slider .prev{left:14px;} .slider .next{right:14px;}
.dots{position:absolute;bottom:14px;left:0;right:0;display:flex;gap:9px;
  justify-content:center;}
.dots span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.55);
  cursor:pointer;}
.dots span.on{background:#fff;}

/* ---------- sections ---------- */
section{padding:64px 0;}
.rule{border:0;border-top:1px solid var(--line);max-width:var(--maxw);
  margin:0 auto;}
.lead{font-size:1.15rem;max-width:60ch;margin-inline:auto;}
.link-blue{color:var(--blue);}

/* ---------- press strip ---------- */
.press{padding:30px 0 46px;}
.press p{text-align:center;font-weight:700;font-size:1.05rem;color:#3a3a3a;
  margin-bottom:24px;}
.press-row{display:flex;flex-wrap:wrap;gap:18px 44px;justify-content:center;
  align-items:center;}
.press-row img{height:52px;width:auto;max-width:100%;object-fit:contain;
  filter:grayscale(1);opacity:.8;}

/* ---------- newsletter ---------- */
.news{background:var(--grey);color:#fff;text-align:center;padding:40px 22px;}
.news p{font-weight:700;margin-bottom:18px;}
.news form{display:inline-flex;gap:0;max-width:440px;width:100%;}
.news input{flex:1;border:0;padding:13px 16px;border-radius:4px 0 0 4px;
  font-family:inherit;font-size:.95rem;}
.news button{border:1px solid #fff;background:transparent;color:#fff;
  font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;
  padding:0 22px;border-radius:0 4px 4px 0;cursor:pointer;}
.news button:hover{background:#fff;color:var(--grey);}
.news .thanks{margin-top:14px;font-weight:800;display:none;}

/* ---------- footer ---------- */
.foot{background:var(--paper);color:var(--muted);padding:46px 0 40px;
  text-align:center;border-top:1px solid var(--line);}
.foot .flinks{display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:center;
  text-transform:uppercase;font-size:.76rem;letter-spacing:.06em;font-weight:700;
  margin-bottom:22px;}
.foot .flinks a,.foot .flinks span{color:#6a6a6a;}
.foot .flinks a:hover{color:var(--blue);}
.foot small{display:block;color:#9a9a9a;font-size:.72rem;line-height:1.9;
  letter-spacing:.03em;}

/* ---------- product / shop ---------- */
.product{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start;}
.pimg{border-radius:8px;overflow:hidden;background:#f4f4f4;}
.pimg img{display:block;width:100%;height:100%;object-fit:cover;}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;}
.thumbs .pimg{aspect-ratio:1;}
.price{display:flex;align-items:baseline;gap:12px;margin:6px 0 18px;}
.price .now{font-family:"Baloo 2",sans-serif;font-size:2.1rem;font-weight:700;color:var(--ink);}
.price .was{color:#a6a6a6;text-decoration:line-through;font-size:1.2rem;}
.price .save{background:#e7f4fb;color:var(--blue-d);font-weight:800;font-size:.75rem;
  padding:5px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;}
.swatches{display:flex;gap:12px;margin:6px 0 24px;}
.swatch{width:38px;height:38px;border-radius:50%;border:2px solid var(--line);}
.swatch.blue{background:#2f9bcc;} .swatch.grey{background:#8a8b90;}
.swatch.red{background:#9e2b2b;} .swatch.black{background:#26242b;}
.spec{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid var(--line);}
.spec li{padding:11px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;}
.spec li::before{content:"✦";color:var(--blue);}

/* shop card */
.shop-card{max-width:460px;margin:36px auto 0;border:1px solid var(--line);
  border-radius:10px;overflow:hidden;text-align:center;box-shadow:0 12px 30px -22px rgba(0,0,0,.35);}
.shop-card .pimg{aspect-ratio:1;}
.shop-card .body{padding:24px;}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.story-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center;}
.story-grid img{width:100%;border-radius:8px;display:block;}
.prose p{font-size:1.08rem;}

/* ---------- reviews ---------- */
.tv{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:10px;}
.tv .frame{aspect-ratio:16/9;background:#111;border-radius:8px;overflow:hidden;
  display:grid;place-items:center;color:#cfcfcf;text-align:center;font-weight:700;
  padding:14px;}
.tv .frame iframe{width:100%;height:100%;border:0;}
.tv .cap{text-align:center;margin-top:10px;font-weight:600;}
.tv .cap em{color:var(--muted);}
.quotes{columns:2;column-gap:48px;margin-top:8px;}
.quote{break-inside:avoid;margin:0 0 26px;}
.quote p{font-family:"Baloo 2",sans-serif;font-weight:600;font-size:1.15rem;
  line-height:1.25;margin:0 0 4px;color:var(--ink);}
.quote cite{font-style:italic;color:var(--blue);font-weight:700;font-size:.9rem;}
.eyebrow{font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  font-size:.8rem;color:#3a3a3a;text-align:center;margin-bottom:26px;}

/* ---------- responsive ---------- */
@media(max-width:860px){
  .nav{grid-template-columns:1fr auto 1fr;height:78px;}
  .nav .left,.nav .right{gap:16px;font-size:.7rem;}
  .nav a.navlink{font-size:.72rem;letter-spacing:.04em;}
  .brand img{height:40px;}
  .social{display:none;}
  .product,.about-grid,.story-grid{grid-template-columns:1fr;gap:28px;}
  .tv{grid-template-columns:1fr;}
  .quotes{columns:1;}
  .top-cta{justify-content:center;}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}
