:root{--navy:#102d44;--steel:#285b7d;--sky:#63c5e8;--ink:#111820;--paper:#f4f7f9;--white:#fff;--line:#d8e0e5;--muted:#5f6b74;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Manrope",sans-serif;font-size:16px;line-height:1.65}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.4rem clamp(1.2rem,4vw,4rem);color:#fff;border-bottom:1px solid rgba(255,255,255,.24)}.brand{display:flex;align-items:center;gap:.72rem;text-decoration:none;line-height:.85}.brand-mark{position:relative;width:42px;height:36px;border-left:4px solid currentColor;border-right:4px solid currentColor;border-bottom:4px solid currentColor}.brand-mark:before{content:"";position:absolute;width:25px;height:25px;left:4px;top:-7px;border-left:4px solid currentColor;border-top:4px solid currentColor;transform:rotate(45deg)}.brand-mark i{position:absolute;width:5px;height:17px;background:var(--sky);bottom:0;left:14px}.brand strong,.brand small{display:block;letter-spacing:.12em}.brand strong{font:700 1.25rem/1 "Barlow Condensed",sans-serif}.brand small{margin-top:.3rem;font:600 .7rem/1 "Manrope",sans-serif;letter-spacing:.38em}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav a{text-decoration:none;font-size:.88rem;font-weight:600}.nav-cta{border:1px solid rgba(255,255,255,.7);padding:.7rem 1rem}.menu-toggle{display:none;background:none;border:0;color:#fff;padding:.5rem}.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:currentColor;margin:5px}.hero{position:relative;min-height:830px;color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy)}.hero-media{position:absolute;inset:0;background:url("assets/projects/7513ff_56edae90608b4353a453045e8d8c29fa~mv2.webp") center 48%/cover no-repeat;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,32,.95) 0%,rgba(9,32,48,.79) 42%,rgba(9,30,44,.2) 72%),linear-gradient(0deg,rgba(5,20,30,.88) 0%,transparent 34%)}.hero:after{content:"";position:absolute;right:-11vw;top:9%;width:44vw;height:44vw;border:1px solid rgba(99,197,232,.28);transform:rotate(45deg)}.hero-content{position:relative;z-index:2;width:min(880px,90vw);padding:11rem clamp(1.2rem,8vw,8rem) 13rem}.eyebrow{margin:0 0 1.2rem;color:var(--sky);font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.eyebrow.dark{color:var(--steel)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Barlow Condensed",sans-serif;line-height:.95}h1{max-width:900px;margin-bottom:1.5rem;font-size:clamp(4rem,9vw,8.5rem);letter-spacing:-.035em;text-transform:uppercase}h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.8)}.hero-copy{max-width:630px;margin-bottom:2.3rem;color:#dfeaf0;font-size:clamp(1rem,2vw,1.28rem)}.hero-actions{display:flex;align-items:center;gap:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.8rem 1.3rem;text-decoration:none;font-weight:700;font-size:.88rem}.button-primary{background:var(--sky);color:#071a27}.text-link{text-decoration:none;font-weight:700}.text-link span{display:inline-block;margin-left:.5rem;color:var(--sky)}.trust-strip{position:absolute;z-index:3;bottom:0;right:0;display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));width:min(720px,78vw);background:rgba(16,45,68,.95);backdrop-filter:blur(9px)}.trust-strip div{padding:1.5rem 1.7rem;border-left:1px solid rgba(255,255,255,.13)}.trust-strip strong,.trust-strip span{display:block}.trust-strip strong{font:700 1.5rem "Barlow Condensed",sans-serif}.trust-strip span{color:#cbd9e2;font-size:.73rem}.section{width:min(var(--max),calc(100% - 2.4rem));margin-inline:auto;padding:8rem 0}.intro{display:grid;grid-template-columns:1.08fr .92fr;gap:8vw;align-items:start}.intro h2,.section-heading h2,.standard-title h2,.contact h2{font-size:clamp(3rem,6vw,5.7rem);letter-spacing:-.03em;text-transform:uppercase}.intro-copy{padding-top:2.1rem;color:#44515a;font-size:1.1rem}.service-area{margin-top:2rem;padding-left:1rem;border-left:3px solid var(--sky);font-size:.9rem;font-weight:700;color:var(--navy)}.services{padding-top:2rem}.section-heading{max-width:760px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:295px;padding:2.2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;transition:transform .25s ease,background .25s ease}.service-card:hover{position:relative;z-index:2;transform:translateY(-7px);box-shadow:0 18px 50px rgba(16,45,68,.11)}.service-card.featured{background:var(--navy);color:#fff}.service-card>span,.standard-list span{color:var(--sky);font:700 .76rem "Manrope",sans-serif;letter-spacing:.14em}.service-card h3,.standard-list h3,.process h3{margin:4rem 0 .8rem;font-size:2rem;text-transform:uppercase}.service-card p{color:var(--muted);font-size:.9rem}.service-card.featured p{color:#ccdae2}.work{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--navy);color:#fff}.work-copy{padding:8rem clamp(1.2rem,6vw,7rem)}.work-copy h2{font-size:clamp(3rem,5vw,5rem)}.work-copy>p:last-child{max-width:520px;color:#c9d7df}.process{list-style:none;margin:0;padding:3rem clamp(1.2rem,6vw,6rem) 3rem 0}.process li{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:2.2rem 0;border-top:1px solid rgba(255,255,255,.18)}.process>li>span{color:var(--sky);font-size:.72rem;font-weight:700}.process h3{margin:0 0 .6rem;font-size:1.65rem}.process p{margin:0;color:#bdcdd7;font-size:.9rem}.standards{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.standard-list>div{padding:1.8rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:50px 170px 1fr;gap:1rem;align-items:start}.standard-list h3{margin:0;font-size:1.5rem}.standard-list p{margin:0;color:var(--muted);font-size:.9rem}.contact{padding:7rem max(clamp(1.2rem,8vw,8rem),calc((100% - var(--max))/2));width:100%;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;background:var(--steel);color:#fff}.contact h2{margin-bottom:1.5rem}.contact>div>p:last-child{max-width:570px;color:#d7e5ed}.contact-card{padding:2.3rem;background:#fff;color:var(--ink)}.contact-label{color:var(--steel);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.contact-card h3{margin:1.5rem 0 1rem;font-size:2rem;text-transform:uppercase}.contact-card p{color:var(--muted);font-size:.9rem}.button-light{margin-top:1.2rem;background:var(--navy);color:#fff}footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:2rem;padding:3rem clamp(1.2rem,4vw,4rem);background:#091b28;color:#b9c9d3;font-size:.76rem}footer p{margin:0;text-align:center}.footer-brand{color:#fff}.footer-brand+.footer-brand{display:none}footer p:last-child{text-align:right}
@media(max-width:850px){.site-header nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:1rem 1.3rem 1.5rem;background:var(--navy)}.site-header nav.open{display:flex}.site-header nav a{padding:.85rem 0}.menu-toggle{display:block}.hero{min-height:760px}.hero-content{padding:9rem 1.2rem 14rem}.trust-strip{left:0;right:0;width:100%;grid-template-columns:repeat(3,1fr)}.trust-strip div{padding:1rem}.intro,.work,.standards,.contact{grid-template-columns:1fr}.section{padding:5rem 0}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:270px}.work-copy{padding:5rem 1.2rem 2rem}.process{padding:1rem 1.2rem 4rem}.standard-list>div{grid-template-columns:40px 145px 1fr}.contact{padding:5rem 1.2rem}.contact-card{padding:1.7rem}footer{grid-template-columns:1fr;text-align:left}footer p,footer p:last-child{text-align:left}}
@media(max-width:560px){.hero{min-height:760px}.hero-shade{background:linear-gradient(90deg,rgba(5,20,32,.93),rgba(9,32,48,.58)),linear-gradient(0deg,rgba(5,20,30,.93),transparent 45%)}.hero-content{padding-bottom:16rem}h1{font-size:3.75rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.trust-strip strong{font-size:1.15rem}.trust-strip span{font-size:.61rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-card h3{margin-top:3rem}.standard-list>div{grid-template-columns:34px 1fr}.standard-list p{grid-column:2}.intro-copy{padding-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.photo-grid figure{margin:0;background:white}.photo-grid a{display:block}.photo-grid img{display:block;width:100%;height:280px;object-fit:cover}.photo-grid figcaption{padding:1rem;font-size:.9rem;line-height:1.5;color:var(--navy)}.photo-grid a:focus-visible{outline:4px solid var(--steel);outline-offset:4px}.project-gallery .section-heading>p:last-child{color:var(--muted);margin-bottom:2.5rem}@media(max-width:850px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.photo-grid{grid-template-columns:1fr}.photo-grid img{height:auto;max-height:500px;object-fit:contain}}

/* Boutique direction from the supplied reference and current business card. */
:root{--paper:#fff;--ink:#263d4b;--steel:#53788d;--navy:#243f50;--sky:#94bfd4}
.site-header{position:relative;background:white;color:var(--ink);padding:18px max(24px,calc((100% - 1320px)/2));border-color:var(--line)}.brand{gap:8px}.brand .current-logo{width:78px;height:78px;object-fit:contain}.brand strong{font:500 1.3rem 'Cormorant Garamond',Georgia,serif;letter-spacing:.08em}.brand small{font:italic .78rem Georgia,serif;letter-spacing:0;margin-top:7px}.nav-cta{border-color:var(--steel)}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;text-transform:none!important;line-height:1.08!important}h1{font-size:clamp(3rem,5.5vw,5.6rem);letter-spacing:-.025em}.hero{min-height:700px;background:#edf3f6;color:var(--ink)}.hero:after{display:none}.hero-shade{background:linear-gradient(90deg,rgba(246,249,251,.98),rgba(246,249,251,.92) 35%,rgba(246,249,251,.15) 85%)}.hero-content{width:100%;padding:85px max(24px,calc((100% - 1220px)/2)) 155px}.hero h1{max-width:820px}.hero h1 span{color:var(--steel);-webkit-text-stroke:0;font-style:italic}.hero-copy{color:#354e5e;max-width:510px;font-size:1.125rem}.eyebrow{color:var(--steel);font-size:.875rem;letter-spacing:.14em}.text-link{color:var(--navy)}.button-primary{background:var(--navy);color:white}.trust-strip{width:100%;background:rgba(255,255,255,.96);border-top:1px solid var(--line);color:var(--ink)}.trust-strip div{padding:18px 28px;text-align:center;border-color:var(--line)}.trust-strip strong{font:500 1.5rem Georgia,serif}.trust-strip span{color:var(--muted);font-size:.875rem}.section{padding-top:90px;padding-bottom:90px}.intro h2,.section-heading h2,.standard-title h2,.contact h2{font-size:clamp(2.6rem,4vw,4rem);letter-spacing:-.02em}.intro{gap:60px}.section-heading{margin:0 auto 40px;text-align:center}.services{padding-top:20px}.service-grid{gap:20px;border:0}.service-card{position:relative;isolation:isolate;overflow:hidden;background:#f7fafb;min-height:365px;border:1px solid var(--line);padding:30px;box-shadow:none!important;transform:none!important}.service-card:before{content:'';position:absolute;inset:0;background:var(--service-photo) center/cover;opacity:.25;z-index:-2;transition:opacity .3s}.service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,250,252,0),rgba(247,250,252,.4) 30%,rgba(247,250,252,.96));z-index:-1}.service-card:hover:before{opacity:.36}.service-card>span{font-size:.875rem;color:#345c73}.service-card h3{font-size:2.15rem;margin:65px 0 16px}.service-card p{font-size:1rem;color:#293f4d}.project-gallery{border-top:1px solid var(--line)}.photo-grid figcaption{font:500 1.4rem 'Cormorant Garamond',Georgia,serif;border-bottom:1px solid var(--line);padding:18px 0}.photo-grid img{height:300px}.work-copy{text-align:left;margin:0;max-width:none}.work .eyebrow{color:var(--sky)}.work-copy h2{font-size:3.5rem}.process h3{font-size:1.9rem}.process p{font-size:1rem}.standard-list h3{font-size:1.65rem}.standard-list p{font-size:1rem}.contact{background:#edf3f7;color:var(--ink);gap:60px}.contact>div>p:last-child{color:var(--muted)}.contact-card{border:1px solid var(--line)}.contact-phone{font:500 2rem Georgia,serif;text-decoration:none}.contact-card p{font-size:1rem}.contact-card address{font-style:normal;margin:24px 0}.button-light{color:white;background:var(--navy)}footer{background:white;color:var(--ink);grid-template-columns:1.2fr 1fr 1fr;border-top:1px solid var(--line)}.footer-brand{color:var(--ink)}footer p{font-size:.875rem}.footer-brand strong{font-size:1rem}.footer-brand small{font-size:.7rem}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header nav{gap:16px}.brand strong{font-size:1.1rem}.brand small{font-size:.7rem}.brand .current-logo{width:65px;height:65px}}
@media(max-width:850px){.site-header nav{background:white;color:var(--ink);border-bottom:1px solid var(--line)}.menu-toggle{color:var(--ink)}.hero-content{padding:60px 24px 160px}.hero{min-height:720px}.intro,.contact{gap:30px}.section{padding:65px 0}.services{padding-top:12px}.work-copy h2{font-size:3rem}.hero-shade{background:linear-gradient(90deg,#f6f9fbf5,#f6f9fbba)}.trust-strip div{padding:16px 12px}footer{grid-template-columns:1fr}.footer-brand strong{font-size:1.2rem}}
@media(max-width:560px){h1{font-size:3.2rem}.hero-content{padding-bottom:205px}.service-grid{grid-template-columns:1fr}.service-card{min-height:345px}.trust-strip span{font-size:.8rem}.hero-actions{gap:18px}.photo-grid img{height:auto;max-height:500px;object-fit:contain}.contact-phone{font-size:1.65rem}.brand .current-logo{width:56px;height:56px}.brand strong{font-size:1rem}.brand small{font-size:.65rem}.site-header{padding:12px 16px}}

/* Clearer finished imagery with an accessible before-photo reveal. */
.service-card{background:linear-gradient(180deg,rgba(247,250,252,.05),rgba(247,250,252,.22) 38%,rgba(247,250,252,.88)),var(--service-photo) center/cover}
.service-card:before{background:var(--before-photo) center/cover;opacity:0;z-index:-2;transition:opacity .35s ease}
.service-card:after{background:linear-gradient(180deg,rgba(247,250,252,.03),rgba(247,250,252,.18) 38%,rgba(247,250,252,.9));z-index:-1;pointer-events:none}
.service-card:hover:before,.service-card:focus-visible:before{opacity:1}
.service-card:focus-visible{outline:4px solid var(--sky);outline-offset:3px}
.service-card .photo-state{position:absolute;top:22px;right:22px;padding:6px 9px;background:rgba(255,255,255,.88);font-size:.68rem;font-weight:700;letter-spacing:.04em;color:var(--navy);transition:background .25s,color .25s}
.service-card:hover .photo-state,.service-card:focus-visible .photo-state{background:var(--navy);color:#fff}
.service-card p{font-weight:500;text-shadow:0 1px 8px rgba(255,255,255,.9)}
.site-header nav a,.button,.text-link,.eyebrow,.trust-strip span,.section-heading h2,.intro h2,.service-card h3,.photo-grid figcaption,.process h3,.standard-title h2,.standard-list h3,.contact h2,.contact-label{text-transform:capitalize!important}
@media(hover:none){.service-card{cursor:pointer}.service-card.before-visible:before{opacity:1}.service-card.before-visible .photo-state{background:var(--navy);color:#fff}}
