.service-hero{position:relative;min-height:610px;height:75vh;max-height:850px;display:flex;align-items:flex-end;color:#fff;background:#10251d}
.service-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,20,14,.35),rgba(5,20,14,.08) 35%,rgba(5,20,14,.8))}
.service-hero__text{position:relative;z-index:1;padding-block:65px}
.service-crumbs{display:flex;gap:12px;font-size:13px;color:#eee;margin-bottom:35px;flex-wrap:wrap}
.service-hero h1{font-family:var(--serif);font-size:clamp(58px,8vw,112px);font-weight:500;line-height:1.1;margin:12px 0 18px;letter-spacing:-.04em}
.service-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold-soft)}
.service-overview{display:grid;grid-template-columns:1fr 1.3fr;gap:65px;align-items:start;padding-block:95px}
.service-overview h2,.service-gallery h2,.service-cta h2{font:500 clamp(34px,4vw,40px)/1.15 var(--serif);margin:15px 0 25px}
.service-copy p{margin:0 0 24px;color:#586158;line-height:1.95}
.service-copy p:first-of-type{font-size:19px;color:var(--ink)}
.service-overview-image{margin:0;overflow:hidden;border-radius:8px;aspect-ratio:4/5;background:var(--ivory)}
.service-overview-image img{width:100%;height:100%;object-fit:cover}
.service-gallery{padding:75px 0 95px;background:var(--ivory)}
.service-gallery__head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}
.service-gallery__head p{color:#667066;font-size:14px}
.service-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-gallery__grid a{position:relative;overflow:hidden;display:block;background:#ddd;aspect-ratio:4/5;border-radius:5px}
.service-gallery__grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.service-gallery__grid a:hover img{transform:scale(1.035)}
.service-gallery__grid span{position:absolute;bottom:18px;right:18px;background:#faf8f2;padding:5px 14px;border-radius:30px;font-size:13px}
.service-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;display: none; padding-block:75px}
.service-cta p{color:#667066}
.service-related{border-top:1px solid var(--line);padding-block:30px 60px;display:none;flex-wrap:wrap;gap:12px}
.service-related a{padding:8px 18px;border:1px solid var(--line);border-radius:30px;font-size:14px}
.service-related a[aria-current],.service-related a:hover{background:var(--forest);color:#fff}
@media(max-width:820px){.service-hero{min-height:500px;height:65vh}.service-overview{grid-template-columns:1fr;gap:20px;padding-block:55px}.service-gallery__grid{gap:12px}.service-gallery__head,.service-cta{align-items:start;flex-direction:column}.service-gallery{padding-block:50px}.service-hero__text{padding-block:40px}}
@media(max-width:560px){.service-gallery__grid{grid-template-columns:1fr}.service-gallery__grid a{aspect-ratio:4/3}.service-hero h1{font-size:56px}.service-copy p:first-of-type{font-size:17px}}
@media(prefers-reduced-motion:reduce){.service-gallery__grid img{transition:none}}
.gallery-dialog{width:min(1200px,94vw);max-width:94vw;height:92vh;height:92dvh;max-height:92dvh;margin:auto;padding:24px 30px;border:1px solid #ffffff20;border-radius:18px;background:#101a16;color:#faf8f2;box-shadow:0 30px 100px #0008;overflow:auto}
.gallery-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px}
.gallery-dialog::backdrop{background:rgba(4,10,7,.9);backdrop-filter:blur(9px)}
.lightbox-head,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px}
.lightbox-brand{font-size:9px;letter-spacing:.24em;color:var(--gold-soft)}
.lightbox-head h2{font:500 25px/1.3 var(--serif);margin:5px 0 0}
.gallery-dialog button{display:grid;place-items:center;border:1px solid #ffffff30;color:#fff;background:#ffffff08;cursor:pointer;padding:0;flex-shrink:0;transition:background .2s,border-color .2s}
.gallery-dialog button:hover{background:#ffffff20;border-color:var(--gold-soft)}
.gallery-dialog button:focus-visible{outline:2px solid var(--gold-soft);outline-offset:4px}
.lightbox-close{width:44px;height:44px;border-radius:50%;font-size:28px}
.lightbox-stage{position:relative;min-height:0;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:18px}
.lightbox-image{width:100%;height:100%;min-height:0;object-fit:contain;border-radius:6px;grid-column:2;grid-row:1}
.lightbox-prev,.lightbox-next{width:48px;height:48px;border-radius:50%;font:32px/1 Arial,sans-serif;z-index:1;grid-row:1}
.lightbox-prev{grid-column:1}.lightbox-next{grid-column:3}
.lightbox-error{grid-column:2;grid-row:1;text-align:center;color:#e3d9c8}
.lightbox-count{font-size:12px;letter-spacing:.12em;color:#d6b27b;min-width:70px}
.lightbox-thumbs{display:flex;gap:10px;justify-content:center}
.lightbox-thumbs button{width:66px;height:50px;border-radius:5px;overflow:hidden;opacity:.5}
.lightbox-thumbs button[aria-pressed=true]{opacity:1;border:2px solid var(--gold-soft)}
.lightbox-thumbs img{width:100%;height:100%;object-fit:cover}
.lightbox-hint{font-size:11px;color:#a6afa8}
.gallery-dialog [hidden]{display:none}
@media(max-width:650px){.gallery-dialog{padding:16px;width:96vw;max-width:96vw;height:94dvh;max-height:94dvh;border-radius:12px}.lightbox-head h2{font-size:22px}.lightbox-stage{grid-template-columns:1fr;gap:0}.lightbox-image{grid-column:1}.lightbox-prev,.lightbox-next{grid-column:1;width:40px;height:40px;background:#10251dd9!important}.lightbox-prev{justify-self:start}.lightbox-next{justify-self:end}.lightbox-hint{display:none}.lightbox-bottom{gap:10px}.lightbox-thumbs button{width:52px;height:42px}.lightbox-error{grid-column:1}}
@media(prefers-reduced-motion:reduce){.gallery-dialog button{transition:none}}

/* Keep large product collections inside the image viewer. */
.gallery-dialog{box-sizing:border-box;overflow:hidden}
.gallery-dialog[open]{grid-template-columns:minmax(0,1fr)}
.lightbox-head,.lightbox-stage,.lightbox-bottom{min-width:0;width:100%;box-sizing:border-box}
.lightbox-stage{height:100%;overflow:hidden}
.lightbox-image{display:block;max-width:100%;max-height:100%;align-self:stretch}
.lightbox-bottom{overflow:hidden}
.lightbox-thumbs{min-width:0;flex:1;overflow-x:auto;justify-content:flex-start;padding:4px;scroll-behavior:smooth}
.lightbox-thumbs button{flex:0 0 66px}
.lightbox-hint{flex-shrink:0}
@media(max-width:650px){.lightbox-thumbs button{flex-basis:52px}.lightbox-image{width:100%;height:100%}}
