:root {
  --wine: #3d1219;
  --wine-mid: #7a2f38;
  --gold: #c6a15b;
  --gold-light: #e9c987;
  --champagne: #f7f1e6;
  --cream: #fffaf2;
  --ink: #2d2422;
  --muted: #756864;
  --white: #fff;
  --shadow: 0 24px 70px rgba(61, 18, 25, .12);
  --radius-lg: 34px;
  --radius-md: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: "Montserrat", Arial, sans-serif;
  line-height: 1.7;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 {
  font-family: "Playfair Display", Georgia, serif;
  line-height: 1.12;
}
h2 { font-size: clamp(2.15rem, 4vw, 4.6rem); font-weight: 600; letter-spacing: -.035em; }
h3 { font-size: clamp(1.45rem, 2.2vw, 2.15rem); }
.eyebrow {
  color: var(--wine-mid);
  font-size: .77rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.section { padding: clamp(78px, 9vw, 140px) max(5vw, 24px); }
.section-heading { max-width: 760px; margin: 0 auto 58px; }
.section-heading.centered { text-align: center; }
.section-heading > p:not(.eyebrow) { color: var(--muted); font-size: 1.05rem; }
.narrow { max-width: 880px; margin: auto; text-align: center; }
.gold-line { display: block; width: 54px; height: 2px; margin: 0 auto 30px; background: var(--gold); }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 58px;
  padding: 0 28px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.button:hover { transform: translateY(-2px); box-shadow: 0 14px 35px rgba(61, 18, 25, .18); }
.button-primary { color: var(--white); background: var(--wine); }
.button-outline { color: var(--wine); border-color: var(--wine); background: transparent; }
.button-gold { color: var(--wine); background: linear-gradient(135deg, var(--gold-light), var(--gold)); }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 86px;
  padding: 0 max(4vw, 22px);
  color: var(--white);
  background: linear-gradient(to bottom, rgba(31, 8, 12, .64), transparent);
  transition: background .25s, box-shadow .25s, height .25s;
}
.site-header.scrolled { height: 72px; color: var(--wine); background: rgba(255, 250, 242, .96); box-shadow: 0 8px 30px rgba(61, 18, 25, .08); backdrop-filter: blur(14px); }
.brand,
.brand-lockup { display: inline-flex; flex-direction: column; align-items: center; width: max-content; text-decoration: none; line-height: 1; }
.brand-name { font-family: "Playfair Display", serif; font-size: 1.7rem; font-weight: 700; letter-spacing: .16em; margin-right: -.16em; }
.brand-sub { margin-top: 2px; font-size: .43rem; font-weight: 600; letter-spacing: .38em; margin-right: -.38em; text-transform: none; }
.site-nav { display: flex; align-items: center; gap: clamp(18px, 2.1vw, 36px); }
.site-nav a { font-size: .74rem; font-weight: 600; letter-spacing: .04em; text-decoration: none; }
.site-nav a:not(.nav-cta):hover { color: var(--gold); }
.nav-cta { padding: 11px 18px; border: 1px solid currentColor; border-radius: 999px; text-transform: uppercase; }
.menu-toggle { display: none; width: 42px; height: 42px; padding: 9px; border: 0; background: none; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: currentColor; }

.hero { position: relative; min-height: min(920px, 100svh); display: flex; align-items: center; color: var(--white); overflow: hidden; background: #b99a84; }
.hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 56% center; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(38, 10, 15, .88) 0%, rgba(38, 10, 15, .67) 32%, rgba(38, 10, 15, .10) 62%, rgba(38, 10, 15, .03) 100%); }
.hero-content { position: relative; z-index: 2; width: min(690px, 51vw); margin-left: max(6vw, 34px); padding: 120px 0 80px; }
.hero-brand { display: flex; align-items: center; gap: 22px; margin-bottom: 34px; }
.hero-brand .brand-lockup { color: var(--white); }
.hero-brand .brand-name { font-size: 1.52rem; }
.hero-brand .brand-sub { font-size: .4rem; }
.hero-brand em { color: var(--gold-light); font-family: "Great Vibes", cursive; font-size: 1.55rem; font-weight: 400; }
.hero .eyebrow { color: var(--gold-light); }
.hero h1 { margin-bottom: 24px; font-size: clamp(2.6rem, 5vw, 5.6rem); font-weight: 600; letter-spacing: -.05em; }
.hero h1 span { color: var(--gold-light); }
.hero-copy { max-width: 630px; color: rgba(255,255,255,.9); font-size: clamp(.98rem, 1.2vw, 1.12rem); }
.hero-mantra { margin: 28px 0 34px; color: var(--gold-light); font-weight: 600; }
.hero-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.hero-actions small { max-width: 430px; color: rgba(255,255,255,.72); font-size: .78rem; }
.scroll-hint { position: absolute; z-index: 2; left: 50%; bottom: 25px; width: 28px; height: 44px; border: 1px solid rgba(255,255,255,.5); border-radius: 18px; transform: translateX(-50%); }
.scroll-hint span { position: absolute; top: 8px; left: 12px; width: 3px; height: 8px; border-radius: 4px; background: white; animation: scroll 1.8s infinite; }
@keyframes scroll { 0% { opacity:0; transform:translateY(0); } 40%{opacity:1} 100%{opacity:0; transform:translateY(15px);} }

.thought-section { background: var(--champagne); }
.thought-stage { position: relative; width: min(980px, 100%); min-height: 690px; margin: 10px auto 32px; }
.thought-stage > img { position: absolute; left: 50%; bottom: 0; width: min(520px, 53%); border-radius: 50% 50% 24px 24px; transform: translateX(-50%); filter: drop-shadow(0 28px 45px rgba(61,18,25,.12)); }
.thought { position: absolute; max-width: 285px; padding: 18px 21px; border: 1px solid rgba(198,161,91,.42); border-radius: 18px; color: var(--wine); background: rgba(255,255,255,.9); box-shadow: 0 16px 42px rgba(61,18,25,.08); font-family: "Playfair Display", serif; font-size: 1rem; line-height: 1.35; }
.thought::after { content:""; position:absolute; width:11px; height:11px; background:inherit; transform:rotate(45deg); }
.thought-1 { left: 0; top: 70px; }.thought-1::after{right:-6px;bottom:24px}
.thought-2 { right: 0; top: 45px; }.thought-2::after{left:-6px;bottom:24px}
.thought-3 { left: 3%; top: 300px; }.thought-3::after{right:-6px;top:25px}
.thought-4 { right: 0; top: 285px; }.thought-4::after{left:-6px;top:25px}
.thought-5 { right: 12%; bottom: 25px; }.thought-5::after{left:-6px;top:25px}
.thought-close { max-width: 720px; margin: auto; text-align: center; font-family: "Playfair Display", serif; font-size: clamp(1.25rem, 2vw, 1.75rem); }

.transition-section { color: var(--white); background: var(--wine); }
.transition-section .eyebrow { color: var(--gold-light); }
.transition-section p:not(.eyebrow) { max-width: 760px; margin-left: auto; margin-right: auto; color: rgba(255,255,255,.82); font-size: 1.05rem; }
.transition-section .signature-line { margin-top: 34px; color: var(--gold-light) !important; font-family: "Playfair Display", serif; font-size: 1.35rem !important; font-style: italic; }

.steps-section { background: var(--cream); }
.steps { max-width: 1040px; margin: 0 auto; padding: 0; list-style: none; counter-reset: step; }
.steps li { display: grid; grid-template-columns: 90px 1fr; gap: 28px; padding: 28px 0; border-bottom: 1px solid rgba(61,18,25,.12); }
.steps li > span { color: var(--gold); font-family: "Playfair Display", serif; font-size: 2.4rem; }
.steps h3 { margin: 0 0 6px; font-size: 1.45rem; }
.steps p { margin: 0; color: var(--muted); }
.center-action { margin-top: 46px; text-align: center; }

.structure-section { color: var(--white); background: linear-gradient(145deg, #491720, var(--wine) 55%, #25090d); }
.light .eyebrow { color: var(--gold-light); }
.benefit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 1180px; margin: auto; }
.benefit-card { position: relative; min-height: 360px; padding: clamp(34px, 5vw, 68px); border: 1px solid rgba(233,201,135,.24); border-radius: var(--radius-lg); background: rgba(255,255,255,.055); overflow: hidden; }
.benefit-card::after { content:""; position:absolute; inset:auto -60px -90px auto; width:250px; height:250px; border:1px solid rgba(233,201,135,.12); border-radius:50%; }
.benefit-icon { margin-bottom: 55px; color: var(--gold-light); font-size: 2.5rem; }
.card-kicker { margin-bottom: 8px; color: var(--gold-light); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.benefit-card p:last-child { color: rgba(255,255,255,.72); }
.profit-number { display: block; margin-bottom: 32px; color: var(--gold-light); font-family: "Playfair Display", serif; font-size: clamp(4.8rem, 8vw, 8rem); line-height: .9; opacity: .9; }
.showcase { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(28px, 5vw, 70px); align-items: center; max-width: 1320px; margin: 110px auto 0; }
.showcase-copy p:not(.card-kicker) { color: rgba(255,255,255,.72); }
.small-note, .disclaimer { font-size: .73rem; opacity: .72; }
.showcase-images { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.showcase-images-single { grid-template-columns: 1fr; }
.showcase-images figure { margin: 0; overflow: hidden; border-radius: 24px; background: #6a343b; }
.showcase-images img { width: 100%; height: 330px; object-fit: cover; }
.showcase-images-single img { height: min(560px, 48vw); object-position: right center; }
.showcase-images figcaption { padding: 14px 18px; color: var(--gold-light); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.digital-tools { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(38px, 7vw, 100px); align-items: center; max-width: 1180px; margin: 130px auto 0; }
.digital-tools .eyebrow { color: var(--gold-light); }
.tool-copy > p:not(.eyebrow) { color: rgba(255,255,255,.72); }
.check-list { margin: 28px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; margin: 13px 0; padding-left: 27px; color: rgba(255,255,255,.82); }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--gold-light); font-weight:700; }
.phones { display: flex; justify-content: center; gap: 30px; }
.phone-card { width: min(245px, 45%); margin: 0; }
.phone-card-raised { transform: translateY(45px); }
.phone { position: relative; aspect-ratio: 691/1536; overflow: hidden; border: 10px solid #171313; border-radius: 34px; background: white; box-shadow: 0 30px 70px rgba(0,0,0,.34); }
.phone::before { content:""; position:absolute; z-index:3; top:5px; left:50%; width:31%; height:17px; border-radius:0 0 12px 12px; background:#171313; transform:translateX(-50%); }
.phone img { width:100%; height:100%; object-fit:cover; }
.status-mask { position:absolute; z-index:2; inset:0 0 auto; height:4.1%; }
.status-mask-light { background:#fff8f4; }
.status-mask-dark { background:#111; }
.privacy-mask { position: absolute; z-index: 2; display:flex; align-items:center; justify-content:center; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.catalog-mask { top: 18.9%; left: 2%; width: 76%; height: 4.3%; color: var(--wine); background: white; font-size: .55rem; }
.management-mask { top: 2.8%; left: 10%; width: 80%; height: 7%; color: white; background: #20b89f; font-size: .56rem; }
.phone-card figcaption { display:flex; flex-direction:column; margin-top:18px; font-size:.72rem; }
.phone-card figcaption strong { color:var(--gold-light); font-family:"Playfair Display",serif; font-size:1.15rem; }
.phone-card figcaption span { color:rgba(255,255,255,.63); }
.disclaimer { max-width: 1180px; margin: 62px auto 0; color: rgba(255,255,255,.55); text-align: right; }
.rewards { display:grid; grid-template-columns:100px 1fr; gap:28px; align-items:center; max-width:900px; margin:100px auto 0; padding:38px; border:1px solid rgba(233,201,135,.26); border-radius:var(--radius-md); }
.rewards-symbol { color:var(--gold-light); font-size:4rem; text-align:center; }
.rewards h3 { margin-bottom:8px; }
.rewards p:last-child { margin-bottom:0; color:rgba(255,255,255,.7); }

.community-section { display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(44px,7vw,105px); align-items:center; background:var(--champagne); }
.community-image { overflow:hidden; border-radius:var(--radius-lg); box-shadow:var(--shadow); }
.community-image img { width:100%; min-height:530px; object-fit:cover; }
.community-copy p:not(.eyebrow) { color:var(--muted); }
.community-copy blockquote, .founder-copy blockquote { margin:34px 0 0; padding-left:26px; border-left:2px solid var(--gold); color:var(--wine); font-family:"Playfair Display",serif; font-size:1.35rem; font-style:italic; }

.for-you-section { background:var(--cream); }
.for-you-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1180px; margin:auto; }
.for-you-grid article { padding:40px 34px; border:1px solid rgba(61,18,25,.1); border-radius:var(--radius-md); background:white; }
.for-you-grid span { color:var(--gold); font-family:"Playfair Display",serif; font-size:2rem; }
.for-you-grid h3 { margin-top:38px; font-size:1.5rem; }
.for-you-grid p { margin:0; color:var(--muted); }
.for-you-close { max-width:860px; margin:54px auto 0; text-align:center; font-family:"Playfair Display",serif; font-size:clamp(1.25rem,2.2vw,1.8rem); }

.serious-section { background:linear-gradient(135deg,#efe3d4,#f9f3ea); }
.serious-card { max-width:1000px; margin:auto; padding:clamp(40px,7vw,90px); border:1px solid rgba(198,161,91,.32); border-radius:var(--radius-lg); text-align:center; background:rgba(255,255,255,.7); box-shadow:var(--shadow); }
.serious-card p:not(.eyebrow) { max-width:800px; margin-left:auto; margin-right:auto; color:var(--muted); }

.founder-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(44px,7vw,110px); align-items:center; background:white; }
.founder-portrait { overflow:hidden; min-height:720px; border-radius:var(--radius-lg); box-shadow:var(--shadow); }
.founder-portrait img { width:100%; height:720px; object-fit:cover; object-position:68% center; }
.founder-copy > p:not(.eyebrow):not(.founder-sign) { color:var(--muted); }
.founder-copy blockquote { font-size:1.15rem; }
.founder-copy blockquote cite { display:block; margin-top:12px; color:var(--muted); font-family:"Montserrat",sans-serif; font-size:.72rem; font-style:normal; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.founder-sign { display:flex; align-items:center; gap:22px; margin-top:32px; color:var(--wine); }
.founder-sign .brand-name { font-size:1.8rem; }
.founder-sign .brand-sub { font-size:.45rem; }
.founder-sign em { color:var(--gold); font-family:"Great Vibes",cursive; font-size:1.9rem; font-weight:400; }

.quiz-section { color:white; background:var(--wine); }
.quiz-card { max-width:970px; margin:auto; text-align:center; }
.quiz-card .eyebrow { color:var(--gold-light); }
.quiz-card > p:not(.eyebrow) { max-width:700px; margin:0 auto 34px; color:rgba(255,255,255,.74); }
.quiz-card small, .final-cta small { display:block; max-width:650px; margin:18px auto 0; color:rgba(255,255,255,.6); }

.faq-section { background:var(--champagne); }
.faq-list { max-width:920px; margin:auto; }
.faq-list details { border-bottom:1px solid rgba(61,18,25,.17); }
.faq-list summary { display:flex; justify-content:space-between; gap:20px; padding:25px 0; color:var(--wine); font-family:"Playfair Display",serif; font-size:1.2rem; font-weight:600; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--gold); font-family:"Montserrat",sans-serif; transition:transform .25s; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { padding:0 55px 25px 0; color:var(--muted); }

.final-cta { position:relative; color:white; text-align:center; background:linear-gradient(135deg,#27090d,#531a23); overflow:hidden; }
.final-cta::before,.final-cta::after { content:""; position:absolute; border:1px solid rgba(233,201,135,.13); border-radius:50%; }
.final-cta::before { width:460px;height:460px;left:-190px;top:-220px; }
.final-cta::after { width:600px;height:600px;right:-260px;bottom:-360px; }
.final-cta > div { position:relative;z-index:1;max-width:950px;margin:auto; }
.final-cta .eyebrow { color:var(--gold-light); }
.final-cta p:not(.eyebrow) { max-width:760px;margin:0 auto 34px;color:rgba(255,255,255,.75); }

.site-footer { display:grid; grid-template-columns:.8fr 1.2fr 1fr; gap:50px; padding:65px max(5vw,24px); color:white; background:#1d080b; font-size:.78rem; }
.footer-brand { display:flex; flex-direction:column; align-items:flex-start; }
.footer-brand em { margin-top:16px;color:var(--gold-light);font-family:"Great Vibes",cursive;font-size:1.45rem; }
.footer-info { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.footer-info a { color:rgba(255,255,255,.75);text-decoration:none; }
.footer-info a:hover { color:var(--gold-light); }
.footer-legal { color:rgba(255,255,255,.52); }

.whatsapp-float { position:fixed;z-index:90;right:22px;bottom:22px;display:flex;align-items:center;gap:9px;padding:11px 16px 11px 12px;border-radius:999px;color:white;background:#25d366;box-shadow:0 13px 35px rgba(0,0,0,.22);font-size:.72rem;font-weight:700;text-decoration:none; }
.whatsapp-float svg { width:25px;height:25px;fill:currentColor; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 980px) {
  .site-nav { position:fixed;inset:72px 0 auto;display:none;flex-direction:column;align-items:stretch;padding:24px;background:var(--cream);color:var(--wine);box-shadow:0 18px 35px rgba(61,18,25,.12); }
  .site-nav.open { display:flex; }
  .menu-toggle { display:block;color:inherit; }
  .hero { min-height:900px;align-items:flex-end; }
  .hero > img { object-position:67% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(38,10,15,.95) 0%,rgba(38,10,15,.76) 48%,rgba(38,10,15,.06) 75%); }
  .hero-content { width:auto;margin:0;padding:390px 24px 70px; }
  .hero h1 { font-size:clamp(2.5rem,8vw,4.2rem); }
  .scroll-hint { display:none; }
  .thought-stage { display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:0; }
  .thought-stage > img { position:relative;grid-column:1/-1;grid-row:1;left:auto;bottom:auto;width:min(440px,82%);margin:auto;transform:none; }
  .thought { position:relative;inset:auto;max-width:none; }
  .thought::after { display:none; }
  .showcase,.digital-tools,.community-section,.founder-section { grid-template-columns:1fr; }
  .benefit-grid { grid-template-columns:1fr; }
  .digital-tools { gap:55px; }
  .founder-portrait { min-height:520px; }
  .founder-portrait img { height:520px; }
  .for-you-grid { grid-template-columns:1fr; }
  .site-footer { grid-template-columns:1fr 1fr; }
}

@media (max-width: 640px) {
  .section { padding:72px 20px; }
  h2 { font-size:2.25rem; }
  .site-header { height:70px;padding:0 18px; }
  .site-header.scrolled { height:64px; }
  .site-nav { inset:64px 0 auto; }
  .brand-name { font-size:1.35rem; }
  .brand-sub { font-size:.48rem; }
  .hero { min-height:880px; }
  .hero > img { height:52%;object-position:64% top; }
  .hero-shade { background:linear-gradient(0deg,rgba(38,10,15,1) 0%,rgba(38,10,15,.96) 56%,rgba(38,10,15,.08) 78%); }
  .hero-content { padding:355px 20px 50px; }
  .hero-brand { flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:22px; }
  .founder-sign { flex-direction:column;align-items:flex-start;gap:10px; }
  .hero h1 { font-size:2.7rem; }
  .hero-copy { font-size:.93rem; }
  .button { width:100%;padding:0 20px;font-size:.76rem; }
  .thought-stage { grid-template-columns:1fr; }
  .thought-stage > img { width:100%; }
  .steps li { grid-template-columns:56px 1fr;gap:14px; }
  .steps li > span { font-size:1.7rem; }
  .showcase-images { grid-template-columns:1fr; }
  .showcase-images img { height:240px; }
  .phones { gap:12px; }
  .phone-card { width:48%; }
  .phone { border-width:6px;border-radius:24px; }
  .phone-card-raised { transform:translateY(28px); }
  .rewards { grid-template-columns:1fr;text-align:center;padding:30px 22px; }
  .community-image img { height:300px;min-height:0;object-position:center; }
  .serious-card { padding:34px 22px; }
  .faq-list summary { padding:22px 0;font-size:1.08rem; }
  .faq-list details p { padding:0 0 22px; }
  .founder-portrait,.founder-portrait img { min-height:380px;height:380px; }
  .site-footer { grid-template-columns:1fr;gap:28px; }
  .footer-info { gap:10px; }
  .footer-info a { line-height:1.55; }
  .whatsapp-float { right:14px;bottom:14px;padding:12px; }
  .whatsapp-float span { display:none; }
}

@media (max-width: 380px) {
  h2 { font-size:2rem; }
  .hero h1 { font-size:2.3rem; }
  .section { padding-right:18px;padding-left:18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none!important;transition:none!important; }
  .reveal { opacity:1;transform:none; }
}
