@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --bg: #FFFFFF;
  --surface: #FFFFFF;
  --surface-soft: #FBF4F4;
  --ink: #17181A;
  --ink-muted: #6B6F72;
  --pine: #D8283A;
  --pine-dark: #AE1E2D;
  --gold: #D8283A;
  --gold-soft: #FBE0E2;
  --border: #ECE6E6;
  --radius: 18px;
  --max: 1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Fraunces',serif;
  font-weight:600;
  line-height:1.08;
  letter-spacing:-0.01em;
  color:var(--ink);
  margin:0;
}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}

/* Header */
header.site{
  position:sticky;top:0;z-index:50;
  background:rgba(243,244,238,0.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.nav-row{
  display:flex;align-items:center;justify-content:space-between;
  height:76px;
}
.brand{display:flex;align-items:center;gap:10px;}
.brand-mark{
  width:38px;height:38px;border-radius:50%;
  flex-shrink:0;
  object-fit:cover;
  display:block;
}
.brand-name{font-family:'Fraunces',serif;font-weight:600;font-size:19px;}
.brand-sub{font-size:10px;letter-spacing:0.14em;color:var(--ink-muted);text-transform:uppercase;display:block;margin-top:1px;}
nav.main-links{display:flex;gap:6px;}
nav.main-links a{
  padding:9px 15px;border-radius:999px;font-size:14.5px;color:var(--ink-muted);
  transition:background .2s,color .2s;
}
nav.main-links a:hover, nav.main-links a.active{background:var(--surface-soft);color:var(--ink);}
.nav-cta{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--pine);color:#fff;padding:10px 20px;border-radius:999px;
  font-size:14px;font-weight:600;
  transition:background .2s;
}
.nav-cta:hover{background:var(--pine-dark);}
.menu-toggle{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink);}

/* Hero */
.hero{
  padding:64px 0 56px;
  background-image:radial-gradient(#DDD6D6 1px,transparent 1px),radial-gradient(ellipse at top right,var(--gold-soft) 0%,transparent 60%);
  background-size:22px 22px, 100% 100%;
  background-position:0 0,0 0;
}
.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--pine);color:var(--gold-soft);
  padding:7px 16px 7px 8px;border-radius:999px;font-size:12.5px;font-weight:600;
  margin-bottom:22px;
}
.eyebrow .dot{width:20px;height:20px;border-radius:50%;background:var(--gold);display:grid;place-items:center;color:var(--pine-dark);font-size:11px;}
.hero h1{font-size:clamp(38px,5vw,58px);}
.hero p.lead{margin-top:20px;font-size:18px;color:var(--ink-muted);max-width:460px;}
.btn-row{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
.btn{
  padding:13px 26px;border-radius:999px;font-weight:600;font-size:15px;
  display:inline-flex;align-items:center;gap:8px;
  transition:transform .2s,background .2s;
}
.btn-primary{background:var(--gold);color:var(--pine-dark);}
.btn-primary:hover{background:#B87F2C;}
.btn-outline{border:1.5px solid var(--border);background:var(--surface);color:var(--ink);}
.btn-outline:hover{border-color:var(--pine);}
.stat-row{display:flex;gap:36px;margin-top:40px;padding-top:26px;border-top:1px solid var(--border);}
.stat dt{font-family:'Fraunces',serif;font-size:26px;font-weight:600;}
.stat dd{margin:2px 0 0;font-size:12.5px;color:var(--ink-muted);}

.hero-art{
  aspect-ratio:1/1;border-radius:32px;
  background:linear-gradient(155deg,var(--pine) 0%,var(--pine-dark) 100%);
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.hero-art svg{width:72%;height:72%;}
.badge-float{
  position:absolute;background:var(--surface);border-radius:999px;
  padding:9px 14px;font-size:12.5px;font-weight:600;
  display:flex;align-items:center;gap:7px;box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.badge-float.b1{top:24px;left:-14px;}
.badge-float.b2{bottom:24px;right:-14px;}

/* Marquee */
.marquee-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-soft);padding:12px 0;overflow:hidden;}
.marquee{display:flex;gap:40px;white-space:nowrap;width:max-content;animation:scroll 26s linear infinite;font-size:12.5px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--pine);}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Sections */
.section{padding:76px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:38px;flex-wrap:wrap;}
.kicker{color:var(--gold);font-weight:700;font-size:13px;letter-spacing:0.04em;}
.section-head h2{font-size:clamp(28px,3.4vw,38px);margin-top:8px;}
.link-more{font-weight:600;font-size:14.5px;border-bottom:1.5px solid var(--pine);padding-bottom:2px;}

.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.product-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;transition:box-shadow .25s,transform .25s;
}
.product-card:hover{box-shadow:0 18px 40px rgba(31,42,34,.1);transform:translateY(-3px);}
.product-media{aspect-ratio:1/1;background:radial-gradient(circle at 50% 85%,rgba(216,40,58,.35),transparent 60%),#111214;display:flex;align-items:center;justify-content:center;position:relative;}
.product-media svg{width:46%;height:46%;}
.product-tag{position:absolute;top:12px;left:12px;background:var(--surface);padding:5px 11px;border-radius:999px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--pine);}
.product-body{padding:20px;}
.product-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.product-title-row h3{font-size:17px;font-family:'Fraunces',serif;font-weight:600;}
.price{color:var(--pine);font-weight:700;white-space:nowrap;}
.product-body p{margin-top:8px;font-size:14px;color:var(--ink-muted);}
.btn-add{margin-top:16px;width:100%;text-align:center;background:var(--pine);color:#fff;padding:11px;border-radius:999px;font-weight:600;font-size:14px;display:block;}
.btn-add:hover{background:var(--pine-dark);}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px;}
.feature-icon{width:46px;height:46px;border-radius:12px;background:var(--surface-soft);display:grid;place-items:center;color:var(--pine);}
.feature-card h3{margin-top:16px;font-size:17px;}
.feature-card p{margin-top:8px;color:var(--ink-muted);font-size:14.5px;}

.cta-band{
  background:var(--pine);color:#fff;border-radius:28px;padding:48px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
}
.cta-band h2{color:#fff;font-size:clamp(24px,3vw,32px);}
.cta-band p{color:#D9E2DA;margin-top:8px;max-width:420px;}

/* Footer */
footer.site{border-top:1px solid var(--border);margin-top:40px;padding:56px 0 30px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:32px;}
.footer-grid h4{font-size:13.5px;font-weight:700;margin-bottom:14px;}
.footer-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;}
.footer-grid a{color:var(--ink-muted);font-size:14px;}
.footer-grid a:hover{color:var(--ink);}
.footer-about p{color:var(--ink-muted);font-size:14px;max-width:280px;margin-top:12px;}
.subscribe{display:flex;gap:8px;margin-top:14px;}
.subscribe input{flex:1;border:1px solid var(--border);border-radius:999px;padding:10px 14px;font-size:13.5px;background:var(--surface);}
.subscribe button{background:var(--gold);color:var(--pine-dark);border:none;border-radius:999px;padding:0 18px;font-weight:700;font-size:13.5px;cursor:pointer;}
.footer-bottom{margin-top:44px;padding-top:22px;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:13px;color:var(--ink-muted);flex-wrap:wrap;gap:10px;}
.footer-bottom a{margin-left:14px;}

/* Inner page header banner */
.page-hero{
  padding:56px 0 40px;border-bottom:1px solid var(--border);
  background-image:radial-gradient(#DDD6D6 1px,transparent 1px),radial-gradient(ellipse at top right,var(--gold-soft) 0%,transparent 60%);
  background-size:22px 22px, 100% 100%;
}
.page-hero .kicker{display:block;margin-bottom:10px;}
.page-hero h1{font-size:clamp(32px,4.5vw,46px);}
.page-hero p{margin-top:14px;color:var(--ink-muted);font-size:16.5px;max-width:560px;}

/* FAQ */
.faq-item{border-bottom:1px solid var(--border);padding:22px 0;}
.faq-item summary{cursor:pointer;font-family:'Fraunces',serif;font-size:18px;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:22px;color:var(--gold);font-weight:400;}
.faq-item[open] summary::after{content:'–';}
.faq-item p{margin-top:12px;color:var(--ink-muted);font-size:15px;max-width:640px;}

/* Reviews */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.review-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;}
.stars{color:var(--gold);letter-spacing:2px;font-size:14px;}
.review-card p.quote{margin-top:12px;font-size:15px;}
.review-meta{margin-top:16px;display:flex;align-items:center;gap:10px;}
.review-avatar{width:34px;height:34px;border-radius:50%;background:var(--surface-soft);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--pine);}
.review-name{font-size:13.5px;font-weight:600;}
.review-sub{font-size:12px;color:var(--ink-muted);}

/* Science */
.science-block{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:64px;}
.science-block.reverse .science-media{order:2;}
.science-media{aspect-ratio:4/3;border-radius:var(--radius);background:linear-gradient(155deg,var(--surface-soft),var(--gold-soft));display:flex;align-items:center;justify-content:center;}
.science-media svg{width:56%;}
.step-num{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--pine);color:#fff;font-size:13px;font-weight:700;margin-bottom:14px;}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.form-field{margin-bottom:16px;}
.form-field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px;}
.form-field input,.form-field textarea{
  width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);
  background:var(--surface);font-family:inherit;font-size:14.5px;
}
.form-field textarea{resize:vertical;min-height:120px;}
.contact-info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px;}
.contact-info-card + .contact-info-card{margin-top:16px;}
.contact-info-card h3{font-size:15px;}
.contact-info-card p{margin-top:6px;color:var(--ink-muted);font-size:14px;}

/* Responsive */
@media(max-width:900px){
  .hero-grid,.science-block,.science-block.reverse,.contact-grid{grid-template-columns:1fr;}
  .science-block.reverse .science-media{order:0;}
  .card-grid,.feature-grid,.review-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  nav.main-links{display:none;}
  .menu-toggle{display:block;}
}
@media(max-width:600px){
  .card-grid,.feature-grid,.review-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .stat-row{gap:22px;}
  .cta-band{flex-direction:column;align-items:flex-start;}
}
