/* =====================================================================
   CENTAURI CONSULTING LIMITED — Teal / Slate system
   Accent #00A6A6 · Titles #21333E · Body #606D75 · Dark #0F1622 · White
   Display: Bricolage Grotesque · Body: Inter
   ===================================================================== */

:root{
  --teal:      #00A6A6;
  --teal-600:  #068f8f;
  --teal-300:  #4fc7c7;
  --slate:     #21333E;
  --gray:      #606D75;
  --dark:      #0F1622;
  --dark-2:    #0b111b;
  --dark-panel:#141d2b;
  --white:     #ffffff;
  --off:       #f4f7f7;

  /* on-dark text */
  --d-title:   #f3f6f7;
  --d-body:    #97a4ad;

  --line-l:    rgba(33,51,62,.12);   /* hairline on light */
  --line-d:    rgba(255,255,255,.10); /* hairline on dark  */
  --teal-line: rgba(0,166,166,.28);

  --serif: "Bricolage Grotesque", "Inter", system-ui, sans-serif;
  --sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --ease:  cubic-bezier(.22,.61,.36,1);
  --ease-io: cubic-bezier(.65,.05,.36,1);

  --pad: clamp(1.25rem, 5vw, 6.5rem);
  --maxw: 1400px;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  background:var(--dark);
  color:var(--slate);
  font-family:var(--sans);
  line-height:1.6; letter-spacing:.01em;
  overflow-x:hidden; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
mark{ background:none; color:var(--teal); }
::selection{ background:var(--teal); color:#fff; }

/* ---------- SECTION SURFACES ---------- */
.section-light{ background:var(--white); color:var(--slate); position:relative; z-index:2; }
.section-dark{  background:var(--dark);  color:var(--d-body); position:relative; z-index:2; }
.section-light,.section-dark{ padding:clamp(3.75rem,6.5vw,6rem) var(--pad); }

.section-dark mark{ color:var(--teal-300); }

h1,h2,h3{ font-family:var(--serif); font-weight:500; letter-spacing:-.02em; line-height:1.02; }
h2{ font-size:clamp(2rem,5.2vw,4rem); }
.section-light h2{ color:var(--slate); }
.section-dark h2{ color:var(--d-title); }

.section__head{ max-width:var(--maxw); margin:0 auto clamp(2.4rem,4.5vw,3.6rem); }
.section__head--split{ display:flex; justify-content:space-between; align-items:flex-end; gap:2.5rem; flex-wrap:wrap; }
.section__note{ max-width:34ch; font-size:1.02rem; line-height:1.7; }
.section-dark .section__note{ color:var(--d-body); }

.eyebrow{
  font-size:.72rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--teal); font-weight:600; margin-bottom:1.3rem;
  display:flex; align-items:center; gap:.75rem;
}
.eyebrow::before{ content:""; width:26px; height:1px; background:var(--teal); }

/* ---------- BUTTONS ---------- */
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  padding:1.05rem 2.2rem; border-radius:8px; font-family:var(--sans);
  font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600;
  overflow:hidden; transition:transform .5s var(--ease), color .4s var(--ease), background .4s;
  will-change:transform; cursor:pointer; border:1px solid transparent;
}
.btn span{ position:relative; z-index:2; }
.btn--teal{ background:var(--teal); color:#fff; }
.btn--teal::after{ content:""; position:absolute; inset:0; z-index:1; background:var(--teal-600);
  transform:translateY(101%); transition:transform .5s var(--ease); }
.btn--teal:hover::after{ transform:translateY(0); }
.btn--ghost{ border-color:var(--line-d); color:var(--d-title); background:transparent; }
.btn--ghost::after{ content:""; position:absolute; inset:0; z-index:1; background:rgba(255,255,255,.06);
  transform:scale(0); transition:transform .5s var(--ease); }
.btn--ghost:hover{ border-color:var(--teal); }
.btn--ghost:hover::after{ transform:scale(1); }
.btn--wide{ width:100%; padding:1.2rem; }

/* ---------- STARFIELD (only shows on hero/dark via body bg) ---------- */
.starfield{ position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.85; }

/* ---------- WHATSAPP (right) ---------- */
.wa{
  position:fixed; right:clamp(1rem,2.5vw,2rem); bottom:clamp(1rem,2.5vw,2rem); z-index:450;
  display:inline-flex; align-items:center; gap:.6rem; height:56px; padding:0 20px;
  background:#25D366; color:#fff; border-radius:100px;
  box-shadow:0 12px 30px rgba(37,211,102,.34);
  transition:transform .3s var(--ease), box-shadow .3s;
}
.wa::before{ content:""; position:absolute; inset:0; border-radius:100px; background:#25D366;
  z-index:-1; animation:waPulse 2.6s ease-out infinite; }
@keyframes waPulse{ 0%{ transform:scale(1); opacity:.55; } 70%{ transform:scale(1.35); opacity:0; } 100%{ opacity:0; } }
.wa:hover{ transform:translateY(-2px); box-shadow:0 16px 38px rgba(37,211,102,.45); }
.wa svg{ width:26px; height:26px; flex:none; }
.wa__label{ font-size:.82rem; font-weight:600; letter-spacing:.02em; white-space:nowrap; }
@media(max-width:600px){ .wa{ width:56px; padding:0; justify-content:center; } .wa__label{ display:none; } }

/* ---------- BACK TO TOP (left) ---------- */
.totop{
  position:fixed; left:clamp(1rem,2.5vw,2rem); bottom:clamp(1rem,2.5vw,2rem); z-index:450;
  width:50px; height:50px; border-radius:50%; border:1px solid var(--teal);
  background:rgba(0,166,166,.10); color:var(--teal); display:grid; place-items:center;
  cursor:pointer; opacity:0; transform:translateY(14px) scale(.9); pointer-events:none;
  transition:opacity .4s var(--ease), transform .4s var(--ease), background .3s, color .3s;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.totop.show{ opacity:1; transform:none; pointer-events:auto; }
.totop:hover{ background:var(--teal); color:#fff; }

/* ---------- NAV ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:500;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.05rem var(--pad); transition:padding .5s var(--ease), background .5s var(--ease), border-color .5s, box-shadow .5s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  padding:.7rem var(--pad); background:rgba(11,17,27,.82);
  backdrop-filter:blur(16px) saturate(1.2); -webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid var(--line-d); box-shadow:0 10px 34px rgba(0,0,0,.28);
}
.nav__brand{ position:relative; display:block; line-height:0; }
.nav__logo{ width:clamp(240px,24vw,300px); height:auto; transition:width .5s var(--ease), opacity .35s; }
.nav__logo--dark{ position:absolute; top:0; left:0; opacity:0; }
.nav.scrolled .nav__logo{ width:clamp(226px,22.5vw,282px); }
.nav.scrolled .nav__logo--light{ opacity:1; }
.nav.scrolled .nav__logo--dark{ opacity:0; }

.nav__links{ display:flex; align-items:center; gap:2.3rem; }
.nav__links a{ font-size:.82rem; letter-spacing:.05em; color:var(--d-title); position:relative; transition:color .3s; font-weight:500; }
.nav__links a:not(.nav__cta)::after{ content:""; position:absolute; left:0; bottom:-6px; width:0; height:1.5px; background:var(--teal); transition:width .4s var(--ease); }
.nav__links a:not(.nav__cta):hover{ color:var(--teal); }
.nav__links a:not(.nav__cta):hover::after{ width:100%; }
.nav__cta{ border:1px solid var(--line-d); border-radius:8px; padding:.6rem 1.3rem; transition:border-color .4s, background .4s, color .4s; }
.nav.scrolled .nav__cta{ border-color:var(--teal); }
.nav__cta:hover{ background:var(--teal); border-color:var(--teal); color:#fff!important; }
.nav__toggle{ display:none; }

/* Mobile menu */
.menu{ position:fixed; inset:0; z-index:490; background:var(--dark); display:flex; flex-direction:column; justify-content:center; padding:var(--pad);
  clip-path:circle(0% at 100% 0); transition:clip-path .7s var(--ease); visibility:hidden; }
.menu.open{ clip-path:circle(150% at 100% 0); visibility:visible; }
.menu__links{ display:flex; flex-direction:column; gap:.3rem; }
.menu__links a{ font-family:var(--serif); font-weight:500; font-size:clamp(2rem,9vw,3.4rem); color:var(--d-title); display:flex; align-items:baseline; gap:1rem; padding:.35rem 0; transition:color .3s; }
.menu__links a em{ font-family:var(--sans); font-style:normal; font-size:.8rem; letter-spacing:.2em; color:var(--teal); }
.menu__links a:hover{ color:var(--teal); }
.menu__foot{ margin-top:2.6rem; display:flex; flex-direction:column; gap:.6rem; font-size:.95rem; color:var(--d-body); }
.menu__foot a:hover{ color:var(--teal); }

/* ---------- HERO (dark) ---------- */
.hero{ min-height:100svh; display:flex; flex-direction:column; justify-content:center;
  padding:calc(8rem + 5px) var(--pad) 6rem; position:relative; z-index:2; overflow:hidden; background:transparent; }
.hero__grid{ position:absolute; inset:0; z-index:-1; opacity:.6;
  background-image:linear-gradient(var(--line-d) 1px, transparent 1px), linear-gradient(90deg, var(--line-d) 1px, transparent 1px);
  background-size:clamp(60px,7vw,110px) clamp(60px,7vw,110px);
  -webkit-mask-image:radial-gradient(120% 90% at 30% 40%, #000 20%, transparent 75%);
          mask-image:radial-gradient(120% 90% at 30% 40%, #000 20%, transparent 75%); }
.hero__inner{ max-width:var(--maxw); margin:0 auto; width:100%; }
.hero__eyebrow{ font-size:.75rem; letter-spacing:.24em; text-transform:uppercase; color:var(--teal); display:flex; align-items:center; gap:.8rem; margin-bottom:2rem; font-weight:600; }
.hero__eyebrow .dot{ width:7px; height:7px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 0 rgba(0,166,166,.6); animation:pulse 2.4s infinite; }
@keyframes pulse{ 0%{box-shadow:0 0 0 0 rgba(0,166,166,.5);} 70%{box-shadow:0 0 0 12px rgba(0,166,166,0);} 100%{box-shadow:0 0 0 0 rgba(0,166,166,0);} }

.hero__title{ font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,5.6vw,4.7rem); line-height:1.02; letter-spacing:-.03em; color:var(--d-title); max-width:17ch; }
.hero__title span{ display:block; overflow:hidden; }
.hero__are{ font-family:var(--serif); font-weight:400; font-size:clamp(1.55rem,3.4vw,2.5rem); color:var(--d-body); margin-top:1.9rem; }
.rotator{ color:var(--teal-300); display:inline-block; position:relative; }
.rotator > span{ display:inline-block; }
.hero__lede{ max-width:52ch; margin-top:1.6rem; color:var(--d-body); font-size:clamp(1rem,1.4vw,1.15rem); line-height:1.75; }
.hero__cta{ display:flex; gap:1rem; margin-top:2.6rem; flex-wrap:wrap; }
.hero__scroll{ position:absolute; bottom:2.2rem; left:var(--pad); display:flex; align-items:center; gap:.8rem; font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--d-body); }
.hero__scroll i{ width:1px; height:44px; background:var(--line-d); position:relative; overflow:hidden; }
.hero__scroll i::after{ content:""; position:absolute; top:0; left:0; width:100%; height:40%; background:var(--teal); animation:scrolldown 2s var(--ease-io) infinite; }
@keyframes scrolldown{ 0%{transform:translateY(-100%);} 100%{transform:translateY(250%);} }

/* ---------- STATS (white) ---------- */
.stats__head{ max-width:var(--maxw); margin:0 auto clamp(2rem,3.5vw,2.8rem); }
.stats__head h2{ color:var(--slate); }
.stats__grid{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line-l); }
.stat{ padding:2rem 1.6rem 0 0; border-right:1px solid var(--line-l); }
.stat:last-child{ border-right:none; }
.stat__num{ font-family:var(--serif); font-weight:500; font-size:clamp(2.6rem,6vw,4.4rem); color:var(--slate); line-height:1; display:flex; align-items:baseline; letter-spacing:-.02em; }
.stat__num em{ font-style:normal; color:var(--teal); }
.stat__num .stat__pre{ font-size:.34em; margin-right:.18em; letter-spacing:.02em; }
.stat__num em:not(.stat__pre){ font-size:.42em; margin-left:.12em; }
.stat p{ color:var(--gray); font-size:.92rem; line-height:1.6; margin-top:1.1rem; max-width:26ch; }

/* ---------- SERVICES (dark) ---------- */
.svc{ list-style:none; max-width:var(--maxw); margin:0 auto; }
.svc__item{ border-top:1px solid var(--line-d); }
.svc__item:last-child{ border-bottom:1px solid var(--line-d); }
.svc__row{ width:100%; background:none; border:none; color:inherit; text-align:left;
  display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:2rem; padding:2.1rem 0; cursor:pointer; transition:padding .5s var(--ease); }
.svc__idx{ font-family:var(--serif); color:var(--teal); font-size:1rem; font-weight:500; }
.svc__name{ font-family:var(--serif); font-size:clamp(1.3rem,3vw,2.2rem); color:var(--d-title); font-weight:400; transition:color .4s, transform .5s var(--ease); transform-origin:left; }
.svc__tag{ font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--d-body); border:1px solid var(--line-d); border-radius:100px; padding:.35rem .9rem; }
.svc__plus{ position:relative; width:20px; height:20px; }
.svc__plus::before,.svc__plus::after{ content:""; position:absolute; background:var(--teal); transition:transform .4s var(--ease); }
.svc__plus::before{ top:50%; left:0; width:100%; height:1.5px; transform:translateY(-50%); }
.svc__plus::after{ left:50%; top:0; height:100%; width:1.5px; transform:translateX(-50%); }
.svc__item.open .svc__plus::after{ transform:translateX(-50%) scaleY(0); }
.svc__item.open .svc__name{ color:var(--teal-300); }
.svc__row:hover .svc__name{ transform:translateX(14px); color:var(--teal-300); }
.svc__panel{ max-height:0; overflow:hidden; transition:max-height .6s var(--ease-io); }
.svc__panel-in{ padding:0 0 2.4rem 0; display:grid; grid-template-columns:2fr 1fr; gap:2.5rem; }
.svc__panel-in p{ color:var(--d-body); font-size:1.02rem; line-height:1.75; max-width:60ch; }
.svc__meta{ list-style:none; display:flex; flex-direction:column; gap:.6rem; }
.svc__meta li{ font-size:.82rem; letter-spacing:.04em; color:var(--d-title); border-bottom:1px solid var(--line-d); padding-bottom:.55rem; }
@media(min-width:760px){ .svc__item.open .svc__row{ padding-left:1.2rem; } }

/* ---------- FIRM / ABOUT (white) ---------- */
.about__body{ max-width:var(--maxw); margin:0 auto; }
.about__lead p{ font-family:var(--serif); font-weight:400; font-size:clamp(1.4rem,3.2vw,2.4rem); line-height:1.28; color:var(--slate); max-width:26ch; letter-spacing:-.015em; }
.about__cols{ display:grid; grid-template-columns:repeat(2,1fr); gap:2.5rem; margin-top:3rem; max-width:80ch; }
.about__cols p{ color:var(--gray); font-size:1.02rem; line-height:1.75; }
.pillars{ max-width:var(--maxw); margin:clamp(4rem,8vw,7rem) auto 0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-l); }
.pillar{ padding:2.6rem 2rem 0 0; border-right:1px solid var(--line-l); }
.pillar:last-child{ border-right:none; }
.pillar__n{ font-family:var(--serif); color:var(--teal); font-size:.95rem; font-weight:600; display:block; margin-bottom:1.3rem; letter-spacing:.05em; }
.pillar h3{ font-size:1.32rem; color:var(--slate); margin-bottom:.75rem; font-weight:500; }
.pillar p{ color:var(--gray); font-size:.94rem; line-height:1.65; }

/* ---------- APPROACH (dark) ---------- */
.approach{ display:grid; grid-template-columns:1fr 1.3fr; column-gap:clamp(2rem,6vw,6rem); row-gap:clamp(2.4rem,4vw,3.4rem); align-items:center; }
.approach__mark img{ width:min(100%,300px); opacity:.95; filter:drop-shadow(0 0 40px rgba(0,166,166,.3)); animation:floaty 6s ease-in-out infinite; }
@keyframes floaty{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);} }
.approach__body{ max-width:640px; }
.approach__body > p{ color:var(--d-body); font-size:1.08rem; line-height:1.75; margin-top:1.6rem; max-width:48ch; }
.approach__net{ display:flex; flex-wrap:wrap; gap:.7rem; margin:2.4rem 0; }
.approach__net span{ font-size:.8rem; letter-spacing:.04em; color:var(--d-title); border:1px solid var(--line-d); border-radius:100px; padding:.5rem 1.1rem; transition:border-color .4s, color .4s, background .4s; }
.approach__net span:hover{ border-color:var(--teal); color:var(--teal-300); background:rgba(0,166,166,.08); }
.approach__quote{ font-family:var(--serif); font-weight:400; font-size:clamp(1.3rem,2.6vw,1.9rem); line-height:1.4; color:var(--d-title); border-left:2px solid var(--teal); padding-left:1.6rem; margin-top:2.4rem; max-width:36ch; }

/* ---------- REACH (white) ---------- */
.reach__grid{ list-style:none; max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-l); border-left:1px solid var(--line-l); }
.reach__grid li{ border-right:1px solid var(--line-l); border-bottom:1px solid var(--line-l); padding:2.4rem 1.8rem; font-family:var(--serif); font-size:clamp(1.15rem,2.2vw,1.65rem); color:var(--slate); font-weight:400; position:relative; overflow:hidden; transition:color .4s; min-height:150px; display:flex; flex-direction:column; justify-content:flex-end; }
.reach__grid li span{ position:absolute; top:1.4rem; left:1.8rem; font-family:var(--sans); font-size:.66rem; letter-spacing:.18em; color:var(--teal); font-weight:600; }
.reach__grid li::after{ content:""; position:absolute; inset:0; background:rgba(0,166,166,.06); transform:translateY(100%); transition:transform .5s var(--ease); z-index:-1; }
.reach__grid li:hover{ color:var(--teal-600); }
.reach__grid li:hover::after{ transform:translateY(0); }

/* ---------- CONTACT (dark) ---------- */
.contact__grid{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(2.5rem,6vw,6rem); align-items:start; }
.contact__intro h2{ margin-top:.4rem; color:var(--d-title); }
.contact__intro > p{ color:var(--d-body); font-size:1.05rem; line-height:1.7; margin-top:1.6rem; max-width:38ch; }
.contact__list{ list-style:none; margin-top:3rem; }
.contact__list li{ display:grid; grid-template-columns:90px 1fr; gap:1rem; padding:1.4rem 0; border-top:1px solid var(--line-d); align-items:baseline; }
.contact__list span{ font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--teal); font-weight:600; }
.contact__list a{ font-size:1.05rem; color:var(--d-title); line-height:1.5; transition:color .3s; }
.contact__list a:hover{ color:var(--teal-300); }

.form{ background:var(--dark-panel); border:1px solid var(--line-d); border-radius:12px; padding:clamp(1.6rem,3vw,2.6rem); }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.field{ position:relative; display:block; margin-bottom:1.2rem; }
.field input,.field select,.field textarea{ width:100%; background:transparent; border:none; border-bottom:1px solid var(--line-d); color:var(--d-title); font-family:var(--sans); font-size:.98rem; padding:1.5rem 0 .6rem; transition:border-color .4s; resize:none; }
.field select option{ background:var(--dark-panel); color:var(--d-title); }
.field textarea{ min-height:96px; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--teal); }
.field span{ position:absolute; left:0; top:1.5rem; color:var(--d-body); font-size:.98rem; pointer-events:none; transition:all .3s var(--ease); }
.field input:focus + span,.field input:not(:placeholder-shown) + span,
.field textarea:focus + span,.field textarea:not(:placeholder-shown) + span,
.field select:focus + span,.field select:valid + span{ top:0; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--teal); }
.field--area{ margin-top:.4rem; }
.form .btn--wide{ margin-top:1rem; }
.form__note{ margin-top:1rem; font-size:.85rem; color:var(--teal-300); min-height:1.2em; text-align:center; }
.field.invalid input,.field.invalid select,.field.invalid textarea{ border-color:#e0705f; }

/* ---------- FOOTER (dark) ---------- */
.footer{ background:var(--dark-2); border-top:1px solid var(--line-d); padding:clamp(3.5rem,7vw,6rem) var(--pad) 2.5rem; position:relative; z-index:2; }
.footer__top{ max-width:var(--maxw); margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; padding-bottom:2.5rem; border-bottom:1px solid var(--line-d); }
.footer__logo{ width:clamp(210px,24vw,280px); height:auto; }
.footer__nav{ display:flex; gap:2rem; }
.footer__nav a{ font-size:.82rem; letter-spacing:.05em; color:var(--d-title); transition:color .3s; }
.footer__nav a:hover{ color:var(--teal); }
.disclaimer{ border:1px solid var(--line-d); border-left:3px solid var(--teal); border-radius:8px;
  padding:1.4rem 1.7rem; background:rgba(0,166,166,.05); }
.disclaimer__label{ display:block; font-size:.92rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--teal); font-weight:600; margin-bottom:.7rem; }
.disclaimer p{ color:var(--d-body); font-size:1.05rem; line-height:1.7; max-width:92ch; margin:0; }
.approach__disclaimer{ grid-column:1 / -1; }
.footer__base{ max-width:var(--maxw); margin:2.4rem auto 0; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.78rem; color:#5c6672; letter-spacing:.03em; }
.footer__base i{ font-style:normal; }

/* ---------- REVEAL ---------- */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.05s; } .reveal[data-d="2"]{ transition-delay:.12s; }
.reveal[data-d="3"]{ transition-delay:.19s; } .reveal[data-d="4"]{ transition-delay:.26s; }
.reveal[data-d="5"]{ transition-delay:.33s; } .reveal[data-d="6"]{ transition-delay:.40s; }
.reveal[data-split]{ opacity:1; transform:none; }

/* ---------- RESPONSIVE : TABLET ---------- */
@media(max-width:1080px){
  .about__cols{ grid-template-columns:1fr; gap:1.6rem; }
  .pillars{ grid-template-columns:repeat(2,1fr); row-gap:2.4rem; }
  .pillar{ padding:2rem 1.5rem 0 0; }
  .pillar:nth-child(2){ border-right:none; }
  .stats__grid{ grid-template-columns:repeat(2,1fr); row-gap:2.4rem; }
  .stat:nth-child(2){ border-right:none; }
  .stat{ padding-top:2.2rem; border-top:1px solid var(--line-l); }
  .stats__grid{ border-top:none; }
  .approach{ grid-template-columns:1fr; }
  .approach__mark{ order:-1; }
  .approach__mark img{ width:130px; }
  .contact__grid{ grid-template-columns:1fr; }
  .reach__grid{ grid-template-columns:repeat(2,1fr); }
  .svc__name{ font-size:clamp(1.25rem,3.4vw,1.9rem); }
}

/* ---------- RESPONSIVE : NAV (tablet + mobile) ---------- */
@media(max-width:900px){
  .nav__links{ display:none; }
  .nav__logo, .nav.scrolled .nav__logo{ width:min(66vw,280px); }
  .nav__toggle{ display:flex; flex-direction:column; gap:6px; width:34px; height:34px; background:none; border:none; align-items:center; justify-content:center; z-index:600; }
  .nav__toggle span{ width:26px; height:1.5px; background:var(--d-title); transition:transform .4s var(--ease), opacity .3s, background .3s; }
  .nav__toggle.active span{ background:var(--d-title); }
  .nav__toggle.active span:first-child{ transform:translateY(3.75px) rotate(45deg); }
  .nav__toggle.active span:last-child{ transform:translateY(-3.75px) rotate(-45deg); }
}
@media(max-width:480px){
  .nav__logo, .nav.scrolled .nav__logo{ width:min(68vw,240px); }
}

/* ---------- RESPONSIVE : MOBILE ---------- */
@media(max-width:760px){
  .svc__row{ grid-template-columns:auto 1fr auto; gap:1.1rem; }
  .svc__tag{ display:none; }
  .svc__panel-in{ grid-template-columns:1fr; gap:1.4rem; }
  .stats__grid{ grid-template-columns:1fr; }
  .stat{ border-right:none; padding-right:0; }
  .form__row{ grid-template-columns:1fr; gap:0; }
  .footer__top{ flex-direction:column; align-items:flex-start; }
  .footer__nav{ flex-wrap:wrap; gap:1.2rem; }
  .hero__scroll{ display:none; }
  .hero{ min-height:92svh; }
  .totop{ width:44px; height:44px; }
}
@media(max-width:460px){
  .pillars{ grid-template-columns:1fr; }
  .pillar{ border-right:none; }
  .reach__grid{ grid-template-columns:1fr; }
  .reach__grid li{ min-height:120px; }
}

@media (prefers-reduced-motion: reduce){
  .approach__mark img{ animation:none; }
  html{ scroll-behavior:auto; }
}

/* =====================================================================
   IMAGERY — skyline hero, feature band, about, approach, contact bg
   ===================================================================== */

/* Hero content above media */
.hero__inner{ position:relative; z-index:3; }
.hero__scroll{ z-index:3; }
.hero__media{
  position:absolute; inset:0; z-index:0; opacity:.30;
  background:url('assets/img/skyline.webp') center right / cover no-repeat;
  filter:grayscale(.35) contrast(1.02) brightness(.85);
  -webkit-mask-image:linear-gradient(to left,#000 0%, rgba(0,0,0,.55) 42%, transparent 80%);
          mask-image:linear-gradient(to left,#000 0%, rgba(0,0,0,.55) 42%, transparent 80%);
}
.hero__media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(105deg, var(--dark) 18%, rgba(15,22,34,.35) 55%, rgba(0,166,166,.20) 100%);
}

/* FEATURE BAND */
.band{ position:relative; min-height:clamp(420px,64vh,680px); display:flex; align-items:center;
  overflow:hidden; z-index:2; background:var(--dark); }
.band__media{ position:absolute; inset:0; background-size:cover; background-position:center;
  transform:scale(1.06); will-change:transform; }
.band__media--office{ background-image:url('assets/img/office-dark.webp'); background-position:center 40%; }
.band__overlay{ position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(11,17,27,.94) 0%, rgba(11,17,27,.72) 45%, rgba(0,166,166,.28) 100%); }
.band__content{ position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; width:100%;
  padding:clamp(3.5rem,7vw,5.5rem) var(--pad); }
.band__kicker{ font-size:.72rem; letter-spacing:.28em; text-transform:uppercase; color:var(--teal-300);
  font-weight:600; margin-bottom:1.2rem; display:flex; align-items:center; gap:.75rem; }
.band__kicker::before{ content:""; width:26px; height:1px; background:var(--teal); }
.band__line{ font-family:var(--serif); font-weight:400; color:#fff; max-width:20ch;
  font-size:clamp(1.6rem,4vw,3rem); line-height:1.18; letter-spacing:-.02em; }
.band__reach{ list-style:none; display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.9rem; max-width:46ch; }
.band__reach li{ font-size:.74rem; letter-spacing:.05em; color:#e4eeef;
  border:1px solid rgba(255,255,255,.24); border-radius:100px; padding:.4rem .9rem;
  background:rgba(11,17,27,.35); transition:border-color .3s, background .3s; }
.band__reach li:hover{ border-color:var(--teal); background:rgba(0,166,166,.18); }

/* ABOUT image */
.about__top{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.about__img{ position:relative; border-radius:14px; overflow:hidden; }
.about__img::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 60%, rgba(0,166,166,.12)); }
.about__img img{ width:100%; height:clamp(300px,42vw,460px); object-fit:cover; display:block;
  transition:transform .9s var(--ease); }
.about__img:hover img{ transform:scale(1.04); }

/* APPROACH visual */
.approach__visual{ position:relative; border-radius:16px; overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,.4); }
.approach__visual img{ width:100%; height:clamp(360px,44vw,540px); object-fit:cover; display:block; }
.approach__visual::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(160deg, rgba(0,166,166,.14), transparent 45%, rgba(15,22,34,.35)); }
.approach__badge{ position:absolute; left:20px; bottom:20px; z-index:2; width:64px; height:64px;
  display:grid; place-items:center; background:rgba(11,17,27,.72); border:1px solid var(--teal-line);
  border-radius:12px; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.approach__badge img{ width:34px; height:auto; }

/* CONTACT background */
.contact{ position:relative; overflow:hidden; }
.contact__bg{ position:absolute; inset:0; z-index:0;
  background:url('assets/img/meeting.webp') center / cover no-repeat; opacity:.16; }
.contact__bg::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, var(--dark) 0%, rgba(15,22,34,.86) 40%, var(--dark) 100%); }
.contact__grid{ position:relative; z-index:2; }

/* Responsive imagery */
@media(max-width:1080px){
  .about__top{ grid-template-columns:1fr; gap:2rem; }
  .about__img img{ height:clamp(260px,60vw,380px); }
  .approach__visual img{ height:clamp(300px,60vw,420px); }
  .band{ min-height:clamp(300px,46vh,460px); }
  .band__overlay{ background:linear-gradient(90deg, rgba(11,17,27,.95) 0%, rgba(11,17,27,.78) 55%, rgba(0,166,166,.25) 100%); }
}
@media(max-width:760px){
  .hero__media{ opacity:.22; -webkit-mask-image:linear-gradient(to bottom,#000 0%, transparent 85%); mask-image:linear-gradient(to bottom,#000 0%, transparent 85%); }
  .hero__media::after{ background:linear-gradient(180deg, rgba(15,22,34,.4) 0%, var(--dark) 88%); }
  .band__media--office{ background-position:center 45%; }
}

/* =====================================================================
   FOREIGN OWNERS OF U.S. ASSETS
   ===================================================================== */
.assets{ background:var(--off); }
.assets__grid{ max-width:var(--maxw); margin:0 auto; display:grid;
  grid-template-columns:1.05fr .95fr; gap:clamp(2.5rem,6vw,5.5rem); align-items:center; }
.assets__body h2{ color:var(--slate); margin-top:.4rem; }
.assets__lede{ color:var(--gray); font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.6;
  margin-top:1.4rem; max-width:46ch; }
.assets__list{ list-style:none; margin-top:2.2rem; display:flex; flex-direction:column; gap:0; }
.assets__list li{ border-top:1px solid var(--line-l); padding:1.3rem 0; }
.assets__list li:last-child{ border-bottom:1px solid var(--line-l); }
.assets__list h3{ font-size:1.18rem; color:var(--slate); margin-bottom:.35rem; font-weight:500; }
.assets__list p{ color:var(--gray); font-size:.96rem; line-height:1.6; max-width:54ch; }
.assets__cta{ display:flex; align-items:center; gap:1.6rem; margin-top:2.2rem; flex-wrap:wrap; }
.assets__mail{ font-size:.9rem; color:var(--teal); letter-spacing:.02em; position:relative; font-weight:500; }
.assets__mail::after{ content:""; position:absolute; left:0; bottom:-4px; width:0; height:1.5px; background:var(--teal); transition:width .4s var(--ease); }
.assets__mail:hover::after{ width:100%; }
.assets__img{ position:relative; border-radius:16px; overflow:hidden; box-shadow:0 30px 60px rgba(15,22,34,.15); }
.assets__img img{ width:100%; height:clamp(380px,46vw,560px); object-fit:cover; display:block; transition:transform .9s var(--ease); }
.assets__img:hover img{ transform:scale(1.04); }
.assets__img::after{ content:""; position:absolute; inset:0; background:linear-gradient(160deg, rgba(0,166,166,.12), transparent 45%, rgba(15,22,34,.14)); }

@media(max-width:1080px){
  .assets__grid{ grid-template-columns:1fr; gap:2.4rem; }
  .assets__img{ order:-1; }
  .assets__img img{ height:clamp(280px,60vw,420px); }
}
@media(max-width:600px){
  .assets__cta{ gap:1.1rem; }
  .assets__cta .btn{ width:100%; }
  .assets__mail{ margin:0 auto; }
}
