/* ============== CUSTOM FONTS ============== */
@font-face {
  font-family: 'Makota';
  src: url('fonts/Makota.otf') format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('fonts/Manrope-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-display: swap;
}

/* ============== RESET ============== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--body);
  font-weight:300;
  background:#0e2d3a;
  color:#F5F2EC;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input{font:inherit}

/* ============== TOKENS ============== */
:root{
  --green-deep:#174757;
  --gold:#ad592b;
  --bg:#0e2d3a;
  --off:#f5f2f0;
  --cta:#4a5724;
  --display:'Makota',serif;
  --body:'Manrope',system-ui,sans-serif;
  --container:1200px;
}

.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}

/* Grain */
.grain::before{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  opacity:.35;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.79 0 0 0 0 0.66 0 0 0 0 0.43 0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ============== HEADER ============== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(14,45,58,.92);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 1px 0 rgba(173,89,43,.18), 0 8px 24px rgba(0,0,0,.4);
}
.site-header__inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;max-width:var(--container);margin:0 auto;
}
.brand{display:flex;align-items:baseline;gap:12px}
.brand__name{
  font-family:var(--display);
  font-weight:400;
  letter-spacing:.18em;
  color:var(--gold);
  font-size:18px;
}
.brand__tag{
  font-size:11px;letter-spacing:.18em;
  color:rgba(245,242,240,.55);
  text-transform:uppercase;
}
.btn-mini{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid rgba(173,89,43,.55);
  color:var(--off);
  padding:10px 18px;
  border-radius:999px;
  font-size:13px;font-weight:500;
  letter-spacing:.04em;
  transition:all .25s ease;
}
.btn-mini:hover{background:rgba(173,89,43,.12);border-color:var(--gold)}

/* ============== HERO ============== */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  padding:120px 24px 80px;
  text-align:center;
}
.hero__bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;
  z-index:0;
}
.hero__overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,
    rgba(14,45,58,.90) 0%,
    rgba(14,45,58,.75) 45%,
    rgba(14,45,58,.95) 100%);
}
.hero__content{position:relative;z-index:2;max-width:980px;width:100%}

/* ============== HERO BANNER ============== */
.hero-banner {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.hero-banner__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: 0;
}
.hero-banner__veil {
  position: absolute;
  inset: 0;
  background: rgba(14, 45, 58, 0.65);
  z-index: 1;
}
.hero-banner__text {
  font-family: var(--display);
  font-size: clamp(32px, 5vw, 64px);
  color: #fff;
  line-height: 1.1;
  text-wrap: balance;
  text-shadow: 0 4px 20px rgba(0,0,0,0.8);
}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:500;
  padding:8px 18px;
  border:1px solid rgba(173,89,43,.5);
  border-radius:999px;
  background:rgba(173,89,43,.06);
  backdrop-filter:blur(8px);
}

.hero__title{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(40px,6.5vw,76px);
  line-height:1.05;
  letter-spacing:-.01em;
  color:#fff;
  margin:24px 0 22px;
  text-wrap:balance;
}
.hero__title .accent{font-style:italic;color:#6b8233}
.hero__sub{
  max-width:620px;margin:0 auto;
  font-size:clamp(15px,1.4vw,18px);
  color:rgba(245,242,240,.78);
  font-weight:300;
}

.hero__badges{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;
  margin:36px 0 40px;
}
.badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 18px;
  border:1px solid rgba(173,89,43,.4);
  background:rgba(245,242,240,.04);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-radius:12px;
  font-size:13px;
}
.badge__icon{font-size:16px}
.badge__label{color:rgba(245,242,240,.6);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.badge__value{color:var(--off);font-weight:500}

.btn-cta{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--cta);
  color:#fff;font-weight:600;
  padding:18px 36px;
  border-radius:14px;
  font-size:16px;letter-spacing:.01em;
  box-shadow:0 14px 40px -10px rgba(74,87,36,.55), inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-cta:hover{
  transform:translateY(-2px);
  background:#5a6d2c;
  box-shadow:0 20px 50px -10px rgba(74,87,36,.7), inset 0 1px 0 rgba(255,255,255,.25);
}
.btn-cta--lg{padding:22px 40px;font-size:17px}
.btn-cta--block{width:100%;justify-content:center}

.scroll-cue{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
  z-index:2;
  width:28px;height:46px;
  border:1px solid rgba(173,89,43,.55);
  border-radius:20px;
  display:flex;justify-content:center;padding-top:8px;
}
.scroll-cue::after{
  content:"";width:3px;height:8px;border-radius:2px;
  background:var(--gold);
  animation:scrollPulse 1.8s infinite ease-in-out;
}
@keyframes scrollPulse{
  0%{opacity:0;transform:translateY(-4px)}
  40%{opacity:1}
  100%{opacity:0;transform:translateY(12px)}
}

/* ============== SECTION BASE ============== */
.section{position:relative;padding:120px 0;overflow:hidden}
.section--dark{background:var(--bg)}
.section--green{background:var(--green-deep)}
.section--gradient{
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(14,45,58,.55) 0%, transparent 60%),
    var(--bg);
}
.section__head{text-align:center;max-width:780px;margin:0 auto 64px}
.section__title{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(34px,4.4vw,56px);
  line-height:1.08;
  color:#fff;
  letter-spacing:-.005em;
  text-wrap:balance;
}
.section__title em{font-style:italic;color:var(--gold);font-weight:400}
.section__sub{
  margin-top:18px;
  color:rgba(245,242,240,.7);
  font-size:17px;
  text-wrap:pretty;
}

/* ============== BENEFITS ============== */
.benefits-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.b-card{
  position:relative;
  padding:32px 28px;
  border:1px solid rgba(173,89,43,.25);
  background:linear-gradient(180deg, rgba(245,242,240,.04), rgba(245,242,240,.02));
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-radius:16px;
  display:flex;flex-direction:column;
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.b-card:hover{
  transform:translateY(-4px);
  border-color:rgba(173,89,43,.55);
  box-shadow:0 24px 50px -20px rgba(74,87,36,.25), 0 0 0 1px rgba(173,89,43,.15);
}
.b-card__icon{
  font-size:28px;
  width:56px;height:56px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(173,89,43,.4);
  border-radius:14px;
  background:rgba(14,45,58,.4);
  margin-bottom:22px;
}
.b-card__title{
  font-family:var(--display);
  font-weight:400;
  font-size:24px;
  line-height:1.15;
  color:#fff;
  margin-bottom:12px;
}
.b-card__body{font-size:15px;color:rgba(245,242,240,.7)}

/* Cinematic strip above the benefits grid */
.b-strip{
  position:relative;
  width:100%;
  height:380px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(173,89,43,.35);
  margin-bottom:48px;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.7);
  background:#0e2d3a;
}
.b-strip__slides{
  position:absolute;inset:0;z-index:0;
}
.b-strip__slide{
  position:absolute;inset:0;
  opacity:0;
  animation:bsFade 24s infinite linear;
  will-change:opacity;
}
.b-strip__slide img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  animation:bsZoom 24s infinite linear;
  will-change:transform;
}
.b-strip__slide:nth-child(1),
.b-strip__slide:nth-child(1) img{animation-delay:0s}
.b-strip__slide:nth-child(2),
.b-strip__slide:nth-child(2) img{animation-delay:6s}
.b-strip__slide:nth-child(3),
.b-strip__slide:nth-child(3) img{animation-delay:12s}
.b-strip__slide:nth-child(4),
.b-strip__slide:nth-child(4) img{animation-delay:18s}
.b-strip__slide:nth-child(1) img{transform-origin:30% 50%}
.b-strip__slide:nth-child(2) img{transform-origin:70% 50%}
.b-strip__slide:nth-child(3) img{transform-origin:50% 35%}
.b-strip__slide:nth-child(4) img{transform-origin:50% 65%}

@keyframes bsFade{
  0%   {opacity:0}
  4%   {opacity:1}
  25%  {opacity:1}
  29%  {opacity:0}
  100% {opacity:0}
}
@keyframes bsZoom{
  0%   {transform:scale(1.02)}
  29%  {transform:scale(1.14)}
  100% {transform:scale(1.14)}
}
@media (prefers-reduced-motion: reduce){
  .b-strip__slide,
  .b-strip__slide img{animation:none}
  .b-strip__slide:first-child{opacity:1}
}

.b-strip::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,
    rgba(14,45,58,.9) 0%,
    rgba(14,45,58,.6) 42%,
    rgba(14,45,58,.1) 72%,
    rgba(14,45,58,.6) 100%);
}
.b-strip__caption{
  position:absolute;left:48px;bottom:42px;right:48px;z-index:2;
  max-width:560px;
  display:flex;flex-direction:column;
  gap:14px;
}
.b-strip__eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:500;
  align-self:flex-start;
  padding:6px 14px;
  border:1px solid rgba(173,89,43,.5);
  border-radius:999px;
  background:rgba(14,45,58,.4);
  backdrop-filter:blur(6px);
}
.b-strip__title{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(28px,3.6vw,44px);
  line-height:1.08;
  color:#fff;
  text-wrap:balance;
}
.b-strip__title em{font-style:italic;color:var(--gold)}
.b-strip__sub{
  font-size:14.5px;
  color:rgba(245,242,240,.78);
  max-width:480px;
  text-wrap:pretty;
}
.b-strip__meta{
  position:absolute;right:32px;top:28px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px;
  background:rgba(14,45,58,.65);
  border:1px solid rgba(173,89,43,.5);
  border-radius:999px;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--off);
  backdrop-filter:blur(8px);
}
.b-strip__meta .ico{width:13px;height:13px}

/* ============== LOCATION ============== */
.loc-grid{
  display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;
}
.loc-text .section__title{text-align:left}
.loc-text .section__sub{font-size:16px;margin-top:24px}
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.chip{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 18px;
  background:rgba(14,45,58,.5);
  border:1px solid rgba(173,89,43,.45);
  border-radius:999px;
  font-size:13.5px;
  color:var(--off);
}
.chip__sep{color:var(--gold);opacity:.6}
.chip__val{color:rgba(245,242,240,.7);font-weight:400}

.map-card{
  position:relative;
  height:380px;
  background:#0e2d3a;
  border:1px solid rgba(173,89,43,.5);
  border-radius:18px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;
  overflow:hidden;
}
.map-card::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(800px 400px at 30% 20%, rgba(173,89,43,.08), transparent 60%),
    repeating-linear-gradient(0deg, rgba(173,89,43,.06) 0 1px, transparent 1px 60px),
    repeating-linear-gradient(90deg, rgba(173,89,43,.06) 0 1px, transparent 1px 60px);
}
.map-card__pin{
  position:relative;z-index:1;
  width:64px;height:64px;border-radius:50%;
  background:rgba(74,87,36,.18);
  border:1.5px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-size:28px;
  animation:pinPulse 2.2s infinite ease-in-out;
}
@keyframes pinPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(173,89,43,.35)}
  50%{box-shadow:0 0 0 16px rgba(173,89,43,0)}
}
.map-card__label{
  position:relative;z-index:1;
  font-family:var(--display);
  font-size:22px;color:#fff;
}
.map-card__hint{
  position:relative;z-index:1;
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(173,89,43,.7);
}

/* ============== PRODUCT GALLERY ============== */
.gallery{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:200px;
  gap:14px;
}
.g-item{
  position:relative;overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(173,89,43,.3);
  background:#0e2d3a;
}
.g-item img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .7s ease;
}
.g-item::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(14,45,58,.55) 100%);
  opacity:0;transition:opacity .4s ease;
}
.g-item:hover img{transform:scale(1.06)}
.g-item:hover{border-color:rgba(173,89,43,.6)}
.g-item:hover::after{opacity:1}

/* Mosaic spans */
.g-item--xl{grid-column:span 4;grid-row:span 2}
.g-item--md{grid-column:span 2;grid-row:span 2}
.g-item--sm{grid-column:span 2;grid-row:span 1}
.g-item--wide{grid-column:span 3;grid-row:span 1}

.spec-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  margin-top:48px;
}
.spec{
  padding:22px 24px;
  border:1px solid rgba(173,89,43,.3);
  background:rgba(245,242,240,.03);
  backdrop-filter:blur(8px);
  border-radius:14px;
  display:flex;flex-direction:column;gap:6px;
}
.spec__label{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(173,89,43,.85);
}
.spec__val{
  font-family:var(--display);font-size:22px;color:#fff;
}
.disclaimer{
  margin-top:36px;text-align:center;
  font-size:12px;letter-spacing:.12em;
  color:rgba(245,242,240,.4);
}

/* ============== FOR WHOM ============== */
.persona-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;
}
.persona{
  padding:32px 28px 32px 32px;
  background:#0e2d3a;
  border-left:4px solid var(--gold);
  border-radius:6px;
  position:relative;
  transition:transform .35s ease, box-shadow .35s ease;
}
.persona:hover{
  transform:translateX(4px);
  box-shadow:-4px 0 30px -10px rgba(173,89,43,.35);
}
.persona__icon{
  font-size:30px;
  margin-bottom:18px;
  display:inline-block;
}
.persona__title{
  font-family:var(--display);
  font-size:26px;font-weight:400;
  color:#fff;line-height:1.15;margin-bottom:10px;
}
.persona__body{color:rgba(245,242,240,.72);font-size:15px}

.closer{
  max-width:780px;margin:64px auto 0;text-align:center;
  font-size:17px;color:rgba(245,242,240,.8);
  text-wrap:pretty;
}

/* ============== FORM ============== */
.cta-section{
  position:relative;padding:120px 24px;
  background:var(--bg);
  overflow:hidden;
}
.cta-section__bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:.14;
  filter:saturate(.7);
}
.cta-section__veil{
  position:absolute;inset:0;
  background:linear-gradient(180deg,
    rgba(14,45,58,.92) 0%,
    rgba(14,45,58,.75) 50%,
    rgba(14,45,58,.95) 100%);
}
.form-shell{
  position:relative;z-index:2;
  max-width:560px;margin:0 auto;
  padding:48px 40px;
  background:rgba(15,24,18,.55);
  border:1px solid rgba(173,89,43,.45);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-radius:20px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.7), inset 0 1px 0 rgba(173,89,43,.18);
}
.form-shell__head{text-align:center;margin-bottom:32px}
.form-shell__title{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(28px,3.4vw,40px);
  line-height:1.1;color:#fff;margin:18px 0 14px;
  text-wrap:balance;
}
.form-shell__sub{color:rgba(245,242,240,.7);font-size:15px}

.field{margin-bottom:18px}
.field label{
  display:block;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(173,89,43,.85);
  margin-bottom:8px;
}
.field input{
  width:100%;
  padding:15px 18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(173,89,43,.35);
  border-radius:10px;
  color:#fff;
  font-size:15px;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.field input::placeholder{color:rgba(245,242,240,.35)}
.field input:focus{
  outline:none;
  border-color:var(--cta);
  background:rgba(255,255,255,.07);
  box-shadow:0 0 0 4px rgba(74,87,36,.15);
}
.field input.invalid{border-color:#c0392b;box-shadow:0 0 0 4px rgba(192,57,43,.12)}
.field__error{
  display:none;
  font-size:12px;color:#c0392b;margin-top:6px;
}
.field.invalid .field__error{display:block}

.trust{
  display:flex;flex-direction:column;gap:10px;
  margin-top:22px;
  font-size:12.5px;color:rgba(245,242,240,.6);
}
.trust__row{display:flex;align-items:center;gap:10px}
.trust__icon{font-size:14px}

.success{
  display:none;
  text-align:center;
  padding:40px 28px;
  background:rgba(14,45,58,.6);
  border:1px solid var(--gold);
  border-radius:16px;
  animation:fadeUp .5s ease both;
}
.success.show{display:block}
.success__icon{
  width:64px;height:64px;border-radius:50%;
  background:rgba(74,87,36,.18);
  border:1.5px solid var(--cta);
  display:flex;align-items:center;justify-content:center;
  font-size:30px;margin:0 auto 18px;
}
.success__title{
  font-family:var(--display);font-size:26px;color:#fff;margin-bottom:10px;
}
.success__body{color:rgba(245,242,240,.8);font-size:15px}

/* ============== FOOTER ============== */
.site-footer{
  padding:48px 24px;
  background:var(--bg);
  border-top:1px solid rgba(173,89,43,.3);
  text-align:center;
}
.site-footer .brand{justify-content:center;margin-bottom:14px}
.site-footer__legal{
  font-size:12px;color:rgba(245,242,240,.4);
  letter-spacing:.04em;max-width:680px;margin:0 auto;
  text-wrap:pretty;
}

/* ============== ANIMATIONS ============== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease, transform .9s ease}
.reveal.in{opacity:1;transform:none}
.stagger > *{opacity:0;transform:translateY(30px);transition:opacity .8s ease, transform .8s ease}
.stagger.in > *{opacity:1;transform:none}
.stagger.in > *:nth-child(1){transition-delay:.05s}
.stagger.in > *:nth-child(2){transition-delay:.12s}
.stagger.in > *:nth-child(3){transition-delay:.19s}
.stagger.in > *:nth-child(4){transition-delay:.26s}
.stagger.in > *:nth-child(5){transition-delay:.33s}
.stagger.in > *:nth-child(6){transition-delay:.4s}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:none}
}

/* ============== LINE ICONS ============== */
.ico{
  width:24px;height:24px;
  flex:0 0 auto;
  stroke:currentColor;fill:none;
  stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;
  color:var(--gold);
}
.ico--sm{width:16px;height:16px}
.ico--lg{width:28px;height:28px}
.b-card__icon{color:var(--gold)}
.persona__icon{
  width:54px;height:54px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(173,89,43,.4);
  border-radius:14px;
  background:rgba(14,45,58,.4);
  color:var(--gold);
  margin-bottom:18px;
}
.persona__icon .ico{width:24px;height:24px}

/* ============== MAP EMBED ============== */
.map-embed{
  position:relative;
  height:420px;
  border:1px solid rgba(173,89,43,.5);
  border-radius:18px;
  overflow:hidden;
  background:#0e2d3a;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.6);
}
.map-embed iframe{
  position:absolute;inset:0;
  width:100%;height:100%;
  border:0;
  filter:saturate(.65) contrast(1.05);
}
.map-embed__badge{
  position:absolute;left:18px;bottom:18px;z-index:2;
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 16px;
  background:rgba(14,45,58,.85);
  backdrop-filter:blur(10px);
  border:1px solid rgba(173,89,43,.5);
  border-radius:999px;
  color:var(--off);
  font-size:13px;
}
.map-embed__badge .ico{width:14px;height:14px}

/* ============== INLINE CTA STRIP ============== */
.cta-strip{
  margin-top:64px;
  padding:28px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;
  border:1px solid rgba(173,89,43,.35);
  background:linear-gradient(135deg, rgba(14,45,58,.4), rgba(14,45,58,.6));
  backdrop-filter:blur(10px);
  border-radius:18px;
}
.cta-strip__text{
  font-family:var(--display);
  font-size:clamp(22px,2.4vw,28px);
  color:#fff;font-weight:400;line-height:1.2;
  flex:1;min-width:240px;
  text-wrap:balance;
}
.cta-strip__text em{font-style:italic;color:var(--gold)}

/* ============== LIGHTBOX ============== */
.lightbox{
  position:fixed;inset:0;z-index:200;
  background:rgba(14,45,58,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  display:none;
  align-items:center;justify-content:center;
  padding:40px;
  opacity:0;
  transition:opacity .25s ease;
}
.lightbox.show{display:flex;opacity:1}
.lightbox__img{
  max-width:min(1200px, 92vw);
  max-height:84vh;
  border-radius:12px;
  border:1px solid rgba(173,89,43,.5);
  box-shadow:0 40px 100px -20px rgba(0,0,0,.8);
  object-fit:contain;
}
.lightbox__caption{
  position:absolute;left:0;right:0;bottom:30px;
  text-align:center;
  color:rgba(245,242,240,.75);
  font-size:13px;letter-spacing:.04em;
  padding:0 24px;
}
.lightbox__close,
.lightbox__nav{
  position:absolute;
  width:48px;height:48px;
  border-radius:50%;
  background:rgba(14,45,58,.8);
  border:1px solid rgba(173,89,43,.5);
  color:var(--off);
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease;
}
.lightbox__close:hover,
.lightbox__nav:hover{background:rgba(173,89,43,.18);border-color:var(--gold)}
.lightbox__close{top:24px;right:24px}
.lightbox__nav--prev{left:24px;top:50%;transform:translateY(-50%)}
.lightbox__nav--next{right:24px;top:50%;transform:translateY(-50%)}
.g-item{cursor:zoom-in}

/* ============== WHATSAPP FAB ============== */
.fab-wa{
  position:fixed;
  right:22px;bottom:22px;z-index:90;
  display:inline-flex;align-items:center;gap:0;
  padding:14px;
  background:#25D366;
  color:#fff;
  border-radius:999px;
  box-shadow:0 14px 30px -10px rgba(37,211,102,.55), 0 4px 12px rgba(0,0,0,.3);
  transition:all .3s ease;
  overflow:hidden;
  white-space:nowrap;
}
.fab-wa::before{
  content:"";
  position:absolute;inset:-4px;
  border-radius:999px;
  background:#25D366;
  opacity:.35;
  z-index:-1;
  animation:waPulse 2s infinite ease-out;
}
@keyframes waPulse{
  0%{transform:scale(.95);opacity:.5}
  100%{transform:scale(1.5);opacity:0}
}
.fab-wa__label{
  max-width:0;
  font-size:14px;font-weight:600;
  opacity:0;
  transition:max-width .35s ease, opacity .25s ease, margin .35s ease;
}
.fab-wa:hover{padding:14px 22px 14px 14px}
.fab-wa:hover .fab-wa__label{
  max-width:220px;
  opacity:1;
  margin-left:10px;
}
.fab-wa svg{width:26px;height:26px;fill:#fff;stroke:none}

/* ============== BENEFITS SPLIT LAYOUT ============== */
.benefits-split{
  display:grid;
  grid-template-columns:1fr 400px;
  gap:56px;
  align-items:start;
}
.benefits-split__left .section__head--left{
  text-align:left;
  max-width:none;
  margin:0 0 48px;
}
.benefits-split__left .section__title{text-align:left}
.benefits-split__left .section__sub{margin-top:16px}
.benefits-split__left .benefits-grid{
  grid-template-columns:repeat(2,1fr);
}
.benefits-split__right{
  position:sticky;
  top:90px;
}
.benefits-img{
  position:relative;
  height:740px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(173,89,43,.35);
  box-shadow:0 40px 80px -20px rgba(0,0,0,.7);
}
.benefits-img img{
  width:100%;height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  background:#0e2d3a;
}
.benefits-img__veil{
  position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(14,45,58,.82) 100%);
}
.benefits-img__label{
  position:absolute;
  left:28px;bottom:28px;
  display:flex;align-items:center;gap:12px;
  font-family:var(--display);
  font-size:26px;font-style:italic;
  color:var(--gold);
}

/* ============== FACADE SECTION ============== */
.section--facade{background:var(--bg)}
.facade-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center 45%;
  opacity:.52;
  filter:saturate(.75) brightness(.85);
}
.facade-veil{
  position:absolute;inset:0;
  background:linear-gradient(180deg,
    rgba(14,45,58,.9) 0%,
    rgba(14,45,58,.48) 30%,
    rgba(14,45,58,.42) 60%,
    rgba(14,45,58,.92) 100%);
}
.section--facade .container{position:relative;z-index:2}
.section--facade .b-card{
  background:rgba(14,45,58,.52);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  border-color:rgba(173,89,43,.38);
}
.section--facade .b-card:hover{
  background:rgba(14,45,58,.65);
  border-color:rgba(173,89,43,.65);
}

/* ============== SUN BAND ============== */
.sun-band{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  height:320px;
  margin-bottom:60px;
  border:1px solid rgba(173,89,43,.3);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.7);
  cursor:zoom-in;
}
.sun-band__img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;
  transition:transform .8s ease;
}
.sun-band:hover .sun-band__img{transform:scale(1.03)}
.sun-band__veil{
  position:absolute;inset:0;
  background:linear-gradient(135deg,
    rgba(14,45,58,.72) 0%,
    rgba(14,45,58,.15) 55%,
    rgba(14,45,58,.45) 100%);
}
.sun-band__label{
  position:absolute;
  left:40px;bottom:32px;
  display:flex;align-items:center;gap:14px;
  font-family:var(--display);
  font-size:30px;
  font-style:italic;
  color:var(--gold);
  letter-spacing:.01em;
}

/* ============== CAROUSEL ============== */
.carousel{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(173,89,43,.3);
  background:#0e2d3a;
  box-shadow:0 40px 100px -30px rgba(0,0,0,.8);
}
.carousel__track{
  display:flex;
  transition:transform .55s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}
.carousel__slide{
  flex:0 0 100%;
  position:relative;
  cursor:zoom-in;
}
.carousel__slide img{
  width:100%;height:600px;
  object-fit:cover;
  display:block;
}
.carousel__caption{
  position:absolute;bottom:0;left:0;right:0;
  padding:80px 36px 28px;
  background:linear-gradient(transparent,rgba(14,45,58,.88));
  color:rgba(245,242,240,.8);
  font-size:14px;letter-spacing:.04em;
  pointer-events:none;
}
.img-disclaimer{
  position:absolute;
  bottom:10px;right:10px;
  font-size:10px;
  color:rgba(245,242,240,.8);
  background:rgba(14,45,58,.7);
  padding:4px 8px;
  border-radius:4px;
  z-index:5;
  pointer-events:none;
}
.carousel__btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:52px;height:52px;border-radius:50%;
  background:rgba(14,45,58,.75);
  border:1px solid rgba(173,89,43,.5);
  color:var(--off);
  display:flex;align-items:center;justify-content:center;
  z-index:10;cursor:pointer;
  transition:background .2s,border-color .2s,transform .2s;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.carousel__btn:hover{
  background:rgba(173,89,43,.2);
  border-color:var(--gold);
  transform:translateY(-50%) scale(1.06);
}
.carousel__btn--prev{left:20px}
.carousel__btn--next{right:20px}
.carousel__dots{
  position:absolute;bottom:18px;left:50%;transform:translateX(-50%);
  display:flex;gap:7px;z-index:10;
}
.carousel__dot{
  width:6px;height:6px;border-radius:3px;
  background:rgba(245,242,240,.35);
  border:0;cursor:pointer;padding:0;
  transition:background .25s,width .3s,transform .25s;
  flex-shrink:0;
}
.carousel__dot.active{
  background:var(--gold);
  width:22px;
}
.carousel__counter{
  position:absolute;top:20px;right:20px;z-index:10;
  padding:7px 14px;
  background:rgba(14,45,58,.65);
  border:1px solid rgba(173,89,43,.4);
  border-radius:999px;
  font-size:12px;letter-spacing:.14em;
  color:var(--gold);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}

/* ============== PLANTAS CAROUSEL ============== */
.planta-carousel{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(173,89,43,.3);
  background:rgba(245,242,240,.02);
  box-shadow:0 40px 100px -30px rgba(0,0,0,.8);
  margin-bottom:32px;
}
.planta-track{
  display:flex;
  transition:transform .55s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}
.planta-slide{
  flex:0 0 100%;
  position:relative;
  cursor:zoom-in;
}
.planta-slide img{
  width:100%;height:700px;
  object-fit:contain;
  display:block;
  background:rgba(245,242,240,.03);
}
.planta-nav{
  display:flex;gap:12px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:32px;
  margin-bottom:40px;
}
.planta-nav__btn{
  width:50px;height:50px;border-radius:50%;
  border:1px solid rgba(173,89,43,.4);
  background:transparent;
  color:rgba(245,242,240,.55);
  font-family:var(--display);font-size:15px;
  letter-spacing:.04em;cursor:pointer;
  transition:all .25s;
}
.planta-nav__btn.active,
.planta-nav__btn:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:#0e2d3a;
}

/* ============== PLANTA HEADER / BADGE FALLBACK ============== */
.planta-header, .planta-badge {
  text-align: center;
  padding: 36px 40px;
  background: linear-gradient(135deg, #102f3d 0%, #0e2d3a 100%);
  border-bottom: 1px solid rgba(201, 169, 110, 0.4);
  position: relative;
  width: 100%;
}
.planta-header::after, .planta-badge::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(circle at center, rgba(173,89,43,0.12), transparent 70%);
  pointer-events: none;
}
.planta-header__size, .planta-badge__title {
  display: block;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: rgba(245, 242, 236, 0.7);
  margin-bottom: 12px;
}
.planta-header__price, .planta-badge__price {
  display: block !important;
  font-family: 'Makota', serif !important;
  font-size: 56px !important;
  font-weight: 500 !important;
  color: #ad592b !important;
  line-height: 1.1 !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  background: none !important;
  border: none !important;
  text-decoration: none !important;
}

/* ============== RESPONSIVE ============== */
@media (max-width:1024px){
  .benefits-split{grid-template-columns:1fr;gap:40px}
  .benefits-split__right{position:static;order:-1}
  .benefits-img{height:420px}
  .benefits-split__left .benefits-grid{grid-template-columns:repeat(2,1fr)}
  .sun-band{height:280px}
  .sun-band__label{font-size:24px;left:28px;bottom:24px}
  .loc-grid{grid-template-columns:1fr;gap:40px}
  .carousel__slide img{height:480px}
  .planta-slide img{height:560px}
  .spec-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  .section{padding:80px 0}
  .site-header__inner{padding:14px 20px}
  .btn-mini{padding:9px 14px;font-size:12px}
  .brand__tag{display:none}
  .hero{padding:110px 20px 80px}
  .hero__badges{flex-direction:column;align-items:stretch}
  .badge{justify-content:flex-start}
  .benefits-grid, .benefits-split__left .benefits-grid{grid-template-columns:1fr}
  .sun-band{height:220px}
  .sun-band__label{font-size:20px;left:20px;bottom:18px;gap:10px}
  .carousel__slide img{height:320px}
  .carousel__btn{width:40px;height:40px}
  .carousel__btn--prev{left:10px}
  .carousel__btn--next{right:10px}
  .planta-slide img{height:380px}
  .planta-header, .planta-badge { padding: 32px 20px; }
  .planta-header__size, .planta-badge__title { font-size: 14px !important; margin-bottom: 8px; }
  .planta-header__price, .planta-badge__price { font-size: 38px !important; }
  .planta-nav__btn{width:42px;height:42px;font-size:13px}
  .spec-grid{grid-template-columns:1fr 1fr}
  .form-shell{padding:36px 24px}
  .hero__sub{font-size:15px}
  .cta-strip{flex-direction:column;text-align:center;padding:24px}
  .map-embed{height:340px}
  .fab-wa{right:16px;bottom:16px;padding:12px}
  .fab-wa svg{width:24px;height:24px}
  .lightbox{padding:16px}
  .lightbox__close,.lightbox__nav{width:42px;height:42px}
  .lightbox__close{top:14px;right:14px}
  .lightbox__nav--prev{left:14px}
  .lightbox__nav--next{right:14px}
}
