@font-face{font-family:Outfit;src:url('/assets/outfit.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Fraunces;src:url('/assets/fraunces.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--cream:hsl(36 52% 96%);--ink:hsl(93 13% 14%);--forest:hsl(144 33% 18%);--deep:hsl(140 31% 11%);--copper:hsl(28 45% 55%);--copper-dark:hsl(28 52% 39%);--muted:hsl(100 8% 38%);--line:hsl(38 28% 84%);--white:hsl(40 60% 98%)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 Outfit,system-ui,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.15;letter-spacing:-.025em}h1{font-size:clamp(2.7rem,5vw,4.8rem);margin:0 0 24px}h2{font-size:clamp(2rem,3.3vw,3rem);margin:0 0 24px}h3{font-size:1.5rem;margin:0 0 14px}p{margin:0 0 20px;max-width:65ch}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--copper-dark);outline-offset:5px}button[hidden],[hidden]{display:none!important}.wrap{width:min(1152px,calc(100% - 48px));margin:auto}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--cream);padding:12px}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:20;background:rgb(250 246 239 / .97);border-bottom:1px solid var(--line)}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;line-height:1.05}.brand img{width:90px;height:64px;object-fit:contain;mix-blend-mode:multiply}.brand span{font-family:Fraunces,Georgia,serif;font-size:1.22rem;white-space:nowrap}.brand small{display:block;font-family:Outfit,sans-serif;font-size:.72rem;letter-spacing:.03em;color:var(--muted);margin-top:6px}.site-nav{display:flex;align-items:center;gap:27px;font-size:.94rem}.site-nav a{text-decoration:none;padding:12px 0;color:var(--muted)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--forest)}.site-nav .nav-contact,.site-nav .nav-contact:hover,.site-nav .nav-contact[aria-current=page]{color:var(--cream);background:var(--forest);padding:10px 20px;border-radius:9px}.menu-button{border:1px solid var(--line);background:transparent;border-radius:8px;min-height:44px;padding:7px 12px;color:var(--forest)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 23px;border-radius:9px;background:var(--forest);color:var(--cream);border:1px solid transparent;text-decoration:none;font-weight:500;line-height:1.3;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:hsl(144 33% 23%)}.button.light{background:var(--cream);color:var(--forest)}.button.outline{background:transparent;border-color:var(--line);color:var(--forest)}.hero .button.outline{color:var(--cream);border-color:#9aaf9e}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero{position:relative;overflow:hidden;background:var(--deep);color:var(--cream);padding:76px 0 90px}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:56px;align-items:center}.hero p{color:#d7dfd5;font-size:1.14rem;max-width:43ch}.hero .intro{color:var(--copper);font-size:1rem;margin-bottom:22px}.brand-art{position:relative;margin:0;border:1px solid rgb(192 138 90 / .35);border-radius:24px;background:#faf6ef;overflow:hidden;box-shadow:0 18px 70px #0003;isolation:isolate;transition:transform .3s}.brand-art img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.brand-art:hover{transform:translateY(-4px)}.logo-glint{position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 35%,rgb(255 255 255 / .20) 47%,transparent 57%);transform:translateX(-130%);animation:glint 12s ease-in-out infinite}.logo-water{position:absolute;bottom:0;left:-20%;width:140%;height:13px;background:var(--forest);clip-path:ellipse(65% 75% at 50% 100%);opacity:.18;animation:water 8s ease-in-out infinite}.brand-note{font-size:.74rem!important;color:#9dad9d!important;text-align:center;margin:14px auto 0!important}.hero-wave{position:absolute;bottom:-1px;left:0;width:100%;height:35px;fill:var(--cream)}.service-strip{padding:24px 0;border-bottom:1px solid var(--line)}.strip-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.strip-inner strong{font-weight:500;color:var(--forest)}.section{padding:84px 0}.section.soft{background:hsl(41 44% 92%)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}.section-heading p{max-width:47ch;color:var(--muted);margin:0}.section-heading h2{margin:0;max-width:16ch}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.card{background:linear-gradient(160deg,var(--white),var(--cream));border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 10px 28px -16px #57493426}.card p{color:var(--muted)}.card .service-icon{width:44px;height:44px;color:var(--copper-dark);margin-bottom:20px}.card .link{display:inline-flex;align-items:center;min-height:44px;color:var(--forest);font-weight:500}.tag{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:2px 10px;font-size:.75rem;vertical-align:middle;margin:0 0 12px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.split .lead{font-size:1.3rem;color:var(--forest)}.check-list{list-style:none;padding:0;margin:20px 0 0}.check-list li{padding:14px 0 14px 28px;border-bottom:1px solid var(--line);position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--copper-dark);font-weight:600}.seaready-section{background:var(--forest);color:var(--cream)}.seaready-section p{color:#d7dfd5}.sr-brand{display:flex;gap:12px;align-items:center;font-family:Fraunces,serif;font-size:2rem;margin-bottom:22px}.sr-brand img{width:48px;height:48px}.sr-panel{background:var(--deep);border:1px solid #526853;border-radius:18px;padding:34px}.sr-panel h3{font-size:1.7rem}.sr-panel .check-list li{border-color:#435743}.sr-panel .check-list li:before{color:var(--copper)}.section .small{font-size:.88rem;color:var(--muted)}.seaready-section .small{color:#becbbc}.page-head{padding:65px 0 50px;border-bottom:1px solid var(--line);background:hsl(41 44% 92%)}.page-head h1{font-size:clamp(2.6rem,4.7vw,4rem);max-width:19ch}.page-head p{color:var(--muted);font-size:1.18rem}.content{max-width:760px;margin:auto}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:72px;padding:22px 0;font-size:1.08rem;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:1.5rem;color:var(--copper-dark)}details[open] summary:after{content:'−'}details p{padding:0 35px 20px 0;color:var(--muted);margin:0}.contact-callout{padding:44px;border:1px solid var(--line);border-radius:18px;background:var(--white);display:flex;justify-content:space-between;gap:30px;align-items:center}.contact-callout h2{font-size:2rem;margin:0 0 10px}.contact-callout p{margin:0;color:var(--muted)}.contact-details>span{display:block;overflow-wrap:anywhere}.contact-details a{display:block;padding:9px 0;overflow-wrap:anywhere}.contact-details address{font-style:normal;color:var(--muted);margin:24px 0}.enquiry-form{padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--white)}label{display:block;font-size:.95rem;margin:0 0 20px}input,select,textarea{display:block;width:100%;border:1px solid #aaa998;background:var(--cream);color:var(--ink);border-radius:7px;padding:11px;margin-top:7px;min-height:46px}textarea{resize:vertical;min-height:140px}input:focus,select:focus,textarea:focus{border-color:var(--forest)}.form-note{font-size:.86rem;color:var(--muted)}#enquiry-status{font-size:.92rem;margin:15px 0 0}.site-footer{background:var(--deep);color:var(--cream);padding:54px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}.site-footer h2{font-size:1.6rem}.site-footer h3{font-family:Outfit,sans-serif;font-size:1rem;font-weight:500}.site-footer p{font-size:.95rem;color:#b8c7b8;max-width:34ch}.site-footer a{display:block;width:fit-content;min-height:44px;text-decoration:none;color:#d7dfd5;font-size:.94rem}.site-footer a:hover{text-decoration:underline}.footer-bottom{margin-top:38px;padding-top:22px;border-top:1px solid #425342;font-size:.78rem;color:#afbcac;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-bottom a{font-size:.78rem;min-height:44px}.error-panel{text-align:center;min-height:55vh;padding:95px 24px}.error-panel p{margin:0 auto 20px}.error-panel .actions{justify-content:center}.prose h2{font-size:1.65rem;margin-top:35px}.prose a{color:var(--copper-dark)}
@keyframes glint{0%,65%{transform:translateX(-130%)}85%,100%{transform:translateX(130%)}}@keyframes water{0%,100%{transform:translateX(-3%) scaleY(.7)}50%{transform:translateX(3%) scaleY(1)}}
@media(min-width:900px){.menu-button{display:none!important}}
@media(max-width:1000px){.site-nav{gap:17px}.brand span{font-size:1rem}.brand img{width:70px}.hero-grid{gap:30px}}
@media(max-width:899px){.header-inner{flex-wrap:wrap;min-height:76px;padding:8px 0;gap:10px}.site-nav{width:100%;flex-wrap:wrap;gap:8px 22px;padding:12px 0}.site-nav.enhanced{display:none}.site-nav.enhanced.open{display:flex;flex-direction:column;align-items:stretch}.site-nav a{padding:12px}.hero{padding:52px 0 66px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero p{max-width:55ch}.hero-art{max-width:470px;justify-self:center;width:100%}.split{gap:35px}.section{padding:60px 0}.section-heading{display:block}.section-heading h2{max-width:24ch;margin-bottom:18px}.footer-grid{grid-template-columns:1.5fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.contact-callout{padding:30px;flex-wrap:wrap}.strip-inner{justify-content:flex-start;gap:10px 26px}}
@media(max-width:599px){.wrap{width:calc(100% - 36px)}.brand img{width:65px;height:52px}.brand span{font-size:1.05rem}.hero h1{font-size:2.65rem}.hero .intro{margin-bottom:16px}.hero p{font-size:1.05rem}.cards,.split{grid-template-columns:1fr}.card{padding:26px}.card h3{font-size:1.4rem}.hero-art{max-width:360px}.brand-note{font-size:.7rem!important}.section{padding:48px 0}.page-head{padding:42px 0 32px}.page-head h1{font-size:2.65rem}.footer-grid{gap:28px}.enquiry-form{padding:24px}.contact-callout{padding:26px}.actions .button{flex:1 1 auto}.contact-callout .button{width:100%}.section h2{font-size:2rem}.sr-panel{padding:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.logo-glint{display:none}.brand-art:hover,.button:hover{transform:none}}

.spam-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{opacity:.65;cursor:wait}

.hero{background:var(--deep) url("/assets/hero-poster.jpg") center/cover no-repeat}.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.hero-shade{background:linear-gradient(155deg,rgba(20,38,26,.92),rgba(20,38,26,.68) 52%,rgba(20,38,26,.9))}.hero-grid{position:relative;z-index:1}.hero-wave{z-index:2}.hero-video-toggle{position:absolute;right:24px;bottom:38px;z-index:3;min-height:44px;border:1px solid #9aaf9e;border-radius:8px;background:var(--deep);color:var(--cream);padding:8px 12px;font-size:.8rem}@media(prefers-reduced-motion:reduce){.hero-video,.hero-video-toggle{display:none!important}}

@media(max-width:599px){.hero{padding-bottom:120px}}

/* Transparent logo presentation: no plate, with a small sea-motion treatment. */
.service-icon{width:44px;height:44px;display:block;margin-bottom:22px;color:var(--copper-dark)}
.brand img{mix-blend-mode:normal;object-fit:contain}.hero-art{width:100%;max-width:340px;justify-self:center}.brand-art{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;isolation:isolate;animation:brand-float 5s ease-in-out infinite}.brand-art img{width:100%;filter:drop-shadow(0 2px 1px rgba(250,246,239,.8)) drop-shadow(0 12px 24px rgba(0,0,0,.3))}.brand-art:hover{transform:none}.logo-glint{inset:0;background:linear-gradient(110deg,transparent 38%,rgba(255,227,190,.8) 50%,transparent 62%);mask:url("/assets/marvel-logo.webp") center/contain no-repeat;animation:brand-shine 5s ease-in-out infinite;opacity:.55;transform:none;mix-blend-mode:screen}.logo-water{display:none}.brand-note{text-align:center}.hero[data-motion-paused] .brand-art,.hero[data-motion-paused] .logo-glint{animation-play-state:paused}@keyframes brand-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}@keyframes brand-shine{0%,30%{opacity:0}50%{opacity:.55}70%,100%{opacity:0}}
@media(max-width:599px){.hero-art{max-width:250px}}
@media(prefers-reduced-motion:reduce){.brand-art{animation:none;transform:none}.logo-glint{display:none}}

/* Owner-approved SeaReady hero composition: mark, words, actions in one centred column. */
.hero{padding:48px 0 106px}.hero-grid{display:flex;flex-direction:column;gap:18px;text-align:center}.hero-art{width:180px;max-width:180px}.hero-copy{max-width:850px;margin:auto}.hero .intro{font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#C08A5A;margin:0 auto 20px}.hero h1{font-size:clamp(2.7rem,5vw,4.8rem);margin-bottom:22px}.hero h1 span{color:#C08A5A}.hero-copy>p:not(.intro){max-width:680px;margin:0 auto 26px}.hero .actions{justify-content:center}.hero .button.light{background:#96602F;color:#FAF6EF}.hero .brand-art img{filter:drop-shadow(0 1px 1px rgba(250,246,239,.9)) drop-shadow(0 4px 12px rgba(255,204,142,.4))}.hero-shade{background:linear-gradient(155deg,rgba(20,38,26,.78),rgba(20,38,26,.55) 52%,rgba(20,38,26,.85))}@media(max-width:599px){.hero{padding:38px 0 122px}.hero-art{width:145px;max-width:145px}.hero-grid{gap:15px}.hero .intro{font-size:.7rem;letter-spacing:.14em}.hero h1{font-size:2.65rem}}

/* Exact SeaReady live terracotta tokens and button sheen, verified 12 Oct 2026. */
.hero .button.light{position:relative;overflow:hidden;box-shadow:0 8px 40px -8px rgb(180 118 59 / .6)}.hero .button.light::after{content:"";position:absolute;top:-20%;bottom:-20%;width:34%;background:linear-gradient(90deg,transparent,hsl(40 80% 92% / .30),transparent);animation:marvel-button-sheen 3.6s ease-in-out infinite;pointer-events:none}@keyframes marvel-button-sheen{0%,100%{left:-40%}55%,85%{left:120%}}.hero[data-motion-paused] .button.light::after{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.hero .button.light::after{animation:none;display:none}}

/* Consultancy is Marvel’s primary headline; SeaReady remains a supporting service. */
.hero-copy{max-width:980px}.hero h1{font-size:clamp(2.5rem,4.4vw,4.2rem)}@media(max-width:599px){.hero h1{font-size:2.5rem}}

/* SeaReady-style service ticker; shares the hero's pause control. */
.service-strip{position:relative;overflow:hidden;padding:14px 0;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;background:var(--deep);color:var(--cream)}
.service-marquee-track{display:flex;width:max-content;animation:marvel-service-scroll 36s linear infinite}
.service-marquee-row{display:flex;flex-shrink:0;align-items:center;justify-content:space-around;min-width:100vw}
.service-marquee-item{display:flex;align-items:center;gap:12px;padding:0 20px;white-space:nowrap;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.22em;text-transform:uppercase;color:hsl(36 52% 96% / .7)}
.service-marquee-item svg{width:12px;height:12px;flex-shrink:0;color:var(--copper)}
.service-strip::before,.service-strip::after{content:"";position:absolute;inset-block:0;width:72px;z-index:1;pointer-events:none}
.service-strip::before{left:0;background:linear-gradient(to right,var(--deep),transparent)}
.service-strip::after{right:0;background:linear-gradient(to left,var(--deep),transparent)}
.service-strip:hover .service-marquee-track,.hero[data-motion-paused] + .service-strip .service-marquee-track{animation-play-state:paused}
@keyframes marvel-service-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
 .service-marquee-track{animation:none;transform:none;width:100%}
 .service-marquee-row{min-width:0;width:100%;flex-wrap:wrap;gap:16px}
 .service-marquee-row[aria-hidden="true"]{display:none}
 .service-marquee-item{white-space:normal;text-align:center}
 .service-strip::before,.service-strip::after{display:none}
}

/* A repeated wave keeps the cream edge moving without a visible seam. */
.hero-wave{overflow:hidden;pointer-events:none;height:64px}
.hero-wave-track{display:flex;width:200%;height:100%;animation:marvel-wave-drift 10s linear infinite}
.hero-wave-track svg{display:block;flex:0 0 50%;width:50%;height:calc(100% + 10px);animation:marvel-wave-bob 2.8s ease-in-out infinite}
.hero[data-motion-paused] .hero-wave-track,.hero[data-motion-paused] .hero-wave-track svg{animation-play-state:paused}
@keyframes marvel-wave-drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.hero-wave-track{animation:none;transform:none}}

@media(max-width:599px){.hero-wave{height:48px}}

@keyframes marvel-wave-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* Public demo screenshots: readable on mobile and expandable without scripts. */
.product-screen{margin:0;border:1px solid var(--border,#ded5c6);border-radius:18px;overflow:hidden;background:#fcf9f3}
.product-screen>a{display:block;background:#e9e8dc}
.product-screen img{display:block;width:100%;height:auto}
.product-screen figcaption{padding:24px 28px}
.product-screen figcaption h3{margin:0 0 10px}
.product-screen figcaption p{margin:0 0 12px}
.screen-wide{max-width:1120px;margin:0 auto 32px}
.screen-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:900px;margin:0 auto 24px}
.screen-phone>a{padding:24px}
.screen-phone img{max-width:300px;margin:auto;border:1px solid #ded5c6;border-radius:14px}
@media(max-width:650px){.screen-pair{grid-template-columns:1fr}.product-screen figcaption{padding:20px}.screen-phone>a{padding:20px}}

/* Service gallery: editorial grid, touch scrolling and an accessible native viewer. */
.service-gallery{background:#142b20;color:#faf6ef}
.service-gallery .section-heading p{color:#c6cebf}.service-gallery .eyebrow{color:#e4b17e}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 14px}.gallery-filters[hidden]{display:none}
.gallery-filters button,.gallery-dialog button{min-height:44px;border:1px solid #738775;border-radius:999px;padding:10px 18px;background:transparent;color:#faf6ef;cursor:pointer;font:inherit}
.gallery-filters button[aria-pressed=true]{background:#e4b17e;color:#142b20;border-color:#e4b17e}
.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.gallery-card{grid-column:span 2;min-width:0;border:1px solid #45604d;border-radius:18px;overflow:hidden;background:#1f3d2b}
.gallery-card:nth-child(-n+2){grid-column:span 3}.gallery-card[hidden]{display:none}
.gallery-image{display:block;position:relative;overflow:hidden;background:#263e31}
.gallery-image img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.gallery-image:hover img{transform:scale(1.045);filter:brightness(1.08)}
.gallery-badge{position:absolute;top:16px;left:16px;padding:6px 12px;border:1px solid #cfb08e;border-radius:999px;color:#fff4e4;background:#142b20e8;font-size:.8rem}
.gallery-expand{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#faf6ef;color:#1f3d2b;font-size:1.6rem}
.gallery-copy{padding:24px}.gallery-copy h3{font-size:1.6rem;margin:0 0 12px}.gallery-copy p{color:#d3dccf}.gallery-copy .link{color:#f4c392}
.gallery-note,.gallery-count{color:#bfcdbd;font-size:.85rem}.gallery-note{margin-top:24px}
.gallery-dialog{width:min(1100px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:20px;border:1px solid #c08a5a;border-radius:18px;background:#142b20;color:#faf6ef;overflow:auto}
.gallery-dialog::backdrop{background:#06180fdf;backdrop-filter:blur(7px)}
.gallery-dialog-bar,.gallery-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.gallery-dialog-bar p{font-size:1.25rem;margin:0;font-weight:600}
.gallery-dialog>img{display:block;width:100%;max-height:65dvh;object-fit:contain;margin:18px 0;border-radius:10px;touch-action:pan-y}
.gallery-dialog .gallery-note{margin-bottom:0;text-align:center}
@media(max-width:850px){.gallery-card,.gallery-card:nth-child(-n+2){grid-column:span 3}.gallery-card:last-child{grid-column:span 6}}
@media(max-width:599px){.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;gap:16px}.gallery-card{flex:0 0 90%;scroll-snap-align:start}.gallery-copy{padding:20px}.gallery-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.gallery-filters button{flex:none}.gallery-dialog{padding:14px}.gallery-dialog-bar p{font-size:1rem}.gallery-dialog-bottom button{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.gallery-image img{transition:none}.gallery-image:hover img{transform:none}.gallery-grid{scroll-behavior:auto}}

.service-gallery .gallery-count.small{color:#bfcdbd}

/* Automatic feature slideshow with a five-second dwell and gentle image movement. */
.gallery-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.gallery-controls[hidden]{display:none}
.gallery-controls button{min-height:44px;padding:10px 20px;border:1px solid #9dae9a;border-radius:999px;background:transparent;color:#faf6ef;font:inherit;cursor:pointer}
.gallery-controls [data-gallery-play]{background:#e4b17e;color:#142b20;border-color:#e4b17e}.gallery-controls button:disabled{opacity:.7;cursor:default}
.gallery-animated .gallery-grid{display:block;overflow:hidden;padding:0;touch-action:pan-y}
.gallery-animated .gallery-card:not([hidden]){display:grid;grid-template-columns:1.6fr 1fr;animation:gallery-reveal .65s ease both}
.gallery-animated .gallery-image img{aspect-ratio:3/2;min-height:100%;animation:gallery-image-drift 10s ease-in-out infinite alternate;animation-play-state:paused}
.gallery-animated[data-gallery-running] .gallery-image img{animation-play-state:running}
.gallery-animated .gallery-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,4vw,48px)}
.gallery-animated .gallery-copy h3{font-size:clamp(1.6rem,2.7vw,2.5rem)}.gallery-animated .gallery-copy .link{align-self:flex-start}
.gallery-dialog-bar button{flex-shrink:0;white-space:nowrap}
@keyframes gallery-reveal{from{opacity:.35;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes gallery-image-drift{from{transform:scale(1)}to{transform:scale(1.055)}}
@media(max-width:700px){.gallery-animated .gallery-card:not([hidden]){grid-template-columns:1fr}.gallery-animated .gallery-copy{min-height:275px}.gallery-animated .gallery-image img{min-height:0}.gallery-controls{gap:8px}.gallery-controls button{padding:10px 14px}}
@media(prefers-reduced-motion:reduce){.gallery-animated .gallery-card:not([hidden]),.gallery-animated .gallery-image img{animation:none}}

@media(max-width:599px){.gallery-controls{flex-wrap:nowrap}.gallery-controls button{font-size:.85rem;padding:10px;white-space:nowrap}.gallery-filters{scrollbar-width:none}.gallery-filters::-webkit-scrollbar{display:none}}
