*{box-sizing:border-box}
:root{--ink:#102b3c;--navy:#103b56;--paper:#fbfcfc;--line:#dfe6e9;--muted:#6b7c85}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif}
header{height:88px;display:flex;align-items:center;padding:0 5.5vw;background:#fff;gap:42px;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(16,43,60,.09)}
.brand{display:grid;grid-template-columns:auto auto;align-items:end;gap:8px;text-decoration:none;color:var(--ink);min-width:300px}
.brand b{font-family:Georgia,serif;font-size:33px;font-weight:400;letter-spacing:-2px}
.brand span{font-size:13px;margin-bottom:6px}
.brand small{grid-column:1/3;font-size:7px;letter-spacing:.4px;color:#71808a}
nav{margin-left:auto;display:flex;gap:30px}
nav a{font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#183447}
.lang{border:0;background:none;color:#183447;cursor:pointer}
.kicker{font-size:9px;letter-spacing:2.2px;font-weight:700;margin-bottom:20px}
.hero{min-height:720px;display:grid;grid-template-columns:46% 54%;background:#fff}
.heroCopy{padding:145px 7vw 100px}
.hero h1,.intro h2,.businessVisual h2,.approach h2,.team h2,.contact h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-2.4px}
.hero h1{font-size:64px;line-height:.98;max-width:620px;margin:0 0 24px}
.hero p{max-width:470px;color:#60727d;line-height:1.7;font-size:15px}
.cta{display:inline-block;margin-top:24px;padding:14px 0;border-bottom:1px solid var(--ink);color:var(--ink);text-decoration:none;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.heroVisual{position:relative;overflow:hidden;background:#0f3d59}
.heroVisual img{width:100%;height:100%;object-fit:cover;display:block}
.glass{position:absolute;right:5%;bottom:5%;background:rgba(250,252,252,.91);backdrop-filter:blur(10px);padding:26px 32px;display:grid;gap:12px;font-size:11px;box-shadow:0 20px 60px rgba(0,0,0,.08)}
.intro{padding:115px 7vw 60px;background:#f7f9fa}
.intro h2{font-size:52px;margin:0}
.services{background:#fff}
.services article{min-height:190px;padding:50px 7vw;border-top:1px solid #e3e9ed;background:#fff}
.services article:nth-child(even){background:#f7f9fa}
.services h3{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:0 0 16px}
.services p{max-width:680px;margin:0;color:#62747e;line-height:1.7;font-size:14px}
.businessVisual{position:relative;height:560px;overflow:hidden;background:#0c3047}
.businessVisual img{width:100%;height:100%;object-fit:cover;display:block}
.businessVisual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,35,52,.72) 0%,rgba(7,35,52,.30) 48%,rgba(7,35,52,.04) 100%)}
.businessVisualText{position:absolute;z-index:2;left:7vw;bottom:70px;color:#fff}
.businessVisualText span{font-size:9px;letter-spacing:2.5px}
.businessVisualText h2{font-size:48px;line-height:1.04;margin:18px 0 0}
.editorialImages{display:grid;grid-template-columns:1.35fr .65fr;min-height:520px;background:#fff}
.editorialLarge,.editorialSmall{position:relative;overflow:hidden}
.editorialLarge img,.editorialSmall img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.editorialLarge:hover img,.editorialSmall:hover img{transform:scale(1.025)}
.editorialCaption{position:absolute;left:0;bottom:0;background:#fff;padding:22px 30px;font-size:8px;letter-spacing:1.8px;color:#506773}
.approach{display:grid;grid-template-columns:56% 44%;min-height:660px;background:var(--navy);color:#fff}
.approachText{padding:100px 7vw}
.approach h2{font-size:52px;margin:8px 0 20px}
.approachText>p{color:#c2d0d8}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:70px;border-top:1px solid rgba(255,255,255,.22);padding-top:30px}
.three b,.three small{display:block}
.three b{font-family:Georgia,serif;font-weight:400;font-size:17px}
.three small{margin-top:9px;color:#b9c8d0;line-height:1.5}
.approachImage{overflow:hidden}
.approachImage img{width:100%;height:100%;object-fit:cover;display:block}
.team{padding:120px 7vw;background:#fff;display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;align-items:start}
.team h2{font-size:50px;line-height:1.02;margin:0 0 25px}
.team p{font-size:14px;max-width:500px;color:#60727d;line-height:1.8}
.people{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.person{margin:0}
.person img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.person div{padding:20px 0;border-bottom:1px solid var(--line)}
.person h3{font-family:Georgia,serif;font-weight:400;font-size:25px;margin:0 0 7px}
.person span{font-size:10px;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:115px 7vw;background:var(--navy);color:#fff}
.contact h2{font-size:52px}
.contact a{color:#fff}
.contact form{display:grid;gap:12px}
.contact input,.contact select,.contact textarea{width:100%;border:0;border-bottom:1px solid #7792a2;background:transparent;padding:15px 4px;color:#fff;border-radius:0}
.contact textarea{min-height:90px}
.contact option{color:var(--ink)}
.contact button{margin-top:18px;border:0;background:#fff;color:var(--navy);padding:16px 20px;width:180px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;cursor:pointer}
.trap{position:absolute;left:-9999px}
footer{background:#092c41;color:#b9c9d2;padding:32px 7vw;display:flex;align-items:center;gap:40px;font-size:10px}
.inverse{color:#fff;margin-right:auto;min-width:auto}
.inverse b{font-size:27px}
section{scroll-margin-top:88px}
.heroVisual img,.approachImage img,.businessVisual img,.editorialImages img{filter:saturate(.78) contrast(1.02)}
@media(max-width:820px){
header{height:76px;padding:0 5vw}.brand{min-width:0}.brand small,nav{display:none}
.hero{grid-template-columns:1fr;min-height:auto}.heroCopy{padding:85px 7vw 70px}.hero h1{font-size:46px}.heroVisual{height:430px}
.glass{left:6%;right:6%;bottom:6%}
.intro h2,.approach h2,.team h2,.contact h2{font-size:39px}
.businessVisual{height:430px}.businessVisualText{left:7vw;bottom:45px}.businessVisualText h2{font-size:36px}
.editorialImages{grid-template-columns:1fr}.editorialLarge{height:420px}.editorialSmall{height:350px}
.approach{grid-template-columns:1fr}.approachImage{height:390px}.three{grid-template-columns:1fr;margin-top:45px}
.team{grid-template-columns:1fr;padding:80px 7vw}.people{grid-template-columns:1fr 1fr}
.contact{grid-template-columns:1fr}footer{flex-wrap:wrap}
}
@media(max-width:560px){.people{grid-template-columns:1fr}.person img{aspect-ratio:4/4.7}}