@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,300;1,400&family=DM+Sans:wght@200;300;400;500&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Manrope:wght@200;300;400;500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root {
  --mocha:       #0F0F0F;
  --mocha-mid:   #2A2520;
  --mocha-soft:  #6B5F54;
  --mocha-pale:  #B8AC9E;
  --matcha:      #C8A97A;
  --matcha-soft: #D9BF9A;
  --matcha-pale: #EDD9BE;
  --cream:       #F8F7F0;
  --cream-2:     #F0EDE3;
  --cream-3:     #E6E0D4;
  --warm-white:  #FFFFFF;
  --text:        #0F0F0F;
  --text-mid:    #3A332C;
  --text-soft:   #7A6E62;
  --font-disp:   'Playfair Display', Georgia, serif;
  --font-body:   'DM Sans', sans-serif;
  --nav-h:       76px;
  --ease:        cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--text);font-family:var(--font-body);font-weight:300;line-height:1.7;overflow-x:hidden}

/* ── NAV ── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 56px;
  background:transparent;
  border-bottom:none;
  transform:translateY(0);
  transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
.nav.nav-hidden{
  transform:translateY(-100%);
}
.nav-logo{
  font-family:var(--font-disp);font-size:20px;font-weight:400;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--mocha);text-decoration:none;
}
.logo-mark{color:var(--matcha);font-size:14px}
.nav-links{display:flex;gap:32px;list-style:none}
.nav-links a{
  font-size:11px;font-weight:400;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--text-mid);
  text-decoration:none;transition:color 0.2s;
}
.nav-links a:hover{color:var(--mocha)}
.nav-btn{
  font-size:10px;font-weight:400;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--cream);
  background:var(--mocha);padding:11px 26px;
  text-decoration:none;transition:background 0.2s;
}
.nav-btn:hover{background:var(--matcha)}

/* ── NAV over dark hero (index, contact, booking) ── */
.nav-over-dark .nav-logo{color:rgba(255,255,255,0.92)}
.nav-over-dark .nav-links a{color:rgba(255,255,255,0.65)}
.nav-over-dark .nav-links a:hover{color:#ffffff}
.nav-over-dark .nav-btn{
  background:transparent;color:rgba(255,255,255,0.85);
  border:1px solid rgba(255,255,255,0.35);
}
.nav-over-dark .nav-btn:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.65)}
.nav-hamburger{
  display:none;flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;padding:4px;
}
.nav-hamburger span{
  display:block;width:22px;height:1px;background:var(--mocha);
  transition:transform 0.2s;
}
.mobile-menu{
  display:none;flex-direction:column;
  position:fixed;top:var(--nav-h);left:0;right:0;
  background:var(--cream);z-index:190;
  border-bottom:1px solid var(--cream-3);
  padding:24px 32px 32px;gap:20px;
}
.mobile-menu a{
  font-size:14px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--text-mid);text-decoration:none;
}
.mobile-menu .mobile-book{
  margin-top:8px;padding:14px;
  background:var(--mocha);color:var(--cream);
  text-align:center;font-size:11px;letter-spacing:0.2em;
}
.mobile-menu.open{display:flex}

/* ── PAGE HERO (shared) ── */
.page-hero{
  padding-top:calc(var(--nav-h) + 60px);
  padding-bottom:60px;
  background:var(--cream-2);
  text-align:center;
}
.page-hero .eyebrow{margin-bottom:16px}
.page-hero .page-hero-title{
  font-family:var(--font-disp);font-size:clamp(40px,5vw,72px);
  font-weight:300;line-height:1.05;color:var(--mocha);
}
.page-hero .page-hero-title em{font-style:italic;color:var(--matcha)}
.page-hero .page-hero-sub{
  font-size:15px;font-weight:300;color:var(--text-mid);
  max-width:480px;margin:20px auto 0;line-height:1.9;
}

/* ── HERO (homepage) ── */
.hero-banner{
  width:100%;overflow:hidden;display:block;
}
.hero-banner-img{
  width:100%;height:auto;display:block;max-height:420px;object-fit:cover;
}

/* ── RIBBON ── */
.ribbon{background:var(--mocha);padding:13px 0;overflow:hidden}
.ribbon-track{
  display:flex;gap:40px;white-space:nowrap;
  animation:scroll 22s linear infinite;
}
.ribbon-track span{
  font-size:10px;font-weight:400;letter-spacing:0.25em;
  text-transform:uppercase;color:var(--mocha-pale);flex-shrink:0;
}
.ribbon-sep{color:var(--matcha);flex-shrink:0;font-size:9px}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── SHARED ELEMENTS ── */
.container{max-width:1180px;margin:0 auto;padding:0 56px}
section:not(.hero-banner):not(.society-section){padding:96px 0}

.eyebrow{
  font-size:10px;font-weight:400;letter-spacing:0.35em;
  text-transform:uppercase;color:var(--matcha);
  display:flex;align-items:center;gap:12px;
  margin-bottom:18px;
}
.eyebrow::before{
  content:'';display:block;width:28px;height:1px;background:var(--matcha);
}
.eyebrow.light::before{background:var(--matcha-soft)}
.eyebrow.light{color:var(--matcha-soft)}
.eyebrow.center{justify-content:center}
.eyebrow.center::before{display:none}
.section-header.center{text-align:center;margin-bottom:56px}
.section-title{
  font-family:var(--font-disp);font-size:clamp(32px,3.5vw,54px);
  font-weight:300;line-height:1.1;color:var(--mocha);
}
.section-title em{font-style:italic;color:var(--matcha)}
.body-text{font-size:15px;font-weight:300;color:var(--text-mid);line-height:1.9;margin-bottom:20px}

.btn-primary{
  display:inline-block;
  font-size:10px;font-weight:400;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--cream);
  background:var(--mocha);padding:16px 40px;
  text-decoration:none;transition:background 0.2s,transform 0.15s;
}
.btn-primary:hover{background:var(--matcha);transform:translateY(-1px)}
.btn-outline{
  display:inline-block;
  font-size:10px;font-weight:400;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--mocha);
  border:1px solid var(--mocha-pale);padding:15px 40px;
  text-decoration:none;transition:all 0.2s;
}
.btn-outline:hover{background:var(--mocha);color:var(--cream)}
.btn-ghost{
  display:inline-flex;align-items:center;gap:12px;
  font-size:10px;font-weight:400;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--mocha);
  text-decoration:none;transition:gap 0.2s,color 0.2s;
}
.btn-ghost:hover{color:var(--matcha);gap:18px}
.arrow-line{
  display:inline-block;width:28px;height:1px;
  background:currentColor;position:relative;
}
.arrow-line::after{
  content:'';position:absolute;right:0;top:-3px;
  width:6px;height:6px;
  border-right:1px solid currentColor;border-top:1px solid currentColor;
  transform:rotate(45deg);
}
.btn-light{
  display:inline-block;
  font-size:10px;font-weight:400;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--mocha);
  background:var(--cream);padding:16px 40px;
  text-decoration:none;transition:background 0.2s;
}
.btn-light:hover{background:var(--matcha-pale)}
.center-cta{text-align:center;margin-top:48px}

/* ── SERVICES GRID (homepage preview) ── */
.services-preview-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
}
.service-tile{
  display:block;
  background:var(--cream-2);padding:40px 32px 36px;
  text-decoration:none;
  border-top:2px solid transparent;
  transition:background 0.25s,border-color 0.2s;
  position:relative;
}
.service-tile:hover{background:var(--warm-white);border-top-color:var(--matcha)}
.tile-num{
  font-size:11px;letter-spacing:0.15em;color:var(--mocha-pale);
  margin-bottom:18px;font-family:var(--font-disp);
}
.tile-icon{
  color:var(--mocha-soft);margin-bottom:20px;
  transition:color 0.2s;
}
.service-tile:hover .tile-icon{color:var(--matcha)}
.tile-name{
  font-family:var(--font-disp);font-size:20px;font-weight:400;
  color:var(--mocha);margin-bottom:10px;
}
.tile-desc{font-size:13px;font-weight:300;color:var(--text-soft);line-height:1.8;margin-bottom:20px}
.tile-link{
  font-size:10px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--matcha);font-weight:400;
}

/* ── ABOUT STRIP ── */
.about-strip{background:var(--cream)}
.about-strip-inner{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.about-strip-visual{position:relative}
.about-frame{
  background:var(--cream-2);
  padding-bottom:110%;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.about-frame svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.about-stats-box{
  position:absolute;bottom:-24px;right:-24px;
  background:var(--mocha);padding:28px 32px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.stat-item{text-align:center}
.stat-n{
  font-family:var(--font-disp);font-size:26px;font-weight:300;
  color:var(--matcha-soft);display:block;
}
.stat-l{
  font-size:9px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--mocha-pale);margin-top:4px;display:block;
}
.about-strip-text{padding:40px 0}

/* ── TESTIMONIALS ── */
.testimonials-section{padding:0!important}
.testi-layout{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:560px;
}
.testi-image-side{overflow:hidden}
.testi-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.testi-editorial-side{
  background:linear-gradient(135deg,#ffffff 0%,#F5ECD8 40%,#E8D0A0 75%,#C8A97A 100%);
  display:flex;flex-direction:column;justify-content:center;
  padding:64px 72px;
}
.testi-section-title{
  font-size:9px;font-weight:400;letter-spacing:0.45em;
  text-transform:uppercase;color:#9A7A35;
  margin-bottom:40px;
}
.testi-featured{flex:1;display:flex;flex-direction:column;justify-content:center}
.testi-featured-body{
  font-family:var(--font-disp);font-size:26px;font-weight:300;
  font-style:italic;color:#1A1612;line-height:1.55;
  margin-bottom:36px;transition:opacity 0.4s ease;
}
.testi-featured-meta{border-left:2px solid rgba(160,120,40,0.4);padding-left:18px}
.testi-featured-name{
  font-size:10px;font-weight:500;letter-spacing:0.25em;
  text-transform:uppercase;color:#9A7A35;margin-bottom:5px;
  transition:opacity 0.4s ease;
}
.testi-featured-treatment{
  font-size:10px;color:rgba(120,90,30,0.5);
  transition:opacity 0.4s ease;
}
.testi-nav{
  display:flex;align-items:center;gap:24px;margin-top:48px;
}
.testi-arrow{
  background:none;border:1px solid rgba(160,120,40,0.35);
  color:#9A7A35;width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;cursor:pointer;transition:all 0.2s;
}
.testi-arrow:hover{background:rgba(160,120,40,0.1);border-color:#9A7A35}
.testi-counter{
  font-size:10px;letter-spacing:0.2em;color:rgba(120,90,30,0.45);
}
.testi-fade{opacity:0}

/* ── SOCIETY ── */
.society-section{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:560px;margin-top:0;
}
.society-image-side{overflow:hidden}
.society-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.society-content-side{
  background:#ffffff;
  display:flex;flex-direction:column;justify-content:center;
  padding:72px 80px;
}
.society-eyebrow{
  font-family:'Manrope',sans-serif;font-size:9px;letter-spacing:0.45em;text-transform:uppercase;
  color:#C8A97A;margin-bottom:20px;
}
.society-title{
  font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4.5vw,58px);
  font-weight:300;color:#0F0F0F;line-height:1.08;margin-bottom:20px;
}
.society-title em{font-style:italic;color:#C8A97A}
.society-desc{
  font-family:'Manrope',sans-serif;font-size:14px;font-weight:300;color:#6B5F54;
  line-height:1.75;margin-bottom:40px;max-width:360px;
}
.society-list{
  list-style:none;display:flex;flex-direction:column;gap:14px;margin-bottom:48px;
}
.society-list li{
  font-family:'Manrope',sans-serif;font-size:13px;font-weight:300;color:#0F0F0F;
  letter-spacing:0.08em;display:flex;align-items:center;gap:14px;
}
.society-list li::before{
  content:'';width:20px;height:1px;background:#C8A97A;flex-shrink:0;
}

/* ── CTA BANNER ── */
.cta-banner{background:var(--mocha)}
.cta-banner section,.cta-banner{padding:80px 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta-title{
  font-family:var(--font-disp);font-size:clamp(28px,3vw,44px);
  font-weight:300;line-height:1.15;color:var(--cream);margin-top:8px;
}

/* ── FOOTER ── */
.footer{
  background:#0F0F0F;
  padding:48px 56px;
  display:flex;align-items:center;justify-content:space-between;
  gap:32px;flex-wrap:wrap;
  border-top:1px solid rgba(200,169,122,0.2);
}
.footer-logo-text{
  font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:400;
  letter-spacing:0.18em;text-transform:uppercase;
  color:rgba(240,230,208,0.5);text-decoration:none;
  transition:color 0.2s;
}
.footer-logo-text:hover{color:rgba(240,230,208,0.85)}
.footer-nav{
  display:flex;gap:32px;flex-wrap:wrap;align-items:center;
}
.footer-nav a{
  font-family:'Manrope',sans-serif;font-size:10px;font-weight:300;
  letter-spacing:0.2em;text-transform:uppercase;
  color:rgba(240,230,208,0.35);text-decoration:none;
  transition:color 0.2s;
}
.footer-nav a:hover{color:rgba(240,230,208,0.75)}
.footer-copy{
  font-family:'Manrope',sans-serif;font-size:10px;font-weight:300;
  color:rgba(240,230,208,0.2);letter-spacing:0.08em;
}
@media(max-width:768px){
  .footer{padding:36px 24px;flex-direction:column;align-items:flex-start;gap:24px}
  .footer-nav{gap:20px}
}

/* ── SERVICES PAGE ── */
.services-full-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:2px;
  margin-top:60px;
}
.service-full-card{
  background:var(--cream-2);padding:52px 44px;
  border-top:2px solid transparent;transition:border-color 0.2s,background 0.2s;
}
.service-full-card:hover{border-top-color:var(--matcha);background:var(--warm-white)}
.sfc-num{font-size:11px;letter-spacing:0.12em;color:var(--mocha-pale);margin-bottom:16px;font-family:var(--font-disp)}
.sfc-title{font-family:var(--font-disp);font-size:26px;font-weight:400;color:var(--mocha);margin-bottom:14px}
.sfc-body{font-size:14px;font-weight:300;color:var(--text-soft);line-height:1.85;margin-bottom:20px}
.sfc-time{
  font-size:10px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--matcha);font-weight:400;
  padding:7px 14px;border:1px solid var(--matcha-pale);
  display:inline-block;margin-top:4px;
}

/* ── ABOUT PAGE ── */
.about-mission{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.mission-visual{position:relative}
.mission-img{
  background:var(--cream-2);padding-bottom:115%;position:relative;
}
.mission-img-inner{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
}
.mission-deco{
  position:absolute;top:20px;right:-20px;
  width:100px;height:100px;border:1px solid var(--matcha-pale);
}
.team-section{background:var(--cream-2)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.team-card{background:var(--warm-white);padding:40px 32px;text-align:center}
.team-avatar{
  width:88px;height:88px;border-radius:50%;
  background:var(--matcha-pale);margin:0 auto 20px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-disp);font-size:26px;color:var(--matcha);
}
.team-name{font-family:var(--font-disp);font-size:20px;font-weight:400;color:var(--mocha);margin-bottom:4px}
.team-title{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--matcha);margin-bottom:16px}
.team-bio{font-size:13px;font-weight:300;color:var(--text-soft);line-height:1.8}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:56px}
.value-item{background:var(--cream-2);padding:40px 28px;border-top:2px solid transparent;transition:border-color 0.2s}
.value-item:hover{border-top-color:var(--matcha)}
.value-title{font-family:var(--font-disp);font-size:20px;font-weight:400;color:var(--mocha);margin-bottom:12px}
.value-body{font-size:13px;font-weight:300;color:var(--text-soft);line-height:1.8}

/* ── RESULTS PAGE ── */
.gallery-filters{display:flex;gap:4px;margin-top:40px;flex-wrap:wrap}
.filter-btn{
  font-size:10px;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;
  padding:9px 20px;border:1px solid var(--cream-3);
  background:transparent;color:var(--text-mid);cursor:pointer;transition:all 0.2s;
}
.filter-btn.active,.filter-btn:hover{background:var(--mocha);color:var(--cream);border-color:var(--mocha)}
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.result-card{background:var(--cream-2);overflow:hidden}
.result-pair{display:grid;grid-template-columns:1fr 1fr;gap:2px;position:relative}
.result-img{padding-bottom:130%;position:relative;overflow:hidden}
.result-img-fill{position:absolute;inset:0}
.result-lbl{
  position:absolute;bottom:8px;left:8px;
  font-size:8px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--cream);background:rgba(62,42,30,0.65);padding:3px 7px;
}
.result-divider{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--warm-white);z-index:2}
.result-tag{
  padding:14px 16px;
  font-size:11px;font-weight:400;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--text-mid);
}

/* ── BOOKING PAGE ── */
.booking-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:start}
.booking-info .body-text{margin-bottom:16px}
.booking-benefits{list-style:none;margin-top:32px;display:flex;flex-direction:column;gap:14px}
.booking-benefits li{
  display:flex;align-items:center;gap:12px;
  font-size:13px;font-weight:300;color:var(--text-mid);
}
.benefit-dot{width:6px;height:6px;border-radius:50%;background:var(--matcha);flex-shrink:0}
.booking-form-box{background:var(--cream-2);padding:48px 44px}
.form-title{font-family:var(--font-disp);font-size:26px;font-weight:400;color:var(--mocha);margin-bottom:32px}
.form-group{margin-bottom:18px}
.form-label{
  display:block;font-size:9px;font-weight:400;
  letter-spacing:0.25em;text-transform:uppercase;
  color:var(--text-soft);margin-bottom:7px;
}
.form-input,.form-select,.form-textarea{
  width:100%;padding:13px 15px;
  background:var(--warm-white);
  border:1px solid var(--cream-3);
  font-family:var(--font-body);font-size:14px;font-weight:300;
  color:var(--text);outline:none;
  transition:border-color 0.2s;
  appearance:none;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--matcha)}
.form-textarea{height:100px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-submit{
  width:100%;padding:17px;
  background:var(--mocha);color:var(--cream);
  border:none;font-family:var(--font-body);
  font-size:10px;font-weight:400;letter-spacing:0.25em;
  text-transform:uppercase;cursor:pointer;margin-top:6px;
  transition:background 0.2s;
}
.form-submit:hover{background:var(--matcha)}
.form-note{text-align:center;font-size:11px;color:var(--text-soft);margin-top:14px}

/* ── CONTACT PAGE ── */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.contact-detail{margin-bottom:36px}
.contact-label{font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:var(--matcha);margin-bottom:8px}
.contact-value{font-family:var(--font-disp);font-size:19px;font-weight:300;color:var(--mocha);line-height:1.45}
.hours-table{width:100%;margin-top:8px;border-collapse:collapse}
.hours-table td{font-size:13px;font-weight:300;padding:4px 0}
.hours-table td:first-child{color:var(--text-soft)}
.hours-table td:last-child{text-align:right;color:var(--text-mid)}
.social-row{display:flex;gap:12px;margin-top:8px}
.social-btn{
  width:38px;height:38px;border:1px solid var(--cream-3);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-mid);text-decoration:none;font-size:12px;
  transition:all 0.2s;
}
.social-btn:hover{border-color:var(--matcha);color:var(--matcha)}
.faq-section{background:var(--cream-2)}
.faq-list{max-width:720px;margin:0 auto;margin-top:48px}
.faq-item{border-bottom:1px solid var(--cream-3)}
.faq-q{
  width:100%;text-align:left;background:none;border:none;
  padding:22px 0;display:flex;justify-content:space-between;align-items:center;
  gap:20px;cursor:pointer;
  font-family:var(--font-disp);font-size:17px;font-weight:400;
  color:var(--mocha);transition:color 0.2s;
}
.faq-q:hover{color:var(--matcha)}
.faq-icon{
  width:22px;height:22px;border:1px solid var(--mocha-pale);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;color:var(--mocha-soft);flex-shrink:0;
  transition:transform 0.3s,background 0.2s,border-color 0.2s;
}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--matcha);border-color:var(--matcha);color:#fff}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease}
.faq-answer-inner{padding:0 0 20px;font-size:14px;font-weight:300;color:var(--text-mid);line-height:1.9}
.faq-item.open .faq-answer{max-height:200px}

/* ── PAGE TRANSITIONS ── */
body{opacity:0;transition:opacity 0.32s ease}
body.page-in{opacity:1}

/* ── FADE ANIMATIONS ── */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity 0.65s var(--ease),transform 0.65s var(--ease)}
.fade-up.visible{opacity:1;transform:translateY(0)}
.d1{transition-delay:0.1s}.d2{transition-delay:0.2s}.d3{transition-delay:0.3s}.d4{transition-delay:0.4s}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .nav{padding:0 24px}
  .nav-links,.nav-btn{display:none}
  .nav-hamburger{display:flex}

  .about-strip-inner,.about-mission,.booking-layout,.contact-layout{grid-template-columns:1fr;gap:40px}
  .services-preview-grid,.services-full-grid{grid-template-columns:1fr 1fr}
  .testi-layout{grid-template-columns:1fr}
  .testi-image-side{height:280px}
  .testi-editorial-side{padding:40px 32px}
  .testi-featured-body{font-size:20px}
  .testi-big-quote{font-size:80px}
  .team-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr 1fr}
  .results-grid{grid-template-columns:1fr 1fr}
  .container{padding:0 24px}
  .about-stats-box{position:relative;bottom:auto;right:auto;margin-top:20px}
  .mission-deco{display:none}
}
