:root{
  --clr-bg:#FBF6EF;
  --clr-surface:#FFFDFA;
  --clr-ink:#2B1810;
  --clr-ink-soft:#5C4A3D;
  --clr-ink-faint:#8A7263;
  --clr-line: rgba(43,24,16,.1);

  --clr-wine-950:#2E0E1F;
  --clr-wine-900:#3E1226;
  --clr-wine-700:#7A2048;
  --clr-wine-500:#9C3A63;
  --clr-terracotta:#C9703C;
  --clr-gold:#E3A857;
  --clr-gold-light:#F0C888;

  --shadow-sm: 0 1px 2px rgba(74,18,30,.08), 0 1px 1px rgba(74,18,30,.05);
  --shadow-md: 0 6px 16px rgba(74,18,30,.12), 0 2px 6px rgba(74,18,30,.08);
  --shadow-lg: 0 16px 40px rgba(74,18,30,.16), 0 4px 14px rgba(74,18,30,.1);
  --shadow-xl: 0 30px 70px rgba(74,18,30,.22), 0 10px 24px rgba(74,18,30,.12);

  --r-sm:10px;
  --r-md:18px;
  --r-lg:28px;
  --r-xl:44px;
  --r-full:999px;

  --ff:'Onest', sans-serif;

  --grad-1: linear-gradient(135deg,#2E0E1F 0%, #7A2048 38%, #C9703C 76%, #E3A857 100%);
  --grad-2: linear-gradient(150deg, #F0C888 0%, #E3A857 45%, #C9703C 100%);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--ff);
  color:var(--clr-ink);
  background:var(--clr-bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:var(--ff); font-weight:700; margin:0 0 .6em; color:var(--clr-ink); }
p{ margin:0 0 1em; color:var(--clr-ink-soft); }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:var(--ff); cursor:pointer; border:none; background:none; color:inherit; }
input,textarea{ font-family:var(--ff); }


.rpb{ position:fixed; top:0; left:0; height:3px; width:0%; background:linear-gradient(90deg,var(--clr-gold),var(--clr-terracotta),var(--clr-wine-700)); z-index:9999; transition:width .1s linear; }


.hdr{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:1.7rem 0;
  background:rgba(46,14,31,0);
  transition:padding .4s ease, background .4s ease, box-shadow .4s ease;
}
.hdr.is-scrolled{
  padding:.8rem 0;
  background:rgba(255,253,250,.88);
  backdrop-filter:blur(16px);
  box-shadow:var(--shadow-md);
}
.hdr-in{
  max-width:1280px; margin:0 auto; padding-inline:clamp(1.2rem,4vw,2.5rem);
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.hdr-logo{
  display:flex; align-items:center; gap:.55rem;
  font-size:clamp(1.15rem,2vw,1.5rem); font-weight:700; color:#fff;
  transition:font-size .4s ease, color .4s ease;
}
.hdr.is-scrolled .hdr-logo{ color:var(--clr-wine-900); font-size:1.1rem; }
.hdr-logo i{ color:var(--clr-gold); }
.hdr-logo em{ font-style:normal; font-weight:400; opacity:.85; }
.hdr-nav{ display:flex; gap:2rem; }
.hdr-nav a{
  position:relative; font-size:.95rem; font-weight:500; color:rgba(255,255,255,.92);
  padding-bottom:4px; transition:color .3s ease;
}
.hdr.is-scrolled .hdr-nav a{ color:var(--clr-ink-soft); }
.hdr-nav a::after{
  content:''; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--clr-gold); transition:width .3s ease;
}
.hdr-nav a:hover::after, .hdr-nav a.is-active::after{ width:100%; }
.hdr-nav a.is-active{ font-weight:600; }
.hdr-cta{
  background:var(--clr-gold); color:var(--clr-wine-950); font-weight:600;
  padding:.65rem 1.4rem; border-radius:var(--r-full); font-size:.9rem;
  box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
  white-space:nowrap;
}
.hdr-cta:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); background:var(--clr-gold-light); }
.hdr-burger{ display:none; flex-direction:column; gap:5px; width:44px; height:44px; align-items:center; justify-content:center; z-index:1100; }
.hdr-burger span{ width:24px; height:2px; background:#fff; border-radius:2px; transition:all .3s ease; }
.hdr.is-scrolled .hdr-burger span{ background:var(--clr-ink); }
.hdr-burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hdr-burger.is-open span:nth-child(2){ opacity:0; }
.hdr-burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }


.mnu{
  position:fixed; inset:0; z-index:1050;
  background:var(--grad-1);
  clip-path:polygon(100% 0%,100% 0%,100% 0%,100% 0%);
  transition:clip-path .65s cubic-bezier(.77,0,.18,1);
  display:flex; align-items:center; justify-content:center;
}
.mnu.is-open{ clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%); }
.mnu-links{ display:flex; flex-direction:column; gap:1.8rem; text-align:center; opacity:0; transition:opacity .4s ease .25s; }
.mnu.is-open .mnu-links{ opacity:1; }
.mnu-links a{ font-size:1.7rem; font-weight:600; color:#fff; }
.mnu-links a:hover{ color:var(--clr-gold); }


.hero{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  text-align:center; position:relative; padding:6rem 1.5rem 4rem;
}
.hero-in{ max-width:900px; }
.hero-eyebrow{ text-transform:uppercase; letter-spacing:.18em; font-size:.8rem; color:var(--clr-gold-light); margin-bottom:1.2rem; font-weight:600; }
.hero-word{
  font-size:clamp(4.5rem,16vw,11rem); font-weight:800; color:#fff; line-height:.95;
  margin:0 0 1rem; letter-spacing:-.02em;
}
.hero-sub{ font-size:clamp(1rem,2vw,1.2rem); color:rgba(255,255,255,.85); max-width:560px; margin:0 auto 2.2rem; }

.btn-ghost{
  display:inline-flex; align-items:center; gap:.6rem; padding:.9rem 1.8rem;
  border:1.5px solid rgba(255,255,255,.5); border-radius:var(--r-full); color:#fff; font-weight:500;
  transition:all .35s ease; backdrop-filter:blur(6px);
}
.btn-ghost:hover{ background:rgba(255,255,255,.14); border-color:#fff; transform:translateY(-2px); }


.pg-hero{ padding:9rem 1.5rem 5rem; text-align:center; }
.pg-hero-in{ max-width:800px; margin:0 auto; }
.pg-hero h1{ font-size:clamp(2.6rem,7vw,4.6rem); color:#fff; margin-bottom:.5rem; }
.pg-hero .hero-sub{ margin-bottom:0; }

.grad-1{ background:var(--grad-1); }
.grad-2{ background:var(--grad-2); }


.sec{
  position:relative; background:var(--clr-surface);
  border-radius:var(--r-xl) var(--r-xl) 0 0;
  margin-top:-2.4rem;
  box-shadow:0 -24px 50px rgba(43,24,16,.06);
  padding-block:clamp(4rem,8vw,7rem);
}
.sec--tips.grad-2, .sec--cta.grad-1{ background-attachment:initial; }
.sec-in{ max-width:1240px; margin:0 auto; padding-inline:clamp(1.2rem,4vw,2.5rem); }
.sec-in--narrow{ max-width:820px; }
.sec-tag{ text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:700; color:var(--clr-terracotta); margin-bottom:.8rem; }
.sec-title{ font-size:clamp(1.8rem,4vw,2.7rem); max-width:780px; }
.sec-title--sm{ font-size:clamp(1.4rem,3vw,1.9rem); }
.sec-lead{ max-width:680px; font-size:1.05rem; margin-bottom:2.5rem; }


.crd{
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.5);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-md);
  padding:2rem;
  transition:transform .4s ease, box-shadow .4s ease;
}
.crd:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.crd img{ width:100%; border-radius:var(--r-md); margin-bottom:1.3rem; aspect-ratio:16/10; object-fit:cover; }
.crd--wide{ max-width:900px; }
.crd-tag,.crd-txt h3{ color:var(--clr-ink); }
.crd-txt p{ font-size:.98rem; }
.crd-badge{ display:inline-block; background:var(--clr-wine-700); color:#fff; font-size:.75rem; font-weight:700; padding:.3rem .8rem; border-radius:var(--r-full); margin-bottom:.8rem; letter-spacing:.04em; }
.crd-ico{ font-size:1.7rem; color:var(--clr-terracotta); margin-bottom:1rem; width:56px; height:56px; display:flex; align-items:center; justify-content:center; background:rgba(201,112,60,.12); border-radius:var(--r-md); }
.crd--muted{ background:rgba(122,32,72,.06); display:flex; flex-direction:column; justify-content:center; }
.crd--outline{ background:rgba(255,255,255,.4); border:1.5px dashed rgba(122,32,72,.3); display:flex; gap:1.3rem; align-items:flex-start; }
.crd--glass2{ background:rgba(255,255,255,.4); border:1px solid rgba(255,255,255,.55); }
.crd--glassdark{ background:rgba(46,14,31,.35); border:1px solid rgba(255,255,255,.2); backdrop-filter:blur(24px); text-align:center; padding:3.2rem 2rem; }
.crd--glassdark h2{ color:#fff; font-size:clamp(1.7rem,3.5vw,2.3rem); }
.crd--glassdark p{ color:rgba(255,255,255,.85); max-width:560px; margin-inline:auto; }
.crd--glasslight{ background:rgba(255,255,255,.7); text-align:center; padding:3rem 2rem; }
.crd--glasslight h2{ font-size:clamp(1.6rem,3.2vw,2.1rem); }

.lnk{ color:var(--clr-wine-700); font-weight:600; display:inline-flex; align-items:center; gap:.4rem; transition:gap .3s ease, color .3s ease; }
.lnk:hover{ gap:.7rem; color:var(--clr-terracotta); }
.lnk--sm{ font-size:.85rem; }


.reg-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.crd--feature{ grid-column:span 3; display:grid; grid-template-columns:1.1fr 1fr; gap:2rem; align-items:center; }
.crd--feature img{ margin-bottom:0; height:100%; aspect-ratio:auto; }
.crd--muted{ grid-column:span 3; }


.tips-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }


.step-list{ display:flex; flex-direction:column; gap:2.5rem; max-width:900px; }
.step{ display:flex; gap:1.8rem; align-items:flex-start; }
.step-n{ font-size:2.6rem; font-weight:800; color:var(--clr-gold); line-height:1; opacity:.8; flex-shrink:0; }
.step-txt h3{ font-size:1.3rem; margin-bottom:.4rem; }


.split{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.split--rev .split-txt{ order:2; }
.split--rev .split-img{ order:1; }
.split-img img{ border-radius:var(--r-lg); box-shadow:var(--shadow-lg); width:100%; aspect-ratio:4/3; object-fit:cover; }
.split-txt p strong{ color:var(--clr-wine-700); }


.gal-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.gal-item{ position:relative; border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-md); display:block; aspect-ratio:3/4; }
.gal-item img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gal-item:hover img{ transform:scale(1.08); }
.gal-item span{
  position:absolute; bottom:0; left:0; right:0; padding:1rem .9rem;
  background:linear-gradient(to top, rgba(46,14,31,.85), transparent);
  color:#fff; font-weight:600; font-size:.9rem;
}


.cta-btns{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:1.5rem; }
.btn-solid{ background:var(--clr-wine-700); color:#fff; padding:.9rem 1.9rem; border-radius:var(--r-full); font-weight:600; transition:all .35s ease; box-shadow:var(--shadow-sm); display:inline-block; }
.btn-solid:hover{ background:var(--clr-wine-900); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-outline{ border:1.5px solid var(--clr-wine-700); color:var(--clr-wine-700); padding:.9rem 1.9rem; border-radius:var(--r-full); font-weight:600; transition:all .35s ease; display:inline-block; }
.btn-outline:hover{ background:var(--clr-wine-700); color:#fff; }
.btn-outline-dark{ border:1.5px solid var(--clr-ink); color:var(--clr-ink); padding:.75rem 1.4rem; border-radius:var(--r-full); font-weight:600; transition:all .3s ease; }
.btn-outline-dark:hover{ background:var(--clr-ink); color:#fff; }
.btn-outline-white{ border:1.5px solid #fff; color:#fff; padding:.9rem 2rem; border-radius:var(--r-full); font-weight:600; display:inline-block; transition:all .35s ease; }
.btn-outline-white:hover{ background:#fff; color:var(--clr-wine-900); }
.btn-full{ width:100%; text-align:center; }


.faq{ display:flex; flex-direction:column; gap:1rem; max-width:840px; }
.faq-item{ background:rgba(255,255,255,.6); border:1px solid rgba(255,255,255,.6); border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-sm); }
.faq-q{ width:100%; text-align:left; padding:1.3rem 1.6rem; font-weight:600; font-size:1.02rem; display:flex; justify-content:space-between; align-items:center; transition:color .3s ease; }
.faq-q i{ transition:transform .35s ease; color:var(--clr-terracotta); }
.faq-item.is-open .faq-q i{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s ease, padding .4s ease; padding:0 1.6rem; }
.faq-item.is-open .faq-a{ max-height:300px; padding:0 1.6rem 1.4rem; }
.faq-a p{ margin:0; font-size:.95rem; }


.sec--disclaimer .crd{ display:flex; gap:1.5rem; align-items:flex-start; }


.ftr{ background:var(--clr-wine-950); color:rgba(255,255,255,.75); padding:4.5rem 1.5rem 2rem; text-align:center; }
.ftr-in{ max-width:800px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:1.3rem; }
.ftr-logo{ font-size:1.4rem; font-weight:700; color:#fff; display:flex; align-items:center; gap:.5rem; }
.ftr-logo i{ color:var(--clr-gold); }
.ftr-logo em{ font-style:normal; font-weight:400; opacity:.8; }
.ftr-tag{ max-width:480px; color:rgba(255,255,255,.65); }
.ftr-nav{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem; }
.ftr-nav a{ font-size:.9rem; transition:color .3s ease; }
.ftr-nav a:hover{ color:var(--clr-gold); }
.ftr-contact{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.8rem; font-size:.88rem; color:rgba(255,255,255,.65); }
.ftr-contact i{ color:var(--clr-gold); margin-right:.4rem; }
.ftr-bar{ border-top:1px solid rgba(255,255,255,.14); padding-top:1.6rem; font-size:.8rem; color:rgba(255,255,255,.5); width:100%; }


.sec--contact .split{ align-items:start; }
.chat-wrap{ background:rgba(255,255,255,.55); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.55); border-radius:var(--r-lg); padding:2rem; box-shadow:var(--shadow-md); }
.chat{ display:flex; flex-direction:column; gap:.9rem; }
.chat-msg{ display:flex; }
.chat-msg--bot{ justify-content:flex-start; }
.chat-msg--user{ justify-content:flex-end; }
.chat-bubble{ background:var(--clr-wine-700); color:#fff; padding:.9rem 1.3rem; border-radius:18px 18px 18px 4px; max-width:80%; font-size:.95rem; }
.chat-input{ max-width:80%; width:100%; border:1.5px solid rgba(122,32,72,.25); border-radius:18px 18px 4px 18px; padding:.85rem 1.2rem; background:#fff; font-size:.95rem; color:var(--clr-ink); transition:border-color .3s ease, box-shadow .3s ease; }
.chat-input:focus{ outline:none; border-color:var(--clr-wine-700); box-shadow:0 0 0 3px rgba(122,32,72,.12); }
.chat-textarea{ resize:vertical; min-height:90px; }
.chat-msg--priv{ justify-content:flex-end; }
.chat-check{ display:flex; align-items:flex-start; gap:.6rem; background:#fff; border:1.5px solid rgba(122,32,72,.25); border-radius:18px 18px 4px 18px; padding:.9rem 1.2rem; max-width:80%; font-size:.86rem; color:var(--clr-ink-soft); }
.chat-check input{ margin-top:3px; width:18px; height:18px; accent-color:var(--clr-wine-700); flex-shrink:0; }
.chat-send{ align-self:flex-end; background:var(--clr-gold); color:var(--clr-wine-950); font-weight:700; padding:.85rem 1.8rem; border-radius:var(--r-full); display:inline-flex; align-items:center; gap:.6rem; transition:all .3s ease; box-shadow:var(--shadow-sm); margin-top:.5rem; }
.chat-send:hover{ background:var(--clr-gold-light); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.chat-note{ text-align:right; font-size:.85rem; color:var(--clr-wine-700); min-height:1.2em; }

.contact-side{ display:flex; flex-direction:column; gap:1.5rem; }
.contact-list li{ display:flex; align-items:center; gap:.7rem; padding:.6rem 0; font-size:.95rem; color:var(--clr-ink-soft); border-bottom:1px solid var(--clr-line); }
.contact-list li:last-child{ border-bottom:none; }
.contact-list i{ color:var(--clr-terracotta); width:18px; }

.map-frame{ width:100%; height:400px; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-lg); }


.legal{ max-width:900px; }
.legal-body h2{ font-size:1.4rem; margin-top:2.4rem; color:var(--clr-wine-900); }
.legal-body p{ font-size:1rem; }
.term{ color:var(--clr-wine-700); cursor:help; border-bottom:1.5px dotted var(--clr-wine-700); }
.def-box{ background:rgba(227,168,87,.15); border-left:4px solid var(--clr-gold); border-radius:var(--r-sm); padding:1rem 1.3rem; margin:.5rem 0 1.5rem; font-size:.92rem; color:var(--clr-ink-soft); }
.def-box strong{ color:var(--clr-wine-900); }
.clause{ margin-bottom:1.6rem; }
.clause h2{ font-size:1.25rem; color:var(--clr-wine-900); }
.legal-body--tech h2{ font-size:1.2rem; }


.thanks{ min-height:calc(100vh - 90px); display:flex; align-items:center; justify-content:center; text-align:center; padding:8rem 1.5rem 5rem; }
.thanks-in{ max-width:600px; }
.thanks-ico{ font-size:3.5rem; color:#fff; margin-bottom:1.5rem; }
.thanks h1{ color:#fff; font-size:clamp(2.4rem,6vw,4rem); }
.thanks p{ color:rgba(255,255,255,.88); font-size:1.1rem; margin-bottom:2.2rem; }


.ck-ov{ position:fixed; inset:0; background:rgba(46,14,31,.5); backdrop-filter:blur(3px); z-index:1900; opacity:0; visibility:hidden; transition:opacity .4s ease, visibility .4s ease; }
.ck-ov.is-visible{ opacity:1; visibility:visible; }
.ck{
  position:fixed; top:0; right:0; height:100%; width:min(320px,88vw); z-index:2000;
  background:rgba(255,253,250,.97); backdrop-filter:blur(20px);
  box-shadow:var(--shadow-xl); padding:1.8rem 1.5rem; overflow-y:auto;
  transform:translateX(105%); transition:transform .5s cubic-bezier(.77,0,.18,1);
  display:flex; flex-direction:column; gap:1.2rem;
}
.ck.is-open{ transform:translateX(0); }
.ck-head{ display:flex; align-items:center; gap:.7rem; position:relative; }
.ck-head i{ font-size:1.4rem; color:var(--clr-wine-700); }
.ck-head h3{ font-size:1.1rem; margin:0; }
.ck-x{ margin-left:auto; font-size:1.5rem; color:var(--clr-ink-faint); width:32px; height:32px; }
.ck-txt{ font-size:.88rem; color:var(--clr-ink-soft); }
.ck-cats{ display:flex; flex-direction:column; gap:1rem; }
.ck-cat{ border:1px solid var(--clr-line); border-radius:var(--r-md); padding:.9rem 1rem; }
.ck-cat-h{ display:flex; justify-content:space-between; align-items:center; font-weight:600; font-size:.92rem; margin-bottom:.3rem; }
.ck-cat p{ font-size:.82rem; margin:0; color:var(--clr-ink-faint); }
.ck-sw{ position:relative; display:inline-block; width:42px; height:24px; flex-shrink:0; }
.ck-sw input{ opacity:0; width:0; height:0; }
.ck-sw span{ position:absolute; inset:0; background:rgba(122,32,72,.2); border-radius:var(--r-full); transition:background .3s ease; }
.ck-sw span::before{ content:''; position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:transform .3s ease; box-shadow:var(--shadow-sm); }
.ck-sw input:checked + span{ background:var(--clr-wine-700); }
.ck-sw input:checked + span::before{ transform:translateX(18px); }
.ck-sw input:disabled + span{ opacity:.6; }
.ck-btns{ display:flex; flex-direction:column; gap:.7rem; margin-top:auto; padding-top:1rem; }


[data-aos]{ pointer-events:auto; }


@media(max-width:1080px){
  .reg-grid{ grid-template-columns:repeat(2,1fr); }
  .crd--feature, .crd--muted{ grid-column:span 2; }
  .tips-grid{ grid-template-columns:repeat(2,1fr); }
  .gal-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:860px){
  .hdr-nav, .hdr-cta{ display:none; }
  .hdr-burger{ display:flex; }
  .split{ grid-template-columns:1fr; }
  .split--rev .split-txt, .split--rev .split-img{ order:initial; }
  .crd--feature{ grid-template-columns:1fr; }
  .sec--contact .split{ grid-template-columns:1fr; }
}
@media(max-width:640px){
  .reg-grid{ grid-template-columns:1fr; }
  .crd--feature, .crd--muted{ grid-column:span 1; }
  .tips-grid{ grid-template-columns:1fr; }
  .gal-grid{ grid-template-columns:repeat(2,1fr); }
  .sec{ border-radius:var(--r-lg) var(--r-lg) 0 0; margin-top:-1.5rem; }
  .hero-word{ font-size:clamp(3.6rem,22vw,6rem); }
  .chat-bubble, .chat-input, .chat-check{ max-width:100%; }
  .step{ gap:1rem; }
  .ck{ width:100%; }
}
@media(max-width:420px){
  .hdr-in{ padding-inline:1rem; }
  .sec-in{ padding-inline:1.1rem; }
}