:root{--navy:#09283c;--gold:#ad8547;--paper:#f6f4ef;--ink:#172f3d;--muted:#56646b;--line:#d9dedc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:white;z-index:10;padding:10px}.topbar{background:var(--navy);color:#fff;padding:9px 6%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.6px}.topbar a{letter-spacing:1px}header{padding:14px 6%;height:107px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee;background:#fff}.brand{display:block;width:150px;height:84px;overflow:hidden}.brand img{width:185px;height:auto;max-width:none;transform:translate(-17px,-20px)}nav{display:flex;gap:32px;align-items:center;font-size:14px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--navy);color:white;padding:16px 23px;min-height:52px;font-weight:600;font-size:14px;border:1px solid var(--navy);cursor:pointer;transition:background .2s}.button:hover{background:#1c435a}.button span{font-size:20px}.button.small{padding:11px 20px;min-height:46px}.outline{background:transparent;color:var(--navy)}.outline:hover{background:var(--paper)}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:650px}.hero-copy{padding:72px 9% 64px 11.5%;align-self:center}.eyebrow{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:2.1px;line-height:1.7;margin:0 0 23px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-2.7px;line-height:1.08;font-size:clamp(48px,5.4vw,84px);margin-bottom:27px}h1 em{font-weight:400;color:var(--gold)}.lead{font-size:17px;line-height:1.8;color:var(--muted);max-width:490px}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.text-link{border-bottom:1px solid var(--gold);padding:5px 0;font-size:14px;font-weight:600}.hero-foot{font-size:12px;color:var(--muted);line-height:1.8;margin:36px 0 0}.hero-visual{position:relative;background:var(--paper);min-height:600px;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover;position:absolute}.visual-placeholder{height:100%;min-height:600px;background:var(--navy);color:white;padding:80px 50px;display:flex;flex-direction:column;justify-content:end}.visual-placeholder span{font-size:14px;letter-spacing:6px;color:#cfad73}.visual-placeholder p{font:48px/1.2 Georgia,serif;margin-top:25px}.image-caption{position:absolute;bottom:20px;left:24px;background:#09283ce8;color:white;font-size:11px;padding:8px 13px;max-width:85%}.service-strip{display:flex;justify-content:center;align-items:center;gap:35px;flex-wrap:wrap;background:var(--paper);padding:24px 6%;font-size:12px;font-weight:600}.service-strip span:nth-child(even){color:var(--gold)}.section{padding:95px 6%;max-width:1600px;margin:auto}.section-head{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:45px}.section-head>p{max-width:340px;color:var(--muted);font-size:15px;margin-bottom:10px}h2{font-family:Georgia,serif;font-size:clamp(34px,3.4vw,52px);font-weight:400;line-height:1.15;letter-spacing:-1px;margin-bottom:15px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{padding:38px;background:var(--paper);display:flex;flex-direction:column;min-height:390px}.number{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:700;margin-bottom:35px}h3{font-size:27px;line-height:1.25;font-weight:500;letter-spacing:-.5px}.service-card p{font-size:15px;color:var(--muted)}.service-card a{margin-top:auto;padding-top:25px;border-top:1px solid var(--line);font-size:13px;font-weight:600;display:flex;justify-content:space-between}.navy{background:var(--navy);color:white}.navy p{color:#d2dce2}.navy .number{color:#d6b784}.navy a{border-color:#385264}.projects{padding-top:10px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery button{border:0;background:var(--paper);text-align:left;padding:0;cursor:pointer;overflow:hidden;color:var(--ink)}.gallery img{width:100%;height:360px;object-fit:cover;display:block;transition:transform .25s}.gallery button:hover img{transform:scale(1.025)}.gallery span{display:block;padding:16px 18px;font-size:13px}.gallery .more{display:none}.gallery.expanded .more{display:block}.gallery-toggle{margin-top:25px}.process{background:var(--paper);max-width:none}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.steps article{border-top:1px solid #c5c9c6;padding-top:25px}.steps span{color:var(--gold);font-family:Georgia,serif;font-size:30px}.steps h3{font-size:21px;margin:20px 0 14px}.steps p{max-width:340px;font-size:15px;color:var(--muted)}.area{padding:80px 6%;background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%}.area .eyebrow{color:#d6b784}.area>div:last-child{align-self:center;max-width:480px}.area p{color:#d4dee5}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact>div>p{max-width:390px;color:var(--muted)}.phone{display:block;font:30px Georgia,serif;margin-top:35px}.email{display:block;font-size:15px;margin-top:12px;overflow-wrap:anywhere}form{border:1px solid var(--line);padding:35px}form h3{font-size:24px}label{display:block;font-size:12px;font-weight:600;margin:16px 0 7px}input,select,textarea{width:100%;padding:11px;border:1px solid #cbd3d6;background:white;border-radius:0;color:var(--ink)}textarea{resize:vertical}form .button{width:100%;margin-top:20px}.form-note,#form-status{font-size:11px;color:var(--muted);margin:14px 0 0}footer{border-top:1px solid var(--line);padding:35px 6%;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:12px;color:var(--muted)}footer strong{font-size:18px;letter-spacing:2px;color:var(--navy)}footer strong span{font-size:10px;letter-spacing:2px;color:var(--gold)}footer p{margin:10px 0 0}dialog{border:0;background:#fff;padding:40px 15px 15px;max-width:94vw;max-height:94vh}dialog::backdrop{background:#071a29dc}dialog img{display:block;max-height:76vh;max-width:85vw;object-fit:contain;margin:auto}dialog p{font-size:12px;text-align:center;margin:12px 0 0}dialog button{position:absolute;right:10px;top:0;background:transparent;border:0;font-size:28px;cursor:pointer;width:40px;height:40px}@media(max-width:900px){nav{gap:18px}.hero-copy{padding:48px 8%}.hero{min-height:550px}.hero-visual{min-height:550px}h1{font-size:56px}.service-card{padding:25px}.gallery img{height:300px}.section{padding:65px 6%}.section-head{align-items:start}.contact{gap:6%}.steps{gap:25px}}@media(max-width:640px){html{scroll-padding-top:20px}.topbar{font-size:9px;letter-spacing:.7px;padding:9px 5%}header{height:92px;padding:10px 5%}.brand{width:130px;height:76px}.brand img{width:165px;transform:translate(-16px,-18px)}nav{gap:14px;font-size:12px}nav>a:nth-child(2),nav>a:nth-child(3){display:none}.button.small{padding:9px 14px;font-size:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:47px 6% 40px}.eyebrow{font-size:10px;margin-bottom:18px}h1{font-size:56px}.lead{font-size:16px}.hero-foot{margin-top:24px}.hero-visual{min-height:440px}.visual-placeholder{min-height:440px}.service-strip{gap:14px;font-size:10px;padding:20px 5%}.service-strip span:nth-child(even){display:none}.section{padding:60px 6%}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:23px}.service-grid,.steps,.contact,.area{grid-template-columns:1fr}.service-grid{gap:17px}.service-card{min-height:340px;padding:30px}.number{margin-bottom:25px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery img{height:240px}.gallery span{font-size:11px;padding:12px}.steps{gap:22px;margin-top:30px}.steps article{padding-top:17px}.steps h3{margin-top:12px}.area{padding:60px 6%;gap:25px}.contact{gap:40px}form{padding:24px}.phone{font-size:29px}footer{align-items:start;flex-direction:column;gap:15px}.projects{padding-top:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
