:root{--navy:#0b1d52;--deep:#081638;--gold:#d59e4b;--cream:#fff1d8;--muted:#c2c7d4;--line:#ffffff26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--navy);color:var(--cream);font:15px/1.75 'Manrope',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.04}em{color:var(--gold);font-weight:400}h2{font-size:clamp(44px,5vw,70px)}h3{font-size:30px}p{color:var(--muted)}:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip{position:fixed;top:-70px;background:var(--gold);padding:10px;z-index:100;color:var(--deep)}.skip:focus{top:0}header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 5%;border-bottom:1px solid var(--line);background:var(--navy)}.brand{width:192px;flex-shrink:0;background:#fff;padding:10px 14px}.brand img{width:100%}nav{display:flex;gap:35px;align-items:center;font-size:13px}nav a:hover{color:var(--gold)}.nav-contact{border:1px solid #d59e4b80;padding:13px 20px}.nav-contact span{margin-left:20px}.hero{display:grid;grid-template-columns:46% 54%;min-height:680px}.hero-copy{padding:65px 10% 35px 11%}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700;color:var(--gold);margin-bottom:28px}h1{font-size:clamp(54px,5.8vw,88px);letter-spacing:-.025em;line-height:.98}.intro{margin:28px 0;font-size:14px;max-width:390px}.button{display:inline-flex;align-items:center;gap:38px;padding:15px 23px;background:var(--gold);color:var(--deep);font-size:12px;font-weight:700}.button:hover{background:var(--cream)}.hero-foot{margin-top:50px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.line-mark{font:32px Georgia,serif;color:var(--gold)}.hero-picture{position:relative;min-height:620px}.hero-picture>img{height:100%;width:100%;object-fit:cover;object-position:52% center}.hero-caption{position:absolute;bottom:25px;left:28px;right:28px;padding:18px 22px;background:#081638dd;display:flex;justify-content:space-between;align-items:center;font-size:13px}.hero-caption small{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:9px;margin-bottom:3px}.hero-caption>span:last-child{color:var(--gold);font-size:26px}.section{padding:100px 7%;max-width:1600px;margin:auto}.services{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-bottom:1px solid var(--line)}.section-heading>p:last-child{margin-top:25px;max-width:390px}.service-list article{display:flex;gap:24px;border-top:1px solid var(--line);padding:27px 0}.service-list article>span{color:var(--gold);font-size:11px;padding-top:6px}.service-list h3{font-size:28px;margin-bottom:12px}.service-list p{font-size:13px;max-width:380px}.work{background:var(--deep)}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:50px}.work-heading>p{max-width:330px;font-size:14px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px}.project-image{border:0;padding:0;display:block;width:100%;position:relative;overflow:hidden;background:var(--navy);text-align:left;color:white}.project-image img{aspect-ratio:1.4;width:100%;object-fit:cover;transition:transform .4s}.project-image:hover img{transform:scale(1.025)}.view{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);padding:60px 24px 20px;display:flex;justify-content:space-between;font-size:12px}.view>span{font-size:22px}.photo-count{position:absolute;top:16px;right:16px;background:#081638c9;padding:5px 11px;font-size:10px}.project-copy{padding-top:22px}.project-copy .eyebrow{margin-bottom:10px;font-size:9px}.project-copy h3{margin-bottom:12px;font-size:35px}.project-copy>p:last-child{font-size:13px;max-width:530px}.wide{grid-column:1/-1;display:grid;grid-template-columns:1.65fr 1fr;align-items:center;gap:45px}.wide .project-image img{aspect-ratio:1.65}.wide .project-copy{padding:0 20px 0 0}.wide h3{font-size:45px}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.about-lead{font-size:20px;line-height:1.65;color:var(--cream);margin-bottom:20px}.about-detail>p:nth-child(2){font-size:14px}.people{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.people a{padding-top:22px;border-top:1px solid var(--line)}.people small{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.people h3{font-size:27px;margin:10px 0 12px}.people span{font-size:12px}.contact{border-top:1px solid var(--line);background:#102354}.contact h2{font-size:clamp(60px,7vw,94px)}.contact>p:not(.eyebrow){margin:25px 0}.email{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(24px,3.4vw,48px);border-bottom:1px solid var(--gold);display:inline-block;padding-bottom:13px;overflow-wrap:anywhere}.email>span{color:var(--gold);margin-left:25px}.contact-bottom{margin-top:65px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.contact-bottom>div{display:flex;gap:30px}footer{padding:25px 7%;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}dialog{background:var(--deep);color:var(--cream);border:1px solid var(--line);width:min(1100px,94vw);max-height:94dvh;padding:25px}dialog::backdrop{background:#000d}.gallery-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.gallery-top .eyebrow{margin-bottom:6px}.gallery-top h2{font-size:28px}.gallery-top button,.gallery-controls button{background:none;border:1px solid var(--line);color:var(--cream);width:46px;height:46px}.gallery-stage{margin-top:20px;display:flex;justify-content:center;background:#050d20}.gallery-stage img{height:60dvh;object-fit:contain;max-width:100%}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:15px}.gallery-controls button:disabled{opacity:.25;cursor:default}.gallery-hint{text-align:center;font-size:10px;margin-top:10px}@media(min-width:1600px){.hero{max-width:1600px;margin:auto}}@media(max-width:1000px){nav{gap:18px}.hero-copy{padding:45px 9%}.hero{min-height:600px}h1{font-size:58px}.hero-picture{min-height:600px}.section{padding:70px 6%}.services{gap:6%}.about{gap:6%}.people{grid-template-columns:1fr}.nav-contact span{display:none}}@media(max-width:700px){html{scroll-padding-top:20px}header{height:auto;padding:18px 6%;flex-wrap:wrap;gap:17px}.brand{width:150px}nav{width:100%;justify-content:space-between;gap:10px;font-size:11px}.nav-contact{padding:8px 10px}.hero{display:flex;flex-direction:column}.hero-copy{padding:40px 6% 30px}h1{font-size:65px}.desktop{display:none}.eyebrow{font-size:9px;margin-bottom:22px}.intro{margin:22px 0}.hero-foot{display:none}.hero-picture{min-height:0;height:390px}.hero-caption{bottom:18px;left:6%;right:6%;padding:13px 18px}.section{padding:60px 6%}.services,.about{grid-template-columns:1fr;gap:35px}.section-heading>p:last-child{max-width:none}.work-heading{display:block;margin-bottom:32px}.work-heading>p{margin-top:20px}.projects{grid-template-columns:1fr;gap:38px}.wide{display:block;grid-column:auto}.wide .project-copy{padding:22px 0 0}.wide h3{font-size:35px}.project-image img,.wide .project-image img{aspect-ratio:1.3}.people{grid-template-columns:1fr 1fr;gap:15px}.people h3{font-size:24px}.about-lead{font-size:18px}.contact-bottom,.contact-bottom>div{flex-direction:column;gap:14px}.contact-bottom{margin-top:40px}.email>span{margin-left:5px}dialog{padding:15px}.gallery-stage img{height:52dvh}.gallery-top h2{font-size:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Integrate the existing logo into the navy header. */
.brand{background:transparent;padding:0;width:205px}
.brand img{filter:brightness(0) saturate(100%) invert(92%) sepia(13%) saturate(508%) hue-rotate(337deg) brightness(104%) contrast(101%)}
@media(max-width:700px){.brand{width:175px}}

/* Preserve the original orange emblem over the cream wordmark. */
.brand{position:relative}
.brand::after{content:"";position:absolute;inset:0;background:url("assets/logo.png") center / 100% 100% no-repeat;clip-path:inset(0 69% 0 0);pointer-events:none}

.battle-project .project-image img{object-position:center 65%}

.woodchurch-project .project-image img{object-position:center 35%}.project-copy .image-note{font-size:11px;margin-top:12px;color:var(--muted)}

.people .director-bio{font-size:12px;line-height:1.75;margin:12px 0 18px}.people a{display:flex;flex-direction:column}.people a>span{margin-top:auto}@media(max-width:700px){.people{grid-template-columns:1fr}}

/* Comfortable touch controls and galleries that fit short landscape screens. */
nav a{min-height:44px;display:inline-flex;align-items:center}
.gallery-top>div{min-width:0}.gallery-top button{flex-shrink:0}
dialog{max-height:94vh;max-height:94dvh}
.gallery-stage img{height:60vh;height:60dvh}
@media(max-width:700px){
 h1{font-size:clamp(52px,17.3vw,65px)}
 nav{flex-wrap:wrap;column-gap:10px;row-gap:4px}
 .gallery-stage img{height:52vh;height:52dvh}
}
@media(max-height:550px){
 dialog{padding:12px}
 .gallery-top h2{font-size:22px}
 .gallery-top .eyebrow{margin-bottom:2px;font-size:9px}
 .gallery-stage{margin-top:8px}
 .gallery-stage img{height:calc(94vh - 166px);height:calc(94dvh - 166px);min-height:90px}
 .gallery-controls{margin-top:8px}
 .gallery-hint{margin-top:4px}
}

.slideshow-toggle{position:absolute;top:18px;right:18px;z-index:1;min-height:44px;padding:9px 15px;border:1px solid #ffffff55;background:#081638e8;color:var(--cream);font-size:12px}
.slideshow-toggle:hover{background:var(--deep)}

.people h3 .qualification{font:inherit;font-size:.7em;white-space:nowrap;text-transform:none;margin:0}

.gym-project .project-image img{object-position:center 65%}
