/* ═══════════════════════════════════════════════════════
   REGENT CONSULTING — EXTERNAL STYLESHEET
   Shared across: index.html, about.html, contact.html,
                  practice-areas.html, services.html
═══════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════
   TOKENS
═══════════════════════════════════════ */
:root {
  --em:         #0a3d1f;
  --em2:        #0f5228;
  --em3:        #166834;
  --em4:        #1e8a45;
  --em-light:   #edf5ee;
  --em-pale:    rgba(10,61,31,.06);
  --em-glow:    rgba(10,61,31,.22);
  --em-border:  rgba(10,61,31,.14);
  --em-border2: rgba(10,61,31,.07);

  --gold:       #c9a227;
  --gold2:      #d4a82e;
  --gold3:      #e8be45;
  --gold4:      #f5d76e;
  --gold-pale:  rgba(201,162,39,.10);
  --gold-glow:  rgba(201,162,39,.28);
  --beige:      #fdf8ef;
  --beige2:     #f8f0dc;

  --white:      #ffffff;
  --off:        #f4f9f5;
  --mist:       #eaf2ec;
  --stone:      #edf5ee;

  --ink:        #111a0f;
  --ink2:       #1e2d1a;
  --muted:      #3a5033;
  --muted2:     #5e7a57;

  --r:   14px;
  --r2:  10px;
  --r3:  24px;
  --r4:  32px;
  --t:   .22s cubic-bezier(.4,0,.2,1);
  --spring: cubic-bezier(.34,1.56,.64,1);
  --max: 1200px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;font-size:16px}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--white);color:var(--ink);
  overflow-x:hidden;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{cursor:pointer;font-family:inherit;border:none;background:none}
ul{list-style:none}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--mist)}
::-webkit-scrollbar-thumb{background:var(--em);border-radius:99px}

/* ─── UTILITIES ─── */
.container{max-width:var(--max);width:100%;margin:0 auto;padding:0px}

.chip{
  display:inline-flex;align-items:center;gap:8px;
  font-size:10px;font-weight:600;letter-spacing:2.8px;text-transform:uppercase;
  color:var(--gold2);padding:5px 15px;border-radius:99px;
  border:1px solid rgba(184,136,42,.28);background:rgba(184,136,42,.07);
}
.chip::before{
  content:'';width:4px;height:4px;border-radius:50%;
  background:var(--gold2);flex-shrink:0;
  animation:pulse 2.5s ease infinite;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.5)}}

.sec-head{text-align:center;margin-bottom:72px}
.sec-head .chip{margin-bottom:20px;display:inline-flex}
.sec-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(36px,4.5vw,60px);font-weight:700;line-height:1.04;
  color:var(--ink);margin-bottom:18px;letter-spacing:-.02em;
}
.sec-title em{font-style:italic;color:var(--gold)}
.sec-sub{font-size:15.5px;color:var(--ink2);max-width:520px;margin:0 auto;line-height:1.8;font-weight:400}

.fade-up{opacity:0;transform:translateY(30px);transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1)}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* ═══════════════════════════════════════
   NAV
═══════════════════════════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  background:#ffffff;
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--em-border2);
  transition:box-shadow var(--t);
  padding-top:env(safe-area-inset-top);
}
.nav.scrolled{box-shadow:0 4px 40px rgba(0,0,0,.08)}
.nav-inner{
  height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  max-width:var(--max);margin:0 auto;padding:0 0px;
}
.logo{display:flex;align-items:center;gap:11px;white-space:nowrap;flex-shrink:0;}
.logo-mark{
  width:42px;height:42px;border-radius:11px;
  background:linear-gradient(150deg,var(--em3),var(--em));
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  box-shadow:0 4px 16px var(--em-glow);
  font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:#fff;letter-spacing:-.5px;
}

/* Logo image — constrained height, auto width */
.logo-img{
  height:60px;
  width:auto;
  display:block;
  object-fit:contain;
}
@media(max-width:768px){.logo-img{height:42px}}
@media(max-width:480px){.logo-img{height:38px}}
@media(max-width:360px){.logo-img{height:32px}}

.logo-text{display:flex;flex-direction:column;gap:1px}
.logo-name{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;color:var(--ink);line-height:1.1;letter-spacing:-.01em}
.logo-sub{font-size:8.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold)}

.nav-links{display:flex;align-items:center;gap:0}
.nav-links a{
  padding:10px 15px;font-size:13.5px;font-weight:500;
  color:var(--ink2);transition:color var(--t);position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:15px;right:15px;height:2px;
  background:var(--gold);border-radius:2px 2px 0 0;
  transform:scaleX(0);transition:transform .2s ease;transform-origin:left;
}
.nav-links a:hover{color:var(--em)}
.nav-links a:hover::after{transform:scaleX(1)}

.nav-actions{display:flex;align-items:center;gap:10px}
.btn-nav-ghost{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border-radius:var(--r2);font-size:13px;font-weight:500;
  border:1.5px solid var(--em-border);color:var(--muted);
  transition:border-color var(--t),color var(--t);
}
.btn-nav-ghost:hover{border-color:var(--em);color:var(--em)}
.btn-nav-cta{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 22px;border-radius:var(--r2);font-size:13px;font-weight:600;
  background:var(--em);color:#fff;
  transition:transform var(--t),box-shadow var(--t),background var(--t);
  box-shadow:0 3px 14px var(--em-glow);letter-spacing:.1px;
}
.btn-nav-cta:hover{background:var(--em3);transform:translateY(-1px);box-shadow:0 7px 22px var(--em-glow)}

.ham{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:40px;height:40px;padding:8px;border-radius:8px;
  transition:background var(--t);
}
.ham:hover{background:var(--em-pale)}
.ham span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:all .25s}

.mob-nav{
  display:none;position:fixed;inset:0;z-index:850;
  background:rgba(255,255,255,.99);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  flex-direction:column;padding:80px 28px 40px;gap:0;overflow-y:auto;
}
@media(max-width:768px){.mob-nav{padding-top:74px}}
@media(max-width:480px){.mob-nav{padding-top:68px;padding-left:20px;padding-right:20px}}
.mob-nav.open{display:flex}
.mob-nav a{
  font-size:20px;font-weight:500;color:var(--ink2);
  padding:18px 0;border-bottom:1px solid var(--em-border2);
  display:flex;align-items:center;justify-content:space-between;
  transition:color var(--t),padding-left var(--t);
}
.mob-nav a::after{content:'→';font-size:15px;color:var(--muted2)}
.mob-nav a:hover{color:var(--em);padding-left:6px}
.mob-nav-cta{margin-top:28px;display:flex;flex-direction:column;gap:10px}

/* ═══════════════════════════════════════
   HERO
═══════════════════════════════════════ */
.hero{
  min-height:100vh;min-height:100svh;position:relative;overflow:hidden;
  display:flex;align-items:center;padding:140px 36px 80px;
  background:var(--white);
}
.hero-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-bg::before{
  content:'';position:absolute;top:-8%;right:-4%;
  width:55vw;height:55vw;max-width:680px;max-height:680px;border-radius:50%;
  background:radial-gradient(circle,rgba(10,61,31,.065) 0%,transparent 65%);
  animation:floatBlob 18s ease-in-out infinite alternate;
}
.hero-bg::after{
  content:'';position:absolute;bottom:-20%;left:-8%;
  width:46vw;height:46vw;max-width:540px;max-height:540px;border-radius:50%;
  background:radial-gradient(circle,rgba(184,136,42,.055) 0%,transparent 65%);
  animation:floatBlob 22s ease-in-out infinite alternate-reverse;
}
.hero-grid{
  position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(10,61,31,.065) 1px,transparent 1px);
  background-size:30px 30px;
  mask-image:radial-gradient(ellipse 75% 85% at 60% 35%,black 0%,transparent 75%);
  pointer-events:none;
}
@keyframes floatBlob{0%{transform:translate(0,0) scale(1)}100%{transform:translate(20px,30px) scale(1.06)}}

.hero-inner{
  position:relative;z-index:1;
  max-width:var(--max);margin:0 auto;width:100%;
  display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--em-pale);color:#0a3d1f;
  font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  padding:7px 18px;border-radius:99px;border:1px solid var(--em-border);
  margin-bottom:28px;
}
.hero-eyebrow-about{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--em-pale);color:#ffffff;
  font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  padding:7px 18px;border-radius:99px;border:1px solid var(--em-border);
  margin-bottom:28px;
}
.hero-eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--gold2);animation:pulse 2s infinite}
.hero-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(44px,5.2vw,74px);
  font-weight:700;line-height:1.0;
  color:var(--ink);margin-bottom:24px;letter-spacing:-.03em;
}
.hero-title em{font-style:italic;color:var(--gold)}
.hero-sub{
  font-size:16.5px;line-height:1.78;color:var(--ink2);
  margin-bottom:38px;max-width:460px;font-weight:400;
}

/* Form card */
.hero-form-card{
  background:var(--off);border-radius:20px;
  border:1px solid var(--em-border2);overflow:hidden;margin-bottom:32px;
}
.hero-form-top{
  background:linear-gradient(135deg,var(--em) 0%,var(--em3) 100%);
  padding:22px 26px;position:relative;overflow:hidden;
}
.hero-form-top::before{
  content:'';position:absolute;top:-60px;right:-60px;
  width:180px;height:180px;border-radius:50%;
  background:rgba(184,136,42,.14);pointer-events:none;
}
.form-top-tag{
  font-size:9.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--gold4);margin-bottom:6px;position:relative;z-index:1;
}
.form-top-title{
  font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;
  color:#fff;position:relative;z-index:1;line-height:1.25;
}
.hero-form-body{padding:22px 26px;display:flex;flex-direction:column;gap:11px}
.hero-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.h-input{
  width:100%;padding:11px 14px;border-radius:10px;
  border:1.5px solid var(--em-border);background:var(--white);
  font-family:'DM Sans',sans-serif;font-size:13.5px;color:var(--ink);
  transition:border-color var(--t),box-shadow var(--t);outline:none;
}
.h-input:focus{border-color:var(--em);box-shadow:0 0 0 3px rgba(10,61,31,.07)}
.h-input::placeholder{color:var(--muted2)}
.h-select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%238c9887' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}
.btn-hero-submit{
  width:100%;padding:14px;border-radius:12px;
  background:var(--em);color:#fff;
  font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;
  box-shadow:0 4px 18px var(--em-glow);
  transition:transform var(--t),box-shadow var(--t),background var(--t);
  display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.1px;
}
.btn-hero-submit:hover{background:var(--em3);transform:translateY(-2px);box-shadow:0 9px 28px var(--em-glow)}

.hero-trust{display:flex;align-items:center;gap:14px}
.hero-avatars{display:flex}
.hero-avatars span{
  width:34px;height:34px;border-radius:50%;
  border:2.5px solid #fff;background:var(--em);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;margin-left:-9px;
  box-shadow:0 2px 8px rgba(0,0,0,.1);
}
.hero-avatars span:first-child{margin-left:0}
.hero-avatars span:nth-child(2){background:var(--em3)}
.hero-avatars span:nth-child(3){background:var(--gold);color:var(--em)}
.hero-avatars span:nth-child(4){background:var(--em2)}
.hero-trust-copy{font-size:13px;color:var(--muted);line-height:1.4}
.hero-trust-copy strong{color:var(--ink)}

/* Right stats panel */
.hero-panel{
  background:var(--white);border-radius:28px;
  border:1px solid rgba(0,0,0,.07);
  box-shadow:0 32px 80px rgba(0,0,0,.1),0 4px 18px rgba(0,0,0,.04);
  overflow:hidden;
}
.hero-panel-header{
  background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);
  padding:30px 28px 26px;position:relative;overflow:hidden;
}
.hero-panel-header::before{
  content:'';position:absolute;top:-70px;right:-70px;
  width:220px;height:220px;border-radius:50%;
  background:rgba(184,136,42,.16);
}
.panel-eyebrow{
  font-size:9.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--gold4);margin-bottom:10px;position:relative;z-index:1;
}
.panel-title{
  font-family:'Cormorant Garamond',serif;font-size:27px;font-weight:700;
  color:#fff;line-height:1.2;position:relative;z-index:1;margin-bottom:6px;
}
.panel-sub{font-size:12.5px;color:rgba(255,255,255,.5);position:relative;z-index:1}

.stats-grid{display:grid;grid-template-columns:1fr 1fr}
.stat-cell{
  padding:24px 22px;
  border-right:1px solid rgba(0,0,0,.055);
  border-bottom:1px solid rgba(0,0,0,.055);
  transition:background .25s;cursor:default;
}
.stat-cell:nth-child(even){border-right:none}
.stat-cell:nth-child(n+3){border-bottom:none}
.stat-cell:hover{background:var(--em)}
.stat-cell:hover .stat-num{color:#fff}
.stat-cell:hover .stat-num em{color:var(--gold4)}
.stat-cell:hover .stat-label{color:rgba(255,255,255,.55)}
.stat-num{
  font-family:'Cormorant Garamond',serif;font-size:31px;font-weight:700;
  color:var(--ink);margin-bottom:4px;line-height:1;
}
.stat-num em{font-style:normal;color:var(--gold);font-size:24px}
.stat-label{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.2px;line-height:1.35}

.panel-footer{
  padding:18px 24px;background:var(--mist);border-top:1px solid var(--em-border2);
}
.panel-footer-label{font-size:9.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted2);margin-bottom:10px}
.country-tags{display:flex;flex-wrap:wrap;gap:6px}
.ctag{
  background:var(--white);border:1px solid var(--em-border2);
  font-size:11px;font-weight:500;color:var(--muted);
  padding:4px 11px;border-radius:99px;
  transition:border-color var(--t),color var(--t);
}
.ctag:hover{border-color:var(--em);color:var(--em)}

/* ═══════════════════════════════════════
   TICKER
═══════════════════════════════════════ */
.ticker{
  background:linear-gradient(90deg,var(--em),var(--em3));
  padding:14px 0;overflow:hidden;position:relative;z-index:2;
  border-top:1px solid rgba(255,255,255,.07);
}
.ticker-track{
  display:flex;width:max-content;
  animation:tick 38s linear infinite;
}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker-item{
  display:inline-flex;align-items:center;gap:14px;
  padding:0 36px;font-size:11px;font-weight:600;
  letter-spacing:1.8px;text-transform:uppercase;color:rgba(255,255,255,.78);white-space:nowrap;
}
.ticker-item em{color:var(--gold4);font-style:normal}
.ticker-item::after{content:'◆';font-size:6px;opacity:.35;margin-left:4px}

/* ═══════════════════════════════════════
   LOGO STRIP
═══════════════════════════════════════ */
.logos-sec{padding:60px 0;border-bottom:1px solid var(--em-border2)}
.logos-label{
  text-align:center;font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--muted2);margin-bottom:32px;
}
.logos-track-outer{overflow:hidden;position:relative}
.logos-track-outer::before,.logos-track-outer::after{
  content:'';position:absolute;top:0;bottom:0;width:100px;z-index:1;pointer-events:none;
}
.logos-track-outer::before{left:0;background:linear-gradient(to right,var(--white),transparent)}
.logos-track-outer::after{right:0;background:linear-gradient(to left,var(--white),transparent)}
.logos-track{
  display:flex;width:max-content;
  animation:logoScroll 30s linear infinite;
}
@keyframes logoScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.logo-pill{
  display:flex;align-items:center;justify-content:center;
  min-width:130px;height:50px;margin:0 14px;
  padding:0 22px;border-radius:10px;
  background:var(--off);border:1px solid var(--em-border2);
  font-size:12.5px;font-weight:600;color:var(--muted);
  white-space:nowrap;
}

/* ═══════════════════════════════════════
   SERVICES
═══════════════════════════════════════ */
.services-sec{padding:110px 0;background:linear-gradient(180deg,var(--white) 0%,var(--off) 100%)}
.services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.srv-card{
  background:var(--white);border:1px solid var(--em-border2);border-radius:22px;
  padding:36px 28px;position:relative;overflow:hidden;
  transition:transform .3s var(--spring),box-shadow .3s,border-color .3s;
}
.srv-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--em),var(--gold));
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s ease;border-radius:22px 22px 0 0;
}
.srv-card:hover{transform:translateY(-6px);box-shadow:0 20px 55px rgba(0,0,0,.08);border-color:var(--em-border)}
.srv-card:hover::before{transform:scaleX(1)}
.srv-num{
  font-family:'Cormorant Garamond',serif;
  font-size:12px;font-weight:600;color:var(--muted2);letter-spacing:2px;
  margin-bottom:20px;
}
.srv-icon{
  width:52px;height:52px;border-radius:14px;
  background:var(--em-pale);border:1px solid var(--em-border);
  display:flex;align-items:center;justify-content:center;
  font-size:24px;margin-bottom:20px;
  transition:background var(--t),transform .3s var(--spring);
  color:var(--em);
}
.srv-icon svg{width:24px;height:24px;stroke:currentColor}
.srv-card:hover .srv-icon svg{stroke:#fff}
.srv-featured .srv-icon{color:rgba(255,255,255,.85)}
.srv-card:hover .srv-icon{background:var(--em);transform:scale(1.1) rotate(-4deg)}
.srv-name{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:700;color:var(--ink);margin-bottom:11px;line-height:1.2}
.srv-desc{font-size:13.5px;color:var(--ink2);line-height:1.75;margin-bottom:20px}
.srv-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11.5px;font-weight:600;letter-spacing:.5px;
  color:var(--em);text-transform:uppercase;
  transition:gap var(--t);
}
.srv-card:hover .srv-link{gap:10px}
.srv-link svg{width:13px;height:13px}
.srv-featured{
  background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);
  border-color:transparent;
}
.srv-featured::before{background:linear-gradient(90deg,var(--gold),var(--gold2))}
.srv-featured .srv-num{color:rgba(255,255,255,.38)}
.srv-featured .srv-icon{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14)}
.srv-featured:hover .srv-icon{background:rgba(255,255,255,.2)}
.srv-featured .srv-name{color:#fff}
.srv-featured .srv-desc{color:rgba(255,255,255,.82)}
.srv-featured .srv-link{color:var(--gold4)}
.srv-badge{
  position:absolute;top:18px;right:18px;
  background:var(--gold);color:var(--em);
  font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  padding:4px 11px;border-radius:99px;
}

/* ═══════════════════════════════════════
   WHY CHOOSE US
═══════════════════════════════════════ */
.why-sec{padding:110px 0;background:var(--white);position:relative;overflow:hidden}
.why-sec::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 65% 45% at 50% 0%,rgba(10,61,31,.045),transparent 60%);
  pointer-events:none;
}
.why-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.why-content .chip{margin-bottom:20px}
.why-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(32px,4vw,50px);font-weight:700;line-height:1.1;
  color:var(--ink);margin-bottom:18px;letter-spacing:-.02em;
}
.why-title em{font-style:italic;color:var(--gold)}
.why-body{font-size:15px;color:var(--ink2);line-height:1.85;margin-bottom:34px}
.why-feats{display:flex;flex-direction:column;gap:14px}
.why-feat{
  display:flex;align-items:flex-start;gap:16px;
  padding:19px 22px;border-radius:var(--r);
  border:1px solid var(--em-border);background:var(--white);
  transition:border-color var(--t),box-shadow var(--t),transform var(--t);
}
.why-feat:hover{border-color:var(--em-border);box-shadow:0 8px 26px rgba(0,0,0,.055);transform:translateX(4px)}
.why-feat-icon{
  width:44px;height:44px;border-radius:12px;
  background:var(--em);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;flex-shrink:0;
  box-shadow:0 4px 14px var(--em-glow);
}
.why-feat-icon svg{stroke:#fff}
.why-feat-name{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:3px}
.why-feat-desc{font-size:12.5px;color:var(--muted);line-height:1.6}

.why-stats{display:flex;flex-direction:column;gap:18px}
.why-stat-big{
  padding:34px 30px;border-radius:22px;
  background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);
  position:relative;overflow:hidden;
}
.why-stat-big::before{
  content:'';position:absolute;top:-40px;right:-40px;
  width:180px;height:180px;border-radius:50%;
  background:rgba(184,136,42,.16);pointer-events:none;
}
.why-stat-big-num{
  font-family:'Cormorant Garamond',serif;font-size:66px;font-weight:700;
  color:#fff;line-height:1;margin-bottom:8px;position:relative;z-index:1;
}
.why-stat-big-num em{font-style:normal;color:var(--gold4);font-size:.55em}
.why-stat-big-label{font-size:13.5px;color:rgba(255,255,255,.78);position:relative;z-index:1}

.why-stats-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.why-stat-sm{
  padding:22px 20px;border-radius:var(--r);
  border:1px solid var(--em-border);background:var(--white);
  transition:border-color var(--t),transform var(--t),box-shadow var(--t);
}
.why-stat-sm:hover{border-color:var(--em);transform:translateY(-3px);box-shadow:0 8px 24px var(--em-glow)}
.why-stat-sm-num{
  font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:700;
  color:var(--ink);margin-bottom:4px;
}
.why-stat-sm-num em{font-style:normal;color:var(--gold)}
.why-stat-sm-label{font-size:12px;color:var(--muted)}

/* ═══════════════════════════════════════
   CASE STUDIES
═══════════════════════════════════════ */
.cases-sec{padding:110px 0;background:var(--em-light)}
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.case-card{
  border-radius:22px;overflow:hidden;
  border:1px solid rgba(184,136,42,.13);background:var(--white);
  transition:transform .3s var(--spring),box-shadow .3s;
}
.case-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(0,0,0,.1)}
.case-top{
  background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);
  padding:30px 26px;position:relative;overflow:hidden;
  min-height:140px;display:flex;flex-direction:column;justify-content:flex-end;
}
.case-top::before{
  content:'';position:absolute;top:-50px;right:-50px;
  width:180px;height:180px;border-radius:50%;
  background:rgba(184,136,42,.18);pointer-events:none;
}
.case-top-label{
  font-size:9.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:var(--gold4);margin-bottom:8px;position:relative;z-index:1;
}
.case-amount{
  font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:700;
  color:#fff;margin-bottom:3px;position:relative;z-index:1;line-height:1;
}
.case-days{font-size:12px;color:rgba(255,255,255,.5);position:relative;z-index:1}
.case-body{padding:24px 26px}
.case-title{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:9px;line-height:1.3}
.case-desc{font-size:13px;color:var(--ink2);line-height:1.72;margin-bottom:16px}
.case-chips{display:flex;flex-wrap:wrap;gap:6px}
.case-chip{
  display:inline-block;background:var(--em-pale);color:var(--em3);
  font-size:10px;font-weight:600;padding:3px 10px;border-radius:99px;
  text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--em-border);
}

/* ═══════════════════════════════════════
   PROCESS
═══════════════════════════════════════ */
.process-sec{padding:110px 0;background:var(--white)}
.process-steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  position:relative;
}
.process-steps::before{
  content:'';position:absolute;top:42px;left:calc(12.5%);right:calc(12.5%);height:1px;
  background:linear-gradient(to right,rgba(10,61,31,.07),var(--em-border),rgba(10,61,31,.07));
  z-index:0;
}
.proc-step{padding:0 18px;text-align:center;position:relative}
.proc-num{
  width:84px;height:84px;border-radius:50%;
  background:var(--white);border:2px solid var(--em-border);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 26px;
  font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;color:var(--em);
  position:relative;z-index:1;
  transition:background .3s,border-color .3s,transform .3s var(--spring),color .3s;
  box-shadow:0 6px 20px rgba(10,61,31,.12);
}
.proc-step:hover .proc-num{background:var(--em);color:#fff;border-color:var(--em);transform:scale(1.12)}
.proc-title{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:8px}
.proc-desc{font-size:13px;color:var(--ink2);line-height:1.7}

/* ═══════════════════════════════════════
   NRI
═══════════════════════════════════════ */
.nri-sec{padding:110px 0;background:linear-gradient(150deg,var(--mist) 0%,var(--em-light) 100%)}
.nri-inner{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.nri-content .chip{margin-bottom:20px}
.nri-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(32px,4vw,50px);font-weight:700;line-height:1.1;
  color:var(--ink);margin-bottom:18px;letter-spacing:-.02em;
}
.nri-title em{font-style:italic;color:var(--gold)}
.nri-body{font-size:15px;color:var(--ink2);line-height:1.85;margin-bottom:28px}
.nri-flags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}
.nri-flag{
  display:flex;align-items:center;gap:8px;
  background:var(--white);padding:8px 16px;border-radius:99px;
  border:1px solid var(--em-border2);font-size:12.5px;font-weight:500;
  transition:border-color var(--t),background var(--t),transform var(--t);
}
.nri-flag:hover{border-color:var(--em);background:var(--em-pale);transform:translateY(-2px)}
.nri-checks{display:flex;flex-direction:column;gap:9px;margin-bottom:34px}
.nri-check{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--ink2);line-height:1.6}
.nri-check-icon{
  width:22px;height:22px;border-radius:50%;background:var(--em);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;
  box-shadow:0 2px 8px var(--em-glow);
}
.nri-check-icon svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

.nri-card{
  background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);
  border-radius:22px;padding:40px 34px;position:relative;overflow:hidden;
}
.nri-card::before{
  content:'';position:absolute;top:-50px;right:-50px;
  width:200px;height:200px;border-radius:50%;
  background:rgba(184,136,42,.16);pointer-events:none;
}
.nri-card::after{
  content:'';position:absolute;bottom:-60px;left:-30px;
  width:180px;height:180px;border-radius:50%;
  background:rgba(255,255,255,.03);pointer-events:none;
}
.nri-card-label{
  font-size:9.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--gold4);margin-bottom:12px;position:relative;z-index:1;
}
.nri-card-title{
  font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;
  color:#fff;line-height:1.2;margin-bottom:28px;position:relative;z-index:1;
}
.nri-steps{display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}
.nri-step{
  display:flex;align-items:center;gap:16px;
  padding:15px 18px;border-radius:var(--r2);
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  transition:background var(--t);
}
.nri-step:hover{background:rgba(255,255,255,.12)}
.nri-step-n{
  width:28px;height:28px;border-radius:50%;
  background:var(--gold);color:var(--em);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;flex-shrink:0;
}
.nri-step-text{font-size:13px;color:rgba(255,255,255,.82);line-height:1.4}

/* ═══════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════ */
.reviews-sec{padding:110px 0;background:linear-gradient(180deg,var(--white) 0%,var(--off) 100%)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review-card{
  padding:28px 26px;border-radius:22px;
  border:1px solid var(--em-border);background:var(--white);
  position:relative;overflow:hidden;
  transition:border-color .2s,box-shadow .2s,transform .2s var(--spring);
}
.review-card:hover{border-color:var(--em);box-shadow:0 16px 44px var(--em-glow);transform:translateY(-4px)}
.review-card::before{
  content:'\201C';
  font-family:'Cormorant Garamond',serif;font-size:110px;font-weight:700;
  color:var(--em-pale);line-height:.8;
  position:absolute;top:12px;right:18px;pointer-events:none;
}
.review-stars{color:var(--gold2);font-size:13px;margin-bottom:14px;letter-spacing:2px}
.review-text{font-size:14px;color:var(--ink2);line-height:1.78;margin-bottom:22px;font-style:italic}
.review-author{display:flex;align-items:center;gap:12px}
.review-avatar{
  width:40px;height:40px;border-radius:50%;
  background:var(--em);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;flex-shrink:0;
  box-shadow:0 2px 10px var(--em-glow);
}
.review-name{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:2px}
.review-meta{font-size:11px;color:var(--muted)}
.review-badge{
  display:inline-flex;align-items:center;gap:4px;
  background:var(--gold-pale);color:var(--gold);
  font-size:10px;font-weight:600;padding:2px 9px;border-radius:99px;
  border:1px solid rgba(184,136,42,.2);margin-top:5px;
}
.review-card.featured-r{
  background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);
  border-color:transparent;
}
.review-card.featured-r::before{color:rgba(255,255,255,.05)}
.review-card.featured-r .review-text{color:rgba(255,255,255,.72)}
.review-card.featured-r .review-name{color:#fff}
.review-card.featured-r .review-meta{color:rgba(255,255,255,.44)}
.review-card.featured-r .review-avatar{background:var(--gold);color:var(--em)}

/* ═══════════════════════════════════════
   PRICING
═══════════════════════════════════════ */
.pricing-sec{padding:110px 0;background:var(--white)}
.pricing-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  max-width:980px;margin:0 auto;
}
.pricing-card{
  padding:38px 28px;border-radius:22px;
  border:1px solid var(--em-border2);background:var(--white);
  position:relative;overflow:hidden;
  transition:border-color .2s,box-shadow .2s,transform .2s var(--spring);
}
.pricing-card:hover{transform:translateY(-5px);box-shadow:0 18px 50px rgba(0,0,0,.08)}
.pricing-card.featured-p{border-color:var(--em);box-shadow:0 10px 44px var(--em-glow)}
.pricing-popular{
  position:absolute;top:0;left:0;right:0;
  background:linear-gradient(90deg,var(--em),var(--em3));
  padding:8px;text-align:center;
  font-size:9.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:rgba(255,255,255,.9);
}
.pricing-plan{font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.pricing-card.featured-p .pricing-plan{margin-top:24px}
.pricing-price{
  font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:700;
  color:var(--ink);line-height:1;margin-bottom:4px;
}
.pricing-price span{font-size:20px;color:var(--muted);font-weight:400}
.pricing-desc{font-size:13px;color:var(--ink2);margin-bottom:24px;line-height:1.6}
.pricing-divider{height:1px;background:var(--em-border2);margin-bottom:20px}
.pricing-features{display:flex;flex-direction:column;gap:11px;margin-bottom:28px}
.pricing-feature{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--ink2);line-height:1.5}
.pricing-feature svg{flex-shrink:0;margin-top:2px;width:15px;height:15px}
.btn-pricing{
  width:100%;padding:13px;border-radius:11px;
  font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:600;text-align:center;
  transition:transform var(--t),box-shadow var(--t),background var(--t);display:block;
}
.btn-pricing-outline{border:2px solid var(--em-border);color:var(--em);background:transparent}
.btn-pricing-outline:hover{border-color:var(--em);background:var(--em-pale)}
.btn-pricing-solid{
  background:var(--em);color:#fff;border:2px solid transparent;
  box-shadow:0 4px 18px var(--em-glow);
}
.btn-pricing-solid:hover{background:var(--em3);transform:translateY(-2px);box-shadow:0 8px 26px var(--em-glow)}

/* ═══════════════════════════════════════
   FAQ
═══════════════════════════════════════ */
.faq-sec{padding:110px 0;background:var(--off)}
.faq-layout{display:grid;grid-template-columns:360px 1fr;gap:80px;align-items:start}
.faq-sidebar .chip{margin-bottom:20px}
.faq-sidebar-title{
  font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3.5vw,40px);font-weight:700;
  color:var(--ink);line-height:1.2;margin-bottom:16px;
}
.faq-sidebar-title em{font-style:italic;color:var(--gold)}
.faq-sidebar-body{font-size:14px;color:var(--ink2);line-height:1.85;margin-bottom:32px}
.faq-contact-box{
  padding:20px;border-radius:var(--r);
  background:var(--white);border:1px solid var(--em-border2);
  display:flex;align-items:center;gap:16px;
  transition:border-color var(--t),box-shadow var(--t);
}
.faq-contact-box:hover{border-color:var(--em-border);box-shadow:0 6px 20px rgba(0,0,0,.055)}
.faq-contact-icon{
  width:46px;height:46px;border-radius:11px;
  background:var(--em-pale);border:1px solid var(--em-border);
  display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;
  color:var(--em);
}
.faq-contact-title{font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:2px}
.faq-contact-num{font-size:14px;color:var(--em);font-weight:700}
.faq-list{display:flex;flex-direction:column}
.faq-list .faq-item{opacity:0;transform:translateY(18px);transition:opacity .5s cubic-bezier(.2,.8,.2,1),transform .5s cubic-bezier(.2,.8,.2,1)}
.faq-list.visible .faq-item:nth-child(1){opacity:1;transform:none;transition-delay:.05s}
.faq-list.visible .faq-item:nth-child(2){opacity:1;transform:none;transition-delay:.12s}
.faq-list.visible .faq-item:nth-child(3){opacity:1;transform:none;transition-delay:.19s}
.faq-list.visible .faq-item:nth-child(4){opacity:1;transform:none;transition-delay:.26s}
.faq-list.visible .faq-item:nth-child(5){opacity:1;transform:none;transition-delay:.33s}
.faq-list.visible .faq-item:nth-child(6){opacity:1;transform:none;transition-delay:.40s}
.faq-list.visible .faq-item:nth-child(7){opacity:1;transform:none;transition-delay:.47s}
.faq-list.visible .faq-item:nth-child(8){opacity:1;transform:none;transition-delay:.54s}
.faq-item{border-bottom:1px solid var(--em-border2)}
.faq-item:first-child{border-top:1px solid var(--em-border2)}
.faq-btn{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:22px 0;text-align:left;
  font-size:15px;font-weight:500;color:var(--ink);
  transition:color var(--t);
}
.faq-btn:hover{color:var(--em)}
.faq-icon{
  width:26px;height:26px;border-radius:8px;
  background:var(--em-pale);border:1px solid var(--em-border);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:400;flex-shrink:0;color:var(--muted);
  transition:background var(--t),border-color var(--t),color var(--t),transform var(--t);
  margin-top:2px;line-height:1;
}
.faq-item.open .faq-icon{background:var(--em);border-color:var(--em);color:#fff;transform:rotate(45deg)}
.faq-item.open .faq-btn{color:var(--em)}
.faq-ans{font-size:14px;color:var(--ink2);line-height:1.85;padding-bottom:20px;display:none}
.faq-item.open .faq-ans{display:block}

/* ═══════════════════════════════════════
   CONTACT CTA
═══════════════════════════════════════ */
.contact-sec{
  padding:110px 0;
  background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);
  position:relative;overflow:hidden;
}
.contact-sec::before{
  content:'';position:absolute;top:-100px;right:-100px;
  width:500px;height:500px;border-radius:50%;
  background:rgba(184,136,42,.11);pointer-events:none;
}
.contact-sec::after{
  content:'';position:absolute;bottom:-120px;left:-80px;
  width:400px;height:400px;border-radius:50%;
  background:rgba(255,255,255,.03);pointer-events:none;
}
.contact-inner{max-width:760px;margin:0 auto;text-align:center;position:relative;z-index:1}
.contact-chip{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.1);color:var(--gold4);
  font-size:9.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;
  padding:6px 16px;border-radius:99px;border:1px solid rgba(255,255,255,.14);
  margin-bottom:28px;
}
.contact-title{
  font-family:'Cormorant Garamond',serif;font-size:clamp(36px,5.5vw,64px);font-weight:700;
  color:#fff;line-height:1.05;margin-bottom:18px;letter-spacing:-.02em;
}
.contact-title em{font-style:italic;color:var(--gold4)}
.contact-sub{font-size:16px;color:rgba(255,255,255,.78);line-height:1.8;max-width:500px;margin:0 auto 12px}
.contact-location{font-size:11.5px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.52);margin-bottom:44px}
.contact-btns{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.btn-contact-main{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 38px;border-radius:var(--r);font-size:14.5px;font-weight:600;
  background:var(--gold2);color:var(--em);
  box-shadow:0 8px 28px rgba(184,136,42,.32);
  transition:transform var(--t),box-shadow var(--t),background var(--t);
}
.btn-contact-main:hover{background:var(--gold3);transform:translateY(-2px);box-shadow:0 14px 38px rgba(184,136,42,.48)}
.btn-contact-ghost{
  display:inline-flex;align-items:center;gap:8px;
  padding:15px 30px;border-radius:var(--r);font-size:14.5px;font-weight:500;
  border:1.5px solid rgba(255,255,255,.24);color:#fff;
  background:rgba(255,255,255,.07);
  transition:background var(--t),border-color var(--t);
}
.btn-contact-ghost:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.38)}

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
footer{
  background:var(--em);border-top:1px solid rgba(255,255,255,.07);
  padding:76px 0 0;
}
.footer-grid{
  display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:48px;
  padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-brand .logo{margin-bottom:18px}
.footer-brand .logo-name{color:#fff}
.footer-brand .logo-sub{color:var(--gold4)}
.footer-brand p{font-size:13px;color:rgba(255,255,255,.48);line-height:1.85;max-width:280px;margin-bottom:26px}
.footer-socials{display:flex;gap:9px}
.footer-soc{
  width:38px;height:38px;border-radius:10px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.48);fill:rgba(255,255,255,.48);
  transition:background var(--t),color var(--t),border-color var(--t),transform var(--t);
}
.footer-soc svg{width:15px;height:15px;fill:currentColor}
.footer-soc:hover{background:var(--gold-pale);border-color:var(--gold);color:var(--gold3);transform:translateY(-2px)}
.footer-col h5{font-size:9.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.52);margin-bottom:16px}
.footer-col ul{display:flex;flex-direction:column;gap:9px}
.footer-col ul li a{font-size:13px;color:rgba(255,255,255,.68);transition:color var(--t);display:flex;align-items:center;gap:6px}
.footer-col ul li a:hover{color:rgba(255,255,255,.95)}
.footer-col ul li a::before{content:'›';color:var(--gold);opacity:0;transition:opacity var(--t),transform var(--t);transform:translateX(-4px);font-size:15px}
.footer-col ul li a:hover::before{opacity:1;transform:translateX(0)}
.footer-contact-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
.footer-contact-item span{font-size:14px;flex-shrink:0;margin-top:1px}
.footer-contact-item a,.footer-contact-item p{font-size:12.5px;color:rgba(255,255,255,.68);line-height:1.6}
.footer-bottom{
  padding:20px 0;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
}
.footer-copy{font-size:11.5px;color:rgba(255,255,255,.44)}
.footer-legal{display:flex;gap:20px}
.footer-legal a{font-size:11.5px;color:rgba(255,255,255,.44);transition:color var(--t)}
.footer-legal a:hover{color:rgba(255,255,255,.72)}

/* ═══════════════════════════════════════
   WHATSAPP FLOAT
═══════════════════════════════════════ */
.wa-float{position:fixed;bottom:28px;right:28px;z-index:800;display:flex;flex-direction:column;align-items:center;gap:10px}
.wa-label{
  background:var(--white);border:1px solid var(--em-border2);
  border-radius:10px;padding:8px 16px;
  font-size:11.5px;font-weight:500;color:var(--ink);
  box-shadow:0 4px 18px rgba(0,0,0,.09);white-space:nowrap;
}
.wa-btn{
  width:50px;height:50px;border-radius:50%;
  background:linear-gradient(135deg,#25D366,#128C7E);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 26px rgba(37,211,102,.38);
  transition:transform var(--t),box-shadow var(--t);color:#fff;
}
.wa-btn:hover{transform:scale(1.1);box-shadow:0 12px 34px rgba(37,211,102,.52)}
/* ─── BACK TO TOP ─── */
.btt-btn{
  width:50px;height:50px;border-radius:50%;
  background:#fff;color:var(--em);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(0,0,0,.14);
  border:2px solid var(--em-border);
  cursor:pointer;
  opacity:0;transform:translateY(8px);pointer-events:none;
  transition:opacity .3s ease,transform .3s ease,background .2s,box-shadow .2s,color .2s;
}
.btt-btn.visible{opacity:1;transform:translateY(0);pointer-events:auto}
.btt-btn:hover{background:var(--em);color:#fff;box-shadow:0 8px 28px var(--em-glow);transform:translateY(-3px)}
@media(max-width:640px){.wa-float{bottom:18px;right:18px}}

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media(max-width:1024px){
  .nav-links,.btn-nav-ghost{display:none}
  .ham{display:flex}
  .hero-inner{grid-template-columns:1fr;gap:48px}
  .hero-panel{display:none}
  .services-grid{grid-template-columns:1fr 1fr}
  .why-inner{grid-template-columns:1fr;gap:48px}
  .cases-grid{grid-template-columns:1fr 1fr}
  .process-steps{grid-template-columns:1fr 1fr;gap:40px}
  .process-steps::before{display:none}
  .nri-inner{grid-template-columns:1fr;gap:48px}
  .reviews-grid{grid-template-columns:1fr 1fr}
  .pricing-grid{grid-template-columns:1fr;max-width:440px}
  .faq-layout{grid-template-columns:1fr;gap:48px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .hero-form-row{grid-template-columns:1fr}
}
@media(max-width:640px){
  .container{padding:0 20px}
  .hero{padding:120px 20px 70px}
  .services-grid,.cases-grid,.reviews-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr;gap:28px}
  .pricing-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .footer-legal{justify-content:center}
  .contact-btns{flex-direction:column;align-items:stretch}
  .btn-contact-main,.btn-contact-ghost{justify-content:center}
  .wa-float{bottom:18px;right:18px}
  .wa-label{display:none}
}
.nav{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
footer{padding-bottom:max(0px,env(safe-area-inset-bottom))}

/* ═══════════════════════════════════════
   LEAD FORM SECTION
═══════════════════════════════════════ */
.lead-form{
  padding:100px 0;
  position:relative;
  background:var(--white);
  overflow:hidden;
}
.lead-form::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 55% 70% at 0% 50%, rgba(10,61,31,.05) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 100% 20%, rgba(184,136,42,.05) 0%, transparent 55%);
}
.lead-form::after{
  content:'JUSTICE';
  position:absolute;top:50%;right:-4%;transform:translateY(-50%);
  font-family:'Cormorant Garamond',serif;font-size:clamp(80px,14vw,200px);font-weight:700;font-style:italic;
  color:rgba(10,61,31,.025);white-space:nowrap;pointer-events:none;letter-spacing:-.03em;
  line-height:1;
}

/* Progress stepper */
.form-stepper{
  display:flex;align-items:center;gap:0;margin-bottom:28px;
}
.stepper-step{
  display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;position:relative;
}
.stepper-step:not(:last-child)::after{
  content:'';position:absolute;top:15px;left:50%;width:100%;height:1px;
  background:var(--em-border);z-index:0;
  transition:background .4s;
}
.stepper-step.done:not(:last-child)::after{background:var(--em)}
.stepper-dot{
  width:30px;height:30px;border-radius:50%;border:2px solid var(--em-border);
  background:var(--white);display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;color:var(--muted2);
  transition:all .35s var(--spring);z-index:1;position:relative;
}
.stepper-step.active .stepper-dot{
  border-color:var(--em);background:var(--em);color:#fff;
  box-shadow:0 0 0 4px rgba(10,61,31,.12);
}
.stepper-step.done .stepper-dot{
  border-color:var(--em);background:var(--em);color:#fff;
}
.stepper-label{
  font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;
  color:var(--muted2);transition:color .3s;white-space:nowrap;
}
.stepper-step.active .stepper-label{color:var(--em)}
.stepper-step.done .stepper-label{color:var(--em3)}

/* Form pages */
.form-page{display:none;animation:fadeSlide .3s ease both}
.form-page.active{display:block}
@keyframes fadeSlide{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}
.form-page.exit{animation:fadeSlideOut .25s ease both}
@keyframes fadeSlideOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-14px)}}

/* Field validation states */
.form-group.valid input,
.form-group.valid select,
.form-group.valid textarea{border-color:#22c55e;background:#f0fdf4}
.form-group.error input,
.form-group.error select,
.form-group.error textarea{border-color:#ef4444;background:#fff5f5;box-shadow:0 0 0 3px rgba(239,68,68,.09)}
.field-error{
  font-size:11px;color:#dc2626;margin-top:3px;display:none;
  animation:errIn .2s ease both;
}
.form-group.error .field-error{display:block}
@keyframes errIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.form-group.valid label::after{content:' ✓';color:#16a34a;font-size:11px}

/* Navigation buttons */
.form-nav{display:flex;gap:10px;margin-top:20px}
.btn-form-back{
  padding:14px 22px;border-radius:var(--r2);
  font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;
  color:var(--muted);border:1.5px solid var(--em-border);background:transparent;
  transition:all var(--t);cursor:pointer;
}
.btn-form-back:hover{border-color:var(--em);color:var(--em)}
.btn-form-next{
  flex:1;padding:14px 22px;border-radius:var(--r2);
  font-family:'DM Sans',sans-serif;font-size:14.5px;font-weight:600;
  color:#fff;background:linear-gradient(135deg,var(--em) 0%,var(--em3) 100%);
  box-shadow:0 4px 18px rgba(10,61,31,.25);
  transition:transform var(--t),box-shadow var(--t);
  cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;gap:8px;
  position:relative;overflow:hidden;
}
.btn-form-next::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 55%);
}
.btn-form-next:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(10,61,31,.3)}
.btn-form-next:active{transform:translateY(0)}
.btn-form-next:disabled{opacity:.6;cursor:not-allowed;transform:none}

/* Spinner on submit */
.btn-spinner{
  width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);
  border-top-color:#fff;border-radius:50%;
  animation:spin .7s linear infinite;display:none;
}
.btn-form-next.loading .btn-label{display:none}
.btn-form-next.loading .btn-spinner{display:block}
@keyframes spin{to{transform:rotate(360deg)}}

/* Progress bar */
.form-progress-bar{
  height:3px;background:var(--em-border2);border-radius:99px;margin-bottom:24px;overflow:hidden;
}
.form-progress-fill{
  height:100%;background:linear-gradient(90deg,var(--em),var(--gold));
  border-radius:99px;transition:width .5s cubic-bezier(.4,0,.2,1);
}

/* Field character count */
.char-count{font-size:10.5px;color:var(--muted2);text-align:right;margin-top:2px}

/* Success animation */
.form-success{
  display:none;text-align:center;padding:40px 20px;
  animation:successIn .5s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes successIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.form-success.show{display:block}
.success-check{
  width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--em),var(--em3));
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
  box-shadow:0 8px 30px var(--em-glow);
  animation:checkBounce .6s cubic-bezier(.34,1.56,.64,1) .15s both;
}
@keyframes checkBounce{from{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(0)}}
.success-check svg{width:34px;height:34px;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;fill:none}
.form-success-title{
  font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;
  color:var(--ink);margin-bottom:10px;letter-spacing:-.01em;
}
.form-success-sub{font-size:14px;color:var(--muted);line-height:1.85;margin-bottom:24px}
.form-success-sub strong{color:var(--em3)}
.success-ref{
  display:inline-block;background:var(--em-pale);border:1px solid var(--em-border);
  border-radius:8px;padding:10px 18px;font-size:12px;color:var(--em);
  font-weight:600;letter-spacing:.5px;margin-bottom:24px;
}
.success-actions{display:flex;flex-direction:column;gap:10px}
.btn-success-wa{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 20px;border-radius:var(--r2);
  background:#25d366;color:#fff;font-size:14px;font-weight:600;
  box-shadow:0 4px 16px rgba(37,211,102,.28);
  transition:transform var(--t),box-shadow var(--t);
}
.btn-success-wa:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,211,102,.36)}

.lead-inner{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:72px;
  align-items:start;
  position:relative;z-index:1;
}

/* ─── Left content panel ─── */
.lead-content{padding-top:8px}

.lead-tag{
  display:inline-flex;align-items:center;gap:8px;
  font-size:10px;font-weight:600;letter-spacing:2.8px;text-transform:uppercase;
  color:var(--gold2);padding:5px 15px;border-radius:99px;
  border:1px solid rgba(184,136,42,.28);background:rgba(184,136,42,.07);
  margin-bottom:20px;
}
.lead-tag::before{
  content:'';width:4px;height:4px;border-radius:50%;
  background:var(--gold2);flex-shrink:0;
  animation:pulse 2.5s ease infinite;
}

.lead-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(30px,4.2vw,50px);
  font-weight:700;line-height:1.06;
  color:var(--ink);
  margin-bottom:16px;
  letter-spacing:-.02em;
}
.lead-title em{font-style:italic;color:var(--gold)}

.lead-sub{
  font-size:15px;color:var(--muted);line-height:1.8;
  margin-bottom:40px;max-width:440px;
}

/* Perk list */
.lead-perks{
  display:flex;flex-direction:column;gap:14px;
}
.lead-perk{
  display:flex;align-items:flex-start;gap:14px;
  font-size:14px;color:var(--muted);line-height:1.5;
}
.lead-perk-icon{
  width:34px;height:34px;border-radius:9px;
  background:var(--em-pale);border:1px solid var(--em-border);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;flex-shrink:0;
  color:var(--em);
  transition:background var(--t),border-color var(--t);
}
.lead-perk:hover .lead-perk-icon{
  background:var(--gold-pale);border-color:rgba(184,136,42,.28);
}
.lead-perk strong{color:var(--gold2);font-weight:600}

/* ─── Right form card ─── */
.lead-form-wrap{
  background:var(--white);
  border:1px solid var(--em-border);
  border-radius:var(--r3);
  padding:40px 36px 36px;
  box-shadow:
    0 2px 8px rgba(0,0,0,.04),
    0 20px 60px rgba(10,61,31,.08),
    0 0 0 1px rgba(10,61,31,.04);
  position:relative;
  overflow:hidden;
}
.lead-form-wrap::before{
  content:'';
  position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, var(--em), var(--em3) 50%, var(--gold));
}

.lead-form-title{
  font-family:'Cormorant Garamond',serif;
  font-size:24px;font-weight:700;
  color:var(--ink);
  margin-bottom:6px;
  letter-spacing:-.01em;
}
.lead-form-sub{
  font-size:13px;color:var(--muted);line-height:1.6;
  margin-bottom:20px;
  padding-bottom:20px;
  border-bottom:1px solid var(--em-border2);
}

/* Form layout */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.form-group{
  display:flex;flex-direction:column;gap:6px;
  margin-bottom:14px;
}
.form-group:last-of-type{margin-bottom:0}

.form-group label{
  font-size:11px;font-weight:600;
  letter-spacing:.5px;text-transform:uppercase;
  color:var(--ink2);
  display:flex;align-items:center;gap:4px;
}

.form-group input,
.form-group select,
.form-group textarea{
  width:100%;
  padding:12px 14px;
  border-radius:var(--r2);
  border:1.5px solid var(--em-border);
  background:var(--mist);
  font-family:'DM Sans',sans-serif;
  font-size:14px;
  color:var(--ink);
  outline:none;
  transition:border-color var(--t), box-shadow var(--t), background var(--t);
  -webkit-appearance:none;appearance:none;
}
.form-group input::placeholder,
.form-group textarea::placeholder{color:var(--muted2);font-size:13px}

.form-group select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23273022' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-color:var(--mist);
  padding-right:38px;
  cursor:pointer;
}
.form-group select option{color:var(--ink);background:#fff}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:var(--em3);
  background:var(--white);
  box-shadow:0 0 0 3.5px rgba(10,61,31,.10);
}

.form-group textarea{
  min-height:90px;resize:vertical;line-height:1.6;
}

.form-check{
  display:flex;align-items:flex-start;gap:10px;
  margin:16px 0;
  padding:14px 16px;
  background:var(--em-pale);
  border:1px solid var(--em-border2);
  border-radius:var(--r2);
}
.form-check input[type="checkbox"]{
  width:17px;height:17px;flex-shrink:0;margin-top:2px;
  accent-color:var(--em2);cursor:pointer;
}
.form-check label{font-size:12.5px;color:var(--muted);line-height:1.6;cursor:pointer}
.form-check label a{color:var(--gold2);text-decoration:underline;text-underline-offset:2px}

.form-note{
  text-align:center;
  font-size:11.5px;color:var(--muted2);
  margin-top:12px;letter-spacing:.3px;
}

/* Responsive */
@media(max-width:1024px){
  .lead-inner{grid-template-columns:1fr;gap:48px}
  .lead-sub{max-width:100%}
  .lead-form-wrap{padding:32px 28px 28px}
}
@media(max-width:640px){
  .form-row{grid-template-columns:1fr}
  .lead-form-wrap{padding:28px 20px 24px;border-radius:var(--r)}
  .lead-form-title{font-size:20px}
  .lead-title{font-size:clamp(26px,7vw,38px)}
  .form-stepper{gap:0}
  .stepper-label{font-size:9px}
}

/* ═══════════════════════════════════════
   DROPDOWN NAV
═══════════════════════════════════════ */
.nav-links .has-drop{position:relative}
.nav-links .has-drop>a::after{display:none}
.nav-links .has-drop>a{
  display:inline-flex;align-items:center;gap:5px;
}
.nav-links .has-drop>a .caret{
  width:10px;height:10px;transition:transform .22s;flex-shrink:0;
  background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23566050' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;
  display:inline-block;
}
.has-drop:hover .caret{transform:rotate(180deg)}
.dropdown{
  position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);
  background:#fff;border:1px solid var(--em-border);border-radius:var(--r);
  box-shadow:0 12px 40px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);
  min-width:210px;padding:8px;z-index:1000;
  opacity:0;pointer-events:none;
  transform:translateX(-50%) translateY(-6px);
  transition:opacity .2s ease,transform .2s ease;
}
.has-drop:hover .dropdown{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.dropdown a{
  display:block;padding:10px 14px;border-radius:8px;
  font-size:13px;font-weight:500;color:var(--ink2);
  transition:background var(--t),color var(--t);white-space:nowrap;
}
.dropdown a::after{display:none!important}
.dropdown a:hover{background:var(--em-pale);color:var(--em)}
.dropdown-divider{height:1px;background:var(--em-border2);margin:6px 0}

/* ─── SUBPAGE OVERLAY ─── */
.subpage-overlay{
  position:fixed;inset:0;z-index:1100;
  background:rgba(22,28,20,.55);backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.subpage-overlay.open{opacity:1;pointer-events:auto}
.subpage-panel{
  position:fixed;top:0;right:-540px;bottom:0;width:540px;max-width:100vw;
  background:#fff;z-index:1101;
  box-shadow:-24px 0 80px rgba(0,0,0,.16);
  overflow-y:auto;transition:right .38s cubic-bezier(.4,0,.2,1);
  padding:0;
}
.subpage-panel.open{right:0}
.subpage-header{
  background:linear-gradient(135deg,var(--em) 0%,var(--em3) 100%);
  padding:28px 32px 24px;position:sticky;top:0;z-index:10;
}
.subpage-header .chip{margin-bottom:12px;color:var(--gold4);border-color:rgba(201,162,39,.35);background:rgba(201,162,39,.12)}
.subpage-header h2{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:700;color:#fff;line-height:1.1;margin-bottom:4px}
.subpage-header p{font-size:13px;color:rgba(255,255,255,.6)}
.subpage-close{
  position:absolute;top:20px;right:24px;width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:18px;cursor:pointer;
  transition:background var(--t);
}
.subpage-close:hover{background:rgba(255,255,255,.25)}
.subpage-body{padding:32px}

/* About subpage */
.about-section{margin-bottom:36px}
.about-section h3{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:var(--ink);margin-bottom:12px;border-bottom:2px solid var(--gold-pale);padding-bottom:8px}
.about-section p{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:10px}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.team-card{background:var(--mist);border-radius:var(--r2);padding:16px;border:1px solid var(--em-border2);text-align:center;transition:border-color var(--t),box-shadow var(--t)}
.team-card:hover{border-color:var(--em);box-shadow:0 4px 16px var(--em-glow)}
.team-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(150deg,var(--em3),var(--em));color:#fff;font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.team-name{font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:2px}
.team-role{font-size:11px;color:var(--muted2);letter-spacing:.3px}

/* Practice areas subpage */
.practice-list{display:flex;flex-direction:column;gap:10px}
.practice-item{background:var(--mist);border:1px solid var(--em-border2);border-radius:var(--r2);padding:16px 18px;display:flex;align-items:flex-start;gap:14px;transition:border-color var(--t),background var(--t);cursor:default}
.practice-item:hover{border-color:var(--em);background:var(--em-light)}
.practice-icon{width:36px;height:36px;border-radius:8px;background:var(--em);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.practice-info h4{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:3px}
.practice-info p{font-size:12.5px;color:var(--muted);line-height:1.6}

/* Contact subpage */
.contact-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.contact-info-card{background:var(--mist);border:1px solid var(--em-border2);border-radius:var(--r2);padding:16px}
.contact-info-card .ci-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--em),var(--em3));display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:10px}
.contact-info-card .ci-label{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted2);margin-bottom:4px}
.contact-info-card .ci-value{font-size:13px;font-weight:600;color:var(--ink);line-height:1.4}

/* Contact form in subpage */
.sp-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.sp-form-group label{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--ink2)}
.sp-form-group input,.sp-form-group select,.sp-form-group textarea{
  width:100%;padding:11px 14px;border-radius:var(--r2);
  border:1.5px solid var(--em-border);background:var(--mist);
  font-family:'DM Sans',sans-serif;font-size:13.5px;color:var(--ink);
  outline:none;transition:border-color var(--t),box-shadow var(--t);
  -webkit-appearance:none;
}
.sp-form-group input:focus,.sp-form-group select:focus,.sp-form-group textarea:focus{
  border-color:var(--em3);background:#fff;box-shadow:0 0 0 3px rgba(10,61,31,.08);
}
.sp-form-group textarea{min-height:80px;resize:vertical}
.sp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sp-submit-btn{
  width:100%;padding:13px;border-radius:var(--r2);
  background:var(--em);color:#fff;
  font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;
  box-shadow:0 4px 18px var(--em-glow);
  transition:transform var(--t),box-shadow var(--t),background var(--t);
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.sp-submit-btn:hover{background:var(--em3);transform:translateY(-1px);box-shadow:0 8px 24px var(--em-glow)}
.sp-success{display:none;text-align:center;padding:24px;background:var(--em-pale);border-radius:var(--r2);border:1px solid var(--em-border)}
.sp-success.visible{display:block}
.field-err{font-size:11px;color:#dc2626;display:none;margin-top:2px}
.has-error input,.has-error select,.has-error textarea{border-color:#dc2626!important}
.has-error .field-err{display:block}




/* ═══════════════════════════════════════════════════════
   ABOUT PAGE — PAGE-SPECIFIC STYLES
═══════════════════════════════════════════════════════ */

.nav-links a:hover::after,.nav-links a.active::after {transform:scaleX(1)}

.nav-links a.active {color:var(--em);font-weight:600}

.mob-cta {margin-top:28px;display:flex;flex-direction:column;gap:10px}

.page-hero {background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);padding:140px 0 90px;position:relative;overflow:hidden}

.page-hero::before {content:'';position:absolute;top:-80px;right:-80px;width:420px;height:420px;border-radius:50%;background:rgba(201,162,39,.13);pointer-events:none}

.page-hero::after {content:'';position:absolute;bottom:-100px;left:-60px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none}

.page-hero-grid {position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}

.page-hero-inner {position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}

.hero-h1 {font-family:'Cormorant Garamond',serif;font-size:clamp(44px,5.5vw,72px);font-weight:700;line-height:1.0;color:#fff;margin-bottom:20px;letter-spacing:-.03em}

.hero-h1 em {font-style:italic;color:var(--gold4)}

.hero-desc {font-size:16px;line-height:1.8;color:rgba(255,255,255,.7);max-width:500px;margin-bottom:36px}

.hero-stats {display:flex;gap:36px;flex-wrap:wrap}

.hero-stat-num {font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:700;color:#fff;line-height:1}

.hero-stat-num em {font-style:normal;color:var(--gold4)}

.hero-stat-label {font-size:11px;color:rgba(255,255,255,.5);letter-spacing:.5px;margin-top:2px}

.hero-ctas {display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}

.btn-hero-primary {display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--r2);font-size:14px;font-weight:600;background:#fff;color:var(--em);transition:all var(--t);box-shadow:0 6px 24px rgba(0,0,0,.15)}

.btn-hero-primary:hover {transform:translateY(-2px);box-shadow:0 12px 36px rgba(0,0,0,.2)}

.btn-hero-outline {display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--r2);font-size:14px;font-weight:600;border:2px solid rgba(255,255,255,.35);color:#fff;transition:all var(--t)}

.btn-hero-outline:hover {border-color:#fff;background:rgba(255,255,255,.08)}

.hero-visual-card {background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:36px 32px;backdrop-filter:blur(10px)}

.hero-quote-mark {font-family:'Cormorant Garamond',serif;font-size:80px;font-weight:700;color:rgba(255,255,255,.12);line-height:.7;margin-bottom:16px}

.hero-quote-text {font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic;color:rgba(255,255,255,.9);line-height:1.55;margin-bottom:20px}

.hero-quote-author {font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold4)}

.hero-card-stats {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}

.hero-card-stat {background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px}

.hero-card-stat-num {font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;color:#fff;line-height:1}

.hero-card-stat-num em {font-style:normal;color:var(--gold4);font-size:.65em}

.hero-card-stat-label {font-size:11px;color:rgba(255,255,255,.5);margin-top:3px}

.breadcrumb {background:var(--off);padding:14px 0;border-bottom:1px solid var(--em-border2)}

.breadcrumb-inner {display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted2)}

.breadcrumb-inner a {color:var(--em);transition:color var(--t)}

.breadcrumb-inner a:hover {color:var(--gold)}

.breadcrumb-sep {color:var(--em-border)}

.mission-sec {padding:100px 0;background:var(--off)}

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

.mission-text .chip {margin-bottom:20px}

.mission-title {font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.8vw,50px);font-weight:700;line-height:1.1;color:var(--ink);margin-bottom:20px;letter-spacing:-.02em}

.mission-title em {font-style:italic;color:var(--gold)}

.mission-body {font-size:15px;color:var(--muted);line-height:1.85}

.mission-body p+p {margin-top:16px}

.mission-cta-row {margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}

.btn-primary {display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:var(--r2);font-size:14px;font-weight:600;background:var(--em);color:#fff;transition:transform var(--t),box-shadow var(--t),background var(--t);box-shadow:0 4px 14px var(--em-glow)}

.btn-primary:hover {background:var(--em3);transform:translateY(-2px);box-shadow:0 8px 24px var(--em-glow)}

.btn-outline {display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:var(--r2);font-size:14px;font-weight:600;border:2px solid var(--em-border);color:var(--em);transition:all var(--t)}

.btn-outline:hover {border-color:var(--em);background:var(--em-pale)}

.mv-card {padding:22px 24px;border-radius:var(--r);border:1px solid var(--em-border2);background:var(--white);display:flex;align-items:flex-start;gap:16px;transition:border-color var(--t),box-shadow var(--t),transform var(--t);margin-bottom:14px}

.mv-card:last-child {margin-bottom:0}

.mv-card:hover {border-color:var(--em-border);box-shadow:0 8px 26px rgba(0,0,0,.055);transform:translateX(4px)}

.mv-icon {width:44px;height:44px;border-radius:12px;background:var(--em);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px var(--em-glow)}

.mv-icon svg {width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.mv-title {font-size:14px;font-weight:600;color:var(--ink);margin-bottom:4px}

.mv-desc {font-size:12.5px;color:var(--muted);line-height:1.6}

.team-sec {padding:100px 0;background:var(--white)}

.team-header {background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);padding:28px 24px;position:relative;overflow:hidden}

.team-header::before {content:'';position:absolute;top:-30px;right:-30px;width:140px;height:140px;border-radius:50%;background:rgba(201,162,39,.15);pointer-events:none}

.team-body {padding:22px 24px}

.team-spec {font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:14px}

.team-exp {display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--em);background:var(--em-pale);border:1px solid var(--em-border);padding:4px 12px;border-radius:99px}

.team-contact {display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--em);margin-left:8px;transition:color var(--t)}

.team-contact:hover {color:var(--gold)}

.timeline-sec {padding:100px 0;background:var(--stone)}

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

.timeline {display:flex;flex-direction:column;gap:0}

.tl-item {display:flex;gap:24px;padding-bottom:36px;position:relative}

.tl-item:not(:last-child)::before {content:'';position:absolute;left:17px;top:36px;bottom:0;width:2px;background:linear-gradient(to bottom,var(--em-border),transparent)}

.tl-dot {width:36px;height:36px;border-radius:50%;background:var(--em);border:3px solid var(--white);box-shadow:0 0 0 3px var(--em-border);flex-shrink:0;display:flex;align-items:center;justify-content:center}

.tl-dot::after {content:'';width:10px;height:10px;border-radius:50%;background:var(--gold3)}

.tl-year {font-size:10.5px;font-weight:700;letter-spacing:1.5px;color:var(--gold);text-transform:uppercase;margin-bottom:4px}

.tl-title {font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:var(--ink);margin-bottom:8px}

.tl-body {font-size:13.5px;color:var(--muted);line-height:1.7}

.cta-sec {padding:90px 0;background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);position:relative;overflow:hidden}

.cta-sec::before {content:'';position:absolute;top:-80px;right:-80px;width:380px;height:380px;border-radius:50%;background:rgba(201,162,39,.14);pointer-events:none}

.cta-sec::after {content:'';position:absolute;bottom:-80px;left:-50px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none}

.cta-grid {position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}

.cta-left .cta-chip {display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:600;letter-spacing:2.8px;text-transform:uppercase;color:var(--gold4);padding:5px 15px;border-radius:99px;border:1px solid rgba(201,162,39,.35);background:rgba(201,162,39,.12);margin-bottom:20px}

.cta-left .cta-chip::before {content:'';width:4px;height:4px;border-radius:50%;background:var(--gold4);flex-shrink:0;animation:pulse 2.5s ease infinite}

.cta-title {font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,52px);font-weight:700;color:#fff;line-height:1.1;margin-bottom:14px}

.cta-title em {font-style:italic;color:var(--gold4)}

.cta-body {font-size:15px;color:rgba(255,255,255,.82);line-height:1.8;margin-bottom:28px}

.cta-features {display:flex;flex-direction:column;gap:10px}

.cta-feat {display:flex;align-items:center;gap:10px;font-size:13.5px;color:rgba(255,255,255,.8)}

.cta-feat-icon {width:22px;height:22px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0}

.cta-feat-icon svg {width:11px;height:11px;stroke:var(--em);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

.cta-form-card {background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:32px;backdrop-filter:blur(10px)}

.cta-form-title {font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:#fff;margin-bottom:4px}

.cta-form-sub {font-size:13px;color:rgba(255,255,255,.5);margin-bottom:22px}

.cta-form .fg {display:flex;flex-direction:column;gap:5px;margin-bottom:12px}

.cta-form .fg label {font-size:10.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.55)}

.cta-form .fg input,.cta-form .fg select,.cta-form .fg textarea {width:100%;padding:11px 14px;border-radius:var(--r2);border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);font-family:'DM Sans',sans-serif;font-size:13.5px;color:#fff;outline:none;transition:border-color var(--t),background var(--t);-webkit-appearance:none}

.cta-form .fg input::placeholder,.cta-form .fg textarea::placeholder {color:rgba(255,255,255,.35)}

.cta-form .fg input:focus,.cta-form .fg select:focus,.cta-form .fg textarea:focus {border-color:var(--gold3);background:rgba(255,255,255,.12)}

.cta-form .fg select option {background:var(--em2);color:#fff}

.cta-form .fg.error input,.cta-form .fg.error select,.cta-form .fg.error textarea {border-color:#f87171}

.cta-form .fg.valid input,.cta-form .fg.valid select,.cta-form .fg.valid textarea {border-color:#4ade80}

.cta-form-row {display:grid;grid-template-columns:1fr 1fr;gap:12px}

.ferr {font-size:10.5px;color:#fca5a5;margin-top:3px;display:none}

.fg.error .ferr {display:block}

.btn-cta-submit {width:100%;padding:14px;border-radius:var(--r2);background:var(--gold);color:var(--em2);font-family:'DM Sans',sans-serif;font-size:14.5px;font-weight:700;border:none;cursor:pointer;transition:transform var(--t),box-shadow var(--t);display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}

.btn-cta-submit:hover {transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,162,39,.4)}

.btn-cta-submit:disabled {opacity:.6;cursor:not-allowed;transform:none}

.cta-success {display:none;text-align:center;padding:24px 0}

.cta-success.show {display:block}

.cta-success-icon {font-size:44px;margin-bottom:12px}

.cta-success-title {font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:#fff;margin-bottom:8px}

.cta-success-sub {font-size:13px;color:rgba(255,255,255,.6)}

.cta-privacy {font-size:11px;color:rgba(255,255,255,.35);text-align:center;margin-top:10px}

.spin {width:16px;height:16px;border:2px solid rgba(10,61,31,.3);border-top-color:var(--em2);border-radius:50%;animation:spin .7s linear infinite;display:none}

.btn-cta-submit.loading .btn-lbl {display:none}

.btn-cta-submit.loading .spin {display:block}


.footer-logo-mark {width:38px;height:38px;border-radius:10px;background:linear-gradient(150deg,var(--em3),var(--em));display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:700;color:#fff}

.footer-logo-name {font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:#fff}

.footer-desc {font-size:13px;color:rgba(255,255,255,.62);line-height:1.8;margin-bottom:22px}

.footer-socs {display:flex;gap:8px;margin-bottom:0}


.footer-ci span {font-size:14px;flex-shrink:0;margin-top:1px}

.footer-ci a,.footer-ci p {font-size:12.5px;color:rgba(255,255,255,.5);transition:color var(--t);line-height:1.5}

.footer-ci a:hover {color:rgba(255,255,255,.85)}



/* ═══════════════════════════════════════════════════════
   CONTACT PAGE — PAGE-SPECIFIC STYLES
═══════════════════════════════════════════════════════ */

.contact-hero { background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%); padding:140px 0 90px;position:relative;overflow:hidden; }

.contact-hero::before { content:'';position:absolute;top:-80px;right:-80px; width:400px;height:400px;border-radius:50%; background:rgba(201,162,39,.12);pointer-events:none; }

.contact-hero::after { content:'';position:absolute;bottom:-100px;left:-60px; width:350px;height:350px;border-radius:50%; background:rgba(255,255,255,.04);pointer-events:none; }

.contact-hero-inner {max-width:var(--max);margin:0 auto;position:relative;z-index:1}

.contact-eyebrow {display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:var(--gold4);font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;padding:6px 16px;border-radius:99px;margin-bottom:20px}

.contact-eyebrow-dot {width:5px;height:5px;border-radius:50%;background:var(--gold3);animation:pulse 2s infinite}

.contact-hero-title {font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5vw,68px);font-weight:700;color:#fff;line-height:1.04;letter-spacing:-.03em;margin-bottom:16px}

.contact-hero-title em {font-style:italic;color:var(--gold4)}

.contact-hero-sub {font-size:16px;color:rgba(255,255,255,.82);max-width:480px;line-height:1.75}

.contact-info-sec {background:var(--off);padding:70px 0}

.info-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

.info-card {background:var(--white);border:1px solid var(--em-border2);border-radius:20px;padding:28px 24px;text-align:center;transition:border-color var(--t),box-shadow var(--t),transform var(--t)}

.info-card:hover {border-color:var(--em-border);box-shadow:0 12px 36px rgba(0,0,0,.07);transform:translateY(-4px)}

.info-icon {width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--em),var(--em3));display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 4px 14px var(--em-glow)}

.info-icon svg {width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.info-icon.wa-icon {background:linear-gradient(135deg,#25d366,#128c4a)}

.info-icon.wa-icon svg {fill:#fff;stroke:none}

.info-label {font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted2);margin-bottom:8px}

.info-value {font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.45}

.info-value a {color:var(--em);transition:color var(--t)}

.info-value a:hover {color:var(--em3)}

.info-sub {font-size:12px;color:var(--muted2);margin-top:4px}

.contact-main {padding:90px 0;background:var(--white)}

.contact-grid {display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:start}

.contact-left .chip { display:inline-flex;align-items:center;gap:8px; font-size:10px;font-weight:600;letter-spacing:2.8px;text-transform:uppercase; color:var(--gold2);padding:5px 15px;border-radius:99px; border:1px solid rgba(184,136,42,.28);background:rgba(184,136,42,.07); margin-bottom:20px; }

.contact-left .chip::before {content:'';width:4px;height:4px;border-radius:50%;background:var(--gold2);flex-shrink:0;animation:pulse 2.5s ease infinite}

.contact-section-title {font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.5vw,44px);font-weight:700;line-height:1.1;color:var(--ink);margin-bottom:14px;letter-spacing:-.02em}

.contact-section-title em {font-style:italic;color:var(--gold)}

.contact-section-body {font-size:15px;color:var(--muted);line-height:1.85;margin-bottom:36px}

.contact-detail-list {display:flex;flex-direction:column;gap:14px;margin-bottom:36px}

.contact-detail {display:flex;align-items:flex-start;gap:16px;padding:18px 20px;background:var(--off);border:1px solid var(--em-border2);border-radius:var(--r);transition:border-color var(--t),box-shadow var(--t),transform var(--t)}

.contact-detail:hover {border-color:var(--em-border);box-shadow:0 6px 22px rgba(0,0,0,.05);transform:translateX(4px)}

.cd-icon {width:44px;height:44px;border-radius:12px;background:var(--em);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 12px var(--em-glow)}

.cd-icon svg {width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.cd-icon.wa {background:linear-gradient(135deg,#25d366,#128c4a)}

.cd-icon.wa svg {fill:#fff;stroke:none;width:22px;height:22px}

.cd-label {font-size:10.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted2);margin-bottom:3px}

.cd-value {font-size:14px;font-weight:600;color:var(--ink)}

.cd-value a {color:var(--em);transition:color var(--t)}

.cd-value a:hover {color:var(--gold)}

.hours-box {background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);border-radius:var(--r);padding:24px 22px;position:relative;overflow:hidden}

.hours-box::before {content:'';position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:rgba(201,162,39,.14);pointer-events:none}

.hours-label {font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold4);margin-bottom:10px;position:relative;z-index:1}

.hours-title {font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:#fff;margin-bottom:14px;position:relative;z-index:1}

.hours-row {display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:13px;position:relative;z-index:1}

.hours-row:last-of-type {border-bottom:none}

.hours-day {color:rgba(255,255,255,.6)}

.hours-time {color:#fff;font-weight:600}

.contact-form-wrap { background:var(--off);border:1px solid var(--em-border2);border-radius:24px;overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.07); }

.form-header { background:linear-gradient(135deg,var(--em) 0%,var(--em3) 100%); padding:28px 32px;position:relative;overflow:hidden; }

.form-header::before {content:'';position:absolute;top:-50px;right:-50px;width:180px;height:180px;border-radius:50%;background:rgba(201,162,39,.14);pointer-events:none}

.form-header-tag {font-size:9.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold4);margin-bottom:6px;position:relative;z-index:1}

.form-header-title {font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:700;color:#fff;line-height:1.25;position:relative;z-index:1}

.form-header-sub {font-size:13px;color:rgba(255,255,255,.62);margin-top:5px;position:relative;z-index:1}

.form-body {padding:32px}

.form-group.valid input,.form-group.valid select,.form-group.valid textarea {border-color:#22c55e;background:#f0fdf4}

.form-group.error input,.form-group.error select,.form-group.error textarea {border-color:#ef4444;background:#fff5f5;box-shadow:0 0 0 3px rgba(239,68,68,.09)}

.consent-row {display:flex;align-items:flex-start;gap:10px;margin-bottom:18px}

.consent-row input[type=checkbox] {width:16px;height:16px;border-radius:4px;border:1.5px solid var(--em-border);flex-shrink:0;margin-top:2px;accent-color:var(--em);cursor:pointer}

.consent-row label {font-size:12px;color:var(--muted);line-height:1.6;cursor:pointer}

.submit-btn { width:100%;padding:15px;border-radius:var(--r2); background:linear-gradient(135deg,var(--em) 0%,var(--em3) 100%); color:#fff;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600; box-shadow:0 4px 18px var(--em-glow); transition:transform var(--t),box-shadow var(--t),background var(--t); display:flex;align-items:center;justify-content:center;gap:9px; border:none;cursor:pointer;position:relative;overflow:hidden; }

.submit-btn::before {content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 55%)}

.submit-btn:hover {transform:translateY(-2px);box-shadow:0 10px 30px var(--em-glow)}

.submit-btn:disabled {opacity:.6;cursor:not-allowed;transform:none}

.submit-btn.loading .btn-label {display:none}

.submit-btn.loading .btn-spinner {display:block}

.privacy-note {font-size:11px;color:var(--muted2);text-align:center;margin-top:12px}

.success-title {font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:700;color:var(--ink);margin-bottom:10px}

.success-sub {font-size:14.5px;color:var(--muted);line-height:1.8;margin-bottom:20px}

.success-sub strong {color:var(--em3)}

.btn-wa-success {display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;border-radius:var(--r2);background:#25d366;color:#fff;font-size:14px;font-weight:600;box-shadow:0 4px 16px rgba(37,211,102,.28);transition:transform var(--t),box-shadow var(--t);width:100%;margin-bottom:10px}

.btn-wa-success:hover {transform:translateY(-2px)}

.btn-back-link {font-size:13px;color:var(--muted);cursor:pointer;transition:color var(--t)}

.btn-back-link:hover {color:var(--em)}

.map-sec {padding:0 0 90px;background:var(--white)}

.map-inner {border-radius:24px;overflow:hidden;box-shadow:0 12px 44px rgba(0,0,0,.08);border:1px solid var(--em-border2)}

.map-inner iframe {width:100%;height:420px;display:block;border:none}

.footer {background:var(--ink);padding:64px 0 32px}

.footer-inner {display:grid;grid-template-columns:1fr auto;gap:60px;align-items:start;margin-bottom:48px}

.footer-brand .logo-name,.footer-brand .logo-sub {color:rgba(255,255,255,.85)}

.footer-tagline {font-size:13.5px;color:rgba(255,255,255,.4);line-height:1.7;margin-top:12px;max-width:280px}

.footer-links {display:flex;gap:48px}

.footer-col-title {font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(201,162,39,.75);margin-bottom:14px}

.footer-col a {display:block;font-size:13px;color:rgba(255,255,255,.45);margin-bottom:9px;transition:color var(--t)}

.footer-col a:hover {color:rgba(255,255,255,.85)}

@media (max-width:900px) { .info-grid{grid-template-columns:1fr 1fr} .contact-grid{grid-template-columns:1fr;gap:48px} .form-row{grid-template-columns:1fr} .footer-inner{grid-template-columns:1fr;gap:32px} .footer-links{flex-wrap:wrap;gap:32px} }

@media (max-width:640px) { .container{padding:0 20px} .contact-hero{padding:110px 20px 56px} .info-grid{grid-template-columns:1fr 1fr} .nav-links{display:none} .nav-actions .btn-nav-ghost{display:none} .ham{display:flex} .form-body{padding:20px} .form-row{grid-template-columns:1fr} }



/* ═══════════════════════════════════════════════════════
   PRACTICE AREAS PAGE — PAGE-SPECIFIC STYLES
═══════════════════════════════════════════════════════ */

.nav-links a:hover,.nav-links a.active {color:var(--em)}

.mob-cta-wrap {margin-top:28px}

.pa-hero {background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);padding:140px 0 90px;position:relative;overflow:hidden}

.pa-hero::before {content:'';position:absolute;top:-80px;right:-80px;width:420px;height:420px;border-radius:50%;background:rgba(201,162,39,.13);pointer-events:none}

.pa-hero::after {content:'';position:absolute;bottom:-100px;left:-60px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none}

.pa-hero-grid {position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}

.eyebrow {display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:var(--gold4);font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;padding:6px 16px;border-radius:99px;margin-bottom:22px}

.eyebrow-dot {width:5px;height:5px;border-radius:50%;background:var(--gold3);animation:pulse 2s infinite;flex-shrink:0}

.pa-filter {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0}

.pa-tab {padding:9px 20px;border-radius:99px;border:1.5px solid rgba(255,255,255,.25);font-size:13px;font-weight:500;color:rgba(255,255,255,.75);background:transparent;cursor:pointer;transition:all var(--t)}

.pa-tab:hover {border-color:rgba(255,255,255,.6);color:#fff}

.pa-tab.active {background:#fff;border-color:#fff;color:var(--em);font-weight:600}

.pa-list {display:flex;flex-direction:column;gap:0}

.pa-item {border-bottom:1px solid var(--em-border2);overflow:hidden}

.pa-item:first-child {border-top:1px solid var(--em-border2)}

.pa-header {display:flex;align-items:center;gap:22px;padding:30px 0;cursor:pointer;transition:all var(--t)}

.pa-header:hover .pa-title {color:var(--em)}

.pa-icon {width:52px;height:52px;border-radius:14px;background:var(--em-pale);border:1px solid var(--em-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--t),border-color var(--t);color:var(--em)}

.pa-icon svg {width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.pa-item.open .pa-icon {background:var(--em);border-color:var(--em)}

.pa-item.open .pa-icon svg {stroke:#fff}

.pa-info {flex:1}

.pa-num {font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted2);margin-bottom:4px}

.pa-title {font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:700;color:var(--ink);transition:color var(--t)}

.pa-brief {font-size:13px;color:var(--muted)}

.pa-toggle {width:32px;height:32px;border-radius:50%;border:1.5px solid var(--em-border);display:flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0;transition:all var(--t)}

.pa-item.open .pa-toggle {background:var(--em);border-color:var(--em);color:#fff;transform:rotate(45deg)}

.pa-body {display:none;padding:0 0 30px 74px}

.pa-item.open .pa-body {display:block}

.pa-desc {font-size:14.5px;color:var(--muted);line-height:1.85;margin-bottom:22px}

.pa-sub-list {display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}

.pa-sub {display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--ink2);line-height:1.5}

.pa-sub::before {content:'→';color:var(--gold2);font-weight:700;font-size:13px;flex-shrink:0}

.pa-cta {display:inline-flex;align-items:center;gap:8px;padding:11px 24px;border-radius:var(--r2);font-size:13.5px;font-weight:600;background:var(--em);color:#fff;transition:all var(--t);box-shadow:0 4px 14px var(--em-glow)}

.pa-cta:hover {background:var(--em3);transform:translateY(-1px)}

.cta-band {padding:80px 0;background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);position:relative;overflow:hidden;text-align:center}

.cta-band::before {content:'';position:absolute;top:-60px;right:-60px;width:360px;height:360px;border-radius:50%;background:rgba(201,162,39,.14);pointer-events:none}

.cta-band::after {content:'';position:absolute;bottom:-80px;left:-40px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none}

.cta-chip {display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:600;letter-spacing:2.8px;text-transform:uppercase;color:var(--gold4);padding:5px 15px;border-radius:99px;border:1px solid rgba(201,162,39,.35);background:rgba(201,162,39,.12);margin-bottom:20px}

.cta-band h2 {font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4.5vw,56px);font-weight:700;color:#fff;margin-bottom:18px;line-height:1.1}

.cta-band h2 em {font-style:italic;color:var(--gold4)}

.cta-band p {font-size:16px;color:rgba(255,255,255,.7);max-width:480px;margin:0 auto 36px;line-height:1.7}

.btn-cta-light {display:inline-flex;align-items:center;gap:8px;padding:15px 36px;border-radius:var(--r2);font-size:15px;font-weight:600;background:#fff;color:var(--em);transition:all var(--t);box-shadow:0 6px 24px rgba(0,0,0,.15)}

.btn-cta-light:hover {transform:translateY(-2px);box-shadow:0 12px 36px rgba(0,0,0,.2)}

.footer-logo {display:flex;align-items:center;gap:10px;margin-bottom:18px}



/* ═══════════════════════════════════════════════════════
   SERVICES PAGE — PAGE-SPECIFIC STYLES
═══════════════════════════════════════════════════════ */

.srv-hero {background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);padding:140px 0 90px;position:relative;overflow:hidden}

.srv-hero::before {content:'';position:absolute;top:-80px;right:-80px;width:420px;height:420px;border-radius:50%;background:rgba(201,162,39,.13);pointer-events:none}

.srv-hero::after {content:'';position:absolute;bottom:-100px;left:-60px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none}

.srv-hero-grid {position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}

.srv-hero-inner {display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1}

.hero-stat-row {display:flex;gap:36px;flex-wrap:wrap;margin-bottom:36px}

.srv-hero-card {background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:36px 32px;backdrop-filter:blur(10px)}

.srv-hero-quote-mark {font-family:'Cormorant Garamond',serif;font-size:80px;font-weight:700;color:rgba(255,255,255,.12);line-height:.7;margin-bottom:16px}

.srv-hero-quote-text {font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic;color:rgba(255,255,255,.9);line-height:1.55;margin-bottom:20px}

.srv-hero-quote-author {font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold4)}

.srv-hero-card-stats {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}

.srv-hero-card-stat {background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px}

.srv-hero-card-stat-num {font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;color:#fff;line-height:1}

.srv-hero-card-stat-num em {font-style:normal;color:var(--gold4);font-size:.65em}

.srv-hero-card-stat-label {font-size:11px;color:rgba(255,255,255,.5);margin-top:3px}

.srv-features {display:flex;flex-direction:column;gap:6px;margin-bottom:22px}

.srv-feat {display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink2)}

.srv-feat::before {content:'✓';color:var(--gold2);font-weight:700;font-size:11px;flex-shrink:0}

.srv-cta {display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.5px;color:var(--em);text-transform:uppercase;transition:gap var(--t)}

.srv-card:hover .srv-cta {gap:10px}

.srv-cta svg {width:13px;height:13px}

.srv-featured .srv-feat {color:rgba(255,255,255,.75)}

.srv-featured .srv-feat::before {color:var(--gold4)}

.srv-featured .srv-cta {color:var(--gold4)}

.proc-num-inner {font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:var(--em)}

.proc-step:hover .proc-num-inner {color:#fff}

.pricing-card.featured {background:linear-gradient(150deg,var(--em) 0%,var(--em3) 100%);border-color:transparent}

.pricing-badge {position:absolute;top:18px;right:18px;background:var(--gold);color:var(--em);font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 11px;border-radius:99px}

.pricing-card.featured .pricing-plan {color:rgba(255,255,255,.55)}

.pricing-card.featured .pricing-price {color:#fff}

.pricing-card.featured .pricing-desc {color:rgba(255,255,255,.6)}

.pf-item {display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--ink2);line-height:1.5}

.pf-item::before {content:'✓';color:var(--gold2);font-weight:700;font-size:11px;flex-shrink:0;margin-top:2px}

.pricing-card.featured .pf-item {color:rgba(255,255,255,.8)}

.pricing-card.featured .pf-item::before {color:var(--gold4)}

.btn-pricing:hover {background:var(--em);border-color:var(--em);color:#fff}

.btn-pricing-fill {background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.25);color:#fff}

.btn-pricing-fill:hover {background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.4)}




/* ═══════════════════════════════════════════════════════
   HERO TEXT — Dark hero overrides
   .hero-title defaults to color:var(--ink) for index.html
   Override to white inside all dark gradient hero sections
═══════════════════════════════════════════════════════ */
.srv-hero .hero-title,
.pa-hero .hero-title,
.contact-hero .hero-title {
  color: #fff;
}
.srv-hero .hero-title em,
.pa-hero .hero-title em,
.contact-hero .hero-title em {
  font-style: italic;
  color: var(--gold4);
}
.srv-hero .hero-sub,
.pa-hero .hero-sub,
.contact-hero .hero-sub {
  color: rgba(255,255,255,.72);
}

/* ── STAT ROW inside dark heroes ── */
.srv-hero .hero-stat-num,
.pa-hero .hero-stat-num,
.contact-hero .hero-stat-num { color: #fff; }

.srv-hero .hero-stat-label,
.pa-hero .hero-stat-label,
.contact-hero .hero-stat-label { color: rgba(255,255,255,.55); }

/* ── SERVICES GRID responsive ── */
@media(max-width:1000px) {
  .services-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width:640px) {
  .services-grid { grid-template-columns: 1fr; }
  .srv-hero-inner { grid-template-columns: 1fr; gap: 32px; }
}

/* ── FOOTER-CI — canonical contact items ── */
.footer-ci {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  margin-bottom: 10px;
  color: rgba(255,255,255,.65);
}
.footer-ci a { color: rgba(255,255,255,.85); }
.footer-ci a:hover { color: var(--gold4); }
.footer-ci span { font-size: 15px; flex-shrink: 0; margin-top: 1px; }

/* ── FOOTER-BRAND ── */
.footer-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 16px;
}


/* ═══════════════════════════════════════════════════════
   COMPREHENSIVE MOBILE RESPONSIVENESS — ALL PAGES
   Breakpoints: 1024px (tablet), 768px (small tablet), 480px (mobile)
═══════════════════════════════════════════════════════ */

/* ── GLOBAL TOUCH TARGETS ── */
@media (max-width:1024px) {
  /* Nav: hamburger already shown, ensure nav-actions is tidy */
  .btn-nav-ghost { display:none }
  .nav-inner { padding:0 20px }

  /* Hero inner grid → single column (already done) */
  /* Page-hero inner (about, services, contact, practice-areas pages) */
  .page-hero-inner { grid-template-columns:1fr; gap:40px }
  .srv-hero-inner  { grid-template-columns:1fr; gap:40px }
  .pa-hero .pa-hero-inner { grid-template-columns:1fr }

  /* About: mission, timeline, cta grids */
  .mission-grid { grid-template-columns:1fr; gap:48px }
  .timeline-grid { grid-template-columns:1fr; gap:48px }
  .cta-grid { grid-template-columns:1fr; gap:48px }

  /* Team grid */
  .team-grid { grid-template-columns:1fr 1fr }

  /* Contact page */
  .info-grid { grid-template-columns:1fr 1fr }
  .contact-grid { grid-template-columns:1fr; gap:48px }

  /* Subpage panel at full width on tablet */
  .subpage-panel { width:100vw; right:-100vw }

  /* Proc steps */
  .process-steps { grid-template-columns:1fr 1fr; gap:40px }
  .process-steps::before { display:none }

  /* Contact info grid in subpage */
  .contact-info-grid { grid-template-columns:1fr 1fr }

  /* sp-form-row */
  .sp-form-row { grid-template-columns:1fr }

  /* cta-form-row */
  .cta-form-row { grid-template-columns:1fr }

  /* Footer (main) already handled for 1fr 1fr */
}

/* ── SMALL TABLET: 768px ── */
@media (max-width:768px) {
  /* Headings */
  .sec-head { margin-bottom:48px }
  .sec-title { font-size:clamp(28px,8vw,44px) }

  /* Hero */
  .hero { padding:110px 20px 60px }
  .hero-sub { font-size:15px }
  .hero-form-row { grid-template-columns:1fr }
  .hero-trust { flex-wrap:wrap; gap:10px }

  /* Page heroes on inner pages */
  .page-hero { padding:110px 0 64px }
  .srv-hero  { padding:110px 0 64px }
  .pa-hero   { padding:110px 0 64px }
  .contact-hero { padding:110px 0 64px }

  .hero-h1 { font-size:clamp(36px,9vw,56px) }
  .hero-desc { font-size:14.5px }
  .hero-stats { gap:20px; flex-wrap:wrap }

  /* Hero stat row inside dark heroes */
  .hero-stat-row { gap:20px }

  /* Hero CTAs */
  .hero-ctas { gap:10px }
  .btn-hero-primary,
  .btn-hero-outline { padding:12px 20px; font-size:13.5px }

  /* Services section */
  .services-sec { padding:80px 0 }
  .services-grid { grid-template-columns:1fr 1fr; gap:14px }

  /* Why sec */
  .why-sec { padding:80px 0 }
  .why-inner { grid-template-columns:1fr; gap:40px }
  .why-stats-row { grid-template-columns:1fr 1fr }

  /* Cases */
  .cases-sec { padding:80px 0 }
  .cases-grid { grid-template-columns:1fr 1fr; gap:14px }

  /* Process */
  .process-sec { padding:80px 0 }
  .process-steps { grid-template-columns:1fr 1fr; gap:28px }

  /* NRI */
  .nri-sec { padding:80px 0 }
  .nri-inner { grid-template-columns:1fr; gap:40px }

  /* Reviews */
  .reviews-sec { padding:80px 0 }
  .reviews-grid { grid-template-columns:1fr 1fr; gap:14px }

  /* Pricing */
  .pricing-sec { padding:80px 0 }
  .pricing-grid { grid-template-columns:1fr; max-width:100% }

  /* Contact CTA section */
  .contact-sec { padding:80px 0 }
  .contact-inner { padding:0 20px }

  /* Footer */
  footer { padding:56px 0 0 }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px }

  /* Lead form section */
  .lead-form { padding:72px 0 }
  .lead-inner { gap:40px }
  .lead-form-wrap { padding:28px 24px 24px }

  /* About page */
  .mission-sec { padding:72px 0 }
  .mission-grid { grid-template-columns:1fr; gap:40px }
  .mission-cta-row { flex-direction:column; align-items:flex-start }
  .team-sec { padding:72px 0 }
  .timeline-sec { padding:72px 0 }
  .timeline-grid { grid-template-columns:1fr; gap:40px }
  .cta-sec { padding:72px 0 }
  .cta-grid { grid-template-columns:1fr; gap:36px }
  .hero-card-stats { grid-template-columns:1fr 1fr }
  .hero-visual-card { padding:24px }

  /* Contact page */
  .contact-info-sec { padding:48px 0 }
  .info-grid { grid-template-columns:1fr 1fr; gap:14px }
  .contact-main { padding:64px 0 }
  .contact-grid { grid-template-columns:1fr; gap:40px }

  /* Practice areas page */
  .pa-sub-list { grid-template-columns:1fr }
  .pa-header { gap:14px }
  .pa-icon { width:42px; height:42px }
  .pa-body { padding:0 0 24px 56px }
  .pa-filter { gap:6px }
  .pa-tab { padding:7px 14px; font-size:12px }

  /* Services page */
  .srv-hero-card { padding:24px 22px }
  .srv-hero-card-stats { grid-template-columns:1fr 1fr }
  .srv-features { margin-bottom:16px }

  /* Breadcrumb */
  .breadcrumb-inner { flex-wrap:wrap; gap:4px; font-size:11.5px }

  /* Sec head */
  .sec-head { margin-bottom:40px }

  /* Panel footer country tags */
  .country-tags { gap:5px }

  /* CTA band */
  .cta-band { padding:60px 0 }
  .cta-band h2 { font-size:clamp(28px,7vw,44px) }

  /* Subpage */
  .subpage-header { padding:22px 22px 18px }
  .subpage-body { padding:24px }
  .team-grid { grid-template-columns:1fr 1fr; gap:12px }
  .contact-info-grid { grid-template-columns:1fr }

  /* Map */
  .map-inner iframe { height:320px }
}

/* ── MOBILE: 480px ── */
@media (max-width:480px) {
  /* Base */
  .container { padding:0 16px }
  html { font-size:15px }

  /* Nav */
  .nav-inner { padding:0 16px }
  .logo-name { font-size:17px }
  .logo-sub { display:none }
  .logo-mark { width:36px; height:36px; font-size:18px }
  .btn-nav-cta { padding:7px 14px; font-size:12px }

  /* Chip */
  .chip { font-size:9px; letter-spacing:2px; padding:4px 12px }

  /* Hero */
  .hero { padding:100px 16px 56px }
  .hero-title { font-size:clamp(36px,11vw,56px); letter-spacing:-.02em }
  .hero-sub { font-size:14px; margin-bottom:28px }
  .hero-form-card { margin-bottom:24px }
  .hero-form-top { padding:18px 20px }
  .form-top-title { font-size:19px }
  .hero-form-body { padding:18px 20px; gap:10px }
  .btn-hero-submit { padding:13px; font-size:13.5px }
  .hero-trust { flex-direction:column; align-items:flex-start; gap:8px }

  /* Page heroes */
  .page-hero { padding:96px 0 52px }
  .srv-hero  { padding:96px 0 52px }
  .pa-hero   { padding:96px 0 52px }
  .contact-hero { padding:96px 0 52px }

  .hero-h1 { font-size:clamp(32px,10vw,48px) }
  .hero-desc { font-size:14px; margin-bottom:24px }
  .hero-stats { gap:16px }
  .hero-stat-num { font-size:26px }
  .hero-ctas { flex-direction:column }
  .btn-hero-primary,
  .btn-hero-outline { width:100%; justify-content:center; padding:13px 20px }

  /* Hero visual card */
  .hero-visual-card { padding:20px 18px }
  .hero-quote-mark { font-size:56px }
  .hero-quote-text { font-size:16px }
  .hero-card-stats { grid-template-columns:1fr 1fr; gap:8px }
  .hero-card-stat { padding:12px }
  .hero-card-stat-num { font-size:22px }

  /* Services */
  .services-grid { grid-template-columns:1fr }
  .srv-card { padding:28px 22px }

  /* Why */
  .why-stats-row { grid-template-columns:1fr }
  .why-stat-big { padding:26px 22px }
  .why-stat-big-num { font-size:52px }
  .why-feat { padding:15px 16px; gap:12px }

  /* Cases */
  .cases-grid { grid-template-columns:1fr }
  .case-amount { font-size:32px }

  /* Process */
  .process-steps { grid-template-columns:1fr }
  .proc-step { padding:0 }
  .proc-num { width:64px; height:64px; font-size:22px; margin-bottom:18px }

  /* NRI */
  .nri-flags { gap:6px }
  .nri-flag { padding:6px 12px; font-size:11.5px }
  .nri-card { padding:28px 22px }
  .nri-card-title { font-size:22px }

  /* Reviews */
  .reviews-grid { grid-template-columns:1fr }
  .review-card { padding:22px 20px }

  /* Pricing */
  .pricing-card { padding:28px 22px }
  .pricing-price { font-size:44px }

  /* FAQ */
  .faq-ques { font-size:15px; padding:18px 16px }
  .faq-ans-body { padding:0 16px 18px }

  /* Contact CTA */
  .contact-btns { flex-direction:column; align-items:stretch }
  .btn-contact-main,
  .btn-contact-ghost { justify-content:center; padding:14px 24px; font-size:13.5px }

  /* Footer */
  .footer-grid { grid-template-columns:1fr }
  .footer-bottom { flex-direction:column; text-align:center; gap:8px }
  .footer-legal { justify-content:center; flex-wrap:wrap; gap:14px }
  .footer-col h5 { margin-top:4px }

  /* Lead form */
  .lead-form-wrap { padding:24px 16px 20px; border-radius:var(--r2) }
  .form-row { grid-template-columns:1fr }
  .lead-title { font-size:clamp(24px,8vw,36px) }
  .form-stepper { gap:0 }
  .stepper-label { font-size:8.5px; letter-spacing:0 }

  /* Ticker */
  .ticker-item { padding:0 22px; font-size:10px; letter-spacing:1.5px }

  /* Sec titles */
  .sec-title { font-size:clamp(26px,9vw,40px) }
  .sec-sub { font-size:14px }

  /* WhatsApp float */
  .wa-float { bottom:16px; right:16px }
  .wa-label { display:none }
  .wa-btn { width:46px; height:46px }

  /* About page */
  .mission-sec { padding:56px 0 }
  .mission-grid { grid-template-columns:1fr }
  .mission-title { font-size:clamp(26px,8vw,40px) }
  .mission-cta-row { flex-direction:column; align-items:stretch }
  .btn-primary,
  .btn-outline { justify-content:center; text-align:center }
  .team-sec { padding:56px 0 }
  .team-grid { grid-template-columns:1fr 1fr; gap:10px }
  .team-card { padding:14px 10px }
  .team-avatar { width:44px; height:44px; font-size:15px }
  .team-name { font-size:12px }
  .timeline-sec { padding:56px 0 }
  .timeline-grid { grid-template-columns:1fr }
  .tl-item { gap:16px }
  .tl-dot { width:28px; height:28px; flex-shrink:0 }
  .tl-item:not(:last-child)::before { left:13px }
  .cta-sec { padding:56px 0 }
  .cta-grid { grid-template-columns:1fr }
  .cta-form-card { padding:24px 18px }
  .cta-form-row { grid-template-columns:1fr }

  /* Contact page */
  .info-grid { grid-template-columns:1fr 1fr; gap:10px }
  .info-card { padding:20px 16px }
  .info-icon { width:44px; height:44px; border-radius:12px }
  .info-value { font-size:13px }
  .contact-main { padding:52px 0 }
  .contact-detail { padding:14px 16px; gap:12px }
  .cd-icon { width:38px; height:38px; border-radius:10px }
  .hours-box { padding:20px 18px }
  .form-body { padding:20px 16px }
  .form-row { grid-template-columns:1fr }
  .contact-hero-title { font-size:clamp(30px,10vw,52px) }
  .contact-hero-sub { font-size:14.5px }
  .map-inner iframe { height:280px }

  /* Practice areas */
  .pa-filter { gap:5px }
  .pa-tab { padding:6px 12px; font-size:11.5px }
  .pa-header { gap:12px; padding:22px 0 }
  .pa-icon { width:38px; height:38px; border-radius:10px }
  .pa-icon svg { width:18px; height:18px }
  .pa-title { font-size:19px }
  .pa-body { padding:0 0 20px 50px }
  .pa-sub-list { grid-template-columns:1fr }
  .pa-cta { padding:10px 18px; font-size:13px }
  .cta-band { padding:52px 0 }

  /* Services page */
  .srv-hero-inner { grid-template-columns:1fr; gap:28px }
  .srv-hero-card { padding:20px 18px }
  .srv-hero-quote-text { font-size:17px }
  .srv-hero-card-stats { grid-template-columns:1fr 1fr; gap:8px }
  .hero-stat-row { gap:16px }

  /* Subpage panel (side drawer) */
  .subpage-panel { width:100vw; max-width:100vw }
  .subpage-header { padding:20px 16px 16px }
  .subpage-header h2 { font-size:24px }
  .subpage-body { padding:18px 16px }
  .team-grid { grid-template-columns:1fr 1fr; gap:10px }
  .contact-info-grid { grid-template-columns:1fr }
  .sp-form-row { grid-template-columns:1fr }
}

/* ── VERY SMALL: 360px ── */
@media (max-width:360px) {
  .hero-title { font-size:32px }
  .hero-h1 { font-size:30px }
  .sec-title { font-size:26px }
  .info-grid { grid-template-columns:1fr }
  .team-grid { grid-template-columns:1fr }
  .hero-stats { flex-direction:column; gap:12px }
  .hero-ctas { gap:8px }
  .hero-card-stats { grid-template-columns:1fr }
  .why-stats-row { grid-template-columns:1fr }
  .srv-hero-card-stats { grid-template-columns:1fr }
}

/* ── TOUCH: tap-friendly form inputs & buttons ── */
@media (max-width:768px) {
  .h-input,
  .form-group input,
  .form-group select,
  .form-group textarea,
  .sp-form-group input,
  .sp-form-group select,
  .sp-form-group textarea,
  .cta-form .fg input,
  .cta-form .fg select,
  .cta-form .fg textarea {
    font-size:16px; /* prevents iOS zoom on focus */
    padding:13px 14px;
  }

  .btn-hero-submit,
  .btn-form-next,
  .sp-submit-btn,
  .btn-cta-submit,
  .submit-btn,
  .btn-pricing {
    min-height:48px;
  }

  /* Nav CTA: compact pill on mobile — NOT full 48px height */
  .btn-nav-cta {
    min-height: unset;
    padding: 8px 16px;
    font-size: 12.5px;
    gap: 5px;
    border-radius: 8px;
    line-height: 1.3;
    white-space: nowrap;
  }
  .btn-nav-cta svg { display: none; }

  /* Larger tap areas for mobile nav links */
  .mob-nav a { padding:20px 0; font-size:18px }
  .mob-nav-cta .btn-nav-cta,
  .mob-cta .btn-nav-cta,
  .mob-cta-wrap .btn-nav-cta {
    padding:16px 24px;
    font-size:15px;
    justify-content:center;
    display:flex;
  }
}

/* ── LANDSCAPE MOBILE ── */
@media (max-width:768px) and (orientation:landscape) {
  .hero { min-height:auto; padding:90px 20px 50px }
  .page-hero,
  .srv-hero,
  .pa-hero,
  .contact-hero { padding:90px 0 48px }
  .hero-h1 { font-size:clamp(28px,7vw,42px) }
}

/* ── SAFE-AREA / NOTCH SUPPORT ── */
.nav {
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
}
.mob-nav {
  padding-left:max(28px, env(safe-area-inset-left));
  padding-right:max(28px, env(safe-area-inset-right));
  padding-bottom:max(40px, env(safe-area-inset-bottom));
}
footer {
  padding-bottom:max(0px, env(safe-area-inset-bottom));
}
.wa-float {
  bottom:max(28px, calc(env(safe-area-inset-bottom) + 12px));
  right:max(28px, env(safe-area-inset-right));
}
@media (max-width:640px) {
  .wa-float {
    bottom:max(18px, calc(env(safe-area-inset-bottom) + 10px));
    right:max(16px, env(safe-area-inset-right));
  }
}

/* ── UTILITY: prevent horizontal scroll on all pages ── */
html, body { max-width:100%; overflow-x:hidden }

/* ── ABOUT PAGE: team grid responsive ── */
@media (max-width:640px) {
  /* Already set to 1fr 1fr for team; keep it */
  .team-card { padding:14px 10px }
  .team-avatar { width:44px; height:44px; font-size:14px }
  .team-name { font-size:12.5px }
  .team-role { font-size:10px }

  /* mission grid single col */
  .mission-grid { grid-template-columns:1fr }
  /* timeline single col */
  .timeline-grid { grid-template-columns:1fr }
  /* cta grid single col */
  .cta-grid { grid-template-columns:1fr }

  /* Contact page: info grid 2-col at 640 → 1col at 480 handled separately */
  /* Keep 2-col at 640 */

  /* Page hero inner single col */
  .page-hero-inner { grid-template-columns:1fr }
  .srv-hero-inner  { grid-template-columns:1fr }

  /* Footer */
  .footer-grid { grid-template-columns:1fr 1fr }
}

/* ── PRACTICE AREAS: filter scroll on small screens ── */
@media (max-width:640px) {
  .pa-filter {
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding-bottom:8px;
    gap:8px;
  }
  .pa-filter::-webkit-scrollbar { height:0 }
  .pa-tab { flex-shrink:0; scroll-snap-align:start }
}

/* ── NAV LOGO: ensure visible at all widths ── */
@media (max-width:380px) {
  .logo { width:auto }
  .logo-text .logo-name { font-size:16px }
}

/* ── IMAGES: ensure they don't overflow ── */
img, video, iframe { max-width:100%; height:auto }
.map-inner iframe { height:auto; min-height:260px }

/* ── TICKER: slightly slower on mobile for readability ── */
@media (max-width:640px) {
  .ticker-track { animation-duration:24s }
  .ticker-item  { padding:0 18px; font-size:9.5px; letter-spacing:1.2px }
}

/* ── CONTACT HERO inner: single col already done; add padding fix ── */
@media (max-width:640px) {
  .contact-hero-inner { padding:0 20px }
}

/* ── HERO PANEL: hidden on mobile already, keep ── */
@media (max-width:1024px) { .hero-panel { display:none } }

/* ── CTA BAND buttons stack on mobile ── */
@media (max-width:480px) {
  .cta-band .btn-cta-light { width:100%; justify-content:center }
}

/* ── PROCESS connector line: hide on mobile ── */
@media (max-width:640px) {
  .process-steps::before { display:none }
}

/* ── FAQ: full width on mobile ── */
@media (max-width:640px) {
  .faq-layout { grid-template-columns:1fr; gap:36px }
  .faq-aside { display:none }
}

/* ── STATS ROW inside about hero: wrap gracefully ── */
@media (max-width:480px) {
  .hero-stats { display:grid; grid-template-columns:1fr 1fr; gap:16px }
}

/* ── CONTACT DETAIL items: reduce horizontal padding ── */
@media (max-width:480px) {
  .contact-detail-list { gap:10px }
}

/* ── HERO EYEBROW: smaller text on mobile ── */
@media (max-width:480px) {
  .hero-eyebrow,
  .hero-eyebrow-about,
  .eyebrow { font-size:9px; padding:5px 12px; letter-spacing:1.5px }
  .contact-eyebrow { font-size:9px; padding:5px 12px }
}

/* ── FOOTER for about / contact / services pages ── */
@media (max-width:768px) {
  .footer-inner { grid-template-columns:1fr; gap:28px }
  .footer-links { flex-wrap:wrap; gap:24px }
}
@media (max-width:480px) {
  .footer-inner { grid-template-columns:1fr }
  .footer-links { flex-direction:column; gap:20px }
}

/* ── PRICING GRID: 3 → 1 col at 768 ── */
@media (max-width:768px) {
  .pricing-grid { grid-template-columns:1fr; max-width:480px; margin:0 auto }
}

/* ── NRI CARD ── */
@media (max-width:480px) {
  .nri-card { padding:24px 18px }
  .nri-step { padding:12px 14px }
  .nri-step-text { font-size:12.5px }
}

/* ── REVIEW CARD: reduce padding ── */
@media (max-width:480px) {
  .review-card { padding:20px 18px }
  .review-card::before { font-size:80px }
}

/* ── PANEL FOOTER country tags: wrap nicely ── */
@media (max-width:480px) {
  .country-tags { gap:4px }
  .ctag { font-size:10px; padding:3px 9px }
}

/* ── STAT CELLS: ensure readable ── */
@media (max-width:480px) {
  .stat-cell { padding:18px 14px }
  .stat-num  { font-size:26px }
}

/* ── WHY FEAT: readable on very small screens ── */
@media (max-width:380px) {
  .why-feat { flex-direction:column; gap:10px }
  .why-feat-icon { width:36px; height:36px }
}

/* ── CASE CARD top area ── */
@media (max-width:480px) {
  .case-top { min-height:110px; padding:22px 20px }
  .case-body { padding:18px 20px }
}

/* ── SUBPAGE PANEL: 100% vw on phone ── */
@media (max-width:640px) {
  .subpage-panel { width:100vw; max-width:100vw }
  .subpage-header { padding:18px 16px 14px; position:sticky; top:0; z-index:10 }
  .subpage-body { padding:16px }
  .subpage-close { top:14px; right:14px }
}

/* ── LOGO STRIP ── */
@media (max-width:640px) {
  .logos-sec { padding:40px 0 }
}

/* ── SECTION PADDING: tighten on mobile ── */
@media (max-width:640px) {
  .services-sec,
  .why-sec,
  .cases-sec,
  .process-sec,
  .nri-sec,
  .reviews-sec,
  .pricing-sec { padding:64px 0 }
  .contact-sec { padding:64px 0 }
  .lead-form   { padding:56px 0 }
}
@media (max-width:480px) {
  .services-sec,
  .why-sec,
  .cases-sec,
  .process-sec,
  .nri-sec,
  .reviews-sec,
  .pricing-sec { padding:52px 0 }
  .contact-sec { padding:52px 0 }
  .lead-form   { padding:48px 0 }
}

/* ═══════════════════════════════════════
   ENHANCED MOBILE RESPONSIVENESS ADDITIONS
═══════════════════════════════════════ */

/* ── HERO INNER: always single col on mobile ── */
@media (max-width:1024px) {
  .hero-inner { grid-template-columns: 1fr !important; max-width: 600px; margin: 0 auto }
  .hero-title { font-size: clamp(38px, 8vw, 64px) }
  .hero-eyebrow, .hero-eyebrow-about { font-size: 10px }
  .hero-form-card { margin-bottom: 20px }
}

/* ── NAV: ensure ham shown and nav-links hidden below 1024 ── */
@media (max-width:1024px) {
  .ham { display: flex !important }
  .nav-links { display: none !important }
  .btn-nav-ghost { display: none !important }
  .nav-inner { padding: 0 24px }
}

/* ── NAV MOBILE: compact, balanced layout ── */
@media (max-width:768px) {
  .nav-inner {
    height: 64px;
    padding: 0 16px;
    gap: 10px;
  }
  /* Compact CTA pill — not a full-height button */
  .btn-nav-cta {
    min-height: unset !important;
    padding: 8px 16px !important;
    font-size: 12.5px !important;
    gap: 5px;
    border-radius: 8px;
    white-space: nowrap;
    box-shadow: 0 2px 10px var(--em-glow);
    line-height: 1.3;
  }
  .btn-nav-cta svg { display: none; }
  /* Hamburger */
  .ham {
    width: 38px;
    height: 38px;
    padding: 8px;
    flex-shrink: 0;
  }
  /* Logo: bigger and clearer */
  .logo-img { height: 42px; }
}

@media (max-width:480px) {
  .nav-inner {
    height: 60px;
    padding: 0 14px;
    gap: 8px;
  }
  .btn-nav-cta {
    padding: 7px 13px !important;
    font-size: 12px !important;
    border-radius: 7px;
  }
  .logo-img { height: 38px; }
}

@media (max-width:360px) {
  .nav-inner { height: 56px; padding: 0 12px; }
  .btn-nav-cta { padding: 6px 11px !important; font-size: 11px !important; }
  .logo-img { height: 32px; }
}

/* ── CONTAINER: responsive padding ── */
@media (max-width:768px) {
  .container { padding: 0 20px }
}
@media (max-width:480px) {
  .container { padding: 0 16px }
  .nav-inner { padding: 0 16px }
}

/* ── HERO FORM ROW: stack on mobile ── */
@media (max-width:640px) {
  .hero-form-row { grid-template-columns: 1fr }
  .hero-form-top { padding: 18px 18px }
  .form-top-title { font-size: 18px }
  .hero-form-body { padding: 16px 18px; gap: 9px }
}

/* ── STATS PANEL: collapse on mobile ── */
@media (max-width:640px) {
  .hero-panel { display: none }
  .stats-grid { grid-template-columns: 1fr 1fr }
}

/* ── WHY INNER: single col below 768 ── */
@media (max-width:768px) {
  .why-inner { grid-template-columns: 1fr !important; gap: 36px }
}

/* ── SECTION HEADS: tighter on mobile ── */
@media (max-width:640px) {
  .sec-head { margin-bottom: 40px }
  .sec-sub { font-size: 14px }
}
@media (max-width:480px) {
  .sec-head { margin-bottom: 32px }
}

/* ── MOBILE NAV: full width CTA ── */
@media (max-width:480px) {
  .mob-nav-cta .btn-nav-cta { width: 100%; justify-content: center; text-align: center }
}

/* ── LOGO: responsive sizing ── */
@media (max-width:480px) {
  .logo { width: auto; gap: 8px }
  .logo-mark { width: 36px; height: 36px; font-size: 18px; border-radius: 9px }
  .logo-name { font-size: 17px }
}
@media (max-width:360px) {
  .logo-name { font-size: 15px }
  .logo-sub { display: none }
}

/* ── HERO TRUST ROW: stack on very small ── */
@media (max-width:400px) {
  .hero-trust { flex-direction: column; align-items: flex-start; gap: 8px }
}

/* ── FORM ROWS: always single col on mobile ── */
@media (max-width:600px) {
  .form-row,
  .hero-form-row,
  .cta-form-row,
  .sp-form-row { grid-template-columns: 1fr !important }
}

/* ── MOB NAV SCROLL FIX ── */
.mob-nav { -webkit-overflow-scrolling: touch; overscroll-behavior: contain }

/* ── TOUCH CALLOUT ── */
@media (hover: none) and (pointer: coarse) {
  .srv-card:hover { transform: none; box-shadow: none }
  .case-card:hover { transform: none; box-shadow: none }
  .why-feat:hover { transform: none; box-shadow: none }
  .why-stat-sm:hover { transform: none }
}

/* ── IPHONE NOTCH / SAFE AREAS ── */
@supports (padding: max(0px)) {
  .nav {
    padding-left: max(0px, env(safe-area-inset-left));
    padding-right: max(0px, env(safe-area-inset-right));
  }
  .hero { padding-left: max(36px, calc(env(safe-area-inset-left) + 16px)) }
  @media (max-width:640px) {
    .hero { padding-left: max(20px, calc(env(safe-area-inset-left) + 16px)) }
  }
}

/* ── IMAGES: prevent overflow ── */
img, video, iframe, svg { max-width: 100%; height: auto }

/* ── FOOTER NAV LINKS: wrap on mobile ── */
@media (max-width:480px) {
  .footer-links { flex-wrap: wrap; gap: 16px }
  .footer-col { min-width: 0 }
}


/* ═══════════════════════════════════════
   OFFICES SECTION (contact.html)
═══════════════════════════════════════ */
.offices-sec { padding: 80px 0 60px; background: var(--stone); }
.offices-header { text-align: center; margin-bottom: 48px; }
.offices-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 600;
  color: var(--em);
  margin: 12px 0 14px;
  line-height: 1.15;
}
.offices-title em { font-style: italic; color: var(--gold); }
.offices-sub {
  font-size: .97rem;
  color: var(--muted);
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.7;
}
.offices-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.office-card {
  background: var(--white);
  border: 1px solid var(--em-border);
  border-radius: var(--r);
  padding: 28px 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: box-shadow var(--t), transform var(--t);
}
.office-card:hover {
  box-shadow: 0 8px 32px var(--em-glow);
  transform: translateY(-3px);
}
.office-city-tag {
  display: inline-block;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: var(--gold);
  color: var(--white);
  padding: 3px 10px;
  border-radius: 20px;
  width: fit-content;
}
.office-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--em);
  line-height: 1.2;
  margin-top: 4px;
}
.office-addr {
  font-size: .86rem;
  color: var(--muted);
  line-height: 1.65;
  flex: 1;
}
.office-map-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: .8rem;
  font-weight: 500;
  color: var(--gold);
  text-decoration: none;
  margin-top: 6px;
  border-bottom: 1px solid transparent;
  transition: border-color var(--t);
}
.office-map-link:hover { border-color: var(--gold); }

@media (max-width: 600px) {
  .offices-sec { padding: 56px 0 40px; }
  .offices-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════
   MAP TABS SECTION (contact.html)
═══════════════════════════════════════ */
.map-sec-header { text-align: center; margin-bottom: 28px; }

.map-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-bottom: 20px;
}
.map-tab {
  padding: 8px 20px;
  border-radius: 24px;
  border: 1.5px solid var(--em-border);
  background: var(--white);
  color: var(--em);
  font-size: .82rem;
  font-weight: 500;
  cursor: pointer;
  transition: background var(--t), color var(--t), border-color var(--t), transform .15s;
  font-family: 'DM Sans', sans-serif;
  letter-spacing: .01em;
}
.map-tab:hover {
  border-color: var(--gold);
  color: var(--gold);
  transform: translateY(-1px);
}
.map-tab.active {
  background: var(--em);
  color: var(--white);
  border-color: var(--em);
}
.map-label-pill {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--em);
  color: var(--white);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  padding: 6px 16px;
  border-radius: 20px;
  z-index: 10;
  pointer-events: none;
  white-space: nowrap;
  box-shadow: 0 2px 12px rgba(0,0,0,.18);
  transition: opacity .2s;
}


/* ═══════════════════════════════════════
   MOBILE TYPOGRAPHY — PUNCH UP CARDS
   Bolder, more readable on small screens
═══════════════════════════════════════ */
@media (max-width: 768px) {

  /* ── Service cards ── */
  .srv-name {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--ink);
  }
  .srv-desc {
    font-size: 14.5px;
    color: var(--ink2);
    line-height: 1.72;
  }
  .srv-num {
    font-size: 11px;
    letter-spacing: 3px;
    color: var(--gold);
    font-weight: 700;
  }
  .srv-link {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--em);
  }
  .srv-card {
    padding: 28px 22px;
    border-radius: 18px;
    border-color: var(--em-border);
  }
  /* Active top-bar always visible on mobile (no hover) */
  .srv-card::before {
    transform: scaleX(1);
  }
  .srv-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    margin-bottom: 16px;
  }

  /* ── Section headings ── */
  .sec-title {
    font-size: clamp(32px, 8vw, 44px);
    letter-spacing: -.025em;
    line-height: 1.05;
  }
  .sec-sub {
    font-size: 15px;
    color: var(--ink2);
    line-height: 1.75;
  }

  /* ── General body text ── */
  p {
    color: var(--ink2);
  }

  /* ── Featured (dark) card desc: brighter ── */
  .srv-featured .srv-desc {
    color: rgba(255,255,255,.80);
  }
  .srv-featured .srv-name {
    color: #fff;
  }
}

@media (max-width: 480px) {
  .srv-name  { font-size: 22px; }
  .srv-desc  { font-size: 14px; }
  .srv-card  { padding: 24px 18px; border-radius: 16px; }
}
