/* ===== SAUCERY — soft modern, Syne + DM Sans, berry/plum palette ===== */
:root{
  --paper:#faf6f1;
  --ink:#241f2b;
  --gold:#e08a3c;      /* Tuscan Gold */
  --saffron:#e8b24a;   /* Golden Hour */
  --berry:#d6486a;     /* Brooklyn Heat (accent) */
  --berry-card:#bf3457;/* deeper berry for card bg (white-text AA) */
  --berry-text:#c0314f; /* darker berry for text on cream (WCAG AA) */
  --plum:#9c4f8e;      /* Slow Jam */
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;}
a{color:inherit;}

/* ---- ACCESSIBILITY ---- */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.card-h{font-family:'Syne';font-weight:800;font-size:19px;text-transform:uppercase;margin-bottom:10px;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 20px;z-index:200;border-radius:0 0 10px 0;font-weight:700;text-decoration:none;}
.skip-link:focus{left:0;}
:focus-visible{outline:3px solid var(--berry);outline-offset:3px;border-radius:4px;}
.strip :focus-visible,.bundle.feature :focus-visible,.mobile-menu :focus-visible{outline-color:#fff;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation-duration:.001ms!important;transition-duration:.001ms!important;}}

/* ---- NAV ---- */
.nav{display:flex;justify-content:space-between;align-items:center;padding:24px 40px;background:var(--paper);position:sticky;top:0;z-index:100;}
.logo{font-family:'Syne';font-weight:800;font-size:25px;letter-spacing:-.02em;text-decoration:none;}
.links{display:flex;gap:24px;}
.links a{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;}
.links a:hover{color:var(--berry-text);}
.links .cart{color:var(--berry-text);}
.menu-toggle{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--ink);}
.mobile-menu{display:none;flex-direction:column;background:var(--ink);}
.mobile-menu a{color:#fff;padding:16px 40px;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:14px;border-bottom:1px solid #3a3343;}
.mobile-menu.open{display:flex;}

/* ---- HERO ---- */
.hero{padding:60px 40px 38px;}
.eyebrow{font-weight:800;letter-spacing:.16em;font-size:13px;text-transform:uppercase;color:var(--berry-text);}
h1{font-family:'Syne';font-weight:800;font-size:clamp(54px,12vw,140px);line-height:.9;letter-spacing:-.03em;margin:16px 0 20px;text-wrap:balance;}
.g{background:linear-gradient(90deg,var(--berry),var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.lede{font-size:clamp(17px,2.2vw,21px);max-width:480px;line-height:1.5;color:#5d5668;text-wrap:pretty;}
.btn{display:inline-block;margin-top:26px;background:var(--ink);color:#fff;font-family:'Syne';font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:14px;padding:16px 34px;text-decoration:none;border-radius:40px;transition:.2s;}
.btn:hover{background:var(--berry);}

/* ---- MARQUEE ---- */
.marquee{background:var(--ink);color:var(--paper);overflow:hidden;white-space:nowrap;padding:14px 0;}
.marquee-track{display:inline-flex;will-change:transform;}
.marquee-track span{font-weight:700;letter-spacing:.16em;font-size:13px;text-transform:uppercase;padding-right:8px;}
/* ---- BUILDERS ---- */
.builders{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:44px 40px;}
.card{border-radius:22px;padding:26px;color:#fff;min-height:380px;display:flex;flex-direction:column;transition:transform .3s ease;}
.card:hover,.card:focus-within{transform:translateY(-8px);}
.card:active{transform:translateY(-4px) scale(0.99);}
.card .top{font-weight:700;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;opacity:.9;min-height:30px;line-height:1.35;}
.card h3{font-family:'Syne';font-weight:800;font-size:clamp(24px,2.4vw,31px);line-height:.95;margin:14px 0 10px;text-wrap:balance;}
.card .desc{font-size:13.5px;line-height:1.55;opacity:.95;text-wrap:pretty;}
/* pin price + button to bottom so all four align */
.card .meta-bottom{margin-top:auto;padding-top:18px;}
.card .price{display:flex;gap:18px;margin-bottom:14px;}
.card .price span{display:flex;flex-direction:column;font-family:'Syne';line-height:1.05;}
.card .price .sz{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.7;}
.card .price .amt{font-size:20px;font-weight:800;letter-spacing:-.01em;}
.card .shop{display:inline-block;background:#fff;color:var(--ink);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12px;padding:12px 22px;text-decoration:none;border-radius:30px;align-self:flex-start;transition:.2s;}
.card .shop:hover{transform:scale(1.04);}
/* warm cards use dark ink text; cool cards use white text (all AA) */
.c1{background:var(--gold);color:#241f2b;} .c2{background:var(--saffron);color:#241f2b;}
.c3{background:var(--berry-card);color:#fff;} .c4{background:var(--plum);color:#fff;}
.c1 .shop,.c2 .shop{background:#241f2b;color:#fff;}
.c1 .top,.c2 .top,.c1 .desc,.c2 .desc{opacity:.92;}

/* ---- BUNDLES ---- */
.bundles{padding:60px 40px;}
.bundles h2{font-family:'Syne';font-weight:800;font-size:clamp(30px,5vw,52px);letter-spacing:-.02em;margin-bottom:28px;}
.bundle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.bundle{border:2px solid var(--ink);border-radius:22px;padding:32px;}
.bundle.feature{background:var(--ink);color:#fff;border-color:var(--ink);}
.b-tag{font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--berry-text);}
.bundle.feature .b-tag{color:var(--saffron);}
.bundle h3{font-family:'Syne';font-weight:800;font-size:30px;margin:8px 0 10px;}
.bundle p{font-size:15px;line-height:1.5;max-width:360px;margin-bottom:18px;opacity:.85;}
.b-price{font-family:'Syne';font-weight:800;font-size:40px;margin-bottom:18px;}
.btn-dark{display:inline-block;background:var(--ink);color:#fff;font-family:'Syne';font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:13px;padding:14px 28px;text-decoration:none;border-radius:40px;transition:.2s;}
.btn-dark:hover{background:var(--berry);}
.bundle.feature .btn-dark{background:var(--saffron);color:var(--ink);}
.bundle.feature .btn-dark:hover{background:#fff;}

/* ---- STRIP ---- */
.strip{background:var(--ink);color:#fff;padding:80px 40px;text-align:center;}
.strip h2{font-family:'Syne';font-weight:800;font-size:clamp(30px,5.5vw,62px);line-height:.98;letter-spacing:-.02em;text-wrap:balance;}
.strip p{max-width:580px;margin:20px auto 0;font-size:17px;line-height:1.55;color:#b8b2c0;text-wrap:pretty;}
.btn-ghost{display:inline-block;margin-top:26px;border:2px solid #fff;color:#fff;font-family:'Syne';font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:13px;padding:14px 30px;text-decoration:none;border-radius:40px;transition:.2s;}
.btn-ghost:hover{background:#fff;color:var(--ink);}

/* ---- FOOTER ---- */
.footer{padding:44px 40px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;border-top:1px solid #e3d9cc;}
.f-logo{font-family:'Syne';font-weight:800;font-size:28px;}
.f-cols{display:flex;gap:50px;flex-wrap:wrap;}
.f-cols a{display:block;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:13px;text-decoration:none;margin-bottom:8px;}
.f-cols a:hover{color:var(--berry-text);}
.f-meta{font-weight:600;font-size:13px;line-height:1.6;color:#6f6776;text-transform:uppercase;letter-spacing:.05em;}

/* ---- INNER PAGES ---- */
.page{padding:60px 40px;max-width:820px;margin:0 auto;}
.page .eyebrow{margin-bottom:14px;}
.page h1{font-family:'Syne';font-weight:800;font-size:clamp(44px,8vw,84px);line-height:.92;margin-bottom:28px;letter-spacing:-.02em;}
.page h2{font-family:'Syne';font-weight:700;font-size:28px;margin:36px 0 14px;}
.page p{font-size:18px;line-height:1.65;margin-bottom:18px;color:#3d3647;}
.page p.big{font-size:22px;color:var(--ink);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px;}
.contact-card{border:2px solid var(--ink);border-radius:18px;padding:26px;}
.contact-card h3{font-family:'Syne';font-weight:800;font-size:19px;text-transform:uppercase;margin-bottom:10px;}
.contact-card a{font-weight:700;color:var(--berry-text);text-decoration:none;font-size:17px;}
.field{display:block;margin-bottom:16px;}
.field label{display:block;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12px;margin-bottom:6px;}
.field input,.field textarea{width:100%;border:2px solid var(--ink);border-radius:12px;padding:13px;font-family:inherit;font-size:15px;}
.field textarea{min-height:130px;resize:vertical;}

/* ---- RESPONSIVE: TABLET ---- */
@media(max-width:900px){
  .builders{grid-template-columns:1fr 1fr;}
}

/* ---- RESPONSIVE: MOBILE ---- */
@media(max-width:620px){
  .nav{padding:16px 20px;}
  .links{display:none;}
  .menu-toggle{display:block;}

  .hero{padding:40px 20px 28px;}
  h1{font-size:clamp(44px,15vw,68px);margin:14px 0 16px;}
  .lede{font-size:16px;}
  .btn{display:block;text-align:center;margin-top:22px;}

  .marquee{padding:12px 0;}
  .marquee-track span{font-size:12px;letter-spacing:.12em;}

  /* single column cards so each has full width and room */
  .builders{grid-template-columns:1fr;gap:14px;padding:28px 20px;}
  .card{min-height:0;padding:24px;}
  .card:hover{transform:none;}
  .card h3{font-size:28px;margin-bottom:8px;}
  .card .desc{font-size:14px;margin-bottom:16px;}
  .card .top{margin-bottom:14px;}
  .card .price{margin-bottom:16px;}
  .card .shop{padding:13px 26px;font-size:13px;}

  .bundles{padding:44px 20px;}
  .bundles h2{font-size:30px;margin-bottom:20px;}
  .bundle-grid{grid-template-columns:1fr;gap:16px;}
  .bundle{padding:26px;}
  .bundle p{max-width:none;}
  .btn-dark{display:block;text-align:center;}

  .strip{padding:60px 20px;}
  .strip h2{font-size:clamp(28px,8vw,40px);}
  .strip p{font-size:16px;}
  .btn-ghost{display:block;text-align:center;}

  .footer{padding:36px 20px;flex-direction:column;gap:28px;}
  .f-cols{gap:36px;}

  .page{padding:40px 20px;}
  .page h1{font-size:clamp(38px,11vw,56px);}
  .page p{font-size:17px;}
  .page p.big{font-size:19px;}
  .contact-grid{grid-template-columns:1fr;gap:14px;}
  .field input,.field textarea{font-size:16px;} /* 16px stops iOS zoom-on-focus */
  form .btn{width:100%;}
}

/* ---- CARD PRODUCT LINKS ---- */
.card-link{color:inherit;text-decoration:none;}
.card-link:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;}
.card-more{display:inline-block;margin-top:10px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.card-more:hover{text-decoration-thickness:2px;}
