:root{--navy:#0b1d35;--gray:#6b6b6b;--white:#fff;--paper:#f5f5f4;--line:#dcdedF;--ink:var(--navy)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}img,svg{display:block;max-width:100%}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}p,h1,h2,h3{margin:0}a:focus-visible,summary:focus-visible{outline:3px solid var(--gray);outline-offset:6px}.shell{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;z-index:20;top:12px;left:12px;background:var(--navy);color:white;padding:14px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.header{height:128px;display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid var(--line)}.brand{display:block;width:310px}.brand img{width:100%;height:auto}.header nav{display:flex;align-items:center;gap:38px;font-size:14px;font-weight:600}.header nav a{padding-block:12px}.header nav a:hover{text-decoration:underline;text-underline-offset:5px}.header .nav-contact{display:flex;align-items:center;gap:23px}.nav-contact span{font-size:22px;font-weight:400}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding-top:52px;padding-bottom:66px}.eyebrow{font-size:11px;letter-spacing:1.8px;line-height:1.7;font-weight:700;display:flex;align-items:center;gap:13px}.short-line{height:2px;width:27px;background:var(--gray);display:inline-block}h1{font-size:clamp(60px,5.65vw,82px);font-weight:700;letter-spacing:-4.2px;line-height:1.02;margin-top:27px}h1 span{color:var(--gray)}.intro{font-size:17px;line-height:1.7;color:var(--gray);margin-top:25px}.hero-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:30px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 22px;font-size:14px;font-weight:600;border:1px solid var(--navy);transition:background .18s,color .18s}.button svg{width:18px;height:18px;stroke-width:1.7}.button-primary{background:var(--navy);color:var(--white)}.button-primary:hover{background:var(--gray);border-color:var(--gray)}.text-link{font-size:14px;font-weight:600;display:inline-flex;gap:13px;align-items:center;padding-block:12px}.text-link span{font-size:20px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.coming-soon{display:flex;align-items:flex-start;gap:12px;margin-top:36px;color:var(--gray);font-size:12px;line-height:1.7}.coming-soon strong{font-weight:400}.status-mark{width:7px;height:7px;background:var(--gray);display:block;margin-top:6px;flex-shrink:0}
.hero-art{aspect-ratio:1/1.04;background:var(--navy);padding:29px 30px 24px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.art-top,.art-bottom{display:flex;align-items:center;justify-content:space-between;color:#c4c8ce;font-size:10px;letter-spacing:2.1px;font-weight:500;gap:20px}.art-top{padding-bottom:18px;border-bottom:1px solid #ffffff30}.door-drawing{width:100%;height:auto;flex:1;min-height:0;margin:2px 0}.building{stroke:#fff;stroke-width:2.7}.door-frame{stroke:#e2e4e7;stroke-width:2}.door-panels{stroke:#8b929d;stroke-width:1.8}.door-handle{stroke:white;stroke-width:3}.ground{stroke:#8b929d;stroke-width:1.5}.measure{stroke:#6b6b6b;stroke-width:1.1}.art-bottom{font-size:9px;letter-spacing:1.9px}.art-plus{font-size:27px;font-weight:400;line-height:20px}
.services{padding:27px 0 72px;border-top:1px solid var(--line)}.section-intro{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.section-intro h2{font-size:20px;letter-spacing:-.4px}.section-intro p{font-size:12px;color:var(--gray)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px}.service{border-left:1px solid var(--line);padding:0 27px}.service:first-child{padding-left:0;border-left:0}.service:last-child{padding-right:0}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.service-top svg{width:33px;height:33px;stroke-width:1.6}.service-top span{font-size:10px;letter-spacing:1px;color:var(--gray)}.service h3{font-size:18px;letter-spacing:-.2px;margin-bottom:10px}.service p{color:var(--gray);font-size:13px;line-height:1.7}
.contact-band{background:var(--paper);border-top:1px solid #ececeb;border-bottom:1px solid #ececeb}.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;padding-block:62px}.contact .eyebrow{color:var(--gray);font-size:10px;letter-spacing:1.6px}.contact h2{font-size:43px;line-height:1.12;letter-spacing:-1.7px;margin-top:18px}.contact-name{margin-top:28px;font-weight:600;font-size:15px}.contact-name span{display:block;font-size:12px;color:var(--gray);font-weight:400;margin-top:7px}.contact-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:0 0 19px;border-bottom:1px solid #d4d6d8}.contact-row small{display:block;font-size:9px;letter-spacing:1.7px;color:var(--gray);font-weight:600;margin-bottom:10px}.phone{font-size:32px;font-weight:500;letter-spacing:-.5px}.mail{font-size:21px;letter-spacing:-.25px;padding-top:19px}.contact-arrow{font-size:28px;font-weight:400}.contact-row:hover>span:first-child{text-decoration:underline;text-underline-offset:6px}.address-row{display:flex;align-items:flex-start;gap:12px;margin-top:20px;color:var(--gray)}.address-row svg{width:19px;height:23px;flex-shrink:0}.address-row address{font-size:12px;font-style:normal;line-height:1.6}.footer{padding-block:25px}.footer-line{display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.7;color:var(--gray)}.credit:hover{text-decoration:underline;text-underline-offset:4px}.legal{font-size:10px;color:var(--gray);margin-top:14px}.legal summary{cursor:pointer;width:fit-content;min-height:26px;padding-block:6px}.legal-body{display:flex;gap:60px;border-top:1px solid var(--line);margin-top:10px;padding-block:20px;font-size:13px;line-height:1.8}.legal-body a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1600px){.hero{padding-block:65px 76px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.hero,.contact{gap:35px}.hero-art{aspect-ratio:.88;padding:24px}.hero-actions{gap:14px}.intro{font-size:16px}.desktop-break{display:none}h1{font-size:64px;letter-spacing:-3px}.service{padding-inline:20px}.phone{font-size:28px}.mail{font-size:19px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.header{height:98px;gap:16px}.brand{width:248px;max-width:72%}.header nav{gap:0;font-size:12px}.header nav>a:first-child{display:none}.header .nav-contact{gap:8px}.hero{grid-template-columns:1fr;padding-top:36px;padding-bottom:34px;gap:30px}.hero-copy{padding:0 2px}.eyebrow{font-size:9px;letter-spacing:1.25px;gap:10px}.short-line{width:22px}h1{font-size:clamp(59px,12vw,76px);line-height:1.02;letter-spacing:-3px;margin-top:21px}.intro{font-size:15px;line-height:1.7;margin-top:22px;max-width:400px}.hero-actions{gap:20px;margin-top:26px}.button{padding:15px 18px;font-size:13px;min-height:50px}.text-link{font-size:13px;gap:8px}.coming-soon{margin-top:26px;font-size:11px}.hero-art{aspect-ratio:auto;height:285px;padding:20px 24px}.door-drawing{position:absolute;height:246px;width:290px;max-width:90%;left:50%;top:32px;transform:translateX(-50%)}.art-top{font-size:8px;letter-spacing:1.7px;padding-bottom:13px;position:relative;z-index:1}.art-bottom{font-size:7px;letter-spacing:1.2px;position:relative;z-index:1}.art-plus{font-size:22px}.services{padding-top:24px;padding-bottom:38px}.section-intro{display:block}.section-intro h2{font-size:20px}.section-intro p{font-size:12px;margin-top:8px}.service-grid{grid-template-columns:1fr 1fr;margin-top:29px;row-gap:27px}.service{padding-inline:21px}.service:nth-child(3){padding-left:0;border-left:0}.service:nth-child(2){padding-right:0}.service-top{margin-bottom:14px}.service-top svg{width:29px;height:29px}.service h3{font-size:17px;margin-bottom:8px}.service p{font-size:12px}.contact{grid-template-columns:1fr;padding-block:38px;gap:31px}.contact h2{font-size:36px;letter-spacing:-1.4px;margin-top:13px}.contact-name{margin-top:22px}.phone{font-size:29px}.mail{font-size:clamp(16px,4.6vw,21px)}.contact-row small{font-size:8px}.contact-arrow{font-size:25px}.footer{padding-block:20px}.footer-line{flex-direction:column;gap:6px;font-size:10px}.legal{margin-top:10px}.legal-body{flex-direction:column;gap:16px}}
@media(max-width:360px){.shell{width:calc(100% - 32px)}.brand{width:213px}.header .nav-contact{gap:5px}.hero-actions{gap:12px}.button{padding-inline:14px}.text-link{font-size:12px}.hero-art{height:265px}.door-drawing{height:224px}.service{padding-inline:15px}}
@media(max-width:760px){.door-drawing{height:222px;top:28px}}
@media(max-width:360px){.door-drawing{height:202px;top:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
