:root{--color-background:#f0f5f8;--color-surface:#ffffff;--color-text:#1c3444;--color-muted:#505b61;--color-accent:#235d7b;--color-on-accent:#ffffff;--color-link:#235d7b;--line-color:#b9cbd5;--focus-color:#a65416;--privacy-ink:#1c3444;--privacy-muted:#505b61;--privacy-paper:#fff;--privacy-line:#b9cbd5;--privacy-accent:#235d7b;--privacy-font:Arial,Helvetica,sans-serif;--gutter:clamp(20px,4vw,76px)}
html{scroll-behavior:smooth}body{background:var(--color-background);color:var(--color-text);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}a{color:var(--color-link);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button{min-height:46px;border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;padding:12px 20px}h1,h2,h3,p,figure{margin:0}p+p{margin-top:18px}h1,h2,h3{font-weight:600;line-height:1.05;letter-spacing:-.045em;overflow-wrap:break-word;hyphens:auto}h1{font-size:clamp(44px,6.4vw,104px)}h2{font-size:clamp(32px,3.25vw,52px)}h3{font-size:25px;letter-spacing:-.025em;line-height:1.2}p{max-width:70ch}button,a{transition:background-color .16s,color .16s}main{max-width:1920px;margin:auto}img{display:block} .eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700;line-height:1.5;margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:52px;padding:15px 24px;background:var(--color-accent);color:var(--color-on-accent);text-decoration:none;font-size:15px;font-weight:600}.button:hover{background:#1c3444}.button span{font-size:23px;line-height:1}.text-link{display:inline-flex;align-items:center;min-height:46px;gap:20px;font-weight:600}.actions{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-top:32px}.section-body>.button,.section-body>.text-link{margin-top:25px}.contact-strip{padding:9px var(--gutter);background:var(--color-text);color:white;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.03em}.contact-strip a{color:white;text-decoration:none}.contact-strip span span{padding:0 16px;opacity:.65}.site-header{background:var(--color-surface)}.header-main{position:relative;min-height:108px;padding:0 var(--gutter);display:flex;align-items:center}.brand{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;color:var(--color-text);text-decoration:none;line-height:1.1;z-index:2}.brand>span{font-size:27px;font-weight:800;letter-spacing:.07em}.brand small{display:block;font-size:8px;letter-spacing:.075em;margin-top:6px}.brand img{width:42px;height:42px}#site-menu{width:100%;display:flex;justify-content:space-between;gap:230px}.nav-group{display:flex;align-items:center;gap:clamp(10px,1.35vw,25px)}.nav-group a{font-size:13px;font-weight:600;color:var(--color-text);text-decoration:none;min-height:46px;display:flex;align-items:center;white-space:nowrap}.nav-group a:hover{text-decoration:underline}.nav-contact{border-bottom:1px solid var(--color-text)}.menu-toggle{margin-left:auto}.photo img{width:100%;height:100%;object-fit:cover}.photo{position:relative}.photo figcaption{font-size:12px;line-height:1.5;font-weight:400;letter-spacing:0;color:var(--color-muted);padding:9px 0;background:var(--color-background)}.photo-opening{position:relative;min-height:700px;background:var(--color-text);color:white;display:flex;align-items:flex-end}.hero-image{position:absolute;inset:0}.hero-image .photo{height:100%}.hero-image img{height:100%;object-position:50% 45%}.hero-image:after{content:"";position:absolute;inset:0 0 36px;background:linear-gradient(180deg,rgba(10,30,42,.05) 0%,rgba(10,30,42,.23) 25%,rgba(10,30,42,.9) 100%)}.hero-image figcaption{position:absolute;bottom:0;width:100%;padding:9px var(--gutter);background:var(--color-text);color:#fff;z-index:1}.hero-copy{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr 1fr;gap:55px;padding:240px var(--gutter) 100px;width:100%;align-items:end}.hero-copy h1{font-size:clamp(48px,6vw,98px)}.hero-explain{max-width:410px;justify-self:end;line-height:1.65}.hero-explain .button{margin-top:25px;background:white;color:var(--color-text)}.hero-explain .button:hover{background:var(--color-background)}.section{padding:75px var(--gutter);border-bottom:1px solid var(--line-color)}.section-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:clamp(32px,7vw,120px)}.section-grid>*{min-width:0}.section-body{min-width:0}.section-body>p{max-width:67ch}.section-directions{background:var(--color-surface);padding-top:92px;padding-bottom:92px}.direction{display:grid;grid-template-columns:30px minmax(0,1fr) 25px;gap:20px;color:var(--color-text);text-decoration:none;padding:25px 0;border-top:1px solid var(--line-color)}.direction:last-child{border-bottom:1px solid var(--line-color)}.direction h3{font-size:clamp(25px,2.2vw,34px)}.direction p{font-size:15px;color:var(--color-muted);margin-top:10px}.number{font-size:12px;font-weight:700;padding-top:6px}.arrow{font-size:28px}.direction:hover h3{text-decoration:underline;text-underline-offset:6px}.section-client_tasks{background:var(--color-background)}.section-preparation{background:#e1ebf0}.steps{list-style:none;counter-reset:steps;padding:0;margin:0;display:grid;gap:26px}.steps li{counter-increment:steps;position:relative;padding-left:58px}.steps li:before{content:"0" counter(steps);position:absolute;left:0;top:0;width:35px;height:35px;border:1px solid var(--color-accent);font-size:12px;display:grid;place-items:center}.steps h3{font-size:21px}.steps p{font-size:16px;margin-top:8px}.section-scope .photo{margin-bottom:26px}.section-scope .photo img{aspect-ratio:1.48;height:auto}.section-materials{background:var(--color-surface)}.section-faq{padding-top:85px;padding-bottom:90px}.faq-heading{max-width:680px;margin:0 auto 40px}.faq-list{max-width:1000px;margin:auto}.faq-list details{border-top:1px solid var(--line-color);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--line-color)}details summary{padding:20px 38px 20px 0;position:relative;cursor:pointer;font-size:18px;line-height:1.4;font-weight:600;list-style:none}details summary::-webkit-details-marker{display:none}details summary:after{content:"+";position:absolute;right:2px;top:18px;font-size:25px;font-weight:400}details[open] summary:after{content:"−"}details p{padding:0 24px 25px 0;font-size:16px;color:var(--color-muted)}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:50px;align-items:start}.two-col details:last-child{border-bottom:0}.map-panel{background:#dae6ed;min-height:380px;width:100%;border:1px solid var(--line-color);position:relative}.map-panel [data-map-placeholder]{min-height:380px;padding:40px clamp(20px,4vw,52px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px}.map-panel [data-map-placeholder]:before{content:"";width:26px;height:32px;border:3px solid var(--color-accent);border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin:0 0 10px 6px}.map-panel p+p{margin-top:0}.map-panel p{font-size:15px}.map-panel a{font-size:14px;min-height:35px;display:inline-flex;align-items:center}.map-label{font-size:12px!important;text-transform:uppercase;font-weight:700;letter-spacing:.12em}.map-panel h3{font-size:28px}.map-panel iframe{display:block;width:100%;height:430px;border:0}.section-map .section-body>p{margin-bottom:18px}.section-contact,.section-next_step{background:var(--color-surface)}.contact-links{font-size:clamp(17px,1.7vw,24px);overflow-wrap:anywhere}.split-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--color-text);color:white}.split-opening .opening-copy{padding:90px var(--gutter);align-self:center}.opening-copy h1{font-size:clamp(45px,5.2vw,80px)}.opening-copy>p:not(.eyebrow){margin-top:30px}.opening-copy .button{margin-top:30px;background:white;color:var(--color-text)}.split-opening .photo{min-height:660px;display:flex;flex-direction:column}.split-opening .photo img{height:100%;flex:1;min-height:0}.split-opening .photo figcaption{padding-left:20px;background:var(--color-text);color:white}.rail-opening{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);padding:70px var(--gutter) 55px;gap:30px 60px;align-items:start}.rail-title{padding-top:30px}.rail-title h1{font-size:clamp(45px,5vw,82px)}.rail-image{padding-top:100px;grid-column:2;grid-row:1/3}.rail-image img{height:500px;object-fit:cover}.rail-intro{grid-row:2;max-width:460px;align-self:end}.rail-intro .button{margin-top:28px}.type-opening{padding:70px var(--gutter) 0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:35px 70px;align-items:end}.type-heading h1{font-size:clamp(48px,6.7vw,100px)}.type-lead .button{margin-top:25px}.type-opening>.photo{grid-column:1/-1;margin-top:10px}.type-opening>.photo img{height:480px;object-position:50% 50%}.page-contact .type-opening>.photo img{height:340px;object-position:50% 60%}.plain-list{padding-left:20px;margin:0;display:grid;gap:15px}.plain-list li{padding-left:9px}.identity-card{border-left:3px solid var(--color-accent);padding:6px 0 6px 26px;overflow-wrap:anywhere;margin-bottom:25px}.identity-card p{line-height:1.9}.principles{display:grid;gap:30px}.principles h3{font-size:23px}.principles p{margin-top:10px}.section-inquiry{background:var(--color-surface)}.contact-form{margin-top:32px}.contact-form>p{font-size:14px}.contact-form [data-form-status]{padding:18px;background:var(--color-background);margin-bottom:25px;overflow-wrap:anywhere}.contact-form legend{font-size:25px;font-weight:600;padding:0 0 20px}.contact-form input,.contact-form textarea{background:#f7fafb;border-color:#9fb4c0}.contact-form button{justify-self:start;min-width:210px;margin-top:14px}.contact-form>p:last-child{margin-top:22px}.map-heading{margin-bottom:30px}.map-heading p:last-child{margin-top:16px}.phone-large{font-size:clamp(28px,3vw,46px)}.site-footer{background:var(--color-text);color:white;padding:0 var(--gutter)}.site-footer a{color:white}.footer-action{display:flex;justify-content:space-between;gap:40px;align-items:center;padding:60px 0;border-bottom:1px solid #577080}.footer-action h2{font-size:clamp(28px,3.5vw,52px)}.light{background:white;color:var(--color-text)!important;flex-shrink:0}.light:hover{background:#dce8ef}.footer-base{padding:45px 0;display:grid;grid-template-columns:1fr 1fr;gap:50px}.footer-wordmark{font-size:32px;letter-spacing:.09em;font-weight:700;line-height:1.2}.footer-wordmark span{display:block;letter-spacing:.08em;font-size:11px;margin-top:6px}.footer-base>div>p:last-child:not(.footer-wordmark){margin-top:18px;font-size:14px;color:#d5e2ea}.footer-identity p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.footer-bottom{padding:25px 0 30px;border-top:1px solid #577080;display:flex;justify-content:space-between;gap:25px;font-size:12px}.footer-bottom nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}.footer-bottom button{background:transparent;border:1px solid #8ea7b7;padding:8px 12px;font-size:12px;min-height:44px}.legal-layout{padding:65px var(--gutter) 90px;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);gap:70px}.legal-heading h1{font-size:clamp(34px,3.2vw,50px);margin-bottom:30px;overflow-wrap:anywhere}.legal-heading>p:last-child{font-size:14px}.legal-content{min-width:0}.legal-prose{font-size:16px}.legal-prose h2{font-size:30px;line-height:1.2;letter-spacing:-.025em;margin:40px 0 18px}.legal-prose h3{font-size:23px;margin:25px 0 15px}.legal-prose nav{margin:25px 0}.legal-prose section{scroll-margin-top:25px}.legal-prose details{border-top:1px solid var(--line-color);margin-top:12px}.legal-prose ul{padding-left:22px}.legal-prose .table-scroll{margin:25px 0}.utility-layout{max-width:1000px;padding:90px var(--gutter);margin:auto;min-height:550px}.utility-layout h1{margin-bottom:40px;font-size:clamp(44px,6vw,80px)}
@media(min-width:761px) and (max-width:1150px){.header-main{min-height:145px;align-items:flex-end;padding-bottom:12px}.brand{top:15px}#site-menu{gap:60px}.nav-group{gap:22px}.hero-copy{gap:30px}.section-grid{gap:50px}.hero-copy h1{font-size:65px}}
@media(max-width:760px){body{font-size:16px}.contact-strip{font-size:10px;padding:8px 20px}.contact-strip span span{padding:0 5px}.contact-strip>span:first-child{max-width:125px}.header-main{min-height:86px;display:flex;flex-wrap:wrap;align-items:center;padding:15px 20px;gap:16px}.brand{position:static;transform:none;flex:1}.brand>span{font-size:22px}.brand small{font-size:7px}.brand img{width:35px;height:35px}.menu-toggle{font-size:13px;background:transparent;color:var(--color-text);padding:8px 11px;display:flex;gap:10px;align-items:center}.menu-toggle span{font-size:16px}#site-menu{display:block;padding:12px 0 6px;flex-basis:100%;border-top:1px solid var(--line-color)}.nav-group{display:block}.nav-group a{font-size:16px;border-bottom:1px solid #d8e3e9;padding:9px 4px;min-height:48px}.nav-contact{border-bottom:1px solid #d8e3e9}.hero-copy{display:block;padding:220px 20px 75px}.hero-copy h1{font-size:clamp(44px,9.8vw,72px)}.hero-copy .eyebrow{margin-bottom:18px}.hero-explain{margin-top:25px;max-width:440px;font-size:16px}.photo-opening{min-height:730px}.hero-image img{object-position:58% 38%}.hero-image:after{background:linear-gradient(180deg,rgba(10,30,42,.02),rgba(10,30,42,.6) 30%,rgba(10,30,42,.98) 88%)}.hero-image figcaption{padding:9px 20px}.section{padding:48px 20px}.section-grid{grid-template-columns:minmax(0,1fr);gap:28px}.eyebrow{margin-bottom:15px}h2{font-size:34px}.direction{gap:12px;padding:23px 0;grid-template-columns:23px minmax(0,1fr) 20px}.direction h3{font-size:25px}.direction p{font-size:15px}.steps{gap:25px}.steps li{padding-left:50px}.section-faq{padding-top:55px;padding-bottom:60px}.faq-heading{margin-bottom:28px}.faq-list.two-col{display:block}details summary{font-size:17px}.two-col details:last-child{border-bottom:1px solid var(--line-color)}.map-panel [data-map-placeholder]{padding:30px 22px}.map-panel iframe{height:380px}.split-opening{grid-template-columns:minmax(0,1fr)}.split-opening .opening-copy{padding:50px 20px}.opening-copy h1{font-size:48px}.split-opening .photo{min-height:0;height:auto}.split-opening .photo img{height:370px;flex:auto}.rail-opening{padding:45px 20px 40px;grid-template-columns:minmax(0,1fr);gap:28px}.rail-title{padding:0}.rail-title h1{font-size:48px}.rail-image{grid-column:auto;grid-row:auto;padding:0}.rail-image img{height:340px}.rail-intro{grid-row:auto}.type-opening{padding:45px 20px 0;grid-template-columns:minmax(0,1fr);gap:25px}.type-heading h1{font-size:clamp(44px,10.4vw,70px)}.type-opening>.photo{grid-column:auto;margin:0}.type-opening>.photo img{height:340px}.page-contact .type-opening>.photo img{height:260px}.footer-action{display:block;padding:45px 0}.footer-action .button{margin-top:25px}.footer-action h2{font-size:34px}.footer-base{grid-template-columns:minmax(0,1fr);gap:30px;padding:35px 0}.footer-bottom{display:block;padding:22px 0 30px}.footer-bottom nav{gap:8px 18px;margin-top:15px}.legal-layout{display:block;padding:45px 20px 60px}.legal-heading{padding-bottom:35px;margin-bottom:35px;border-bottom:1px solid var(--line-color)}.legal-heading h1{font-size:40px}.legal-prose{font-size:16px}.legal-prose h2{font-size:29px}.utility-layout{padding:55px 20px;min-height:460px}.actions{gap:15px}.contact-form legend{font-size:25px}}
.nav-group{min-width:0;flex-wrap:wrap;row-gap:0;flex:1}.nav-group:last-child{justify-content:flex-end}
.footer-action h2{hyphens:none;font-size:clamp(27px,3.5vw,52px)}
@media(max-width:760px){.page-home .hero-image img{object-position:27% 50%}.footer-action h2{font-size:30px}.page-service2 .hero-copy h1{font-size:clamp(44px,9.8vw,72px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button{transition:none}}
