:root{--navy:#08263B;--slate:#5E7F92;--silver:#BFC0C2;--cream:#F5F5F2;--ink:#173344;--line:#dbe1e4}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,Arial,sans-serif;font-weight:300;color:var(--ink);background:var(--cream);line-height:1.7}
h1,h2,h3,.serif{font-family:Didot,'Bodoni MT','Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:1.08}
h1{font-size:clamp(3.8rem,8.5vw,8.4rem);margin:26px 0}
h2{font-size:clamp(2.9rem,5.6vw,5.5rem);margin:14px 0 24px}
h3{font-size:clamp(1.8rem,2.6vw,2.6rem);margin:0 0 18px}
p{margin:0 0 20px}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.container{width:min(1260px,calc(100% - 88px));margin:auto}
.eyebrow{font-size:.69rem;letter-spacing:.23em;font-weight:600;text-transform:uppercase}
.eyebrow:before{content:'';display:inline-block;width:26px;height:1px;background:currentColor;vertical-align:middle;margin-right:13px}
.btn{display:inline-flex;align-items:center;gap:25px;padding:16px 23px;border:1px solid currentColor;font-size:.71rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:.25s;cursor:pointer}
.btn:hover{background:var(--slate);border-color:var(--slate);color:#fff;transform:translateY(-2px)}
.btn-light{background:#f7f8f6;color:var(--navy);border-color:#f7f8f6}
.btn-light:hover{background:var(--silver);border-color:var(--silver);color:var(--navy)}
.nav{position:absolute;top:0;left:0;width:100%;z-index:20;border-bottom:1px solid #ffffff33}
.navinner{height:91px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{color:white;display:flex;flex-direction:column;line-height:1}
.brand-main{font-family:Didot,'Bodoni MT',Georgia,serif;font-size:clamp(1.3rem,2vw,1.85rem);letter-spacing:.07em}
.brand-main .w{color:var(--silver)}
.brand-sub{font-size:.51rem;letter-spacing:.38em;text-align:center;margin-top:8px}
.navlinks{display:flex;align-items:center;gap:33px;color:#e8eef1;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:500}
.navlinks a:hover{color:#a6c6d6}
.navcta{border:1px solid #ffffff7c;padding:11px 15px}
.menu{display:none;background:none;color:white;border:0;font-size:1.6rem;cursor:pointer}
.hero{position:relative;min-height:790px;background:radial-gradient(ellipse at 85% 60%,#31566b 0%,#14384e 31%,#08263b 70%);color:white;overflow:hidden;display:flex;align-items:center;padding:145px 0 100px}
.hero:after{content:'';position:absolute;width:850px;height:850px;border:1px solid #ffffff12;border-radius:50%;right:-350px;top:65px;box-shadow:0 0 0 115px #ffffff05,0 0 0 235px #ffffff04;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:end;position:relative;z-index:2}
.hero h1 span{color:#a9c0ce}
.hero .lead{max-width:600px;font-size:1.07rem;color:#d2dfe7;line-height:1.95}
.hero-side{padding:0 0 25px 40px;border-left:1px solid #ffffff55;max-width:360px;margin-left:auto}
.hero-side .number{font-family:Didot,Georgia,serif;font-size:4rem;color:#b6cbd6;line-height:1}
.hero-side p{font-size:.84rem;color:#d6e1e7;margin-top:13px}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:35px}
.hero-bottom{position:absolute;bottom:24px;left:0;width:100%;color:#a6bfcd;z-index:3;font-size:.62rem;letter-spacing:.19em;display:flex;justify-content:space-between}
.intro{padding:125px 0 110px}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px}
.intro p{font-size:1.05rem;max-width:670px}
.intro strong{font-weight:600}
.pillars{background:white;padding:105px 0 120px}
.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}
.sectionhead p{max-width:375px;font-size:.88rem}
.pillar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#dbe2e6;border:1px solid #dbe2e6}
.pillar{background:#fff;padding:47px 45px 52px;min-height:355px;position:relative;transition:background .25s}
.pillar:hover{background:#f2f6f7}
.pillar .num{color:var(--slate);font-size:.72rem;letter-spacing:.2em;font-weight:600}
.pillar h3{margin-top:45px}
.pillar p{font-size:.88rem;max-width:470px}
.pillar .arrow{position:absolute;right:40px;top:37px;font-size:1.6rem;color:var(--slate)}
.services{padding:120px 0;background:#eaf0f2}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}
.service-list{border-top:1px solid #b4c4cd}
.service{display:flex;gap:24px;justify-content:space-between;border-bottom:1px solid #b4c4cd;padding:23px 0;font-size:.9rem;font-weight:500}
.service span{color:var(--slate)}
.process{background:var(--navy);color:white;padding:115px 0}
.process .sectionhead p{color:#c1d1da}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:70px}
.step{border-top:1px solid #698596;padding-top:25px}
.step .n{color:#a9c2d0;font-family:Didot,Georgia,serif;font-size:2.6rem}
.step h3{font-family:Montserrat,sans-serif;font-weight:500;font-size:1rem;letter-spacing:.02em;margin:22px 0 14px}
.step p{font-size:.82rem;color:#c6d6df}
.difference{padding:125px 0}
.difference-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}
.visual{background:linear-gradient(145deg,#0b2d42,#5e7f92);aspect-ratio:1.05;position:relative;display:grid;place-items:center;overflow:hidden}
.visual:before,.visual:after{content:'';position:absolute;width:60%;aspect-ratio:1;border:1px solid #ffffff40;transform:rotate(45deg)}
.visual:after{width:40%;transform:rotate(45deg)}
.visual span{z-index:1;text-align:center;color:white;font-family:Didot,Georgia,serif;font-size:clamp(2.5rem,5vw,5rem);line-height:1.1}
.difference p{max-width:500px}
.contact{padding:115px 0;background:#dce6eb}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.contact p{max-width:480px}
.form{display:grid;gap:14px}
.form label{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.form input,.form textarea{width:100%;background:#fff;border:1px solid #bdcbd3;padding:15px;color:var(--navy);outline-color:var(--slate);font-size:.9rem}
.form textarea{min-height:130px;resize:vertical}
.form button{background:var(--navy);color:white;border:0;justify-content:space-between}
.form small{font-size:.72rem;color:#496275}
.footer{background:#061d2e;color:#c4d3dc;padding:65px 0 30px}
.footer-top{display:flex;justify-content:space-between;gap:35px;align-items:start}
.footer p{font-size:.79rem;max-width:350px;margin-top:20px}
.footer-links{display:flex;gap:30px;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.footer-bottom{border-top:1px solid #ffffff24;padding-top:25px;margin-top:65px;display:flex;justify-content:space-between;gap:20px;font-size:.7rem}
.footer .brand{display:inline-flex}
.muted{color:#5c7787}

@media(max-width:850px){
.container{width:min(100% - 42px,680px)}
.navinner{height:75px}
.menu{display:block}
.navlinks{display:none;position:absolute;top:75px;left:0;right:0;background:#08263b;padding:25px;flex-direction:column;align-items:stretch}
.navlinks.open{display:flex}
.hero{min-height:780px;padding:150px 0 100px}
.hero-grid,.split,.services-grid,.difference-grid,.contact-grid{grid-template-columns:1fr;gap:36px}
.hero-side{margin:30px 0 0;padding:0 0 0 25px}
.hero h1{font-size:clamp(3.7rem,11vw,6rem)}
.hero-bottom{bottom:17px}
.intro,.pillars,.services,.process,.difference,.contact{padding:80px 0}
.sectionhead{display:block}
.pillar-grid{grid-template-columns:1fr}
.pillar{min-height:300px;padding:35px 30px}
.pillar h3{margin-top:35px}
.steps{grid-template-columns:repeat(2,1fr);gap:35px}
.footer-top,.footer-bottom{flex-direction:column}
.footer-links{flex-wrap:wrap}}

@media(max-width:480px){
.hero{min-height:760px}
.hero h1{font-size:3.5rem}
.hero-side{display:none}
.hero-bottom span:last-child{display:none}
.steps{grid-template-columns:1fr}
.btn{font-size:.64rem}
.brand-main{font-size:1.35rem}}

.ar,.ico-menu,.ico-close{display:inline-block;width:.8em;height:.8em;background:currentColor;vertical-align:-.05em;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.ar{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5'%3E%3Cpath d='M6 18L18 6M8 6h10v10'/%3E%3C/svg%3E")}
.ar.down{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5'%3E%3Cpath d='M12 4v16M6 14l6 6 6-6'/%3E%3C/svg%3E")}
.ico-menu,.ico-close{width:1em;height:1em}
.ico-menu{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18'/%3E%3C/svg%3E")}
.ico-close{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E")}
.pillar .arrow .ar{width:1em;height:1em}
