@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--blue:#292c60;--ink:#242638;--paper:#f5f4ef;--muted:#72737c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}:is(a:focus-visible,button:focus-visible){outline-offset:5px;outline:3px solid #b99a60}header{background:var(--paper);z-index:10;border-bottom:1px solid #dededb;justify-content:space-between;align-items:center;height:102px;padding:0 5%;display:flex;position:relative}.brand{color:var(--blue);letter-spacing:1px;align-items:center;gap:13px;font-family:Manrope,Arial,sans-serif;font-size:21px;font-weight:800;display:flex}.brand small{letter-spacing:2.9px;margin-top:4px;font-size:9px;font-weight:500;display:block}nav{gap:34px;font-size:13px;display:flex}nav a:hover,.text-link:hover{color:#777ab7}.header-call{border-bottom:1px solid var(--blue);color:var(--blue);padding:13px 0;font-size:13px}.header-call span{margin-left:25px}.menu{display:none}.hero{grid-template-columns:48% 52%;min-height:690px;display:grid}.hero-copy{flex-direction:column;align-items:flex-start;padding:66px 10.4% 25px;display:flex}.eyebrow{letter-spacing:2px;color:var(--blue);align-items:center;gap:9px;font-size:10px;font-weight:600;display:flex}.eyebrow i{background:var(--blue);border-radius:50%;width:6px;height:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{letter-spacing:-5px;color:var(--blue);margin:32px 0 26px;font-size:clamp(60px,6.7vw,106px);font-weight:500;line-height:1.05}h1 em{color:#8b8da9;font-style:normal}p{font-size:15px;line-height:1.8}.hero-copy>p{color:var(--muted)}.button{justify-content:space-between;align-items:center;gap:44px;padding:19px 24px;font-size:12px;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#41457f;transform:translateY(-2px)}.primary{background:var(--blue);color:#fff}.hero .button{margin-top:30px}.hero-bottom{letter-spacing:1.4px;width:100%;color:var(--muted);justify-content:space-between;gap:30px;margin-top:auto;padding-top:50px;font-size:8px;display:flex}.hero-image{background:#a7b7b9;position:relative;overflow:hidden}.hero-image>img{object-fit:cover;object-position:50% 45%;filter:contrast(1.18)brightness(.85);width:100%;height:100%;position:absolute}.hero-image:after{content:"";background:linear-gradient(#242c4c0a 40%,#18203c9c);position:absolute;inset:0}.image-top,.image-caption{z-index:1;justify-content:space-between;display:flex;position:absolute;left:38px;right:38px}.image-top{letter-spacing:2px;color:var(--blue);font-size:9px;line-height:1.7;top:32px}.cross{font-size:34px;font-weight:400}.image-caption{color:#fff;letter-spacing:-1px;align-items:center;font-family:Manrope,sans-serif;font-size:26px;bottom:35px}.image-caption a{border:1px solid #ffffff70;border-radius:50%;place-items:center;width:50px;height:50px;display:grid}.section{padding:105px 7%}.about{border-bottom:1px solid #dededb;grid-template-columns:29% 71%;display:grid}.about>.eyebrow{align-self:start;margin-top:12px}h2{letter-spacing:-2px;color:var(--blue);font-size:clamp(32px,3.6vw,54px);font-weight:500;line-height:1.18}h2 span{color:#9091a5}.about>div:last-child{grid-template-columns:1fr 1fr;gap:45px;display:grid}.about-text p{color:var(--muted);margin-bottom:18px;font-size:14px}.text-link{border-bottom:1px solid #bcbcc7;gap:25px;padding-bottom:10px;font-size:12px;display:inline-flex}.section-head{justify-content:space-between;align-items:end;gap:35px;display:flex}.section-head .eyebrow{margin-bottom:25px}.section-head>p{color:var(--muted);font-size:13px}.steps{grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px;display:grid}.steps article{border-top:1px solid #bfc0ca;padding-top:25px}.step-no{color:#8b8da9;font-size:12px}.steps h3{letter-spacing:-.6px;margin:30px 0 15px;font-size:20px;font-weight:500}.steps p{color:var(--muted);max-width:330px;font-size:14px}.statement{background:var(--blue);color:#fff;padding:70px 7%;position:relative;overflow:hidden}.statement>span{letter-spacing:3px;font-size:9px}.statement p{letter-spacing:-4px;margin-top:25px;font-family:Manrope,sans-serif;font-size:clamp(50px,7vw,100px);font-weight:400;line-height:1.15}.statement em{color:#b9bacc;font-style:normal}.round-link{border:1px solid #ffffff60;border-radius:50%;place-items:center;width:90px;height:90px;font-size:36px;display:grid;position:absolute;top:45%;right:10%}.round-link:hover{background:#ffffff15}.contact{grid-template-columns:1.2fr 1fr;gap:12%;display:grid}.contact .eyebrow{margin-bottom:28px}.contact>div>p{color:var(--muted);margin:24px 0 28px;font-size:14px}.contact-details>div{border-top:1px solid #c9c9cf;padding:26px 0}.contact-details small{letter-spacing:2px;color:var(--muted);font-size:9px}.contact-details h3{margin:20px 0 8px;font-size:19px;font-weight:500}.phone{color:var(--blue);letter-spacing:-1px;justify-content:space-between;gap:10px;font-size:clamp(23px,2.6vw,37px);display:flex}.contact-details p{margin:20px 0;font-size:15px}footer{border-top:1px solid #dededb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px;padding:33px 5%;display:flex}footer .brand{font-size:16px}footer>span,footer>a:last-of-type{color:var(--muted);font-size:11px}footer b{font-weight:400}footer>small{color:#92929a;border-top:1px solid #e3e3df;width:100%;padding-top:20px;font-size:9px}@media (min-width:1600px){body{max-width:1900px;margin:auto}}@media (max-width:1000px){header{height:85px;padding:0 4%}nav{gap:18px}.brand{font-size:17px}.header-call{font-size:11px}.hero-copy{padding-top:45px}h1{letter-spacing:-3px}.hero{min-height:650px}.hero-bottom{gap:15px;font-size:7px}.about>div:last-child{grid-template-columns:1fr}.section{padding:75px 6%}.section-head>p br{display:none}.steps{gap:25px}.contact{gap:7%}}@media (max-width:700px){header{height:80px;padding:0 6%}.brand{font-size:17px}.brand img{width:30px;height:35px}.brand small{font-size:7px}.header-call{display:none}.menu{color:var(--blue);background:0 0;border:0;padding:8px;font-size:25px;display:block}nav{background:var(--paper);border-bottom:1px solid #ccc;flex-direction:column;padding:25px 6%;display:none;position:absolute;top:80px;left:0;right:0}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 6% 25px}h1{margin:27px 0 22px;font-size:70px;line-height:1.04}.hero-copy>p{font-size:14px}.hero-bottom{padding-top:36px;font-size:8px}.hero-image{min-height:420px}.hero-image>img{object-position:50% 45%}.image-top,.image-caption{left:24px;right:24px}.image-caption{font-size:24px}.section{padding:60px 6%}.about{grid-template-columns:1fr;gap:30px}.about>div:last-child{gap:26px}h2{letter-spacing:-1.6px;font-size:38px}.section-head{display:block}.section-head>p{margin-top:24px}.steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.steps h3{margin:18px 0 10px}.steps p{max-width:none}.statement{padding:50px 6%}.statement p{letter-spacing:-2.8px;font-size:57px}.round-link{width:48px;height:48px;font-size:24px;top:25%;right:6%}.contact{grid-template-columns:1fr;gap:40px}.phone{font-size:32px}footer{padding:28px 6%}footer>span{margin-left:auto}footer>small{line-height:1.6}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.projects{border-bottom:1px solid #dededb}.project-preview{border:1px solid #dededb;grid-template-columns:1.15fr 1fr;margin-top:45px;display:grid}.project-drawing{color:#777ba2;background-color:#e9e9ef;background-image:linear-gradient(#292c6008 1px,#0000 1px),linear-gradient(90deg,#292c6008 1px,#0000 1px);background-size:24px 24px;flex-direction:column;justify-content:center;min-height:350px;padding:28px;display:flex}.project-drawing svg{width:100%;height:auto;max-height:330px}.project-drawing>span{letter-spacing:2px;color:#656887;font-size:8px}.project-message{flex-direction:column;justify-content:center;align-items:flex-start;padding:50px 12%;display:flex}.project-status{letter-spacing:1.8px;color:var(--muted);font-size:9px}.project-message h3{letter-spacing:-1px;color:var(--blue);margin:24px 0 20px;font-size:32px;font-weight:500;line-height:1.2}.project-message p{color:var(--muted);margin-bottom:25px;font-size:14px}.project-message .text-link{line-height:1.6}@media (max-width:700px){.project-preview{grid-template-columns:1fr;margin-top:30px}.project-drawing{min-height:230px;padding:20px}.project-drawing svg{max-height:230px}.project-message{padding:32px 25px}.project-message h3{font-size:30px}}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.project-empty{border:1px solid #d8d8e2;margin-top:40px;padding:50px}.project-empty h3{margin:24px 0 14px;font-size:28px;font-weight:500}.project-empty .text-link{margin-top:22px}.project-empty button,.gallery-controls button{background:0 0;border:1px solid #c7c8d3;margin-top:12px;padding:10px 18px}.project-grid{grid-template-columns:repeat(3,1fr);gap:28px;margin-top:45px;display:grid}.project-card{text-align:left;color:inherit;background:0 0;border:0;padding:0}.project-card-image{background:#e5e5e9;height:300px;position:relative;overflow:hidden}.project-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.project-card:hover img{transform:scale(1.03)}.project-card-image>span{color:var(--blue);background:#f5f4efed;padding:7px 12px;font-size:10px;position:absolute;top:18px;left:18px}.project-card-copy{padding:22px 0}.project-card-copy small{color:var(--muted);font-size:11px}.project-card h3{justify-content:space-between;margin:12px 0;font-size:22px;font-weight:500;display:flex}.project-card-copy p{color:var(--muted);font-size:11px}.project-dialog{background:var(--paper);width:min(900px,94vw);max-height:92vh;color:var(--ink);border:0;padding:0;overflow:auto}.project-dialog::backdrop{background:#12152cc9}.dialog-close{z-index:2;background:var(--paper);width:40px;height:40px;color:var(--blue);border:0;border-radius:50%;font-size:28px;position:absolute;top:15px;right:15px}.detail-image{object-fit:contain;background:#e7e7ed;width:100%;height:min(50vh,500px);display:block}.gallery-controls{justify-content:space-between;align-items:center;gap:10px;padding:12px 25px;font-size:12px;display:flex}.gallery-controls button{margin:0}.detail-copy{padding:30px}.detail-copy h3{margin:14px 0;font-size:32px;font-weight:500}.project-description{white-space:pre-wrap;color:var(--muted);margin:20px 0}.admin-shell{background:#f4f4f7;min-height:100vh}.admin-header{background:#fff;height:90px}.admin-header>div{gap:30px;font-size:12px;display:flex}.admin-main{max-width:1280px;margin:auto;padding:50px 5% 80px}.admin-title{justify-content:space-between;align-items:center;gap:25px;margin-bottom:35px;display:flex}.admin-title h1{letter-spacing:-2px;margin:14px 0 10px;font-size:44px;line-height:1.2}.admin-title p{color:var(--muted);font-size:13px}.admin-title .eyebrow{line-height:1.7}.admin-empty{background:#fff;border:1px dashed #c1c3d4;padding:65px}.admin-empty>span{color:var(--muted);letter-spacing:2px;font-size:10px}.admin-empty h2{margin:20px 0;font-size:34px}.admin-empty p{max-width:530px;color:var(--muted);margin-bottom:25px;font-size:14px}.admin-projects{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.admin-projects article{background:#fff;border:1px solid #e0e1e8}.admin-cover{height:220px;color:var(--muted);background:#e7e8ef;place-items:center;font-size:13px;display:grid;position:relative}.admin-cover img{object-fit:cover;width:100%;height:100%}.badge{color:#61616d;background:#fff;padding:6px 10px;font-size:10px;position:absolute;top:14px;left:14px}.badge.live{color:#25613d;background:#e4f3e9}.admin-card-copy{padding:22px}.admin-card-copy h2{letter-spacing:-.5px;margin:13px 0;font-size:21px}.admin-card-copy small,.admin-card-copy p{color:var(--muted);font-size:11px}.card-actions{border-top:1px solid #eee;flex-wrap:wrap;gap:12px;margin-top:22px;padding-top:17px;display:flex}.card-actions button{color:var(--blue);background:0 0;border:0;padding:4px 0;font-size:12px}.card-actions .danger{color:#a33a3a;margin-left:auto}.alert{margin:0 0 25px;padding:16px 20px;font-size:14px;line-height:1.6}.error{color:#8f2929;background:#fce8e8}.success{color:#24623e;background:#e6f4ec}.editor{background:#fff;border:1px solid #e0e1e8;padding:35px}.editor fieldset{border:0;min-width:0;margin:0;padding:0}.editor-head{justify-content:space-between;align-items:center;gap:15px;margin-bottom:32px;display:flex}.editor-head h2{letter-spacing:-1px;font-size:28px}.secondary{color:var(--blue);background:#f4f4f8;border:1px solid #d8dae5;padding:10px 14px;font-size:12px}.editor-columns{grid-template-columns:1fr 1fr;gap:40px;display:grid}.editor label{color:#41445f;flex-direction:column;gap:10px;margin-bottom:20px;font-size:12px;display:flex}.editor input:not([type=checkbox]),.editor textarea,.editor select{width:100%;color:var(--ink);box-sizing:border-box;background:#fafafd;border:1px solid #d5d7e1;border-radius:0;padding:12px 13px;font-size:14px}.editor textarea{resize:vertical;min-height:140px}.editor input:focus,.editor textarea:focus,.editor select:focus{outline-offset:1px;outline:2px solid #8d91be}.field-row{grid-template-columns:1fr 1.2fr;gap:20px;display:grid}.editor-columns h3{font-size:17px;font-weight:600}.hint{color:var(--muted);margin:12px 0 20px;font-size:11px}.editor .upload{cursor:pointer;background:#f5f5fa;border:1px dashed #b4b7cf;padding:20px}.upload input{background:#fff!important;font-size:11px!important}.photo-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.photo-tile{background:#f6f6f9;position:relative}.photo-tile img{object-fit:cover;width:100%;height:135px}.photo-tile>span{background:#fff;padding:5px 8px;font-size:9px;position:absolute;top:8px;left:8px}.photo-tile>div{justify-content:space-between;padding:5px;display:flex}.photo-tile button{color:var(--blue);background:0 0;border:0;min-height:32px;padding:5px 8px;font-size:11px}.editor-actions{border-top:1px solid #e2e2e9;justify-content:space-between;align-items:center;gap:25px;margin-top:30px;padding-top:25px;display:flex}.editor label.check{flex-direction:row;align-items:flex-start;gap:10px;margin:0;font-size:14px}.check input{accent-color:var(--blue);width:17px;height:17px;margin-top:2px}.check small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.busy-status{color:var(--blue);padding-top:20px;font-size:13px}.admin-gate{background:#fff;border:1px solid #dedee5;flex-direction:column;align-items:flex-start;gap:26px;max-width:550px;margin:10vh auto;padding:45px;display:flex}.admin-gate h1{letter-spacing:-1.5px;margin:0;font-size:38px}.admin-gate p{color:var(--muted);font-size:14px}.admin-gate>a:last-child{font-size:12px}@media (max-width:950px){.project-grid,.admin-projects{grid-template-columns:repeat(2,1fr)}.editor-columns{gap:25px}.admin-title{align-items:flex-start}.editor{padding:25px}}@media (max-width:700px){.project-grid,.admin-projects,.editor-columns{grid-template-columns:1fr}.project-card-image{height:300px}.admin-header{flex-wrap:wrap;gap:20px;height:auto;min-height:90px;padding:20px 6%}.admin-header>div{gap:20px;font-size:11px}.admin-title{display:block}.admin-title .button{margin-top:24px}.admin-main{padding-top:32px}.admin-title h1{font-size:36px}.admin-empty{padding:30px}.admin-empty h2{font-size:28px}.editor{padding:20px}.editor-head{align-items:flex-start}.editor-head h2{font-size:24px}.editor-actions{flex-direction:column;align-items:stretch}.editor-actions .button{justify-content:center}.admin-gate{margin:30px 5%;padding:30px}.detail-copy{padding:24px}.detail-copy h3{font-size:26px}.gallery-controls{padding:12px}.project-empty{padding:30px}.field-row{gap:12px}.project-dialog{width:96vw}}.home-services{background:#ececf2;border-bottom:1px solid #dedee6}.home-services h2{margin:24px 0}.home-services>p{max-width:760px;color:var(--muted)}.service-links{flex-wrap:wrap;gap:20px;margin-top:32px;display:flex}.service-links a{color:var(--blue);border-bottom:1px solid #b6b8ce;padding-bottom:12px;font-size:13px}.service-header{gap:25px}.service-page{max-width:1180px;margin:0 auto;padding:35px 6% 70px}.breadcrumbs{color:var(--muted);gap:12px;font-size:11px;display:flex}.service-intro{padding:65px 0 45px}.service-intro h1{letter-spacing:-3px;margin:28px 0;font-size:clamp(44px,6vw,76px)}.service-intro p{max-width:760px;color:var(--muted);margin-bottom:28px}.service-jumps{color:var(--blue);border-top:1px solid #d4d5df;border-bottom:1px solid #d4d5df;flex-wrap:wrap;gap:18px;padding:22px 0;font-size:12px;display:flex}.service-section{border-bottom:1px solid #dedee6;padding:65px 0;scroll-margin-top:20px}.service-section h2{margin:22px 0 28px;font-size:clamp(30px,4vw,46px)}.service-section>p{max-width:800px;color:var(--muted);margin-bottom:20px}.service-section .text-link{margin-top:12px}.service-checklist{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.service-checklist h3{margin-bottom:18px;font-size:19px;font-weight:500}.service-checklist p{color:var(--muted);font-size:14px}.service-faq details{border-top:1px solid #dedee6;padding:20px 0}.service-faq summary{cursor:pointer;color:var(--blue);font-size:16px;line-height:1.6}.service-faq details p{color:var(--muted);max-width:800px;margin-top:18px}.service-faq details a{text-decoration:underline}.service-cta{padding-top:60px}.service-cta p{color:var(--muted);margin:24px 0}@media (max-width:700px){.service-checklist{grid-template-columns:1fr}.service-intro{padding-top:40px}.service-intro h1{letter-spacing:-2px;font-size:45px}.service-section{padding:45px 0}.service-header .brand{font-size:15px}.service-header .text-link{font-size:11px}.service-links{flex-direction:column;align-items:flex-start}.service-jumps{background:0 0;display:flex;position:static}.breadcrumbs{background:0 0;border:0;padding:0;display:flex;position:static}.service-header{padding:0 5%}}
