:root{
  --paper:#FBF8F1; --paper-2:#F3ECDC; --card:#FFFFFF;
  --ink:#1C1824; --muted:#6B6584; --muted-soft:#8E88A6; --line:#E7DECA;
  --purple:#5B4F91; --purple-deep:#3E3468; --purple-bg:#EEEAF7;
  --coral:#D97757; --coral-bg:#FBE9E1;
  --gold:#C9A227;
  --shadow:0 1px 0 rgba(0,0,0,.02), 0 18px 40px -22px rgba(58,45,20,.28);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:'Work Sans',system-ui,-apple-system,sans-serif; color:var(--ink); background:var(--paper);}
h1,h2,h3{font-family:'Fraunces',Georgia,serif; margin:0;}
p{margin:0;}
.script{font-family:'Fraunces',Georgia,serif; font-style:italic; font-weight:500;}
a{color:var(--purple-deep); text-decoration:none;}
a:hover{color:var(--coral);}
img{max-width:100%;}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font:inherit; font-weight:700; font-size:.94rem; padding:.85rem 1.6rem; border-radius:100px; border:none; cursor:pointer; white-space:nowrap; transition:transform .18s ease, box-shadow .18s ease; text-decoration:none;}
.btn-primary{background:linear-gradient(120deg,var(--purple),var(--coral)); color:#fff; box-shadow:0 10px 24px -10px rgba(91,79,145,.55);}
.btn-primary:hover{transform:translateY(-2px) rotate(-.3deg); color:#fff;}
.btn-ghost{background:transparent; color:var(--ink); border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--purple); color:var(--purple);}
.btn-white{background:#fff; color:var(--purple-deep);}
.btn-white:hover{color:var(--coral);}
.btn-outline-white{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.4);}
.btn-outline-white:hover{color:#fff; border-color:#fff;}

.eyebrow{font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--coral); margin-bottom:12px;}
.h2{font-size:2.1rem; font-weight:600; max-width:560px; margin-bottom:12px; line-height:1.15;}
.lead-muted{font-size:1.02rem; color:var(--muted); max-width:560px; margin:0 auto 28px; line-height:1.6;}

.section{padding:96px 64px; position:relative;}
.section-inner{max-width:1140px; margin:0 auto;}
.section-alt{background:var(--paper-2);}

.card{background:var(--card); border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow);}

/* NAV */
.nav{position:sticky; top:0; z-index:40; background:rgba(251,248,241,.9); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.nav-inner{max-width:1140px; margin:0 auto; padding:18px 64px; display:flex; align-items:center; justify-content:space-between; gap:24px;}
.nav-logo{height:26px; width:auto; display:block;}
.nav-links{display:flex; align-items:center; gap:32px; font-size:.9rem; font-weight:600;}
.nav-cta{padding:.65rem 1.35rem; font-size:.86rem;}
.nav-toggle{display:none; flex-direction:column; gap:4px; background:none; border:none; cursor:pointer; padding:8px;}
.nav-toggle span{width:22px; height:2px; background:var(--ink); border-radius:2px;}
.nav-mobile{display:none; flex-direction:column; padding:0 24px 18px; gap:14px; font-weight:600;}
.nav-mobile.is-open{display:flex;}

/* HERO */
.hero{padding-top:80px; padding-bottom:64px;}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;}
h1{font-size:3.5rem; line-height:1.06; font-weight:600; letter-spacing:-.01em;}
.hero-lead{font-size:1.15rem; line-height:1.65; color:var(--muted); margin:24px 0 0; max-width:520px;}
.hero-ctas{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}
.hero-visual{position:relative; height:440px;}
.hero-blob{position:absolute; top:6%; left:4%; width:78%; height:78%; z-index:0;}
.deco{position:absolute; z-index:1;}
.deco-1{top:6%; right:10%;}
.deco-2{bottom:20%; left:2%; transform:rotate(12deg);}
.deco-3{top:44%; right:2%;}
.hero-mark{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:2;}
.hero-mark img{width:130px; height:auto; filter:drop-shadow(0 18px 30px rgba(62,52,104,.25));}
.hero-note{position:absolute; bottom:2%; right:0%; width:230px; padding:20px 22px; transform:rotate(-4deg); z-index:3;}
.hero-note .script{font-size:1.08rem; line-height:1.35; color:var(--purple-deep);}

/* MARQUEE */
.marquee{background:var(--purple); overflow:hidden; padding:18px 0;}
.marquee-track{display:flex; width:max-content; animation:scroll-left 26s linear infinite;}
.marquee-text{display:flex; align-items:center; gap:18px; padding-right:18px; font-family:'Fraunces',serif; font-size:1.3rem; font-weight:500; color:#fff; white-space:nowrap;}
@keyframes scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.marquee-track{animation:none;}}

/* PONTOS */
.squiggle{display:block; margin:14px 0 0;}
.points-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:44px;}
.point-card{padding:30px;}
.point-icon{width:44px; height:44px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.point-card h3{font-size:1.12rem; font-weight:600; margin-bottom:8px;}
.point-card p{font-size:.92rem; color:var(--muted); line-height:1.6;}

/* CHIPS */
.chip-row{display:flex; gap:10px; justify-content:center; flex-wrap:wrap;}
.chip{display:inline-flex; align-items:center; gap:7px; font:inherit; font-size:.84rem; font-weight:600; padding:9px 16px; border-radius:100px; border:1.5px solid var(--line); background:var(--card); color:var(--muted); cursor:default;}
.chip-solid{background:var(--purple); border-color:var(--purple); color:#fff;}
.chip-select{cursor:pointer; transition:all .15s ease;}
.chip-select.is-active{border-color:var(--purple); background:var(--purple-bg); color:var(--purple-deep);}

/* ORÇAMENTO */
.orcamento-head{text-align:center; max-width:600px; margin:0 auto 44px;}
.orcamento-form,.success-card{max-width:640px; margin:0 auto; padding:36px;}
.success-card{text-align:center; padding:48px 40px;}
.success-icon{width:56px; height:56px; border-radius:50%; background:var(--coral-bg); display:flex; align-items:center; justify-content:center; margin:0 auto 20px;}
.success-card h3{font-size:1.3rem; font-weight:600; margin-bottom:10px;}
.success-card p{color:var(--muted); font-size:.95rem; line-height:1.6;}
.orcamento-form label{display:block; font-size:.8rem; font-weight:600; color:var(--muted); margin-bottom:10px;}
.orcamento-form .chip-row{justify-content:flex-start; margin-bottom:26px;}
.field-block{margin-bottom:24px;}
.field-block input[type="range"]{width:100%; accent-color:var(--purple);}
.guests-phrase{font-size:.86rem; color:var(--coral); font-weight:600; margin-top:8px;}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:18px;}
input[type="text"],input[type="tel"],input[type="date"]{
  width:100%; font:inherit; font-size:.95rem; padding:.8rem .95rem; border:1.5px solid var(--line); border-radius:11px; background:var(--paper); color:var(--ink);
}
input:focus{outline:2px solid var(--purple); outline-offset:1px; border-color:var(--purple);}
.orcamento-submit{width:100%; margin-top:8px;}
.orcamento-note{font-size:.78rem; color:var(--muted-soft); text-align:center; margin-top:14px;}

/* CTA FINAL */
.cta-final{background:linear-gradient(120deg,var(--purple-deep),var(--purple)); color:#fff;}
.cta-final-inner{text-align:center; max-width:600px; margin:0 auto;}
.cta-final-inner p{font-size:1.02rem; color:rgba(255,255,255,.82); margin:16px 0 30px; display:block;}

/* FOOTER */
.footer{padding:44px 64px; background:var(--paper-2); border-top:1px solid var(--line);}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px;}
.footer-grid > div{display:flex; flex-direction:column; gap:9px; font-size:.86rem;}
.footer-logo{height:32px; width:auto; display:block; margin-bottom:6px;}
.footer-grid p{font-size:.85rem; color:var(--muted); max-width:280px; line-height:1.55;}
.footer-title{font-weight:700; font-size:.82rem; margin-bottom:6px;}
.footer-grid span{color:var(--muted);}
.footer-bottom{margin-top:30px; padding-top:18px; border-top:1px solid var(--line); font-size:.78rem; color:var(--muted-soft);}

@media (max-width: 900px){
  .section{padding:60px 24px;}
  .nav-inner{padding:16px 24px;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{order:-1; height:300px; margin-bottom:12px;}
  .points-grid{grid-template-columns:1fr;}
  .field-row{grid-template-columns:1fr;}
  .nav-links,.nav-cta{display:none;}
  .nav-toggle{display:flex;}
  .footer-grid{grid-template-columns:1fr; gap:32px;}
  h1{font-size:2.5rem;}
}
