/* ---------- Design tokens ---------- */
:root{
  --rose: #b8507a;
  --rose-deep: #94395f;
  --rose-light: #d99aa8;
  --mauve: #c9918f;
  --gold: #c9a15f;
  --ink: #1b1420;
  --ink-2: #241a2b;
  --cream: #faf6f3;
  --cream-2: #f3ebe6;
  --white: #ffffff;
  --text: #3a2e35;
  --text-soft: #7a6a70;
  --shadow: 0 30px 60px -20px rgba(27,20,32,.35);
  --shadow-sm: 0 10px 30px -12px rgba(27,20,32,.25);
  --radius: 20px;
  --ff-serif: 'Playfair Display', serif;
  --ff-sans: 'Poppins', sans-serif;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family: var(--ff-sans);
  color: var(--text);
  background: var(--cream);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
.container{width:min(1180px, 92%); margin-inline:auto;}

/* ---------- Progress bar ---------- */
.progress-bar{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background: linear-gradient(90deg, var(--gold), var(--rose));
  z-index:9999; transition: width .1s linear;
}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0; transform: translateY(36px); transition: opacity .8s cubic-bezier(.16,.8,.3,1), transform .8s cubic-bezier(.16,.8,.3,1);}
.reveal.in{opacity:1; transform:none;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 16px 32px; border-radius: 100px; font-weight:600; font-size:.95rem;
  letter-spacing:.02em; cursor:pointer; border:none; transition: transform .35s cubic-bezier(.16,.8,.3,1), box-shadow .35s, background .35s, color .35s;
  transform-style:preserve-3d;
}
.btn-primary{
  background: linear-gradient(135deg, var(--rose), var(--rose-deep));
  color:#fff; box-shadow: 0 16px 30px -10px rgba(148,57,95,.55);
}
.btn-primary:hover{ transform: translateY(-3px) rotateX(6deg); box-shadow: 0 22px 40px -12px rgba(148,57,95,.6);}
.btn-ghost{
  background: rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.5);
  backdrop-filter: blur(6px);
}
.btn-ghost:hover{ background: rgba(255,255,255,.18); transform: translateY(-3px);}
.btn-outline{ background:transparent; color:var(--rose-deep); border:1.5px solid var(--rose); }
.btn-outline:hover{ background: var(--rose); color:#fff; transform: translateY(-3px);}
.btn-block{width:100%;}

/* ---------- Nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding: 18px 0; transition: background .4s, padding .4s, box-shadow .4s;
}
.nav.scrolled{
  background: rgba(250,246,243,.85); backdrop-filter: blur(14px);
  box-shadow: 0 10px 30px -20px rgba(27,20,32,.4); padding:10px 0;
}
.nav-inner{ width:min(1180px,92%); margin-inline:auto; display:flex; align-items:center; justify-content:space-between;}
.nav-logo img{height:54px; filter: brightness(0) invert(1); transition: filter .4s;}
.nav.scrolled .nav-logo img{filter:none;}
.nav-links{display:flex; align-items:center; gap:34px;}
.nav-links a{ font-size:.92rem; font-weight:500; color:#fff; transition: color .3s; position:relative;}
.nav.scrolled .nav-links a{color: var(--text);}
.nav-links a:not(.nav-cta)::after{
  content:''; position:absolute; left:0; bottom:-6px; width:0; height:2px; background: var(--gold); transition: width .3s;
}
.nav-links a:not(.nav-cta):hover::after{width:100%;}
.nav-cta{
  background: linear-gradient(135deg, var(--gold), var(--rose)); color:#fff !important;
  padding:10px 22px; border-radius:100px; font-weight:600;
}
.nav-toggle{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer;}
.nav-toggle span{width:24px; height:2px; background:#fff; transition:.3s;}
.nav.scrolled .nav-toggle span{background:var(--text);}

/* ---------- Hero ---------- */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:center;
  overflow:hidden; background: var(--ink);
  perspective: 1200px;
}
.hero-bg{position:absolute; inset:0;}
.hero-bg-layer{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; animation: kenburns-cycle 21s infinite;
  filter: saturate(1.3) contrast(1.1) brightness(1.05);
}
.layer-1{animation-delay:0s;}
.layer-2{animation-delay:7s;}
.layer-3{animation-delay:14s;}
@keyframes kenburns-cycle{
  0%{opacity:0; transform:scale(1.08);}
  4%{opacity:1;}
  30%{opacity:1; transform:scale(1.18);}
  34%{opacity:0;}
  100%{opacity:0;}
}
.hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(27,20,32,.75) 0%, rgba(27,20,32,.55) 40%, rgba(27,20,32,.92) 100%),
              radial-gradient(circle at 80% 20%, rgba(184,80,122,.35), transparent 55%);
}
.hero-shape{
  position:absolute; border-radius:50%; filter: blur(2px);
  background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.9), rgba(201,161,95,.15) 60%, transparent 70%);
  opacity:.55; pointer-events:none; transform-style:preserve-3d;
}
.shape-a{width:320px; height:320px; top:12%; right:8%; animation: float-a 9s ease-in-out infinite;}
.shape-b{width:180px; height:180px; bottom:14%; right:22%; animation: float-b 11s ease-in-out infinite;}
@keyframes float-a{0%,100%{transform:translate3d(0,0,0) rotate(0deg);}50%{transform:translate3d(-20px,26px,40px) rotate(15deg);}}
@keyframes float-b{0%,100%{transform:translate3d(0,0,0);}50%{transform:translate3d(18px,-22px,20px);}}

.hero-content{position:relative; z-index:2; padding-top:90px; color:#fff;}
.hero-eyebrow{
  display:inline-flex; align-items:center; gap:10px; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase;
  color: var(--rose-light); font-weight:600; margin-bottom:22px;
}
.hero-eyebrow .dot{width:8px; height:8px; border-radius:50%; background: var(--gold); box-shadow:0 0 0 6px rgba(201,161,95,.2);}
.hero-title{
  font-family: var(--ff-serif); font-weight:600; font-size: clamp(2.4rem, 5.4vw, 4.4rem); line-height:1.1;
  max-width: 16ch; margin-bottom:26px;
}
.hero-title .script{ font-style:italic; color: var(--rose-light); font-weight:500;}
.hero-sub{ max-width:52ch; font-size:1.08rem; line-height:1.75; color: rgba(255,255,255,.82); margin-bottom:36px;}
.hero-actions{display:flex; gap:18px; flex-wrap:wrap; margin-bottom:52px;}
.hero-badges{display:flex; gap:16px; flex-wrap:wrap;}
.badge-chip{
  display:flex; flex-direction:column; padding:14px 22px; border-radius:16px;
  background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); backdrop-filter: blur(10px);
  min-width:150px;
}
.badge-chip strong{font-family:var(--ff-serif); font-size:1.3rem; color:var(--gold);}
.badge-chip span{font-size:.78rem; color:rgba(255,255,255,.75); margin-top:2px;}

.scroll-cue{
  position:absolute; bottom:30px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px; color:rgba(255,255,255,.7);
  font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; z-index:2;
}
.scroll-cue span{width:1px; height:34px; background: linear-gradient(180deg, var(--gold), transparent); animation: scrolldown 1.8s infinite;}
@keyframes scrolldown{0%{transform:scaleY(.4); opacity:.4; transform-origin:top;} 50%{transform:scaleY(1); opacity:1;} 100%{transform:scaleY(.4); opacity:.4; transform-origin:bottom;}}

/* ---------- Kicker / headings ---------- */
.kicker{
  display:inline-block; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600;
  color: var(--rose-deep); margin-bottom:14px; position:relative; padding-bottom:10px;
}
.kicker::after{content:''; position:absolute; bottom:0; left:0; width:36px; height:2px; background: var(--gold);}
.center{text-align:center;}
.center.kicker::after{left:50%; transform:translateX(-50%);}
h2{font-family: var(--ff-serif); font-weight:600; font-size: clamp(1.9rem, 3.4vw, 2.7rem); line-height:1.25; color: var(--ink);}
.section-sub{max-width:60ch; color: var(--text-soft); font-size:1.02rem; line-height:1.7; margin-top:14px;}
.section-sub.center{margin-inline:auto;}

section{padding: 110px 0;}

/* ---------- Awards strip ---------- */
.awards-strip{ background: var(--cream); padding: 46px 0; border-bottom: 1px solid rgba(27,20,32,.06); }
.awards-label{ text-align:center; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color: var(--text-soft); margin-bottom:26px; }
.awards-row{ display:flex; align-items:center; justify-content:center; gap:36px; flex-wrap:wrap; }
.awards-row img{ height:76px; width:auto; filter: drop-shadow(0 8px 16px rgba(27,20,32,.12)); transition: transform .35s cubic-bezier(.16,.8,.3,1); }
.awards-row img:hover{ transform: translateY(-6px) scale(1.05); }

/* ---------- Stats strip ---------- */
.stats-strip{ background: var(--ink); color:#fff; padding: 70px 0 46px; position:relative; }
.stats-strip::before{content:''; position:absolute; inset:0; background: radial-gradient(circle at 15% 20%, rgba(184,80,122,.25), transparent 50%);}
.stats-grid{position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:36px 30px; text-align:center;}
.stat-num{font-family:var(--ff-serif); font-size: clamp(2.2rem,4vw,3rem); font-weight:700; color: var(--gold);}
.stat-plus{font-family:var(--ff-serif); font-size:1.6rem; color:var(--gold);}
.stat-prefix{margin-right:4px;}
.stat p{margin-top:8px; color:rgba(255,255,255,.72); font-size:.92rem;}
.stats-footnote{position:relative; text-align:center; font-size:.78rem; color:rgba(255,255,255,.45); margin-top:34px;}
section .stats-footnote{color:var(--text-soft);}

/* ---------- Story ---------- */
.story-grid{display:grid; grid-template-columns: .9fr 1.1fr; gap:70px; align-items:center;}
.story-visual{position:relative;}
.tilt-card{ position:relative; border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow); transform-style:preserve-3d; will-change:transform; transition: transform .15s ease-out;}
.tilt-card img{aspect-ratio:4/5; object-fit:cover; width:100%; height:100%; filter: saturate(1.25) contrast(1.08) brightness(1.04);}
.tilt-card-glow{position:absolute; inset:0; background: linear-gradient(135deg, rgba(255,255,255,.25), transparent 50%); mix-blend-mode:overlay; pointer-events:none;}
.story-award{
  position:absolute; bottom:-26px; left:-26px; background:#fff; border-radius:16px; padding:16px 22px;
  box-shadow: var(--shadow-sm); display:flex; align-items:center; gap:14px; border-left:4px solid var(--gold);
  max-width: 300px;
}
.story-award-badge{width:52px; height:52px; object-fit:contain; flex:none;}
.story-award-number{ font-family:var(--ff-serif); font-weight:700; font-size:1.6rem; color:var(--rose-deep); flex:none; }
.story-award strong{display:block; font-family:var(--ff-serif); color: var(--rose-deep); font-size:1.02rem;}
.story-award small{color:var(--text-soft); font-size:.76rem;}
.story-copy h2{margin-bottom:20px;}
.story-copy p{color: var(--text-soft); line-height:1.85; margin-bottom:18px;}
.story-points{margin-top:26px; display:flex; flex-direction:column; gap:14px;}
.story-points div{display:flex; align-items:center; gap:12px; font-weight:500; color:var(--text);}
.story-points i{width:8px; height:8px; border-radius:50%; background: var(--gold); flex:none;}

/* ---------- Experience ---------- */
.experience{ background: var(--ink); color:#fff; position:relative; overflow:hidden; }
.experience::before{content:''; position:absolute; inset:0; background: radial-gradient(circle at 90% 10%, rgba(201,161,95,.2), transparent 45%), radial-gradient(circle at 5% 95%, rgba(184,80,122,.2), transparent 50%);}
.experience-grid{position:relative; display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:center;}
.experience-stat{ display:flex; flex-direction:column; align-items:flex-start; border-left:3px solid var(--gold); padding-left:28px; }
.exp-number{ font-family:var(--ff-serif); font-weight:700; font-size:clamp(3.2rem,7vw,5.5rem); color:var(--gold); line-height:1; }
.exp-label{ margin-top:14px; font-size:1rem; color:rgba(255,255,255,.75); max-width:22ch; line-height:1.5; }
.experience-copy .kicker{color:var(--rose-light);}
.experience-copy .kicker::after{background:var(--gold);}
.experience-copy h2{color:#fff; margin-bottom:18px;}
.experience-copy > p{color:rgba(255,255,255,.72); line-height:1.8; margin-bottom:36px; max-width:62ch;}
.exp-pillars{display:flex; flex-direction:column; gap:26px;}
.exp-pillar{display:flex; gap:18px; align-items:flex-start;}
.exp-icon{ width:52px; height:52px; flex:none; border-radius:14px; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-size:1.4rem; }
.exp-pillar h3{ font-family:var(--ff-serif); font-size:1.05rem; margin-bottom:6px; color:#fff; }
.exp-pillar p{ color:rgba(255,255,255,.65); font-size:.92rem; line-height:1.6; }

/* ---------- Partners ---------- */
.partners{ background:#fff; }
.partners-grid{
  margin-top:48px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:38px 54px;
}
.partners-grid img{
  height:36px; width:auto; max-width:130px; object-fit:contain;
  filter: grayscale(1) opacity(.5); transition: filter .35s, transform .35s;
}
.partners-grid img:hover{ filter:grayscale(0) opacity(1); transform:translateY(-3px); }
.certifications-row{
  margin-top:44px; padding-top:36px; border-top:1px solid rgba(0,0,0,.07);
  display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center;
}
.certifications-row img{ height:56px; width:auto; }
.certifications-row p{ color:var(--text-soft); font-size:.88rem; max-width:52ch; }

/* ---------- Innovation ---------- */
.devices-row{ display:flex; gap:70px; justify-content:center; align-items:flex-end; flex-wrap:wrap; margin:56px 0 64px; }

.device-tablet, .device-tv{ display:flex; flex-direction:column; align-items:center; gap:16px; }
.device-frame{
  width:460px; max-width:88vw; aspect-ratio:4/3; background:var(--ink); border-radius:22px; padding:14px 18px 14px 10px;
  box-shadow: var(--shadow); position:relative;
}
.device-cam{ position:absolute; top:50%; right:7px; transform:translateY(-50%); width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.3); z-index:2; }
.device-screen{ width:100%; height:100%; border-radius:10px; background:#fff; overflow:hidden; position:relative; }
.device-screen iframe{
  position:absolute; top:0; left:0; width:780px; height:585px; border:none;
  pointer-events:none; transform: scale(0.54); transform-origin: top left;
}
.device-caption{ font-size:.82rem; color:var(--text-soft); text-align:center; max-width:270px; line-height:1.5; }

.tv-screen{
  width:360px; aspect-ratio:16/9; background:var(--ink); border-radius:10px; padding:10px;
  box-shadow: var(--shadow); position:relative; overflow:hidden;
}
.tv-slide{
  position:absolute; inset:10px; width:calc(100% - 20px); height:calc(100% - 20px); object-fit:cover;
  border-radius:4px; opacity:0; animation: tv-cycle 10s infinite; filter: saturate(1.2) contrast(1.05);
}
.tv-slide.slide-1{ animation-delay:0s; }
.tv-slide.slide-2{ animation-delay:5s; }
@keyframes tv-cycle{
  0%{opacity:0;} 4%{opacity:1;} 46%{opacity:1;} 50%{opacity:0;} 100%{opacity:0;}
}
.tv-stand{ width:64px; height:12px; background:var(--ink); border-radius:0 0 6px 6px; }
.tv-stand::after{ content:''; display:block; width:110px; height:6px; background:var(--ink); border-radius:4px; margin:4px auto 0; opacity:.85; }

/* ---------- Loyalty ---------- */
.loyalty{ background: var(--cream-2); }
.loyalty-visual{ display:flex; justify-content:center; align-items:center; }
.loyalty-cards-img{
  width:100%; max-width:420px; height:auto; object-fit:contain;
  filter: drop-shadow(0 30px 40px rgba(27,20,32,.28));
  transform-style:preserve-3d; will-change:transform; transition: transform .15s ease-out;
}

/* ---------- Gallery ---------- */
.gallery{background: var(--cream-2);}
.masonry{
  margin-top:56px; column-count:3; column-gap:22px;
}
.masonry-item{ break-inside: avoid; margin-bottom:22px; border-radius:18px; overflow:hidden; box-shadow: var(--shadow-sm); transform-style:preserve-3d; will-change:transform; transition: transform .15s ease-out;}
.masonry-item img{width:100%; height:auto; transition: transform .6s ease; filter: saturate(1.25) contrast(1.08) brightness(1.04);}
.masonry-item:hover img{transform:scale(1.06);}
.masonry-item.tall img{aspect-ratio:3/4; object-fit:cover;}

/* ---------- Advantages ---------- */
.adv-grid{margin-top:56px; display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
.adv-card{
  background:#fff; border-radius:18px; padding:32px 26px; box-shadow: var(--shadow-sm);
  transition: transform .4s cubic-bezier(.16,.8,.3,1), box-shadow .4s; border:1px solid rgba(0,0,0,.04);
}
.adv-card:hover{ transform: translateY(-8px) rotateX(4deg); box-shadow: var(--shadow);}
.adv-card.highlight{ border-top:3px solid var(--gold); background: linear-gradient(180deg, rgba(201,161,95,.08), #fff 45%); }
.adv-icon{font-size:2rem; margin-bottom:16px;}
.adv-card h3{font-family:var(--ff-serif); font-size:1.15rem; margin-bottom:10px; color:var(--ink);}
.adv-card p{color:var(--text-soft); font-size:.92rem; line-height:1.65;}

/* ---------- Compare ---------- */
.compare{background:var(--ink); color:#fff;}
.compare .kicker{color:var(--rose-light);}
.compare .kicker::after{background:var(--gold);}
.compare h2{color:#fff;}
.compare .section-sub{color:rgba(255,255,255,.65);}
.compare-table{margin-top:50px; border-radius:18px; overflow:hidden; border:1px solid rgba(255,255,255,.1);}
.ct-row{display:grid; grid-template-columns:1.2fr 1fr 1fr; text-align:center;}
.ct-row:nth-child(even){background: rgba(255,255,255,.03);}
.ct-cell{padding:18px 16px; font-size:.92rem; border-bottom:1px solid rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center;}
.ct-head{background: rgba(255,255,255,.06); font-weight:600; text-transform:uppercase; font-size:.76rem; letter-spacing:.08em;}
.ct-highlight{
  color: var(--gold); font-weight:700; background: rgba(201,161,95,.1);
  border-left:2px solid rgba(201,161,95,.5); border-right:2px solid rgba(201,161,95,.5);
}
.ct-head .ct-highlight{
  background: linear-gradient(135deg, var(--gold), #a97c3f); color: var(--ink); font-weight:800;
  border:2px solid var(--gold); flex-direction:column; gap:4px; padding-top:14px; padding-bottom:14px;
}
.ct-winner-tag{ font-size:.64rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700; color:var(--ink); }
.compare .stats-footnote{margin-top:24px; color:rgba(255,255,255,.45);}
.compare-banner{
  margin-top:28px; text-align:center; padding:20px 28px; border-radius:14px;
  background: linear-gradient(135deg, rgba(201,161,95,.18), rgba(184,80,122,.14));
  border:1px solid rgba(201,161,95,.4); color:#fff; font-size:1.02rem; line-height:1.6;
}
.compare-banner strong{color:var(--gold); font-family:var(--ff-serif); font-size:1.15rem;}

/* ---------- Packages ---------- */
.paths-banner{
  margin-top:40px; padding:26px 32px; border-radius:16px; background:#fff; border:1px solid rgba(0,0,0,.06);
  box-shadow: var(--shadow-sm); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px; text-align:center;
}
.path-item{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:.92rem; color:var(--rose-deep); white-space:nowrap; }
.path-icon{font-size:1.05rem;}
.path-sep{color:var(--text-soft); opacity:.5;}
.paths-banner p{ flex-basis:100%; margin-top:10px; color:var(--text-soft); font-size:.92rem; line-height:1.6; max-width:70ch; margin-inline:auto; }

.pkg-grid{margin-top:36px; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-items:stretch;}
.pkg-card{
  background:#fff; border-radius:22px; padding:40px 32px; box-shadow: var(--shadow-sm);
  display:flex; flex-direction:column; position:relative; border:1px solid rgba(0,0,0,.05);
  transition: transform .2s ease-out, box-shadow .4s;
}
.pkg-card:hover{box-shadow: var(--shadow);}
.pkg-card.featured{ background: linear-gradient(160deg, var(--ink) 0%, var(--rose-deep) 130%); color:#fff; transform: scale(1.04); box-shadow: var(--shadow);}
.pkg-tag{position:absolute; top:-14px; left:32px; background: var(--gold); color:var(--ink); font-size:.72rem; font-weight:700; padding:6px 14px; border-radius:100px; letter-spacing:.05em;}
.pkg-card h3{font-family:var(--ff-serif); font-size:1.5rem; margin-bottom:10px;}
.pkg-desc{color:var(--text-soft); font-size:.9rem; line-height:1.6; margin-bottom:22px; min-height:44px;}
.pkg-card.featured .pkg-desc{color:rgba(255,255,255,.75);}
.pkg-price{font-family:var(--ff-serif); font-size:2.2rem; font-weight:700; color:var(--rose-deep); margin-bottom:22px;}
.pkg-card.featured .pkg-price{color:var(--gold);}
.pkg-price span{font-size:1rem; font-weight:400; color:var(--text-soft);}
.pkg-card.featured .pkg-price span{color:rgba(255,255,255,.6);}
.pkg-list{margin-bottom:30px; flex:1; display:flex; flex-direction:column; gap:12px;}
.pkg-list li{padding-left:24px; position:relative; font-size:.92rem; line-height:1.5;}
.pkg-list li::before{content:'✓'; position:absolute; left:0; color: var(--gold); font-weight:700;}

/* ---------- Conversion ---------- */
.conversion{ background: var(--cream-2); }
.conversion-card{
  display:grid; grid-template-columns: 1.1fr .9fr; gap:0; background:#fff; border-radius:26px;
  box-shadow: var(--shadow); overflow:hidden; border:1px solid rgba(0,0,0,.05);
}
.conversion-copy{ padding: 56px 52px; }
.conversion-copy .kicker{ margin-bottom:12px; }
.conversion-copy h2{ margin-bottom:6px; }
.conversion-lead{ font-family:var(--ff-serif); font-style:italic; color:var(--rose-deep); font-size:1.15rem; margin-bottom:22px; }
.conversion-copy > p{ color:var(--text-soft); line-height:1.8; margin-bottom:26px; }
.conversion-points{ display:flex; flex-direction:column; gap:14px; }
.conversion-points li{ display:flex; align-items:flex-start; gap:12px; font-size:.94rem; line-height:1.55; color:var(--text); }
.conversion-points i{ width:8px; height:8px; border-radius:50%; background:var(--gold); flex:none; margin-top:7px; }

.conversion-plan{
  background: linear-gradient(165deg, var(--ink), var(--rose-deep) 140%); color:#fff; padding:52px 44px;
  display:flex; flex-direction:column; gap:14px;
}
.conversion-plan-tag{
  align-self:flex-start; background: rgba(201,161,95,.18); border:1px solid rgba(201,161,95,.4); color:var(--gold);
  font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:6px 14px; border-radius:100px; margin-bottom:10px;
}
.cp-model{ background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:6px 16px; margin-bottom:6px; }
.cp-model-label{ display:block; padding-top:10px; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--gold); }
.cp-model .cp-row:last-child{ border-bottom:none; }
.cp-row{ display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.12); font-size:.92rem;}
.cp-row span{ color:rgba(255,255,255,.75); }
.cp-row strong{ font-family:var(--ff-serif); color:#fff; font-size:1.05rem; text-align:right; }
.cp-total{ border-bottom:none; margin-top:4px; }
.cp-total span{ color:#fff; font-weight:600; }
.cp-total strong{ color:var(--gold); font-size:1.3rem; }
.cp-note{ font-size:.8rem; color:rgba(255,255,255,.6); line-height:1.6; margin:6px 0 8px; }

/* ---------- Process ---------- */
.timeline{margin-top:60px; display:grid; grid-template-columns:repeat(5,1fr); gap:24px; position:relative;}
.timeline::before{content:''; position:absolute; top:26px; left:8%; right:8%; height:1px; background: linear-gradient(90deg, transparent, var(--rose-light), transparent); z-index:0;}
.tl-step{position:relative; z-index:1; text-align:center;}
.tl-num{
  width:52px; height:52px; border-radius:50%; margin:0 auto 18px; display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, var(--rose), var(--rose-deep)); color:#fff; font-family:var(--ff-serif); font-weight:700;
  box-shadow: 0 12px 24px -8px rgba(148,57,95,.5);
}
.tl-step h3{font-family:var(--ff-serif); font-size:1.05rem; margin-bottom:8px; color:var(--ink);}
.tl-step p{font-size:.86rem; color:var(--text-soft); line-height:1.6;}

/* ---------- Contact ---------- */
.contact{position:relative; background: var(--ink); color:#fff; overflow:hidden;}
.contact-bg{position:absolute; inset:0; background: radial-gradient(circle at 85% 15%, rgba(201,161,95,.18), transparent 45%), radial-gradient(circle at 10% 90%, rgba(184,80,122,.22), transparent 50%);}
.contact-grid{position:relative; display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start;}
.contact-copy .kicker{color:var(--rose-light);}
.contact-copy .kicker::after{background:var(--gold);}
.contact-copy h2{color:#fff; margin-bottom:18px;}
.contact-copy p{color:rgba(255,255,255,.72); line-height:1.75; margin-bottom:36px;}
.contact-info{display:flex; flex-direction:column; gap:18px;}
.contact-info div{display:flex; flex-direction:column; gap:4px; border-left:2px solid var(--gold); padding-left:16px;}
.contact-info strong{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--rose-light);}
.contact-info span{color:#fff; font-weight:500;}

.contact-form{ background:#fff; border-radius:22px; padding:40px; color:var(--text); box-shadow: var(--shadow);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
.field{display:flex; flex-direction:column; gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-size:.82rem; font-weight:600; color: var(--text);}
.field input, .field select, .field textarea{
  padding:13px 16px; border-radius:10px; border:1.5px solid #e8ded8; font-family:var(--ff-sans); font-size:.94rem;
  background: var(--cream); transition: border-color .3s, box-shadow .3s; color: var(--text);
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color: var(--rose); box-shadow: 0 0 0 4px rgba(184,80,122,.12);}
.consent{display:flex; align-items:flex-start; gap:10px; font-size:.82rem; color:var(--text-soft); margin-bottom:24px; line-height:1.5;}
.consent input{margin-top:3px;}
.form-note{margin-top:14px; font-size:.88rem; text-align:center; min-height:20px; color: var(--rose-deep); font-weight:600;}

/* ---------- Footer ---------- */
.footer{background:#150f18; color:rgba(255,255,255,.7); padding:70px 0 0;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.08);}
.footer-brand img{height:50px; filter:brightness(0) invert(1); margin-bottom:14px;}
.footer-brand p{font-family:var(--ff-serif); font-style:italic; color:rgba(255,255,255,.5);}
.footer-col h5{color:#fff; font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:18px;}
.footer-col p, .footer-col a{display:block; margin-bottom:10px; font-size:.88rem; color:rgba(255,255,255,.6); transition: color .3s;}
.footer-col a:hover{color:var(--gold);}
.footer-bottom{display:flex; justify-content:space-between; padding:24px 0; font-size:.78rem; color:rgba(255,255,255,.4); flex-wrap:wrap; gap:10px;}

/* ---------- Responsive ---------- */
@media (max-width: 1024px){
  .adv-grid{grid-template-columns:repeat(2,1fr);}
  .pkg-grid{grid-template-columns:1fr; max-width:440px; margin-inline:auto;}
  .pkg-card.featured{transform:none;}
  .story-grid, .contact-grid, .experience-grid{grid-template-columns:1fr; gap:50px;}
  .experience-stat{border-left:none; border-top:3px solid var(--gold); padding-left:0; padding-top:20px;}
  .conversion-card{grid-template-columns:1fr;}
  .conversion-copy, .conversion-plan{padding:40px 28px;}
  .timeline{grid-template-columns:repeat(2,1fr); row-gap:40px;}
  .timeline::before{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 720px){
  .nav-links{
    position:fixed; inset:0 0 0 30%; background: var(--ink); flex-direction:column; justify-content:center; align-items:flex-start;
    padding:40px; gap:26px; transform:translateX(100%); transition: transform .4s cubic-bezier(.16,.8,.3,1);
  }
  .nav-links.open{transform:translateX(0);}
  .nav-links a{color:#fff !important; font-size:1.1rem;}
  .nav-toggle{display:flex;}
  .stats-grid{grid-template-columns:repeat(2,1fr); row-gap:36px;}
  .adv-grid{grid-template-columns:1fr;}
  .masonry{column-count:1;}
  .compare-table{overflow-x:auto;}
  .form-row{grid-template-columns:1fr;}
  .timeline{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  section{padding:80px 0;}
}
