:root{--navy:#17324d;--ink:#26333d;--cream:#f8f6f1;--mist:#e8ecef;--gold:#b89055;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}.site-header{height:80px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:relative;z-index:3}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);text-decoration:none;font-weight:700;letter-spacing:.15em;font-size:18px;line-height:1}.brand small{display:block;font-size:7px;letter-spacing:.2em;margin-top:5px;font-weight:600}.brand-mark{height:36px;width:32px;display:grid;place-items:center;color:var(--cream);background:var(--navy);font-family:"Playfair Display",serif;font-size:25px;clip-path:polygon(50% 0,100% 20%,100% 100%,0 100%,0 20%)}.navigation{display:flex;gap:32px;align-items:center}.navigation a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}.navigation .nav-cta{background:var(--navy);color:white;padding:11px 17px}.menu-button{display:none;border:0;background:transparent;font-size:25px;color:var(--navy)}.hero{min-height:630px;position:relative;isolation:isolate;display:flex;align-items:center;padding:80px clamp(22px,12vw,180px);background:url("assets/concrete-structure.jpeg") center 43%/cover}.hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,35,52,.93) 0%,rgba(18,43,64,.79) 45%,rgba(17,45,66,.22) 100%)}.hero-content{max-width:690px;color:white}.eyebrow{letter-spacing:.2em;font-size:11px;font-weight:700;margin:0 0 17px;color:#d8c09a}.eyebrow.dark{color:#967044}.hero h1,h2{font-family:"Playfair Display",serif;line-height:1.1;margin:0;letter-spacing:-.025em}.hero h1{font-size:clamp(45px,6vw,78px)}.hero h1 em{color:#e1c99f;font-style:normal}.hero-copy{font-size:18px;max-width:510px;margin:23px 0 30px;color:#edf2f4}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;gap:20px;text-decoration:none;padding:14px 20px;font-weight:700;font-size:14px;transition:.2s}.button span,.text-link span{font-size:20px;line-height:0}.button-primary{background:var(--gold);color:#172f43}.button-primary:hover{background:#d1ad76}.button-ghost{border:1px solid rgba(255,255,255,.6);color:#fff}.hero-card{position:absolute;right:clamp(22px,6vw,90px);bottom:40px;width:190px;padding:20px;background:rgba(248,246,241,.93);color:var(--navy)}.hero-card span{color:var(--gold);font-family:"Playfair Display";font-size:23px}.hero-card p{font-size:14px;line-height:1.35;margin:8px 0 0;font-weight:600}.section{padding:100px clamp(22px,11vw,160px)}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;background:#fff}.intro h2,.section-heading h2,.about h2{font-size:clamp(34px,4vw,52px)}.intro>p{margin:42px 0 0;font-size:17px;max-width:490px}.services{background:var(--mist)}.section-heading{max-width:650px}.section-heading>p:not(.eyebrow){margin:17px 0 0;max-width:470px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid #cbd1d4}.service-grid article{padding:25px 30px 10px 0;margin-right:30px;border-right:1px solid #cbd1d4}.service-grid article:last-child{border:0}.service-grid span{color:var(--gold);font-family:"Playfair Display";font-size:20px}.service-grid h3{font-family:"Playfair Display";font-size:26px;margin:35px 0 9px;line-height:1.2}.service-grid p{font-size:14px;margin:0;max-width:260px}.work{background:#fff}.work-heading{display:grid;grid-template-columns:1fr auto;max-width:none}.work-heading .eyebrow,.work-heading h2{grid-column:1}.text-link{color:var(--navy);font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px;display:inline-flex;gap:13px;align-items:center}.work-heading .text-link{grid-column:2;grid-row:2;align-self:end}.gallery{margin-top:50px;display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.gallery figure{margin:0;position:relative;height:340px;overflow:hidden}.gallery figure.large{grid-row:span 2;height:700px}.gallery img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.035)}figcaption{position:absolute;bottom:0;left:0;right:0;padding:16px 18px;color:white;background:linear-gradient(transparent,rgba(8,21,30,.85));display:flex;justify-content:space-between;align-items:end;font-weight:700}figcaption small{font-size:10px;font-weight:500;letter-spacing:.08em}.about{display:grid;grid-template-columns:.65fr 1fr;gap:80px;background:var(--navy);color:white}.about-number{font-family:"Playfair Display";font-size:clamp(150px,20vw,290px);line-height:.7;color:#31506a;align-self:center}.about p:not(.eyebrow){max-width:530px;margin:22px 0 25px;color:#e4ebee}.about .text-link{color:#fff}.contact{padding:86px clamp(22px,11vw,160px);background:#dce4e8;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{font-size:clamp(38px,4.2vw,58px);color:var(--navy)}.contact>div>p:not(.eyebrow){margin:15px 0}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:8px}.contact-details>a:not(.button){font-size:21px;color:var(--navy);text-decoration:none;font-weight:700}.contact-details span{font-size:15px}.contact-details .button{margin-top:17px}footer{padding:35px clamp(22px,5vw,76px);background:#f8f6f1;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{margin:0;font-size:12px;color:#68747c}@media(max-width:720px){.site-header{height:70px}.menu-button{display:block}.navigation{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);padding:18px 22px;flex-direction:column;align-items:flex-start;box-shadow:0 8px 14px #17324d16}.navigation.open{display:flex}.hero{min-height:610px;padding:70px 25px}.hero-card{display:none}.section{padding:65px 25px}.intro,.about,.contact{grid-template-columns:1fr;gap:35px}.intro>p{margin:0}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid #cbd1d4;margin:0;padding:25px 0}.service-grid article:last-child{border-bottom:0}.service-grid h3{margin:15px 0 7px}.gallery{grid-template-columns:1fr;gap:15px}.gallery figure.large,.gallery figure{height:310px}.about-number{display:none}.work-heading{display:block}.work-heading .text-link{margin-top:25px}.contact{padding:65px 25px}.hero h1{font-size:46px}footer{flex-direction:column;align-items:flex-start}}
