/* Layout: stacked full-width bands, alternating wine and cream, one narrow content column each */
:root{
  --wine:#5B1A2A; --wine-deep:#45121F; --cream:#F6EFE6; --sand:#E6D5C3; --muted:#CDB8AE;
  --gold:#C8A27A; --ink:#3B0F1A; --ink-soft:#7A4A54; --line:rgba(200,162,122,.45);
  --display:"Lora", Georgia, "Times New Roman", serif;
  --body:"Poppins", "Helvetica Neue", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-weight:300;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.band{padding-block:96px}
.wine{background:var(--wine);color:var(--cream)}
.deep{background:var(--wine-deep);color:var(--cream)}
.eyebrow{font-size:12px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;color:var(--gold);margin:0 0 18px}
.cream .eyebrow{color:#9A6B4F}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;text-wrap:balance}
h1{font-size:clamp(2.4rem,5.6vw,4.2rem);line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,3.8vw,2.9rem);line-height:1.15}
h3{font-size:1.35rem;line-height:1.3}
em{font-style:italic}
.wine h1 em,.wine h2 em,.deep h2 em{color:var(--sand)}
.cream h2 em{color:#8E3A4C}
p{margin:0 0 1em;max-width:62ch}
.lead{font-size:1.15rem;color:var(--sand)}
.cream .lead{color:var(--ink-soft)}

/* header */
.top{position:absolute;top:0;left:0;right:0;z-index:2;padding-top:22px}
.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px}
.mark{font-family:var(--display);font-size:1.15rem;letter-spacing:.04em;color:var(--cream);text-decoration:none}
.top nav{display:flex;gap:22px;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.top nav a{text-decoration:none;color:var(--muted)}
.top nav a:hover{color:var(--cream)}
@media(max-width:640px){.top nav a:not(:last-child){display:none}}

/* hero */
.hero{padding-block:140px 96px}
.hero .wrap{display:grid;grid-template-columns:1.25fr .85fr;gap:56px;align-items:center}
.hero-text{min-width:0}
.hero .lead{margin-top:24px}
.btn{display:inline-block;margin-top:30px;padding:16px 34px;border:1px solid var(--gold);background:var(--gold);color:var(--wine-deep);font-family:var(--body);font-weight:500;font-size:13px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--cream)}
.cream .btn:hover{color:var(--wine)}
.btn.ghost{background:transparent;color:var(--cream)}
.btn.ghost:hover{background:var(--gold);color:var(--wine-deep)}
.btn:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.portrait{position:relative;aspect-ratio:4/5;max-width:100%;border:1px solid var(--line);padding:12px}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait .mono{position:absolute;inset:12px;display:none;place-items:center;background:var(--wine-deep);font-family:var(--display);font-style:italic;font-size:5rem;color:var(--gold)}
.portrait.empty .mono{display:grid}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr}.portrait{max-width:360px}}

/* guide */
.guide .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.guide .wrap>div{min-width:0}
.numbers{display:flex;gap:40px;flex-wrap:wrap;margin:28px 0 30px}
.numbers b{display:block;font-family:var(--display);font-weight:400;font-size:2.6rem;line-height:1;color:var(--wine);font-variant-numeric:tabular-nums}
.numbers span{display:block;margin-top:8px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.reasons{list-style:none;margin:0;padding:0;border-top:1px solid rgba(91,26,42,.18)}
.reasons li{display:grid;grid-template-columns:44px 1fr;padding:14px 0;border-bottom:1px solid rgba(91,26,42,.18);font-family:var(--display);font-size:1.1rem;line-height:1.4}
.reasons li span{font-style:italic;color:#9A6B4F;font-size:.95rem}
.formbox{background:var(--wine);color:var(--cream);padding:40px 36px}
.formbox h3{margin-bottom:8px}
.formbox p{color:var(--muted);font-size:.95rem}
.field{display:flex;flex-direction:column;gap:6px;margin-top:18px}
.field label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.field input{font:inherit;font-weight:400;color:var(--cream);background:transparent;border:0;border-bottom:1px solid var(--line);padding:10px 0;border-radius:0}
.field input::placeholder{color:rgba(205,184,174,.55)}
.check{display:grid;grid-template-columns:20px 1fr;gap:10px;margin-top:20px;font-size:.88rem;line-height:1.5;color:var(--sand);align-items:start}
.check input{margin-top:4px;accent-color:var(--gold)}
.formbox .btn{width:100%;margin-top:26px}
.small{font-size:.78rem;color:var(--muted);margin-top:16px;max-width:none}
.small a{color:var(--sand)}
.hidden{position:absolute;left:-9999px}
@media(max-width:820px){.guide .wrap{grid-template-columns:1fr}.formbox{padding:32px 22px}}

/* about */
.about .wrap{max-width:820px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}
.facts div{background:var(--wine-deep);padding:22px 20px}
.facts b{display:block;font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--cream)}
.facts span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
@media(max-width:640px){.facts{grid-template-columns:1fr}}
.icon{width:30px;height:30px;stroke:var(--gold);fill:none;stroke-width:1.3;margin-bottom:18px}

/* challenge */
.inside{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.inside li{padding:18px 0;border-top:1px solid rgba(91,26,42,.18);min-width:0}
.inside b{display:block;font-family:var(--display);font-weight:400;font-size:1.15rem;color:var(--wine)}
.inside span{font-size:.95rem;color:var(--ink-soft)}
@media(max-width:640px){.inside{grid-template-columns:1fr}}
.soon{margin-top:36px;display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center}
.soon p{margin:0;color:var(--ink-soft)}

/* footer */
footer{background:var(--wine-deep);color:var(--muted);padding-block:48px;font-size:.85rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}
footer a{color:var(--sand);text-decoration:none}
footer a:hover{text-decoration:underline}
footer nav{display:flex;gap:24px;flex-wrap:wrap}

/* thanks / privacy */
.solo{min-height:100vh;display:flex;align-items:center;padding-block:120px}
.solo .wrap{max-width:760px}
.steps{list-style:none;padding:0;margin:32px 0 0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;padding:18px 0;border-top:1px solid var(--line)}
.steps li::before{content:counter(s,lower-roman)".";font-family:var(--display);font-style:italic;color:var(--gold)}
.prose h2{font-size:1.5rem;margin:36px 0 10px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

@media(max-width:820px){.callgrid{grid-template-columns:1fr !important;gap:36px !important}}
