:root { --ink:#102a43; --ink-deep:#081d31; --blue:#0c4d76; --orange:#ef7d32; --orange-text:#ef7d32; --orange-soft:#fff1e6; --paper:#f8fafb; --white:#fff; --muted:#5e7183; --line:#dce5eb; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
svg { display:block; }
main { overflow:clip; }
.skip-link { position:fixed; z-index:100; top:10px; left:10px; padding:12px 16px; color:var(--ink); background:var(--orange); font-weight:700; transform:translateY(-150%); transition:transform .2s ease; }
.skip-link:focus { transform:translateY(0); }
.svg-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.section-shell { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.header-shell { position:fixed; z-index:50; inset:0 0 auto; color:white; border-bottom:1px solid transparent; transition:background-color .24s ease,box-shadow .24s ease,border-color .24s ease; }
.header-shell.compact { background:rgba(8,29,49,.97); border-color:rgba(255,255,255,.1); box-shadow:0 8px 24px rgba(3,18,31,.16); }
.site-header { width:min(1280px,calc(100% - 48px)); min-height:88px; margin-inline:auto; display:flex; align-items:center; justify-content:space-between; transition:min-height .32s cubic-bezier(.22,1,.36,1); }
.compact .site-header { min-height:70px; }
.brand { display:inline-flex; align-items:center; gap:12px; }
.brand-lockup { display:inline-flex; align-items:center; gap:12px; color:white; }
.brand-lockup-dark { color:var(--ink); }
.brand-monogram { width:40px; height:40px; flex:0 0 auto; }
.monogram-frame { fill:none; stroke:currentColor; stroke-width:1.25; }
.monogram-letters { fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:square; stroke-linejoin:miter; }
.monogram-accent { fill:none; stroke:var(--orange); stroke-width:2.5; }
.brand-copy { display:flex; flex-direction:column; line-height:1.05; }
.brand-copy strong { font-size:17px; font-weight:650; letter-spacing:.015em; white-space:nowrap; }
.brand-copy small { margin-top:5px; color:#a9c0cf; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.site-header nav { display:flex; align-items:center; gap:30px; font-size:15px; font-weight:560; }
.site-header nav a { min-height:44px; display:inline-flex; align-items:center; gap:8px; transition:color .2s ease; }
.site-header nav a:hover { color:var(--orange); }
.section-icon { width:21px; height:21px; flex:0 0 auto; stroke-linecap:square; stroke-linejoin:miter; }
.header-contact { min-height:44px; display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:650; }
.header-contact svg,.button svg,.text-link svg { width:18px; fill:none; stroke:currentColor; stroke-width:1.6; }
.header-contact .section-icon { width:21px; }
.hero { min-height:860px; height:100vh; height:100svh; position:relative; display:flex; align-items:center; overflow:hidden; background:var(--ink-deep); color:white; }
.hero-media { position:absolute; inset:0; }
.hero-media picture,.contact-image picture,.legal-hero-image picture { position:absolute; inset:0; display:block; }
.hero-media img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,20,34,.94) 0%,rgba(4,20,34,.74) 39%,rgba(4,20,34,.18) 73%,rgba(4,20,34,.34) 100%),linear-gradient(0deg,rgba(4,20,34,.54),transparent 40%); }
.hero-inner { position:relative; z-index:2; display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:end; padding-top:96px; }
.hero-copy { max-width:740px; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 24px; color:var(--blue); font-size:11px; font-weight:750; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow>span { width:22px; height:2px; background:var(--orange); }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:30px; font-size:clamp(54px,6.2vw,88px); line-height:.96; letter-spacing:-.057em; font-weight:680; text-shadow:0 4px 34px rgba(0,0,0,.24); }
h1 em,h2 em { color:var(--orange); font-style:normal; font-weight:inherit; }
.section-heading h2 em,.profile-copy h2 em { color:var(--orange-text); }
.hero-intro { max-width:660px; margin-bottom:38px; color:#d5e2e9; font-size:18px; line-height:1.72; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.button { min-height:52px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:16px; font-size:13px; font-weight:750; border-radius:2px; transition:transform .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--ink); color:var(--white); }
.button-primary:hover { background:var(--blue); }
.button-orange { background:var(--orange); color:var(--ink); }
.button-orange:hover { background:#ff9149; }
.text-link { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; }
.text-link:hover { color:var(--orange); }
.hero-index { justify-self:end; width:240px; padding:24px 0 8px; border-top:1px solid rgba(255,255,255,.34); display:grid; grid-template-columns:42px 1fr; gap:14px; }
.hero-index span { color:var(--orange); font-size:10px; font-weight:750; letter-spacing:.14em; }
.hero-index p { margin:0; color:#d1dfe7; font-size:11px; line-height:1.75; letter-spacing:.07em; text-transform:uppercase; }
.scroll-cue { position:absolute; z-index:2; left:max(32px,calc((100% - 1180px)/2)); bottom:30px; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.63); font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.scroll-cue span { width:48px; height:1px; background:var(--orange); }
.competencies,.process-section,.profile-section,.contact-section { scroll-margin-top:70px; }
.context-strip { border-block:1px solid var(--line); background:var(--white); }
.context-strip>div { width:min(1180px,calc(100% - 64px)); min-height:78px; margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.context-strip i { width:4px; height:4px; background:var(--orange); transform:rotate(45deg); }
.competencies { padding-block:140px 150px; }
.section-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:end; margin-bottom:66px; }
.section-heading .section-label { grid-column:1/-1; margin-bottom:-28px; }
.section-label { margin:0 0 25px; display:flex; align-items:center; gap:16px; color:var(--blue); font-size:13px; font-weight:760; letter-spacing:.14em; text-transform:uppercase; }
.section-label .section-icon-large { width:46px; height:46px; padding:9px; color:var(--blue); border:1px solid rgba(12,77,118,.28); }
.process-section .section-label,.contact-section .section-label { color:#b8d2e1; }
.process-section .section-label .section-icon-large,.contact-section .section-label .section-icon-large { color:var(--orange); border-color:rgba(255,255,255,.22); }
.section-heading h2,.process-intro h2,.profile-copy h2 { margin-bottom:0; font-size:clamp(34px,4vw,52px); line-height:1.1; letter-spacing:-.04em; font-weight:650; }
.section-heading>p:last-child { margin:0; color:var(--muted); font-size:16px; line-height:1.75; }
.competency-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.competency-card { min-height:310px; padding:32px 36px 30px; display:grid; grid-template-rows:auto 1fr auto; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.56); transition:background .25s ease,transform .25s ease; }
.competency-card:hover { background:white; transform:translateY(-4px); box-shadow:0 18px 50px rgba(16,42,67,.07); }
.card-number { color:var(--orange-text); font-size:11px; font-weight:750; letter-spacing:.13em; }
.competency-card h3 { margin:36px 0 14px; font-size:23px; letter-spacing:-.025em; }
.competency-card p { max-width:475px; margin-bottom:24px; color:var(--muted); line-height:1.7; }
.competency-card ul { display:flex; gap:8px; margin:0; padding:0; list-style:none; }
.competency-card li { padding:7px 9px; background:#edf3f6; color:var(--blue); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.process-section { padding-block:138px; background:var(--ink-deep); color:white; }
.process-section .section-shell { display:grid; grid-template-columns:.78fr 1.22fr; gap:100px; }
.eyebrow-light { color:#8db7cf; }
.process-intro h2 { margin-bottom:28px; }
.process-intro>p:last-child { max-width:460px; color:#9db0bf; line-height:1.75; }
.process-list { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.15); }
.process-list li { min-height:130px; display:grid; grid-template-columns:62px 1fr; align-items:center; border-bottom:1px solid rgba(255,255,255,.15); }
.process-number { color:var(--orange); font-size:10px; font-weight:750; letter-spacing:.12em; }
.process-list h3 { margin-bottom:8px; font-size:21px; }
.process-list p { margin-bottom:0; color:#9db0bf; font-size:14px; line-height:1.65; }
.profile-section { position:relative; background:white; }
.profile-section::before { content:""; position:absolute; inset:0 auto 0 0; width:max(35vw,calc((100vw - 1180px)/2 + 355px)); background:var(--orange-soft); }
.profile { position:relative; padding-block:120px 108px; display:grid; grid-template-columns:.68fr 1.32fr; gap:100px; align-items:center; }
.profile-label { min-height:390px; padding:43px; display:flex; flex-direction:column; justify-content:space-between; position:relative; }
.profile-label::before { content:""; width:78px; height:3px; position:absolute; top:0; left:43px; background:var(--orange); }
.profile-monogram { font-size:76px; line-height:1; letter-spacing:-.06em; font-weight:750; color:var(--orange-text); opacity:.96; }
.profile-label p { margin-bottom:0; font-size:14px; font-weight:700; line-height:1.55; letter-spacing:.06em; text-transform:uppercase; }
.profile-copy h2 { max-width:680px; margin-bottom:32px; }
.profile-lead { margin-bottom:18px; color:var(--ink); font-size:18px; line-height:1.72; }
.profile-copy>p:not(.section-label):not(.profile-lead) { color:var(--muted); line-height:1.75; }
.qualification-row { margin-top:34px; padding-top:23px; display:flex; flex-wrap:wrap; gap:12px 30px; border-top:1px solid var(--line); }
.qualification-row span { color:var(--blue); font-size:10px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.contact-section { background:var(--ink-deep); color:white; position:relative; overflow:hidden; }
.contact-image { position:absolute; inset:0; }
.contact-image img { width:100%; height:100%; display:block; object-fit:cover; object-position:center right; }
.contact-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,20,34,.96) 0%,rgba(4,20,34,.78) 47%,rgba(4,20,34,.2) 82%),linear-gradient(0deg,rgba(4,20,34,.42),transparent 55%); }
.contact-inner { min-height:570px; padding-block:105px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; position:relative; z-index:1; }
.contact-inner h2 { max-width:800px; margin-bottom:24px; font-size:clamp(40px,5vw,66px); line-height:1.04; letter-spacing:-.045em; }
.contact-inner>p:not(.eyebrow):not(.section-label) { max-width:640px; margin-bottom:38px; color:#bed7e5; font-size:17px; line-height:1.7; }
.button-light { background:white; color:var(--ink); }
.button-light:hover { background:var(--orange-soft); }
.legal-link { margin-top:24px; display:inline-flex; align-items:center; gap:9px; color:#c7dbe6; font-size:12px; font-weight:650; border-bottom:1px solid rgba(199,219,230,.4); padding-bottom:5px; }
.legal-link:hover { color:white; border-color:var(--orange); }
.legal-link svg { width:16px; fill:none; stroke:currentColor; stroke-width:1.6; }
.contact-inner small { margin-top:32px; color:#8db7cf; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
footer { min-height:105px; padding-inline:max(32px,calc((100% - 1180px)/2)); display:flex; align-items:center; justify-content:space-between; gap:28px; background:var(--ink-deep); color:white; }
.brand-footer .brand-copy small { color:#879dad; }
footer>p,footer>span { margin:0; color:#879dad; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }

.legal-page { background:#fff; }
.legal-header { width:min(1180px,calc(100% - 64px)); min-height:94px; margin-inline:auto; display:flex; align-items:center; justify-content:space-between; }
.legal-back { min-height:44px; display:inline-flex; align-items:center; gap:12px; color:var(--blue); font-size:14px; font-weight:650; }
.legal-back span { color:var(--orange); font-size:20px; }
.legal-hero { min-height:410px; position:relative; display:flex; align-items:center; overflow:hidden; color:white; background:var(--ink-deep); }
.legal-hero-image,.legal-hero-shade { position:absolute; inset:0; }
.legal-hero-image img { width:100%; height:100%; object-fit:cover; object-position:72% center; }
.legal-hero-shade { background:linear-gradient(90deg,rgba(4,20,34,.97),rgba(4,20,34,.72) 48%,rgba(4,20,34,.24)); }
.legal-shell { width:min(1040px,calc(100% - 64px)); margin-inline:auto; }
.legal-hero .legal-shell { position:relative; z-index:1; padding-block:70px; }
.legal-hero h1 { margin-bottom:18px; font-size:clamp(52px,6vw,78px); }
.legal-hero p:last-child { max-width:600px; margin:0; color:#c7dbe6; font-size:17px; }
.legal-jump { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.legal-jump .legal-shell { min-height:68px; display:flex; align-items:center; gap:42px; }
.legal-jump a { min-height:44px; display:flex; align-items:center; color:var(--blue); font-size:13px; font-weight:700; }
.legal-jump a:hover { color:var(--orange-text); }
.legal-content { padding-block:78px 130px; }
.legal-notice { margin-bottom:90px; padding:25px 28px; border-left:4px solid var(--orange); background:var(--orange-soft); }
.legal-notice strong { display:block; margin-bottom:8px; color:#ad541b; font-size:12px; letter-spacing:.1em; text-transform:uppercase; }
.legal-notice p { margin:0; color:#654833; line-height:1.7; }
.legal-section { padding-block:82px; scroll-margin-top:68px; border-top:1px solid var(--line); display:grid; grid-template-columns:270px 1fr; gap:68px; }
.legal-section-heading { position:sticky; top:102px; align-self:start; }
.legal-section-heading span { color:var(--orange-text); font-size:11px; font-weight:750; letter-spacing:.14em; }
.legal-section-heading h2 { margin:14px 0 0; font-size:34px; letter-spacing:-.035em; }
.legal-columns { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.legal-content h3 { margin:0 0 13px; color:var(--blue); font-size:17px; }
.legal-content p { margin-bottom:25px; color:var(--muted); line-height:1.78; }
.legal-text h3:not(:first-child) { margin-top:44px; }
.legal-placeholder { display:inline; padding:2px 5px; background:#fff0dc; color:#a84e14; box-decoration-break:clone; -webkit-box-decoration-break:clone; font-size:.88em; font-weight:720; letter-spacing:.025em; }
.legal-footer { min-height:112px; padding-inline:max(32px,calc((100% - 1040px)/2)); }
.brand-lockup-compact .brand-monogram { width:36px; height:36px; }
.brand-lockup-compact .brand-copy strong { font-size:16px; }

a:focus-visible { outline:2px solid white; outline-offset:2px; box-shadow:0 0 0 5px var(--orange-text); }
@media (max-width:900px) {
  .section-shell { width:min(100% - 40px,680px); } .site-header { width:calc(100% - 40px); } .site-header nav { display:none; }
  .hero { min-height:760px; height:100vh; height:100svh; } .hero-inner { grid-template-columns:1fr; align-items:center; padding-top:82px; } .hero-copy { max-width:680px; } .hero-index { justify-self:start; width:230px; }
  .hero-media img { object-position:62% center; }
  .context-strip>div { width:calc(100% - 40px); flex-wrap:wrap; justify-content:center; padding-block:24px; }
  .section-heading { grid-template-columns:1fr; gap:25px; } .section-heading .section-label { margin-bottom:0; }
  .process-section .section-shell { grid-template-columns:1fr; gap:58px; } .process-intro { max-width:650px; }
  .profile-section::before { width:37vw; } .profile { grid-template-columns:.72fr 1.28fr; gap:55px; } .profile-label { min-height:350px; padding:32px; } .profile-label::before { left:32px; }
  .legal-shell { width:min(100% - 40px,720px); } .legal-header { width:calc(100% - 40px); }
  .legal-section { grid-template-columns:1fr; gap:34px; } .legal-section-heading { position:static; }
}
@media (max-width:640px) {
  .section-shell { width:calc(100% - 36px); } .header-shell { background:#081d31; border-bottom-color:rgba(255,255,255,.09); } .site-header { min-height:64px; width:calc(100% - 36px); } .brand-copy small { display:none; }
  .brand-monogram { width:36px; height:36px; } .brand-copy strong { font-size:16px; }
  .compact .site-header { min-height:60px; }
  .header-contact { font-size:0; gap:3px; } .header-contact>.section-icon { width:22px; } .header-contact>svg:last-child { display:none; }
  .hero { min-height:760px; height:calc(100vh - 64px); height:calc(100svh - 64px); margin-top:64px; } .hero-inner { padding-top:24px; gap:38px; } h1 { font-size:clamp(45px,13.2vw,60px); } .hero-intro { font-size:16px; line-height:1.65; }
  .hero-media img { object-position:68% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(4,20,34,.94),rgba(4,20,34,.58)),linear-gradient(0deg,rgba(4,20,34,.7),transparent 65%); }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; } .hero-index { display:none; } .scroll-cue { left:18px; bottom:20px; }
  .context-strip>div { width:calc(100% - 36px); justify-content:flex-start; gap:15px; } .context-strip i { display:none; } .context-strip span { width:calc(50% - 8px); }
  .competencies { padding-block:96px; } .section-heading { margin-bottom:42px; } .section-heading h2,.process-intro h2,.profile-copy h2 { font-size:36px; }
  .competency-grid { grid-template-columns:1fr; } .competency-card { min-height:290px; padding:28px 25px; }
  .process-section { padding-block:94px; } .process-list li { grid-template-columns:48px 1fr; padding-block:22px; } .process-list p { font-size:13px; }
  .profile-section::before { inset:0 0 auto; width:100%; height:330px; } .profile { padding-block:70px 78px; grid-template-columns:1fr; gap:68px; } .profile-label { min-height:220px; padding:22px 16px; } .profile-label::before { left:16px; } .profile-monogram { font-size:62px; } .profile-lead { font-size:17px; }
  .contact-inner { min-height:570px; padding-block:90px; } .contact-inner h2 { font-size:42px; }
  .contact-image img { object-position:66% center; } .contact-shade { background:linear-gradient(90deg,rgba(4,20,34,.96),rgba(4,20,34,.52)),linear-gradient(0deg,rgba(4,20,34,.56),transparent); }
  footer { padding-block:30px; flex-direction:column; align-items:flex-start; } footer>p { display:none; }
  .legal-header { min-height:80px; width:calc(100% - 36px); } .legal-header .brand-copy small { display:block; } .legal-back { font-size:0; } .legal-back span { font-size:22px; }
  .legal-shell { width:calc(100% - 36px); } .legal-hero { min-height:360px; } .legal-hero h1 { font-size:50px; }
  .legal-jump { overflow-x:auto; } .legal-jump .legal-shell { width:max-content; min-width:100%; gap:26px; padding-inline:18px; }
  .legal-content { padding-block:58px 90px; } .legal-notice { margin-bottom:60px; }
  .legal-section { padding-block:62px; } .legal-columns { grid-template-columns:1fr; gap:20px; } .legal-section-heading h2 { font-size:30px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; } }
