:root{--red:#d74832;--red-dark:#ad3322;--navy:#11243a;--ink:#172a3d;--muted:#5e6d7d;--paper:#f5f6f4;--white:#fff;--line:#d8dfe2;--sand:#e9e3d9;--max:1240px;--shadow:0 18px 45px rgba(17,36,58,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.68 Inter,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.65rem 1rem;box-shadow:var(--shadow)}
.header{height:88px;background:rgba(255,255,255,.97);display:flex;align-items:center;padding:0 max(5vw,28px);gap:42px;border-bottom:1px solid #e6e9e8;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;line-height:.94;font-size:12px;letter-spacing:.08em}.brand span{width:43px;height:43px;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900;font-size:17px;letter-spacing:-.1em;font-style:italic;clip-path:polygon(0 0,100% 0,100% 75%,75% 100%,0 100%)}.brand b{font-weight:850}.nav{margin-left:auto;display:flex;align-items:center;gap:31px;font-size:13px;font-weight:750;letter-spacing:.02em}.nav a:not(.nav-cta){position:relative}.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--red);transition:right .2s}.nav a:not(.nav-cta):hover::after{right:0}.nav-cta,.button{background:var(--red);color:#fff;padding:13px 18px;border:1px solid var(--red);font:750 13px/1 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:.015em;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;transition:.2s}.nav-cta:hover,.button:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-2px);box-shadow:0 7px 16px rgba(215,72,50,.2)}i{font-size:21px;font-style:normal;line-height:.8}.menu-toggle{display:none}
.hero{background:var(--navy);display:grid;grid-template-columns:minmax(390px,1.08fr) minmax(400px,.92fr);min-height:610px;overflow:hidden}.hero-copy{color:#fff;padding:clamp(68px,9vw,130px) max(7vw,32px);padding-right:38px;position:relative}.hero-copy::before{content:"";position:absolute;top:0;left:0;width:13px;height:92px;background:var(--red)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:850;color:var(--red);margin:0 0 17px}.hero .eyebrow{color:#ffb0a4}.hero h1,.page-hero h1,.contact-layout h1,.not-found h1{font-size:clamp(46px,5.4vw,78px);line-height:.96;letter-spacing:-.065em;margin:0 0 27px;font-weight:850}.hero h1 em{font-style:normal;color:#ff806d}.lead{font-size:18px;line-height:1.65;color:#d7e0e7;max-width:570px;margin:0 0 32px}.actions{display:flex;align-items:center;gap:27px}.actions .button{background:var(--red);border-color:var(--red)}.text-link{font-weight:800;text-decoration:underline;text-decoration-color:#9aa8b7;text-underline-offset:6px}.hero .text-link{color:#fff;text-decoration-color:#637487}.hero-note{border-top:1px solid rgba(255,255,255,.22);margin-top:63px;padding-top:16px;display:flex;gap:18px;font-size:13px;max-width:550px}.hero-note b{color:#fff}.hero-note span{color:#bcc8d2}.hero-media{position:relative;min-height:440px}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,36,58,.28),transparent 35%)}.hero-media img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05) saturate(.82)}.image-label{position:absolute;z-index:1;bottom:28px;left:-34px;color:#fff;background:var(--red);padding:17px 22px;font-weight:800;line-height:1.3;box-shadow:var(--shadow)}.image-label small{font-weight:500;opacity:.9}
.split,.wrap{max-width:var(--max);margin:auto}.intro{padding:116px 0 56px;display:grid;grid-template-columns:1fr .88fr;gap:14%;align-items:start}.intro h2,.dark-process h2,.project-strip h2,.cta-band h2,.service-detail h2,.steps h2,.about-statement h2,.principles h2{font-size:clamp(31px,3.5vw,51px);line-height:1.04;letter-spacing:-.055em;margin:0}.intro>p{color:var(--muted);font-size:17px;margin:28px 0 0}.service-rail{max-width:var(--max);margin:0 auto 112px;display:grid;grid-template-columns:1fr 1fr .8fr;background:#fff;border-top:4px solid var(--navy);box-shadow:var(--shadow)}.service-rail article,.service-rail aside{padding:39px;border-right:1px solid var(--line)}.service-rail article{position:relative}.service-rail article::after{content:"";position:absolute;bottom:0;left:0;width:0;height:4px;background:var(--red);transition:.25s}.service-rail article:hover::after{width:100%}.service-rail h2{font-size:28px;line-height:1.13;letter-spacing:-.04em;margin:12px 0}.service-rail p{color:var(--muted);font-size:14px}.service-rail article a{font-weight:850;color:var(--red);font-size:13px}.service-icon{font-size:39px;color:var(--red);height:47px}.service-rail aside{background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:center}.service-rail aside img{width:100%;height:auto}.service-rail aside p{color:#c2cfda}
.dark-process{background:var(--navy);color:#fff;padding:104px max(7vw,24px);display:grid;grid-template-columns:.82fr 1fr;gap:14%;align-items:start;position:relative}.dark-process::before{content:"";position:absolute;top:0;left:max(7vw,24px);width:80px;height:5px;background:var(--red)}.dark-process .eyebrow{color:#ffac9e}.dark-process>div>p:not(.eyebrow){color:#c3cfda}.light{color:#fff}.dark-process ol{margin:0;padding:0;list-style:none}.dark-process li{display:flex;gap:24px;border-bottom:1px solid rgba(255,255,255,.2);padding:0 0 23px;margin-bottom:23px}.dark-process li b{color:#ff9888;border:1px solid #68788b;border-radius:50%;width:43px;height:43px;text-align:center;line-height:41px}.dark-process h3{margin:0;font-size:18px}.dark-process li p{margin:3px 0 0;color:#c4cedd;font-size:14px}
.project-strip{max-width:var(--max);margin:0 auto;padding:92px 0;display:grid;grid-template-columns:.92fr 1fr 170px;gap:48px;align-items:center}.fact-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fact-list span{border:1px solid #cbd4d5;border-left:4px solid var(--red);padding:12px 14px;font-size:14px;font-weight:800;background:#fff}.project-strip img{width:100%;height:auto}.strip-note{color:var(--muted);font-size:14px}.cta-band{background:var(--red);color:#fff;padding:62px max(7vw,24px);display:flex;align-items:center;justify-content:space-between;gap:25px}.cta-band .eyebrow{color:#ffdfda}.cta-band p:not(.eyebrow){margin:10px 0 0;max-width:570px;color:#fff2ef}.button-light{background:#fff;color:var(--navy);border-color:#fff;white-space:nowrap}.button-light:hover{background:#f5f5f5;border-color:#f5f5f5}
.footer{background:#0d1c2c;color:#dce4ef;padding:67px max(7vw,24px) 18px}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr .7fr .7fr 1fr;gap:42px}.footer .brand{color:#fff}.brand-light span{background:var(--red)}.footer p{font-size:14px;color:#aebdca;max-width:280px}.footer h2{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#fff}.footer a:not(.brand){display:block;font-size:14px;margin:8px 0}.footer a:hover{color:#ff9585}.footer .footer-link{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:4px}.footer-bottom{max-width:var(--max);margin:48px auto 0;padding-top:17px;border-top:1px solid #314355;color:#9faebb;font-size:12px;display:flex;justify-content:space-between}
.page{min-height:70vh}.wrap{padding:0 24px}.crumbs{padding:27px 0;color:var(--muted);font-size:12px}.crumbs a{text-decoration:underline;text-underline-offset:3px}.crumbs span{margin-left:9px}.page-hero{padding:65px 0 68px;max-width:940px}.page-hero h1{font-size:clamp(43px,5.6vw,74px)}.page-hero p:not(.eyebrow){font-size:19px;color:#526274;max-width:790px}.narrow{max-width:840px}.anchor-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:30px;padding:18px 0;font-weight:800;font-size:13px}.anchor-nav a:hover{color:var(--red)}.service-detail{padding:100px 0;display:grid;grid-template-columns:1fr .52fr;gap:11%;align-items:center;border-bottom:1px solid var(--line)}.service-detail.reverse{grid-template-columns:.52fr 1fr}.service-detail.reverse div{order:2}.service-detail div p:not(.eyebrow){color:#526274;max-width:650px}.service-detail img{max-width:100%;justify-self:center}.steps{padding:95px 0}.steps>div,.principles>div{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:39px}.steps article,.principles article{padding:0 28px;border-left:1px solid #c7d0d4}.steps article:first-child,.principles article:first-child{padding-left:0;border:0}.steps b{color:var(--red);font-size:25px}.steps h3,.principles h3{font-size:20px;margin:10px 0}.steps p,.principles p{color:var(--muted);font-size:14px}.about-grid{display:grid;grid-template-columns:1fr .7fr;gap:9%;align-items:center;padding:30px 0 96px}.about-grid img{width:100%;height:auto}.about-statement p:not(.eyebrow){color:#526274}.principles{padding:65px 0 96px;border-top:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:.75fr 1fr;gap:10%;padding:50px 0 100px}.contact-layout h1{font-size:clamp(44px,5vw,68px)}.contact-layout header>p:not(.eyebrow){font-size:18px;color:#526274}.contact-aside{border-left:4px solid var(--red);padding:15px 19px;margin-top:40px;background:#fff;box-shadow:0 10px 25px rgba(17,36,58,.05)}.contact-aside p{font-size:14px;color:var(--muted)}.form-panel{background:#fff;padding:42px;box-shadow:var(--shadow);border-top:4px solid var(--navy)}.form-panel form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-panel label{font-size:13px;font-weight:800}.form-panel label.wide{grid-column:1/-1}.form-panel input,.form-panel textarea,.form-panel select{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #c4ced2;background:#fff;font:inherit;border-radius:0}.form-panel input:focus,.form-panel textarea:focus,.form-panel select:focus{outline:3px solid #f7c6bf;border-color:var(--red)}.form-panel button{justify-self:start;font:inherit}.notice{padding:20px;margin-bottom:20px}.notice h2{margin-top:0}.error{background:#fff1f1;border-left:3px solid var(--red)}.success{background:#ecf8ef;border-left:3px solid #208246}.legal{padding-bottom:95px}.small{max-width:800px}.legal h1{font-size:54px;letter-spacing:-.05em}.legal section{border-top:1px solid var(--line);padding:24px 0}.legal section h2{font-size:22px}.legal section p{color:#4f5c70}.not-found{padding:15vh 7vw}.not-found h1{max-width:700px}
@media(max-width:800px){.header{height:73px;padding:0 20px}.brand span{width:39px;height:39px}.menu-toggle{display:block;margin-left:auto;background:#fff;border:1px solid #bdc8cd;padding:8px 10px;font:700 13px/1 inherit}.nav{display:none;position:absolute;top:72px;z-index:15;left:0;right:0;background:#fff;padding:20px;box-shadow:0 14px 25px #17223822}.nav.open{display:grid;gap:16px}.nav-cta{justify-content:space-between}.hero{grid-template-columns:1fr}.hero-copy{padding:67px 24px 58px}.hero-copy::before{height:57px;width:9px}.hero-media{height:330px;min-height:0}.image-label{left:0;bottom:18px}.intro,.dark-process{grid-template-columns:1fr;padding:64px 24px;gap:32px}.intro{padding-left:24px;padding-right:24px}.service-rail{margin:0 24px 68px;grid-template-columns:1fr}.service-rail article,.service-rail aside{border-right:0;border-bottom:1px solid var(--line)}.project-strip{margin:0 24px;padding:64px 0;grid-template-columns:1fr;gap:30px}.project-strip img{display:none}.cta-band{display:block;padding:48px 24px}.cta-band .button{margin-top:27px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.page-hero{padding:43px 0}.service-detail,.service-detail.reverse,.about-grid,.contact-layout{grid-template-columns:1fr;padding:58px 0;gap:32px}.service-detail.reverse div{order:0}.steps>div,.principles>div{grid-template-columns:1fr;gap:25px}.steps article,.principles article{border-left:0;border-top:1px solid #c7d0dd;padding:20px 0 0}.form-panel{padding:25px}.form-panel form{grid-template-columns:1fr}.form-panel label.wide{grid-column:auto}.actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-note{display:block;margin-top:43px}.hero-note span{display:block;margin-top:5px}.anchor-nav{gap:17px;overflow:auto;white-space:nowrap}.footer-bottom{display:block}.footer-bottom a{margin-top:8px}}
