:root{--ink:#111820;--blue:#59b9f5;--paper:#f4f6f7;--muted:#b6c0c9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:#eef1f4;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}header{height:100px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:#111820}.brand{display:flex;align-items:center;gap:18px}.monogram{font-family:Georgia,serif;line-height:1;font-size:45px;letter-spacing:-3px;color:#dfe5eb}.brand-line{display:block;width:46px;height:3px;background:var(--blue);margin-top:7px}.brand-name{font-size:12px;letter-spacing:2.5px;line-height:1.5;color:#d7dfe7}nav{display:flex;align-items:center;gap:33px;font-size:14px}nav a:hover,.text-link:hover{color:var(--blue)}.nav-call{border-left:1px solid #3b4650;padding-left:33px;color:var(--blue)}.hero{position:relative;min-height:640px;height:calc(90vh - 100px);max-height:850px;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 60%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,16,24,.9),rgba(7,16,24,.52) 48%,rgba(7,16,24,.05)),linear-gradient(0deg,rgba(7,16,24,.3),transparent)}.hero-content{position:relative;padding:60px 8%;max-width:900px}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:2.4px;color:var(--blue);margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:normal}h1{font-size:clamp(54px,6.5vw,90px);line-height:1.08;letter-spacing:-2px;margin-bottom:26px}.hero-copy{max-width:430px;color:#e1e7ed;font-size:19px;line-height:1.6}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 25px;font-size:14px;font-weight:bold;border:1px solid transparent;transition:background .2s}.blue{background:var(--blue);color:#102133}.blue:hover{background:#8dd0fa}.outline{border-color:#abb5bf;color:white;background:rgba(17,24,32,.2)}.outline:hover{background:#ffffff18}.hero-caption{position:absolute;right:5%;bottom:25px;font-size:11px;letter-spacing:2px}.credentials{padding:25px 8%;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;border-bottom:1px solid #34414d;font-size:14px;color:#c8d1d9}.credentials strong{color:#fff}.section{padding:100px 8%}h2{font-size:clamp(35px,4vw,52px);line-height:1.16;letter-spacing:-1px;margin-bottom:28px}.services{display:grid;grid-template-columns:1fr 1.25fr;gap:8%;background:var(--paper);color:var(--ink)}.section-intro>p:last-child{max-width:390px;color:#50606b}.services .eyebrow,.projects .eyebrow{color:#1673af}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.service-grid article{border-top:1px solid #b9c5cf;padding-top:20px}.number{font-size:12px;letter-spacing:2px;color:#1673af}h3{font-size:19px;line-height:1.4;margin:13px 0}.service-grid p{color:#50606b;font-size:15px;margin:0}.projects{background:#e8edf0;color:var(--ink)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:14px;color:#536573;margin:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{position:relative;padding:0;text-align:left;border:0;background:#1b242b;color:white;cursor:pointer;min-height:355px;overflow:hidden}.project.wide{grid-column:span 2}.project img{width:100%;height:100%;position:absolute;object-fit:cover;transition:transform .5s}.project:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101922e6,transparent 65%)}.project:hover img{transform:scale(1.04)}.project span{position:absolute;z-index:1;bottom:25px;left:25px;right:25px;display:flex;flex-direction:column}.project small{font-size:11px;letter-spacing:1.6px;color:#b5def9;margin-bottom:7px}.project strong{font-family:Georgia,serif;font-weight:normal;font-size:23px;line-height:1.3}.project em{font-size:12px;font-style:normal;margin-top:12px;color:#d7e0e9}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-photo img{display:block;width:100%;height:580px;object-fit:cover}.about-copy p:not(.eyebrow){color:#b9c5ce}.text-link{display:inline-block;margin-top:15px;padding-bottom:6px;border-bottom:1px solid var(--blue);font-size:15px}.area{border-top:1px solid #34414d;text-align:center;background:#18232e}.area>p:not(.eyebrow){max-width:610px;margin:0 auto;color:#c4ced7}.areas{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:35px}.areas span{font-size:14px;border:1px solid #52616e;padding:8px 18px}.contact{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;border-top:1px solid #34414d}.contact>div>p{max-width:490px;color:#bac7d1}.contact-details{border-left:1px solid #3a4955;padding-left:40px;display:flex;flex-direction:column;justify-content:center}.contact-details small{font-size:11px;letter-spacing:2px;color:var(--blue);margin:20px 0 8px}.contact-details>a{font-size:28px;line-height:1.3}.contact-details>a.email{font-size:18px;overflow-wrap:anywhere}.contact-details p{color:#bdc8d0;font-size:14px}footer{padding:40px 8%;border-top:1px solid #34414d;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#9fadb9}footer p,footer small{font-size:12px;margin:0}dialog{border:1px solid #566b7b;padding:18px;background:#111820;color:#fff;max-width:90vw;max-height:94vh}dialog::backdrop{background:#050b10e8}dialog>img{display:block;max-height:78vh;max-width:85vw;object-fit:contain}dialog p{margin:12px 0 0}.close{position:absolute;right:24px;top:24px;width:44px;height:44px;border:1px solid #fff;background:#111820e6;color:white;font-size:28px;cursor:pointer}.skip{position:absolute;top:-100px;z-index:10;background:var(--blue);color:var(--ink);padding:10px}.skip:focus{top:0}
@media(max-width:900px){header{padding:0 6%}nav{gap:20px}nav a:nth-child(3){display:none}.section{padding:70px 6%}.services{grid-template-columns:1fr;gap:35px}.section-intro>p:last-child{max-width:600px}.gallery{grid-template-columns:repeat(2,1fr)}.project.wide{grid-column:span 2}.about{gap:6%}.about-photo img{height:520px}.contact{gap:6%}.contact-details{padding-left:25px}.contact-details>a{font-size:25px}footer p{display:none}}
@media(max-width:600px){header{height:88px}.monogram{font-size:36px}.brand{gap:12px}.brand-name{font-size:9px;letter-spacing:1.8px}nav a:not(.nav-call){display:none}.nav-call{border:0;padding:0;font-size:13px}.hero{height:670px;min-height:0}.hero-content{padding:40px 6%}.hero>img{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#08131de6,#08131d63),linear-gradient(0deg,#08131d88,transparent)}h1{font-size:58px}.hero-copy{font-size:17px;max-width:320px}.button{padding:14px 20px}.hero-caption{font-size:9px;left:6%;right:auto}.credentials{padding:24px 6%;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px}.section{padding:60px 6%}.service-grid{gap:30px 24px}.service-grid h3{font-size:17px}.service-grid p{font-size:14px}.section-heading{display:block}.section-heading>p{margin-top:20px}.gallery{gap:14px}.project{min-height:280px}.project.wide{min-height:350px}.project span{left:16px;right:16px;bottom:20px}.project strong{font-size:19px}.project small{font-size:9px}.about{display:flex;flex-direction:column;gap:35px;align-items:stretch}.about-photo img{height:400px}.contact{grid-template-columns:1fr;gap:30px}.contact-details{border-left:0;border-top:1px solid #3a4955;padding:20px 0 0}footer{padding:30px 6%;align-items:flex-start}footer small{max-width:130px;text-align:right}.eyebrow{font-size:11px;letter-spacing:2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Display the supplied logo area, keeping phone interface outside the frame. */
header,footer{background:#000}header{height:136px}.brand{display:block;flex-shrink:0}.logo-window{display:block;position:relative;width:220px;aspect-ratio:488 / 245;overflow:hidden;background:#090c0b}.logo-window img{position:absolute;width:145.286885%;height:626.938776%;max-width:none;left:-22.540984%;top:-255.510204%}footer .logo-window{width:200px}
@media(max-width:600px){header{height:112px;gap:14px}.logo-window{width:180px}footer .logo-window{width:170px}.nav-call{font-size:13px;white-space:nowrap}}
@media(max-width:360px){.logo-window{width:156px}header{padding:0 5%}.nav-call{font-size:12px}footer{flex-wrap:wrap}footer small{text-align:left;max-width:none}}
