/* ============================================================
   JORGE FERNÁNDEZ — ABOGADO PENALISTA
   Global Design System · Black & Gold · v3.0
   Max container: 1180px · Full responsive
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,400;1,600&family=Montserrat:wght@300;400;500;600;700&display=swap');

/* ── TOKENS ──────────────────────────────────────────────── */
:root{
  --bk:#0A0A0A; --bk2:#111111; --bk3:#1A1A1A;
  --gd:#C9A84C; --gd2:#E8C96A; --gd3:#A6893A;
  --gdb:rgba(201,168,76,.22); --gdb2:rgba(201,168,76,.1);
  --wh:#FFFFFF; --ow:#F7F4EF; --gr:#4A4A4A; --grl:#8A8A8A;
  --ease:cubic-bezier(.4,0,.2,1);
  --radius:3px;
  --container:1180px;
  --gap:40px;
}

/* ── RESET ───────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',sans-serif;color:var(--gr);background:var(--wh);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
::selection{background:var(--gd);color:var(--bk)}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bk)}
::-webkit-scrollbar-thumb{background:var(--gd);border-radius:2px}

/* ── TYPOGRAPHY ──────────────────────────────────────────── */
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;line-height:1.12;letter-spacing:-.01em;color:var(--bk)}
h1{font-size:clamp(2.4rem,6vw,5.5rem);font-weight:700}
h2{font-size:clamp(2rem,4vw,3.6rem);font-weight:700}
h3{font-size:clamp(1.4rem,2.5vw,2.2rem);font-weight:600}
h4{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600}
p{line-height:1.85;font-size:.93rem}

/* ── CONTAINER — 1180px max ──────────────────────────────── */
.jf-container{
  max-width:var(--container);
  width:100%;
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--gap);
  padding-right:var(--gap);
}
.jf-container--sm{
  max-width:860px;
  width:100%;
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--gap);
  padding-right:var(--gap);
}

/* ── SECTION SPACING ─────────────────────────────────────── */
.jf-section{padding:100px 0}
.jf-section--dark{background:var(--bk)}
.jf-section--dark2{background:var(--bk2)}
.jf-section--cream{background:var(--ow)}

/* ── EYEBROW / LABEL ─────────────────────────────────────── */
.jf-eyebrow{
  display:inline-block;
  font-family:'Montserrat',sans-serif;
  font-size:.65rem;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--gd);margin-bottom:14px;
}
.jf-eyebrow::before{content:'— ';opacity:.5}

/* ── GOLD LINE ───────────────────────────────────────────── */
.jf-line{display:block;width:44px;height:2px;background:linear-gradient(90deg,var(--gd),transparent);margin:16px 0 32px}
.jf-line--center{margin-left:auto;margin-right:auto}

/* ── SECTION HEADER ──────────────────────────────────────── */
.jf-sh{margin-bottom:60px}
.jf-sh--center{text-align:center}
.jf-sh--center .jf-line{margin-left:auto;margin-right:auto}
.jf-sh h2{margin-bottom:14px}
.jf-sh p{font-size:.93rem;color:var(--grl);line-height:1.85;max-width:540px}
.jf-sh--center p{margin:0 auto}

/* ── BUTTONS ─────────────────────────────────────────────── */
.jf-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Montserrat',sans-serif;
  font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  padding:14px 36px;border:1px solid var(--gd);border-radius:var(--radius);
  transition:all .32s var(--ease);position:relative;overflow:hidden;cursor:pointer;
  white-space:nowrap;
}
.jf-btn span{position:relative;z-index:1;transition:color .32s var(--ease)}
.jf-btn::before{
  content:'';position:absolute;inset:0;
  transform:scaleX(0);transform-origin:right;
  transition:transform .32s var(--ease);z-index:0;
}
.jf-btn:hover::before{transform:scaleX(1);transform-origin:left}
/* Gold solid */
.jf-btn--gold{background:var(--gd);color:var(--bk)}
.jf-btn--gold span{color:var(--bk)}
.jf-btn--gold::before{background:var(--bk)}
.jf-btn--gold:hover span{color:var(--gd)}
/* Outline on dark */
.jf-btn--outline{background:transparent;border-color:var(--gd)}
.jf-btn--outline span{color:var(--gd)}
.jf-btn--outline::before{background:var(--gd)}
.jf-btn--outline:hover span{color:var(--bk)}
/* Outline on light */
.jf-btn--outline-dark{background:transparent;border-color:rgba(0,0,0,.2)}
.jf-btn--outline-dark span{color:var(--bk)}
.jf-btn--outline-dark::before{background:var(--bk)}
.jf-btn--outline-dark:hover span{color:var(--wh)}
/* Ghost on dark bg */
.jf-btn--ghost{background:transparent;border-color:rgba(255,255,255,.25)}
.jf-btn--ghost span{color:rgba(255,255,255,.8)}
.jf-btn--ghost::before{background:var(--wh)}
.jf-btn--ghost:hover span{color:var(--bk)}

.jf-btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* ── GRID ────────────────────────────────────────────────── */
.jf-grid{display:grid;gap:22px}
.jf-grid--2{grid-template-columns:repeat(2,1fr)}
.jf-grid--3{grid-template-columns:repeat(3,1fr)}
.jf-grid--4{grid-template-columns:repeat(4,1fr)}

/* ── SPLIT ───────────────────────────────────────────────── */
.jf-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}

/* ── STAT ────────────────────────────────────────────────── */
.jf-stat{text-align:center;padding:36px 20px;border-right:1px solid var(--gdb)}
.jf-stat:last-child{border-right:none}
.jf-stat__n{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,4vw,4.4rem);font-weight:700;color:var(--gd);line-height:1}
.jf-stat__l{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--grl);margin-top:8px}

/* ── CARDS ───────────────────────────────────────────────── */
.jf-card{
  background:var(--wh);border:1px solid rgba(0,0,0,.07);
  border-radius:var(--radius);padding:36px 30px;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
  position:relative;overflow:hidden;
}
.jf-card::after{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--gd);transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease);
}
.jf-card:hover::after{transform:scaleX(1)}
.jf-card:hover{transform:translateY(-6px);box-shadow:0 20px 56px rgba(0,0,0,.1);border-color:var(--gdb)}
.jf-card__icon{font-size:26px;color:var(--gd);margin-bottom:18px}
.jf-card__title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:var(--bk);margin-bottom:10px;transition:color .25s}
.jf-card:hover .jf-card__title{color:var(--gd)}
.jf-card__text{font-size:.84rem;line-height:1.82;color:var(--grl)}
.jf-card__link{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gd);margin-top:18px;transition:gap .25s}
.jf-card:hover .jf-card__link{gap:10px}

/* Dark variant */
.jf-card--dark{background:var(--bk2);border-color:var(--gdb)}
.jf-card--dark .jf-card__title{color:var(--wh)}
.jf-card--dark .jf-card__text{color:rgba(255,255,255,.5)}
.jf-card--dark:hover{box-shadow:0 20px 56px rgba(201,168,76,.12);border-color:rgba(201,168,76,.4)}

/* ── TESTIMONIAL ─────────────────────────────────────────── */
.jf-testi{
  background:var(--wh);border-left:3px solid var(--gd);
  border-radius:var(--radius);padding:36px 30px;
  box-shadow:0 4px 32px rgba(0,0,0,.06);position:relative;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.jf-testi:hover{transform:translateY(-5px);box-shadow:0 12px 48px rgba(0,0,0,.1)}
.jf-testi__q{font-size:4rem;font-family:'Cormorant Garamond',serif;color:var(--gd);opacity:.15;position:absolute;top:10px;right:20px;line-height:1}
.jf-testi__text{font-style:italic;font-size:.88rem;line-height:1.9;color:var(--gr);margin-bottom:20px}
.jf-testi__name{font-weight:700;font-size:.8rem;color:var(--bk)}
.jf-testi__role{font-size:.68rem;color:var(--gd);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}

/* ── BADGE ───────────────────────────────────────────────── */
.jf-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(201,168,76,.1);border:1px solid var(--gdb);
  border-radius:var(--radius);padding:6px 16px;
  font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gd);
}

/* ── ICON LIST ───────────────────────────────────────────── */
.jf-list{display:flex;flex-direction:column;gap:12px}
.jf-list li{display:flex;align-items:flex-start;gap:12px;font-size:.88rem;color:var(--gr);line-height:1.65}
.jf-list li::before{content:'';display:block;width:5px;height:5px;background:var(--gd);border-radius:50%;margin-top:8px;flex-shrink:0}

/* ── PAGE HERO ───────────────────────────────────────────── */
.jf-hero-inner{background:var(--bk);padding:120px 0 80px;position:relative;overflow:hidden}
.jf-hero-inner::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gdb),transparent)}
.jf-hero-inner .jf-eyebrow{color:var(--gd)}
.jf-hero-inner h1{color:var(--wh);max-width:760px}
.jf-hero-inner p{color:rgba(255,255,255,.56);max-width:580px;margin-top:18px;font-size:.96rem;line-height:1.85}

/* ── INFO ITEM (contact) ─────────────────────────────────── */
.jf-info{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.07)}
.jf-info:last-child{border-bottom:none}
.jf-info__icon{width:36px;height:36px;background:var(--gdb2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.jf-info__icon i{color:var(--gd);font-size:13px}
.jf-info__label{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grl);margin-bottom:3px}
.jf-info__value{font-size:.86rem;color:var(--gr);line-height:1.6}
.jf-info__value a{color:var(--gr);transition:color .25s}
.jf-info__value a:hover{color:var(--gd)}

/* ── FORM ────────────────────────────────────────────────── */
.jf-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.jf-field{display:flex;flex-direction:column;gap:6px}
.jf-field.full{grid-column:1/-1}
.jf-field label{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gr)}
.jf-field input,.jf-field textarea,.jf-field select{
  font-family:'Montserrat',sans-serif;font-size:.87rem;color:var(--bk);
  background:#fafafa;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius);
  padding:13px 15px;transition:border-color .25s,box-shadow .25s,background .25s;
  outline:none;-webkit-appearance:none;width:100%;
}
.jf-field input:focus,.jf-field textarea:focus,.jf-field select:focus{
  border-color:var(--gd);box-shadow:0 0 0 3px rgba(201,168,76,.11);background:var(--wh);
}
.jf-field textarea{resize:vertical;min-height:110px}
.jf-form__cta{grid-column:1/-1;margin-top:4px}
.jf-form__cta button{
  width:100%;background:var(--gd);color:var(--bk);border:none;
  font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  padding:16px;border-radius:var(--radius);cursor:pointer;transition:all .3s;
}
.jf-form__cta button:hover{background:var(--bk);color:var(--gd)}
.jf-form__ok{
  display:none;grid-column:1/-1;
  background:rgba(201,168,76,.08);border:1px solid var(--gdb);
  border-radius:var(--radius);padding:14px 18px;
  font-size:.86rem;color:var(--gd);font-weight:600;text-align:center;
}

/* ── CRIME CARD ──────────────────────────────────────────── */
.jf-crime{
  background:var(--wh);border:1px solid rgba(0,0,0,.08);
  border-radius:var(--radius);padding:32px 28px;
  transition:all .3s var(--ease);position:relative;overflow:hidden;
}
.jf-crime::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gd);transform:scaleY(0);transform-origin:bottom;transition:transform .4s var(--ease)}
.jf-crime:hover::before{transform:scaleY(1)}
.jf-crime:hover{box-shadow:0 16px 48px rgba(0,0,0,.1);transform:translateY(-4px)}
.jf-crime__n{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:700;color:rgba(201,168,76,.18);line-height:1;margin-bottom:12px}
.jf-crime__title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:var(--bk);margin-bottom:8px;transition:color .25s}
.jf-crime:hover .jf-crime__title{color:var(--gd)}
.jf-crime__text{font-size:.83rem;line-height:1.8;color:var(--grl);margin-bottom:14px}
.jf-crime__tag{display:inline-block;background:var(--gdb2);border:1px solid var(--gdb);border-radius:2px;padding:3px 10px;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gd)}

/* ── FAQ ─────────────────────────────────────────────────── */
.jf-faq{border-bottom:1px solid rgba(0,0,0,.08)}
.jf-faq:first-child{border-top:1px solid rgba(0,0,0,.08)}
.jf-faq__btn{width:100%;background:none;border:none;text-align:left;padding:22px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:600;color:var(--bk);transition:color .25s}
.jf-faq__btn:hover{color:var(--gd)}
.jf-faq__btn i{font-size:.75rem;color:var(--gd);transition:transform .3s;flex-shrink:0}
.jf-faq__btn[aria-expanded="true"] i{transform:rotate(180deg)}
.jf-faq__body{max-height:0;overflow:hidden;transition:max-height .4s ease}
.jf-faq__body p{padding:0 0 22px;font-size:.88rem;line-height:1.85;color:var(--grl)}

/* ── SOCIAL ──────────────────────────────────────────────── */
.jf-social{display:flex;gap:10px}
.jf-social a{width:38px;height:38px;border:1px solid var(--gdb);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:13px;transition:all .3s}
.jf-social a:hover{background:var(--gd);border-color:var(--gd);color:var(--bk);transform:translateY(-3px)}

/* ── CITY PILLS ──────────────────────────────────────────── */
.jf-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.jf-pill{background:var(--gdb2);border:1px solid var(--gdb);border-radius:2px;padding:5px 14px;font-size:.7rem;font-weight:600;color:var(--gd);letter-spacing:.06em}

/* ── REVEAL ──────────────────────────────────────────────── */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
[data-reveal].revealed{opacity:1;transform:none}
[data-reveal][data-delay="1"]{transition-delay:.1s}
[data-reveal][data-delay="2"]{transition-delay:.2s}
[data-reveal][data-delay="3"]{transition-delay:.3s}
[data-reveal][data-delay="4"]{transition-delay:.4s}


/* ── HEADER: solo fix overflow para que el submenu no se corte ── */
.elementor-location-header,.elementor-location-header .e-con,.elementor-location-header .elementor-widget-wrap,.elementor-location-header .elementor-widget-nav-menu{overflow:visible !important}
.elementor-nav-menu--dropdown.elementor-nav-menu__container{z-index:9999 !important}

/* ── ELEMENTOR FOOTER OVERRIDES ──────────────────────────── */
.elementor-location-footer{background:var(--bk) !important;border-top:1px solid var(--gdb) !important}
.elementor-location-footer .elementor-heading-title{
  font-family:'Montserrat',sans-serif !important;font-size:.65rem !important;
  font-weight:700 !important;letter-spacing:.2em !important;text-transform:uppercase !important;
  color:var(--wh) !important;padding-bottom:12px !important;
  border-bottom:1px solid var(--gdb) !important;margin-bottom:22px !important;
}
.elementor-location-footer p,.elementor-location-footer li,.elementor-location-footer span{font-family:'Montserrat',sans-serif !important;color:rgba(255,255,255,.5) !important;font-size:.82rem !important;line-height:1.85 !important}
.elementor-location-footer a{color:rgba(255,255,255,.5) !important;transition:color .25s !important}
.elementor-location-footer a:hover{color:var(--gd) !important}
.elementor-location-footer .elementor-nav-menu .elementor-item{padding:6px 0 !important;color:rgba(255,255,255,.5) !important;font-size:.82rem !important;border-bottom:1px solid rgba(255,255,255,.04) !important;transition:color .25s,padding-left .25s !important}
.elementor-location-footer .elementor-nav-menu .elementor-item:hover{color:var(--gd) !important;padding-left:8px !important}
.elementor-location-footer .elementor-icon-list-icon i{color:var(--gd) !important;font-size:12px !important}
.elementor-location-footer .elementor-icon-list-text,.elementor-location-footer .elementor-icon-list-text a{color:rgba(255,255,255,.5) !important;font-size:.82rem !important;transition:color .25s !important}
.elementor-location-footer .elementor-icon-list-text a:hover{color:var(--gd) !important}
.elementor-location-footer .elementor-social-icon{background:rgba(255,255,255,.06) !important;border:1px solid var(--gdb) !important;border-radius:50% !important;width:36px !important;height:36px !important;transition:all .3s !important}
.elementor-location-footer .elementor-social-icon:hover{background:var(--gd) !important;border-color:var(--gd) !important;transform:translateY(-3px) !important}
.elementor-location-footer .elementor-social-icon i{color:rgba(255,255,255,.7) !important}
.elementor-location-footer .elementor-social-icon:hover i{color:var(--bk) !important}

/* ── ══════════════════════════════════════════════════════ ── */
/*    RESPONSIVE                                               */
/* ── ══════════════════════════════════════════════════════ ── */

/* Tablet landscape → 1024px */
@media(max-width:1024px){
  :root{--gap:32px;--container:100%}
  h1{font-size:clamp(2.2rem,5vw,4rem)}
  h2{font-size:clamp(1.8rem,4vw,3rem)}
  .jf-split{gap:48px}
  .jf-grid--4{grid-template-columns:repeat(2,1fr)}
  .jf-section{padding:80px 0}
}

/* Tablet portrait → 768px */
@media(max-width:768px){
  :root{--gap:24px}
  h1{font-size:2.4rem}
  h2{font-size:2rem}
  h3{font-size:1.5rem}
  .jf-section{padding:60px 0}
  .jf-split{grid-template-columns:1fr;gap:36px}
  .jf-grid--3{grid-template-columns:repeat(2,1fr)}
  .jf-grid--2{grid-template-columns:1fr}
  .jf-stat{border-right:none;border-bottom:1px solid var(--gdb);padding:24px 16px}
  .jf-stat:last-child{border-bottom:none}
  .jf-sh{margin-bottom:40px}
  .jf-btn{padding:13px 28px;font-size:.68rem}
  .jf-btn-row{flex-direction:column;align-items:flex-start}
  .jf-btn-row .jf-btn{width:100%;justify-content:center}
  .jf-testi{padding:28px 22px}
  .jf-card{padding:28px 22px}
  .jf-crime{padding:26px 20px}
  .jf-form{grid-template-columns:1fr}
  .jf-field.full{grid-column:1}
  .jf-form__cta{grid-column:1}
  .jf-form__ok{grid-column:1}
}

/* Mobile → 480px */
@media(max-width:480px){
  :root{--gap:20px}
  h1{font-size:2rem}
  h2{font-size:1.7rem}
  .jf-grid--3,.jf-grid--4{grid-template-columns:1fr}
  .jf-btn{width:100%;justify-content:center}
  .jf-hero-inner{padding:80px 0 56px}
  .jf-stat__n{font-size:2.8rem}
}

/* Extra small → 360px */
@media(max-width:360px){
  :root{--gap:16px}
  h1{font-size:1.8rem}
}

/* ── LEGACY CLASS ALIASES (templates use non-jf names) ───── */
.container{max-width:var(--container);width:100%;margin-left:auto;margin-right:auto;padding-left:var(--gap);padding-right:var(--gap)}
.container--sm{max-width:860px;width:100%;margin-left:auto;margin-right:auto;padding-left:var(--gap);padding-right:var(--gap)}
.section{padding:100px 0}
.section--dark{background:var(--bk)}
.section--dark2{background:var(--bk2)}
.section--cream{background:var(--ow)}
.eyebrow{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gd);margin-bottom:14px}
.eyebrow::before{content:'— ';opacity:.5}
.gold-line{display:block;width:44px;height:2px;background:linear-gradient(90deg,var(--gd),transparent);margin:16px 0 32px}
.gold-line--center{margin-left:auto;margin-right:auto}
.sh{margin-bottom:60px}
.sh--center{text-align:center}
.sh--center .gold-line{margin-left:auto;margin-right:auto}
.sh h2{margin-bottom:14px}
.sh p{font-size:.93rem;color:var(--grl);line-height:1.85;max-width:540px}
.sh--center p{margin:0 auto}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:14px 36px;border:1px solid var(--gd);border-radius:var(--radius);transition:all .32s var(--ease);position:relative;overflow:hidden;cursor:pointer;white-space:nowrap}
.btn span{position:relative;z-index:1;transition:color .32s var(--ease)}
.btn::before{content:'';position:absolute;inset:0;transform:scaleX(0);transform-origin:right;transition:transform .32s var(--ease);z-index:0}
.btn:hover::before{transform:scaleX(1);transform-origin:left}
.btn--gold{background:var(--gd);color:var(--bk)}
.btn--gold span{color:var(--bk)}
.btn--gold::before{background:var(--bk)}
.btn--gold:hover span{color:var(--gd)}
.btn--outline{background:transparent;border-color:var(--gd)}
.btn--outline span{color:var(--gd)}
.btn--outline::before{background:var(--gd)}
.btn--outline:hover span{color:var(--bk)}
.btn--outline-wh{background:transparent;border-color:rgba(255,255,255,.35)}
.btn--outline-wh span{color:rgba(255,255,255,.85)}
.btn--outline-wh::before{background:var(--wh)}
.btn--outline-wh:hover span{color:var(--bk)}
.btn-group{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.grid{display:grid;gap:22px}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split--rev>*:first-child{order:2}
.split--rev>*:last-child{order:1}
.stat{text-align:center;padding:36px 20px;border-right:1px solid var(--gdb)}
.stat:last-child{border-right:none}
.stat__number{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,4vw,4.4rem);font-weight:700;color:var(--gd);line-height:1}
.stat__label{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--grl);margin-top:8px}
.testimonial{background:var(--wh);border-left:3px solid var(--gd);border-radius:var(--radius);padding:36px 30px;box-shadow:0 4px 32px rgba(0,0,0,.06);position:relative;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.testimonial:hover{transform:translateY(-5px);box-shadow:0 12px 48px rgba(0,0,0,.1)}
.testimonial__quote{font-size:4rem;font-family:'Cormorant Garamond',serif;color:var(--gd);opacity:.15;position:absolute;top:10px;right:20px;line-height:1}
.testimonial__text{font-style:italic;font-size:.88rem;line-height:1.9;color:var(--gr);margin-bottom:20px}
.testimonial__author{font-weight:700;font-size:.8rem;color:var(--bk)}
.testimonial__role{font-size:.68rem;color:var(--gd);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.badge{display:inline-flex;align-items:center;gap:8px;background:rgba(201,168,76,.1);border:1px solid var(--gdb);border-radius:var(--radius);padding:6px 16px;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gd)}
.icon-list{display:flex;flex-direction:column;gap:10px}
.icon-list li{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--gr);line-height:1.65}
.icon-list li::before{content:'';display:block;width:5px;height:5px;background:var(--gd);border-radius:50%;margin-top:8px;flex-shrink:0}
.page-hero{background:var(--bk);padding:120px 0 80px;position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gdb),transparent)}
.page-hero .eyebrow{color:var(--gd)}
.page-hero h1{color:var(--wh);max-width:760px}
.page-hero p{color:rgba(255,255,255,.56);max-width:580px;margin-top:18px;font-size:.96rem;line-height:1.85}
.info-item{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.07)}
.info-item:last-child{border-bottom:none}
.info-item__icon{width:36px;height:36px;background:var(--gdb2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.info-item__icon i{color:var(--gd);font-size:13px}
.info-item__label{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grl);margin-bottom:3px}
.info-item__value{font-size:.86rem;color:var(--gr);line-height:1.6}
.info-item__value a{color:var(--gr);transition:color .25s}
.info-item__value a:hover{color:var(--gd)}

/* Responsive legacy aliases */
@media(max-width:1024px){
  .section{padding:80px 0}
  .grid--4{grid-template-columns:repeat(2,1fr)}
  .split{gap:48px}
}
@media(max-width:768px){
  .section{padding:60px 0}
  .split{grid-template-columns:1fr;gap:36px}
  .split--rev>*:first-child{order:unset}
  .split--rev>*:last-child{order:unset}
  .grid--3{grid-template-columns:repeat(2,1fr)}
  .grid--2{grid-template-columns:1fr}
  .stat{border-right:none;border-bottom:1px solid var(--gdb);padding:24px 16px}
  .stat:last-child{border-bottom:none}
  .sh{margin-bottom:40px}
  .btn{padding:13px 28px;font-size:.68rem}
  .btn-group{flex-direction:column;align-items:flex-start}
  .btn-group .btn{width:100%;justify-content:center}
  .testimonial{padding:28px 22px}
}
@media(max-width:480px){
  .grid--3,.grid--4{grid-template-columns:1fr}
  .btn{width:100%;justify-content:center}
  .page-hero{padding:80px 0 56px}
}
