/* ===================== TopClean — premium brand system ===================== */
:root{
  --petrol:#005b5b;
  --petrol-0:#004b4b;
  --turq:#007c7a;
  --turq-light:#46b9b1;
  --shadow:#062d2d;
  --shadow-deep:#031f1f;
  --gold:#c8a85a;
  --gold-light:#f1d88b;
  --gold-deep:#9c7e3c;
  --cream:#f5e8c8;
  --cream-dim:#cfc8ad;
  --wa:#25d366;

  --gold-grad:linear-gradient(165deg,#fbf1c2 0%,#f1d88b 20%,#d7b863 44%,#a9883f 60%,#ecd07e 82%,#8c6d30 100%);
  --gold-line:linear-gradient(90deg,transparent,#c8a85a 18%,#f1d88b 50%,#c8a85a 82%,transparent);

  --panel:rgba(4,30,33,.5);
  --panel-strong:rgba(3,23,26,.72);
  --card:rgba(3,33,35,.62);
  --card-soft:rgba(8,52,54,.5);
  --hairline:rgba(241,216,139,.28);

  --font-display:"Cinzel",serif;
  --font-script:"Pacifico",cursive;
  --font-body:"Mulish",system-ui,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--cream);
  background:var(--shadow-deep);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;}

/* -------- fixed leather background (no tiling, premium) -------- */
#bg{
  position:fixed;inset:0;z-index:-3;
  background:url("assets/leather.png") center top/cover no-repeat;
  background-color:var(--petrol-0);
}
#bg-vignette{
  position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(70,185,177,.16), transparent 55%),
    radial-gradient(130% 120% at 50% 120%, rgba(3,23,26,.85), transparent 60%),
    linear-gradient(180deg, rgba(3,23,26,.30), rgba(3,23,26,.30));
}

/* ============================ typography helpers ============================ */
h1,h2,h3,h4{margin:0;}
.h-display{font-family:var(--font-display);font-weight:700;letter-spacing:.01em;}
.h-script{font-family:var(--font-script);font-weight:400;}
.gold-text{
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 1px 1px rgba(0,0,0,.18);
}
.eyebrow{
  font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;
  font-size:clamp(10px,2.6vw,12.5px);font-weight:600;
}
.kicker{display:inline-flex;align-items:center;gap:.8em;color:var(--gold);justify-content:center;font-family:var(--font-display);font-size:clamp(13px,2vw,16px);font-weight:700;letter-spacing:.18em;text-transform:uppercase;}
.kicker::before,.kicker::after{content:"";width:30px;height:2px;border-radius:2px;background:var(--gold-grad);}
.kicker.left::before{display:none;}

/* ============================== layout ============================== */
.wrap{max-width:1080px;margin:0 auto;padding:0 clamp(18px,5vw,36px);}
section{position:relative;}
.sec{padding:clamp(52px,9vw,104px) 0;}
.panel{position:relative;}
.panel::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--panel);}
.panel-strong::before{background:var(--panel-strong);}

.section-head{text-align:center;margin-bottom:clamp(28px,5vw,48px);}
.section-title{font-family:var(--font-display);font-weight:700;font-size:clamp(26px,5.4vw,44px);letter-spacing:.015em;}
.section-sub{color:var(--cream-dim);max-width:560px;margin:.85em auto 0;font-size:clamp(15px,2.2vw,17px);line-height:1.6;text-wrap:pretty;}

/* gold ornamental divider between sections */
.divider{display:flex;align-items:center;justify-content:center;gap:14px;padding:6px 0;}
.divider span{height:2px;width:min(34vw,260px);background:var(--gold-line);border-radius:2px;}
.divider i{width:9px;height:9px;background:var(--gold-grad);transform:rotate(45deg);box-shadow:0 0 10px rgba(241,216,139,.5);flex:none;}

/* ============================== buttons ============================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font-body);font-weight:800;font-size:clamp(15px,2vw,17px);
  padding:.92em 1.5em;border-radius:999px;border:none;cursor:pointer;text-decoration:none;
  line-height:1;transition:transform .15s ease,box-shadow .25s ease,filter .2s ease;white-space:nowrap;
}
.btn svg{width:1.25em;height:1.25em;flex:none;}
.btn-wa{background:linear-gradient(180deg,#2be978,#17a44d);color:#04231a;
  box-shadow:0 12px 26px -10px rgba(37,211,102,.7),inset 0 1px 0 rgba(255,255,255,.55);}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 18px 34px -10px rgba(37,211,102,.8),inset 0 1px 0 rgba(255,255,255,.55);}
.btn-gold{background:var(--gold-grad);color:#3a2c08;box-shadow:0 12px 24px -12px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.6);}
.btn-gold:hover{transform:translateY(-2px);filter:brightness(1.05);}
.btn-ghost{background:rgba(0,0,0,.18);color:var(--cream);border:1.5px solid var(--hairline);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-light);}
.btn-sm{padding:.66em 1.1em;font-size:14px;}

/* ============================== top bar ============================== */
.topbar{
  position:sticky;top:0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px clamp(14px,4vw,30px);
  background:linear-gradient(180deg,rgba(3,23,26,.92),rgba(3,23,26,.74));
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--hairline);
}
.topbar .brand{display:flex;align-items:center;gap:10px;}
.topbar .brand img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));}
.topbar .brand b{font-family:var(--font-script);font-size:22px;color:var(--cream);font-weight:400;line-height:1;}
.topbar .brand small{display:block;font-size:9px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin-top:1px;}

/* ============================== hero ============================== */
.hero{position:relative;overflow:hidden;padding:clamp(48px,10vw,96px) 0 clamp(40px,8vw,84px);}
.hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(14px,2.5vw,20px);}
.hero-eyebrow{color:var(--gold-light);}
.hero-title{width:100%;font-size:clamp(44px,10vw,78px);line-height:1.0;}
.hero-title .h-display{display:block;font-size:.88em;letter-spacing:.03em;color:var(--cream);}
.hero-title .h-script{display:block;font-size:.84em;line-height:1.2;padding-bottom:.16em;margin-top:.06em;white-space:nowrap;}
.hero-sub{max-width:600px;color:var(--cream-dim);font-size:clamp(17px,2.2vw,22px);line-height:1.6;text-wrap:pretty;}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:8px;}
.hero-chips{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;margin-top:10px;font-size:13.5px;color:var(--cream-dim);}
.chip-lead{display:inline-flex;align-items:center;gap:6px;color:var(--gold-light);font-weight:800;}
.chip-lead svg{width:16px;height:16px;}
.chip{padding:5px 12px;border-radius:999px;border:1px solid var(--hairline);background:rgba(241,216,139,.07);color:var(--cream);}
.dotsep{opacity:.45;}

/* split hero */
.hero-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(22px,5vw,52px);align-items:center;text-align:left;}
.hero-split .hero-eyebrow,.hero-split .hero-title,.hero-split .hero-sub{text-align:left;}
.hero-split .hero-title .h-script{text-align:left;}
.hero-split .hero-cta,.hero-split .hero-chips{justify-content:flex-start;}
.hero-photo{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/5;
  border:2px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--gold-grad) border-box;
  box-shadow:0 26px 60px -24px rgba(0,0,0,.8);}
.hero-photo image-slot{width:100%;height:100%;display:block;}

/* floating droplets */
.droplet{position:absolute;border-radius:50% 50% 50% 50%/60% 60% 42% 42%;
  background:radial-gradient(circle at 36% 26%, rgba(255,255,255,.9), rgba(150,222,224,.55) 36%, rgba(15,90,92,.3) 76%);
  box-shadow:inset -2px -3px 6px rgba(0,45,45,.4),0 4px 10px rgba(0,0,0,.3);pointer-events:none;opacity:.6;}

/* ============================== service cards ============================== */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.8vw,18px);}
.card{position:relative;border-radius:16px;border:1.5px solid transparent;
  background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(160deg,rgba(241,216,139,.55),rgba(241,216,139,.12)) border-box;
  box-shadow:0 18px 40px -26px rgba(0,0,0,.8);backdrop-filter:blur(2px);}
.svc-card{padding:clamp(18px,2.4vw,26px) clamp(14px,2vw,20px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:11px;}
.svc-ico{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;color:var(--gold-light);
  background:radial-gradient(circle at 50% 32%,rgba(241,216,139,.22),rgba(0,0,0,.3));
  border:1px solid var(--hairline);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);}
.svc-ico svg{width:34px;height:34px;}
.svc-title{font-family:var(--font-display);font-weight:700;font-size:clamp(16px,2vw,20px);color:var(--cream);}
.svc-desc{font-size:14px;line-height:1.5;color:var(--cream-dim);margin:0;}

/* ============================== why ============================== */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,30px);max-width:980px;margin:0 auto;}
.why-item{display:flex;gap:13px;align-items:flex-start;}
.why-check{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#06302d;
  background:var(--gold-grad);box-shadow:0 6px 14px -6px rgba(0,0,0,.6);}
.why-check svg{width:20px;height:20px;}
.why-t{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--cream);}
.why-d{color:var(--cream-dim);font-size:14px;line-height:1.5;margin:4px 0 0;}

/* ============================== faq ============================== */
.faq-list{max-width:760px;margin:clamp(28px,4vw,44px) auto 0;display:flex;flex-direction:column;gap:12px;}
.faq-item{background:#fff;border:1px solid rgba(3,45,45,.12);border-radius:14px;padding:16px 20px;box-shadow:0 4px 24px rgba(3,30,30,.06);}
.faq-q{font-weight:700;font-size:clamp(15px,1.8vw,18px);color:#031f1f;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.faq-q::-webkit-details-marker{display:none;}
.faq-q::after{content:"+";flex:none;font-size:20px;color:var(--petrol);transition:transform .2s ease;}
.faq-item[open] .faq-q::after{transform:rotate(45deg);}
.faq-a{margin:12px 0 0;font-size:14px;line-height:1.6;color:#3a4040;}

/* ============================== gallery ============================== */
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.2vw,20px);}
.ba-card{padding:11px;}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.ba-slot{position:relative;aspect-ratio:3/4;border-radius:9px;overflow:hidden;background:rgba(0,0,0,.32);}
.ba-slot image-slot{width:100%;height:100%;display:block;}
.ba-tag{position:absolute;top:7px;left:7px;z-index:3;font-size:10px;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;padding:3px 8px;border-radius:6px;pointer-events:none;}
.ba-tag--b{background:rgba(0,0,0,.62);color:var(--cream);}
.ba-tag--a{background:var(--gold-grad);color:#3a2c08;}
.ba-label{text-align:center;margin-top:10px;font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--gold-light);}

/* ============================== prices ============================== */
.price-grid{column-count:2;column-gap:clamp(14px,2.2vw,22px);}
.price-card{break-inside:avoid;width:100%;margin-bottom:clamp(14px,2.2vw,22px);padding:clamp(16px,2.2vw,24px);}
.price-card--feat{box-shadow:0 0 0 1px rgba(0,0,0,.4),0 0 30px -8px rgba(241,216,139,.5),0 18px 40px -26px rgba(0,0,0,.8);}
.price-head{display:flex;align-items:center;gap:11px;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--hairline);}
.price-ico{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;flex:none;color:var(--gold-light);
  background:rgba(241,216,139,.12);border:1px solid var(--hairline);}
.price-ico svg{width:24px;height:24px;}
.price-head h3{font-family:var(--font-display);font-weight:700;font-size:clamp(16px,1.9vw,19px);color:var(--cream);}
.price-list{list-style:none;margin:0;padding:0;}
.price-list li{display:flex;align-items:baseline;gap:8px;padding:6.5px 0;font-size:14.5px;}
.pl-name{color:var(--cream);}
.pl-dots{flex:1;border-bottom:1px dotted rgba(245,232,200,.28);transform:translateY(-3px);min-width:12px;}
.pl-val{font-weight:800;color:var(--gold-light);white-space:nowrap;}
.pl-val em{font-style:normal;font-size:.78em;margin-right:2px;color:var(--gold);}
.price-foot{text-align:center;margin-top:clamp(22px,4vw,36px);}

/* ============================== CTA ============================== */
.cta{text-align:center;overflow:hidden;}
.cta-inner{display:flex;flex-direction:column;align-items:center;gap:15px;position:relative;z-index:2;}
.cta-spark{color:var(--gold-light);width:40px;height:40px;}
.cta-title{width:100%;text-align:center;font-size:clamp(28px,6vw,52px);line-height:1.12;}
.cta-title .h-display{display:block;color:var(--cream);}
.cta-title .h-script{display:block;font-size:1.05em;line-height:1.22;padding-bottom:.14em;margin-top:.04em;white-space:nowrap;}
.cta-sub{color:var(--cream-dim);font-size:clamp(15px,2.4vw,18px);max-width:520px;margin:0 auto;}
.cta-actions{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;margin-top:6px;}

/* ============================== footer ============================== */
.footer{padding:clamp(40px,6vw,62px) 0 24px;}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(22px,4vw,46px);align-items:start;}
.foot-brand-row{display:flex;align-items:center;gap:12px;}
.foot-brand-row img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.6));}
.foot-brand-row b{font-family:var(--font-script);font-size:27px;color:var(--cream);font-weight:400;}
.foot-tag{color:var(--cream-dim);font-size:13.5px;line-height:1.6;margin-top:13px;}
.foot-col h4{font-family:var(--font-display);font-weight:700;font-size:15px;margin-bottom:11px;color:var(--gold-light);}
.foot-link{display:flex;align-items:center;gap:9px;color:var(--cream);text-decoration:none;font-size:14px;padding:5px 0;}
.foot-link svg{width:17px;height:17px;color:var(--gold);flex:none;}
.foot-link:hover{color:var(--gold-light);}
.foot-muted{color:var(--cream-dim);opacity:.7;}
.foot-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:clamp(26px,4vw,40px);
  padding-top:18px;border-top:1px solid rgba(245,232,200,.12);font-size:12.5px;color:var(--cream-dim);}

/* ============================== reveal ============================== */
html.anim .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
html.anim .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){html.anim .reveal{opacity:1 !important;transform:none !important;transition:none;}}
@media print{.reveal{opacity:1 !important;transform:none !important;}.intro,.intro-skip,.topbar{display:none !important;}}

/* ============================== responsive ============================== */
@media (max-width:860px){
  .hero-split{grid-template-columns:1fr;text-align:center;}
  .hero-split .hero-eyebrow,.hero-split .hero-title,.hero-split .hero-sub{text-align:center;}
  .hero-split .hero-title .h-script{text-align:center;}
  .hero-split .hero-cta,.hero-split .hero-chips{justify-content:center;}
  .hero-photo{order:-1;max-width:380px;margin:0 auto;width:100%;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .foot-brand{grid-column:1 / -1;}
}
@media (max-width:540px){
  .price-grid{column-count:1;}
  .ba-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .hero-cta .btn,.cta-actions .btn{flex:1 1 auto;}
}

/* ============================== page fade-in ============================== */
.page{opacity:0;pointer-events:none;transition:opacity .5s ease .1s;}
.page--in{opacity:1;pointer-events:auto;}

/* ============================== leather section overlays ============================== */
/* Fixed #bg provides the leather texture — sections are transparent by default */
.leather{background:transparent;}
.leather-dark{background:rgba(3,18,20,.44);}

/* ============================== gold-frame card ============================== */
.gold-frame{
  position:relative;border-radius:16px;border:1.5px solid transparent;
  background:linear-gradient(var(--card),var(--card)) padding-box,
             linear-gradient(160deg,rgba(241,216,139,.5),rgba(241,216,139,.1)) border-box;
  box-shadow:0 18px 40px -26px rgba(0,0,0,.8);backdrop-filter:blur(2px);
}

/* ============================== sec-pad ============================== */
.sec-pad{padding:clamp(52px,9vw,104px) 0;}

/* ============================== hero badge (logo circle) ============================== */
.hero-badge{
  width:min(280px,60vw);aspect-ratio:1;border-radius:50%;
  display:grid;place-items:center;padding:8%;
  border:2px solid transparent;
  background:linear-gradient(rgba(3,23,26,.68),rgba(3,23,26,.68)) padding-box,var(--gold-grad) border-box;
  box-shadow:0 0 64px -18px rgba(241,216,139,.32),0 28px 68px -28px rgba(0,0,0,.7);
}
.hero-badge--lg{width:min(340px,72vw);}
.hero-badge img{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 20px rgba(0,0,0,.5));}

/* ============================== hero split grid ============================== */
.hero-split-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,60px);align-items:center;}
.hero-split-text{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px,2.2vw,18px);}
.hero-split-badge{display:flex;justify-content:center;align-items:center;}

/* ============================== area chips ============================== */
.area-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--cream-dim);}
.area-chips.center{justify-content:center;}
.area-lead{display:inline-flex;align-items:center;gap:6px;color:var(--gold-light);font-weight:800;white-space:nowrap;}
.area-lead svg{width:15px;height:15px;flex:none;}
.area-chip{padding:4px 11px;border-radius:999px;border:1px solid var(--hairline);background:rgba(241,216,139,.07);color:var(--cream);white-space:nowrap;}
.dotsep{opacity:.45;}

/* ============================== before/after tag aliases ============================== */
.ba-tag--before{background:rgba(0,0,0,.62);color:var(--cream);}
.ba-tag--after{background:var(--gold-grad);color:#3a2c08;}

/* ============================== price-cta ============================== */
.price-cta{text-align:center;margin-top:clamp(22px,4vw,36px);}

/* ============================== cta-band ============================== */
.cta-band{padding:clamp(56px,10vw,110px) 0;text-align:center;overflow:hidden;position:relative;}

/* Gold-inverted final CTA */
.cta-gold-band{background:#e8b73a;}
.cta-gold-band .cta-spark{color:var(--petrol-0);}
.cta-gold-band .cta-title .h-display{color:var(--shadow-deep);display:block;}
.cta-gold-band .cta-title .h-script{
  display:block;font-size:1.05em;line-height:1.22;padding-bottom:.14em;margin-top:.04em;
  white-space:nowrap;color:var(--petrol-0);
  background:none;-webkit-background-clip:initial;background-clip:initial;text-shadow:none;
}
.cta-gold-band .cta-sub{color:var(--petrol);}
.btn-petrol{
  background:var(--shadow-deep);color:var(--cream);
  box-shadow:0 12px 26px -10px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.12);
}
.btn-petrol:hover{transform:translateY(-2px);filter:brightness(1.14);}
.btn-ghost-dark{
  background:rgba(0,0,0,.12);color:var(--shadow-deep);
  border:1.5px solid rgba(3,45,45,.38);
}
.btn-ghost-dark:hover{background:rgba(0,0,0,.2);}

/* ============================== footer brand col ============================== */
.foot-brand{}
.foot-brand img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.6));display:block;margin-bottom:10px;}

/* ============================== testimonials ============================== */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.2vw,22px);margin-top:clamp(28px,4vw,44px);}
.testi-card{padding:clamp(20px,2.6vw,28px);display:flex;flex-direction:column;gap:14px;}
.testi-stars{display:flex;gap:5px;}
.testi-star{
  width:17px;height:17px;flex:none;background:var(--gold-grad);
  clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}
.testi-quote{color:var(--cream);font-size:clamp(14px,1.7vw,15.5px);line-height:1.7;flex:1;text-wrap:pretty;}
.testi-person{display:flex;align-items:center;gap:11px;border-top:1px solid var(--hairline);padding-top:13px;margin-top:auto;}
.testi-avatar{
  width:44px;height:44px;border-radius:50%;background:var(--gold-grad);
  display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:17px;color:#3a2c08;flex:none;
}
.testi-name{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--cream);}
.testi-city{font-size:12px;color:var(--cream-dim);margin-top:2px;}

/* ============================== nav extras ============================== */
.topbar--solid{background:rgba(3,18,20,.96)!important;box-shadow:0 2px 20px rgba(0,0,0,.45);}
.nav-links{display:flex;align-items:center;gap:4px;}
.nav-link{
  color:var(--cream-dim);text-decoration:none;font-size:14px;font-weight:600;
  padding:6px 11px;border-radius:8px;transition:color .15s,background .15s;white-space:nowrap;
}
.nav-link:hover{color:var(--gold-light);background:rgba(241,216,139,.09);}
.nav-cta{display:flex;align-items:center;gap:.5em;}
.nav-burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  background:none;border:none;cursor:pointer;padding:8px;
}
.nav-burger span{display:block;width:22px;height:2px;border-radius:2px;background:var(--cream);}
.nav-drawer{
  position:fixed;top:60px;left:0;right:0;z-index:59;
  background:rgba(3,18,20,.97);backdrop-filter:blur(10px);
  display:flex;flex-direction:column;padding:16px 20px 24px;gap:4px;
  border-bottom:1px solid var(--hairline);
}
.nav-drawer-link{
  color:var(--cream);text-decoration:none;font-size:17px;font-weight:600;
  padding:11px 8px;border-bottom:1px solid rgba(241,216,139,.1);
}
.nav-drawer-link:last-of-type{border-bottom:none;}

@media(max-width:720px){
  .nav-links,.nav-cta{display:none;}
  .nav-burger{display:flex;}
}
@media(max-width:860px){
  .hero-split-grid{grid-template-columns:1fr;text-align:center;}
  .hero-split-text{align-items:center;}
  .testi-grid{grid-template-columns:1fr;}
}

/* ============================== hero photo frame ============================== */
.hero-photo-frame{width:100%;aspect-ratio:3/4;border-radius:18px;overflow:hidden;border:1.5px solid var(--hairline);box-shadow:0 32px 70px -28px rgba(0,0,0,.75);}
.hero-photo-frame image-slot{width:100%;height:100%;display:block;}

/* wave divider */
.wave-divider{position:absolute;bottom:0;left:0;width:100%;height:clamp(58px,7vw,88px);pointer-events:none;line-height:0;z-index:3;}
.wave-divider svg{display:block;width:100%;height:100%;}

/* ============================== services photo grid ============================== */
.svc-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.8vw,18px);margin-top:clamp(28px,4vw,44px);}
.svc-photo-card{border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--hairline);display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease;}
.svc-photo-card:hover{transform:translateY(-4px);box-shadow:0 24px 52px -20px rgba(0,0,0,.75);}
.svc-photo-slot{aspect-ratio:4/3;background:rgba(0,0,0,.35);flex:none;}
.svc-photo-slot image-slot{width:100%;height:100%;display:block;}
.svc-photo-body{padding:clamp(14px,1.8vw,20px);flex:1;}
.svc-photo-body h3{font-family:var(--font-display);font-weight:700;font-size:clamp(14px,1.6vw,17px);color:var(--cream);margin-bottom:6px;}
.svc-photo-body p{font-size:13px;line-height:1.55;color:var(--cream-dim);margin:0;}

/* ============================== price v2 — 3 cards ============================== */
.price-v2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,24px);margin-top:clamp(28px,4vw,44px);align-items:start;}
.price-v2-card{border-radius:18px;padding:clamp(24px,3vw,34px) clamp(20px,2.6vw,28px);background:var(--card);border:1px solid var(--hairline);display:flex;flex-direction:column;gap:20px;}
.price-v2-card--feat{background:var(--petrol);border-color:var(--gold);box-shadow:0 0 0 1px rgba(200,168,90,.25),0 24px 50px -18px rgba(0,0,0,.7);}
.price-v2-head{display:flex;flex-direction:column;gap:10px;}
.price-v2-badge{display:inline-flex;align-items:center;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 11px;border-radius:999px;background:var(--gold-grad);color:#3a2c08;align-self:flex-start;}
.price-v2-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:rgba(241,216,139,.12);border:1px solid var(--hairline);color:var(--gold-light);flex:none;}
.price-v2-icon svg{width:26px;height:26px;}
.price-v2-title{font-family:var(--font-display);font-weight:700;font-size:clamp(18px,2vw,22px);color:var(--cream);margin:0;}
.price-v2-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.price-v2-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--hairline);}
.price-v2-item:last-child{border-bottom:none;}
.price-v2-check{flex:none;width:20px;height:20px;border-radius:50%;background:var(--gold-grad);display:grid;place-items:center;color:#3a2c08;}
.price-v2-check svg{width:11px !important;height:11px !important;}
.price-v2-name{flex:1;color:var(--cream);font-size:11.5px;line-height:1.3;font-family:var(--font-display);font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
.price-v2-price{color:var(--gold-light);font-weight:800;font-size:14px;white-space:nowrap;}

/* ============================== cta vivid band ============================== */
.cta-vivid-band{padding:clamp(64px,11vw,124px) 0;text-align:center;background:#e8b73a;color:#031f1f;}
.cta-vivid-title{font-size:clamp(36px,6.5vw,64px);line-height:1.08;margin:0;}
.cta-vivid-title .h-display{display:block;font-size:.68em;color:#031f1f;letter-spacing:.04em;}
.cta-vivid-title .h-script{display:block;font-size:1em;color:#031f1f;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;text-shadow:none;}
.cta-vivid-sub{color:#042424;font-size:clamp(15px,2.2vw,18px);max-width:520px;line-height:1.6;margin:0 auto;}

/* ============================== responsive new components ============================== */
@media(max-width:860px){
  .hero-split-grid{grid-template-columns:1fr;}
  .hero-split-badge{order:-1;}
  .hero-photo-frame{aspect-ratio:16/9;max-height:320px;width:100%;}
  .svc-photo-grid{grid-template-columns:repeat(2,1fr);}
  .price-v2-grid{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto;}
}
@media(max-width:540px){
  .svc-photo-grid{grid-template-columns:1fr;}
}

/* ============================== gallery horizontal scroll ============================== */
.gallery-strip-outer{position:relative;margin-top:clamp(28px,4vw,44px);}
.gallery-strip{
  display:flex;gap:10px;overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:0 clamp(18px,5vw,36px) 12px;
  scrollbar-width:thin;scrollbar-color:var(--gold) transparent;
}
.gallery-strip::-webkit-scrollbar{height:3px;}
.gallery-strip::-webkit-scrollbar-track{background:transparent;}
.gallery-strip::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px;}
.gallery-strip-item{
  flex:0 0 clamp(220px,28vw,320px);height:clamp(260px,32vw,380px);
  border-radius:12px;overflow:hidden;background:var(--card);
  border:1px solid var(--hairline);scroll-snap-align:start;
}
.gallery-strip-item image-slot{width:100%;height:100%;display:block;}
.gallery-arrow{
  position:absolute;top:50%;transform:translateY(-60%);
  width:42px;height:42px;border-radius:50%;border:1.5px solid var(--hairline);
  background:rgba(3,18,20,.82);backdrop-filter:blur(6px);
  color:var(--cream);font-size:22px;line-height:1;
  display:grid;place-items:center;cursor:pointer;transition:border-color .15s,background .15s;
}
.gallery-arrow:hover{border-color:var(--gold);color:var(--gold-light);}
.gallery-arrow--l{left:4px;}
.gallery-arrow--r{right:4px;}

/* ============================== cta dark premium ============================== */
.cta-dark-band{
  padding:clamp(72px,12vw,130px) 0;
  text-align:center;
  background:#031f1f;
  border-top:1px solid var(--hairline);
}
.cta-dark-title{font-size:clamp(32px,6.5vw,66px);line-height:1.1;margin:0;}
.cta-dark-title .h-display{display:block;font-size:.58em;color:var(--cream);letter-spacing:.04em;}
.cta-dark-title .h-script{display:block;font-size:1em;line-height:1.22;padding-bottom:.12em;}

/* ============================== light sections ============================== */
.sec-light{background:#f8f4ec;}
.sec-title-dark{color:#031f1f!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;text-shadow:none!important;}
.sec-sub-dark{color:#3a4040!important;}
.sec-light .kicker{color:var(--petrol);}
.sec-light .kicker::before,.sec-light .kicker::after{background:var(--petrol);}

/* cards on light sections */
.sec-light .svc-photo-card{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;}
.sec-light .svc-photo-slot{border-radius:12px!important;overflow:hidden;}
.sec-light .svc-photo-body{padding:14px 2px 0!important;}
.sec-light .svc-photo-body h3{font-size:clamp(15px,1.7vw,18px);margin-bottom:5px;}
.sec-light .svc-photo-body p{font-size:13.5px;line-height:1.55;color:#3a4040;}
.sec-light .svc-photo-body h3{color:#031f1f;}
.sec-light .svc-photo-body p{color:#3a4040;}
.sec-light .price-v2-card{background:#fff;border-color:rgba(3,45,45,.12);box-shadow:0 4px 24px rgba(3,30,30,.09);}
.sec-light .price-v2-card--feat{background:var(--petrol);border-color:var(--gold);}
.sec-light .price-v2-title{color:#031f1f;}
.sec-light .price-v2-card--feat .price-v2-title{color:var(--cream);}
.sec-light .price-v2-name{color:#1a2e2e;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:11px;}
.sec-light .price-v2-card--feat .price-v2-name{color:var(--cream);}
.sec-light .price-v2-item{border-bottom-color:rgba(3,45,45,.1);}
.sec-light .price-v2-card--feat .price-v2-item{border-bottom-color:var(--hairline);}

/* Testimonials — header row (avatar + nome/cidade + estrelas) depois quote */
.testi-card-light{
  background:#fff!important;
  border-radius:14px!important;
  border:1px solid rgba(3,45,45,.09)!important;
  box-shadow:0 2px 20px rgba(3,30,30,.07)!important;
  padding:20px 22px!important;
  display:flex;flex-direction:column;gap:12px;
}
.testi-header{
  display:flex;align-items:center;gap:10px;
  border-bottom:1px solid rgba(3,45,45,.12);
  padding-bottom:10px;
}
.testi-person-info{flex:1;min-width:0;}
.testi-header .testi-stars{flex-shrink:0;display:flex;gap:2px;}
.testi-header .testi-star{width:12px!important;height:12px!important;}
.testi-quote-dark{font-size:14px!important;line-height:1.65;font-style:italic;color:#2a3535!important;margin:0;}
.testi-avatar{width:34px!important;height:34px!important;font-size:13px!important;flex-shrink:0;}
.testi-name-dark{font-size:13px!important;}
.sec-light .testi-city{font-size:11px!important;}
.testi-grid{gap:clamp(20px,3vw,40px)!important;margin-top:clamp(22px,3.5vw,36px)!important;}


/* ============================== gallery 4×2 grid ============================== */
.gallery-4x2{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:repeat(2,clamp(170px,20vw,260px));
  gap:8px;
}
.gallery-4x2-item{border-radius:8px;overflow:hidden;background:rgba(255,255,255,.04);}
.gallery-4x2-item image-slot{width:100%;height:100%;display:block;}

/* ============================== float CTA card ============================== */
.cta-float-card{
  margin-top:calc(-1 * clamp(58px,8vw,90px));
  position:relative;z-index:5;
  border-radius:20px;
  background:var(--petrol);
  border:1px solid var(--hairline);
  box-shadow:0 24px 60px -20px rgba(0,0,0,.7),0 0 0 1px rgba(200,168,90,.08);
  padding:clamp(26px,3.5vw,42px) clamp(28px,4.5vw,52px);
  display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.cta-float-eyebrow{
  font-family:var(--font-display);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin:0 0 8px;
}
.cta-float-title{
  color:var(--cream);font-size:clamp(17px,2.5vw,24px);margin:0;line-height:1.3;
}
@media(max-width:620px){
  .cta-float-card{flex-direction:column;text-align:center;}
  .cta-float-card .btn{width:100%;justify-content:center;}
}

/* ============================== hero full-bleed ============================== */
.hero-fullbleed{position:relative;height:calc(100svh - var(--nav-h,64px));display:flex;align-items:center;overflow:hidden;background:#031f1f;padding-bottom:clamp(70px,8vw,100px);padding-top:clamp(16px,3vw,32px);}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg image-slot{width:100%;height:100%;display:block;}
.hero-bg-img{object-position:75% 5%;}
.hero-grad{position:absolute;inset:0;z-index:1;background:linear-gradient(to right,rgba(3,20,20,.96) 0%,rgba(3,20,20,.88) 36%,rgba(3,20,20,.52) 60%,rgba(3,20,20,.04) 100%);}
.hero-content-wrap{position:relative;z-index:4;width:100%;max-width:none;margin:0;padding:0 clamp(48px,5.5vw,96px);}
.hero-content{max-width:min(580px,54%);display:flex;flex-direction:column;gap:clamp(22px,3vw,32px);}
/* CTA moved outside .hero-content — on desktop aligns with text column */
.hero-content-wrap > .hero-cta{max-width:min(580px,54%);margin-top:clamp(22px,3vw,32px);}
.hero-text-link{color:var(--cream-dim);text-decoration:none;font-size:clamp(14px,1.8vw,16px);font-weight:600;letter-spacing:.02em;display:inline-flex;align-items:center;gap:5px;transition:color .15s;}
.hero-text-link:hover{color:var(--gold-light);}

@media(max-width:680px){
  .hero-grad{background:linear-gradient(to right,rgba(3,20,20,.96) 0%,rgba(3,20,20,.88) 36%,rgba(3,20,20,.52) 62%,rgba(3,20,20,.12) 100%);}
  .hero-content{max-width:100%;}
  .hero-bg-img{object-position:68% center!important;}
}

/* GOLD kicker on light sections — keep green/petrol */
.sec-light .kicker{color:var(--petrol)!important;}
.sec-light .kicker::before,.sec-light .kicker::after{background:linear-gradient(90deg,transparent,var(--petrol) 30%,var(--petrol) 70%,transparent)!important;}

/* ============================== area ticker ============================== */
.area-ticker{
  background:#062d2d;
  border-bottom:1px solid var(--hairline);
  overflow:hidden;
  padding:11px 0;
  position:relative;
}
.area-ticker::before,.area-ticker::after{
  content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none;
}
.area-ticker::before{left:0;background:linear-gradient(to right,#062d2d,transparent);}
.area-ticker::after{right:0;background:linear-gradient(to left,#062d2d,transparent);}
.area-ticker-track{
  display:flex;align-items:center;
  white-space:nowrap;width:max-content;
  animation:tickerMove 30s linear infinite;
  will-change:transform;
}
@keyframes tickerMove{0%{transform:translateX(0);}100%{transform:translateX(-33.333%);}}
.area-ticker-city{
  display:inline-flex;align-items:center;gap:5px;
  color:var(--cream-dim);
  font-family:var(--font-display);
  font-size:12px;letter-spacing:.05em;
  padding:0 16px;flex-shrink:0;
}
.area-ticker-city svg{width:11px;height:11px;color:var(--gold);flex:none;}
.area-ticker-dot{color:var(--gold);font-size:5px;flex-shrink:0;opacity:.6;}

/* btn-dark for light-section cards */
.btn-dark{background:var(--petrol-0);color:var(--cream);box-shadow:0 8px 20px -8px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.1);}
.btn-dark:hover{transform:translateY(-2px);filter:brightness(1.12);}

/* gallery responsive */
@media(max-width:720px){
  .gallery-4x2{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,clamp(140px,28vw,200px));}
}

/* ============================== intro sticker ============================== */
.intro-stick{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#031f1f;cursor:pointer;}
.intro-stick--out{animation:stickOut .36s ease forwards;}
.intro-stick-logo{width:min(280px,66vw);opacity:0;filter:drop-shadow(0 12px 32px rgba(0,0,0,.5));}
.intro-stick-logo.in{animation:stickIn .5s cubic-bezier(.15,1.4,.4,1) forwards;}
@keyframes stickIn{0%{transform:scale(.6) rotate(-4deg);opacity:0;}55%{opacity:1;filter:blur(0);}72%{transform:scale(1.05) rotate(.3deg);}86%{transform:scale(.98);}100%{transform:scale(1) rotate(0);opacity:1;}}
@keyframes stickOut{0%{opacity:1;}100%{opacity:0;}}

.eyebrow-break{display:inline;}

/* ============================== mobile refinements ============================== */
@media(max-width:540px){
  /* hero */
  .hero-fullbleed{align-items:flex-end!important;padding-bottom:clamp(62px,9svh,82px);padding-top:clamp(6px,1.5svh,12px);}
  .hero-grad{background:linear-gradient(to right,rgba(3,20,20,.97) 0%,rgba(3,20,20,.90) 40%,rgba(3,20,20,.52) 66%,rgba(3,20,20,.10) 100%)!important;}
  .hero-content-wrap{padding-left:14px!important;padding-right:14px!important;}
  /* eyebrow */
  .eyebrow{font-size:10.5px;letter-spacing:.2em;}
  /* area chips scroll */
  .area-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px;gap:6px;}
  .area-chip{font-size:11px;padding:3px 8px;flex-shrink:0;}
  .area-lead{font-size:11px;flex-shrink:0;}
  .dotsep{display:none;}
  /* price cards */
  .price-v2-card{padding:18px 16px;gap:14px;}
  .price-v2-icon{width:40px;height:40px;}
  .price-v2-icon svg{width:22px;height:22px;}
  .price-v2-title{font-size:16px;}
  .price-v2-item{padding:6px 0;}
  .price-v2-name{font-size:12.5px;}
  .price-v2-price{font-size:13px;}
  /* footer */
  .foot-grid{gap:20px!important;}
  .foot-tag{font-size:12px;}
  .foot-link{font-size:12.5px;padding:3px 0;}
  .foot-bottom{flex-direction:column;gap:5px;font-size:11.5px;}
  /* cta float card */
  .cta-float-card{padding:22px 18px;}
  .cta-float-title{font-size:15px;}
  /* hero on mobile — left-aligned, bigger, fonts/colors corrected */
  .hero-content{align-items:flex-start;text-align:left;width:100%;max-width:100%;}
  .hero-title{text-align:left!important;line-height:1.0!important;}
  .hero-title .h-display{font-size:clamp(54px,15vw,70px)!important;font-family:var(--font-display)!important;color:var(--cream)!important;letter-spacing:.03em!important;}
  .hero-title .h-script{font-size:clamp(50px,13.5vw,64px)!important;}
  .hero-sub{max-width:100%!important;color:var(--cream)!important;font-family:var(--font-body)!important;font-size:clamp(16px,4.2vw,19px)!important;line-height:1.7!important;}
  .hero-cta{display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important;gap:10px!important;margin-top:16px!important;max-width:100%!important;}
  .hero-fullbleed .hero-cta .btn{display:inline-flex!important;font-size:15px;padding:.88em 2em;width:auto!important;margin:0!important;justify-content:center!important;}
  .hero-text-link{display:inline-flex!important;text-align:center!important;justify-content:center!important;color:var(--cream)!important;}
  .eyebrow-break{display:block;}
  /* footer sem coluna de cidades */
  .foot-col:last-child{display:none;}
}

/* price card gold accent top + no icon ============================= */
.price-v2-card{border-top:3px solid #c8a85a!important;}
.price-v2-head{gap:6px!important;}
.price-v2-title{font-size:clamp(17px,2vw,21px)!important;letter-spacing:.02em;} */
.intro{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
  cursor:pointer;overflow:hidden;-webkit-tap-highlight-color:transparent;
  background:url("assets/leather.png") center/cover no-repeat;background-color:var(--petrol-0);}
.intro::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 50% 45%,rgba(70,185,177,.12),transparent 45%),radial-gradient(110% 100% at 50% 50%,transparent 38%,rgba(3,23,26,.7) 100%);}
.intro--exit{animation:introOut .7s cubic-bezier(.7,0,.3,1) forwards;}
@keyframes introOut{to{opacity:0;transform:scale(1.06);filter:blur(3px);}}

.stamp{position:relative;z-index:3;width:min(72vw,420px);will-change:transform,filter,opacity;}
.stamp img{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.55));}
.stamp--p0{transform:scale(2.0) rotate(-6deg);filter:blur(3px);opacity:.15;}
.stamp--p1{animation:slam .42s cubic-bezier(.3,1.5,.5,1) forwards;}
@keyframes slam{
  0%{transform:scale(2.0) rotate(-6deg);filter:blur(3px);opacity:.15;}
  60%{transform:scale(.93) rotate(.5deg);filter:blur(0);opacity:1;}
  78%{transform:scale(1.05) rotate(-.3deg);}
  100%{transform:scale(1) rotate(0);opacity:1;}
}
.stamp--p2{animation:shake .5s ease-out;}
@keyframes shake{0%,100%{transform:translate(0,0) rotate(0);}18%{transform:translate(-5px,1px) rotate(-.5deg);}
  36%{transform:translate(5px,-1px) rotate(.5deg);}54%{transform:translate(-3px,1px) rotate(-.3deg);}72%{transform:translate(2px,0);}}
.stamp--p3{animation:lift .55s cubic-bezier(.6,0,.4,1) forwards;}
@keyframes lift{0%{transform:translateY(0) scale(1);}100%{transform:translateY(-26px) scale(1.07);opacity:0;filter:blur(2px);}}

.stamp-ring{position:absolute;left:50%;top:50%;z-index:2;width:min(64vw,360px);height:min(64vw,360px);
  border-radius:50%;border:3px solid rgba(241,216,139,.6);transform:translate(-50%,-50%) scale(.55);opacity:0;}
.stamp-ring--2{border-color:rgba(70,185,177,.5);}
.stamp-ring.go{animation:ring .75s ease-out forwards;}
.stamp-ring--2.go{animation:ring .95s ease-out .06s forwards;}
@keyframes ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.5);}22%{opacity:.85;}100%{opacity:0;transform:translate(-50%,-50%) scale(1.5);}}

.splash{position:absolute;left:50%;top:50%;z-index:2;width:0;height:0;}
.splash span{position:absolute;left:0;top:0;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff,var(--gold-light) 55%,var(--gold-deep));
  animation:spoke .66s cubic-bezier(.2,.7,.2,1) forwards;}
@keyframes spoke{0%{transform:rotate(var(--ang)) translateX(20px) scale(.2);opacity:0;}30%{opacity:1;}
  100%{transform:rotate(var(--ang)) translateX(var(--dist)) scale(1);opacity:0;}}

.intro-skip{position:absolute;bottom:24px;right:24px;z-index:4;display:inline-flex;align-items:center;gap:.3em;
  white-space:nowrap;background:rgba(0,0,0,.3);border:1px solid var(--hairline);color:var(--cream-dim);
  font-family:var(--font-body);font-weight:700;padding:.5em 1.05em;border-radius:999px;cursor:pointer;font-size:13px;}
.intro-skip:hover{color:var(--gold-light);border-color:var(--gold);}

/* ============================== gallery flow (faixa infinita) ============================== */
.gallery-flow-outer{
  margin-top:clamp(24px,3.5vw,36px);
  height:clamp(360px,72vw,520px);
  overflow:hidden;
}
.gallery-flow-track{
  display:flex;
  align-items:stretch;
  gap:3px;
  height:100%;
  width:max-content;
  will-change:transform;
  user-select:none;
  -webkit-user-select:none;
}
.gallery-flow-item{
  flex:none;
  overflow:hidden;
  border-radius:0;
}
.gallery-flow-item img{
  height:100%;
  width:auto;
  display:block;
  pointer-events:none;
  object-fit:cover;
}

/* ============================== prices note ============================== */
.prices-note{
  text-align:center;
  font-size:13px;
  color:#5a7070;
  line-height:1.55;
  margin-top:clamp(18px,3vw,28px);
  max-width:480px;
  margin-left:auto;
  margin-right:auto;
}

/* ============================== testi header (novo layout) ============================== */
.testi-header{
  display:flex;align-items:center;gap:10px;
  border-bottom:1px solid rgba(3,45,45,.1);
  padding-bottom:12px;
}
.testi-person-info{flex:1;min-width:0;}
.testi-header .testi-stars{flex-shrink:0;display:flex;gap:3px;}
.testi-header .testi-star{width:13px!important;height:13px!important;}
.testi-name-dark{font-size:13px!important;color:#1a2e2e!important;}
.testi-quote-dark{font-size:14px;line-height:1.65;font-style:italic;color:#2a3535;margin:0;text-wrap:pretty;}
.sec-light .testi-city{font-size:11px;color:#5a7070;margin-top:1px;}
.testi-avatar{
  width:36px!important;height:36px!important;font-size:13px!important;
  flex-shrink:0;border-radius:50%;background:var(--gold-grad);
  display:grid;place-items:center;font-family:var(--font-display);font-weight:700;color:#3a2c08;
}
.testi-grid{gap:clamp(16px,2.5vw,24px)!important;margin-top:clamp(24px,4vw,40px)!important;}

/* ============================== hero decorative elements ============================== */
.hero-eyebrow-group{display:flex;flex-direction:column;gap:7px;}
.hero-eyebrow-rule{
  width:44px;height:2px;
  background:var(--gold-grad);
  border-radius:2px;opacity:.82;
}
.hero-brushstroke{
  display:block;
  width:clamp(200px,24vw,360px);
  height:18px;
  margin-top:2px;
}
.hero-text-link-label{
  border-bottom:1.5px dotted var(--gold);
  padding-bottom:2px;
}
@media(max-width:680px){
  .hero-brushstroke{width:clamp(210px,62vw,300px);}
}
@media(max-width:540px){
  .hero-brushstroke{width:clamp(200px,64vw,280px);margin-top:1px;}
  .hero-text-link{color:var(--cream)!important;justify-content:center!important;}
}
