:root {
  --ink: #13080d;
  --paper: #fff8fb;
  --pink: #ff2f91;
  --wine: #5b082c;
  --blush: #f2b7c8;
  --gold: #d6aa6f;
  --muted: #75646c;
  --line: rgba(91, 8, 44, .18);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; background: var(--paper); color: var(--ink); font-size: 16px; line-height: 1.55; }
body.locked { overflow: hidden; }
a { color: inherit; }
button, input { font: inherit; }
button { cursor: pointer; }
.skip { position: absolute; left: -999px; }
.skip:focus { left: 1rem; top: 1rem; z-index: 99; background: white; padding: .8rem 1rem; }
.topline { background: var(--pink); color: #16000a; text-align: center; padding: .5rem 1rem; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
header { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; padding: 1rem clamp(1rem,4vw,4rem); border-bottom: 1px solid rgba(255,255,255,.13); background: rgba(19,8,13,.92); color: white; backdrop-filter: blur(16px); }
.logo { font-size: 1.5rem; font-weight: 900; letter-spacing: -.06em; text-decoration: none; }
nav { display: flex; gap: 1.5rem; align-items: center; }
nav a { font-size: .88rem; text-decoration: none; }
.cart-btn { border: 1px solid rgba(255,255,255,.4); background: transparent; color: white; border-radius: 999px; padding: .55rem .9rem; }
.hero { min-height: 85vh; display: grid; grid-template-columns: .9fr 1.1fr; background: #17070e; color: white; overflow: hidden; }
.hero-copy { padding: clamp(4rem,10vw,9rem) clamp(1.4rem,7vw,7rem); display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 1; }
.eyebrow { text-transform: uppercase; font-size: .75rem; letter-spacing: .18em; font-weight: 800; color: var(--pink); }
h1 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(4.2rem,9vw,8.8rem); line-height: .82; margin: 1.2rem 0 1.8rem; letter-spacing: -.075em; }
h1 span { color: var(--pink); }
.hero p { max-width: 31rem; font-size: clamp(1.1rem,2vw,1.4rem); color: #f6dce7; }
.hero-actions { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.7rem; }
.btn { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: .75rem 1.15rem; border-radius: 999px; background: var(--pink); border: 1px solid var(--pink); color: #18000b; text-decoration: none; font-weight: 800; }
.btn.secondary { background: transparent; color: white; border-color: rgba(255,255,255,.5); }
.hero-visual { min-height:520px; position:relative; background:#240b16 url('/assets/roze-collection-v2.png') center/cover no-repeat; overflow:hidden; }
.hero-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#17070e 0,transparent 25%); }
.section { padding: clamp(4rem,8vw,8rem) clamp(1.3rem,6vw,6rem); }
.section-head { max-width: 780px; margin-bottom: 3rem; }
.section h2, .story h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.7rem,5vw,5.6rem); line-height: .95; letter-spacing: -.05em; margin: .7rem 0 1rem; }
.section-head p { font-size: 1.15rem; color: var(--muted); }
.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3rem; }
.product { border-top: 1px solid var(--wine); padding-top: 1rem; display: flex; flex-direction: column; }
.product-image { aspect-ratio:4/5; background-repeat:no-repeat; background-size:contain; background-position:center; background-color:#240b16; margin-bottom:1.3rem; }
.product:nth-child(1) .product-image { background-image:url('/assets/signature-bottle.png'); }
.product:nth-child(2) .product-image { background-image:url('/assets/leather-bottle.png'); }
.product:nth-child(3) .product-image { background-image:url('/assets/brutalisme-bottle.png'); }
.product-meta { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.product h3 { font-size: 1.5rem; margin: 0; }
.product h3 a { text-decoration:none; }
.product-link { display:block; }
.product-link .product-image { transition:transform .28s ease, filter .28s ease; }
.product-link:hover .product-image, .product-link:focus-visible .product-image { transform:translateY(-4px); filter:brightness(1.06); }
.product h3.brut-name { font-family:Arial,Helvetica,sans-serif; font-size:2rem; font-stretch:condensed; letter-spacing:-.055em; line-height:1; }
.brut-name small { font-size:.42em; font-weight:800; letter-spacing:-.035em; margin-left:.08em; }
.product-brut { border-top-color:#13080d; }
.price { font-weight: 900; white-space: nowrap; }
.product p { color: var(--muted); flex-grow: 1; }
.tag { display: inline-block; color: var(--wine); text-transform: uppercase; letter-spacing: .13em; font-size: .7rem; font-weight: 900; margin-bottom: .45rem; }
.product-actions { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }
.detail-link, .add { min-height:48px; display:flex; align-items:center; justify-content:center; width:100%; border:1px solid var(--ink); background:transparent; padding:.7rem; font-weight:800; transition:.2s; text-align:center; text-decoration:none; }
.detail-link { background:var(--ink); color:white; }
.detail-link:hover, .detail-link:focus-visible { background:var(--wine); }
.add:hover, .add:focus-visible { background: var(--ink); color: white; }
.story { background: var(--wine); color: white; display: grid; grid-template-columns: 1fr 1fr; }
.story > div { padding: clamp(3.5rem,8vw,8rem) clamp(1.3rem,6vw,6rem); }
.manifest-title { display:flex; flex-direction:column; justify-content:center; }
.story .manifesto { background: var(--pink); color: #24000f; }
.story p { max-width: 42rem; font-size: 1.12rem; }
.brand-origin { margin:0 0 clamp(2rem,5vw,4rem); font-size:clamp(1.15rem,2vw,1.55rem)!important; line-height:1.5; }
.brand-origin strong { display:block; font-family:Georgia,'Times New Roman',serif; font-size:1.5em; line-height:1.05; margin-bottom:.8rem; }
.manifesto ol { list-style: none; padding: 0; counter-reset: principles; }
.manifesto li { border-top: 1px solid rgba(36,0,15,.25); padding: 1rem 0; font-weight: 700; counter-increment: principles; }
.manifesto li::before { content: '0' counter(principles); font-size: .7rem; margin-right: 1rem; letter-spacing: .1em; }
.taste { display: grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--line); }
.taste div { padding: 1.5rem; border-right: 1px solid var(--line); }
.taste div:last-child { border: 0; }
.taste strong { display: block; font-size: 1.2rem; }
.taste span:not(.tag) { color:var(--muted); display:block; margin:.45rem 0 1.2rem; }
.taste em { display:block; color:var(--wine); font-style:normal; font-weight:800; }
.taste small { font-size:.58em; text-transform:none; letter-spacing:0; }
.cta { background: var(--ink); color: white; text-align: center; }
.cta p { max-width: 600px; margin: 0 auto 1.5rem; color: #e9ccd8; }
.faq { max-width: 900px; margin: auto; }
details { border-top: 1px solid var(--line); padding: 1.1rem 0; }
summary { font-weight: 800; cursor: pointer; }
details p { color: var(--muted); }
footer { background: #080306; color: #cdbac2; padding: 2rem clamp(1.3rem,6vw,6rem); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .82rem; }
footer a { color: white; }
.drawer, .modal, .age { position: fixed; inset: 0; z-index: 50; display: none; }
.drawer.open, .modal.open, .age.open { display: block; }
.shade { position: absolute; inset: 0; background: rgba(0,0,0,.72); }
.drawer-panel { position: absolute; right: 0; top: 0; bottom: 0; width: min(440px,92vw); background: white; padding: 1.5rem; overflow: auto; }
.drawer-head { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
.icon-btn { border: 0; background: transparent; font-size: 1.8rem; }
.cart-row { display:flex; justify-content:space-between; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.cart-total { display:flex; justify-content:space-between; font-size:1.2rem; font-weight:900; margin:1.5rem 0; }
.drawer .btn { width:100%; }
.note { font-size:.8rem; color:var(--muted); }
.modal-card, .age-card { position: relative; width: min(560px,92vw); margin: 8vh auto; background: var(--paper); padding: clamp(1.5rem,5vw,3rem); }
.age { display:block; background:rgba(12,3,8,.95); }
.age[hidden] { display:none; }
.age-card { margin-top: 16vh; text-align:center; border:1px solid var(--pink); }
.age-card h2 { font-family:Georgia,serif; font-size:3rem; margin:.5rem 0; }
.age-actions { display:flex; gap:.75rem; justify-content:center; }
.age .secondary { color:var(--ink); border-color:var(--ink); }
label { display:block; font-weight:700; margin:.9rem 0 .35rem; }
input { width:100%; padding:.8rem; border:1px solid #a9969e; background:white; }
.success { background:#f7d7e4; padding:1rem; margin-top:1rem; display:none; }
.strategy-hero { background:var(--ink); color:white; padding:clamp(5rem,10vw,9rem) clamp(1.3rem,8vw,8rem); }
.strategy-hero h1 { max-width:1000px; font-size:clamp(3.7rem,8vw,8rem); }
.strategy { max-width:1100px; margin:auto; }
.strategy h2 { font-size:clamp(2rem,4vw,3.6rem); }
.strategy h3 { margin-top:2rem; }
table { width:100%; border-collapse:collapse; margin:1.5rem 0; font-size:.95rem; }
th,td { text-align:left; padding:.8rem; border-bottom:1px solid var(--line); vertical-align:top; }
th { background:#f6e1e9; }
.callout { border-left:5px solid var(--pink); padding:1rem 1.4rem; background:#fff; margin:2rem 0; }
.sources li { margin-bottom:.8rem; }

/* Bottle detail pages */
.bottle-page { --page-bg:#fff8fb; --page-ink:#24000f; --page-accent:#ff2f91; --page-panel:#f7dbe5; background:var(--page-bg); color:var(--page-ink); }
.bottle-page header { background:rgba(18,6,11,.94); }
.bottle-page nav a { color:white; }
.bottle-page .eyebrow { color:var(--page-accent); }
.bottle-hero { min-height:82vh; display:grid; grid-template-columns:1fr 1fr; background:var(--page-bg); }
.bottle-hero-copy { padding:clamp(4rem,9vw,8rem) clamp(1.3rem,7vw,7rem); display:flex; flex-direction:column; justify-content:center; }
.bottle-page h1 { color:var(--page-ink); font-size:clamp(4.2rem,10vw,9rem); margin:.8rem 0 1.5rem; }
.bottle-page h1 span { color:inherit; }
.bottle-hero-copy > p { max-width:38rem; font-size:clamp(1.15rem,2vw,1.45rem); }
.bottle-kicker { text-transform:uppercase; letter-spacing:.12em; font-size:.82rem; font-weight:900; }
.bottle-price { font-size:1.5rem; font-weight:900; margin:1rem 0 1.5rem; }
.bottle-hero-media { min-height:560px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:var(--page-panel); }
.bottle-hero-media img { width:100%; height:100%; object-fit:contain; display:block; }
.bottle-body { max-width:1240px; margin:auto; padding:clamp(4rem,8vw,8rem) clamp(1.3rem,6vw,5rem); }
.bottle-story-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:start; }
.bottle-page h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.5rem,5vw,5rem); line-height:.96; letter-spacing:-.045em; margin:.5rem 0 1.4rem; }
.bottle-page h3 { font-size:1.35rem; margin:0 0 .6rem; }
.bottle-story-grid p, .bottle-page .lead { font-size:1.12rem; }
.design-list { list-style:none; margin:0; padding:0; border-top:1px solid currentColor; }
.design-list li { padding:1rem 0; border-bottom:1px solid currentColor; display:grid; grid-template-columns:2rem 1fr; gap:1rem; }
.composition { margin-top:clamp(4rem,8vw,8rem); padding:clamp(2rem,5vw,4rem); background:var(--page-panel); }
.composition-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:2rem; background:color-mix(in srgb,var(--page-ink) 20%,transparent); }
.composition-grid > div { background:var(--page-panel); padding:1.5rem; }
.composition-grid strong { display:block; font-size:clamp(2rem,4vw,3.7rem); line-height:1; margin-bottom:.6rem; }
.taste-journey { margin-top:clamp(4rem,8vw,8rem); }
.taste-steps { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid currentColor; }
.taste-step { padding:1.5rem; border-right:1px solid currentColor; }
.taste-step:last-child { border:0; }
.taste-step span { display:block; font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; color:var(--page-accent); margin-bottom:.7rem; }
.concept-note { margin-top:2rem; padding:1rem 1.2rem; border-left:4px solid var(--page-accent); font-size:.9rem; }
.bottle-next { margin-top:clamp(4rem,8vw,8rem); display:flex; align-items:center; justify-content:space-between; gap:1rem; border-top:1px solid currentColor; padding-top:1.5rem; }
.bottle-next a { font-weight:900; }
.signature-page { --page-bg:#fff8fb; --page-ink:#4f0b29; --page-accent:#ff2f91; --page-panel:#f9dce7; }
.leather-page { --page-bg:#12080c; --page-ink:#fff4f7; --page-accent:#d5a44f; --page-panel:#2a1119; }
.leather-page .bottle-hero { background:linear-gradient(135deg,#0d0609,#2b0d17); }
.leather-page h1 { font-family:Arial,Helvetica,sans-serif; font-weight:900; letter-spacing:-.075em; }
.leather-page .btn { background:var(--page-accent); border-color:var(--page-accent); }
.brut-page { --page-bg:#191817; --page-ink:#fff8f4; --page-accent:#e09a80; --page-panel:#2b2826; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:44px 44px; }
.brut-page .bottle-hero { background:#191817; }
.brut-page h1, .brut-page h2 { font-family:Arial,Helvetica,sans-serif; font-weight:900; letter-spacing:-.075em; text-transform:uppercase; }
.brut-page h1 small { font-size:.24em; text-transform:none; letter-spacing:-.04em; }
.brut-page .bottle-hero-media { clip-path:polygon(9% 0,100% 0,100% 92%,91% 100%,0 100%,0 8%); }
.brut-page .btn { border-radius:0; background:var(--page-accent); border-color:var(--page-accent); }
@media (max-width: 850px) {
  nav a:not(.cart-btn) { display:none; }
  .hero { grid-template-columns:1fr; }
  .hero-copy { padding-top:5rem; }
  .hero-visual { min-height:430px; order:-1; }
  .hero-visual::after { background:linear-gradient(0deg,#17070e 0,transparent 30%); }
  .products, .story { grid-template-columns:1fr; }
  .bottle-hero, .bottle-story-grid { grid-template-columns:1fr; }
  .bottle-hero-media { min-height:500px; order:-1; }
  .composition-grid { grid-template-columns:1fr; }
  .taste-steps { grid-template-columns:1fr 1fr; }
  .taste-step:nth-child(2) { border-right:0; }
  .taste-step:nth-child(-n+2) { border-bottom:1px solid currentColor; }
  .taste { grid-template-columns:1fr; }
  .taste div { border-right:0; }
  .product-actions { grid-template-columns:1fr; }
  .taste-steps { grid-template-columns:1fr; }
  .taste-step, .taste-step:nth-child(2) { border-right:0; border-bottom:1px solid currentColor; }
  .taste-step:last-child { border-bottom:0; }
  .taste div { border-bottom:1px solid var(--line); }
  .taste div:last-child { border-bottom:0; }
}
@media (max-width: 500px) {
  h1 { font-size:4rem; }
  .hero-visual { min-height:330px; }
  .taste { grid-template-columns:1fr; }
  .taste div { border-right:0; }
  table { display:block; overflow-x:auto; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
