/* Pelican rebuild — shared site system (faithful to pelican.com, elevated craft) */
@import url('../fonts/fonts.css');

:root{
  --accent:#DB3700;        /* action / brand orange-red — buttons, badges, large heads */
  --eye:#BF360C;           /* AA-safe accent for small label/eyebrow text on light (>=4.5:1) */
  --eye-dark:#FF9166;      /* AA-safe accent for small text on dark surfaces */
  --accent-hover:#992600;  /* burnt rust */
  --accent-tint:#FFECE5;   /* pale peach wash */
  --amber:#F59B15;         /* sale / badge */
  --ink:#111111;           /* primary text */
  --black:#000000;
  --charcoal:#3F4042;
  --charcoal-2:#323334;
  --muted:#646568;         /* secondary/meta (AA on white) */
  --line:#B1B2B4;
  --hair:#E6E7E8;
  --surface:#F2F2F3;
  --white:#FFFFFF;

  --maxw:1280px;
  --pad:clamp(1rem,4vw,2.5rem);
  --ease:cubic-bezier(0.16,1,0.3,1);
  --display:'Roboto Condensed',system-ui,sans-serif;
  --body:'Rubik',system-ui,sans-serif;
  --mono:'Roboto Mono',ui-monospace,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--body);color:var(--ink);background:var(--white);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}

/* ---------- type ---------- */
h1,h2,h3,h4{font-family:var(--display);font-weight:800;line-height:1.02;
  text-transform:uppercase;letter-spacing:-0.01em;margin:0}
h1{font-size:clamp(2.6rem,6.5vw,5rem)}
h2{font-size:clamp(2rem,4.2vw,3.4rem)}
h3{font-size:clamp(1.3rem,2.4vw,1.85rem)}
p{margin:0 0 1rem}
.eyebrow{font-family:var(--mono);font-weight:500;text-transform:uppercase;
  letter-spacing:.22em;font-size:.72rem;color:var(--eye);margin:0 0 1rem;display:block}
.eyebrow.muted{color:var(--muted)}
/* eyebrows inside solid dark sections need the brighter AA-safe accent */
.bg-ink .eyebrow,.quote-band .eyebrow,.close .eyebrow,.split.dark .eyebrow{color:var(--eye-dark)}
.lede{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--charcoal);max-width:54ch}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.section{padding-block:clamp(3.5rem,7vw,6.5rem)}
.section.tight{padding-block:clamp(2.5rem,4vw,4rem)}
.bg-surface{background:var(--surface)}
.bg-ink{background:var(--charcoal-2);color:var(--white)}
.bg-ink h1,.bg-ink h2,.bg-ink h3{color:var(--white)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--mono);
  font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;
  padding:.95rem 1.7rem;border:2px solid transparent;min-height:48px;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.btn-primary{background:var(--accent);color:var(--white)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-ghost{background:transparent;color:var(--white);border-color:var(--white)}
.btn-ghost:hover{background:var(--white);color:var(--ink)}
.btn-dark{background:var(--ink);color:var(--white)}
.btn-dark:hover{background:var(--accent)}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--white)}

/* ---------- header ---------- */
.topbar{background:var(--black);color:#cdcdce}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;
  min-height:38px;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase}
.topbar a{color:#cdcdce}.topbar a:hover{color:var(--white)}
.topbar .tb-right{display:flex;gap:1.4rem}
.topbar .tb-right a{min-height:38px;display:inline-flex;align-items:center}

.nav{position:sticky;top:0;z-index:60;background:var(--white);
  border-bottom:1px solid var(--hair)}
.nav .wrap{display:flex;align-items:center;gap:2rem;min-height:74px}
.nav__logo img{height:30px;width:auto}
.nav__links{display:flex;gap:1.6rem;margin-left:.5rem;flex:1}
.nav__links>li{position:relative}
.nav__links a.top{font-family:var(--mono);font-weight:500;text-transform:uppercase;
  letter-spacing:.1em;font-size:.78rem;color:var(--ink);min-height:74px;
  display:inline-flex;align-items:center;border-bottom:3px solid transparent;
  transition:border-color .2s var(--ease),color .2s var(--ease)}
.nav__links a.top:hover{color:var(--accent);border-bottom-color:var(--accent)}
.nav__links a.top[aria-current]{border-bottom-color:var(--ink)}
.nav__icons{display:flex;gap:1.1rem;align-items:center}
.nav__icons a,.nav__icons button{color:var(--ink);min-width:44px;min-height:44px;
  display:inline-flex;align-items:center;justify-content:center;background:none;border:none}
.nav__icons a:hover svg,.nav__icons button:hover svg{stroke:var(--accent)}
.cart-dot{position:relative}
.cart-dot::after{content:"2";position:absolute;top:6px;right:4px;background:var(--accent);
  color:#fff;font-family:var(--mono);font-size:.58rem;line-height:1;padding:2px 4px;border-radius:2px}

/* mega menu */
.mega{position:absolute;left:-1.5rem;top:100%;background:var(--white);
  border:1px solid var(--hair);border-top:3px solid var(--accent);
  padding:1.4rem;min-width:560px;display:grid;grid-template-columns:repeat(3,1fr);
  gap:1rem;box-shadow:0 24px 50px -24px rgba(17,17,17,.28);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s}
.nav__links>li:hover .mega,.nav__links>li:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0)}
.mega a{display:flex;flex-direction:column;gap:.5rem;padding:.6rem;
  border:1px solid transparent;transition:border-color .2s,background .2s}
.mega a:hover{border-color:var(--hair);background:var(--surface)}
.mega a img{aspect-ratio:1/1;object-fit:cover;background:var(--surface)}
.mega a span{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--ink)}

.burger{display:none}

/* ---------- footer ---------- */
.foot{background:var(--black);color:#b6b6b8}
.foot a{color:#b6b6b8}.foot a:hover{color:var(--white)}
.foot__signup{border-bottom:1px solid #2a2a2a}
.foot__signup .wrap{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;align-items:center;
  justify-content:space-between;padding-block:2.2rem}
.foot__signup h3{color:var(--white)}
.foot__signup form{display:flex;gap:0;flex:1;min-width:280px;max-width:460px}
.foot__signup input{flex:1;min-width:0;background:#161616;border:1px solid #2a2a2a;
  color:#fff;padding:.9rem 1rem;font-family:var(--body);min-height:50px}
.foot__signup input::placeholder{color:#7a7a7c}
.foot__signup button{min-height:50px;border:none}
.foot__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;
  padding-block:3rem;border-bottom:1px solid #2a2a2a}
.foot__cols h4{font-family:var(--mono);font-weight:500;font-size:.74rem;
  letter-spacing:.18em;color:var(--white);text-transform:uppercase;margin-bottom:1.1rem}
.foot__cols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}
.foot__cols a{font-size:.9rem;min-height:40px;display:inline-flex;align-items:center}
.foot__bottom .wrap{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;
  justify-content:space-between;padding-block:1.8rem}
.foot__bottom img{height:26px;width:auto}
.foot__social{display:flex;gap:.4rem}
.foot__social a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.foot__legal{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;
  text-transform:uppercase;color:#9a9a9c}
.foot__legal .credit{color:var(--eye-dark)}

/* ---------- reveal motion ---------- */
.reveal{opacity:0;transform:translateY(26px);
  transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- product card ---------- */
.grid{display:grid;gap:1px;background:var(--hair);border:1px solid var(--hair)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--white);padding:1.4rem;position:relative;display:flex;
  flex-direction:column;transition:box-shadow .25s var(--ease)}
.card:hover{box-shadow:0 18px 40px -22px rgba(17,17,17,.35);z-index:1}
.card__media{aspect-ratio:550/451;background:var(--surface);display:flex;
  align-items:center;justify-content:center;margin-bottom:1rem;overflow:hidden}
.card__media img{width:100%;height:100%;object-fit:contain;
  transition:transform .4s var(--ease)}
.card:hover .card__media img{transform:scale(1.04)}
.card__name{font-family:var(--body);font-weight:500;font-size:.98rem;color:var(--ink);
  margin:0 0 .35rem;line-height:1.3}
.stars{color:var(--amber);font-size:.8rem;letter-spacing:.05em;margin-bottom:.4rem}
.stars span{color:var(--muted);font-family:var(--mono);font-size:.7rem;margin-left:.3rem}
.price{font-family:var(--mono);font-weight:500;font-size:.92rem;color:var(--ink);margin-top:auto}
.price .was{color:var(--muted);text-decoration:line-through;margin-right:.5rem;font-weight:400}
.price .sale{color:var(--eye);font-weight:700}
.badge-sale{position:absolute;top:0;left:0;background:var(--amber);color:#1a1a1a;
  font-family:var(--mono);font-weight:700;font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;padding:.35rem .55rem}

/* ---------- section heads ---------- */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;
  gap:1.5rem;margin-bottom:2.2rem;flex-wrap:wrap}
.sec-head .link{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink);border-bottom:2px solid var(--accent);
  padding-bottom:.25rem;min-height:44px;display:inline-flex;align-items:center}
.sec-head .link:hover{color:var(--accent)}

/* ---------- hero / banner ---------- */
.banner{position:relative;min-height:clamp(420px,62vh,640px);display:flex;
  align-items:center;overflow:hidden;background:var(--charcoal-2)}
.banner img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,9,9,.82) 0%,rgba(10,9,9,.5) 42%,rgba(10,9,9,.1) 100%)}
.banner__inner{position:relative;z-index:2;color:var(--white);max-width:560px}
.banner__inner h1,.banner__inner h2{color:var(--white)}
.banner__inner p{color:#e4e4e5}

/* category tiles */
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;
  background:var(--hair);border:1px solid var(--hair)}
.tile{background:var(--white);padding:1.3rem;text-align:center;
  transition:background .2s var(--ease)}
.tile:hover{background:var(--surface)}
.tile img{aspect-ratio:1/1;object-fit:contain;margin-bottom:.7rem}
.tile span{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--ink)}

/* family cards (dark) */
.family{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.fam{background:var(--charcoal);border:1px solid #4a4b4d;padding:1.6rem;
  display:flex;flex-direction:column;gap:1rem;transition:border-color .25s,transform .25s var(--ease)}
.fam:hover{border-color:var(--accent);transform:translateY(-4px)}
.fam img{aspect-ratio:550/451;object-fit:contain;background:#2a2b2c}
.fam h3{color:var(--white)}
.fam p{color:#bdbdbf;font-size:.9rem;flex:1}
.fam .arrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--eye-dark)}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .family{grid-template-columns:repeat(2,1fr)}
  .tiles{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .nav__links,.topbar .tb-left{display:none}
  .burger{display:inline-flex;min-width:44px;min-height:44px;align-items:center;
    justify-content:center;background:none;border:none;margin-left:auto;color:var(--ink)}
  .nav__icons{margin-left:0}
  .mobile-menu{position:fixed;inset:74px 0 0;background:var(--white);z-index:55;
    transform:translateX(100%);transition:transform .3s var(--ease);
    padding:1.5rem var(--pad);overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}
  .mobile-menu.open{transform:none}
  .mobile-menu a{font-family:var(--display);font-weight:700;text-transform:uppercase;
    font-size:1.4rem;padding:.7rem 0;border-bottom:1px solid var(--hair);min-height:48px;
    display:flex;align-items:center}
}
@media (min-width:861px){.mobile-menu{display:none}}
@media (max-width:680px){
  .grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}
  .family{grid-template-columns:1fr}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .foot__cols{grid-template-columns:repeat(2,1fr);gap:2rem}
  .banner::after{background:linear-gradient(0deg,rgba(10,9,9,.9) 0%,rgba(10,9,9,.45) 70%,rgba(10,9,9,.2) 100%)}
}
@media (max-width:420px){
  .grid-4,.grid-3{grid-template-columns:1fr}
}
