/* ── HUB Studio — Website CSS ── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --green:      #14200c;
  --green-mid:  #1e3010;
  --green-soft: #2d4a1a;
  --gold:       #c8a43c;
  --gold-lt:    #e6cd50;
  --gold-pale:  rgba(200,164,60,.08);
  --cream:      #faf7f2;
  --cream-mid:  #f3ede2;
  --cream-dark: #e8dfd0;
  --white:      #ffffff;
  --ink:        #1a1a1a;
  --muted:      #6b7280;
  --muted-lt:   #9ca3af;
  --r8:         8px;
  --r12:        12px;
  --r20:        20px;
  --ease:       cubic-bezier(.4,0,.2,1);
  --ease-out:   cubic-bezier(0,0,.2,1);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }

body {
  font-family:'Inter',system-ui,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.65;
  overflow-x:hidden;
}

img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }

/* ── TIPOGRAFIA ── */
.serif { font-family:'Playfair Display',Georgia,serif; }

h1,h2,h3 { font-family:'Playfair Display',Georgia,serif; line-height:1.2; }

/* ── REVEAL ANIMATIONS ── */
.reveal {
  opacity:0;
  transform:translateY(32px);
  transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);
}
.reveal.visible { opacity:1; transform:none; }
.reveal-left { opacity:0; transform:translateX(-40px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.reveal-left.visible { opacity:1; transform:none; }
.reveal-right { opacity:0; transform:translateX(40px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.reveal-right.visible { opacity:1; transform:none; }

.stagger-1 { transition-delay:.1s !important; }
.stagger-2 { transition-delay:.2s !important; }
.stagger-3 { transition-delay:.3s !important; }
.stagger-4 { transition-delay:.4s !important; }
.stagger-5 { transition-delay:.5s !important; }
.stagger-6 { transition-delay:.6s !important; }

/* ── NAVBAR ── */
.nav {
  position:fixed;
  inset:0 0 auto;
  z-index:100;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 6%;
  transition:background .4s var(--ease), box-shadow .4s var(--ease), backdrop-filter .4s;
}
.nav.solid {
  background:rgba(20,32,12,.97);
  backdrop-filter:blur(12px);
  box-shadow:0 1px 0 rgba(200,164,60,.2);
}
.nav-logo {
  display:flex;
  align-items:center;
  gap:12px;
}
.nav-logo img { height:38px; }
.nav-logo-name {
  font-family:'Playfair Display',serif;
  font-size:1.2rem;
  font-weight:700;
  color:var(--gold);
  letter-spacing:.01em;
}
.nav-logo-tag {
  font-size:.6rem;
  color:rgba(255,255,255,.45);
  letter-spacing:.12em;
  text-transform:uppercase;
  display:block;
  margin-top:-1px;
}

.nav-menu {
  display:flex;
  align-items:center;
  gap:32px;
  list-style:none;
}
.nav-menu a {
  font-size:.83rem;
  font-weight:500;
  color:rgba(255,255,255,.7);
  letter-spacing:.03em;
  transition:color .25s;
  position:relative;
}
.nav-menu a::after {
  content:'';
  position:absolute;
  bottom:-3px; left:0; right:0;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s var(--ease);
}
.nav-menu a:hover,.nav-menu a.active { color:var(--gold); }
.nav-menu a:hover::after,.nav-menu a.active::after { transform:scaleX(1); }

.nav-cta {
  padding:9px 22px;
  background:var(--gold);
  color:var(--green) !important;
  border-radius:6px;
  font-size:.83rem;
  font-weight:700;
  letter-spacing:.04em;
  transition:background .25s, transform .25s !important;
}
.nav-cta::after { display:none !important; }
.nav-cta:hover { background:var(--gold-lt) !important; transform:translateY(-1px) !important; }

.nav-burger {
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:4px;
}
.nav-burger span {
  display:block;
  width:22px;
  height:1.5px;
  background:var(--gold);
  border-radius:2px;
  transition:all .3s;
}

/* Mobile drawer */
.nav-drawer {
  display:none;
  position:fixed;
  inset:72px 0 0;
  background:rgba(20,32,12,.98);
  flex-direction:column;
  gap:0;
  padding:24px 6%;
  z-index:99;
  overflow-y:auto;
}
.nav-drawer.open { display:flex; }
.nav-drawer a {
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  font-size:1rem;
  color:rgba(255,255,255,.75);
  font-weight:500;
}
.nav-drawer a:last-child { border-bottom:none; }
.nav-drawer .nav-cta { border-bottom:none; margin-top:16px; text-align:center; display:block; }

/* ── HERO ── */
.hero {
  min-height:100vh;
  background:var(--green);
  position:relative;
  display:flex;
  align-items:center;
  padding:100px 6% 80px;
  overflow:hidden;
}

.hero-bg-pattern {
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 70% 40%, rgba(200,164,60,.07) 0%, transparent 60%),
    radial-gradient(ellipse 40% 40% at 10% 80%, rgba(200,164,60,.05) 0%, transparent 50%),
    linear-gradient(160deg, #14200c 0%, #1a2e0e 50%, #0e1a08 100%);
  pointer-events:none;
}

/* Decorative lines */
.hero-bg-pattern::before {
  content:'';
  position:absolute;
  top:0; bottom:0;
  right:0;
  width:46%;
  background:rgba(200,164,60,.03);
  border-left:1px solid rgba(200,164,60,.1);
}

.hero-inner {
  max-width:1200px;
  margin:0 auto;
  width:100%;
  display:grid;
  grid-template-columns:1fr 420px;
  gap:80px;
  align-items:center;
  position:relative;
}

.hero-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:24px;
}
.hero-eyebrow-line {
  width:36px;
  height:1px;
  background:var(--gold);
}
.hero-eyebrow span {
  font-size:.72rem;
  color:var(--gold);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
}

.hero-title {
  font-size:clamp(2.6rem,5.5vw,4.2rem);
  font-weight:800;
  color:var(--white);
  line-height:1.1;
  margin-bottom:24px;
  letter-spacing:-.02em;
}
.hero-title em {
  font-style:italic;
  color:var(--gold);
  font-weight:600;
}

.hero-subtitle {
  font-size:1rem;
  color:rgba(255,255,255,.6);
  max-width:480px;
  line-height:1.8;
  margin-bottom:40px;
  font-weight:300;
}

.hero-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:56px;
}

.btn {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:'Inter',sans-serif;
  font-weight:600;
  border:none;
  cursor:pointer;
  transition:all .25s var(--ease);
  text-decoration:none;
}
.btn-primary {
  padding:14px 30px;
  background:var(--gold);
  color:var(--green);
  border-radius:6px;
  font-size:.9rem;
  letter-spacing:.03em;
}
.btn-primary:hover { background:var(--gold-lt); transform:translateY(-2px); box-shadow:0 8px 28px rgba(200,164,60,.3); }

.btn-ghost-white {
  padding:14px 30px;
  background:transparent;
  color:rgba(255,255,255,.8);
  border:1px solid rgba(255,255,255,.2);
  border-radius:6px;
  font-size:.9rem;
}
.btn-ghost-white:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-2px); }

.hero-stats {
  display:flex;
  gap:36px;
}
.hero-stat {}
.hero-stat .num {
  font-family:'Playfair Display',serif;
  font-size:2rem;
  font-weight:700;
  color:var(--white);
  line-height:1;
}
.hero-stat .lbl {
  font-size:.73rem;
  color:rgba(255,255,255,.45);
  margin-top:5px;
  letter-spacing:.04em;
}
.hero-stat-divider { width:1px; background:rgba(255,255,255,.12); }

/* Hero visual card */
.hero-visual {
  position:relative;
}
.hero-card-main {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(200,164,60,.18);
  border-radius:20px;
  padding:32px;
  backdrop-filter:blur(16px);
  position:relative;
}
.hero-card-main::before {
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:20px;
  background:linear-gradient(135deg, rgba(200,164,60,.12), transparent 50%, rgba(200,164,60,.06));
  pointer-events:none;
}

.card-label {
  font-size:.68rem;
  color:var(--gold);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:20px;
  display:flex;
  align-items:center;
  gap:8px;
}
.card-label::before {
  content:'';
  width:18px;
  height:1px;
  background:var(--gold);
}

.slot-list { display:flex; flex-direction:column; gap:10px; }
.slot-item {
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  background:rgba(255,255,255,.04);
  border-radius:10px;
  border:1px solid rgba(255,255,255,.06);
  transition:border-color .25s;
  animation:slideInSlot .5s var(--ease-out) both;
}
.slot-item:nth-child(1) { animation-delay:.1s; }
.slot-item:nth-child(2) { animation-delay:.25s; }
.slot-item:nth-child(3) { animation-delay:.4s; }
.slot-item:hover { border-color:rgba(200,164,60,.25); }

@keyframes slideInSlot {
  from { opacity:0; transform:translateX(12px); }
  to   { opacity:1; transform:none; }
}

.slot-time {
  font-size:.82rem;
  color:var(--gold);
  font-weight:700;
  min-width:44px;
  font-variant-numeric:tabular-nums;
}
.slot-service { flex:1; font-size:.82rem; color:rgba(255,255,255,.8); }
.slot-pro { font-size:.72rem; color:rgba(255,255,255,.4); }
.slot-dot {
  width:8px; height:8px;
  border-radius:50%;
  background:#4ade80;
  box-shadow:0 0 6px rgba(74,222,128,.5);
  flex-shrink:0;
}

.hero-card-footer {
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.07);
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.hero-card-footer .hint {
  font-size:.73rem;
  color:rgba(255,255,255,.35);
}
.hero-card-footer a {
  font-size:.78rem;
  color:var(--gold);
  font-weight:600;
  display:flex;
  align-items:center;
  gap:4px;
  transition:gap .2s;
}
.hero-card-footer a:hover { gap:8px; }

/* Floating badge */
.hero-badge-float {
  position:absolute;
  bottom:-20px;
  left:-20px;
  background:var(--gold);
  color:var(--green);
  border-radius:14px;
  padding:16px 20px;
  font-weight:700;
  box-shadow:0 8px 28px rgba(200,164,60,.3);
  animation:floatBadge 3s ease-in-out infinite;
}
@keyframes floatBadge {
  0%,100% { transform:translateY(0); }
  50%      { transform:translateY(-6px); }
}
.hero-badge-float .big { font-family:'Playfair Display',serif; font-size:1.8rem; display:block; line-height:1; }
.hero-badge-float .small { font-size:.7rem; opacity:.75; margin-top:2px; letter-spacing:.04em; }

/* ── SECTION BASE ── */
section { padding:100px 6%; }

.section-inner { max-width:1200px; margin:0 auto; }

.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
}
.eyebrow-line { width:28px; height:1px; background:var(--gold); }
.eyebrow span {
  font-size:.7rem;
  color:var(--gold);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
}

.section-title {
  font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:800;
  color:var(--green);
  line-height:1.15;
  letter-spacing:-.02em;
}
.section-title em { font-style:italic; color:var(--gold); font-weight:600; }

.section-lead {
  font-size:1rem;
  color:var(--muted);
  max-width:520px;
  line-height:1.8;
  margin-top:14px;
  font-weight:300;
}

/* ── SERVIÇOS ── */
.services-section { background:var(--white); }

.services-header {
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:end;
  margin-bottom:56px;
}

.services-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
}

.service-tile {
  padding:36px 32px;
  background:var(--cream);
  border:1px solid var(--cream-dark);
  cursor:default;
  transition:all .3s var(--ease);
  position:relative;
  overflow:hidden;
}
.service-tile::before {
  content:'';
  position:absolute;
  bottom:0; left:0; right:0;
  height:2px;
  background:linear-gradient(90deg, var(--gold), var(--gold-lt));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s var(--ease);
}
.service-tile:hover { background:var(--white); box-shadow:0 4px 32px rgba(0,0,0,.08); z-index:1; }
.service-tile:hover::before { transform:scaleX(1); }

.service-tile-icon {
  font-size:2.2rem;
  margin-bottom:20px;
  display:block;
  transition:transform .3s;
}
.service-tile:hover .service-tile-icon { transform:scale(1.1); }

.service-tile-name {
  font-family:'Playfair Display',serif;
  font-size:1.15rem;
  font-weight:700;
  color:var(--green);
  margin-bottom:10px;
}
.service-tile-desc {
  font-size:.82rem;
  color:var(--muted);
  line-height:1.7;
}
.service-tile-arrow {
  margin-top:20px;
  font-size:.78rem;
  color:var(--gold);
  font-weight:600;
  opacity:0;
  transition:opacity .25s, transform .25s;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.service-tile:hover .service-tile-arrow { opacity:1; transform:translateX(4px); }

/* ── SOBRE ── */
.about-section { background:var(--cream); }

.about-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.about-img-wrap { position:relative; }
.about-img-frame {
  aspect-ratio:3/4;
  border-radius:20px;
  background:linear-gradient(160deg, var(--green) 0%, var(--green-soft) 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:6rem;
  position:relative;
  overflow:hidden;
}
.about-img-frame img {
  width:100%; height:100%;
  object-fit:cover;
  border-radius:20px;
}
.about-img-frame::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, transparent 50%, rgba(20,32,12,.5) 100%);
  border-radius:20px;
  pointer-events:none;
}

/* Decorative corner accents */
.about-img-wrap::before {
  content:'';
  position:absolute;
  top:-14px; left:-14px;
  width:70px; height:70px;
  border-top:2px solid var(--gold);
  border-left:2px solid var(--gold);
  border-radius:4px 0 0 0;
  pointer-events:none;
}
.about-img-wrap::after {
  content:'';
  position:absolute;
  bottom:-14px; right:-14px;
  width:70px; height:70px;
  border-bottom:2px solid var(--gold);
  border-right:2px solid var(--gold);
  border-radius:0 0 4px 0;
  pointer-events:none;
}

.about-exp-badge {
  position:absolute;
  bottom:28px; right:-28px;
  background:var(--gold);
  color:var(--green);
  border-radius:14px;
  padding:20px 24px;
  text-align:center;
  box-shadow:0 8px 32px rgba(200,164,60,.35);
}
.about-exp-badge .n {
  font-family:'Playfair Display',serif;
  font-size:2.4rem;
  font-weight:800;
  display:block;
  line-height:1;
}
.about-exp-badge .t { font-size:.72rem; font-weight:700; opacity:.8; margin-top:4px; letter-spacing:.04em; }

.about-quote {
  font-family:'Playfair Display',serif;
  font-size:1.25rem;
  font-style:italic;
  color:var(--green);
  line-height:1.6;
  margin:24px 0;
  padding-left:24px;
  border-left:3px solid var(--gold);
}

.about-body { font-size:.92rem; color:var(--muted); line-height:1.85; margin-bottom:14px; font-weight:300; }

.about-values {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:32px;
}
.about-val {
  background:var(--white);
  border:1px solid var(--cream-dark);
  border-radius:12px;
  padding:18px 16px;
  display:flex;
  gap:12px;
  align-items:flex-start;
  transition:border-color .25s, box-shadow .25s;
}
.about-val:hover { border-color:rgba(200,164,60,.4); box-shadow:0 4px 16px rgba(200,164,60,.08); }
.about-val .ico { font-size:1.3rem; flex-shrink:0; margin-top:1px; }
.about-val strong { display:block; font-size:.82rem; color:var(--green); margin-bottom:2px; }
.about-val span { font-size:.75rem; color:var(--muted); }

/* ── DEPOIMENTOS ── */
.testimonials-section { background:var(--green); overflow:hidden; position:relative; }
.testimonials-section::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
}
.testimonials-section::after {
  content:'';
  position:absolute;
  bottom:0; left:0; right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
}

.testimonials-header { text-align:center; margin-bottom:56px; }
.testimonials-header .section-title { color:var(--white); }
.testimonials-header .section-lead { margin:14px auto 0; color:rgba(255,255,255,.5); }

.testimonials-track {
  display:flex;
  gap:24px;
  overflow-x:auto;
  -ms-overflow-style:none;
  scrollbar-width:none;
  padding-bottom:8px;
  cursor:grab;
  user-select:none;
}
.testimonials-track::-webkit-scrollbar { display:none; }
.testimonials-track.grabbing { cursor:grabbing; }

.tcard {
  flex-shrink:0;
  width:320px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(200,164,60,.15);
  border-radius:16px;
  padding:28px;
  transition:border-color .25s, background .25s;
}
.tcard:hover { border-color:rgba(200,164,60,.35); background:rgba(255,255,255,.08); }

.tcard-stars {
  display:flex;
  gap:3px;
  margin-bottom:16px;
}
.tcard-stars span { color:var(--gold); font-size:.9rem; }

.tcard-text {
  font-size:.88rem;
  color:rgba(255,255,255,.75);
  line-height:1.75;
  margin-bottom:20px;
  font-style:italic;
  font-family:'Playfair Display',serif;
  font-weight:400;
}
.tcard-author {
  display:flex;
  align-items:center;
  gap:12px;
}
.tcard-avatar {
  width:38px; height:38px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--gold-lt));
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1rem;
  flex-shrink:0;
  color:var(--green);
  font-weight:700;
}
.tcard-name { font-size:.82rem; color:var(--white); font-weight:600; }
.tcard-service { font-size:.72rem; color:rgba(255,255,255,.4); margin-top:1px; }

/* ── GALERIA ── */
.gallery-section { background:var(--white); }
.gallery-header { text-align:center; margin-bottom:48px; }
.gallery-header .section-lead { margin:12px auto 0; }

.gallery-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:auto auto;
  gap:12px;
}
.gallery-item {
  border-radius:12px;
  overflow:hidden;
  background:linear-gradient(135deg, var(--green), var(--green-soft));
  aspect-ratio:1;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.5rem;
  position:relative;
  cursor:pointer;
  transition:transform .3s var(--ease), box-shadow .3s;
}
.gallery-item::after {
  content:'';
  position:absolute;
  inset:0;
  background:rgba(20,32,12,.4);
  opacity:0;
  transition:opacity .3s;
}
.gallery-item:hover { transform:scale(1.02); box-shadow:0 12px 36px rgba(0,0,0,.18); }
.gallery-item:hover::after { opacity:1; }
.gallery-item.tall { grid-row:span 2; aspect-ratio:auto; }
.gallery-item img { width:100%; height:100%; object-fit:cover; }
.gallery-item .overlay-text {
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.3);
  font-size:.8rem;
  letter-spacing:.1em;
  text-align:center;
  padding:16px;
}

/* ── BOOKING STRIP ── */
.booking-strip {
  background:var(--gold);
  padding:60px 6%;
}
.booking-strip-inner {
  max-width:1200px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}
.booking-strip-text h2 {
  font-size:clamp(1.4rem,3vw,2.2rem);
  color:var(--green);
  font-weight:800;
  line-height:1.2;
}
.booking-strip-text p { font-size:.9rem; color:rgba(20,32,12,.7); margin-top:8px; }
.btn-dark {
  padding:16px 36px;
  background:var(--green);
  color:var(--white);
  border-radius:6px;
  font-size:.9rem;
  font-weight:700;
  white-space:nowrap;
  transition:background .25s, transform .25s;
}
.btn-dark:hover { background:var(--green-mid); transform:translateY(-2px); }

/* ── FOOTER ── */
footer {
  background:var(--green);
  padding:72px 6% 32px;
  border-top:1px solid rgba(200,164,60,.2);
}
.footer-inner { max-width:1200px; margin:0 auto; }
.footer-grid {
  display:grid;
  grid-template-columns:2.2fr 1fr 1fr 1.4fr;
  gap:40px;
  margin-bottom:48px;
}

.footer-brand {}
.footer-logo {
  font-family:'Playfair Display',serif;
  font-size:1.4rem;
  font-weight:800;
  color:var(--gold);
  margin-bottom:12px;
}
.footer-tagline { font-size:.8rem; color:rgba(255,255,255,.4); line-height:1.7; max-width:260px; }

.footer-col h5 {
  font-size:.68rem;
  color:var(--gold);
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:16px;
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.footer-col ul a { font-size:.82rem; color:rgba(255,255,255,.5); transition:color .2s; }
.footer-col ul a:hover { color:var(--gold); }

.footer-contact-item {
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-bottom:12px;
}
.footer-contact-item .ico { font-size:1rem; margin-top:1px; }
.footer-contact-item div { font-size:.78rem; color:rgba(255,255,255,.5); line-height:1.5; }
.footer-contact-item a { color:rgba(255,255,255,.5); transition:color .2s; }
.footer-contact-item a:hover { color:var(--gold); }

.footer-bottom {
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}
.footer-bottom p { font-size:.75rem; color:rgba(255,255,255,.25); }
.footer-bottom a { font-size:.75rem; color:rgba(255,255,255,.25); transition:color .2s; }
.footer-bottom a:hover { color:var(--gold); }

/* ── WHATSAPP FLOAT ── */
.wa-float {
  position:fixed;
  bottom:28px; right:28px;
  width:54px; height:54px;
  background:#22c55e;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  text-decoration:none;
  box-shadow:0 4px 20px rgba(34,197,94,.4);
  z-index:90;
  transition:transform .25s, box-shadow .25s;
}
.wa-float:hover { transform:scale(1.12); box-shadow:0 6px 28px rgba(34,197,94,.55); }

/* ── PAGE HERO (subpages) ── */
.page-hero {
  padding:140px 6% 80px;
  background:var(--green);
  position:relative;
  overflow:hidden;
  text-align:center;
}
.page-hero::after {
  content:'';
  position:absolute;
  bottom:0; left:0; right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(200,164,60,.3), transparent);
}
.page-hero-eyebrow { display:flex; justify-content:center; margin-bottom:16px; }
.page-hero h1 { font-size:clamp(2rem,5vw,3.4rem); color:var(--white); font-weight:800; }
.page-hero p { font-size:.98rem; color:rgba(255,255,255,.55); max-width:480px; margin:14px auto 0; font-weight:300; }

/* ── RESPONSIVE ── */
@media(max-width:1100px) {
  .hero-inner { grid-template-columns:1fr 360px; gap:60px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media(max-width:900px) {
  .hero-inner { grid-template-columns:1fr; }
  .hero-visual { display:none; }
  .about-grid { grid-template-columns:1fr; }
  .about-img-wrap { display:none; }
  .booking-strip-inner { flex-direction:column; text-align:center; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-item.tall { grid-row:auto; }
  .services-header { grid-template-columns:1fr; }
}

@media(max-width:640px) {
  section { padding:72px 5%; }
  .nav { padding:0 5%; }
  .nav-menu { display:none; }
  .nav-burger { display:flex; }
  .services-grid { grid-template-columns:1fr; }
  .about-values { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
  .hero-stats { gap:20px; }
  .hero { padding:90px 5% 72px; }
}
