@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap");

:root {
  --wine-950:#170307;
  --wine-900:#26050b;
  --wine-800:#4a0a12;
  --wine-700:#6b0f1a;
  --wine-600:#8c1832;
  --gold-300:#efd58a;
  --gold-400:#d4af37;
  --gold-500:#c9a227;
  --cream:#f5f0e6;
  --paper:#fffaf1;
  --ink:#1d1013;
  --muted:#bcaeb0;
  --line:rgba(239,213,138,.25);
  --shadow:0 28px 90px rgba(12,0,3,.4);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Manrope",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--wine-950);color:var(--cream);font-family:var(--sans);line-height:1.7;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:4px}
:focus-visible{outline:2px solid var(--gold-300)}
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:10px 16px;background:var(--paper);color:var(--ink);transform:translateY(-150%)}
.skip-link:focus{transform:none}

.progress{position:fixed;inset:0 auto auto 0;z-index:1000;width:0;height:3px;background:linear-gradient(90deg,var(--gold-500),var(--gold-300))}
.site-header{position:fixed;z-index:900;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:88px;padding:9px clamp(18px,4vw,64px);border-bottom:1px solid var(--line);background:rgba(23,3,7,.8);backdrop-filter:blur(18px)}
.brand{justify-self:start;display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:clamp(170px,15vw,220px);height:69px;object-fit:contain;filter:drop-shadow(0 0 16px rgba(212,175,55,.3))}
.brand-copy{display:none;line-height:1}
.brand-copy strong{font-family:var(--serif);font-size:1.1rem;letter-spacing:.16em;color:var(--gold-300)}
.brand-copy span{margin-top:5px;font-size:.57rem;letter-spacing:.28em;color:var(--muted)}
.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2.1vw,34px)}
.desktop-nav a{position:relative;padding:14px 0;text-decoration:none;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.14em;color:#e9dfe0}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:1px;background:var(--gold-300);transition:right .25s}
.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{right:0}
.header-cta{justify-self:end;min-height:46px;padding:11px 21px;border:1px solid var(--gold-400);border-radius:999px;text-decoration:none;text-transform:uppercase;font-size:.66rem;font-weight:700;letter-spacing:.13em;color:var(--gold-300)}
.menu-toggle{display:none;justify-self:end;width:50px;height:50px;padding:13px;border:1px solid var(--line);border-radius:50%;background:transparent}
.menu-toggle span{display:block;height:1px;margin:6px 0;background:var(--gold-300)}

.mobile-panel{position:fixed;z-index:950;inset:0;display:grid;grid-template-rows:auto 1fr auto;padding:22px;background:radial-gradient(circle at 50% 0,#8c1832,#4a0a12 40%,#170307 82%);visibility:hidden;opacity:0;transform:translateY(-4%);transition:.35s}
.mobile-panel.open{visibility:visible;opacity:1;transform:none}
.mobile-top{display:flex;align-items:center;justify-content:space-between}
.mobile-emblem{width:74px}
.menu-close{width:50px;height:50px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--gold-300);font-size:1.7rem}
.mobile-links{align-self:center;display:grid;width:min(520px,100%);margin:auto}
.mobile-links a{padding:13px 4px;border-bottom:1px solid rgba(239,213,138,.13);text-decoration:none;font-family:var(--serif);font-size:clamp(1.55rem,7vw,2.35rem);color:var(--cream)}
.mobile-links a:last-child{color:var(--gold-300)}
.mobile-note{text-align:center;text-transform:uppercase;font-size:.6rem;letter-spacing:.25em;color:var(--muted)}

.page-hero{position:relative;isolation:isolate;min-height:100svh;display:grid;align-items:end;padding:140px max(22px,calc((100vw - 1240px)/2)) clamp(70px,10vw,130px);overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;z-index:0;background-image:var(--hero);background-position:center;background-size:cover;transform:scale(1.02)}
.page-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(20,1,5,.91) 0%,rgba(66,4,18,.58) 46%,rgba(20,1,5,.14)),linear-gradient(0deg,var(--wine-950),transparent 48%)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.55fr);gap:clamp(35px,8vw,120px);align-items:end;width:100%;max-width:100%}
.hero-grid>*{min-width:0}
.hero-kicker{display:flex;align-items:center;gap:12px;margin:0 0 20px;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.25em;color:var(--gold-300)}
.hero-kicker::before{content:"";width:54px;height:1px;background:var(--gold-400)}
h1,h2,h3{font-family:var(--serif);line-height:.98;text-wrap:balance}
h1{max-width:980px;margin:0;font-size:clamp(3.4rem,9.5vw,8.7rem);font-weight:600;letter-spacing:-.025em;color:var(--cream)}
.hero-intro{max-width:660px;margin:27px 0 0;font-size:clamp(1rem,1.7vw,1.22rem);color:#e5d9d9}
.hero-side{padding:30px 0 8px;border-top:1px solid var(--gold-400)}
.hero-side img{width:110px;height:110px;margin-bottom:26px;object-fit:contain;filter:drop-shadow(0 0 24px rgba(212,175,55,.34))}
.hero-side p{margin:0 0 25px;color:var(--muted)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 25px;border:1px solid var(--gold-400);border-radius:999px;text-decoration:none;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.14em;transition:.25s}
.button.primary{background:linear-gradient(135deg,var(--gold-300),var(--gold-500));color:#291014;box-shadow:0 10px 38px rgba(201,162,39,.18)}
.button.primary:hover{transform:translateY(-3px);box-shadow:0 15px 46px rgba(201,162,39,.34)}
.button.ghost{color:var(--gold-300);background:rgba(23,3,7,.2)}

.section{position:relative;padding:clamp(82px,11vw,150px) max(22px,calc((100vw - 1240px)/2))}
.section.light{background:var(--paper);color:var(--ink)}
.section.wine{background:linear-gradient(145deg,var(--wine-800),var(--wine-950))}
.section.black{background:#100609}
.section.watermark{isolation:isolate;overflow:hidden}
.section.watermark::before{content:"";position:absolute;z-index:-1;width:min(76vw,900px);aspect-ratio:1;top:50%;right:-16%;transform:translateY(-50%);opacity:.06;background:url("images/emblem.svg") center/contain no-repeat}
.section-head{display:grid;grid-template-columns:.5fr 1.2fr;gap:40px;margin-bottom:clamp(42px,7vw,90px)}
.eyebrow{margin:0;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.24em;color:var(--gold-500)}
.section-head h2{max-width:800px;margin:0;font-size:clamp(2.7rem,6.8vw,6rem);font-weight:600}
.section-head p:last-child{max-width:650px;margin:20px 0 0;color:inherit;opacity:.72}

.editorial-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:clamp(28px,7vw,95px);align-items:center}
.editorial-split.reverse .media-frame{order:2}
.media-frame{position:relative;min-height:clamp(360px,55vw,680px);overflow:hidden;border-radius:2px;box-shadow:var(--shadow)}
.media-frame img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.media-frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(239,213,138,.28);box-shadow:inset 0 0 0 12px rgba(23,3,7,.18)}
.media-caption{position:absolute;z-index:1;left:18px;right:18px;bottom:18px;padding:18px;background:rgba(23,3,7,.78);backdrop-filter:blur(10px);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cream)}
.prose h2{margin:0 0 25px;font-size:clamp(2.6rem,5vw,5rem);color:var(--gold-300)}
.light .prose h2{color:var(--wine-800)}
.prose p{font-size:1.03rem;opacity:.8}
.pullquote{margin:35px 0;padding:22px 0;border-block:1px solid var(--line);font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.15;color:var(--gold-300)}

.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{position:relative;min-height:320px;padding:30px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.015));overflow:hidden;transition:.3s}
.light .card{border-color:rgba(74,10,18,.14);background:#fff;box-shadow:0 18px 55px rgba(50,12,20,.08)}
.card:hover{transform:translateY(-6px);border-color:var(--gold-400)}
.card-number{font-family:var(--serif);font-size:3.2rem;color:var(--gold-400)}
.card h3{margin:34px 0 12px;font-size:2rem}
.card p{opacity:.7}
.card-link{position:absolute;left:30px;bottom:26px;text-transform:uppercase;font-size:.65rem;font-weight:700;letter-spacing:.14em;color:var(--gold-500)}

.image-cards{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.image-card{position:relative;min-height:520px;grid-column:span 4;overflow:hidden}
.image-card.wide{grid-column:span 8}
.image-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.image-card:hover img{transform:scale(1.035)}
.image-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(23,3,7,.94),transparent 65%)}
.image-card-copy{position:absolute;z-index:1;left:26px;right:26px;bottom:25px}
.image-card h3{margin:0 0 8px;font-size:2.3rem;color:var(--cream)}
.image-card p{margin:0;color:#d8cacc}

.symbol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.symbol{display:grid;place-items:center;min-height:300px;padding:25px;border:1px solid rgba(74,10,18,.13);background:#fff;text-align:center}
.symbol img{width:170px;height:170px;object-fit:contain}
.symbol h3{margin:18px 0 0;font-size:1.65rem;color:var(--wine-800)}

.timeline{position:relative;max-width:900px;margin:auto}
.timeline::before{content:"";position:absolute;top:0;bottom:0;left:120px;width:1px;background:var(--line)}
.timeline-item{display:grid;grid-template-columns:90px 1fr;gap:60px;padding:0 0 70px}
.timeline-item time{font-family:var(--serif);font-size:1.8rem;color:var(--gold-300)}
.timeline-item h3{margin:0 0 12px;font-size:2.5rem}
.timeline-item p{margin:0;color:var(--muted)}

.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quote-card{padding:30px;border:1px solid var(--line);background:rgba(255,255,255,.035)}
.quote-card img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:2px solid var(--gold-400)}
.quote-card blockquote{margin:30px 0;font-family:var(--serif);font-size:1.55rem;line-height:1.25}
.quote-card strong{color:var(--gold-300)}

.faq-list{max-width:900px;margin:auto}
details{border-bottom:1px solid rgba(74,10,18,.16)}
summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;list-style:none;font-family:var(--serif);font-size:1.65rem;color:var(--wine-800)}
summary::after{content:"+";font-family:var(--sans);font-size:1.2rem;color:var(--gold-500)}
details[open] summary::after{content:"−"}
details p{max-width:760px;margin:0;padding:0 0 28px;color:#6f5b60}

.form-shell{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(30px,7vw,90px);align-items:start}
.form-intro{position:sticky;top:120px}
.form-intro img{width:110px;margin-bottom:28px}
.form-intro h2{margin:0 0 20px;font-size:clamp(3rem,6vw,5.5rem);color:var(--gold-300)}
.form-card{padding:clamp(25px,5vw,55px);border:1px solid var(--line);background:linear-gradient(145deg,#720e25,#330710);box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
.field label,.field>span{font-size:.71rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:var(--gold-300)}
.field input,.field select,.field textarea{width:100%;min-height:54px;padding:14px 16px;border:1px solid transparent;border-radius:4px;background:#fff;color:var(--ink)}
.field textarea{min-height:140px;resize:vertical}
.choice-row{display:flex;flex-wrap:wrap;gap:16px;color:var(--cream)}
.check-row{display:flex;gap:12px;align-items:flex-start;color:var(--cream);font-size:.88rem}
.check-row input{width:20px;height:20px;accent-color:var(--gold-500)}
.honeypot{position:absolute!important;left:-10000px!important}
.form-card .button{width:100%;border:0;cursor:pointer}
.feedback{padding:25px;border:1px solid var(--gold-400);color:var(--cream)}

.cta-band{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:clamp(50px,8vw,90px) max(22px,calc((100vw - 1240px)/2));overflow:hidden;background:var(--wine-700)}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;background:url("images/emblem.svg") 80% 50%/500px no-repeat}
.cta-band h2{margin:0;font-size:clamp(2.4rem,5vw,4.7rem);color:var(--gold-300)}

.site-footer{padding:70px max(22px,calc((100vw - 1240px)/2)) 30px;border-top:1px solid var(--gold-500);background:#120307}
.footer-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding-bottom:55px}
.footer-brand img{width:86px;margin-bottom:20px}
.footer-brand p{max-width:380px;color:var(--muted)}
.footer-col h2{font-size:1.2rem;color:var(--gold-300)}
.footer-col a{display:block;padding:5px 0;text-decoration:none;color:#d8ccce;font-size:.86rem}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:25px;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted)}
.floating-join{position:fixed;z-index:800;left:18px;bottom:18px;min-height:48px;padding:12px 20px;border-radius:999px;background:var(--gold-300);color:var(--ink);text-decoration:none;text-transform:uppercase;font-size:.64rem;font-weight:700;letter-spacing:.12em;box-shadow:0 10px 35px rgba(0,0,0,.3)}
.whatsapp{position:fixed;z-index:800;right:18px;bottom:18px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;text-decoration:none;box-shadow:0 10px 35px rgba(0,0,0,.3)}
.whatsapp svg{width:30px;height:30px;display:block;fill:currentColor}
.to-top{position:fixed;z-index:790;right:23px;bottom:84px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--wine-800);color:var(--gold-300);opacity:0;pointer-events:none;transition:.25s}
.to-top.visible{opacity:1;pointer-events:auto}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1050px){
  .desktop-nav,.header-cta{display:none}
  .menu-toggle{display:block}
  .site-header{grid-template-columns:1fr auto}
  .hero-grid,.section-head,.editorial-split,.form-shell{grid-template-columns:1fr}
  .hero-side{max-width:620px}
  .card-grid,.quote-grid{grid-template-columns:repeat(2,1fr)}
  .symbol-grid{grid-template-columns:repeat(3,1fr)}
  .footer-top{grid-template-columns:1.5fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .form-intro{position:static}
}
@media(max-width:700px){
  .site-header{display:flex;justify-content:center;min-height:82px;padding:7px 16px}
  .brand{justify-self:center;margin:0}
  .brand img{width:min(58vw,220px);height:64px}
  .brand-copy{display:none}
  .menu-toggle{position:absolute;right:14px}
  .page-hero{min-height:92svh;padding-top:110px}
  .page-hero::before{background-position:58% center}
  .page-hero::after{background:linear-gradient(0deg,rgba(23,3,7,.97) 0,rgba(30,2,8,.72) 52%,rgba(23,3,7,.22))}
  .hero-grid{gap:36px}
  .hero-grid>*,.hero-grid h1,.hero-grid p{max-width:100%;min-width:0}
  h1{font-size:clamp(3rem,15vw,5.2rem);overflow-wrap:anywhere}
  .hero-intro{overflow-wrap:anywhere}
  .hero-side img{width:82px;height:82px}
  .card-grid,.quote-grid,.symbol-grid{grid-template-columns:1fr}
  .image-cards{display:grid;grid-template-columns:1fr}
  .image-card,.image-card.wide{grid-column:1;min-height:430px}
  .editorial-split.reverse .media-frame{order:0}
  .media-frame{min-height:430px}
  .timeline::before{left:0}
  .timeline-item{grid-template-columns:1fr;gap:15px;padding-left:25px}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:1}
  .cta-band{grid-template-columns:1fr}
  .cta-band .button{width:100%}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{display:grid;text-align:center}
  .floating-join{left:12px;bottom:12px}
  .whatsapp{right:12px;bottom:12px}
  .to-top{right:17px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
