@font-face{font-family:Manrope;src:url('assets/fonts/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--navy:#102b50;--deep:#081c34;--copper:#b86e35;--accent:#edb484;--paper:#f7f8fa;--white:#fff;--ink:#132e4b;--muted:#576577;--line:#dce2e9;--max:1160px}
*{box-sizing:border-box}html{scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 Manrope,Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b45b22;outline-offset:6px}.wrap{width:min(var(--max),calc(100% - 104px));margin:auto}.preview-bar{display:flex;justify-content:center;align-items:center;gap:14px;padding:8px 20px;background:#fff;border-bottom:1px solid var(--line);font-size:.8125rem}.preview-bar a{font-weight:600}.skip{position:absolute;top:-100px;left:20px;z-index:10;padding:12px;background:#fff}.skip:focus{top:10px}.masthead{background:var(--deep);color:#fff}.header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:27px 0;border-bottom:1px solid #ffffff20}.brand{display:flex;gap:14px;align-items:center;text-decoration:none}.brand img{width:53px;height:48px;object-fit:contain}.brand-name{font-size:.98rem;font-weight:800;letter-spacing:.13em}.brand-name small{display:block;font-size:.66rem;font-weight:400;letter-spacing:.19em;margin-top:3px}.nav{display:flex;align-items:center;gap:28px;font-size:.875rem}.nav a{text-decoration:none}.nav a:hover{color:var(--accent)}.nav .header-contact{padding:9px 17px;border:1px solid #ffffff50;border-radius:40px}.menu-toggle{display:none;background:none;border:1px solid #ffffff60;padding:8px 13px;color:#fff;border-radius:4px}
.hero{position:relative;overflow:hidden;padding:69px 0 94px;background:radial-gradient(ellipse at 95% 15%,#284567 0,transparent 43%),var(--deep);color:#fff}.hero::after{content:'';position:absolute;width:650px;height:650px;border:1px solid #a7bdd124;border-radius:50%;right:-375px;top:-160px;box-shadow:0 0 0 75px #ffffff03,0 0 0 150px #ffffff02;pointer-events:none}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 290px;gap:70px}.kicker{display:flex;align-items:center;gap:16px;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:600;margin:0 0 26px;color:#9c6237}.kicker::before{content:'';width:30px;height:1px;background:currentColor}.hero .kicker{color:var(--accent)}h1{font-size:clamp(3rem,5.9vw,5.35rem);line-height:1.12;letter-spacing:-.065em;font-weight:600;margin:0 0 24px;max-width:760px}h1 em{font-family:Georgia,serif;font-size:1.07em;font-weight:400;letter-spacing:-.06em;color:var(--accent)}.lead{font-size:1.06rem;line-height:1.8;color:#c7d3e0;max-width:560px;margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:64px;padding:10px 28px 10px 11px;border:1px solid var(--accent);border-radius:100px;background:var(--accent);box-shadow:0 8px 26px #0002;color:var(--deep);text-decoration:none;font-size:.9375rem;font-weight:800;cursor:pointer;transition:box-shadow .2s}.button:active{box-shadow:0 2px 8px #0002}.button .icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:50%}.button svg{width:23px;height:23px;display:block}.contact-note{display:block;color:#b7c8d8;font-size:.8125rem;margin-top:15px}.hero-aside{padding-top:66px}.hero-aside .overline{color:#a5b6c8;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:18px}.hero-aside b{font-weight:400;letter-spacing:-.1em;font-size:7.5rem;line-height:.95;color:#f8fafc;display:block}.hero-aside p{font-size:1rem;line-height:1.6;color:#c7d3e0;margin:18px 0 28px}.hero-aside .aside-bottom{border-top:1px solid #ffffff30;padding-top:20px;font-size:.875rem;max-width:245px}
.services{position:relative;margin-top:-32px;z-index:2}.section-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#80502e;font-weight:600}.services-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:32px}.service-panel{background:#fff;box-shadow:0 25px 60px #102b5010;padding:40px 48px 30px;border-top:3px solid var(--copper)}.services-intro h2{font-size:1.75rem;letter-spacing:-.055em;line-height:1.3;margin:5px 0 0;font-weight:600}.services-intro p{font-size:.875rem;color:var(--muted);max-width:230px;margin:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.service-item{display:flex;align-items:flex-start;gap:19px;border-top:1px solid var(--line);padding:27px 0}.service-no{font-size:.8125rem;color:#8c542e;padding-top:5px}.service-item h3{font-size:1.12rem;font-weight:600;line-height:1.45;letter-spacing:-.025em;margin:0 0 8px}.service-item p{font-size:.9375rem;color:var(--muted);line-height:1.65;margin:0;max-width:430px}.all-services{border-top:1px solid var(--line);margin-top:7px}.all-services summary{padding:24px 0 0;cursor:pointer;font-size:.9375rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px}.all-services summary::after{content:'+';font-size:1.6rem;line-height:1;color:#8c542e}.all-services[open] summary::after{content:'−'}.all-services ul{columns:2;column-gap:50px;padding:10px 0 0 20px;line-height:1.8;font-size:.875rem}.all-services li{break-inside:avoid;padding:8px 0}.unknown-service{font-size:.875rem;color:var(--muted);margin:20px 0 0}.unknown-service a{color:var(--navy);font-weight:600;text-underline-offset:5px}
.section{padding:92px 0}.section h2{font-size:clamp(2rem,3.1vw,3.2rem);font-weight:600;line-height:1.18;letter-spacing:-.05em;margin:0}.section h2 em{font-family:Georgia,serif;font-weight:400;color:#995627}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:38px}.section-heading p{max-width:340px;color:var(--muted);font-size:.9375rem;margin:0}.project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:25px}.project-card{min-width:0;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}.project-card.featured{grid-row:span 2}.project-card .project-visual{aspect-ratio:2.8;display:grid;place-items:center;position:relative;background:#e6ebf0;border-bottom:1px solid var(--line);overflow:hidden}.project-card.featured .project-visual{aspect-ratio:1.27;flex:1}.project-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.project-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:25px;color:#5b697a}.project-placeholder .plus{font-size:2.5rem;line-height:1;color:#8e9bab;font-weight:400}.project-placeholder span{font-size:.8125rem}.project-body{padding:24px 28px}.project-body .project-tag{color:#80502e;font-size:.6875rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.project-body h3{font-size:1.25rem;line-height:1.4;letter-spacing:-.025em;font-weight:600;margin:9px 0}.project-meta{font-size:.8125rem;color:var(--muted);margin:0 0 12px}.project-body .project-summary{font-size:.875rem;color:var(--muted);margin:0}.project-body button{background:none;color:var(--navy);font-size:.875rem;border:0;border-bottom:1px solid var(--copper);padding:8px 0 2px;margin-top:10px;cursor:pointer}.portfolio-preview-note{font-size:.8125rem;color:var(--muted);margin:22px 0 0;max-width:750px}.team{margin-top:82px;background:var(--navy);color:#fff;position:relative;overflow:hidden}.team-grid{display:grid;grid-template-columns:430px 1fr;gap:90px;align-items:center}.team-portrait{position:relative;align-self:stretch;min-height:545px}.team-portrait::before{content:'';position:absolute;left:0;right:0;top:20px;bottom:35px;border:1px solid #b8cad13b;border-radius:210px 210px 0 0}.team-portrait img{position:absolute;inset:auto 0 -65px;width:100%;height:680px;object-fit:contain;object-position:bottom}.team .kicker{color:var(--accent)}.team h2{font-size:clamp(2.2rem,3.8vw,3.5rem)}.team h2 em{color:var(--accent)}.team-copy{padding:68px 0}.team-copy p{color:#cfdae6;max-width:450px;margin:24px 0 28px;line-height:1.85}.team-signature{border-top:1px solid #ffffff30;padding-top:21px}.team-signature strong{display:block;font-size:.9375rem;font-weight:600}.team-signature span{font-size:.8125rem;color:#bacbdd}.contact{background:#e8edf3}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:start}.contact p{color:var(--muted);font-size:1rem;margin:20px 0 0;max-width:480px}.contact-steps{margin-bottom:25px}.contact-steps div{display:flex;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid #c8d3df;font-size:.9375rem}.contact-steps span{font-size:.75rem;color:#865131}.contact .button{box-shadow:0 5px 15px #102b5015}.footer{background:var(--deep);color:#d0dae5;padding:36px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;font-size:.8125rem}.footer a{text-underline-offset:5px}.footer p{margin:0}.dialog{max-width:620px;width:calc(100% - 40px);padding:36px;border:1px solid var(--line);color:var(--ink)}.dialog::backdrop{background:#06172acf}.dialog h2{font-size:1.75rem;line-height:1.3}.dialog button{padding:10px 18px;background:var(--navy);color:#fff;border:0;cursor:pointer}.dialog p{white-space:pre-line}.editor-link{font-weight:600}
@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:116px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.nav{gap:17px;font-size:.8125rem}.hero-inner{grid-template-columns:1fr 210px;gap:30px}.hero-aside b{font-size:6.5rem}.hero-aside{padding-top:44px}.service-panel{padding:32px}.service-grid{gap:0 30px}.team-grid{grid-template-columns:330px 1fr;gap:45px}.team-portrait img{height:615px}.contact-grid{gap:45px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.preview-bar{font-size:.6875rem;gap:8px;padding:8px 15px;justify-content:space-between}.header{padding:20px 0}.brand{gap:10px}.brand img{width:42px;height:38px}.brand-name{font-size:.8rem;letter-spacing:.08em}.brand-name small{font-size:.56rem;letter-spacing:.13em}.menu-toggle{display:block;font-size:.8125rem}.nav{display:none;position:absolute;z-index:6;left:20px;right:20px;top:111px;background:var(--navy);padding:24px;flex-direction:column;align-items:flex-start;box-shadow:0 10px 30px #0004}.nav.open{display:flex}.hero{padding:41px 0 64px}.hero-inner{grid-template-columns:1fr;gap:0}.kicker{font-size:.6875rem;letter-spacing:.1em;gap:10px;margin-bottom:22px}.kicker::before{width:18px}h1{font-size:clamp(2.7rem,10.7vw,3.5rem);line-height:1.12;letter-spacing:-.055em;margin-bottom:23px}.lead{font-size:1rem;line-height:1.75;margin-bottom:27px}.button{min-height:60px;gap:13px;padding-right:24px;font-size:.875rem}.button .icon{width:39px;height:39px}.contact-note{font-size:.75rem}.hero-aside{display:flex;gap:23px;align-items:center;padding:30px 0 0;margin-top:31px;border-top:1px solid #ffffff25}.hero-aside .overline,.hero-aside .aside-bottom{display:none}.hero-aside b{font-size:4rem;letter-spacing:-.09em}.hero-aside p{margin:0;font-size:.875rem}.services{margin-top:-24px}.service-panel{padding:27px 23px}.services-intro{display:block;margin-bottom:22px}.services-intro h2{font-size:1.5rem;margin:8px 0 12px}.services-intro p{max-width:none}.service-grid{grid-template-columns:1fr}.service-item{padding:23px 0;gap:14px}.service-item h3{font-size:1.07rem}.service-item p{font-size:.9375rem}.all-services summary{font-size:.875rem;line-height:1.6;align-items:center;padding-top:19px}.all-services ul{columns:1}.unknown-service{font-size:.8125rem}.section{padding:58px 0}.section-heading{display:block;margin-bottom:27px}.section h2{font-size:2.2rem;line-height:1.2}.section-heading p{margin-top:17px;max-width:none}.project-grid{grid-template-columns:1fr;gap:21px}.project-card.featured{grid-row:auto}.project-card.featured .project-visual,.project-card .project-visual{aspect-ratio:1.55}.project-body{padding:21px 23px}.project-body h3{font-size:1.17rem}.project-placeholder span{font-size:.8125rem}.team-grid{display:flex;flex-direction:column-reverse;gap:0;align-items:stretch}.team-copy{padding:54px 0 20px}.team h2{font-size:2.5rem}.team-copy p{margin-top:20px}.team-portrait{min-height:345px;width:270px;align-self:center}.team-portrait::before{bottom:0;top:16px}.team-portrait img{height:425px;bottom:-65px}.contact-grid{grid-template-columns:1fr;gap:25px}.contact h2{font-size:2.25rem}.contact p{font-size:.9375rem}.contact-steps div{font-size:.875rem}.footer-inner{flex-direction:column;gap:16px}.dialog{padding:25px}.dialog h2{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


.service-item{text-decoration:none;position:relative;border-radius:2px}.service-action{display:block;margin-top:13px;font-size:.75rem;font-weight:800;letter-spacing:.02em;color:#80502e}.service-action span{display:inline-block;margin-left:6px}.all-services li a{text-decoration:none;text-underline-offset:4px}.team-signature span{display:block;margin-top:6px}.contact-copy{padding-top:12px}.contact-explanation{margin-top:30px;padding:22px 0;border-top:1px solid #c8d3df;border-bottom:1px solid #c8d3df}.contact-explanation p{margin-top:9px}.contact p.secondary-audience{font-size:.875rem}.quote-form{background:#fff;padding:32px;border:1px solid #d5dde6;box-shadow:0 18px 40px #102b5008;border-radius:6px}.form-heading{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}.contact .form-heading p{margin:8px 0 0;font-size:1rem;color:var(--ink);font-weight:600}.quote-form>label{display:block;font-size:.875rem;font-weight:600;margin:21px 0 8px}.quote-form label span{font-weight:400;color:var(--muted);font-size:.75rem}.quote-form input:not([type=checkbox]):not([type=hidden]),.quote-form select,.quote-form textarea{display:block;width:100%;min-width:0;min-height:48px;border:1px solid #aebac8;border-radius:4px;background:#fff;color:var(--ink);padding:11px 12px;font-size:1rem}.quote-form select{padding-right:28px}.quote-form textarea{resize:vertical}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#647286;opacity:1}.quote-form input:disabled{background:#edf1f5;color:#647286}.area-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}.quote-form .unknown-area{font-weight:400;display:flex;align-items:center;gap:8px;line-height:1.4;font-size:.75rem;cursor:pointer}.unknown-area input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--navy)}.contact .field-hint{font-size:.75rem;line-height:1.6;margin:7px 0 0}.quote-form .button{width:100%;margin-top:25px;min-height:62px}.contact .form-note{font-size:.75rem;line-height:1.65;margin-top:16px}.quote-form input:focus-visible,.quote-form select:focus-visible,.quote-form textarea:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
@media(hover:hover) and (pointer:fine){.button:hover{box-shadow:0 0 0 3px #edb48430,0 10px 28px #0003}.service-item:hover h3{text-decoration:underline;text-decoration-color:var(--copper);text-underline-offset:5px}.service-item:hover .service-action span{transform:translate(2px,-2px)}.all-services li a:hover{text-decoration:underline}}
@media(max-width:1000px){.contact-grid{gap:35px}.quote-form{padding:26px}}
@media(max-width:700px){.team{margin-top:48px}.contact-grid{grid-template-columns:1fr;gap:28px}.contact-copy{padding-top:0}.quote-form{padding:24px 20px}.contact h2{font-size:2.1rem}.quote-form .button{gap:10px;padding-right:14px;font-size:.8125rem}.button .icon{flex-basis:39px}.area-row{grid-template-columns:1fr}.quote-form .unknown-area{min-height:32px}.team-signature strong{font-size:.875rem}}
