/* Shared refinements preserve the existing site layout and original branding. */
:root { --radius-lg:8px; --radius-md:8px; --radius-sm:6px; }
body { background:#f8f9f9; }
*, *::before, *::after { letter-spacing:0!important; }
a,button { touch-action:manipulation; }
:focus-visible { outline:3px solid #0d94b3; outline-offset:4px; }
.site-header { position:relative; background:#101113; }
.brand.brand-full { display:block; width:210px; height:140px; flex-shrink:0; overflow:hidden; }
.brand.brand-full img.brand-logo-full { width:210px; height:210px; max-width:none; margin-top:-35px; object-fit:contain; border:0; border-radius:0; box-shadow:none; background:transparent; }
.home-hero { background:#ecf4f5; color:#17191a; }
.home-hero h1 { font-size:42px; color:#17191a; line-height:1.14; max-width:650px; }
.home-hero p { color:#383f43; font-size:18px; }
.home-hero-grid { gap:30px; align-items:center; }
.home-hero-visual { min-height:0; height:auto; }
.home-boat-video { display:block; width:100%; aspect-ratio:16/9; object-fit:contain; background:#111; border-radius:0; }
.hero-kicker-light { color:#00768b; }
.hero-benefits { color:#333; }
.hero-benefits li { background:#fff; border-color:#c4d9dd; }
.home-header-row { min-height:140px; }
.main-nav { flex-wrap:wrap; }
.site-header .main-nav a { color:#edf6f7; }
.site-header .main-nav a:hover { color:#54c9de; }
.grid-2 .panel h2 { font-size:28px; }
.panel,.contact-spotlight-card,.trade-feature-card { box-shadow:none; }
.section .panel { background:transparent; border:0; padding:20px 0; }
.enquiry-band { display:grid; grid-template-columns: minmax(0,2fr) minmax(250px,1fr); gap:28px; padding-block:24px; border-top:1px solid #c6d4d6; border-bottom:1px solid #c6d4d6; align-items:center; }
.enquiry-band .hero-actions { display:grid; margin:0; }
.enquiry-band p { max-width:720px; line-height:1.7; }
.area-groups { display:grid; grid-template-columns:1fr 1fr; gap:18px 40px; }
.area-groups h3 { font-size:20px; }
.area-groups p { line-height:1.7; }
.footer-credit { display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; padding:24px 0; font-size:13px; color:#d5dce0; }
.footer-credit span { margin-left:auto; }
.footer-logo { width:230px; height:150px; object-fit:cover; }
.work-carousel { margin-top:40px; max-width:900px; margin-inline:auto; }
.carousel-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; position:relative; }
.carousel-track figure { flex:0 0 100%; min-width:0; margin:0; scroll-snap-align:start; }
.carousel-track img { width:100%; height:480px; object-fit:contain; background:#edf0f0; }
.carousel-track figcaption { padding:16px; text-align:center; color:#333; min-height:56px; }
.carousel-controls { display:flex; gap:20px; justify-content:center; align-items:center; padding:12px; }
.carousel-controls button { width:48px; height:48px; border:1px solid #aabfc3; background:#fff; color:#222; border-radius:4px; font-size:24px; cursor:pointer; }
.carousel-controls span { min-width:65px; text-align:center; font-variant-numeric:tabular-nums; }
.sewing-feature { margin-top:45px; }
.sewing-feature video { width:min(100%,480px); max-height:500px; background:#111; display:block; }
.sticky-mobile { grid-template-columns:1fr 1fr; }
.contact-spotlight-card,.trust-strip,.service-card-clean,.gallery-preview-card,.trade-feature-card { border-radius:8px!important; box-shadow:none!important; }
.contact-showcase-grid { display:block; }
.contact-spotlight-card { border:0!important; background:transparent!important; padding:24px 0!important; }
.profile-badge { display:none; }
.contact-spotlight-copy h2 { font-size:28px; }
.trust-strip { background:transparent!important; border:0!important; }
.trade-feature-card { background:#20282a!important; }
.trade-feature-card h2,.trade-feature-card p,.trade-feature-card li { color:#fff!important; }
.trade-feature-card .btn-light-outline { background:transparent!important; color:#fff!important; border:1px solid #b5cbcf; }
.site-footer,.site-footer p,.site-footer li,.site-footer h2,.site-footer a,.site-footer .legal { color:#e1edef!important; }
.site-footer { background:#20282a!important; }
.site-footer strong { color:#e1edef!important; }
.media-feature-video { max-height:480px; aspect-ratio:16/9; width:100%; object-fit:contain; background:#111; border-radius:8px; }
.sewing-feature video { aspect-ratio:16/9; object-fit:contain; }
.service-card-clean { min-width:0; }
.page-hero > .wrap > h1 { color:#17191a; font-size:36px; max-width:850px; }
.page-hero > .wrap > p { color:#383f43; }
.page-hero > .wrap > .kicker { color:#006779; }
.service-grid > article > section + section { margin-top:32px; }
.service-grid > article > section h2 { font-size:28px; line-height:1.3; }
@media (max-width:900px) {
 .home-hero h1 { font-size:32px; }
 .home-hero-grid { grid-template-columns:1fr; }
 .enquiry-band { grid-template-columns:1fr; }
 .brand.brand-full { width:174px; height:112px; }
 .brand.brand-full img.brand-logo-full { width:174px; height:174px; margin-top:-29px; }
 .home-header-row { min-height:112px; }
 .header-row { flex-wrap:wrap; }
 .main-nav.open { width:100%; order:5; }
 .main-nav.open a { padding:12px; }
}
@media (max-width:600px) {
 .page-hero > .wrap > h1 { font-size:28px; }
 .service-grid > article > section h2 { font-size:24px; }
 h1 { overflow-wrap:break-word; }
 .home-hero h1 { font-size:30px; }
 .home-hero p { font-size:16px; }
 .area-groups { grid-template-columns:1fr; }
 .header-cta { display:none; }
 .carousel-track img { height:340px; }
 .footer-credit { padding-bottom:90px; }
 .hero-actions a { white-space:normal; text-align:center; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { animation:none!important; transition:none!important; } }
