
:root{
  --navy:#031733;
  --navy2:#0A2E63;
  --blue:#0E4E97;
  --gold:#D5AB4B;
  --gold2:#F0D689;
  --cream:#F6F2E9;
  --paper:#FBFBFA;
  --ink:#16233A;
  --muted:#68758A;
  --line:#DFE5EC;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:99;background-image:radial-gradient(#000 .55px,transparent .55px);background-size:5px 5px}
.shell{width:min(1180px,calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.91);backdrop-filter:blur(18px);border-bottom:1px solid rgba(3,23,51,.08)}
.nav-shell{height:92px;display:flex;align-items:center;justify-content:space-between}
.brand img{width:174px;height:72px;object-fit:contain;object-position:left center}
.main-nav{display:flex;align-items:center;gap:30px}
.main-nav a{text-decoration:none;color:var(--navy);font-size:13px;letter-spacing:.02em}
.outline-link{border:1px solid rgba(213,171,75,.75);padding:12px 16px}
.menu-btn{display:none;background:none;border:0;font-size:24px;color:var(--navy)}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--blue)}
.gold{color:var(--gold2)}
.hero{position:relative;min-height:790px;padding:105px 0 88px;background:linear-gradient(125deg,#fff 0%,#F8FAFC 54%,#EEF3F9 100%);overflow:hidden}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.95;pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.38fr .62fr;gap:76px;align-items:center}
.hero h1,.section h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--navy);margin:0}
.hero h1{font-size:70px;line-height:1.015;letter-spacing:-.042em;margin-top:17px}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero-text{font-size:18px;line-height:1.72;color:var(--muted);max-width:780px;margin:27px 0 0}
.hero-actions{display:flex;gap:13px;margin-top:31px}
.button{display:inline-block;text-decoration:none;padding:15px 19px;font-size:13px;font-weight:750;transition:.2s}
.button:hover{transform:translateY(-2px)}
.button-dark{background:var(--navy);color:#fff;box-shadow:0 16px 35px rgba(3,23,51,.16)}
.button-light{border:1px solid #CAD4DF;color:var(--navy);background:rgba(255,255,255,.65)}
.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid #D6DFE8;padding-top:23px;margin-top:46px}
.hero-proof div{display:flex;flex-direction:column;gap:5px}
.hero-proof strong{font-size:16px;color:var(--navy)}
.hero-proof span{font-size:11.5px;line-height:1.4;color:var(--muted)}
.hero-card{background:linear-gradient(155deg,#041735 0%,#0A3168 100%);padding:44px 37px;color:white;box-shadow:0 36px 85px rgba(3,23,51,.28);position:relative;overflow:hidden}
.hero-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-110px;top:-110px;background:radial-gradient(circle,rgba(213,171,75,.24),transparent 68%)}
.hero-card-top{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.sun-mark{width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#F4D678,#C79731 75%);box-shadow:0 0 35px rgba(213,171,75,.28)}
.hero-card-top span{font-size:10px;letter-spacing:.2em;color:#E6CB88}
.hero-card-title{font-family:Georgia,serif;font-size:30px;line-height:1.14;margin:8px 0 24px}
.pillar{display:grid;grid-template-columns:35px 1fr;align-items:center;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.pillar span{font-size:10px;color:#E0C47C}.pillar b{font-family:Georgia,serif;font-size:20px;font-weight:400}
.hero-card p{font-size:12.5px;line-height:1.65;color:#C8D4E2;margin:24px 0 0}
.brand-strip{background:#021126;color:#C7D1DF}
.strip-grid{min-height:56px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;text-align:center;font-size:9.5px;letter-spacing:.2em;border-left:1px solid rgba(255,255,255,.08)}
.strip-grid div{height:56px;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,.08)}
.section{padding:96px 0}
.about{background:white}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}
.section h2{font-size:46px;line-height:1.1;margin-top:13px}
.about-copy p{font-size:15.5px;line-height:1.78;color:var(--muted);margin-top:0}
.about-copy .large-copy{font-size:19px;line-height:1.65;color:#44536A}
.gold-quote{border-left:3px solid var(--gold);padding:4px 0 4px 22px;margin-top:28px;font-family:Georgia,serif;font-size:21px;line-height:1.5;color:var(--navy)}
.services{background:var(--cream)}
.section-heading{display:flex;justify-content:space-between;gap:80px;align-items:end;margin-bottom:40px}
.section-heading>p{max-width:420px;line-height:1.7;color:var(--muted);margin:0}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-card{background:#fff;border:1px solid #E2E6EA;padding:27px 24px 28px;min-height:330px;transition:.24s;position:relative;overflow:hidden}
.service-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:.25s}
.service-card:hover{transform:translateY(-6px);box-shadow:0 21px 48px rgba(6,31,69,.08);border-color:#D9C58D}
.service-card:hover:before{transform:scaleX(1)}
.service-symbol{width:42px;height:42px;border:1px solid #D6BD7A;color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:19px}
.service-number{font-size:10px;letter-spacing:.18em;color:#99A4B1;margin-top:28px}
.service-card h3{font-family:Georgia,serif;font-size:23px;font-weight:400;color:var(--navy);margin:9px 0 12px}
.service-card p{font-size:13.5px;line-height:1.7;color:var(--muted)}
.service-link{display:block;position:absolute;bottom:25px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#B38A2E}
.process{background:#fff}
.process-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}
.process-grid>div:first-child p{color:var(--muted)}
.timeline{border-top:1px solid #DCE3EA}
.timeline-item{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid #DCE3EA;align-items:start}
.timeline-item>span{font-size:10px;color:#B48A2D;margin-top:6px}
.timeline-item h4{font-family:Georgia,serif;color:var(--navy);font-size:22px;font-weight:400;margin:0 0 4px}
.timeline-item p{font-size:13px;color:var(--muted);margin:0;line-height:1.55}
.gsp{background:linear-gradient(135deg,#03142F 0%,#0B346C 100%);color:white}
.gsp-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:92px;align-items:center}
.gsp h2{color:white;font-size:49px}
.gsp p{color:#C6D2DF;line-height:1.77}
.gold-link{display:inline-block;color:white;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px;margin-top:8px}
.quote-panel{border:1px solid rgba(213,171,75,.6);padding:44px;position:relative}
.quote-mark{position:absolute;top:-20px;left:22px;font-family:Georgia,serif;font-size:80px;color:var(--gold)}
.quote-panel blockquote{font-family:Georgia,serif;font-size:27px;line-height:1.58;margin:23px 0 28px}
.quote-caption{font-size:9.5px;letter-spacing:.18em;color:#CBD5E2}
.network{background:#F8FAFC}
.network-map{height:390px;position:relative;background:linear-gradient(145deg,#061A3B,#0B356D);border:1px solid rgba(213,171,75,.35);overflow:hidden}
.network-map:before,.network-map:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.network-map:before{width:520px;height:520px;left:330px;top:-70px}.network-map:after{width:760px;height:760px;left:205px;top:-190px}
.map-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:135px;height:135px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 70px rgba(213,171,75,.18)}
.map-center span{font-family:Georgia,serif;font-size:30px;color:var(--navy)}.map-center small{font-size:9px;color:#6E7A8E;text-align:center;margin-top:4px}
.region{position:absolute;color:white}.region strong{display:block;font-family:Georgia,serif;font-size:23px;font-weight:400}.region span{display:block;font-size:11px;color:#C3CFDE;margin-top:4px}
.r1{left:8%;top:26%}.r2{left:24%;bottom:17%}.r3{right:8%;top:32%}
.map-lines:before,.map-lines:after{content:"";position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(213,171,75,.7),transparent);transform-origin:center}
.map-lines:before{width:600px;left:285px;top:188px;transform:rotate(-9deg)}
.map-lines:after{width:600px;left:285px;top:205px;transform:rotate(12deg)}
.team{background:#fff}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.person{border:1px solid #E1E6EC;background:#FBFCFE;overflow:hidden;transition:.22s}.person:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(5,26,61,.08)}
.portrait{height:220px;display:flex;align-items:flex-end;padding:24px;position:relative;overflow:hidden}
.portrait:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-45px;top:-45px;border:1px solid rgba(255,255,255,.14)}
.portrait span{font-family:Georgia,serif;font-size:38px;color:white;position:relative}
.p1{background:linear-gradient(145deg,#061A3B,#0E4F98)}.p2{background:linear-gradient(145deg,#102A4D,#586F85)}.p3{background:linear-gradient(145deg,#071A39,#2A5482)}.p4{background:linear-gradient(145deg,#0A2E63,#0E4F98)}
.person-body{padding:22px}.person-body h3{font-family:Georgia,serif;font-weight:400;font-size:21px;color:var(--navy);margin:0 0 6px}.role{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#B0872D;font-weight:700}.person-body p{font-size:13px;line-height:1.66;color:var(--muted)}
.portrait-note{font-size:11.5px;color:#8B96A5;margin-top:14px}
.call{background:var(--cream)}
.call-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}
.call-grid>div:first-child p{color:var(--muted)}
.call-list{border-top:1px solid #D8D1C3}
.call-list>div{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid #D8D1C3;align-items:center}
.call-list span{font-size:10px;color:#B0872D}.call-list p{font-family:Georgia,serif;font-size:20px;color:var(--navy);margin:0}
.contact{position:relative;background:#03142F;color:white;overflow:hidden}
.contact-glow{position:absolute;width:560px;height:560px;right:-200px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(213,171,75,.2),transparent 68%)}
.contact-grid{display:grid;grid-template-columns:1fr .75fr;gap:90px;align-items:center;position:relative}
.contact h2{color:white;font-size:50px}.contact p{color:#C8D4E1}
.contact-card{background:white;color:var(--navy);padding:34px 36px;display:flex;flex-direction:column;gap:8px;box-shadow:0 28px 70px rgba(0,0,0,.18)}
.contact-label{font-size:10px;letter-spacing:.19em;color:#AF852A;margin-bottom:8px}.contact-card strong{font-family:Georgia,serif;font-size:22px;font-weight:400}.contact-card span,.contact-card a{font-size:13px;color:#59687C;text-decoration:none}.separator{height:1px;background:#E3E8EE;margin:10px 0}
footer{background:#020B1B;color:#9DAABB;padding:21px 0}.footer-inner{display:flex;justify-content:space-between;font-size:11px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:960px){
  .main-nav{display:none}.menu-btn{display:block}.main-nav.open{display:flex;position:absolute;top:92px;right:24px;flex-direction:column;align-items:flex-start;background:white;padding:22px;box-shadow:0 18px 45px rgba(3,23,51,.15)}
  .hero-grid,.about-grid,.process-grid,.gsp-grid,.call-grid,.contact-grid{grid-template-columns:1fr}
  .service-grid,.team-grid{grid-template-columns:1fr 1fr}
  .hero{min-height:auto}.hero h1{font-size:52px}
}
@media(max-width:620px){
  .shell{width:min(100% - 28px,1180px)}.nav-shell{height:82px}.brand img{width:138px}
  .hero{padding:65px 0}.hero h1{font-size:40px}.hero-proof,.service-grid,.team-grid,.strip-grid{grid-template-columns:1fr}
  .brand-strip{display:none}.section{padding:68px 0}.section-heading{display:block}.section-heading>p{margin-top:18px}
  .network-map{height:520px}.r1{left:8%;top:12%}.r2{left:8%;bottom:12%}.r3{right:7%;top:16%}
  .map-center{width:120px;height:120px}.footer-inner{display:grid;gap:7px}
}

.portrait.photo {
    padding: 0;
}

.portrait.photo::before {
    display: none;
}

.portrait.photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
