@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:1.0625rem/1.65 Outfit,system-ui,sans-serif;overflow-wrap:break-word;-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:64px;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:68px;height:48px;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}.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:64px;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-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-680.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}
}




/* 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 two-second slideshow: full uncropped images and horizontal entrances. */
.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-slide-left .65s ease both}
.gallery-animated .gallery-image{display:flex;align-items:center;justify-content:center}
.gallery-animated .gallery-image img{width:100%;height:auto;aspect-ratio:3/2;min-height:0;object-fit:contain;animation:none;transform:none;transition:none}
.gallery-animated .gallery-image:hover img{transform:none;filter:none}
.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}
.gallery-animated[data-slide-direction="previous"] .gallery-card:not([hidden]){animation-name:gallery-slide-right}
@keyframes gallery-slide-left{from{transform:translate3d(110%,-18px,0) rotate(2deg)}to{transform:translate3d(0,0,0) rotate(0)}}
@keyframes gallery-slide-right{from{transform:translate3d(-110%,-18px,0) rotate(-2deg)}to{transform:translate3d(0,0,0) rotate(0)}}
@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}}

.hero-video-toggle{bottom:38px}@media(max-width:599px){.hero-video-toggle{bottom:28px}}

/* Compact mobile menu: three lines, no visible box, full-size touch target. */
.menu-button{border:0;border-radius:6px;width:44px;height:44px;min-width:44px;padding:9px;flex-shrink:0;display:grid;place-items:center;margin-left:auto}
@media(max-width:899px){.header-inner{min-height:64px;gap:12px}}

/* Incoming cards slide sideways; outgoing pictures follow a spiral without zooming. */
.service-gallery{overflow:hidden}
.gallery-animated .gallery-grid{position:relative;isolation:isolate;overflow:visible}
.gallery-animated .gallery-card:not([hidden]){position:relative;z-index:1;animation-timing-function:cubic-bezier(.22,.75,.25,1)}
/* Screen-space travel and spin progress together; rotation must not turn the travel direction. */
.gallery-animated .gallery-card.gallery-outgoing:not([hidden]){position:absolute;inset:0 0 auto;z-index:2;pointer-events:none;animation:none;background:transparent;border-color:transparent;overflow:visible}
.gallery-outgoing .gallery-copy{animation:gallery-caption-out .2s ease both}
.gallery-outgoing .gallery-image{transform-origin:center;animation:gallery-spiral-out-left 1.25s cubic-bezier(.45,0,.55,1) both}
.gallery-animated[data-slide-direction="previous"] .gallery-outgoing .gallery-image{animation-name:gallery-spiral-out-right}
@keyframes gallery-caption-out{from{opacity:1}to{opacity:0}}
@keyframes gallery-spiral-out-left{from{transform:translate3d(0,0,0) rotate(0turn);opacity:1}to{transform:translate3d(-150%,0,0) rotate(-1turn);opacity:0}}
@keyframes gallery-spiral-out-right{from{transform:translate3d(0,0,0) rotate(0turn);opacity:1}to{transform:translate3d(150%,0,0) rotate(1turn);opacity:0}}
@media(prefers-reduced-motion:reduce){.gallery-outgoing .gallery-image,.gallery-outgoing .gallery-copy{animation:none!important}}
@media(prefers-reduced-motion:reduce){.gallery-animated .gallery-card:not([hidden]){animation:none!important}.gallery-outgoing{display:none!important}}


/* Shared SeaReady / Marvel sea edge: irregular crests, depth and moving water. */
.ocean-edge{position:absolute;inset:auto 0 -1px;height:50px;overflow:hidden;pointer-events:none;z-index:2;opacity:.65;background:linear-gradient(transparent 45%,#14261a)}
.ocean-layer{position:absolute;inset:0;animation:ocean-heave 3.2s ease-in-out infinite}
.ocean-track{display:flex;width:200%;height:100%;animation:ocean-current 12s linear infinite}
.ocean-track svg{display:block;flex:0 0 50%;width:50%;height:calc(100% + 18px);overflow:visible}
.ocean-layer-1{fill:#34766e;opacity:.55}
.ocean-layer-2{fill:#20564d;opacity:.8;animation-duration:2.7s;animation-delay:-1.3s}
.ocean-layer-2 .ocean-track{animation-duration:17s;animation-direction:reverse}
.ocean-layer-3{fill:#173e35;animation-duration:3.7s;animation-delay:-2s}
.ocean-layer-3 .ocean-track{animation-duration:9s}
.ocean-crest{fill:none;stroke:#85b9aa;stroke-width:1.5;stroke-opacity:.35;vector-effect:non-scaling-stroke}
[data-motion-paused] .ocean-layer,[data-motion-paused] .ocean-track{animation-play-state:paused}
@keyframes ocean-current{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ocean-heave{0%,100%{transform:translateY(6px)}45%{transform:translateY(-9px)}70%{transform:translateY(-3px)}}
/* Phones keep broad, subdued swells instead of squeezing every crest into the screen. */
@media(max-width:599px){
 .ocean-edge{height:28px;opacity:.28;-webkit-mask-image:linear-gradient(to bottom,transparent 5%,#000 85%);mask-image:linear-gradient(to bottom,transparent 5%,#000 85%)}
 .ocean-track{width:1440px;animation-duration:24s}
 .ocean-layer-2 .ocean-track{animation-duration:30s}
 .ocean-layer-3 .ocean-track{animation-duration:22s}
 .ocean-layer{animation-name:ocean-mobile-heave;animation-duration:7s}
 .ocean-crest{display:none}
}
@keyframes ocean-mobile-heave{0%,100%{transform:translateY(2px)}50%{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.ocean-layer,.ocean-track{animation:none!important;transform:none!important}}


.hero-video-toggle{bottom:124px}@media(max-width:599px){.hero-video-toggle{bottom:36px}}

/* Same reserved-space typewriter entrance as SeaReady. Full heading exists without JS. */
.hero [data-type-headline]{position:relative}
.hero h1 .headline-sizer{display:block;visibility:hidden;color:inherit}
.hero h1 .headline-typed{position:absolute;inset:0;color:inherit}
.hero h1 [data-type-first]{color:inherit}
.hero h1 em{font-style:normal;color:#C08A5A}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


.hero-video-toggle{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#faf6ef;filter:drop-shadow(0 1px 3px #000);font-size:0}
.hero-video-toggle:hover{background:#14261a66}

/* One compact row, with the hamburger beside the company name. */
@media(max-width:599px){.header-inner{min-height:64px;gap:8px}.brand{gap:8px;min-width:0}.brand img{width:48px;height:44px}.brand span{font-size:1rem}.brand small{font-size:.65rem;margin-top:4px}.menu-button{align-self:center;margin-top:0}.hero-video-toggle{right:14px}}

/* Match the two-colour SeaReady wordmark without changing the mobile lockup size. */
.brand .brand-accent{color:hsl(28 52% 42%);font-weight:inherit}

/* Header (64px plus border), hero and moving strip fill the opening viewport. */
.opening-view{display:flex;flex-direction:column;min-height:calc(100vh - 65px);min-height:calc(100dvh - 65px)}
.opening-view>.hero{flex:1 0 auto}
.opening-view>.service-strip{flex:0 0 auto}

/* Same 112px, 10%-copper, blurred corner glow as SeaReady's vessel cards. */
.card{position:relative;isolation:isolate;overflow:hidden;background:var(--white)}
.card::before{content:"";position:absolute;z-index:-1;top:-32px;right:-32px;width:112px;height:112px;border-radius:50%;background:hsl(29 51% 47% / .1);filter:blur(24px);pointer-events:none}

.site-footer .footer-email{display:block;margin:0 0 12px;font-size:.94rem;color:#d7dfd5;overflow-wrap:anywhere}

/* SeaReady card motion: 22px / 700ms reveal, then a gentle interactive lift. */
.card{transition:transform .15s,border-color .15s,box-shadow .15s}
.card .service-icon{transition:transform .3s}
.card::before{transition:background .15s}
.card[data-card-pending]{opacity:0;transform:translateY(22px)}
.card.card-revealing{animation:marvel-card-reveal .7s cubic-bezier(.22,1,.36,1) var(--card-delay,0ms) both}
@keyframes marvel-card-reveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){
 .card:hover{transform:translateY(-4px);border-color:rgb(31 61 43 / .4);box-shadow:0 16px 50px -20px rgb(31 61 43 / .25)}
 .card:hover .service-icon{transform:scale(1.1)}
 .card:hover::before{background:hsl(29 51% 47% / .2)}
}
@media(prefers-reduced-motion:reduce){
 .card[data-card-pending]{opacity:1;transform:none}
 .card.card-revealing{animation:none!important}
 .card:hover,.card:hover .service-icon{transform:none}
}

@media print{
 .card[data-card-pending],.card.card-revealing{opacity:1!important;transform:none!important;animation:none!important}
}

/* Full screenshots share one stable stage; no crop, zoom or extra control rows. */
.service-gallery .gallery-controls{justify-content:flex-end;margin:0 0 8px}
.service-gallery .gallery-controls [data-gallery-play]{display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;color:#faf6ef;border-color:transparent}
.service-gallery .gallery-controls [data-gallery-play]:hover{background:#ffffff12}
.gallery-animated .gallery-image img{height:clamp(300px,52vw,560px);aspect-ratio:auto;object-fit:contain}
.gallery-card[data-gallery-kind="screenshot"] .gallery-image img{object-fit:contain;transform:none}
.gallery-card[data-gallery-kind="screenshot"] .gallery-badge{display:none}
.gallery-dialog-bottom button{min-width:44px}
@media(max-width:700px){.gallery-animated .gallery-image img{height:clamp(300px,100vw,420px)}.gallery-animated .gallery-copy{min-height:285px}}

.service-gallery .gallery-copy .small{color:#d4ddd1}

.service-gallery .gallery-image img{object-fit:contain}.service-gallery .gallery-image:hover img{transform:none}

/* Wide app captures fill their frame at every viewport without cropping the UI. */
.gallery-animated .gallery-image img{height:auto;aspect-ratio:16/10;object-fit:contain}

/* Compact pointers retain44px touch targets and pause on manual navigation. */
.service-gallery .gallery-controls [data-slide-prev],.service-gallery .gallery-controls [data-slide-next]{display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;color:#faf6ef;border-color:transparent}
.service-gallery .gallery-controls [data-slide-prev]:hover,.service-gallery .gallery-controls [data-slide-next]:hover{background:#ffffff12}

/* Book consultancy navigation button and 1-hour slot booking layout. */
.brand{flex-shrink:0}
.site-nav{gap:clamp(9px,1.1vw,15px);font-size:.86rem}
.site-nav a,.site-nav a[aria-current=page]{white-space:nowrap;font-family:Outfit,system-ui,sans-serif;font-weight:400;color:var(--muted)}
.site-nav a:hover{color:var(--forest)}
.site-nav .nav-contact,.site-nav .nav-contact:hover,.site-nav .nav-contact[aria-current=page]{padding:8px 14px}
.site-nav .nav-book,.site-nav .nav-book:hover,.site-nav .nav-book[aria-current=page]{color:var(--cream);background:hsl(28 55% 34%);padding:8px 14px;border-radius:9px;font-weight:500}
.site-nav .nav-book:hover{background:hsl(28 55% 29%)}
@media(max-width:1180px) and (min-width:900px){
 .header-inner{gap:10px}
 .brand span{font-size:.98rem}
 .brand small{font-size:.62rem}
 .brand img{width:48px;height:36px}
 .site-nav{gap:clamp(7px,.9vw,11px);font-size:.8rem}
 .site-nav .nav-contact,.site-nav .nav-book{padding:7px 10px}
}
.booking-rate-card{margin:24px 0;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--white)}
.booking-rate-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.booking-price{font-family:Fraunces,Georgia,serif;font-size:2.1rem;font-weight:600;color:var(--forest);line-height:1.1}
.booking-price small{font-family:Outfit,sans-serif;font-size:.95rem;font-weight:500;color:var(--muted);margin-left:6px}
.booking-slot-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:hsl(41 44% 92%);border:1px solid var(--line);color:var(--forest);font-size:.88rem;font-weight:500}
.booking-form-banner{padding:16px 18px;margin-bottom:22px;border:1px solid var(--line);border-radius:12px;background:hsl(41 44% 92%)}
.booking-form-banner strong{display:block;color:var(--forest);font-size:1rem;margin-bottom:4px}
.booking-form-banner p{margin:0;font-size:.9rem;color:var(--muted)}
.booking-grid-two{display:grid;grid-template-columns:.82fr 1.38fr;gap:14px}
.booking-slot-readonly{background:hsl(41 44% 92%);color:var(--forest);font-weight:500;font-size:.88rem}
.contact-details p a{display:inline;padding:0}
.contact-callout .actions{margin-top:0}
@media(min-width:900px){.contact-callout .actions{flex-shrink:0}}
@media(max-width:599px){.contact-callout .actions{width:100%}}
.booking-payment-box{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:12px;background:hsl(41 44% 92%)}
.booking-payment-box h4{font-family:Fraunces,Georgia,serif;font-size:1.15rem;margin:0 0 8px;color:var(--forest)}
.booking-payment-box p{margin:0 0 12px;font-size:.9rem;color:var(--muted)}
.booking-payment-box p:last-child{margin-bottom:0}
.booking-paid-banner{padding:18px;margin-bottom:18px;border:1.5px solid var(--forest);border-radius:12px;background:#eaf2ec;color:var(--forest)}
.booking-paid-banner h3,.booking-paid-banner h4{font-family:Fraunces,Georgia,serif;font-size:1.15rem;margin:0 0 6px;color:var(--forest)}
.booking-paid-banner p{margin:0;font-size:.92rem;color:#273b2f}
.booking-release-banner{padding:18px;margin-bottom:18px;border:1.5px solid hsl(28 55% 34%);border-radius:12px;background:hsl(41 44% 92%)}
.booking-release-banner h4{font-family:Fraunces,Georgia,serif;font-size:1.12rem;margin:0 0 6px;color:var(--forest)}
.booking-release-banner p{margin:0 0 12px;font-size:.9rem;color:var(--muted)}
@media(max-width:599px){.booking-grid-two{grid-template-columns:1fr}}

@media(max-width:1280px) and (min-width:900px){
 .header-inner{gap:10px}
 .brand span{font-size:.96rem}
 .brand small{font-size:.6rem}
 .brand img{width:46px;height:36px}
 .site-nav{gap:clamp(7px,.95vw,13px);font-size:.8rem}
 .site-nav .nav-contact,.site-nav .nav-book{padding:7px 10px}
}

/* LNG, Dual-Fuel (DF) & Spark-Gas (SG) Academy & Simulator */
.academy-hero{background:linear-gradient(155deg,#13281d,#1d3b2a);color:var(--cream);border-bottom:1px solid #35523f}
.academy-hero h1{color:var(--cream);max-width:20ch}
.academy-hero p{color:#d5e0d4;max-width:58ch}
.academy-hero .button.outline{color:var(--cream);border-color:#88a38e}
.academy-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center}
.academy-pill{display:inline-block;padding:6px 14px;border-radius:999px;background:#1f3f2d;border:1px solid #c8945c;color:#f0c28e;font-size:.78rem;font-weight:600;letter-spacing:.08em;margin-bottom:16px}
.academy-hero-card{background:#0f2017;border:1px solid #456650;border-radius:18px;padding:28px;color:var(--cream)}
.academy-hero-card h3{font-size:1.35rem;color:#f0c28e;margin:0 0 12px}
.academy-hero-card .check-list li{border-color:#2d4736;font-size:.93rem;color:#d7e2d6}
.academy-hero-card .check-list li:before{color:#e4b17e}

.academy-video-stage{display:grid;grid-template-columns:1.35fr .85fr;gap:28px;align-items:start}
.academy-video-player-wrap{background:#0f2017;border:1px solid #365341;border-radius:18px;overflow:hidden;box-shadow:0 18px 46px -22px rgba(15,32,23,.45)}
.academy-video-el{display:block;width:100%;aspect-ratio:16/9;background:#0a1610}
.academy-video-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 20px;color:var(--cream);border-top:1px solid #294233;font-size:.95rem}
.academy-badge-open{padding:4px 12px;border-radius:999px;background:#1d422e;border:1px solid #62d99b;color:#8ef0b8;font-size:.78rem;font-weight:600}
.academy-video-playlist{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:22px}
.academy-video-playlist h3{font-size:1.25rem;margin:0 0 8px}
.academy-video-list-scroll{max-height:420px;overflow-y:auto;padding-right:6px}
.academy-vid-btn{width:100%;display:flex;align-items:flex-start;gap:14px;text-align:left;padding:13px 14px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink);transition:border-color .15s,background .15s}
.academy-vid-btn:hover{border-color:var(--forest)}
.academy-vid-btn.active{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.academy-vid-btn .vid-num{display:inline-grid;place-items:center;min-width:32px;height:32px;border-radius:8px;background:rgba(192,138,90,.2);color:var(--copper-dark);font-weight:700;font-size:.85rem;flex-shrink:0}
.academy-vid-btn.active .vid-num{background:#c8945c;color:#102118}
.academy-vid-btn .vid-copy{display:block;min-width:0}
.academy-vid-btn .vid-copy strong{display:block;font-size:.94rem;line-height:1.3;margin-bottom:3px}
.academy-vid-btn .vid-copy small{display:block;font-size:.8rem;color:var(--muted);line-height:1.35}
.academy-vid-btn.active .vid-copy small{color:#d3dfd2}

.sim-section-compact{padding:36px 0}
.sim-section-compact .wrap{width:min(1360px,calc(100% - 32px))}
.sim-workstation-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:10px 16px;margin-bottom:10px;border-radius:12px;background:#13281d;color:var(--cream);border:1px solid #3c5c47}
.sim-workstation-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.sim-workstation-title .tag{margin:0;color:#f0c28e;border-color:#53755e}
.sim-workstation-title h2{font-size:1.35rem;margin:0;color:var(--cream);max-width:none}
.sim-top-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;margin-bottom:12px;border-radius:12px;background:#13281d;color:var(--cream);border:1px solid #3c5c47}
.sim-trial-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.82rem}
.sim-status-pill{display:inline-flex;align-items:center;padding:4px 11px;border-radius:999px;background:#294836;border:1px solid #e4b17e;color:#f6cfa4;font-weight:700;font-size:.76rem;letter-spacing:.05em}
.sim-status-pill.active{background:#19472e;border-color:#62d99b;color:#9cf5c2}
.sim-status-pill.expired{background:#4a201e;border-color:#ff8a80;color:#ffc4be}
.sim-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sim-top-actions .button{min-height:36px;padding:6px 13px;font-size:.8rem}
.sim-top-actions .button.outline{color:var(--cream);border-color:#88a38e}

.sim-nav-strip{display:grid;grid-template-columns:1.6fr 1fr;gap:10px;align-items:stretch;margin-bottom:10px}
.sim-scenario-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0}
.sim-tab{text-align:left;padding:7px 9px;border-radius:9px;border:1px solid var(--line);background:var(--white);color:var(--ink);display:flex;flex-direction:column;gap:2px;transition:border-color .15s}
.sim-tab:hover{border-color:var(--forest)}
.sim-tab.active{background:#162f22;color:var(--cream);border-color:#c8945c}
.sim-tab-top{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:.7rem}
.sim-access-tag{padding:1px 6px;border-radius:999px;background:hsl(41 44% 92%);color:var(--forest);font-size:.66rem;font-weight:600}
.sim-tab.active .sim-access-tag{background:#294936;color:#f0c28e}
.sim-tab-title{font-size:.74rem;font-weight:600;line-height:1.2;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.sim-mod-preset-box{display:flex;align-items:center;gap:8px;margin:0;padding:6px 12px;border-radius:9px;background:#13281d;border:1px solid #3c5c47;color:var(--cream);font-size:.78rem;font-weight:600}
.sim-mod-preset-box span{white-space:nowrap;color:#f0c28e}
.sim-mod-preset-box select{margin:0;min-height:32px;padding:4px 8px;font-size:.78rem;background:#0d1b13;color:var(--cream);border-color:#496e57}

.sim-console{position:relative;border-radius:14px;border:1px solid #35523f;background:#0e1e15;color:var(--cream);padding:12px 14px;overflow:hidden}
.sim-Lock-overlay{position:absolute;inset:0;z-index:10;background:rgba(10,22,16,.92);backdrop-filter:blur(5px);display:grid;place-items:center;padding:24px}
.sim-lock-card{max-width:560px;background:#162d20;border:1.5px solid #c8945c;border-radius:18px;padding:28px;text-align:center;color:var(--cream)}
.sim-lock-card h3{color:#f0c28e;margin:0 0 10px}
.sim-lock-card p{color:#d5e0d4;margin:0 auto 18px;max-width:none}
.sim-lock-card .actions{justify-content:center}
.sim-lock-card .button.outline{color:var(--cream);border-color:#88a38e}

.sim-header-brief h3{color:var(--cream);margin:0;font-size:1.02rem}
.sim-header-brief p{color:#c9d6c8;max-width:none;margin:0 0 8px}
.sim-header-brief .tag{color:#f0c28e;border-color:#53755e;margin:0}
.sim-header-top-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.sim-title-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.sim-hmi-quick-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sim-rpm-pill{padding:4px 9px;border-radius:6px;background:#102318;border:1px solid #3f664d;color:#8ef0b8;font-family:monospace;font-size:.74rem;font-weight:700}
.sim-hmi-top-btn{padding:5px 10px;border-radius:6px;border:1px solid #496e57;background:#1a3425;color:var(--cream);font-size:.72rem;font-weight:700;letter-spacing:.03em;cursor:pointer}
.sim-hmi-top-btn:hover{border-color:#f0c28e;background:#234431}
.sim-hmi-top-btn.warn{background:#4f1f1d;border-color:#ff7970;color:#ffd2ce}
.sim-alarm-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 12px;border-radius:8px;margin-bottom:8px;font-size:.78rem;border:1px solid #345942;background:#11251a;color:#d6e8d9}
.sim-alarm-banner strong{padding:2px 8px;border-radius:5px;font-size:.7rem;letter-spacing:.04em;background:#1e462f;color:#9cf5c2}
.sim-alarm-banner.warn{background:#2d2312;border-color:#e5a94c;color:#fbe5bf}
.sim-alarm-banner.warn strong{background:#664614;color:#ffd584}
.sim-alarm-banner.crit{background:#381615;border-color:#ff6b6b;color:#ffd9d6}
.sim-alarm-banner.crit strong{background:#7a1c1c;color:#ff9e9e}

.sim-gauges-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.sim-gauges-top-ribbon{margin-bottom:10px}
.sim-gauge{background:#0d1b13;border:1px solid #2b4534;border-radius:8px;padding:6px 8px;min-width:0}
.sim-gauge-label{display:block;font-size:.63rem;letter-spacing:.04em;color:#95ab97;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sim-gauge strong{display:block;font-family:Fraunces,Georgia,serif;font-size:.86rem;color:#f5ede0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.sim-main-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:12px;align-items:stretch}
.sim-schematic-panel,.sim-steps-panel,.sim-cyl-panel,.sim-fault-panel{background:#14281d;border:1px solid #2f4b39;border-radius:10px;padding:10px 12px;min-width:0;max-width:100%}
.sim-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-bottom:6px;margin-bottom:8px;border-bottom:1px solid #284231;font-size:.72rem;letter-spacing:.04em;color:#b8c9b8}
.sim-panel-subhead{margin-top:8px}
.sim-sub-pill{padding:2px 8px;border-radius:999px;background:#102118;border:1px solid #3e614b;color:#e4b17e;font-size:.68rem;font-weight:600}
.sim-mode-badge{padding:2px 9px;border-radius:999px;background:#21422f;border:1px solid #62d99b;color:#98f5c0;font-weight:700;font-size:.72rem}
.sim-pid-svg{display:block;width:100%;height:auto;max-height:188px;border-radius:8px;margin-bottom:8px}
.svg-clickable-node{cursor:pointer;transition:opacity .15s}
.svg-clickable-node:hover{opacity:.88}

.sim-left-split-row{display:grid;grid-template-columns:.92fr 1.08fr;gap:10px;align-items:stretch}
.sim-scope-box{background:#0b1710;border:1px solid #2c4736;border-radius:9px;padding:8px 10px;margin:0;display:flex;flex-direction:column;justify-content:flex-start;gap:6px}
.sim-scope-head{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;margin-bottom:2px;font-size:.7rem;color:#9db5a4}
.sim-scope-tabs{display:flex;gap:4px;flex-wrap:wrap}
.sim-scope-btn{padding:3px 8px;border-radius:5px;border:1px solid #365642;background:#13261b;color:#c9d8ca;font-size:.68rem;font-weight:600;cursor:pointer}
.sim-scope-btn.active{background:#c8945c;color:#0e1e15;border-color:#f0c28e}
.sim-scope-canvas{display:block;width:100%;height:auto;flex:1 1 auto;max-height:245px;border-radius:6px;border:1px solid #1f3728;background:#08130d}

.sim-hmi-valve-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:8px}
.sim-valve-btn{padding:6px 8px;border-radius:6px;border:1px solid #385844;background:#0f2017;color:#d5e2d6;font-size:.71rem;font-weight:600;text-align:left;cursor:pointer;transition:border-color .15s,background .15s;line-height:1.2}
.sim-valve-btn:hover{border-color:#e4b17e}
.sim-valve-btn.on{background:#183b28;border-color:#62d99b;color:#9cf5c2}
.sim-valve-btn.accent{background:#2c3e26;border-color:#e4b17e;color:#f6cfa4}

.sim-sliders-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}
.sim-slider-row{display:flex;flex-direction:column;gap:2px;background:#0d1b13;border:1px solid #284231;border-radius:6px;padding:5px 8px;margin:0}
.sim-slider-top{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:.68rem;color:#b8c9b8}
.sim-slider-top strong{color:#f0c28e;font-family:monospace;font-size:.72rem}
.sim-slider-row input[type="range"]{width:100%;height:16px;min-height:16px;padding:0;margin:0;accent-color:#c8945c;cursor:pointer}

.sim-step-prompt{font-size:.76rem;color:#dce6db;margin:0 0 6px;max-width:none;line-height:1.35}
.sim-step-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:6px}
.sim-action-btn{width:100%;text-align:left;padding:6px 9px;border-radius:7px;border:1px solid #3e5e49;background:#1a3325;color:var(--cream);font-weight:500;font-size:.72rem;line-height:1.25}
.sim-action-btn.current{background:#c88b4b;color:#0f1f16;border-color:#f0c28e;font-weight:600}
.sim-action-btn.done{background:#183b28;border-color:#62d99b;color:#9cf5c2}
.sim-action-btn:disabled{opacity:.55;cursor:not-allowed}
.sim-feedback-box{padding:7px 10px;border-radius:7px;background:#0d1b13;border-left:3px solid #c8945c;color:#e5efe4;font-size:.75rem;line-height:1.35}

.sim-cyl-panel{padding:8px 10px;background:#0b1710;border-color:#2c4736;display:flex;flex-direction:column;justify-content:space-between}
.sim-cyl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:6px}
.sim-cyl-card{text-align:left;padding:5px 7px;border-radius:7px;border:1px solid #2d4937;background:#0d1b13;color:var(--cream);cursor:pointer;display:flex;flex-direction:column;gap:2px}
.sim-cyl-card.active{border-color:#f0c28e;background:#193324;box-shadow:0 0 0 1px #c8945c}
.sim-cyl-head{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:.66rem}
.sim-cyl-state{padding:1px 5px;border-radius:999px;font-size:.58rem;font-weight:700}
.sim-cyl-state.ok{background:#183b28;color:#8ef0b8}
.sim-cyl-state.warn{background:#523912;color:#ffd584}
.sim-cyl-state.crit{background:#5c1919;color:#ff9e9e}
.sim-cyl-metric{display:flex;justify-content:space-between;font-size:.63rem;color:#9db5a4}
.sim-cyl-metric strong{color:#faf6ef;font-family:monospace}
.sim-cyl-prog{width:100%;height:4px;border-radius:999px;overflow:hidden;appearance:none;-webkit-appearance:none;border:none;background:#1b3123}
.sim-cyl-prog::-webkit-progress-bar{background:#1b3123;border-radius:999px}
.sim-cyl-prog.egt::-webkit-progress-value{background:#e4b17e;border-radius:999px}
.sim-cyl-prog.knock::-webkit-progress-value{background:#56c2e6;border-radius:999px}
.sim-cyl-sub{font-size:.6rem;color:#8fa693}
.sim-cyl-trim-bar{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:5px;align-items:stretch}
.sim-cyl-maint-btns{display:flex;flex-direction:column;gap:3px}
.sim-cyl-maint-btns .sim-valve-btn{padding:3px 6px;font-size:.64rem}
.sim-fault-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:6px}
.sim-fault-btn{width:100%;text-align:left;padding:6px 8px;border-radius:6px;border:1px solid #573824;background:#231912;color:#f7d5b4;font-size:.69rem;font-weight:600;cursor:pointer;line-height:1.2}
.sim-fault-btn:hover{border-color:#ff9f59;background:#302116}
.sim-fault-btn.clear{background:#142e20;border-color:#489e6c;color:#a8f5c8}

.academy-curriculum-list{border-top:none;display:flex;flex-direction:column;gap:14px;min-width:0;max-width:100%}
.academy-module-card{border:1px solid var(--line);border-radius:14px;background:var(--white);padding:0 24px;min-width:0;max-width:100%}
.academy-module-card p,.academy-module-card li,.mod-body p,.mod-unlocked-content p{max-width:none}
.academy-module-card summary{padding:18px 0;min-height:64px}
.mod-sum-left{display:flex;align-items:center;gap:16px;min-width:0}
.mod-num{padding:6px 11px;border-radius:8px;background:hsl(41 44% 92%);border:1px solid var(--line);color:var(--forest);font-size:.78rem;font-weight:700;white-space:nowrap}
.mod-track-tag{display:block;font-size:.76rem;color:var(--copper-dark);font-weight:600;margin-bottom:2px}
.mod-sum-left h3{font-size:1.18rem;margin:0}
.mod-sum-right{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:wrap}
.mod-duration{font-size:.82rem;color:var(--muted)}
.mod-access-pill{padding:4px 11px;border-radius:999px;font-size:.76rem;font-weight:600}
.mod-access-pill.open{background:#e6f4ea;color:#1b4d2e;border:1px solid #8fd1a6}
.mod-access-pill.locked{background:hsl(41 44% 92%);color:var(--forest);border:1px solid var(--line)}
.mod-body{padding:4px 0 24px;border-top:1px solid var(--line);min-width:0;max-width:100%}
.mod-summary-lead{font-size:1.02rem;color:var(--forest);font-weight:500;max-width:none;margin:14px 0 18px}
.mod-unlocked-content{min-width:0;max-width:100%}
.mod-unlocked-content h4{font-family:Fraunces,Georgia,serif;font-size:1.15rem;margin:22px 0 10px;color:var(--forest)}
.mod-bulletin-banner{margin-top:14px}
.mod-video-box{margin:16px 0 22px;border:1px solid #35523f;border-radius:14px;overflow:hidden;background:#0f2017;box-shadow:0 12px 32px -18px rgba(15,32,23,.4);max-width:100%}
.mod-video-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:#142a1e;border-bottom:1px solid #2b4534;color:var(--cream);font-size:.92rem}
.mod-video-head strong{color:var(--cream);font-weight:600}
.mod-video-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mod-video-player{display:block;width:100%;aspect-ratio:16/9;background:#09140e}
.check-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 28px}
.mod-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0 22px}
.mod-note-card{padding:16px 18px;border-radius:12px;border:1px solid var(--line);background:hsl(41 44% 95%);display:flex;flex-direction:column;gap:6px}
.mod-note-card p{margin:0;max-width:none;font-size:.93rem;line-height:1.58;color:var(--ink)}
.mod-note-num{font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--copper-dark);text-transform:uppercase}
.mod-spec-wrap{width:100%;max-width:100%;overflow-x:auto;margin:12px 0 20px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.mod-spec-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:520px}
.mod-spec-table th{text-align:left;padding:11px 14px;background:hsl(41 44% 92%);color:var(--forest);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.mod-spec-table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink)}
.mod-spec-table tr:last-child td{border-bottom:none}
.mod-quiz-box{margin-top:24px;padding:22px;border-radius:14px;background:hsl(41 44% 92%);border:1px solid var(--line)}
.quiz-q{border:0;padding:0;margin:0 0 18px}
.quiz-q legend{font-weight:600;margin-bottom:10px;color:var(--ink)}
.quiz-opt{display:flex;align-items:flex-start;gap:10px;margin:0 0 8px;cursor:pointer;font-size:.94rem}
.quiz-opt input{width:18px;height:18px;min-height:18px;margin:3px 0 0;flex-shrink:0}
.quiz-result{margin-top:14px;font-size:.92rem;font-weight:500;color:var(--forest)}
.mod-locked-callout{padding:20px;border-radius:12px;background:hsl(41 44% 92%);border:1px solid var(--line);overflow-wrap:anywhere}

.academy-key-display{margin-top:10px;padding:12px 16px;border-radius:8px;background:#12261b;color:#9cf5c2;font-family:monospace;font-size:1.05rem;letter-spacing:.05em;overflow-wrap:anywhere}
.student-progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.student-stat-box{padding:16px;border-radius:12px;background:hsl(41 44% 92%);border:1px solid var(--line)}
.student-stat-box span{display:block;font-size:.75rem;font-weight:600;color:var(--muted);margin-bottom:4px}
.student-stat-box strong{font-family:Fraunces,Georgia,serif;font-size:1.6rem;color:var(--forest)}
.student-cert-box{padding:16px;margin-bottom:18px;border-radius:12px;background:#e6f4ea;border:1.5px solid #2e6b44}
.student-cert-box h4{margin:0 0 6px;color:#173d25}
.student-cert-box p{margin:0;font-size:.9rem;color:#1f472e}

.academy-pricing-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:44px}
.academy-tier-card{display:flex;flex-direction:column}
.academy-tier-card .check-list{flex:1 0 auto;margin-bottom:16px}
.academy-tier-card.featured{border:2px solid var(--copper-dark);box-shadow:0 16px 42px -18px rgba(150,96,47,.32)}
.academy-checkout-split{align-items:center}

/* Admin & Instructor Control Console */
#marvel-academy-admin-app h2,#marvel-academy-admin-app h3,#marvel-academy-admin-app h4,#marvel-academy-admin-app p,#marvel-academy-admin-app code{overflow-wrap:anywhere}
#admin-dashboard-workspace,.split>*,.enquiry-form{min-width:0;max-width:100%}
.admin-top-bar{margin-bottom:28px}
.admin-key-banner{margin:24px 0}
.admin-key-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.admin-key-btns{display:flex;gap:8px;flex-wrap:wrap}
.admin-key-btns .button{min-height:38px;padding:6px 14px;font-size:.82rem}
.admin-key-btns .button.outline{color:#fff;border-color:#9cf5c2}
.admin-block{margin-top:28px}
.admin-short-area{min-height:76px}
.admin-panel-head{margin-bottom:18px;align-items:center}
.admin-panel-head h3{margin:4px 0 0}
.admin-roster-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;width:100%;max-width:440px}
.admin-roster-filters input,.admin-roster-filters select{margin:0;flex:1 1 150px;min-width:0}
.admin-status-msg{font-weight:500;color:var(--forest)}
.admin-trial-actions{margin-top:14px;margin-bottom:22px}
#admin-dashboard-workspace h4{margin:0 0 10px;font-family:Fraunces,Georgia,serif}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.admin-table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.admin-roster-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:760px}
.admin-roster-table th{text-align:left;padding:12px 14px;background:hsl(41 44% 92%);color:var(--forest);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.admin-roster-table td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top}
.admin-roster-table tr:last-child td{border-bottom:none}
.admin-row-actions{display:flex;flex-wrap:wrap;gap:6px}
.admin-act-btn{padding:6px 10px;border-radius:6px;border:1px solid var(--line);background:hsl(41 44% 94%);color:var(--forest);font-size:.76rem;font-weight:600;cursor:pointer;min-height:32px}
.admin-act-btn:hover{border-color:var(--copper);background:var(--white)}
.admin-audit-list{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto;padding-right:4px}
.admin-audit-row{padding:10px 12px;border-radius:8px;background:hsl(41 44% 94%);border:1px solid var(--line);font-size:.82rem;overflow-wrap:anywhere;word-break:break-word}
.admin-empty-note{margin:0}
.admin-comment-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.admin-comment-actions{display:flex;gap:6px;flex-wrap:wrap}
.admin-comment-actions a.admin-act-btn{text-decoration:none;display:inline-flex;align-items:center}
.admin-comment-msg{margin:6px 0;font-size:.9rem;color:var(--ink)}
.admin-meta-line{font-size:.75rem}
.admin-company-tag{color:var(--copper-dark)}
.admin-role-tag{margin:0 0 4px}
.admin-date-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}

/* Global Member Sign-In & Page Comment Bar */
.msz-comment-strip{background:hsl(41 44% 92%);border-top:1px solid var(--line);padding:20px 0}
.msz-comment-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;border-radius:12px;background:var(--white);border:1px solid var(--line);min-width:0;max-width:100%;overflow-wrap:anywhere}
.msz-comment-bar[hidden],.msz-comment-drawer[hidden]{display:none}
.msz-comment-bar-text{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.msz-comment-bar-text .tag{margin:0}
.msz-comment-bar-text p{margin:2px 0 0;font-size:.92rem}
.msz-comment-bar-text strong{color:var(--forest)}
.msz-comment-bar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:100%}
.msz-comment-drawer{max-width:760px;margin-top:16px}
.msz-comment-drawer h3{margin-top:0}

@media(max-width:960px){
 .academy-hero-grid,.academy-video-stage,.sim-main-grid,.sim-nav-strip,.sim-left-split-row,.academy-pricing-cards,.sim-cyl-trim-bar,.check-list-grid,.mod-notes-grid{grid-template-columns:1fr}
 .sim-cyl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sim-scenario-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sim-gauges-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .sim-hmi-valve-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sim-sliders-grid,.sim-fault-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:599px){
 .sim-scenario-tabs,.student-progress-grid,.sim-hmi-valve-grid,.sim-sliders-grid,.sim-fault-grid,.sim-step-buttons,.sim-gauges-grid{grid-template-columns:1fr}
 .sim-cyl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sim-mod-preset-box{flex-direction:column;align-items:stretch}
 .admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .student-stat-box{padding:12px}
 .student-stat-box strong{font-size:1.3rem}
 .enquiry-form{padding:18px}
 .sim-console{padding:10px}
 .sim-schematic-panel,.sim-steps-panel,.sim-cyl-panel,.sim-fault-panel{padding:10px}
 .academy-module-card{padding:0 14px}
 .mod-quiz-box{padding:16px}
 .mod-spec-table{min-width:0;font-size:.78rem}
 .mod-spec-table th,.mod-spec-table td{padding:8px;overflow-wrap:anywhere}
 .mod-sum-left{flex-direction:column;align-items:flex-start;gap:8px}
 .academy-module-card summary{flex-direction:column;align-items:flex-start;gap:10px}
}
/* TODO 199: LNG News page */
.news-checked{font-size:.95rem;color:var(--muted);margin-bottom:14px}.news-jump{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 36px;padding:0 0 18px;border-bottom:1px solid var(--line)}.news-jump a{display:inline-flex;align-items:center;min-height:44px;color:var(--forest);font-weight:500}.news-section{margin:0 0 48px;scroll-margin-top:100px}.news-section>h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:8px}.news-list{list-style:none;padding:0;margin:22px 0 0}.news-item{border-top:1px solid var(--line);padding:22px 0}.news-item h3{font-size:1.25rem;margin-bottom:8px;overflow-wrap:anywhere}.news-item p{margin:0 0 10px;color:var(--ink)}.news-meta{font-size:.9rem;color:var(--muted)!important;overflow-wrap:anywhere}.news-meta a{color:var(--copper-dark);display:inline-flex;align-items:center;min-height:44px}.news-ai-label{display:inline-block;font-size:.75rem!important;color:var(--muted)!important;border:1px solid var(--line);border-radius:20px;padding:2px 10px;margin:4px 0 0!important}
/* TODO 199: ten navbar links do not fit in one row between 900 and 1240 px; let the row wrap instead of overflowing the page.
   3 Nov 2026: the row may wrap at every desktop width, so a longer menu never overflows the page. */
@media(min-width:900px){.site-nav{flex:1 1 0;min-width:0;flex-wrap:wrap;justify-content:flex-end;row-gap:0}}
/* W-001 (26 Oct 2026): reflow at 320 px wide with 200% text (WCAG 1.4.10). Body text follows the reader's text size
   (rem, not px); long words in headings break with a hyphen instead of pushing the page sideways; grid and flex
   children may shrink below their content width. */
h1,h2,h3,h4,h5,h6,.sr-brand,.academy-pill,.tag,summary{overflow-wrap:break-word;hyphens:manual} /* W238-021: no mid-word hyphens ("quest-ion"); a word wider than the screen still breaks */
.news-item h3{overflow-wrap:break-word}
.split>*,.cards>*,.hero-grid>*,.footer-grid>*,.academy-hero-grid>*,.section-heading>*,.contact-callout>*{min-width:0}
@media(max-width:599px){
 .brand{min-width:0;flex:1 1 auto}
 .brand span{white-space:normal;overflow-wrap:break-word}
 .site-nav a,.site-nav a[aria-current=page]{white-space:normal}
 .contact-callout{flex-direction:column;flex-wrap:nowrap;align-items:stretch}
 .button{max-width:100%;white-space:normal;text-align:center;hyphens:auto}
 .academy-video-stage>*,.sim-workstation-bar>*,.sim-nav-strip>*,.sim-scenario-tabs>*,.mod-notes-grid>*,.academy-pricing-cards>*,.academy-checkout-split>*,.booking-grid-two>*{min-width:0}
 .footer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
 [class*="grid"]>*,fieldset,.quiz-opt>*{min-width:0}
 .hero-grid>*,.hero-grid>.hero-copy{max-width:100%}
 .sr-brand{flex-wrap:wrap;font-size:min(2rem,12vw)}
 .sim-mod-preset-box{flex-wrap:wrap}
 .sim-mod-preset-box span{white-space:normal}
}
/* W-007 (26 Oct 2026): every standalone link and control is at least 44 px tall (and wide) on touch screens. Links
   inside sentences stay as they are. */
.site-nav .nav-contact,.site-nav .nav-book{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.site-footer a{min-width:44px}
a.link,.section-heading>a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:899px),(pointer:coarse){
 .button,.sim-top-actions .button,.admin-key-btns .button,.admin-act-btn,.sim-hmi-top-btn,.sim-scope-btn,.sim-valve-btn,.sim-fault-btn,.sim-action-btn,.academy-vid-btn,select,.sim-mod-preset-box select{min-height:44px}
 input[type=range],.sim-slider-row input[type="range"]{min-height:44px}
 .quiz-opt{min-height:44px;align-items:center}
 .quiz-opt input{margin:0}
}
/* TODO 238 (29 Oct 2026) website audit fixes */
/* W238-005: phones show the menu button from the first paint and keep the header one row high, so it no longer
   jumps from ten wrapped links to one row when site.mjs arrives on a slow link (CLS 0.26-0.29). nojs.css brings
   the links back when JavaScript is off. */
@media(max-width:899px){.site-nav:not(.open){display:none}.site-nav.open{display:flex;flex-direction:column;align-items:stretch}.header-inner{min-height:64px}}
/* W238-007: a button inside text keeps its own colours (the "See SeaReady in action" button was copper on green, 2.3:1). */
.prose a.button{color:var(--cream)}.prose a.button.light,.prose a.button.outline{color:var(--forest)}
/* W238-013: contrast of the Academy video numbers (4.0:1) and the simulator's workstation tag (2.7:1). */
.academy-vid-btn .vid-num{color:#6b4120}
.sim-ws-brand .tag{color:#f0c28e;border-color:#53755e}
/* Technical engineering guides (/guides/ and /guides/<slug>/) */
[data-guide-card] h3 a{text-decoration:none;color:var(--forest)}
[data-guide-card] h3 a:hover{text-decoration:underline}
.guide-tldr-box{padding:24px 28px;margin:20px 0 32px;border:1.5px solid var(--forest);border-radius:16px;background:var(--white)}
.guide-tldr-box h2{font-size:1.35rem;margin:0 0 12px;color:var(--forest)}
.guide-tldr-box .check-list{margin-top:8px}
.guide-links-split{gap:32px;margin-top:16px}
.guide-links-split h3{font-size:1.18rem;margin:0 0 10px;color:var(--forest)}
.guide-links-split ul{padding-left:20px;margin:0}
.guide-links-split li{margin-bottom:8px}
.guide-consult-callout{padding:20px 24px;margin:4px 0 30px;border:1.5px solid var(--copper);border-radius:16px;background:hsl(41 44% 92%)}.guide-consult-callout p{margin:0;max-width:none}.guide-consult-callout .actions{margin-top:14px}
@media(max-width:599px){.guide-tldr-box{padding:18px 20px}.guide-consult-callout{padding:16px 18px}}
.guide-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:6px 2px;max-width:100%}
.guide-tabs button{min-height:44px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--forest);font:inherit;cursor:pointer}
.guide-tabs button[aria-selected=true]{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.guide-status{min-height:2em;margin-bottom:20px}
.guide-results{scroll-margin-top:100px}
.guide-pages{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:30px}
.guide-pages button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--forest);font:inherit;cursor:pointer}
.guide-pages button[aria-current=page]{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.guide-pages button:disabled{cursor:default}
.guide-pages button:disabled:not([aria-current=page]){opacity:.55}
.guide-pages>span{padding:0 3px;color:var(--muted)}
.guide-noscript{margin-top:32px}
.guide-link-list{columns:2;column-gap:36px;padding-left:22px}
.guide-link-list li{break-inside:avoid;margin-bottom:12px}
@media(max-width:599px){.guide-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.guide-tabs button{flex:0 0 auto}.guide-link-list{columns:1}}
