*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --dark:#0a1520;
  --dark2:#0f1e2e;
  --dark3:#162840;
  --dark4:#1c3050;
  --steel:#2b6191;
  --steel2:#3a7ca5;
  --steel3:#5b9dc7;
  --steel4:#85bfe0;
  --sand:#f2ede6;
  --sand2:#e8e1d8;
  --sand3:#d8cfc3;
  --text:#1c2835;
  --muted:#6b8299;
  --bd:rgba(255,255,255,0.07);
  --bl:#d5cdc4;
  --serif:'Libre Baskerville',Georgia,serif;
  --sans:'Inter',sans-serif;
  --ease:cubic-bezier(0.25,0.46,0.45,0.94);
}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--sans);overflow-x:hidden;font-weight:300;line-height:1.7;background:var(--dark);hyphens:none;-webkit-hyphens:none}

/* ─── DESKTOP NAV (split) ─── */
.nav-desktop{
  display:grid;grid-template-columns:1fr 1fr;
  height:66px;position:sticky;top:0;z-index:200;
}
.nav-d-left{
  background:rgba(10,21,32,0.97);backdrop-filter:blur(12px);
  display:flex;align-items:center;padding:0 3.5rem;
  border-bottom:0.5px solid var(--bd);
}
.nav-d-right{
  background:rgba(242,237,230,0.97);backdrop-filter:blur(12px);
  display:flex;align-items:center;justify-content:flex-end;gap:2rem;
  padding:0 3.5rem;border-bottom:1px solid var(--bl);
}
.logo{font-family:var(--serif);font-size:0.92rem;color:#fff;font-weight:400;line-height:1.3;text-decoration:none}
.logo small{display:block;font-family:var(--sans);font-size:0.55rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--steel3);font-weight:300;margin-top:3px}
.nav-links{display:flex;gap:1.75rem;list-style:none}
.nav-links a{color:var(--muted);text-decoration:none;font-size:0.77rem;font-weight:400;transition:color 0.2s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:0.5px;background:var(--steel2);transition:width 0.3s var(--ease)}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{width:100%}
.nav-cta{background:var(--steel);border:none;color:#fff;padding:0.5rem 1.3rem;font-family:var(--sans);font-size:0.72rem;cursor:pointer;transition:background 0.2s;font-weight:400;letter-spacing:0.04em;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center}
.nav-cta:hover{background:var(--steel2)}

/* ─── MOBILE NAV ─── */
.nav-mobile{
  display:none;align-items:center;justify-content:space-between;
  padding:0 1.25rem;height:60px;
  background:var(--dark);border-bottom:0.5px solid var(--bd);
  position:sticky;top:0;z-index:200;
}
.mob-logo{font-family:var(--serif);font-size:0.82rem;color:#fff;text-decoration:none;line-height:1.3}
.mob-logo small{display:block;font-size:0.5rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--steel3);font-weight:300}
.ham{display:flex;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px}
.ham span{display:block;width:22px;height:0.5px;background:rgba(255,255,255,0.5);transition:all 0.3s}
.ham.open span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.ham.open span:nth-child(2){opacity:0}
.ham.open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.mob-menu{
  display:none;flex-direction:column;
  background:var(--dark2);
  border-bottom:0.5px solid var(--bd);
  position:sticky;top:60px;z-index:199;
}
.mob-menu.open{display:flex}
.mob-menu button{
  color:rgba(255,255,255,0.6);
  font-size:0.9rem;padding:1rem 1.25rem;
  border-bottom:0.5px solid var(--bd);
  border-left:none;border-right:none;border-top:none;
  transition:color 0.2s,background 0.2s;
  background:none;cursor:pointer;
  font-family:var(--sans);font-weight:300;
  text-align:left;width:100%;display:block;
}
.mob-menu button:hover{color:#fff;background:rgba(58,124,165,0.08)}
.mob-menu button:last-child{border-bottom:none}

/* ─── HERO (split) ─── */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 66px)}
.hero-l{
  background:var(--dark);
  padding:5rem 3.5rem 5rem 4.5rem;
  display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:hidden;
}
.hero-l::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 20% 60%,rgba(43,97,145,0.15) 0%,transparent 55%);
  pointer-events:none;
}
.hero-l::after{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(43,97,145,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(43,97,145,0.05) 1px,transparent 1px);
  background-size:56px 56px;pointer-events:none;
}
.hero-r{
  background:var(--sand);
  padding:5rem 4.5rem 5rem 3.5rem;
  display:flex;flex-direction:column;justify-content:center;
}
.hero-tag{display:flex;align-items:center;gap:0.7rem;margin-bottom:2rem;position:relative;z-index:1}
.tag-dot{width:6px;height:6px;border-radius:50%;background:var(--steel3)}
.tag-t{font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--steel3);font-weight:400}
h1{
  font-family:var(--serif);
  font-size:clamp(2.4rem,3.8vw,3.8rem);
  font-weight:400;line-height:1.14;
  color:#fff;margin-bottom:1.75rem;
  position:relative;z-index:1;
}
h1 em{font-style:italic;color:var(--steel3)}
.hero-sub{
  color:rgba(255,255,255,0.48);font-size:0.95rem;
  max-width:420px;margin-bottom:2.75rem;line-height:1.9;
  font-weight:300;position:relative;z-index:1;
}
.hero-btns{display:flex;flex-wrap:wrap;gap:0.7rem;position:relative;z-index:1}
.btn-p{background:var(--steel);border:none;color:#fff;padding:0.9rem 1.75rem;font-family:var(--sans);font-size:0.77rem;cursor:pointer;transition:background 0.2s var(--ease);font-weight:400;letter-spacing:0.03em}
.btn-p:hover{background:var(--steel2)}
.btn-o{background:transparent;border:0.5px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.58);padding:0.9rem 1.75rem;font-family:var(--sans);font-size:0.77rem;cursor:pointer;transition:all 0.2s;font-weight:300}
.btn-o:hover{border-color:rgba(255,255,255,0.5);color:#fff}
.r-label{font-family:var(--serif);font-size:1.1rem;color:var(--text);font-style:italic;margin-bottom:1.65rem;line-height:1.4}
.r-label strong{font-style:normal;font-weight:700}
.ch-list{list-style:none}
.ch{padding:0.88rem 0;border-bottom:1px solid var(--bl);display:flex;align-items:center;gap:0.9rem;cursor:pointer;transition:all 0.2s}
.ch:first-child{border-top:1px solid var(--bl)}
.ch-ic{width:30px;height:30px;border-radius:50%;border:1px solid var(--bl);display:flex;align-items:center;justify-content:center;font-size:0.58rem;color:var(--muted);transition:all 0.2s;flex-shrink:0}
.ch-tx{font-size:0.85rem;color:var(--muted);transition:color 0.2s;font-weight:300}
.ch:hover .ch-ic,.ch.on .ch-ic{background:var(--steel);border-color:var(--steel);color:#fff}
.ch:hover .ch-tx,.ch.on .ch-tx{color:var(--text);font-weight:400}
.hero-metrics{display:flex;gap:1.75rem;margin-top:2rem;padding-top:1.5rem;flex-wrap:wrap}
.m-n{font-family:var(--serif);font-size:1.5rem;color:var(--steel);font-weight:700;line-height:1}
.m-l{font-size:0.68rem;color:var(--muted);margin-top:0.2rem;line-height:1.4}

/* ─── SHARED SECTION ─── */
.sec{padding:5.5rem 4.5rem}
h2{font-family:var(--serif);font-size:clamp(1.9rem,2.8vw,2.7rem);font-weight:400;line-height:1.2;text-wrap:balance}
.sec-ey{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--steel2);margin-bottom:1rem;font-weight:400}
.sec-tag-line{display:flex;align-items:center;gap:0.7rem;margin-bottom:1.1rem}
.stl-bar{width:28px;height:0.5px;background:var(--steel2)}

/* ─── SECTION 1: REALITY (dark) ─── */
.sec-reality{background:var(--dark);border-bottom:0.5px solid var(--bd)}
.reality-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;margin-top:4rem;align-items:start}
.rl p{color:rgba(255,255,255,0.45);font-weight:300;margin-bottom:1rem;font-size:0.95rem}
.pullquote{margin-top:2.25rem;border-left:2px solid var(--steel2);padding:0.5rem 1.5rem;font-family:var(--serif);font-size:1.15rem;font-style:italic;color:var(--steel3);line-height:1.5}
.fail-list{list-style:none}
.fail-item{display:flex;align-items:flex-start;gap:1rem;padding:1.05rem 1.25rem;border-bottom:0.5px solid var(--bd);transition:background 0.2s;cursor:pointer}
.fail-item:first-child{border-top:0.5px solid var(--bd)}
.fail-item:hover{background:rgba(58,124,165,0.08)}
.fail-arrow{margin-left:auto;color:var(--steel3);font-size:0.85rem;opacity:0;transition:opacity 0.2s;padding-top:0.2rem;flex-shrink:0}
.fail-item:hover .fail-arrow{opacity:1}
.fail-n{font-size:0.62rem;color:var(--steel3);letter-spacing:0.1em;padding-top:0.28rem;min-width:20px;font-weight:400}
.fail-t{color:rgba(255,255,255,0.45);font-size:0.9rem;font-weight:300}

/* ─── SECTION 2: SERVICES (light) ─── */
.sec-services{background:var(--sand);border-top:1px solid var(--bl);border-bottom:1px solid var(--bl)}
.svc-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:3.5rem;align-items:end}
.svc-intro p{color:var(--muted);font-weight:300;font-size:0.93rem}
.svc-carousel{position:relative}
.svc-track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 0.25rem 2px;scroll-padding-left:2px}
.svc-track::-webkit-scrollbar{display:none}
.svc-track-wrap{position:relative}
.svc-track-wrap::after{content:'';position:absolute;top:0;right:0;width:80px;height:calc(100% - 0.25rem);background:linear-gradient(to right,transparent,var(--sand));pointer-events:none;transition:opacity 0.3s var(--ease)}
.svc-track-wrap.at-end::after{opacity:0}
.svc-controls{margin-top:1.75rem}
.svc-progress-track{width:100%;height:1px;background:var(--bl);position:relative;margin-bottom:1rem}
.svc-progress-bar{position:absolute;left:0;top:0;height:100%;background:var(--steel2);transition:width 0.25s var(--ease);width:0}
.svc-controls-row{display:flex;align-items:center;justify-content:space-between}
.svc-counter{font-size:0.65rem;letter-spacing:0.14em;color:var(--muted);font-weight:400;font-family:var(--sans)}
.svc-btns{display:flex;gap:0.5rem}
.svc-nav{width:44px;height:44px;border:none;background:var(--steel);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s var(--ease);font-size:0.9rem;font-family:var(--sans);line-height:1}
.svc-nav:hover{background:var(--steel2)}
.svc-nav:disabled{opacity:0.3;cursor:default}
.svc-swipe-hint{display:none;font-size:0.65rem;letter-spacing:0.12em;color:var(--muted);font-weight:300;text-align:center;margin-top:0.85rem}
@media(hover:none){.svc-swipe-hint{display:block}}
.svc-track{touch-action:pan-x;-webkit-overflow-scrolling:touch}
.svc{
  background:linear-gradient(180deg,rgba(255,255,255,0.58),rgba(255,255,255,0.3));
  border:1px solid var(--bl);
  border-top:2px solid var(--steel);
  padding:1.65rem 1.55rem;
  transition:background 0.3s var(--ease),border-color 0.3s var(--ease),transform 0.3s var(--ease),box-shadow 0.3s var(--ease);
  position:relative;
  overflow:hidden;
  flex:0 0 calc((100% - 2.5rem)/3);
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
}
.svc::before{
  content:attr(data-num);
  position:absolute;
  top:0.5rem;right:0.85rem;
  font-family:var(--serif);font-size:5.5rem;font-weight:700;
  color:var(--steel);opacity:0.055;
  line-height:1;pointer-events:none;user-select:none;
  transition:opacity 0.3s var(--ease);
}
@media(hover: hover){
  .svc:hover{background:rgba(255,255,255,0.92);border-color:var(--bl);border-top-color:var(--steel2);transform:translateY(-3px);box-shadow:0 8px 24px rgba(43,97,145,0.08)}
  .svc:hover::before{opacity:0.1}
  .svc:hover .svc-n{color:var(--steel)}
  .svc:hover .svc-t{color:var(--text)}
  .svc:hover .svc-d{color:var(--text)}
  .svc:hover .svc-list li{color:var(--muted)}
  .svc:hover .svc-list li::before{background:var(--steel)}
}
.svc-n{font-size:0.58rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--steel2);margin-bottom:0.8rem}
.svc-t{font-family:var(--serif);font-size:1.08rem;color:var(--text);margin-bottom:0.65rem;font-weight:700;line-height:1.28}
.svc-d{color:var(--muted);font-size:0.8rem;font-weight:300;line-height:1.66;margin-bottom:1rem;max-width:28rem}
.svc-list{list-style:none;display:flex;flex-direction:column;gap:0.38rem;margin-top:auto;padding-top:0.85rem;border-top:1px solid rgba(168,161,145,0.45)}
.svc-list li{color:var(--muted);font-size:0.76rem;padding-left:0.95rem;position:relative;line-height:1.55}
.svc-list li::before{content:'';position:absolute;left:0;top:0.56em;width:5px;height:0.5px;background:var(--steel2)}

/* ─── SECTION 3: CASE STUDIES (dark) ─── */
.sec-cases{background:var(--dark2);border-top:0.5px solid var(--bd);border-bottom:0.5px solid var(--bd)}
.cases-list{display:flex;flex-direction:column;margin-top:3.5rem;border:0.5px solid var(--bd)}
.case{border-bottom:0.5px solid var(--bd)}
.case:last-child{border-bottom:none}
.case-head{
  padding:2rem 2.25rem;background:rgba(255,255,255,0.02);border-bottom:0.5px solid var(--bd);
  cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;
  transition:background 0.2s;
}
.case-head:hover{background:rgba(58,124,165,0.05)}
.case-tags{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:0.75rem}
.case-tag{font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--steel3);border:0.5px solid rgba(91,157,199,0.3);padding:0.22rem 0.55rem;font-weight:400}
.case-client{font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:0.35rem}
.case-title{font-family:var(--serif);font-size:1.3rem;color:#fff;font-weight:400;line-height:1.25;margin-bottom:0.5rem}
.case-sub{color:rgba(255,255,255,0.38);font-size:0.83rem;font-weight:300;max-width:580px}
.case-toggle{
  flex-shrink:0;width:32px;height:32px;
  border-radius:50%;border:0.5px solid rgba(91,157,199,0.3);
  display:flex;align-items:center;justify-content:center;
  transition:border-color 0.25s,background 0.25s;
  align-self:center;
}
.case-toggle svg{
  width:14px;height:14px;stroke:var(--steel3);
  transition:transform 0.35s cubic-bezier(0.25,0.46,0.45,0.94),stroke 0.2s;
  transform:rotate(0deg);
}
.case-head:hover .case-toggle{border-color:var(--steel2);background:rgba(43,97,145,0.1)}
.case-head:hover .case-toggle svg{stroke:var(--steel4)}
.case.open .case-toggle{border-color:var(--steel2);background:rgba(43,97,145,0.1)}
.case.open .case-toggle svg{transform:rotate(180deg);stroke:var(--steel4)}
.case-body{display:none;grid-template-columns:1fr 1fr}
.case.open .case-body{display:grid}
.case-col{padding:2rem 2.25rem;border-right:0.5px solid var(--bd)}
.case-col:last-child{border-right:none}
.cs-sl{font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--steel2);margin-bottom:0.7rem;margin-top:1.4rem;font-weight:400}
.case-col .cs-sl:first-child{margin-top:0}
.cs-p{color:rgba(255,255,255,0.42);font-size:0.85rem;font-weight:300;line-height:1.75}
.cs-ul{list-style:none;display:flex;flex-direction:column;gap:0.35rem}
.cs-ul li{color:rgba(255,255,255,0.38);font-size:0.8rem;padding-left:0.9rem;position:relative;line-height:1.5}
.cs-ul li::before{content:'';position:absolute;left:0;top:0.6em;width:5px;height:0.5px;background:var(--steel2)}
.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--bd);margin-bottom:1.5rem}
.metric{background:var(--dark);padding:1.1rem;display:flex;flex-direction:column;gap:0.25rem}
.metric-n{font-family:var(--serif);font-size:1.55rem;color:var(--steel3);font-weight:400;line-height:1}
.metric-l{font-size:0.72rem;color:var(--muted);font-weight:300;line-height:1.4}
.cs-outcome{background:rgba(43,97,145,0.08);border-left:2px solid var(--steel2);padding:0.9rem 1.2rem;margin-top:1rem}
.cs-outcome p{color:rgba(255,255,255,0.45);font-size:0.83rem;font-style:italic;font-weight:300;line-height:1.7}

/* ─── SECTION 4: METHOD (light) ─── */
.sec-method{background:var(--sand);border-top:1px solid var(--bl);border-bottom:1px solid var(--bl)}
.method-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3.5rem;position:relative}
.method-grid::before{content:'';position:absolute;top:26px;left:calc(12.5% + 14px);right:calc(12.5% + 14px);height:0.5px;background:var(--steel2);opacity:0.3}
.m-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 1rem}
.m-circle{width:52px;height:52px;border-radius:50%;border:1px solid var(--steel);background:var(--dark);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1rem;color:var(--steel3);margin-bottom:1.1rem;position:relative;z-index:1;flex-shrink:0}
.m-t{font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--steel);margin-bottom:0.55rem;font-weight:500}
.m-d{color:var(--muted);font-size:0.8rem;font-weight:300;line-height:1.65}
.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3.5rem}
.principle{border-top:0.5px solid var(--bl);padding-top:1.1rem;text-align:center}
.pr-t{font-size:0.85rem;font-weight:500;color:var(--text);margin-bottom:0.25rem}
.pr-s{font-size:0.78rem;color:var(--muted);font-weight:300}

/* ─── SECTION 5: SECTORS (dark) ─── */
.sec-sectors{background:var(--dark3);border-top:0.5px solid var(--bd);border-bottom:0.5px solid var(--bd)}
.sectors-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:3.5rem}
.sector{background:var(--dark4);border:0.5px solid var(--bd);padding:2.25rem 2rem;transition:border-color 0.3s}
.sector:hover{border-color:var(--steel2)}
.svc.reveal{opacity:1;transform:none}
.svc-highlighted{outline:2px solid var(--steel2)!important;background:#fff!important}
.s-bar{width:22px;height:1.5px;background:var(--steel2);margin-bottom:1.25rem;transition:width 0.35s var(--ease)}
.sector:hover .s-bar{width:44px}
.s-lbl{font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--steel3);margin-bottom:0.45rem}
.s-nm{font-family:var(--serif);font-size:1.15rem;color:#fff;margin-bottom:0.6rem;font-weight:400}
.s-ds{color:rgba(255,255,255,0.4);font-size:0.83rem;font-weight:300;line-height:1.75}

/* ─── SECTION 6: CONTACT (light) ─── */
.sec-contact{background:var(--sand);border-top:1px solid var(--bl);overflow:hidden}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}
.cl h2{color:var(--text);margin-bottom:1rem}
.cl p{color:var(--muted);font-weight:300;font-size:0.93rem;margin-bottom:2rem}
.contact-details{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}
.c-item{display:flex;align-items:flex-start;gap:0.85rem}
.c-ic{width:32px;height:32px;border:0.5px solid var(--bl);display:flex;align-items:center;justify-content:center;font-size:0.78rem;color:var(--steel);flex-shrink:0;margin-top:0.1rem}
.c-info a,.c-info span{font-size:0.88rem;color:var(--muted);text-decoration:none;font-weight:300;transition:color 0.2s;display:block}
.c-info a:hover{color:var(--text)}
.c-sub{font-size:0.67rem;color:#aaa8a0;letter-spacing:0.08em;display:block;margin-top:0.15rem}
.confidence{display:flex;align-items:center;gap:0.6rem;padding:0.85rem 1rem;background:rgba(43,97,145,0.06);border-left:2px solid var(--steel2)}
.conf-text{font-size:0.78rem;color:var(--muted);font-weight:300}

/* FORM */
.contact-form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%;overflow:hidden}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:flex;flex-direction:column;gap:0.35rem}
.field label{font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);font-weight:400}
.field input,.field select,.field textarea{font-size:16px!important;
  background:#fff;border:1px solid var(--bl);color:var(--text);
  padding:0.75rem 0.95rem;font-family:var(--sans);font-size:0.88rem;
  font-weight:300;transition:border-color 0.2s;outline:none;width:100%;
  -webkit-appearance:none;
}
.field select{
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b8299' stroke-width='1.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 0.9rem center;
  padding-right:2.25rem;background-color:#fff;
}
.field select option{background:#fff;color:var(--text)}
.field textarea{resize:vertical;min-height:130px;line-height:1.6}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--steel2)}
.field input::placeholder,.field textarea::placeholder{color:#b8b0a8}
.form-submit{
  background:var(--steel);color:#fff;border:none;padding:1rem;
  font-family:var(--sans);font-size:0.8rem;letter-spacing:0.08em;
  text-transform:uppercase;cursor:pointer;transition:background 0.2s var(--ease);
  font-weight:400;margin-top:0.25rem;
}
.form-submit:hover{background:var(--steel2)}
.form-submit:disabled{background:#aaa;cursor:default}
.form-note{font-size:0.73rem;color:#aaa8a0;text-align:center}
.form-success{display:none;text-align:center;padding:2rem;background:rgba(43,97,145,0.06);border:1px solid rgba(43,97,145,0.2);width:100%;box-sizing:border-box;overflow-wrap:break-word}
.form-success p{color:var(--steel);font-family:var(--serif);font-size:1.1rem;font-style:italic}

/* ─── CTA BAND (split) ─── */
.cta{display:grid;grid-template-columns:1fr 1fr}
.cta-l{background:var(--dark);padding:5.5rem 4.5rem;border-right:0.5px solid var(--bd)}
.cta-r{background:var(--steel);padding:5.5rem 4.5rem;display:flex;flex-direction:column;justify-content:center}
.cta-l h2{color:#fff;margin-bottom:1rem}
.cta-l p{color:rgba(255,255,255,0.45);max-width:380px;font-weight:300;margin-bottom:2rem;font-size:0.93rem}
.cta-r p{color:rgba(255,255,255,0.75);font-size:0.88rem;margin-bottom:1.5rem;font-weight:300}
.btn-white{background:#fff;border:none;color:var(--steel);padding:1rem 2rem;font-family:var(--sans);font-size:0.8rem;cursor:pointer;font-weight:500;transition:opacity 0.2s;letter-spacing:0.04em;width:fit-content}
.btn-white:hover{opacity:0.9}
.cta-list{list-style:none;display:flex;flex-direction:column;gap:0.7rem;margin-top:1.5rem}
.cta-list li{color:rgba(255,255,255,0.65);font-size:0.82rem;font-weight:300;display:flex;align-items:center;gap:0.6rem}
.cta-list li::before{content:'✓';font-size:0.7rem;color:rgba(255,255,255,0.9)}

/* ─── FOOTER ─── */
footer{
  background:var(--dark);border-top:0.5px solid var(--bd);
  padding:2rem 4.5rem;display:flex;justify-content:space-between;
  align-items:center;flex-wrap:wrap;gap:1rem;
}
.f-logo{font-family:var(--serif);font-size:0.82rem;color:rgba(255,255,255,0.35)}
.f-links{display:flex;gap:1.75rem;list-style:none;flex-wrap:wrap}
.f-links a{font-size:0.65rem;color:rgba(255,255,255,0.22);text-decoration:none;letter-spacing:0.1em;text-transform:uppercase;transition:color 0.2s}
.f-links a:hover{color:rgba(255,255,255,0.55)}
.f-copy{font-size:0.65rem;color:rgba(255,255,255,0.2)}

/* ─── SCROLL REVEAL ─── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.7s var(--ease),transform 0.7s var(--ease)}
.reveal.vis{opacity:1;transform:translateY(0)}
.rd1{transition-delay:0.1s}.rd2{transition-delay:0.2s}.rd3{transition-delay:0.3s}.rd4{transition-delay:0.4s}

/* ─── HERO ANIMATION ─── */
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.hero-tag{animation:up 0.6s var(--ease) .1s both}
h1{animation:up 0.7s var(--ease) .22s both}
.hero-sub{animation:up 0.7s var(--ease) .36s both}
.hero-btns{animation:up 0.7s var(--ease) .5s both}

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
  .nav-desktop{display:none}
  .nav-mobile{display:flex}
  .nav-d-right{display:none}
  .nav-d-left{padding:0 1.5rem;height:60px}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-l{padding:4rem 1.5rem 3rem}
  .hero-r{padding:3rem 1.5rem 4rem}
  .hero-btns{flex-direction:column;max-width:300px}
  .sec{padding:4rem 2rem}
  .svc-intro{grid-template-columns:1fr;gap:1rem;margin-bottom:2.5rem}
  .reality-grid{grid-template-columns:1fr;gap:2.5rem}
  .contact-grid{grid-template-columns:1fr;gap:3rem}
  .form-row{grid-template-columns:1fr}
  .cta{grid-template-columns:1fr}
  .cta-l{border-right:none;border-bottom:0.5px solid var(--bd);padding:4rem 2rem}
  .cta-r{padding:4rem 2rem}
  footer{padding:1.75rem 2rem;flex-direction:column;text-align:center}
  .f-links{justify-content:center}
  .svc{flex-basis:calc((100% - 1.25rem)/2)}
}
@media(max-width:768px){
  .nav-desktop{display:none}
  .nav-mobile{display:flex}
  .hero-l{padding:3rem 1.25rem}
  .hero-r{padding:2.5rem 1.25rem}
  .sec{padding:3rem 1.25rem}
  .sec-services{padding:3rem 1.25rem}
  .sec-cases{padding:3rem 1.25rem}
  .sec-method{padding:3rem 1.25rem}
  .sec-sectors{padding:3rem 1.25rem}
  .sec-contact{padding:3rem 1.25rem}
  .svc-track{gap:0.9rem}
  .svc{flex-basis:100%;padding:1.4rem 1.2rem}
  .cases-list{border:0.5px solid var(--bd)}
  .case-body{grid-template-columns:1fr}
  .case-col{border-right:none;border-bottom:0.5px solid var(--bd)}
  .case-col:last-child{border-bottom:none}
  .method-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .method-grid::before{display:none}
  .principles{grid-template-columns:1fr 1fr;gap:1.25rem}
  .sectors-grid{grid-template-columns:1fr}
  .metrics-grid{grid-template-columns:1fr}
  .hero-metrics{gap:1.25rem}
  footer{padding:1.5rem 1.25rem}
}
@media(max-width:480px){
  .method-grid{grid-template-columns:1fr}
  .principles{grid-template-columns:1fr}
  .hero-metrics{flex-direction:column;gap:1rem}
}

/* ─── ABOUT ─── */
.sec-about{background:var(--sand);border-top:1px solid var(--bl);border-bottom:1px solid var(--bl)}
.about-teaser{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.about-teaser-right p{color:var(--muted);font-weight:300;font-size:0.93rem;line-height:1.85;margin-bottom:1rem}
.btn-about{display:inline-block;margin-top:1rem;font-size:0.78rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--steel);text-decoration:none;border-bottom:1px solid var(--steel);padding-bottom:0.15rem;transition:color 0.2s,border-color 0.2s}
.btn-about:hover{color:var(--steel2);border-color:var(--steel2)}
@media(max-width:768px){.about-teaser{grid-template-columns:1fr;gap:2rem}}
}

/* ─── PRIVACY MODAL ─── */
.modal-overlay{
  position:fixed;inset:0;z-index:500;
  background:rgba(10,21,32,0.85);
  align-items:center;justify-content:center;
  padding:1.5rem;
}
.modal{
  background:var(--sand);
  max-width:680px;width:100%;
  max-height:85vh;
  display:flex;flex-direction:column;
  position:relative;
}
.modal-header{
  padding:1.75rem 2rem 1.25rem;
  border-bottom:1px solid var(--bl);
  display:flex;align-items:center;justify-content:space-between;
  flex-shrink:0;
}
.modal-title{
  font-family:var(--serif);font-size:1.3rem;color:var(--text);font-weight:400;
}
.modal-close{
  background:none;border:none;cursor:pointer;
  color:var(--muted);font-size:1.4rem;
  line-height:1;padding:0.25rem;
  transition:color 0.2s;font-family:var(--sans);
}
.modal-close:hover{color:var(--text)}
.modal-body{
  padding:1.75rem 2rem;overflow-y:auto;flex:1;
}
.modal-body h3{
  font-family:var(--serif);font-size:1rem;font-weight:700;
  color:var(--text);margin:1.5rem 0 0.5rem;
}
.modal-body h3:first-child{margin-top:0}
.modal-body p{
  font-size:0.88rem;color:var(--muted);font-weight:300;
  line-height:1.8;margin-bottom:0.75rem;
}
.modal-body ul{
  list-style:none;padding:0;margin:0 0 0.75rem;
  display:flex;flex-direction:column;gap:0.35rem;
}
.modal-body ul li{
  font-size:0.88rem;color:var(--muted);font-weight:300;
  padding-left:1rem;position:relative;line-height:1.6;
}
.modal-body ul li::before{
  content:'';position:absolute;left:0;top:0.6em;
  width:5px;height:0.5px;background:var(--steel);
}
.modal-footer{
  padding:1rem 2rem;border-top:1px solid var(--bl);
  flex-shrink:0;
}
.modal-footer p{font-size:0.75rem;color:var(--muted);font-weight:300}
.privacy-link{
  color:var(--steel);text-decoration:none;font-size:0.78rem;
  font-weight:400;cursor:pointer;background:none;border:none;
  font-family:var(--sans);padding:0;
  transition:color 0.2s;
}
.privacy-link:hover{color:var(--steel2)}
@media(max-width:768px){
  .modal{max-height:90vh}
  .modal-header,.modal-body,.modal-footer{padding-left:1.25rem;padding-right:1.25rem}
}
