:root{--ink:#102b39;--muted:#526572;--blue:#c4dbe9;--line:#dce3e7;--paper:#f5f7f8;--accent:#296686}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;color:var(--ink);background:white;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #438cb1;outline-offset:6px}a:hover{color:var(--accent)}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px;font-size:14px;letter-spacing:1.7px;font-weight:700}.monogram{font-size:30px;letter-spacing:-3px;position:relative;padding-right:9px;font-weight:800}.monogram span{position:absolute;width:5px;height:5px;right:0;bottom:5px;background:#6088a1}nav{display:flex;align-items:center;gap:36px;font-size:14px}.nav-contact{border:1px solid var(--line);padding:14px 18px;display:flex;gap:22px}.hero{display:grid;grid-template-columns:1.07fr 1fr;column-gap:65px;padding-top:67px}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:700;line-height:1.8;margin:0 0 30px;display:flex;align-items:center;gap:10px}.eyebrow>span{width:6px;height:6px;background:#5b859e}.hero h1{font-size:clamp(58px,6.05vw,87px);line-height:1.04;letter-spacing:-4.5px;font-weight:500;margin:0 0 27px}.hero h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#567f96}.intro{font-size:21px;line-height:1.45;max-width:430px;margin:0 0 17px}.hero-description{font-size:16px;color:var(--muted);line-height:1.75;max-width:438px;margin:0 0 29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--ink);color:white;padding:18px 23px;font-size:14px}.button:hover{background:#245069;color:white}.visual{position:relative;min-height:565px;overflow:hidden;background:#102b39;color:#d4e2ea}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:66px 66px}.visual-top{position:absolute;top:28px;left:28px;font-size:10px;letter-spacing:1.9px}.architecture{position:absolute;inset:90px 50px 85px;display:flex;align-items:flex-end;gap:15px;transform:skewY(-17deg)}.pillar{flex:1;background:linear-gradient(90deg,#a1c2d5,#d2e1e9);position:relative;box-shadow:15px 16px 0 #081e2b}.pillar:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 27px,#102b3920 28px,#102b3920 29px)}.pillar-one{height:35%;opacity:.55}.pillar-two{height:54%;opacity:.7}.pillar-three{height:73%;opacity:.85}.pillar-four{height:92%}.visual-bottom{position:absolute;bottom:27px;left:28px;right:28px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.7px}.hero-foot{grid-column:1/-1;display:flex;align-items:center;gap:35px;font-size:10px;letter-spacing:1.2px;color:var(--muted);padding:35px 0}.hero-foot a{margin-left:auto;font-size:24px}.services{background:var(--paper);padding:91px 0 94px}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:0 80px;margin-bottom:50px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:21px}h2{font-size:44px;line-height:1.13;letter-spacing:-1.6px;font-weight:400;margin:0}.section-heading>p:last-child{max-width:340px;align-self:end;font-size:17px;line-height:1.75;color:var(--muted);margin:0 0 3px auto}.service-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c9d3d9}.service-list article{padding:29px 25px 0;border-right:1px solid #c9d3d9;display:flex;flex-direction:column}.service-list article:first-child{padding-left:0}.service-list article:last-child{border-right:0;padding-right:0}.number{font-size:12px;color:#55758a;letter-spacing:1px;margin-bottom:32px}h3{font-size:24px;line-height:1.25;letter-spacing:-.6px;font-weight:400;margin:0 0 18px}.service-list p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 32px}.service-tag{font-size:9px;letter-spacing:1px;margin-top:auto;color:#42677d}.about{display:grid;grid-template-columns:1fr 1.2fr;padding-top:100px;padding-bottom:100px;gap:80px}.about h2{margin-bottom:30px}.about p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:540px;color:var(--muted)}.about p.about-lead{font-size:21px;line-height:1.55;color:var(--ink);margin-bottom:25px}.company{background:var(--ink);color:white;padding:77px 0 80px}.company-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:80px}.company .eyebrow{color:#adc4d1}.company h2{font-size:39px}.company-details{padding-top:5px}.company-details h3{font-size:18px;letter-spacing:.2px}.company address{font-style:normal;color:#b8cbd5;font-size:16px;line-height:1.85}.company-rule{height:1px;background:#ffffff26;margin:24px 0}.company-details p{font-size:15px;line-height:1.7}.company-details .company-small{font-size:13px;color:#b8cbd5}.footer{padding-top:33px;padding-bottom:33px;display:flex;align-items:center;gap:40px}.footer p{margin-left:auto;font-size:11px;color:var(--muted)}.footer>a:last-child{font-size:12px;color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;z-index:2;background:white;padding:15px}.skip:focus{top:12px}@media(min-width:1500px){.hero h1{font-size:87px}}@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:35px}.hero h1{font-size:65px}.visual{min-height:560px}.architecture{left:30px;right:35px;gap:12px}.section-heading{gap:0 35px}.service-list{grid-template-columns:repeat(2,1fr)}.service-list article{padding:28px!important;border-right:0;border-bottom:1px solid #c9d3d9}.service-list article:nth-child(odd){padding-left:0!important;border-right:1px solid #c9d3d9}.service-tag{padding-bottom:5px}.about,.company-inner{gap:40px}.footer{gap:22px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:85px}.brand{font-size:11px;gap:10px;letter-spacing:1px}.monogram{font-size:27px}nav{gap:14px}nav>a:not(.nav-contact){display:none}.nav-contact{font-size:12px;padding:10px 12px;gap:12px}.hero{grid-template-columns:1fr;padding-top:43px;gap:35px}.hero .eyebrow{font-size:10px;letter-spacing:1.1px;margin-bottom:23px}.hero h1{font-size:66px;letter-spacing:-3.5px}.intro{font-size:20px}.hero-description{max-width:100%}.visual{min-height:370px}.architecture{inset:65px 65px 65px}.visual-top{font-size:9px}.hero-foot{font-size:9px;gap:10px;padding:0 0 28px;flex-wrap:wrap}.hero-foot span:nth-child(2){margin-left:auto}.hero-foot a{display:none}.services{padding:60px 0}.section-heading{display:block;margin-bottom:35px}h2{font-size:36px}.section-heading>p:last-child{margin:22px 0 0;max-width:100%;font-size:16px}.service-list article{padding:25px 16px!important}.service-list article:nth-child(even){padding-right:0!important}.service-list h3{font-size:22px}.service-list p{font-size:14px}.service-tag{font-size:9px;letter-spacing:.5px}.number{margin-bottom:22px}.about{display:block;padding-top:60px;padding-bottom:60px}.about .eyebrow{margin-bottom:24px}.company{padding:55px 0}.company-inner{display:block}.company h2{font-size:34px;margin-bottom:40px}.company-details{max-width:100%}.footer{flex-wrap:wrap;padding-top:25px;padding-bottom:25px;gap:21px}.footer .brand{width:100%}.footer p{margin:0;font-size:10px}.footer>a:last-child{margin-left:auto;font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep secondary labels legible across screen sizes. */
.service-tag{font-size:12px;letter-spacing:.45px;line-height:1.5}.visual-top,.visual-bottom,.hero-foot,.footer p,.footer>a:last-child{font-size:12px}.about>.eyebrow{align-self:start}.hero-foot{letter-spacing:.6px}@media(max-width:700px){.service-list{grid-template-columns:1fr}.service-list article,.service-list article:nth-child(odd){padding:26px 0!important;border-right:0}.service-list h3{font-size:25px}.service-list p{font-size:16px}.service-list h3 br{display:none}.number{margin-bottom:15px}.service-tag{font-size:12px}.hero-foot{display:block}.hero-foot>span{display:block;line-height:1.9}.hero h1{font-size:clamp(50px,16vw,66px)}.visual-top{font-size:10px}.footer p,.footer>a:last-child{font-size:12px}}
.footer-legal{display:flex;gap:22px;font-size:14px}.footer-legal a{display:inline-block!important}.legal-page{padding-top:65px;padding-bottom:95px}.legal-heading{border-bottom:1px solid var(--line);padding-bottom:35px;margin-bottom:45px}.legal-heading h1{font-weight:400;font-size:clamp(42px,5vw,68px);letter-spacing:-2px;margin:0 0 20px}.legal-heading>p:not(.eyebrow){font-size:18px;line-height:1.6;color:var(--muted)}.legal-heading .legal-date{font-size:14px!important;margin-top:24px}.legal-layout{display:grid;grid-template-columns:250px minmax(0,760px);gap:70px}.legal-toc{display:flex;flex-direction:column;align-items:flex-start;gap:17px;position:sticky;top:32px}.legal-toc a{font-size:14px;line-height:1.5}.legal-content section{margin-bottom:40px;scroll-margin-top:32px}.legal-content h2{font-size:28px;letter-spacing:-.6px;margin:0 0 18px;line-height:1.3}.legal-content p,.legal-content li,.legal-content address{font-size:16px;line-height:1.85;color:var(--muted)}.legal-content address{font-style:normal;color:var(--ink)}.legal-content a{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}.legal-content ul{padding-left:22px}.legal-content section:last-child{margin-bottom:0}.legal-page+.footer{border-top:1px solid var(--line)}@media(max-width:800px){.legal-layout{grid-template-columns:1fr;gap:35px}.legal-toc{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px 22px;border-bottom:1px solid var(--line);padding-bottom:25px}.legal-page{padding-top:40px;padding-bottom:55px}.legal-heading{margin-bottom:30px}.footer-legal{gap:20px;margin-left:auto}.legal-content h2{font-size:25px}}
@media(max-width:700px){.legal-toc>a{display:inline-block!important}}
/* Expanded homepage content. */
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.service-scope{border-top:1px solid #c9d3d9;padding-top:20px;margin-bottom:28px}.service-list .service-scope p{font-size:12px;color:var(--ink);margin:0 0 12px;font-weight:700;letter-spacing:.4px}.service-scope ul{padding-left:16px;margin:0}.service-scope li{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 9px}.engagement{padding:85px 0;background:var(--paper)}.engagement-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:0;gap:40px}.engagement-steps li{border-top:1px solid #c9d3d9;padding-top:25px}.engagement-steps .number{display:block;margin-bottom:25px}.engagement-steps p,.engagement-note{font-size:16px;line-height:1.8;color:var(--muted)}.engagement-note{font-size:14px;border-top:1px solid var(--line);margin:35px 0 0;padding-top:24px}.questions{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding-top:90px;padding-bottom:90px}.question-list details{border-top:1px solid var(--line)}.question-list details:last-child{border-bottom:1px solid var(--line)}.question-list summary{cursor:pointer;list-style:none;font-size:18px;line-height:1.5;position:relative;padding:24px 30px 24px 0}.question-list summary::-webkit-details-marker{display:none}.question-list summary:after{content:'+';position:absolute;right:0;top:23px;font-size:24px;color:var(--accent)}.question-list details[open] summary:after{content:'−'}.question-list summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.question-list p{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 25px}.contact-band{background:#e8f0f4;padding:70px 0}.contact-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}.contact-inner h2{margin-bottom:24px}.contact-inner p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:480px;color:var(--muted)}.contact-action .contact-email{display:block;margin:22px 0;font-size:19px;overflow-wrap:anywhere}.contact-action p{font-size:14px!important}.contact-action p a{text-decoration:underline;text-underline-offset:3px}.company-details a:hover{color:#d5e5ee}@media(max-width:900px){.engagement-steps{gap:24px}.questions,.contact-inner{gap:35px}}@media(max-width:700px){.hero-actions{gap:20px}.hero-actions .button{gap:20px}.service-scope li{font-size:16px}.engagement{padding:60px 0}.engagement-steps{grid-template-columns:1fr;gap:20px}.engagement-steps .number{margin-bottom:17px}.questions{grid-template-columns:1fr;padding-top:60px;padding-bottom:60px;gap:32px}.contact-band{padding:55px 0}.contact-inner{grid-template-columns:1fr;gap:15px}.question-list summary{font-size:17px}.contact-action .button{gap:20px}}
