
:root{
  --ink:#091e29; --navy:#173747; --navy2:#102a37; --orange:#ec6a1b;
  --paper:#f4f5f3; --white:#fff; --muted:#66777e; --line:#d6dbde; --soft:#eef1f0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}
a{text-decoration:none;color:inherit}
img{max-width:100%}
.nav{height:128px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#fff;border-bottom:1px solid #29424e;position:sticky;top:0;z-index:20}
.nav .brand{display:flex;align-items:center;height:100%}
.nav img{height:116px;width:auto;max-width:500px;object-fit:contain;display:block}
.nav nav{display:flex;gap:28px;font-size:13px}
.nav nav a{opacity:.9}.nav nav a:hover{opacity:1;color:#fff}
.btn{display:inline-block;background:var(--orange);color:#fff;padding:14px 21px;font-weight:700}
.kicker{font-size:12px;letter-spacing:.22em;color:var(--orange);font-weight:800;text-transform:uppercase;margin-bottom:22px}
h1,h2,h3{margin-top:0}
h1{font-size:72px;line-height:.98;letter-spacing:-.045em}
h2{font-size:46px;line-height:1.08;letter-spacing:-.025em}
h3{font-size:22px}
p{line-height:1.65}
.hero{min-height:630px;padding:100px 8vw;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 300px;gap:70px;align-items:center}
.hero h1 span{font-weight:300;color:#c6d0d4}
.hero .lead{font-size:20px;color:#c6d0d4;max-width:780px}
.hero-side{border-left:1px solid #38515d;padding-left:34px}
.hero-side p{font-size:12px;letter-spacing:.06em;color:#bec9ce;padding:11px 0;border-bottom:1px solid #29434f;margin:0}
section{padding:96px 8vw}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.intro .copy{font-size:18px;color:#53656d}
.practices{background:var(--navy);color:#fff}
.sectionhead{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:52px}
.sectionhead p{max-width:520px;color:#bdc8cd}
.practice-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #506773;border-left:1px solid #506773}
.practice-card{min-height:285px;padding:40px;border-right:1px solid #506773;border-bottom:1px solid #506773;position:relative}
.practice-card .num{color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.12em}
.practice-card h3{font-size:27px;margin:34px 0 22px}
.practice-card .subline{display:block;color:#c3cdd1;padding:8px 0;border-top:1px solid rgba(255,255,255,.10);font-size:14px}
.practice-card .subline:first-of-type{border-top:none}
.practice-card .more{display:inline-block;margin-top:24px;font-weight:700;font-size:13px;color:#fff}
.practice-card:hover{background:#1b4052}
.statement{background:#e7e9e7}.statement p{font-size:38px;line-height:1.25;max-width:1050px;margin:0}
.team{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.placeholder{color:var(--muted)}
.contact{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:90px}
.contact p{color:#bdc8cd}
footer{padding:32px 8vw;background:#06151c;color:#80929b;display:flex;justify-content:space-between;align-items:center;font-size:12px}
footer img{height:58px;width:auto}

/* Internal service pages */
.page-hero{padding:86px 8vw 76px;background:var(--ink);color:#fff}
.page-hero .breadcrumbs{font-size:12px;color:#9fb0b8;margin-bottom:28px}
.page-hero h1{font-size:58px;max-width:950px;margin-bottom:22px}
.page-hero .lead{max-width:850px;font-size:19px;color:#c6d0d4}
.overview{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;background:#fff}
.overview .side-note{display:none}
.service-list{background:var(--soft)}
.service-list .items{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px}
.service-item{background:#fff;border:1px solid var(--line);padding:28px}
.service-item h3{margin-bottom:10px}
.service-item p{color:var(--muted);font-size:14px}
.service-item .label{font-size:11px;color:var(--orange);font-weight:800;letter-spacing:.12em;margin-bottom:15px}
.detail-band{background:var(--navy);color:#fff}
.detail-band .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.detail-band h3{font-size:18px}.detail-band p{color:#c0cbd0;font-size:14px}
.cta-band{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;background:#fff}
.cta-band p{color:var(--muted);max-width:760px}
.smallnote{font-size:12px;color:#87979e;margin-top:12px}
@media(max-width:900px){
  .nav{height:100px;padding:0 5vw}.nav img{height:82px}.nav nav{display:none}
  h1{font-size:47px}h2{font-size:36px}
  .hero{grid-template-columns:1fr;padding:72px 7vw}.hero-side{display:none}
  section{padding:70px 7vw}
  .intro,.team,.contact,.overview,.cta-band{grid-template-columns:1fr;gap:38px}
  .practice-grid,.service-list .items,.detail-band .cols{grid-template-columns:1fr}
  .sectionhead{display:block}
  .page-hero{padding:66px 7vw 58px}.page-hero h1{font-size:44px}
}

.team-section{background:#fff}
.team-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-bottom:50px}
.team-intro p{color:var(--muted);font-size:17px}
.partner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.partner-card{border:1px solid var(--line);background:#f8f9f8;display:grid;grid-template-columns:210px 1fr;min-height:330px;overflow:hidden}
.partner-photo{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.partner-copy{padding:30px}
.partner-copy .role{color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.partner-copy h3{font-size:25px;margin-bottom:12px}
.partner-copy p{font-size:14px;color:var(--muted);margin-bottom:16px}
.partner-tags{font-size:12px;line-height:1.6;color:#40545d;border-top:1px solid var(--line);padding-top:14px}
.partner-note{margin-top:28px;font-size:12px;color:#7d8c92}
@media(max-width:1100px){.partner-grid{grid-template-columns:1fr}}
@media(max-width:650px){.partner-card{grid-template-columns:1fr}.partner-photo{height:390px}.team-intro{grid-template-columns:1fr;gap:20px}}

.firm{background:#fff}
.firm-opening{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px;align-items:start}
.firm-opening .firm-copy{font-size:18px;color:#53656d}
.firm-opening .firm-copy strong{color:var(--ink)}
.method{background:#e9ecea}
.method-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-bottom:48px}
.method-head p{color:var(--muted);font-size:17px}
.method-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #c6ceca;border-left:1px solid #c6ceca}
.method-card{padding:36px;border-right:1px solid #c6ceca;border-bottom:1px solid #c6ceca;min-height:220px}
.method-card .n{font-size:11px;color:var(--orange);font-weight:800;letter-spacing:.12em;margin-bottom:28px}
.method-card h3{font-size:23px;margin-bottom:12px}
.method-card p{font-size:14px;color:var(--muted)}
.signature{padding:70px 8vw;background:var(--navy);color:#fff}
.signature p{font-size:36px;line-height:1.25;margin:0;max-width:950px}
.signature strong{color:#fff}
@media(max-width:900px){.firm-opening,.method-head,.method-grid{grid-template-columns:1fr;gap:30px}.signature p{font-size:28px}}



.contact-full{background:var(--ink);color:#fff}
.contact-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-bottom:50px}
.contact-head p{color:#bdc8cd;font-size:17px}
.contact-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}
.contact-info{border:1px solid #29424e;background:#0d2632;padding:34px}
.contact-info h3{font-size:22px;margin-bottom:22px}
.contact-row{padding:16px 0;border-top:1px solid #29424e}
.contact-row:first-of-type{border-top:none}
.contact-row small{display:block;color:#7f949d;font-size:11px;letter-spacing:.11em;text-transform:uppercase;margin-bottom:6px}
.contact-row a,.contact-row span{color:#fff;line-height:1.55}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.contact-actions .outline{border:1px solid #49616c;padding:12px 16px;font-size:13px;font-weight:700}
.contact-actions .outline:hover{border-color:var(--orange)}
.contact-form{background:#fff;color:var(--ink);padding:34px}
.contact-form h3{font-size:24px;margin-bottom:20px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field{display:flex;flex-direction:column;gap:7px}
.form-field.full{grid-column:1 / -1}
.form-field label{font-size:12px;font-weight:700;color:#40545d}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--line);background:#fff;padding:13px 14px;font:inherit;color:var(--ink)}
.form-field textarea{min-height:130px;resize:vertical}
.form-submit{margin-top:18px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.form-note{font-size:12px;color:#788990}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:30;background:#1f8f4e;color:#fff;padding:13px 17px;border-radius:999px;font-weight:700;font-size:13px;box-shadow:0 8px 26px rgba(0,0,0,.22)}
@media(max-width:900px){
  .contact-head,.contact-wrap,.form-grid{grid-template-columns:1fr;gap:28px}
  .form-field.full{grid-column:auto}
  .whatsapp-float{right:14px;bottom:14px}
}

.industries{background:#fff}
.industries-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-bottom:50px}
.industries-head p{font-size:17px;color:var(--muted)}
.industry-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.industry-card{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:210px}
.industry-card .n{font-size:11px;color:var(--orange);font-weight:800;letter-spacing:.12em;margin-bottom:22px}
.industry-card h3{font-size:22px;margin-bottom:10px}
.industry-card p{font-size:14px;color:var(--muted);margin-bottom:0}
.industry-card:hover{background:#f1f3f2}
.industry-close{margin-top:44px;max-width:900px;font-size:18px;color:#53656d}
@media(max-width:900px){.industries-head,.industry-grid{grid-template-columns:1fr;gap:28px}}

.insights-home{background:#e9ecea}
.insights-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-bottom:44px}
.insights-head p{color:var(--muted);font-size:17px}
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.insight-card{background:#fff;border:1px solid var(--line);padding:28px;min-height:290px;display:flex;flex-direction:column}
.insight-card .cat{font-size:11px;color:var(--orange);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.insight-card h3{font-size:21px;margin:22px 0 12px}
.insight-card p{font-size:14px;color:var(--muted)}
.insight-card .read{margin-top:auto;font-size:13px;font-weight:700}
.insights-more{margin-top:30px}
.insights-index{background:#fff}
.filterline{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0 45px}
.filterline span{border:1px solid var(--line);padding:9px 12px;font-size:12px}
.article-hero{background:var(--ink);color:#fff;padding:80px 12vw}
.article-hero .cat{color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.article-hero h1{font-size:52px;max-width:980px;margin:20px 0}
.article-hero .dek{font-size:19px;color:#c6d0d4;max-width:820px}
.article-meta{font-size:12px;color:#8fa2aa;margin-top:26px}
.article-body{background:#fff;padding:72px 20vw}
.article-body h2{font-size:30px;margin-top:42px}
.article-body p,.article-body li{font-size:17px;line-height:1.75;color:#40545d}
.article-body .draft{border-left:3px solid var(--orange);padding:15px 20px;background:#f4f5f3;font-size:13px;color:#687980;margin-bottom:35px}
.article-related{background:#e9ecea;padding:50px 20vw}
@media(max-width:900px){.insights-head,.insight-grid{grid-template-columns:1fr}.article-hero{padding:60px 7vw}.article-hero h1{font-size:38px}.article-body,.article-related{padding:55px 7vw}}

.compact-method .method-card{min-height:175px;padding:28px}
.compact-method .method-card .n{margin-bottom:18px}
.text-link{display:inline-block;margin-top:14px;font-size:13px;font-weight:800}
.authority{background:var(--ink);color:#fff}
.authority-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-bottom:42px}
.authority-head p{color:#bdc8cd;font-size:17px}
.authority-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #29424e;border-left:1px solid #29424e}
.authority-grid article{padding:32px;border-right:1px solid #29424e;border-bottom:1px solid #29424e;min-height:150px}
.authority-grid strong{display:block;font-size:25px;margin-bottom:12px}
.authority-grid span{display:block;color:#aebdc3;font-size:13px;line-height:1.6}
.industry-compact-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.industry-compact{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;padding:20px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;color:var(--orange)}
.industry-compact strong{font-size:16px;color:var(--ink)}
@media(max-width:900px){.authority-head,.authority-grid,.industry-compact-grid{grid-template-columns:1fr;gap:0}.authority-head{gap:22px;margin-bottom:32px}}

.privacy-check label{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.5}
.privacy-check input{width:auto;margin-top:3px}
.privacy-check a,.privacy-body a{font-weight:700;text-decoration:underline}
.privacy-body h2:first-of-type{margin-top:0}
.mobile-menu-toggle{
  display:none;
  background:transparent;
  border:1px solid #49616c;
  color:#fff;
  font-size:25px;
  width:46px;
  height:46px;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.mobile-menu{
  display:none;
}

@media(max-width:900px){

  .nav{
    position:sticky;
  }

  .nav nav{
    display:none;
  }

  .nav > .btn{
    margin-left:auto;
    margin-right:12px;
  }

  .mobile-menu-toggle{
    display:flex;
  }

  .mobile-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#091e29;
    border-top:1px solid #29424e;
    padding:12px 7vw 20px;
    z-index:50;
  }

  .mobile-menu.open{
    display:block;
  }

  .mobile-menu a{
    display:block;
    color:#fff;
    padding:14px 0;
    border-bottom:1px solid #29424e;
    font-size:15px;
  }

  .mobile-menu a:last-child{
    border-bottom:none;
  }
}
footer a{
  color:#ffffff;
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:600;
}

footer a:hover{
  color:var(--orange);
}