/* ==========================================================================
   North Water Marine — site stylesheet (the only site-owned CSS file; layout.hbs loads it last).
   1. Inventory listing / boat detail legacy rules (were inventory-style.css), scoped to those pages
   2. Legacy base rules still in use (reset, base type, form errors, Bootstrap tweaks)
   3. SITE REDESIGN (2026): design system + one block per page
   ========================================================================== */

/* ---------- 1. Inventory listing / boat detail (scoped; :where() adds no specificity) ---------- */
:where(.nw-inventory, .nw-boat) .lastLoad_btn button {
    margin-top: 30px;
    margin-bottom: 50px;
    color: #FFF;
    text-align: center;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    background: #328DB0;
    display: inline-block;
    max-width: 250px;
    width: 100%;
    padding: 11px 25px;
    border: 1px solid #328DB0;
    cursor: pointer;
}

/* breadCrum starts here */

:where(.nw-inventory, .nw-boat) .breadcrumb {
    background-color: transparent !important;
    margin-bottom: 24px;
    padding-left: 0;
}

:where(.nw-inventory, .nw-boat) .ui-widget.ui-widget-content {
    border: 1px solid #a8a8a8;
    background: #dbdbdb;
    height: 5px;
    border-radius: 0;
}

:where(.nw-inventory, .nw-boat) .ui-slider-horizontal .ui-slider-range {
    background: #4d4d4d;
}

:where(.nw-inventory, .nw-boat) .ui-state-default,
:where(.nw-inventory, .nw-boat) .ui-widget-content .ui-state-default {
    outline: 0 !important;
    border: 1px solid #4d4d4d;
    border-radius: 0;
    width: 15px !important;
    height: 15px !important;
    top: 50%;
    transform: translateY(-45%) !important;
    border-radius: 50px;
    cursor: pointer;
}

:where(.nw-inventory, .nw-boat) .ui-state-active,
:where(.nw-inventory, .nw-boat) .ui-widget-content .ui-state-active {
    border-color: #cb2127 !important;
    background: #cb2127 !important;
}

:where(.nw-inventory, .nw-boat) div#year-range {
    width: 74%;
    margin: auto;
    margin-top: 30px;
    margin-bottom: 10px;
}

:where(.nw-inventory, .nw-boat) div#price-range {
    width: 74%;
    margin: auto;
    margin-top: 30px;
    margin-bottom: 10px;
}

/* chekbox style start */

/* new boat listing page css start here */

/* grid view start here */

:where(.nw-inventory, .nw-boat) .grid-view-btn {
    background: white;
    border: 1px solid lightgray;
    padding: 8px 8px 8px 8px;
    cursor: pointer;
    line-height: normal;
}

:where(.nw-inventory, .nw-boat) .toggleViewBtn.active {
    background: #328DB0;
    border: 1px solid #328DB0;
}

:where(.nw-inventory, .nw-boat) .list-view-btn {
    background: white;
    border: 1px solid lightgray;
    padding: 8px 8px 8px 8px;
    cursor: pointer;
    line-height: normal;
}

:where(.nw-inventory, .nw-boat) .ui-slider-horizontal .ui-slider-range {
    background: #000;
    height: 10px;
    border-radius: 5px;
}

:where(.nw-inventory, .nw-boat) .ui-state-default,
:where(.nw-inventory, .nw-boat) .ui-widget-content .ui-state-default {
    outline: 0 !important;
    border: 1px solid #4d4d4d;
    border-radius: 0;
    width: 15px;
    height: 15px;
    top: 50%;
    transform: translateY(-45%);
    border-radius: 50px;
    cursor: pointer;
}

:where(.nw-inventory, .nw-boat) .ui-widget.ui-widget-content {
    border: 1px solid #a8a8a8;
    border-radius: 5px;
    background: #e6e6e6;
    height: 10px;
    border-radius: 50px;
}

:where(.nw-inventory, .nw-boat) div#length-range {
    width: 74%;
    margin: auto;
    margin-top: 30px;
    margin-bottom: 10px;
}

/* new boat details page design start here */

/* Feed descriptions are pasted in with inline styles from the manufacturer sites
   (dark background + white text). Strip any background so the copy stays readable. */

:where(.nw-inventory, .nw-boat) .modal-title {
    color: #222222;
    text-align: center;
    font-family: Roboto;
    font-size: 30px;
    font-style: normal;
    line-height: 30px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* boat detail carousel */

/* contain (not cover) so feed images with odd aspect ratios / low resolution
   (e.g. floor plans) are shown whole instead of cropped and upscaled */

/* boat detail YouTube video slides */

/* boat gallery pop up */

/* +++++++++++++++++++++++++++ */

:where(.nw-inventory, .nw-boat) .scroll-down {
    position: absolute;
    top: -100px;
    visibility: hidden;
}

:where(.nw-inventory, .nw-boat) .opeen-calc {
    cursor: pointer;
    position: relative;
}

:where(.nw-inventory, .nw-boat) .disclaimer-dropdown {
    position: relative;
    display: inline-block;
}

:where(.nw-inventory, .nw-boat) .disclaimer-btn {
    background: none;
    border: none;
    text-decoration: underline;
    cursor: pointer;
    width: 100%;
    color: white;
    padding: 10px 15px;
    font-family: "Public Sans";
    letter-spacing: 1px;
    font-size: 16px;
}
:where(.nw-inventory, .nw-boat) .disclaimer-content {
    display: none;
    width: 100%;
    padding: 12px 0;
    border-radius: 4px;
}
:where(.nw-inventory, .nw-boat) .disclaimer-content p {
    background: transparent;
    color: white;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    text-align: center;
}
:where(.nw-inventory, .nw-boat) .disclaimer-content p a {
    color: white;
    text-decoration: underline;
}

:where(.nw-inventory, .nw-boat) .pending_sale_banner {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 22px;
    background: #328DB0;
    font-family: "Inter", sans-serif;
    text-transform: uppercase;
    border-radius: 3px;
    letter-spacing: 1px;
}

/* new boat detail page design ends here */

/* mobile filter start here */

@media (max-width: 991px) {
    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    /*  new boat details page design start here */
    

    

    

    

    

    

    

    

    :where(.nw-inventory, .nw-boat) .breadcrumb {
        margin-bottom: 0;
        padding-left: 7px;
    }

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    /*  new boat details page design start here */

}

/* ---------- 2. Legacy base ---------- */
/* GLOBAL CSS START */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
    padding: 0;
}

hr {
    margin-top: 0;
    margin-bottom: 0;
}

li {
    list-style: none;
    text-decoration: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    background: transparent;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
    color: #ffff;
}

img {
    width: 100%;
    object-fit: cover;
}

/* FONT FAMILY */

@font-face {
    font-family: openBold;
    src: url(../fonts/OpenSans-Bold.ttf);
}

@font-face {
    font-family: openSemiBold;
    src: url(../fonts/OpenSans-Semibold.ttf);
}

@font-face {
    font-family: openRegular;
    src: url(../fonts/OpenSans-Regular.ttf);
}

@font-face {
    font-family: ibexBold;
    src: url(../fonts/IBMPlexSans-Bold.ttf);
}

html {
    scroll-behavior: smooth;
}

h1 {
    font-size: 60px;
    font-family: ibexBold;
    color: #fff;
}

h2 {
    font-size: 45px;
    font-family: ibexBold;
}

h3 {
    font-size: 33px;
    font-family: ibexBold;
}

h4 {
    font-size: 30px;
    font-family: openBold;
}

h5 {
    font-size: 27px;
    font-family: openBold;
}

h6 {
    font-size: 24px;
    font-family: openBold;
}

p {
    font-size: 18px;
}

#notify_message {
    position: fixed;
    bottom: 0;
    width: 100%;
    text-align: center;
    z-index: 9999;
    font-size: 20px;
}

input:focus {
    box-shadow: none !important;
}

select:focus {
    box-shadow: none !important;
}

/* share pop up styling */

.popup_input {
    width: calc(100% - 100px);
    height: 43px;
    background: #fff none repeat scroll 0 0;
    border: 1px solid #dedfe0;
    margin-bottom: 0;
    padding: 0 10px 0 10px
}

/* share pop up styling */

/* GLOBAL CSS END */

/* BUTTON TOGLLER CSS  *******************************/

/* top line needs a little padding */

/**
 * Animate collapse into X.
 */

/* top line rotates 45 degrees clockwise and moves up and in a bit to close the center of the X in the center of the button */

/* center line goes transparent */

/* bottom line rotates 45 degrees counter clockwise, in, and down a bit to close the center of the X in the center of the button  */

/**
 * Animate collapse open into hamburger menu
 */

/* top line moves back to initial position and rotates back to 0 degrees */

/* middle line goes back to regular color and opacity */

/* bottom line goes back to initial position and rotates back to 0 degrees */

/* CAROUSEL ARROW CSS */

button:focus {
    outline: 0 !important;
}

/* HEADer csS START */

.navbar {
    padding: 0.5rem 3rem;
    position: absolute;
    z-index: 2;
    width: 100%;
    transition: all 0.5s ease-in-out;
}

nav ul li a {
    color: #fff !important;
    font-size: 18px;
    font-family: openSemiBold;
    white-space: nowrap;
}

nav .form-control:focus {
    box-shadow: none !important;
}

nav input::placeholder {
    color: #ffffff !important;
    font-family: openRegular !important;
    font-size: 16px;
}

/* MEGA NAV CSS */

/* HEADer csS START */

/* BANNER CSS START */

/* BANNER CSS END */

/* INVENTORY SECTION START */

/* FEatuered Section css Start */

/* FEatuered Section css END */

/* Boater Section Start */

/* Boater Section Start */

/* BRand Section Css START */

/* BRand Section Css END */

/* NORTH BRAND SECTION CSS START */

	

/* new updated form styling starts here */
.iti {
    border: none;
    width: 100%;
}

/* sub nav styles starts here added by kazim */

.phoneInput {
    width: 100%;
    padding-left: 52px !important;
    outline: none;
    border: none;
}

.field-error {
    color: red;
    font-size: 14px;
    margin-top: 5px;
    text-align: left;
}

.error_field {
    border: 1px solid red !important;
}

input.error_field::placeholder, textarea.error_field::placeholder {
    color: red !important;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    display: none;
}

/* NORTH BRAND SECTION CSS END */

/* FOOTER SECTION CSS START */

footer {
    background-color: #265170;
    padding: 60px 0px;
}

.form-control:focus {
    background-color: transparent !important;
}

/* FOOTER SECTION CSS END */

/* MEDIA QUERIES OF HOME PAGE */

@media(max-width:1440px) {
    

    h1 {
        font-size: 40px;
    }

    h2 {
        font-size: 28px;
    }

    h3 {
        font-size: 26px;
    }

    h4 {
        font-size: 24px;
    }

    h5 {
        font-size: 20px;
    }

    p {
        font-size: 15px;
    }

    

    

    
}

@media(max-width:1366px) {
    .navbar {
        padding: 0.5rem 1rem;
    }

    

    

    nav ul li a {
        font-size: 14px;
    }
}

@media(max-width:991px) {
    

    

    

    

    h1 {
        font-size: 28px;
    }

    h2 {
        font-size: 25px;
    }

    h3 {
        font-size: 23px;
    }

    h4 {
        font-size: 21px;
    }

    h5 {
        font-size: 18px;
    }

    p {
        font-size: 14px;
    }

    

    

    

    

    

    

    

    

    

    

    
}

@media(max-width:768px) {
    

    

    

    h1 {
        font-size: 24px;
    }

    

    

    

    /* MOBILE NAV */
    

    

    

    

    

    
}

/********************* BOAT Section  Page Start ********************************************* */

button:focus {
    outline: none;
}

.grecaptcha-badge {
    display: none;
}

/* side pannel accordian css */

.panel-title>a:before {
    float: right !important;
    font-family: FontAwesome;
    content: "\f068";
    padding-right: 5px;
}

.panel-title>a:hover,
.panel-title>a:active,
.panel-title>a:focus {
    text-decoration: none;
}

/* side pannel accordian css end */

/* rangebar css end */

/* NEW STRUCTURE CSS START */

/* MEDIA QUERIES FOR SALE PAGE */

/* Create a custom checkbox */

/***************************** BOAT  Page End ********************************************* */

/******************************* BOAT Detail Section  Page Start ********************************************* */

button:focus {
    outline: none;
}

/* Media Queries  */

/************************************ BOAT Detail Section  Page End ********************************************* */

/************************************** RENTAL PAGE CSS START HERE ********************************************************/

/* banner css */

/* RENTAL_DETAIL CSS  */

/* Rental AVAILABLE CSS */

/* renatal_faq css */

/* accordian css */

.panel-title>a:before {
    float: right !important;
    font-family: FontAwesome;
    content: "\f068";
    padding-right: 5px;
    color: #265170;
}

/* accordian css END*/

/* MEDIA QUERIES */

/************************************** RENTAL PAGE CSS END HERE ********************************************************/

/************************************** SERVICE PAGE CSS START HERE ********************************************************/

/* BANNER CSS */

/* logo_TEXT CSS */

/* contact_service css */

/* form css */

.form-control {
    padding: 14px 10px;
    border-radius: 0px;
    font-family: openRegular;
    font-size: 16px;
    color: #000000 !important;
    border: 1px solid #c4c4c4;
    height: unset !important;
}

select.form-control:not([size]):not([multiple]) {
    height: calc(3.45rem + 2px);
}

input:focus {
    box-shadow: none !important;
    border: 1px solid #c4c4c4 !important;
}

select:focus {
    box-shadow: none !important;
    border: 1px solid #c4c4c4 !important;
}

input::placeholder {
    color: #000000 !important;
}

textarea::placeholder {
    color: #000000 !important;
}

/* MEDIA QUERIES */

@media(max-width:991px) {
    .form-control {
        font-size: 17px;
    }

    
}

@media(max-width:768px) {
    

    

    .form-control {
        font-size: 15px;
    }
}

/************************************** SERVICE PAGE CSS END HERE ********************************************************/

/************************************** VALET PAGE CSS START HERE ********************************************************/

/* LOGO_TEXT_VALET CSS */

/************************************** VALET PAGE CSS END HERE ********************************************************/

/************************************** Storage PAGE CSS Start HERE ********************************************************/

/* HOUR CSS */

/************************************** Storage PAGE CSS END HERE ********************************************************/

/************************************** ABOUT PAGE CSS START HERE ********************************************************/

/* MEDIA QUERIES */

/************************************** ABOUT PAGE CSS END HERE ********************************************************/

/************************************** BLOG_DETAIL PAGE CSS START HERE ********************************************************/

/* blog css */

/* pOST CSS */

/* MEDIA QUERIES */

@media(max-width:1440px) {
    

    

    

    

    h6 {
        font-size: 20px;
    }
}

@media(max-width:1240px) {
    h6 {
        font-size: 17px;
    }
}

@media(max-width:575px) {
    

    h6 {
        font-size: 15px;
    }
}

/************************************** BLOG_DETAIL PAGE CSS END HERE ********************************************************/

/************************************** CAREER PAGE CSS START HERE ********************************************************/

/* CUSTOM UPLOAD BUTTON CSS */

/* MEDIA QUERIES */

/************************************** CAREER PAGE CSS END HERE ********************************************************/

/************************************** CONTACT PAGE CSS START HERE ********************************************************/

/* map CSS */

/* MEDIA QUERIES */

/************************************** CONTACT PAGE CSS END HERE ********************************************************/

/************************************** BLOG PAGE CSS START HERE ********************************************************/

/* blog css */

/* MEDIA QUERIES */

/************************************** BLOG PAGE CSS END HERE ********************************************************/

/************************************** ERROR PAGE CSS START HERE ********************************************************/

/************************************** ERROR PAGE CSS END HERE ********************************************************/

/* MOADL CSS */

/* MOADL CSS END */

/* MEGA MENU CSS */

/*MEGA MENU START*/
/* IT'S ALSO WORKING ON CLICK JUST FEW CHANGES AND IT'S WORK PERFECTLY */

/* new menu css */

.show {
    display: block !important;
}

/* .mg content starts here  */

/********************* MEGA MENU END ******************* */

/* MODAL FILTER CSS START */

/* MEdia Queries of ForSale Page */

@media(max-width:991px) {
    

    h5 {
        font-size: 26px;
    }

    

    
    

    

    /* NEW DESIGN OF FILTERS */
    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    .btn:focus {
        outline: 0;
        box-shadow: none;
    }

    

}

/* ==========================================================================
   SITE REDESIGN (2026)
   Everything below belongs to the redesign. Base design system first, then
   one block per page; page rules are scoped under .nw-<page>.
   ========================================================================== */

/* ---------- Design system (tokens, reset, components, header, footer) ---------- */
/* ==========================================================================
   North Water Marine — redesign design system
   --------------------------------------------------------------------------
   Loaded LAST in views/layouts/layout.hbs so it wins over Bootstrap 4 and the
   legacy /assets/css/style.css. Everything is scoped:
     .nw          redesigned page body (sections between header and footer)
     .nwm-hdr     global header + mega menus + mobile menu
     .nwm-ft      global footer
   All component classes carry the `nwm-` prefix so they never collide with
   Bootstrap (.btn, .card, .badge, .nav ...) or legacy theme classes.
   Page-specific rules live in /assets/css/nwm/<page>.css.
   ========================================================================== */

:root {
    --nwm-navy: #224966;
    --nwm-navy-700: #1c3d56;
    --nwm-navy-800: #1a3a4f;
    --nwm-blue: #428ebe;
    --nwm-blue-200: #8fc0e3;
    --nwm-ink: #212429;
    --nwm-ink-2: #252a2e;
    --nwm-text: #3a4148;
    --nwm-text-2: #5a636c;
    --nwm-sub: #6b7580;
    --nwm-muted: #7a8590;
    --nwm-meta: #8a929a;
    --nwm-bg-alt: #f5f5f5;
    --nwm-panel: #e3f1f9;
    --nwm-panel-border: #d3e5f0;
    --nwm-tile: #e7eef4;
    --nwm-chip: #f7f8f9;
    --nwm-border: #e6e8eb;
    --nwm-input-border: #d5dde3;
    --nwm-chip-border: #d9dde1;
    --nwm-open: #2f8f5b;
    --nwm-limited: #d08a1e;
    --nwm-font-head: 'IBM Plex Sans', sans-serif;
    --nwm-font-cond: 'IBM Plex Sans Condensed', 'IBM Plex Sans', sans-serif;
    --nwm-font-body: 'Open Sans', sans-serif;
    --nwm-wrap: min(1400px, calc(100% - 64px));
}

/* --------------------------------------------------------------------------
   1. Scoped reset — undo Bootstrap reboot + legacy globals inside new areas.
      :where() keeps these at element-level specificity, so every component
      class below (and inline styles) wins, while nwm.css loading last still
      beats the legacy element rules (h1{font-size:60px}, img{width:100%} ...).
   -------------------------------------------------------------------------- */
.nw, .nwm-hdr, .nwm-ft {
    font-family: var(--nwm-font-head);
    font-size: 16px;
    line-height: normal;
    color: var(--nwm-ink);
    text-align: left;
    -webkit-font-smoothing: antialiased;
}
.nw { width: 100%; background: #fff; overflow-x: clip; }
:where(.nw, .nwm-hdr, .nwm-ft) * { box-sizing: border-box; }
:where(.nw) * { max-width: 100%; }
:where(.nw, .nwm-hdr, .nwm-ft) a { color: inherit; text-decoration: none; background: transparent; font-size: inherit; }
:where(.nw, .nwm-hdr, .nwm-ft) a:hover { color: inherit; text-decoration: none; opacity: .85; }
:where(.nw, .nwm-hdr, .nwm-ft) h1 { font-size: 2em; margin: .67em 0; }
:where(.nw, .nwm-hdr, .nwm-ft) h2 { font-size: 1.5em; margin: .83em 0; }
:where(.nw, .nwm-hdr, .nwm-ft) h3 { font-size: 1.17em; margin: 1em 0; }
:where(.nw, .nwm-hdr, .nwm-ft) h4 { font-size: 1em; margin: 1.33em 0; }
:where(.nw, .nwm-hdr, .nwm-ft) h5 { font-size: .83em; margin: 1.67em 0; }
:where(.nw, .nwm-hdr, .nwm-ft) h6 { font-size: .67em; margin: 2.33em 0; }
:where(.nw, .nwm-hdr, .nwm-ft) :is(h1, h2, h3, h4, h5, h6) { font-family: inherit; font-weight: bold; line-height: normal; color: inherit; padding: 0; }
:where(.nw, .nwm-hdr, .nwm-ft) p { font-size: inherit; margin: 1em 0; padding: 0; line-height: inherit; }
:where(.nw) ul, :where(.nw) ol { margin: 1em 0; padding-left: 40px; }
:where(.nw) ul > li { list-style: disc; }
:where(.nw) ol > li { list-style: decimal; }
:where(.nw, .nwm-hdr, .nwm-ft) img { width: auto; max-width: 100%; object-fit: fill; vertical-align: middle; border-style: none; }
:where(.nw, .nwm-ft) label { display: inline; margin-bottom: 0; font-weight: inherit; }
:where(.nw, .nwm-hdr, .nwm-ft) :is(button, input, select, textarea) { font-family: inherit; font-size: 13.333px; line-height: normal; margin: 0; border-radius: 0; text-transform: none; }
:where(.nw, .nwm-hdr, .nwm-ft) button { cursor: pointer; }
:where(.nw) fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
:where(.nw) legend { width: auto; max-width: 100%; padding: 0; margin: 0; font-size: inherit; line-height: inherit; color: inherit; float: none; }
:where(.nw) figure, :where(.nw) blockquote { margin: 0; }
:where(.nw) :is(section, article, aside) { display: block; }
:where(.nw) :is(input, select, textarea):focus { box-shadow: none; }
:where(.nw, .nwm-hdr, .nwm-ft) :focus-visible { outline: 2px solid var(--nwm-blue); outline-offset: 2px; }
.nw .os, .nwm-ft .os { font-family: var(--nwm-font-body); }
.nw .cond { font-family: var(--nwm-font-cond); }
.nw .sr-only, .nwm-ft .sr-only, .nwm-hdr .sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* legacy layout wrapper: the theme wraps every page in .content-body */
.content-body.hsn > div > .nw:first-child { margin-top: 0; }

/* --------------------------------------------------------------------------
   2. Layout primitives
   -------------------------------------------------------------------------- */
.nwm-wrap { width: var(--nwm-wrap); margin: 0 auto; }

/* --------------------------------------------------------------------------
   3. Shared components (values from the design reference)
   -------------------------------------------------------------------------- */
.nwm-eyebrow {
    display: flex; align-items: center; gap: 12px; margin: 0;
    font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--nwm-navy);
}
.nwm-eyebrow:before { content: ""; width: 32px; height: 1px; background: currentColor; opacity: .7; flex: none; }
.nwm-eyebrow.is-light { color: rgba(255, 255, 255, .75); }
.nwm-sec, .nwm-h2 { font-size: 40px; font-weight: 700; letter-spacing: -.01em; margin: 14px 0 0; line-height: 1.15; }
.nwm-sub { font-family: var(--nwm-font-body); font-size: 16px; line-height: 1.55; color: var(--nwm-sub); margin: 14px 0 0; }
.nwm-p { font-family: var(--nwm-font-body); font-size: 15.5px; line-height: 1.6; color: var(--nwm-text); margin: 0; }
.nwm-lnk { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15px; color: var(--nwm-navy); }
.nw a.nwm-lnk:hover { color: var(--nwm-navy); }

.nwm-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    height: 48px; padding: 0 26px; border-radius: 999px; border: 0;
    background: var(--nwm-navy); color: #fff;
    font-family: var(--nwm-font-head); font-size: 15px; font-weight: 600; line-height: 1; white-space: nowrap; cursor: pointer;
}
.nw a.nwm-btn, .nw a.nwm-btn:hover, .nwm-ft a.nwm-btn:hover { color: #fff; }
.nwm-btn-w, .nw a.nwm-btn-w, .nw a.nwm-btn-w:hover { background: #fff; color: var(--nwm-ink); }
.nwm-btn-o, .nw a.nwm-btn-o, .nw a.nwm-btn-o:hover { background: transparent; border: 1.5px solid var(--nwm-navy); color: var(--nwm-navy); }
.nwm-btn-ow, .nw a.nwm-btn-ow, .nw a.nwm-btn-ow:hover { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .55); color: #fff; }
.nwm-btn-blue, .nw a.nwm-btn-blue { background: var(--nwm-blue); color: #fff; }
.nwm-btn[disabled], .nwm-btn.is-busy { opacity: .6; cursor: default; }

.nwm-card { background: #fff; border: 1px solid var(--nwm-border); border-radius: 12px; }
.nwm-badge {
    display: inline-flex; align-items: center; height: 22px; padding: 0 10px; border-radius: 999px;
    background: var(--nwm-navy); color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
}
.nwm-badge.is-ink { background: var(--nwm-ink); }
.nwm-badge.is-blue { background: var(--nwm-blue); }
.nwm-chip {
    font-family: var(--nwm-font-body); font-size: 12px; color: var(--nwm-text);
    border: 1px solid var(--nwm-chip-border); background: var(--nwm-chip); border-radius: 999px;
    height: 30px; padding: 0 13px; display: inline-flex; align-items: center;
}
.nwm-ico {
    width: 48px; height: 48px; border-radius: 10px; background: var(--nwm-tile); color: var(--nwm-navy);
    display: flex; align-items: center; justify-content: center; flex: none;
}
.nwm-num {
    width: 44px; height: 44px; border-radius: 50%; background: var(--nwm-navy); color: #fff;
    display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 17px; flex: none;
}
.nwm-pill {
    display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .08);
    font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #fff;
}
.nwm-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; font-family: var(--nwm-font-body); font-size: 13px; color: var(--nwm-muted); }
.nwm-crumbs a { color: var(--nwm-muted); }
.nwm-crumbs [aria-current] { color: var(--nwm-ink); }
.nwm-crumbs.is-light, .nwm-crumbs.is-light a { color: rgba(255, 255, 255, .7); }
.nwm-crumbs.is-light [aria-current] { color: #fff; }

/* forms */
.nwm-panel { background: var(--nwm-panel); border: 1px solid var(--nwm-panel-border); border-radius: 12px; padding: 44px 44px 40px; }
.nwm-fl { display: block; font-size: 14px; font-weight: 600; margin: 0 0 8px; color: var(--nwm-ink); }
.nw label.nwm-fl, .nw legend.nwm-fl { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 600; }
.nwm-fi {
    width: 100%; height: 48px; border: 1px solid var(--nwm-input-border); border-radius: 4px; background: #fff;
    padding: 0 14px; font-family: var(--nwm-font-body); font-size: 14px; color: var(--nwm-ink); line-height: normal;
}
.nw .nwm-fi { font-family: var(--nwm-font-body); font-size: 14px; }
textarea.nwm-fi { height: 120px; padding: 12px 14px; resize: none; display: block; }
select.nwm-fi { -webkit-appearance: none; appearance: none; padding-right: 38px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a8590' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center; }
.nwm-fi:focus { outline: none; border-color: var(--nwm-blue); box-shadow: 0 0 0 3px rgba(66, 142, 190, .18) !important; }
.nwm-fi.error_field, .nwm-fi.error_input { border-color: #c0392b !important; }
.nwm-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
.nwm-field-full { grid-column: 1 / -1; }
.nwm-radio { display: inline-flex; align-items: center; gap: 8px; font-family: var(--nwm-font-body); font-size: 14px; color: var(--nwm-text); margin-right: 22px; cursor: pointer; }
.nwm-radio input { width: 16px; height: 16px; accent-color: var(--nwm-navy); margin: 0; }
.nwm-check { display: flex; align-items: flex-start; gap: 10px; font-family: var(--nwm-font-body); font-size: 14px; color: var(--nwm-text); cursor: pointer; }
.nwm-check input { width: 16px; height: 16px; accent-color: var(--nwm-navy); margin: 2px 0 0; flex: none; }
.nwm-form-note { font-family: var(--nwm-font-body); font-size: 12.5px; line-height: 1.55; color: var(--nwm-muted); margin: 14px 0 0; }
.nw .field-error { font-family: var(--nwm-font-body); font-size: 12.5px; color: #c0392b; margin-top: 6px; min-height: 0; }
.nw .field-error:empty { display: none; }
.nwm-req { color: inherit; }

/* accordion (FAQ, boat detail, policies) */
.nwm-acc { border-top: 1px solid var(--nwm-border); }
.nwm-acc:last-child { border-bottom: 1px solid var(--nwm-border); }
.nwm-acc-btn {
    width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px;
    padding: 22px 0; background: none; border: 0; text-align: left;
    font-family: var(--nwm-font-head); font-size: 18px; font-weight: 600; color: var(--nwm-ink); cursor: pointer;
}
.nwm-acc-sign {
    width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--nwm-chip-border); flex: none;
    display: flex; align-items: center; justify-content: center; color: var(--nwm-navy); font-size: 18px; line-height: 1;
    transition: background .15s, color .15s;
}
.nwm-acc-btn[aria-expanded="true"] .nwm-acc-sign { background: var(--nwm-navy); border-color: var(--nwm-navy); color: #fff; }
.nwm-acc-btn .nwm-chev { transition: transform .2s; }
.nwm-acc-btn[aria-expanded="true"] .nwm-chev { transform: rotate(180deg); }
.nwm-acc-panel { padding: 0 0 24px; font-family: var(--nwm-font-body); font-size: 15px; line-height: 1.65; color: var(--nwm-text); }
.nwm-acc-panel[hidden] { display: none; }

/* tabs */
.nwm-tabs { display: flex; flex-wrap: wrap; gap: 10px; }
.nwm-tab {
    height: 40px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--nwm-chip-border); background: #fff;
    font-family: var(--nwm-font-head); font-size: 14px; font-weight: 600; color: var(--nwm-text); cursor: pointer;
}
.nwm-tab[aria-selected="true"], .nwm-tab.is-active { background: var(--nwm-navy); border-color: var(--nwm-navy); color: #fff; }

/* media helpers */
.nwm-cover { display: block; width: 100%; height: 100%; object-fit: cover; }
.nw img.nwm-cover { width: 100%; object-fit: cover; }
.nwm-video-btn {
    position: absolute; inset: 0; margin: auto; width: 112px; height: 112px; border-radius: 50%; border: 0;
    background: rgba(255, 255, 255, .92); color: var(--nwm-navy); display: flex; align-items: center; justify-content: center; cursor: pointer;
}

/* --------------------------------------------------------------------------
   4. Responsive rules (ported from the design boards; they key off the
      inline-style layout used in the redesigned templates)
   -------------------------------------------------------------------------- */
@media (max-width: 1280px) {
    .nw [style*="grid-template-columns"]:not([style*="repeat(7"]):not([data-keep-grid]) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .nw [style*="grid-column"] { grid-column: 1 / -1 !important; }
    .nw [style*="grid-template-rows"] { grid-template-rows: none !important; grid-auto-rows: 260px; }
    .nw [style*="grid-row"] { grid-row: auto !important; }
    .nw [style*="justify-content: space-between"] { flex-wrap: wrap; gap: 24px; }
    .nw [style*="font-size: 5"], .nw [style*="font-size: 6"] { font-size: clamp(36px, 5.2vw, 56px) !important; line-height: 1.08 !important; }
}
@media (max-width: 900px) {
    .nw section { height: auto !important; }
    .nw section[style*="height: 6"] { min-height: 540px; padding-bottom: 64px !important; }
    .nw section[style*="height: 7"] { min-height: 680px; }
    .nw .nwm-wrap[style*="height"] { height: auto !important; padding-top: 28px; padding-bottom: 28px; }
    .nw section[style*="padding: 1"] { padding-top: 72px !important; padding-bottom: 72px !important; }
    .nw [style*="display: flex"] { flex-wrap: wrap; }
    .nw [style*="grid-template-columns"][style*="px"]:not([style*="repeat(7"]):not([data-keep-grid]) { grid-template-columns: minmax(0, 1fr) !important; }
    .nw aside { width: 100% !important; }
    .nw article[style*="display: flex"] { flex-direction: column; height: auto !important; }
    .nw article[style*="display: flex"] > div { width: 100% !important; }
    .nw h2, .nw .nwm-h2, .nw .nwm-sec, .nw [style*="font-size: 4"] { font-size: 30px !important; line-height: 1.18 !important; }
    .nw [style*="position: absolute"][style*="left: -"], .nw [style*="position: absolute"][style*="right: -"] { left: 12px !important; right: auto !important; }
    .nwm-panel { padding: 32px 28px; }
}
@media (max-width: 640px) {
    .nwm-wrap, .nw .nwm-wrap { width: calc(100% - 40px) !important; }
    .nw [style*="grid-template-columns"]:not([style*="repeat(7"]):not([data-keep-grid]) { grid-template-columns: minmax(0, 1fr) !important; }
    .nw [style*="padding: 4"], .nw [style*="padding: 5"], .nw [style*="padding: 6"] { padding-left: 22px !important; padding-right: 22px !important; }
    .nw [style*="font-size: 3"] { font-size: 26px !important; line-height: 1.2 !important; }
    .nwm-grid-2 { grid-template-columns: minmax(0, 1fr); }
    .nwm-panel { padding: 28px 22px; }
}

/* ==========================================================================
   5. Global header + mega menus (SiteHeader / Menu* boards)
   ========================================================================== */
.nwm-hdr { position: relative; z-index: 1000; width: 100%; color: #fff; }
.nwm-hdr-bar { background: var(--nwm-ink); height: 64px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.nwm-hdr-in { width: var(--nwm-wrap); margin: 0 auto; height: 64px; display: flex; align-items: center; justify-content: space-between; }
.nwm-hdr-logo { display: block; }
.nw img.nwm-hdr-logo-img, .nwm-hdr img.nwm-hdr-logo-img { width: 231px; height: 50px; display: block; }
.nwm-hdr-nav { display: flex; align-items: center; gap: 40px; height: 64px; }
.nwm-hdr-item {
    height: 64px; display: flex; align-items: center; gap: 6px; padding: 3px 0 0; margin: 0;
    border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: none; color: #fff;
    font: 600 15px var(--nwm-font-head); cursor: pointer; white-space: nowrap;
}
.nwm-hdr a.nwm-hdr-item:hover { color: #fff; opacity: 1; }
.nwm-hdr-item svg { transition: transform .2s; }
.nwm-hdr-item.is-active, .nwm-hdr-item.is-open, .nwm-hdr a.nwm-hdr-item.is-active:hover { color: var(--nwm-blue); border-bottom-color: var(--nwm-blue); }
.nwm-hdr-item.is-open svg { transform: rotate(180deg); }
.nwm-hdr-phone, .nwm-hdr a.nwm-hdr-phone:hover { color: var(--nwm-blue); font-size: 20px; font-weight: 500; white-space: nowrap; }
.nwm-hdr-tools { display: flex; align-items: center; gap: 4px; }
.nwm-hdr-call, .nwm-hdr a.nwm-hdr-call:hover { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--nwm-blue); }
.nwm-hdr-burger { display: none; width: 44px; height: 44px; border: 0; background: none; color: #fff; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.nwm-hdr-burger .nwm-ic-close { display: none; }
.nwm-hdr.is-mob-open .nwm-hdr-burger .nwm-ic-close { display: block; }
.nwm-hdr.is-mob-open .nwm-hdr-burger .nwm-ic-open { display: none; }

.nwm-mega {
    position: absolute; left: 0; right: 0; top: 64px; z-index: 1000;
    background: var(--nwm-ink-2); border-top: 1px solid rgba(255, 255, 255, .06); box-shadow: 0 24px 48px rgba(0, 0, 0, .35);
    color: #fff; font-family: var(--nwm-font-head);
}
.nwm-mega[hidden] { display: none; }
.nwm-mm-in { width: var(--nwm-wrap); margin: 0 auto; display: flex; flex-wrap: nowrap; padding: 34px 0 40px; }
.nwm-mm-side { width: 232px; flex: none; }
.nwm-mm-div { width: 1px; background: rgba(255, 255, 255, .12); margin: -8px 32px 0; flex: none; }
.nwm-mm-main { flex: 1; min-width: 0; }
.nwm-mk { display: flex; align-items: center; gap: 12px; font-size: 11.5px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; color: #a3a9af; margin: 0; }
.nwm-mk:before { content: ""; width: 24px; height: 1px; background: var(--nwm-blue); }
.nwm-mm-head { display: flex; justify-content: space-between; align-items: center; }
.nwm-mm-head span { font-size: 12px; color: #a3a9af; }
.nwm-ql { display: flex; align-items: center; justify-content: space-between; height: 48px; border-bottom: 1px solid rgba(255, 255, 255, .1); font-family: var(--nwm-font-cond); font-size: 23px; font-weight: 500; }
.nwm-hdr a.nwm-ql:hover, .nwm-hdr a.nwm-it:hover { color: var(--nwm-blue-200); opacity: 1; }
.nwm-mm-brands { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.nwm-bc { position: relative; display: block; height: 300px; border-radius: 10px; overflow: hidden; background-size: cover; background-position: center; }
.nwm-hdr a.nwm-bc:hover { opacity: .9; color: #fff; }
.nwm-bc-in { position: absolute; left: 16px; right: 16px; bottom: 16px; }
.nwm-hdr img.nwm-bc-logo { width: auto; display: block; object-fit: contain; object-position: left; }
.nwm-bc-tag { font-size: 11px; letter-spacing: .03em; color: rgba(255, 255, 255, .75); }
.nwm-bc-cta { margin-top: 10px; font-size: 14px; font-weight: 600; }
.nwm-wm { font-family: var(--nwm-font-cond); font-size: 22px; line-height: 1; font-weight: 600; letter-spacing: .18em; margin-bottom: 12px; }
.nwm-mm-title { font-family: var(--nwm-font-cond); margin: 22px 0 0; font-size: 35px; line-height: 1.12; font-weight: 600; }
.nwm-mm-lead { margin: 22px 0 0; font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, .72); }
.nwm-mm-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.nwm-it { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 1px solid rgba(255, 255, 255, .12); padding: 22px 0; }
.nwm-it b { display: block; font-family: var(--nwm-font-cond); font-size: 24px; font-weight: 500; }
.nwm-it span { display: block; font-size: 13px; color: rgba(255, 255, 255, .68); margin-top: 8px; }

.nwm-mob {
    position: absolute; left: 0; right: 0; top: 64px; z-index: 1000; background: var(--nwm-ink);
    max-height: calc(100vh - 64px); overflow-y: auto; border-top: 1px solid rgba(255, 255, 255, .08); padding: 8px 20px 28px;
}
.nwm-mob[hidden] { display: none; }
.nwm-mob-sec { border-bottom: 1px solid rgba(255, 255, 255, .1); }
.nwm-mob-btn, .nwm-hdr a.nwm-mob-btn:hover {
    width: 100%; display: flex; justify-content: space-between; align-items: center; height: 58px; padding: 0; margin: 0;
    background: none; border: 0; color: #fff; font: 600 18px var(--nwm-font-head); cursor: pointer; text-align: left;
}
.nwm-mob-sign { font-size: 22px; color: var(--nwm-blue); }
.nwm-mob-sub { padding-bottom: 12px; }
.nwm-mob-sub[hidden] { display: none; }
.nwm-mob-sub a, .nwm-hdr .nwm-mob-sub a:hover { display: block; padding: 11px 0 11px 14px; font-size: 16px; color: rgba(255, 255, 255, .8); font-family: var(--nwm-font-body); }
.nwm-mob-call, .nwm-hdr a.nwm-mob-call:hover {
    display: flex; align-items: center; justify-content: center; gap: 10px; height: 52px; margin-top: 24px;
    border-radius: 999px; background: var(--nwm-blue); color: #fff; font-weight: 600; font-size: 16px;
}
.nwm-mob-note { margin: 16px 0 0; text-align: center; font-family: var(--nwm-font-body); font-size: 13px; color: rgba(255, 255, 255, .6); }

@media (max-width: 1180px) {
    .nwm-hdr-nav { gap: 26px; }
    .nwm-hdr-phone { display: none !important; }
    .nwm-mm-brands { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nwm-bc { height: 180px; }
}
@media (max-width: 1023px) {
    .nwm-hdr-nav { display: none; }
    .nwm-hdr-burger { display: flex; }
    .nwm-hdr .nwm-hdr-call { display: flex; }
    .nwm-mega { display: none !important; }
}
@media (max-width: 640px) {
    .nwm-hdr-in { width: calc(100% - 32px); }
    .nw img.nwm-hdr-logo-img, .nwm-hdr img.nwm-hdr-logo-img { width: 185px; height: 40px; }
}

/* ==========================================================================
   6. Global footer (SiteFooter board)
   ========================================================================== */
.nwm-ft { width: 100%; color: #fff; font-family: var(--nwm-font-body); }
.nwm-ft-strip { background: var(--nwm-bg-alt); border-top: 1px solid #e3e5e8; height: 82px; display: flex; align-items: center; }
.nwm-ft-strip div { width: min(1400px, calc(100% - 40px)); margin: 0 auto; font-size: 12px; letter-spacing: .1em; color: var(--nwm-meta); }
.nwm-ft footer { background: var(--nwm-navy); padding: 0; margin: 0; }
.nwm-ft-in { width: min(1440px, calc(100% - 40px)); margin: 0 auto; padding: 78px 0 0; }
.nwm-ft-grid { display: grid; grid-template-columns: 410px 220px 220px 250px 1fr; }
.nwm-ft img.nwm-ft-logo { width: 248px; height: 54px; display: block; }
.nwm-ft-phone, .nwm-ft a.nwm-ft-phone:hover { display: block; margin-top: 34px; font-size: 28px; font-weight: 700; color: #fff; font-family: var(--nwm-font-body); }
.nwm-ft-addr { display: flex; gap: 6px; margin-top: 18px; font-size: 14px; line-height: 1.45; color: rgba(255, 255, 255, .92); }
.nwm-ft-addr + .nwm-ft-addr { margin-top: 14px; }
.nwm-ft-addr svg { flex: none; }
.nwm-ft-hours { margin: 14px 0 0 22px; font-size: 14px; color: rgba(255, 255, 255, .92); }
.nwm-ft-head { font-size: 16px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .8); margin: 0 0 22px; font-weight: 400; }
.nwm-ft-links { display: flex; flex-direction: column; gap: 13px; font-size: 16px; }
.nwm-ft-links a, .nwm-ft .nwm-ft-links a:hover { color: rgba(255, 255, 255, .92); }
.nwm-ft-nl input.nwm-ft-input {
    box-sizing: border-box; width: 340px; height: 48px; border: 1px solid rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .04);
    border-radius: 3px; padding: 0 12px; font: 15px var(--nwm-font-body); color: #fff; display: block;
}
.nwm-ft-nl input.nwm-ft-input::placeholder { color: rgba(255, 255, 255, .7); }
.nwm-ft-nl input.nwm-ft-input.error_field { border-color: #ff8a80 !important; }
.nwm-ft-nl .field-error { font-size: 12.5px; color: #ffd2cc; margin-top: 6px; }
.nwm-ft-nl .field-error:empty { display: none; }
.nwm-ft-sub {
    display: inline-flex; align-items: center; margin-top: 16px; height: 48px; padding: 0 16px; border: 0; border-radius: 3px;
    background: var(--nwm-ink); color: #fff; font: 700 13px var(--nwm-font-body); letter-spacing: .08em; cursor: pointer;
}
.nwm-ft-social { display: flex; gap: 16px; margin-top: 22px; }
.nwm-ft-social a { width: 36px; height: 36px; border: 1px solid rgba(255, 255, 255, .45); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.nwm-ft-bot { margin-top: 60px; border-top: 1px solid rgba(255, 255, 255, .18); height: 116px; display: flex; align-items: center; justify-content: space-between; font-size: 14px; color: rgba(255, 255, 255, .85); }
.nwm-ft-recaptcha { font-size: 12px; color: rgba(255, 255, 255, .6); text-align: center; padding: 0 20px 18px; margin: 0; }
.nwm-ft-recaptcha a { text-decoration: underline !important; }
.nwm-ft-legal { background: var(--nwm-navy-800); min-height: 60px; display: flex; align-items: center; justify-content: center; font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #fff; text-align: center; padding: 0 20px; }
.nwm-ft-legal a, .nwm-ft .nwm-ft-legal a:hover { color: inherit; }
@media (max-width: 1180px) {
    .nwm-ft-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 44px; }
    .nwm-ft-grid > div:first-child, .nwm-ft-grid > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .nwm-ft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nwm-ft-nl input.nwm-ft-input { width: 100%; }
    .nwm-ft-bot { flex-direction: column; justify-content: center; gap: 10px; height: auto; padding: 28px 0; text-align: center; }
    .nwm-ft-legal { height: auto; padding: 16px 20px; line-height: 1.6; }
}

/* ==========================================================================
   7. Motion preferences
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .nw *, .nwm-hdr *, .nwm-ft * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Page: inventory (also shared boat cards) ---------- */
/* ==========================================================================
   Inventory listing (Inventory board) + the shared boat card (.nwm-bcard).
   The card is also used on the boat detail pages (similar boats), so its rules
   are scoped to .nw (not .nw-inventory). Loaded by boats.hbs, boat_detail.hbs
   and boat_detail_sold.hbs.
   ========================================================================== */

/* ---------------------------------------------------------------- header */
.nw-inventory .nwm-inv-crumbs { display: flex; align-items: center; gap: 12px; font-size: 12px; color: #6b7580; }
.nw-inventory .nwm-inv-crumbs a { color: #6b7580; }
.nw-inventory .nwm-inv-eyebrow { letter-spacing: .06em; }
.nw-inventory .nwm-inv-h1 { margin: 14px 0 0; font-size: 50px; line-height: 1.1; font-weight: 600; letter-spacing: -.01em; }
.nw-inventory .nwm-inv-intro { margin: 14px 0 0; font-size: 16px; color: #6b7580; max-width: 720px; }
.nw-inventory .nwm-inv-help { text-align: right; padding-bottom: 6px; flex: none; }
.nw-inventory .nwm-inv-pill, .nw-inventory a.nwm-inv-pill:hover {
    margin-top: 12px; display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 18px;
    border: 1.5px solid var(--nwm-navy); border-radius: 999px; color: var(--nwm-navy); font-size: 14px; font-weight: 600;
}

/* ---------------------------------------------------------------- layout */
.nw-inventory .nwm-inv-layout { display: flex; gap: 32px; align-items: flex-start; }
.nw-inventory .nwm-inv-aside { width: 300px; flex: none; }
.nw-inventory .nwm-inv-results { flex: 1; min-width: 0; }

/* ---------------------------------------------------------------- filters */
.nw-inventory .nwm-inv-panel { background: #fff; border: 1px solid var(--nwm-border); border-radius: 10px; padding: 18px 20px 4px; }
.nw-inventory .nwm-inv-panel-head { display: flex; align-items: center; justify-content: space-between; padding: 4px 0 16px; }
.nw-inventory .nwm-inv-panel-head h2 { margin: 0; font-size: 19px; font-weight: 600; }
.nw-inventory .nwm-inv-panel-head a { font-size: 11.5px; font-weight: 600; color: var(--nwm-navy); }
.nw-inventory .nwm-fsec { border-top: 1px solid var(--nwm-border); padding: 18px 0 20px; }
.nw-inventory .nwm-fsec-search { border-top: 0; padding-top: 0; }
.nw-inventory .nwm-fsec[hidden] { display: none; }
.nw-inventory .nwm-fh { display: flex; align-items: center; justify-content: space-between; font-size: 14px; font-weight: 600; margin: 0; cursor: pointer; list-style: none; color: var(--nwm-ink); }
.nw-inventory label.nwm-fh { display: flex; margin: 0 0 14px; cursor: default; font-size: 14px; }
.nw-inventory summary.nwm-fh::-webkit-details-marker { display: none; }
.nw-inventory details[open] > summary.nwm-fh { margin-bottom: 14px; }
.nw-inventory summary.nwm-fh .nwm-chev { transition: transform .2s; transform: rotate(180deg); }
.nw-inventory details[open] > summary.nwm-fh .nwm-chev { transform: none; }
.nw-inventory .nwm-inv-search { display: flex; align-items: center; height: 40px; border: 1px solid var(--nwm-chip-border); border-radius: 4px; padding: 0 4px 0 12px; background: #fff; }
.nw-inventory .nwm-inv-search:focus-within { border-color: var(--nwm-blue); }
.nw-inventory .nwm-inv-search input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 0; height: 38px; font: 13px var(--nwm-font-body); color: var(--nwm-ink); background: transparent; }
.nw-inventory .nwm-inv-search input::placeholder { color: #7a8590; }
.nw-inventory .nwm-inv-search-go { width: 34px; height: 34px; border: 0; background: none; display: flex; align-items: center; justify-content: center; padding: 0; }
.nw-inventory .nwm-opts-scroll { max-height: 224px; overflow-y: auto; padding-right: 4px; }
.nw-inventory .nwm-opt {
    display: flex; align-items: center; gap: 12px; min-height: 32px; margin: 0;
    font-family: var(--nwm-font-body); font-size: 13.5px; color: var(--nwm-text); cursor: pointer;
}
.nw-inventory .nwm-opt-n { margin-left: auto; color: var(--nwm-meta); font-size: 12px; }
.nw-inventory input.nwm-cb {
    width: 15px; height: 15px; flex: none; margin: 0; border: 1px solid #c9ced3; border-radius: 3px; background: #fff;
    -webkit-appearance: none; appearance: none; display: inline-grid; place-content: center; cursor: pointer;
}
.nw-inventory input.nwm-cb:checked { background: var(--nwm-navy); border-color: var(--nwm-navy); }
.nw-inventory input.nwm-cb:checked::after {
    content: ""; width: 9px; height: 5px; border: solid #fff; border-width: 0 0 2px 2px; transform: translateY(-1px) rotate(-45deg);
}

/* jQuery UI range sliders, restyled as the board's range control */
.nw-inventory .nwm-range-out { width: 100%; border: 0 !important; padding: 0; height: auto; background: none; font-size: 13px; font-weight: 600; color: var(--nwm-ink); text-align: left; }
.nw-inventory .nwm-range-vals { display: none; }
.nw-inventory .nwm-slider.ui-slider { position: relative; height: 4px; margin: 18px 8px 6px; border: 0; border-radius: 4px; background: #dfe4e8; }
.nw-inventory .nwm-slider .ui-slider-range { position: absolute; top: 0; height: 100%; border-radius: 4px; background: var(--nwm-navy); border: 0; }
.nw-inventory .nwm-slider .ui-slider-handle {
    position: absolute; top: -7px; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%;
    border: 2px solid var(--nwm-navy) !important; background: #fff !important; cursor: grab; outline: none; box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
}
.nw-inventory .nwm-slider .ui-slider-handle:focus-visible { box-shadow: 0 0 0 3px rgba(66, 142, 190, .35); }

.nw-inventory .nwm-inv-drawer-bar, .nw-inventory .nwm-inv-drawer-done, .nw-inventory .nwm-inv-filter-btn { display: none; }

/* navy CTA card */
.nw-inventory .nwm-inv-cta { margin-top: 24px; background: var(--nwm-navy); border-radius: 10px; padding: 34px 24px 32px; color: #fff; }
.nw-inventory .nwm-inv-cta h3 { margin: 20px 0 0; font-size: 22px; font-weight: 600; }
.nw-inventory .nwm-inv-cta p { margin: 14px 0 0; font-size: 13px; line-height: 1.55; color: rgba(255, 255, 255, .75); }
.nw-inventory .nwm-inv-cta-phone, .nw-inventory a.nwm-inv-cta-phone:hover { display: block; margin-top: 16px; font-size: 17px; font-weight: 600; color: #fff; }
.nw-inventory .nwm-inv-cta-link, .nw-inventory a.nwm-inv-cta-link:hover { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; font-size: 13px; font-weight: 600; color: #fff; }

/* ---------------------------------------------------------------- results bar */
.nw-inventory .nwm-inv-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.nw-inventory .nwm-inv-count { margin: 0; font-size: 22px; font-weight: 600; }
.nw-inventory .nwm-inv-tools { display: flex; align-items: center; gap: 12px; }
.nw-inventory .nwm-inv-sortlbl { font-size: 12px; color: var(--nwm-meta); }
.nw-inventory select.nwm-inv-sort { width: 230px; height: 40px; font-size: 13px; color: var(--nwm-text); border-color: var(--nwm-chip-border); }
.nw-inventory .nwm-inv-view { display: inline-flex; border: 1px solid var(--nwm-chip-border); border-radius: 4px; overflow: hidden; background: #fff; }
.nw-inventory .toggleViewBtn { width: 40px; height: 38px; border: 0; background: #fff; color: var(--nwm-muted); display: flex; align-items: center; justify-content: center; padding: 0; }
.nw-inventory .toggleViewBtn + .toggleViewBtn { border-left: 1px solid var(--nwm-chip-border); }
.nw-inventory .toggleViewBtn.active { background: var(--nwm-navy); color: #fff; }

/* active-filter chips (li markup is written by custom.js update_boat_filter) */
.nw-inventory .nwm-inv-chips { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; margin-top: 20px; }
.nw-inventory .nwm-inv-chips:has(.youSearchList:empty) { margin-top: 0; }
.nw-inventory ul.youSearchList { display: contents; margin: 0; padding: 0; }
.nw-inventory .youSearchList li {
    list-style: none; display: inline-flex; align-items: center; gap: 12px; height: 28px; padding: 0 12px; margin: 0;
    background: var(--nwm-tile); border-radius: 4px; font-family: var(--nwm-font-body); font-size: 12px; color: var(--nwm-navy);
}
.nw-inventory .youSearchList li span { text-transform: capitalize; float: none !important; }
.nw-inventory .youSearchList li strong { font-weight: 600; }
.nw-inventory .youSearchList .closX { cursor: pointer; font-size: 0; width: 10px; height: 10px; display: inline-block;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23224966' stroke-width='3.5'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / 10px no-repeat; }
.nw-inventory .nwm-inv-clear { font-size: 12px; color: var(--nwm-navy); }
.nw-inventory .nwm-inv-clear[hidden] { display: none; }

.nw-inventory .nwm-inv-empty { margin-top: 22px; background: #fff; border: 1px solid var(--nwm-border); border-radius: 10px; padding: 40px 32px; text-align: center; }
.nw-inventory .nwm-inv-empty h3 { margin: 0; font-size: 22px; font-weight: 600; }
.nw-inventory .nwm-inv-empty p { margin: 12px 0 0; font-size: 14px; color: var(--nwm-sub); }
.nw-inventory .nwm-inv-empty a { color: var(--nwm-navy); text-decoration: underline; }

.nw-inventory .nwm-inv-more { display: flex; justify-content: center; margin-top: 32px; }
.nw-inventory .nwm-inv-more:empty { display: none; }
.nw-inventory .nwm-inv-disc { margin: 26px 0 0; font-size: 11px; color: var(--nwm-meta); }

/* ==========================================================================
   Boat card (.nwm-bcard) — list (default) and grid variants
   ========================================================================== */
.nw .nwm-bcards { display: flex; flex-direction: column; gap: 22px; margin-top: 22px; }
.nw .nwm-bcard { display: flex; min-height: 264px; background: #fff; border: 1px solid var(--nwm-border); border-radius: 10px; overflow: hidden; }
.nw .nwm-bcard-media { position: relative; display: block; width: 380px; flex: none; background: #c8d2da; min-height: 240px; }
.nw a.nwm-bcard-media:hover { opacity: 1; }
.nw .nwm-bcard-media img.nwm-cover { position: absolute; inset: 0; height: 100%; }
.nw .nwm-bcard-badges { position: absolute; top: 14px; left: 14px; right: 14px; display: flex; flex-wrap: wrap; gap: 6px; }
.nw .nwm-bcard-photos { position: absolute; left: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 9px; border-radius: 4px; background: rgba(20, 22, 26, .6); color: #fff; font-size: 11px; }
.nw .nwm-bcard-body { flex: 1; min-width: 0; padding: 22px; display: flex; flex-direction: column; }
.nw .nwm-bcard-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.nw .nwm-bcard-kicker { font-size: 10.5px; letter-spacing: .08em; color: var(--nwm-muted); text-transform: uppercase; }
.nw .nwm-bcard-title { margin: 4px 0 0; font-size: 25px; line-height: 1.2; font-weight: 600; letter-spacing: -.005em; }
.nw .nwm-bcard-price { text-align: right; flex: none; }
.nw .nwm-bcard-amt { font-size: 25px; font-weight: 700; color: var(--nwm-navy); white-space: nowrap; }
.nw .nwm-bcard-mo, .nw .nwm-bcard-stock { font-size: 10.5px; color: var(--nwm-meta); margin-top: 2px; }
.nw .nwm-bcard-mo { color: var(--nwm-text-2); font-size: 11.5px; }
.nw .nwm-bcard-specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 14px; column-gap: 12px; margin: 18px 0 0; }
.nw .nwm-bcard-specs:empty { display: none; }
.nw .nwm-bcard-specs dt { font-size: 10.5px; font-weight: 400; color: var(--nwm-meta); }
.nw .nwm-bcard-specs dd { margin: 2px 0 0; font-size: 14px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nw .nwm-bcard-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-top: auto; padding-top: 18px; }
.nw .nwm-bcard-desc {
    margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--nwm-sub); max-width: 460px;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.nw .nwm-bcard-ctas { display: flex; align-items: center; gap: 18px; flex: none; margin-left: auto; }
.nw .nwm-bcard-fin, .nw a.nwm-bcard-fin:hover { font-size: 13px; font-weight: 600; color: var(--nwm-navy); text-decoration: underline; text-underline-offset: 3px; }
.nw .nwm-bcard-btn { height: 40px; padding: 0 20px; font-size: 14px; }

/* grid variant (toggle + similar boats) */
.nw .nwm-bcards.is-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.nw .nwm-bcards.is-grid .nwm-bcard { flex-direction: column; min-height: 0; }
.nw .nwm-bcards.is-grid .nwm-bcard-media { width: 100%; height: 240px; min-height: 0; }
.nw .nwm-bcards.is-grid .nwm-bcard-body { padding: 24px 22px 22px; }
.nw .nwm-bcards.is-grid .nwm-bcard-top { flex-direction: column; gap: 10px; }
.nw .nwm-bcards.is-grid .nwm-bcard-title { font-size: 22px; }
.nw .nwm-bcards.is-grid .nwm-bcard-price { text-align: left; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.nw .nwm-bcards.is-grid .nwm-bcard-amt { font-size: 22px; }
.nw .nwm-bcards.is-grid .nwm-bcard-specs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nw .nwm-bcards.is-grid .nwm-bcard-specs > div:nth-child(n+4) { display: none; }
.nw .nwm-bcards.is-grid .nwm-bcard-desc { display: none; }
.nw .nwm-bcards.is-grid .nwm-bcard-foot { padding-top: 22px; }
.nw .nwm-bcards.is-grid .nwm-bcard-ctas { width: 100%; justify-content: space-between; }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 1500px) {
    .nw-inventory .nwm-bcards.is-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1280px) {
    .nw .nwm-bcard-media { width: 320px; }
    .nw .nwm-bcard-specs { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
    .nw .nwm-bcards.is-grid .nwm-bcard-specs { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .nw .nwm-bcard-foot { flex-direction: column; align-items: stretch; gap: 16px; }
    .nw .nwm-bcard-desc { max-width: none; }
    .nw-inventory .nwm-inv-h1 { font-size: clamp(36px, 5vw, 50px); }
}
@media (max-width: 1100px) {
    .nw .nwm-bcard { flex-direction: column; }
    .nw .nwm-bcard-media { width: 100%; height: 260px; min-height: 0; }
    .nw-inventory .nwm-bcards.is-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .nw-inventory .nwm-inv-head { flex-direction: column; align-items: flex-start !important; gap: 20px; }
    .nw-inventory .nwm-inv-help { text-align: left; }
    .nw-inventory .nwm-inv-h1 { font-size: 36px; }
    .nw-inventory .nwm-inv-layout { display: block; }
    /* filter drawer */
    .nw-inventory .nwm-inv-aside {
        position: fixed; top: 0; bottom: 0; left: 0; z-index: 1100; width: min(360px, 88vw) !important; max-width: none;
        background: #f5f5f5; overflow-y: auto; transform: translateX(-100%); transition: transform .25s; padding: 0 16px 24px;
        visibility: hidden;
    }
    .nw-inventory .nwm-inv-aside.is-open { transform: none; visibility: visible; box-shadow: 0 0 40px rgba(0, 0, 0, .25); }
    .nw-inventory .nwm-inv-scrim { position: fixed; inset: 0; z-index: 1090; background: rgba(20, 22, 26, .45); }
    .nw-inventory .nwm-inv-scrim[hidden] { display: none; }
    .nw-inventory .nwm-inv-drawer-bar { max-width: none; position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; height: 60px; margin: 0 -16px 12px; padding: 0 16px; background: #fff; border-bottom: 1px solid var(--nwm-border); font-size: 18px; font-weight: 600; }
    .nw-inventory .nwm-inv-drawer-close { width: 40px; height: 40px; border: 0; background: none; display: flex; align-items: center; justify-content: center; padding: 0; color: var(--nwm-ink); }
    .nw-inventory .nwm-inv-panel-head h2 { display: none; }
    .nw-inventory .nwm-inv-drawer-done { display: flex; width: 100%; margin: 6px 0 18px; }
    .nw-inventory .nwm-inv-filter-btn {
        display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border: 1.5px solid var(--nwm-navy);
        border-radius: 999px; background: #fff; color: var(--nwm-navy); font: 600 14px var(--nwm-font-head);
    }
    .nw-inventory .nwm-inv-tools { flex-wrap: wrap; width: 100%; }
    .nw-inventory .nwm-inv-sortlbl { margin-left: auto; }
    .nw-inventory select.nwm-inv-sort { width: 200px; }
}
@media (max-width: 640px) {
    .nw .nwm-bcard-specs, .nw .nwm-bcards .nwm-bcard-specs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .nw .nwm-bcards.is-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .nw .nwm-bcard-top { flex-direction: column; gap: 10px; }
    .nw .nwm-bcard-price { text-align: left; }
    .nw .nwm-bcard-title { font-size: 21px; }
    .nw .nwm-bcard-media, .nw .nwm-bcards.is-grid .nwm-bcard-media { height: 220px; }
    .nw .nwm-bcard-ctas { justify-content: space-between; margin-left: 0; }
    .nw-inventory .nwm-inv-h1 { font-size: 32px; }
    .nw-inventory .nwm-inv-sortlbl { display: none; }
    .nw-inventory .nwm-inv-tools { gap: 10px; }
    .nw-inventory select.nwm-inv-sort { flex: 1; width: auto; min-width: 0; }
    .nw-inventory .nwm-inv-filter-btn { order: -1; }
}

/* ---------- Page: about ---------- */
/* About & Meet Our Team (About board) — page-scoped */
.nw-about .nwm-p { font-size: 16px; line-height: 1.65; }
.nw-about a.nwm-ab-inl { color: #224966; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.nw-about .nwm-ab-shop { text-transform: none; }
.nw-about .nwm-ab-yr { font-size: 52px; font-weight: 700; color: #224966; line-height: 1; }
.nw-about .nwm-ab-ico { width: 52px; height: 52px; border-radius: 12px; }

/* team */
.nw-about #team { position: relative; scroll-margin-top: 80px; }
.nw-about .nwm-ab-anchor { position: absolute; top: 0; left: 0; width: 1px; height: 1px; }
.nw-about ul.nwm-ab-team { list-style: none; padding: 0; margin-bottom: 0; }
.nw-about ul.nwm-ab-team > li { list-style: none; }
.nw-about .nwm-ab-tm { text-align: center; padding: 30px 20px 28px; display: flex; flex-direction: column; align-items: center; }
.nw-about .nwm-ab-av {
    width: 120px; height: 120px; border-radius: 50%; margin: 0 auto; display: flex; align-items: center; justify-content: center;
    font-size: 34px; font-weight: 600; overflow: hidden; background: #e7eef4; color: #224966; flex: none;
}
.nw-about .nwm-ab-av img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; display: block; }
.nw-about .nwm-ab-name { font-size: 18px; font-weight: 600; margin: 20px 0 0; line-height: 1.3; }
.nw-about .nwm-ab-role { font-size: 13.5px; color: #7a8590; margin-top: 4px; line-height: 1.4; }
.nw-about a.nwm-ab-ct { display: block; font-size: 12.5px; color: #5a636c; margin-top: 6px; word-break: break-word; }
.nw-about a.nwm-ab-ct + a.nwm-ab-ct { margin-top: 2px; }
.nw-about a.nwm-ab-ct:hover { color: #224966; }
.nw-about .nwm-ab-bio { margin-top: 14px; width: 100%; text-align: left; }
.nw-about .nwm-ab-bio summary {
    cursor: pointer; list-style: none; text-align: center; font-size: 13px; font-weight: 600; color: #224966;
}
.nw-about .nwm-ab-bio summary::-webkit-details-marker { display: none; }
.nw-about .nwm-ab-bio summary:after { content: " +"; }
.nw-about .nwm-ab-bio[open] summary:after { content: " −"; }
.nw-about .nwm-ab-bio p { margin: 10px 0 0; font-size: 13.5px; line-height: 1.6; color: #3a4148; white-space: pre-line; }
.nw-about .nwm-ab-empty { margin: 40px 0 0; font-size: 15px; color: #6b7580; }

/* board responsive rules (grids carry data-keep-grid, so they are handled here) */
@media (max-width: 1280px) {
    .nw-about .nwm-ab-team[style] { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
    .nw-about .nwm-ab-vals[style] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .nw-about .nwm-ab-story-grid[style] { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) !important; gap: 60px !important; }
    .nw-about h1[style*="font-size: 6"] { font-size: clamp(40px, 5.6vw, 68px) !important; line-height: 1.02 !important; }
}
@media (max-width: 900px) {
    .nw-about .nwm-ab-story-grid[style], .nw-about .nwm-ab-tl[style] { grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; }
    .nw-about .nwm-ab-tl > div[style] { padding: 28px 0 0 !important; border-right: 0 !important; }
    .nw-about .nwm-ab-team[style] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .nw-about [style*="width: 580px"], .nw-about [style*="width: 460px"] { width: auto !important; }
}
@media (max-width: 640px) {
    .nw-about .nwm-ab-vals[style] { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-about .nwm-ab-team[style] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
    .nw-about .nwm-ab-av { width: 88px; height: 88px; font-size: 26px; }
    .nw-about .nwm-ab-tm { padding: 24px 12px 22px; }
}

/* ---------- Page: blog-article ---------- */
/* Blog article (board BlogArticle.dc.html) — scoped to .nw-blog-article */
.nw-blog-article > header > div { width: min(980px, calc(100% - 64px)) !important; }
.nw-blog-article .nwm-ba-capital { text-transform: capitalize; }
.nw-blog-article .nwm-ba-cat { font-size: 12px; letter-spacing: .14em; color: var(--nwm-navy); font-weight: 600; text-transform: uppercase; }

/* table of contents (built by nwm.js from the body h2s; hidden when there are none) */
.nw-blog-article .nwm-ba-toc { position: sticky; top: 24px; }
.nw-blog-article .nwm-ba-toc[hidden] { display: none; }
.nw-blog-article ol.nwm-ba-toc-list { list-style: none; margin: 0; padding: 0; }
.nw-blog-article ol.nwm-ba-toc-list > li { list-style: none; margin: 0; }
.nw-blog-article .nwm-ba-toc-list a { display: block; padding: 10px 0 10px 16px; border-left: 2px solid var(--nwm-border); font-size: 15px; line-height: 1.4; color: var(--nwm-text-2); }
.nw-blog-article .nwm-ba-toc-list a:hover, .nw-blog-article .nwm-ba-toc-list a.is-active { border-left-color: var(--nwm-navy); color: var(--nwm-navy); opacity: 1; }
.nw-blog-article .nwm-ba-toc-list a.is-active { font-weight: 600; }
.nw-blog-article .nwm-ba-toc[hidden] + .nwm-ba-main { grid-column: 1 / 3; justify-self: center; width: 100%; max-width: 860px; }

/* article body: client-authored HTML from the blog editor */
.nw-blog-article .nwm-ba-art { font-family: var(--nwm-font-body); font-size: 18px; line-height: 1.75; color: var(--nwm-text); overflow-wrap: break-word; }
.nw-blog-article .nwm-ba-art > :first-child { margin-top: 0 !important; }
.nw-blog-article .nwm-ba-art h2 { font-family: var(--nwm-font-head); font-size: 30px; font-weight: 600; line-height: 1.25; margin: 56px 0 0; letter-spacing: -.005em; color: var(--nwm-ink); scroll-margin-top: 24px; }
.nw-blog-article .nwm-ba-art h3 { font-family: var(--nwm-font-head); font-size: 22px; font-weight: 600; line-height: 1.3; margin: 40px 0 0; color: var(--nwm-ink); }
.nw-blog-article .nwm-ba-art h4, .nw-blog-article .nwm-ba-art h5, .nw-blog-article .nwm-ba-art h6 { font-family: var(--nwm-font-head); font-size: 18px; font-weight: 600; margin: 32px 0 0; color: var(--nwm-ink); }
.nw-blog-article .nwm-ba-art h1 { font-family: var(--nwm-font-head); font-size: 32px; font-weight: 700; line-height: 1.2; margin: 56px 0 0; color: var(--nwm-ink); }
.nw-blog-article .nwm-ba-art p { font-family: var(--nwm-font-body); font-size: 18px; line-height: 1.75; color: var(--nwm-text); margin: 20px 0 0; }
.nw-blog-article .nwm-ba-art li { font-family: var(--nwm-font-body); font-size: 18px; line-height: 1.7; color: var(--nwm-text); margin-top: 10px; }
.nw-blog-article .nwm-ba-art ul, .nw-blog-article .nwm-ba-art ol { margin: 18px 0 0; padding-left: 26px; }
.nw-blog-article .nwm-ba-art a { color: var(--nwm-navy); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.nw-blog-article .nwm-ba-art img { height: auto; border-radius: 12px; margin: 30px 0 0; display: block; }
.nw-blog-article .nwm-ba-art p img { margin: 0; display: inline-block; }
.nw-blog-article .nwm-ba-art figure { margin: 30px 0 0; }
.nw-blog-article .nwm-ba-art figcaption { font-size: 14px; color: var(--nwm-muted); margin-top: 10px; }
.nw-blog-article .nwm-ba-art blockquote { margin: 30px 0 0; background: var(--nwm-panel); border-radius: 12px; padding: 26px 30px; color: var(--nwm-navy); }
.nw-blog-article .nwm-ba-art blockquote p:first-child { margin-top: 0; }
.nw-blog-article .nwm-ba-art table { width: 100%; border-collapse: collapse; margin: 30px 0 0; font-size: 15px; display: block; overflow-x: auto; }
.nw-blog-article .nwm-ba-art th, .nw-blog-article .nwm-ba-art td { border: 1px solid var(--nwm-border); padding: 10px 12px; text-align: left; }
.nw-blog-article .nwm-ba-art iframe, .nw-blog-article .nwm-ba-art video { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 12px; margin-top: 30px; }
.nw-blog-article .nwm-ba-art strong, .nw-blog-article .nwm-ba-art b { font-weight: 700; color: var(--nwm-ink); }

/* tags + share */
.nw-blog-article .nwm-ba-tags[hidden] { display: none !important; }
.nw-blog-article .nwm-ba-tag { height: 32px; padding: 0 14px; border-radius: 999px; background: var(--nwm-bg-alt); display: inline-flex; align-items: center; font-size: 13px; color: var(--nwm-text-2); text-transform: capitalize; }
.nw-blog-article .nwm-ba-tags[hidden] + div { margin-left: auto; }
.nw-blog-article .nwm-ba-share { background: #fff; padding: 0; }
.nw-blog-article .nwm-ba-copy {
    height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--nwm-chip-border); background: #fff;
    font: 600 13px var(--nwm-font-head); color: var(--nwm-navy); cursor: pointer;
}
.nw-blog-article .nwm-ba-copy:hover { border-color: var(--nwm-navy); }

.nw-blog-article .nwm-ba-side { position: sticky; top: 24px; }
.nw-blog-article .nwm-ba-side h3 { color: #fff; }
.nw-blog-article a.nwm-ba-rel:hover { opacity: 1; border-color: var(--nwm-chip-border) !important; box-shadow: 0 10px 30px rgba(33, 36, 41, .08); }

/* board responsive rules */
@media (max-width: 1280px) {
    .nw-blog-article .nwm-ba-grid[style*="grid-template-columns: 280px 760px 280px"] { grid-template-columns: 220px minmax(0, 1fr) !important; }
    .nw-blog-article .nwm-ba-grid > aside.nwm-ba-side { grid-column: 1 / -1; max-width: 480px; position: static; }
    .nw-blog-article .nwm-ba-toc[hidden] + .nwm-ba-main { grid-column: 1 / -1; }
    .nw-blog-article .nwm-ba-toc[hidden] ~ .nwm-ba-side { justify-self: center; width: 100%; max-width: 860px; }
    .nw-blog-article [style*="font-size: 56px"] { font-size: clamp(34px, 4.6vw, 56px) !important; line-height: 1.1 !important; }
    .nw-blog-article .nwm-ba-hero[style*="height: 640px"] { height: auto !important; aspect-ratio: 16 / 8; }
}
@media (max-width: 900px) {
    .nw-blog-article .nwm-ba-grid[style*="grid-template-columns: 280px 760px 280px"] { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-blog-article .nwm-ba-toc { display: none; }
    .nw-blog-article [style*="grid-template-columns: repeat(3"] { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-blog-article .nwm-ba-art h2 { font-size: 26px !important; }
    .nw-blog-article .nwm-ba-art p, .nw-blog-article .nwm-ba-art li { font-size: 17px; }
    .nw-blog-article [style*="display: flex"] { flex-wrap: wrap; }
    .nw-blog-article section[style*="padding: 70px 0 100px"] { padding: 48px 0 72px !important; }
    .nw-blog-article section[style*="padding: 90px 0 100px"] { padding: 64px 0 72px !important; }
}
@media (max-width: 640px) {
    .nw-blog-article > header > div { width: calc(100% - 40px) !important; }
    .nw-blog-article > header { padding: 44px 0 36px !important; }
    .nw-blog-article [style*="font-size: 20px; line-height: 1.6"] { font-size: 17px !important; }
    .nw-blog-article [style*="margin-top: 36px"] { margin-top: 24px !important; }
    .nw-blog-article .nwm-ba-hero { border-radius: 12px !important; aspect-ratio: 4 / 3 !important; }
    .nw-blog-article .nwm-ba-grid > aside.nwm-ba-side { max-width: none; }
}

/* ---------- Page: blog ---------- */
/* Blog listing (board Blog.dc.html) — scoped to .nw-blog */
.nw-blog .nwm-bl-search input {
    border: 0; outline: 0; background: transparent; width: 100%; height: 100%;
    font: 15px var(--nwm-font-body); color: var(--nwm-ink); padding: 0;
}
.nw-blog .nwm-bl-search { flex-wrap: nowrap !important; }
.nw-blog .nwm-bl-search input { min-width: 0; flex: 1; }
.nw-blog .nwm-bl-search:focus-within { border-color: var(--nwm-blue) !important; box-shadow: 0 0 0 3px rgba(66, 142, 190, .18); }

.nw-blog .nwm-bl-flag {
    display: inline-flex; height: 26px; padding: 0 12px; border-radius: 999px; background: var(--nwm-blue);
    font-size: 11.5px; font-weight: 600; letter-spacing: .1em; align-items: center; text-transform: uppercase;
}
.nw-blog .nwm-bl-feature-cat { text-transform: capitalize; }
.nw-blog a.nwm-bl-feature:hover { color: #fff; opacity: .95; }

/* topic pills (links: server-side ?news_category=, instant client filter when every post is loaded) */
.nw-blog .nwm-bl-pills .nwm-tab { display: inline-flex; align-items: center; text-transform: capitalize; }
.nw-blog .nwm-bl-pills a.nwm-tab:hover { color: var(--nwm-text); border-color: var(--nwm-navy); opacity: 1; }
.nw-blog .nwm-bl-pills a.nwm-tab.is-active:hover { color: #fff; }

/* cards (also used for cards appended by "Load more") */
.nw-blog .nwm-bl-card[hidden] { display: none !important; }
.nw-blog .nwm-bl-img { display: block; border-radius: 12px; overflow: hidden; background: var(--nwm-tile); }
.nw-blog .nwm-bl-img img { width: 100%; height: 280px; object-fit: cover; display: block; transition: transform .35s ease; }
.nw-blog a.nwm-bl-card:hover { opacity: 1; }
.nw-blog a.nwm-bl-card:hover .nwm-bl-img img { transform: scale(1.03); }
.nw-blog a.nwm-bl-card:hover .nwm-bl-title { color: var(--nwm-navy); }
.nw-blog .nwm-bl-cat { font-size: 11.5px; letter-spacing: .14em; color: var(--nwm-navy); font-weight: 600; text-transform: uppercase; }
.nw-blog .nwm-bl-date { font-size: 13px; color: var(--nwm-meta); white-space: nowrap; }
.nw-blog .nwm-bl-title { margin: 10px 0 0; font-size: 23px; line-height: 1.25; font-weight: 600; color: var(--nwm-ink); }
.nw-blog .nwm-bl-ex { margin: 10px 0 0; font-size: 15px; line-height: 1.6; color: var(--nwm-sub); }
.nw-blog .nwm-bl-empty { grid-column: 1 / -1; margin: 0; font-size: 16px; color: var(--nwm-sub); }
.nw-blog .nwm-bl-empty[hidden] { display: none; }
.nw-blog .nwm-bl-none { margin-top: 44px; padding: 56px 40px; border-radius: 12px; background: var(--nwm-bg-alt); text-align: center; }
.nw-blog .nwm-bl-none .nwm-btn { display: inline-flex; }
.nw-blog .load_more_primary.nwm-btn { margin: 0; max-width: none; width: auto; text-transform: none; letter-spacing: 0; }
.nw-blog .load_more_primary.nwm-btn:hover { background: var(--nwm-navy); color: #fff; }

@media (prefers-reduced-motion: reduce) {
    .nw-blog .nwm-bl-img img { transition: none; }
}

/* board responsive rules */
@media (max-width: 1280px) {
    .nw-blog .nwm-bl-feature[style*="grid-template-columns: 820px"] { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important; }
    .nw-blog .nwm-bl-feature img { width: 100% !important; height: 100% !important; min-height: 420px; }
    .nw-blog [style*="width: 620px"] { width: auto !important; }
}
@media (max-width: 900px) {
    .nw-blog .nwm-bl-feature[style*="grid-template-columns: 820px"] { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-blog .nwm-bl-feature img { height: 300px !important; min-height: 0; }
    .nw-blog .nwm-bl-feature > div { padding: 32px 26px !important; }
    .nw-blog [style*="font-size: 38px"], .nw-blog [style*="font-size: 34px"] { font-size: 28px !important; }
    .nw-blog section[style*="padding: 70px 0 110px"] { padding-bottom: 72px !important; }
    .nw-blog section[style*="padding: 90px 0"] { padding: 64px 0 !important; }
    .nw-blog .nwm-bl-search { width: 100% !important; }
}
@media (max-width: 640px) {
    .nw-blog section[style*="padding: 64px 0 56px"] { padding: 44px 0 40px !important; }
    .nw-blog [style*="margin-top: 40px"] { margin-top: 28px !important; }
    .nw-blog .nwm-bl-img img { height: 230px; }
    .nw-blog .nwm-bl-grid { gap: 36px !important; margin-top: 32px !important; }
    .nw-blog .nwm-bl-pills { flex-wrap: nowrap !important; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
    .nw-blog .nwm-bl-pills::-webkit-scrollbar { display: none; }
    .nw-blog .nwm-bl-pills .nwm-tab { flex: none; white-space: nowrap; }
    .nw-blog [data-nwm-nl-jump] { width: 100%; }
    .nw-blog .nwm-bl-none { padding: 40px 22px; }
}

/* ---------- Page: boat-detail ---------- */
/* ==========================================================================
   Boat detail + sold boat detail (BoatDetail board). Card styles: inventory.css.
   ========================================================================== */
.nw-boat .nwm-bd-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 12px; color: #6b7580; }
.nw-boat .nwm-bd-crumbs a { color: #6b7580; }
.nw-boat .nwm-bd-h1 { margin: 0; font-size: 46px; line-height: 1.1; font-weight: 600; letter-spacing: -.01em; }
.nw-boat .nwm-bd-sub { margin-top: 12px; font-size: 12.5px; color: #7a8590; display: flex; flex-wrap: wrap; gap: 6px; }
.nw-boat .nwm-bd-sub span + span:before { content: "·"; margin-right: 6px; }
.nw-boat .nwm-bd-soldtag { color: #b03a2e; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.nw-boat .nwm-bd-actions { display: flex; gap: 26px; padding-bottom: 6px; }
.nw-boat .nwm-bd-act { display: inline-flex; align-items: center; gap: 14px; border: 0; background: none; padding: 0; font: 600 14px var(--nwm-font-head); color: var(--nwm-navy); cursor: pointer; }
.nw-boat .nwm-bd-save.is-saved svg { fill: var(--nwm-navy); }

/* ---------------------------------------------------------------- gallery + price */
.nw-boat .nwm-bd-grid { display: grid; grid-template-columns: minmax(0, 896px) 472px; justify-content: space-between; align-items: start; gap: 32px; }
.nw-boat .nwm-bd-main { position: relative; height: 526px; border-radius: 10px; overflow: hidden; background: #6d8ea8; }
.nw-boat .nwm-bd-main-link { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.nw-boat a.nwm-bd-main-link:hover { opacity: 1; }
.nw-boat .nwm-bd-main img.nwm-cover { height: 100%; }
.nw-boat .nwm-bd-badges { position: absolute; top: 22px; left: 22px; display: flex; gap: 8px; pointer-events: none; }
.nw-boat .nwm-bd-count { position: absolute; left: 22px; bottom: 22px; display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 12px; border: 0; border-radius: 6px; background: rgba(20, 22, 26, .6); color: #fff; font-size: 12px; cursor: pointer; }
.nw-boat .nwm-bd-full { position: absolute; right: 22px; bottom: 22px; width: 36px; height: 36px; border: 0; border-radius: 6px; background: rgba(20, 22, 26, .6); display: flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
.nw-boat .nwm-bd-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.nw-boat .nwm-bd-thumb { position: relative; height: 138px; padding: 0; border: 1px solid #d9dde1; border-radius: 6px; overflow: hidden; background: none; cursor: pointer; }
.nw-boat .nwm-bd-thumb.is-active { border: 2px solid var(--nwm-navy); }
.nw-boat .nwm-bd-thumb img.nwm-cover { height: 100%; }
.nw-boat .nwm-bd-thumb-more { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(20, 22, 26, .55); color: #fff; font-size: 14px; font-weight: 600; }
.nw-boat .nwm-bd-videos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.nw-boat .nwm-bd-video { position: relative; display: block; height: 138px; border-radius: 6px; overflow: hidden; background: #14161a; }
.nw-boat .nwm-bd-video img.nwm-cover { height: 100%; opacity: .85; }
.nw-boat .nwm-bd-play { position: absolute; inset: 0; margin: auto; width: 48px; height: 48px; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--nwm-navy); display: flex; align-items: center; justify-content: center; padding-left: 3px; }

.nw-boat .nwm-bd-price { background: #fff; border: 1px solid #e3e6ea; border-radius: 10px; padding: 34px 32px; }
.nw-boat .nwm-bd-k { font-size: 11px; letter-spacing: .08em; color: #7a8590; }
.nw-boat .nwm-bd-amt { font-size: 46px; font-weight: 700; color: var(--nwm-navy); line-height: 1.15; margin-top: 8px; }
.nw-boat .nwm-bd-save { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: #7a8590; }
.nw-boat .nwm-bd-save strong { color: var(--nwm-open); font-weight: 600; }
.nw-boat .nwm-bd-note { font-size: 11px; color: var(--nwm-meta); margin-top: 8px; }
.nw-boat .nwm-bd-est {
    margin-top: 20px; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
    padding: 14px 16px; border: 1px solid var(--nwm-panel-border); border-radius: 8px; background: var(--nwm-panel);
    font: 14px var(--nwm-font-head); color: var(--nwm-ink); cursor: pointer; text-align: left;
}
.nw-boat .nwm-bd-est strong { font-weight: 700; color: var(--nwm-navy); }
.nw-boat .nwm-bd-est-link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--nwm-navy); }
.nw-boat .nwm-bd-call, .nw-boat a.nwm-bd-call:hover { display: block; margin-top: 18px; font-size: 15px; font-weight: 600; color: var(--nwm-navy); }
.nw-boat .nwm-bd-keys { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #e3e6ea; border-bottom: 1px solid #e3e6ea; margin-top: 26px; padding: 24px 0 26px; }
.nw-boat .nwm-bd-keys:empty { display: none; }
.nw-boat .nwm-bd-keys > div > div:first-child { font-size: 11px; color: var(--nwm-meta); }
.nw-boat .nwm-bd-keys > div > div:last-child { font-size: 14px; font-weight: 600; margin-top: 6px; }
.nw-boat .nwm-bd-cta { width: 100%; margin-top: 14px; }
.nw-boat .nwm-bd-keys + .nwm-bd-cta, .nw-boat .nwm-bd-keys:empty + .nwm-bd-cta { margin-top: 26px; }
.nw-boat .nwm-bd-dealer { margin: 34px 0 0; font-size: 21px; font-weight: 600; }
.nw-boat .nwm-bd-dealer-p { margin: 18px 0 0; font-size: 14px; line-height: 1.6; color: #6b7580; }
.nw-boat .nwm-bd-phone, .nw-boat a.nwm-bd-phone:hover { display: inline-flex; align-items: center; gap: 10px; margin-top: 10px; font-size: 17px; font-weight: 600; color: var(--nwm-navy); }
.nw-boat .nwm-bd-addr { margin-top: 16px; font-size: 12.5px; color: #7a8590; }

/* ---------------------------------------------------------------- details */
.nw-boat .nwm-bd-acc { border-top: 1px solid #e3e6ea; padding: 0 24px; }
.nw-boat .nwm-bd-acch { margin: 0; font-size: 30px; font-weight: 600; letter-spacing: -.01em; }
.nw-boat .nwm-bd-acch .nwm-acc-btn { font-size: 30px; padding: 22px 0; letter-spacing: -.01em; }
.nw-boat .nwm-bd-acc .nwm-acc-panel { padding: 10px 0 40px; font-size: 14.5px; line-height: 1.6; color: #5a636c; }
.nw-boat .nwm-bd-prose p { margin: 0 0 12px; }
.nw-boat .nwm-bd-prose ul { margin: 0 0 12px; padding-left: 20px; }
.nw-boat .nwm-bd-prose img { height: auto; }
.nw-boat .nwm-bd-list { columns: 2; column-gap: 40px; }
.nw-boat .nwm-bd-list li { break-inside: avoid; margin-bottom: 6px; }
.nw-boat .nwm-bd-specs-note { margin: 0; font-size: 13px; color: #7a8590; }
.nw-boat .nwm-bd-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; margin: 12px 0 0; }
.nw-boat .nwm-bd-srow { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 47px; border-bottom: 1px solid #e3e6ea; font-size: 13.5px; }
.nw-boat .nwm-bd-srow dt { font-family: var(--nwm-font-body); font-weight: 400; color: #7a8590; }
.nw-boat .nwm-bd-srow dd { margin: 0; font-weight: 600; color: var(--nwm-ink); text-align: right; }
.nw-boat .nwm-bd-engine { margin: 18px 0 0; font-size: 13.5px; }
.nw-boat .nwm-bd-pdf { margin-top: 18px; font-size: 14px; }
.nw-boat .nwm-bd-closer { background: #edf3f6; border-radius: 6px; padding: 26px 24px 28px; margin-top: 8px; }
.nw-boat .nwm-bd-closer-h { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; color: var(--nwm-navy); }
.nw-boat .nwm-bd-closer p { margin: 14px 0 0; font-size: 14px; line-height: 1.6; color: #5a636c; }
.nw-boat .nwm-bd-closer a { color: var(--nwm-navy); text-decoration: underline; }
.nw-boat .nwm-bd-disc { margin: 26px 0 0; font-size: 11px; color: #7a8590; }

/* right rail */
.nw-boat .nwm-bd-rail { display: flex; flex-direction: column; gap: 34px; }
.nw-boat .nwm-bd-form { background: var(--nwm-panel); border: 1px solid var(--nwm-panel-border); border-radius: 10px; padding: 30px 28px 34px; scroll-margin-top: 24px; }
.nw-boat .nwm-bd-form .scroll-down { margin: 0; height: 0; }
.nw-boat .nwm-bd-form h2 { margin: 0; font-size: 27px; font-weight: 600; letter-spacing: -.01em; }
.nw-boat .nwm-bd-form-p { margin: 10px 0 0; font-size: 14px; line-height: 1.55; color: #6b7580; }
.nw-boat .nwm-bd-form-boat { margin-top: 20px; background: #c6dcea; border-radius: 4px; padding: 16px 16px 14px; }
.nw-boat .nwm-bd-form-boat > div:first-child { font-size: 14px; font-weight: 600; }
.nw-boat .nwm-bd-form-boat > div:last-child { font-size: 11px; color: #6b7580; margin-top: 6px; }
.nw-boat .nwm-bd-fields { margin-top: 24px; gap: 20px 12px; }
.nw-boat .nwm-bd-fields .nwm-fi { height: 46px; border-color: #dfe4e8; font-size: 13px; }
.nw-boat .nwm-bd-fields textarea.nwm-fi { height: 98px; padding: 12px; line-height: 1.6; }
.nw-boat .nwm-bd-fields .iti { width: 100%; display: block; }
.nw-boat .nwm-bd-trade legend { margin-bottom: 10px; }
.nw-boat .nwm-bd-submit { width: 100%; margin-top: 22px; }
.nw-boat .nwm-bd-form .nwm-form-note a { color: inherit; }
.nw-boat .nwm-bd-side { background: #fff; border: 1px solid #e3e6ea; border-radius: 10px; padding: 30px 28px; }
.nw-boat .nwm-bd-side h3 { display: flex; align-items: center; gap: 14px; margin: 0; font-size: 21px; font-weight: 600; }
.nw-boat .nwm-bd-side p { font-size: 14px; line-height: 1.6; color: #6b7580; margin: 14px 0 0; }
.nw-boat .nwm-bd-opill, .nw-boat a.nwm-bd-opill:hover {
    display: inline-flex; align-items: center; gap: 12px; height: 44px; padding: 0 22px; margin-top: 22px;
    border: 1.5px solid var(--nwm-navy); border-radius: 999px; color: var(--nwm-navy); font-size: 14px; font-weight: 600; background: #fff;
}
.nw-boat .nwm-bd-more-h { margin: 0; font-size: 40px; font-weight: 700; letter-spacing: -.01em; }
.nw-boat .nwm-bd-more { margin-top: 40px; }

/* sold page */
.nw-boat .nwm-bd-notice { display: flex; gap: 14px; color: var(--nwm-navy); }
.nw-boat .nwm-bd-notice svg { flex: none; margin-top: 4px; }
.nw-boat .nwm-bd-notice h2 { margin: 0; font-size: 27px; font-weight: 600; color: var(--nwm-ink); }
.nw-boat .nwm-bd-notice p { margin: 10px 0 0; font-size: 14px; line-height: 1.55; color: #6b7580; }
.nw-boat .nwm-bd-soldbox .nwm-bd-fields { margin-top: 26px; }

/* sticky mobile bar */
.nw-boat .nwm-bd-sticky { display: none; }

/* modals (payment calculator, share) */
.nw-boat .nwm-bd-modal { position: fixed; inset: 0; z-index: 1200; background: rgba(20, 22, 26, .55); display: flex; align-items: center; justify-content: center; padding: 20px; }
.nw-boat .nwm-bd-modal[hidden] { display: none; }
.nw-boat .nwm-bd-modal-box { position: relative; width: min(620px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; background: #fff; border-radius: 12px; padding: 36px 36px 32px; box-shadow: 0 24px 60px rgba(0, 0, 0, .3); }
.nw-boat .nwm-bd-modal-box h2 { margin: 0; font-size: 27px; font-weight: 600; }
.nw-boat .nwm-bd-modal-sub { margin: 8px 0 0; font-size: 13px; color: #7a8590; }
.nw-boat .nwm-bd-modal-x { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--nwm-chip); display: flex; align-items: center; justify-content: center; padding: 0; color: var(--nwm-ink); }
.nw-boat .nwm-bd-calc-result { margin-top: 24px; padding: 20px; border-radius: 8px; background: var(--nwm-panel); text-align: center; }
.nw-boat .nwm-bd-calc-result .os { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #6b7580; }
.nw-boat #monthly_payment_text { margin-top: 6px; font-size: 36px; font-weight: 700; color: var(--nwm-navy); min-height: 44px; }
.nw-boat .notify_popup_message { margin: 14px 0 0; padding: 10px 12px; border-radius: 4px; background: #fdecea; color: #b03a2e; font-size: 13px; }
.nw-boat .disclaimer-dropdown { margin-top: 16px; }
.nw-boat .disclaimer-btn { border: 0; background: none; padding: 0; font: 600 13px var(--nwm-font-head); color: var(--nwm-navy); text-decoration: underline; }
.nw-boat .disclaimer-content p { margin: 8px 0 0; font-size: 12.5px; line-height: 1.55; color: #6b7580; }
.nw-boat .nwm-bd-modal-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.nw-boat .nwm-bd-share-link { display: flex; gap: 10px; margin-top: 22px; }
.nw-boat .nwm-bd-share-link .nwm-fi { flex: 1; min-width: 0; }
.nw-boat .nwm-bd-share-icons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.nw-boat .nwm-bd-share-icons a, .nw-boat .nwm-bd-share-icons a:hover {
    display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 6px; border: 1px solid var(--nwm-border); border-radius: 8px;
    font-size: 13px; font-weight: 600; color: var(--nwm-navy);
}
.nw-boat .nwm-bd-share-icons i { font-size: 20px; }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 1280px) {
    .nw-boat .nwm-bd-grid { grid-template-columns: minmax(0, 1fr) 400px !important; }
    .nw-boat .nwm-bd-h1 { font-size: 38px; }
    .nw-boat .nwm-bd-amt { font-size: 38px; }
    .nw-boat .nwm-bd-main { height: auto; aspect-ratio: 16 / 10; }
    .nw-boat .nwm-bd-thumb, .nw-boat .nwm-bd-video { height: auto; aspect-ratio: 3 / 2; }
    .nw-boat .nwm-bd-specs { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-boat .nwm-bd-more.is-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 1100px) {
    .nw-boat .nwm-bd-more.is-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .nw-boat .nwm-bd-more.is-grid .nwm-bcard:nth-child(3) { display: none; }
}
@media (max-width: 900px) {
    .nw-boat .nwm-bd-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-boat .nwm-bd-titlerow { flex-direction: column; align-items: flex-start !important; gap: 18px; }
    .nw-boat .nwm-bd-h1 { font-size: 32px; }
    .nw-boat .nwm-bd-acc { padding: 0; }
    .nw-boat .nwm-bd-acch, .nw-boat .nwm-bd-acch .nwm-acc-btn, .nw-boat .nwm-bd-more-h { font-size: 26px !important; }
    .nw-boat .nwm-bd-details { padding-top: 56px !important; }
    .nw-boat .nwm-bd-list { columns: 1; }
    .nw-boat .nwm-bd-sticky {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 1050; display: flex; align-items: center; justify-content: space-between; gap: 12px;
        padding: 10px 16px; background: #fff; border-top: 1px solid var(--nwm-border); box-shadow: 0 -6px 18px rgba(0, 0, 0, .08);
    }
    .nw-boat .nwm-bd-sticky > div { min-width: 0; }
    .nw-boat .nwm-bd-sticky-t { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .nw-boat .nwm-bd-sticky .os { font-size: 13px; color: var(--nwm-navy); font-weight: 700; }
    .nw-boat .nwm-bd-sticky .nwm-btn { height: 42px; padding: 0 20px; flex: none; }
    .nw-boat { padding-bottom: 64px; }
}
@media (max-width: 640px) {
    .nw-boat .nwm-bd-thumbs, .nw-boat .nwm-bd-videos { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 8px; }
    .nw-boat .nwm-bd-price { padding: 28px 22px; }
    .nw-boat .nwm-bd-amt { font-size: 34px; }
    .nw-boat .nwm-bd-form { padding: 26px 20px 28px; }
    .nw-boat .nwm-bd-badges { top: 14px; left: 14px; }
    .nw-boat .nwm-bd-count { left: 14px; bottom: 14px; }
    .nw-boat .nwm-bd-full { right: 14px; bottom: 14px; }
    .nw-boat .nwm-bd-thumb-more { font-size: 11px; }
    .nw-boat .nwm-bd-modal-box { padding: 30px 22px 24px; }
    .nw-boat .nwm-bd-share-icons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nw-boat .nwm-bd-more.is-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-boat .nwm-bd-more.is-grid .nwm-bcard:nth-child(3) { display: flex; }
}
@media (max-width: 900px) {
    /* nwm.css forces every .nw h2 to 30px at this width; these are card-level headings */
    .nw-boat .nwm-bd-dealer { font-size: 21px !important; }
    .nw-boat .nwm-bd-form h2, .nw-boat .nwm-bd-notice h2, .nw-boat .nwm-bd-modal-box h2 { font-size: 24px !important; }
}

/* ---------- Page: book-rental ---------- */
/* Book a Rental (/book-boat-rental-laconia-nh) — BookRental board. Scoped to .nw-book-rental */
.nw-book-rental .nwm-bk-step { background: #fff; border: 1px solid var(--nwm-border); border-radius: 12px; padding: 34px 34px 36px; margin: 0; min-width: 0; }
.nw-book-rental .nwm-bk-h { display: flex; align-items: center; gap: 14px; margin: 0 0 26px; padding: 0; font-family: var(--nwm-font-head); font-size: 22px; font-weight: 600; color: var(--nwm-ink); float: left; width: 100%; }
.nw-book-rental .nwm-bk-h + * { clear: both; margin-top: 0 !important; }
.nw-book-rental .nwm-bk-h > span { width: 32px; height: 32px; border-radius: 50%; background: var(--nwm-navy); color: #fff; font-size: 14px; display: flex; align-items: center; justify-content: center; flex: none; }
.nw-book-rental .nwm-bk-h label { display: inline; margin: 0; font: inherit; cursor: pointer; }
.nw-book-rental .nwm-bk-note { margin: 16px 0 0; font-size: 13px; line-height: 1.55; color: var(--nwm-sub); }

/* boat radio cards (board .bt) */
.nw-book-rental .nwm-bk-bt {
    position: relative; display: flex; flex-direction: column; text-align: left; border-radius: 10px; padding: 20px 20px 18px; margin: 0;
    background: #fff; border: 1px solid #e0e4e8; cursor: pointer; transition: border-color .15s, box-shadow .15s;
}
.nw-book-rental .nwm-bk-bt input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.nw-book-rental .nwm-bk-bt b { font-size: 17px; font-weight: 600; color: var(--nwm-ink); }
.nw-book-rental .nwm-bk-bt small { font-family: var(--nwm-font-body); font-size: 12.5px; color: var(--nwm-sub); margin-top: 6px; line-height: 1.45; }
.nw-book-rental .nwm-bk-bt.is-on, .nw-book-rental .nwm-bk-bt:has(input:checked) { border: 2px solid var(--nwm-navy); padding: 19px 19px 17px; box-shadow: 0 6px 18px rgba(34, 73, 102, .14); }
.nw-book-rental .nwm-bk-bt:has(input:focus-visible), .nw-book-rental .nwm-bk-dur:has(input:focus-visible) { outline: 2px solid var(--nwm-blue); outline-offset: 2px; }

/* duration pills (board .dur) */
.nw-book-rental .nwm-bk-dur { position: relative; display: inline-flex; align-items: center; margin: 0; cursor: pointer; }
.nw-book-rental .nwm-bk-dur input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.nw-book-rental .nwm-bk-dur > span {
    display: inline-flex; align-items: center; gap: 8px; height: 52px; padding: 0 22px; border-radius: 999px;
    border: 1.5px solid var(--nwm-navy); background: #fff; color: var(--nwm-navy); font: 600 14px var(--nwm-font-head); white-space: nowrap;
}
.nw-book-rental .nwm-bk-dur small { font-weight: 500; font-size: 12.5px; opacity: .75; }
.nw-book-rental .nwm-bk-dur.is-on > span, .nw-book-rental .nwm-bk-dur:has(input:checked) > span { background: var(--nwm-navy); color: #fff; }

.nw-book-rental input[type="date"].nwm-fi { font-size: 15px; color: var(--nwm-ink); }
.nw-book-rental textarea.nwm-fi { height: 110px; line-height: 1.6; }
.nw-book-rental .iti { display: block; width: 100%; }
.nw-book-rental .nwm-check span { font-family: var(--nwm-font-body); }

/* summary rows (board .sr) */
.nw-book-rental .nwm-bk-sr { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--nwm-border); font-size: 14px; }
.nw-book-rental .nwm-bk-sr span:first-child { font-family: var(--nwm-font-body); color: var(--nwm-sub); flex: none; }
.nw-book-rental .nwm-bk-sr span:last-child { font-weight: 600; text-align: right; }
.nw-book-rental .nwm-bk-sum-img { transition: background-image .2s; }
.nw-book-rental .nwm-form-note a { color: var(--nwm-navy); }

@media (max-width: 1400px) {
    .nw-book-rental .nwm-bk-boats { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 1100px) {
    .nw-book-rental .nwm-bk-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-book-rental .nwm-bk-sum { position: static !important; }
}
@media (max-width: 900px) {
    .nw-book-rental .nwm-bk-boats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .nw-book-rental h1 { font-size: 38px !important; }
    .nw-book-rental .nwm-bk-h { font-size: 20px !important; }
}
@media (max-width: 640px) {
    .nw-book-rental .nwm-bk-boats { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-book-rental .nwm-bk-step { padding: 26px 20px 28px; }
    .nw-book-rental .nwm-bk-durs > label { flex: 1 1 100%; }
    .nw-book-rental .nwm-bk-dur > span { width: 100%; justify-content: space-between; }
}

/* rental lengths (info list) + good-to-know block */
.nw-book-rental ul.nwm-bk-durs { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.nw-book-rental ul.nwm-bk-durs > li {
    list-style: none; display: inline-flex; align-items: center; gap: 8px; height: 52px; padding: 0 22px; border-radius: 999px;
    border: 1.5px solid var(--nwm-navy); color: var(--nwm-navy); font: 600 14px var(--nwm-font-head); white-space: nowrap;
}
.nw-book-rental ul.nwm-bk-durs > li span { font-weight: 500; font-size: 12.5px; opacity: .75; }
.nw-book-rental .nwm-bk-info { display: flex; flex-direction: column; gap: 18px; }
.nw-book-rental .nwm-bk-info > div { display: flex; gap: 14px; align-items: flex-start; }
.nw-book-rental .nwm-bk-info svg { flex: none; color: var(--nwm-navy); margin-top: 1px; }
.nw-book-rental .nwm-bk-info p { margin: 0; font-family: var(--nwm-font-body); font-size: 14.5px; line-height: 1.6; color: var(--nwm-text); }
.nw-book-rental .nwm-bk-info a { color: var(--nwm-navy); text-decoration: underline; }
@media (max-width: 640px) {
    .nw-book-rental ul.nwm-bk-durs > li { width: 100%; justify-content: space-between; }
}

/* ---------- Page: brand ---------- */
/* Brand landing (BrandTige board) — page-scoped. Template: views/themes/Material/brand_landing.hbs */
.nw-brand .nwm-btn { white-space: nowrap; }
.nw-brand .nwm-br-tag { height: 24px; padding: 0 11px; }
.nw-brand .nwm-br-wm { font-family: var(--nwm-font-cond); font-size: 52px; line-height: 1; font-weight: 600; letter-spacing: .18em; color: #fff; }
.nw-brand .nwm-br-ico { width: 52px; height: 52px; border-radius: 12px; background: rgba(255, 255, 255, .1); color: #fff; }

/* model spec row (board .ms) */
.nw-brand .nwm-br-ms { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--nwm-border); margin: 20px 0 0; padding-top: 16px; }
.nw-brand .nwm-br-ms dt { display: block; font-size: 11px; font-weight: 400; color: var(--nwm-meta); }
.nw-brand .nwm-br-ms dd { display: block; margin: 4px 0 0; font-size: 14.5px; font-weight: 600; white-space: nowrap; }

/* in stock: board = 2 boat cards + custom-order card in 3 columns */
.nw-brand .nwm-br-stock .nwm-bcard { min-height: 0; }
.nw-brand .nwm-br-stock.is-one .nwm-br-custom,
.nw-brand .nwm-br-stock.is-empty .nwm-br-empty { grid-column: span 2; }
.nw-brand .nwm-br-empty { display: flex; flex-direction: column; justify-content: center; }
/* one boat: the custom-order card spans 2 columns and lays out side by side */
.nw-brand .nwm-br-stock.is-one .nwm-br-custom, .nw-brand .nwm-br-stock.is-empty .nwm-br-custom { justify-content: center !important; }
.nw-brand .nwm-br-stock.is-one .nwm-br-custom { flex-direction: row !important; align-items: flex-end; gap: 48px; padding: 56px 52px !important; }
.nw-brand .nwm-br-stock.is-one .nwm-br-custom > div:first-child { flex: 1; }
.nw-brand .nwm-br-stock.is-one .nwm-br-custom > div:last-child { width: 320px; flex: none; }

@media (max-width: 1280px) {
    .nw-brand .nwm-br-stats { height: auto !important; padding-top: 30px; padding-bottom: 30px; row-gap: 24px; }
    .nw-brand .nwm-br-stock.is-one .nwm-br-custom, .nw-brand .nwm-br-stock.is-empty .nwm-br-empty { grid-column: auto !important; }
    .nw-brand .nwm-br-stock.is-one .nwm-br-custom { flex-direction: column !important; align-items: stretch; padding: 44px 40px !important; }
    .nw-brand .nwm-br-stock.is-one .nwm-br-custom > div:last-child { width: auto; }
    .nw-brand .nwm-br-stock:not(.is-one):not(.is-empty) .nwm-br-custom { grid-column: 1 / -1; }
    .nw-brand .nwm-br-ms { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .nw-brand .nwm-br-hero-in { bottom: 56px !important; }
    .nw-brand .nwm-br-hero h1 { font-size: 40px !important; }
    .nw-brand .nwm-br-wm { font-size: 40px; }
}
@media (max-width: 640px) {
    .nw-brand section.nwm-br-hero { min-height: 700px; }
    .nw-brand .nwm-br-hero h1 { font-size: 34px !important; line-height: 1.1 !important; }
    .nw-brand .nwm-br-hero-in > div:last-child { width: 100%; }
    .nw-brand .nwm-br-hero-in > div:last-child .nwm-btn { flex: 1 1 100%; }
    .nw-brand .nwm-br-ms { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 12px; }
    .nw.nw-brand div.nwm-br-stats[style][style] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .nw-brand .nwm-br-stats > div > div:first-child { font-size: 28px !important; }
    .nw-brand .nwm-br-empty, .nw-brand .nwm-br-custom { padding: 32px 24px !important; }
    .nw-brand .nwm-br-mosaic { grid-auto-rows: 220px; }
}

/* ---------- Page: careers ---------- */
/* Careers (Careers board) — page-scoped */
.nw-careers .nwm-cr-ico { width: 52px; height: 52px; border-radius: 12px; }
.nw-careers #openings, .nw-careers #apply { scroll-margin-top: 70px; }

/* job cards */
.nw-careers .nwm-cr-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.nw-careers .nwm-cr-tag { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 999px; background: #e7eef4; color: #224966; font-size: 12.5px; font-weight: 600; }
.nw-careers .nwm-cr-desc { margin: 14px 0 0; font-size: 16px; line-height: 1.6; color: #3a4148; }
.nw-careers .nwm-cr-desc > :first-child { margin-top: 0; }
.nw-careers .nwm-cr-desc > :last-child { margin-bottom: 0; }
.nw-careers .nwm-cr-desc p { margin: 0 0 12px; }
.nw-careers .nwm-cr-desc :is(h2, h3, h4, h5, h6) { margin: 26px 0 12px; font-family: var(--nwm-font-head); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #224966; font-weight: 600; }
.nw-careers .nwm-cr-desc ul { list-style: none; padding: 0; margin: 14px 0; display: flex; flex-direction: column; gap: 12px; }
.nw-careers .nwm-cr-desc ul > li { list-style: none; position: relative; padding-left: 30px; font-size: 15px; line-height: 1.55; }
.nw-careers .nwm-cr-desc ul > li:before {
    content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23224966' stroke-width='2.4'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") no-repeat center;
}
.nw-careers .nwm-cr-desc a { color: #224966; text-decoration: underline; }

/* apply */
.nw-careers img.nwm-cr-img { width: 100%; height: 360px; object-fit: cover; object-position: center 30%; border-radius: 12px; display: block; margin-top: 36px; }
.nw-careers .nwm-cr-sz { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.nw-careers .nwm-cr-drop { position: relative; height: 92px; border: 1.5px dashed #9fbfd6; border-radius: 8px; background: #fff; transition: border-color .15s, background .15s; }
.nw-careers .nwm-cr-drop.is-drag, .nw-careers .nwm-cr-drop:focus-within { border-color: #224966; background: #f3f8fc; }
.nw-careers .nwm-cr-drop.has-file { border-style: solid; border-color: #224966; }
.nw-careers label.nwm-cr-droplbl {
    display: flex; align-items: center; justify-content: center; gap: 12px; height: 100%; padding: 0 16px; margin: 0;
    font-family: var(--nwm-font-body); font-size: 14px; color: #5a636c; cursor: pointer; text-align: center;
}
.nw-careers .nwm-cr-droplbl b { color: #224966; font-weight: 600; }
.nw-careers input.nwm-cr-file { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.nw-careers .nwm-panel .iti { width: 100%; display: block; }

/* responsive (grids carry data-keep-grid) */
@media (max-width: 1280px) {
    .nw-careers .nwm-cr-why[style] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .nw-careers .nwm-cr-job[style] { grid-template-columns: minmax(0, 1fr) 300px !important; gap: 40px !important; }
    .nw-careers .nwm-cr-apply[style] { grid-template-columns: minmax(0, 1fr) !important; gap: 48px !important; }
    .nw-careers img.nwm-cr-img { display: none; }
    .nw-careers h1[style*="font-size: 6"] { font-size: clamp(38px, 5.2vw, 62px) !important; line-height: 1.06 !important; }
}
@media (max-width: 900px) {
    .nw-careers .nwm-cr-job[style] { grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; padding: 34px 30px !important; }
    .nw-careers .nwm-cr-side[style] { border-left: 0 !important; padding-left: 0 !important; border-top: 1px solid #e6e8eb; padding-top: 24px; }
    .nw-careers .nwm-cr-general[style] { padding: 30px !important; }
    .nw-careers [style*="width: 760px"], .nw-careers [style*="width: 600px"] { width: auto !important; }
}
@media (max-width: 640px) {
    .nw-careers .nwm-cr-why[style], .nw-careers .nwm-cr-grid[style] { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-careers .nwm-cr-job[style], .nw-careers .nwm-cr-general[style], .nw-careers .nwm-cr-empty[style] { padding: 28px 22px !important; }
    .nw-careers .nwm-cr-job h3 { font-size: 26px !important; }
    .nw-careers .nwm-cr-general .nwm-btn { width: 100%; white-space: normal; text-align: center; }
}

/* ---------- Page: contact ---------- */
/* Contact (Contact board) — page-scoped */
.nw-contact .nwm-ct-ico { width: 52px; height: 52px; border-radius: 12px; }
.nw-contact .nwm-ct-qc small { display: block; font-family: var(--nwm-font-body); font-size: 12px; letter-spacing: .1em; color: #7a8590; text-transform: uppercase; }
.nw-contact .nwm-ct-qc b { display: block; font-size: 19px; font-weight: 600; margin-top: 6px; line-height: 1.35; }
.nw-contact .nwm-ct-qc span { display: block; font-family: var(--nwm-font-body); font-size: 13.5px; color: #6b7580; margin-top: 4px; }
.nw-contact a.nwm-ct-phone, .nw-contact a.nwm-ct-phone:hover { display: block; font-size: 22px; font-weight: 600; margin-top: 6px; color: #224966; }

.nw-contact a.nwm-ct-dept { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 0; border-bottom: 1px solid #e6e8eb; }
.nw-contact .nwm-ct-dept b { display: block; font-size: 18px; font-weight: 600; }
.nw-contact .nwm-ct-dept span { display: block; font-family: var(--nwm-font-body); font-size: 14px; color: #6b7580; margin-top: 4px; }
.nw-contact .nwm-ct-dept svg { flex: none; transition: transform .15s; }
.nw-contact a.nwm-ct-dept:hover svg { transform: translateX(4px); }
.nw-contact a.nwm-ct-soc { width: 40px; height: 40px; border-radius: 50%; background: #224966; display: flex; align-items: center; justify-content: center; flex: none; }

.nw-contact img.nwm-ct-locimg { width: 100%; height: 300px; object-fit: cover; display: block; }
.nw-contact .nwm-ct-kicker { font-size: 11px; letter-spacing: .14em; color: #7a8590; text-transform: uppercase; }
.nw-contact .nwm-ct-sbtn { height: 44px; font-size: 14px; }
.nw-contact .nwm-panel .iti { width: 100%; display: block; }

/* responsive (grids carry data-keep-grid) */
@media (max-width: 1280px) {
    .nw-contact .nwm-ct-qgrid[style] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .nw-contact .nwm-ct-main[style] { grid-template-columns: minmax(0, 1fr) !important; gap: 56px !important; }
    .nw-contact h1[style*="font-size: 5"] { font-size: clamp(36px, 5vw, 58px) !important; line-height: 1.08 !important; }
}
@media (max-width: 900px) {
    .nw-contact [style*="width: 600px"] { width: auto !important; }
    .nw-contact .nwm-ct-locs[style] { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 640px) {
    .nw-contact .nwm-ct-qgrid[style], .nw-contact .nwm-ct-grid[style] { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-contact .nwm-ct-qgrid { gap: 14px !important; }
    .nw-contact .nwm-ct-qc[style], .nw-contact .nwm-ct-locbody[style] { padding: 24px 22px !important; }
    /* the Contact board only pads padding: 3x/4x boxes; the hero section keeps its full-width text */
    .nw-contact > section[style*="padding: 6"] { padding-left: 0 !important; padding-right: 0 !important; }
}

/* ---------- Page: error ---------- */
/* 404 / error page — self-contained: also rendered inside admin-layout, where nwm.css is not loaded. */
.nw-error {
    width: 100%; background: #fff; color: #212429; text-align: left;
    font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif; font-size: 16px; line-height: normal;
    -webkit-font-smoothing: antialiased; overflow-x: clip;
}
.nw-error * { box-sizing: border-box; max-width: 100%; }
.nw-error a { text-decoration: none; }
.nw-error a:hover { text-decoration: none; }
.nw-error .nwm-err-wrap { width: min(1400px, calc(100% - 64px)); margin: 0 auto; }

.nw-error .nwm-err-band { background: #224966; color: #fff; padding: 64px 0 96px; }
.nw-error .nwm-err-crumbs { display: flex; gap: 8px; font-family: 'Open Sans', sans-serif; font-size: 12px; color: rgba(255, 255, 255, .7); }
.nw-error .nwm-err-crumbs a, .nw-error .nwm-err-crumbs a:hover { color: rgba(255, 255, 255, .7); }
.nw-error .nwm-err-crumbs [aria-current] { color: #fff; }
.nw-error .nwm-err-eyebrow {
    display: flex; align-items: center; gap: 12px; margin: 56px 0 0;
    font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .75);
}
.nw-error .nwm-err-eyebrow:before { content: ""; width: 32px; height: 1px; background: currentColor; opacity: .7; }
.nw-error h1.nwm-err-h1 { margin: 16px 0 0; padding: 0; font-family: inherit; font-size: 64px; line-height: 1.06; font-weight: 700; letter-spacing: -.015em; color: #fff; }
.nw-error .nwm-err-lead { margin: 20px 0 0; max-width: 640px; font-family: 'Open Sans', sans-serif; font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, .8); }
.nw-error .nwm-err-msg { margin: 10px 0 0; font-family: 'Open Sans', sans-serif; font-size: 13px; color: rgba(255, 255, 255, .55); }
.nw-error .nwm-err-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.nw-error .nwm-err-btn {
    display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 26px; border-radius: 999px;
    font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1; white-space: nowrap;
}
.nw-error a.nwm-err-btn.is-white, .nw-error a.nwm-err-btn.is-white:hover { background: #fff; color: #212429; }
.nw-error a.nwm-err-btn.is-outline, .nw-error a.nwm-err-btn.is-outline:hover { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .55); color: #fff; }
.nw-error a.nwm-err-btn:hover { opacity: .9; }

.nw-error .nwm-err-links { padding: 80px 0 100px; }
.nw-error h2.nwm-err-h2 { margin: 0; padding: 0; font-family: inherit; font-size: 28px; font-weight: 700; color: #212429; line-height: 1.2; }
.nw-error .nwm-err-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.nw-error a.nwm-err-card { display: block; border: 1px solid #e6e8eb; border-radius: 12px; padding: 26px 24px; color: #212429; background: #fff; transition: box-shadow .2s, border-color .2s; }
.nw-error a.nwm-err-card:hover { color: #212429; border-color: #d9dde1; box-shadow: 0 10px 30px rgba(33, 36, 41, .08); }
.nw-error .nwm-err-card b { display: block; font-size: 19px; font-weight: 600; color: #224966; }
.nw-error .nwm-err-card span { display: block; margin-top: 8px; font-family: 'Open Sans', sans-serif; font-size: 14px; line-height: 1.55; color: #6b7580; }
.nw-error :focus-visible { outline: 2px solid #428ebe; outline-offset: 2px; }

@media (max-width: 1280px) {
    .nw-error .nwm-err-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nw-error h1.nwm-err-h1 { font-size: clamp(36px, 5.2vw, 56px); line-height: 1.08; }
}
@media (max-width: 640px) {
    .nw-error .nwm-err-wrap { width: calc(100% - 40px); }
    .nw-error .nwm-err-band { padding: 44px 0 64px; }
    .nw-error .nwm-err-eyebrow { margin-top: 36px; }
    .nw-error .nwm-err-grid { grid-template-columns: minmax(0, 1fr); }
    .nw-error .nwm-err-links { padding: 56px 0 72px; }
    .nw-error .nwm-err-btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .nw-error a.nwm-err-card { transition: none; } }

/* ---------- Page: events ---------- */
/* Events list (.nw-events) + Event detail (.nw-event-detail) — design-system restyle, no board */

/* shared: label + cards (match the Blog grid cards) */
.nw-events .nwm-ev-cat, .nw-event-detail .nwm-ev-cat { font-size: 11.5px; letter-spacing: .14em; color: var(--nwm-navy); font-weight: 600; text-transform: uppercase; }
.nw-events .nwm-ev-img { display: block; border-radius: 12px; overflow: hidden; background: var(--nwm-tile); }
.nw-events .nwm-ev-img img { width: 100%; height: 280px; object-fit: cover; display: block; transition: transform .35s ease; }
.nw-events a.nwm-ev-card:hover { opacity: 1; }
.nw-events a.nwm-ev-card:hover .nwm-ev-img img { transform: scale(1.03); }
.nw-events a.nwm-ev-card:hover .nwm-ev-title { color: var(--nwm-navy); }
.nw-events .nwm-ev-date { font-size: 13px; color: var(--nwm-meta); }
.nw-events .nwm-ev-date .px-2 { padding: 0 4px !important; }
.nw-events .nwm-ev-title { margin: 10px 0 0; font-size: 23px; line-height: 1.25; font-weight: 600; color: var(--nwm-ink); }
.nw-events .nwm-ev-loc { display: flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 14px; color: var(--nwm-text-2); }
.nw-events .nwm-ev-loc svg { color: var(--nwm-navy); flex: none; }
.nw-events .nwm-ev-ex { margin: 10px 0 0; font-size: 15px; line-height: 1.6; color: var(--nwm-sub); }
.nw-events .nwm-ev-none { padding: 64px 40px; border-radius: 12px; background: var(--nwm-bg-alt); text-align: center; }
.nw-events .nwm-ev-more:hover { background: var(--nwm-navy); color: #fff; }

/* cards appended by the legacy ?load_more=1 HTML (until routes/index.js emits the new card markup) */
.nw-events .event-listing-col { display: block; }
.nw-events .event-listing-image { border-radius: 12px; overflow: hidden; }
.nw-events .event-listing-image img { width: 100%; height: 280px; object-fit: cover; display: block; }
.nw-events .event-content-box .event-title { margin: 22px 0 0; font-size: 23px; line-height: 1.25; font-weight: 600; }
.nw-events .event-content-box .event-date { margin: 8px 0 0; font: 13px var(--nwm-font-body); color: var(--nwm-meta); }

/* event detail */
.nw-event-detail .nwm-ed-title { max-width: 980px; }
.nw-event-detail .nwm-ed-title .px-2 { padding: 0 4px !important; }
.nw-event-detail .nwm-ed-fact { background: var(--nwm-bg-alt); border-radius: 12px; padding: 24px 24px 26px; }
.nw-event-detail .nwm-ed-fact-h { display: flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--nwm-muted); margin-bottom: 12px; }
.nw-event-detail .nwm-ed-fact-h svg { color: var(--nwm-navy); }
.nw-event-detail .nwm-ed-fact b { font-size: 18px; font-weight: 600; }
.nw-event-detail ul.nwm-ed-dates { list-style: none; margin: 0; padding: 0; }
.nw-event-detail ul.nwm-ed-dates > li { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.nw-event-detail ul.nwm-ed-dates > li + li { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--nwm-border); }
.nw-event-detail ul.nwm-ed-dates span { font-size: 15px; color: var(--nwm-text-2); }

.nw-event-detail .nwm-ed-desc { margin-top: 40px; font-family: var(--nwm-font-body); font-size: 18px; line-height: 1.75; color: var(--nwm-text); overflow-wrap: break-word; }
.nw-event-detail .nwm-ed-desc > :first-child { margin-top: 0; }
.nw-event-detail .nwm-ed-desc p { margin: 20px 0 0; }
.nw-event-detail .nwm-ed-desc :is(h2, h3, h4) { font-family: var(--nwm-font-head); color: var(--nwm-ink); font-weight: 600; line-height: 1.25; margin: 40px 0 0; }
.nw-event-detail .nwm-ed-desc h2 { font-size: 30px; }
.nw-event-detail .nwm-ed-desc h3 { font-size: 22px; }
.nw-event-detail .nwm-ed-desc a { color: var(--nwm-navy); font-weight: 600; text-decoration: underline; }
.nw-event-detail .nwm-ed-desc img { height: auto; border-radius: 12px; }
.nw-event-detail .nwm-ed-desc ul, .nw-event-detail .nwm-ed-desc ol { margin: 18px 0 0; padding-left: 26px; }

.nw-event-detail .nwm-ed-block { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--nwm-border); }
.nw-event-detail .nwm-ed-brand { border: 1px solid var(--nwm-border); border-radius: 12px; padding: 20px; }
.nw-event-detail .nwm-ed-brand img { display: block; width: 100%; height: 120px; object-fit: contain; margin-bottom: 14px; }
.nw-event-detail .nwm-ed-brand b { font-size: 17px; font-weight: 600; }
.nw-event-detail .nwm-ed-brand ul { margin: 10px 0 0; padding-left: 18px; font: 14px/1.6 var(--nwm-font-body); color: var(--nwm-text-2); }
.nw-event-detail .nwm-ed-brand a { color: var(--nwm-navy); text-decoration: underline; }

.nw-event-detail a.nwm-ed-boat { display: block; border: 1px solid var(--nwm-border); border-radius: 12px; overflow: hidden; background: #fff; }
.nw-event-detail a.nwm-ed-boat:hover { opacity: 1; box-shadow: 0 10px 30px rgba(33, 36, 41, .08); }
.nw-event-detail .nwm-ed-boat-img { position: relative; display: block; height: 220px; background: var(--nwm-tile); }
.nw-event-detail .nwm-ed-boat-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nw-event-detail .nwm-ed-boat-img .nwm-badge { position: absolute; left: 14px; top: 14px; }
.nw-event-detail .nwm-ed-boat-body { display: block; padding: 20px 22px 22px; }
.nw-event-detail .nwm-ed-boat-title { display: block; font-size: 19px; font-weight: 600; line-height: 1.3; }
.nw-event-detail .nwm-ed-boat-price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-top: 8px; font-size: 20px; font-weight: 700; color: var(--nwm-navy); }
.nw-event-detail .nwm-ed-boat-price small { font-size: 13px; font-weight: 500; color: var(--nwm-muted); }
.nw-event-detail .nwm-ed-boat-price.is-ask { font-size: 15px; font-weight: 600; }
.nw-event-detail .nwm-ed-boat-specs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.nw-event-detail .nwm-ed-boat-specs span { font-size: 12px; color: var(--nwm-text); border: 1px solid var(--nwm-chip-border); background: var(--nwm-chip); border-radius: 999px; height: 26px; padding: 0 11px; display: inline-flex; align-items: center; }

.nw-event-detail .nwm-ed-side { position: sticky; top: 24px; }
.nw-event-detail .nwm-panel { padding: 36px 34px 32px; }
.nw-event-detail .iti { display: block; width: 100%; }

@media (prefers-reduced-motion: reduce) {
    .nw-events .nwm-ev-img img { transition: none; }
}

@media (max-width: 1280px) {
    .nw-event-detail .nwm-ed-grid[data-keep-grid] { grid-template-columns: minmax(0, 1fr) 400px !important; gap: 48px !important; }
    .nw-event-detail .nwm-ed-hero[style*="height: 560px"] { height: auto !important; aspect-ratio: 16 / 7; }
    .nw-event-detail .nwm-ed-boats[style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-event-detail .nwm-ed-facts[style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 900px) {
    .nw-event-detail .nwm-ed-grid[data-keep-grid] { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-event-detail .nwm-ed-side { position: static; }
    .nw-event-detail .nwm-ed-boats[style*="grid-template-columns"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .nw-event-detail .nwm-ed-facts[style*="grid-template-columns"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .nw-event-detail section[style*="padding: 70px 0 100px"] { padding: 48px 0 72px !important; }
    .nw-events section[style*="padding: 80px 0 110px"] { padding: 56px 0 72px !important; }
    .nw-events section[style*="padding: 90px 0"] { padding: 64px 0 !important; }
    .nw-events [style*="font-size: 34px"] { font-size: 28px !important; }
}
@media (max-width: 640px) {
    .nw-events section[style*="padding: 64px 0 76px"] { padding: 44px 0 52px !important; }
    .nw-events [style*="margin-top: 44px"] { margin-top: 28px !important; }
    .nw-events .nwm-ev-img img { height: 230px; }
    .nw-events .nwm-ev-grid { gap: 36px !important; }
    .nw-events [data-nwm-nl-jump] { width: 100%; }
    .nw-events .nwm-ev-none { padding: 40px 22px; }
    .nw-event-detail .nwm-ed-head { padding: 44px 0 36px !important; }
    .nw-event-detail .nwm-ed-head .nwm-btn { width: 100%; }
    .nw-event-detail .nwm-ed-hero { border-radius: 12px !important; aspect-ratio: 4 / 3 !important; }
    .nw-event-detail .nwm-ed-boats[style*="grid-template-columns"],
    .nw-event-detail .nwm-ed-facts[style*="grid-template-columns"],
    .nw-event-detail .nwm-ed-brands[style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-event-detail .nwm-ed-desc { font-size: 17px; }
    .nw-event-detail .nwm-panel { padding: 28px 22px; }
}

/* ---------- Page: faq ---------- */
/* FAQ (FAQ board) — page-scoped */
.nw-faq .nwm-fq-search input {
    border: 0; outline: 0; background: transparent; width: 100%; height: 100%; padding: 0;
    font: 15px var(--nwm-font-body); color: #212429; -webkit-appearance: none; appearance: none;
}
.nw-faq .nwm-fq-search:focus-within { box-shadow: 0 0 0 3px rgba(143, 192, 227, .55); }
.nw-faq .nwm-fq-search input::placeholder { color: #6b7580; }
.nw-faq .nwm-fq-aside { position: sticky; top: 24px; }

.nw-faq .nwm-fq-list .nwm-acc { border-top: 0; border-bottom: 1px solid #e6e8eb; }
.nw-faq .nwm-fq-list { border-top: 1px solid #e6e8eb; }
.nw-faq .nwm-fq-list .nwm-acc[hidden] { display: none; }
.nw-faq h2.nwm-fq-q { margin: 0; font-size: inherit; }
.nw-faq .nwm-fq-q .nwm-acc-btn { padding: 26px 0; gap: 24px; font-size: 20px; line-height: 1.35; }
.nw-faq .nwm-acc-sign { border: 1.5px solid #224966; font-size: 20px; }
.nw-faq .nwm-acc-sign:before { content: "+"; }
.nw-faq .nwm-acc-btn[aria-expanded="true"] .nwm-acc-sign:before { content: "\2212"; }
.nw-faq .nwm-fq-list .nwm-acc-panel { margin-top: -6px; padding: 0 80px 28px 0; font-size: 16px; line-height: 1.7; color: #3a4148; }
.nw-faq .nwm-acc-panel > :first-child { margin-top: 0; }
.nw-faq .nwm-acc-panel > :last-child { margin-bottom: 0; }
.nw-faq .nwm-acc-panel p { margin: 0 0 12px; }
.nw-faq .nwm-acc-panel a { color: #224966; text-decoration: underline; }
.nw-faq .nwm-acc-panel :is(span, li, p) { font-family: inherit !important; font-size: inherit !important; color: inherit !important; }
.nw-faq .nwm-fq-none { margin: 28px 0 0; font-size: 15px; color: #6b7580; }
.nw-faq .nwm-fq-empty { padding: 34px 0; }

@media (max-width: 1100px) {
    .nw-faq .nwm-fq-head[style] { flex-wrap: wrap; gap: 24px; }
    .nw-faq .nwm-fq-grid[style] { grid-template-columns: minmax(0, 1fr) !important; gap: 48px !important; }
    .nw-faq .nwm-fq-aside { position: static; order: 2; }
    .nw-faq h1[style*="font-size: 56px"] { font-size: clamp(34px, 5vw, 56px) !important; }
}
@media (max-width: 640px) {
    .nw-faq .nwm-fq-search[style] { width: 100% !important; }
    .nw-faq .nwm-fq-q .nwm-acc-btn { font-size: 17px; padding: 22px 0; }
    .nw-faq .nwm-fq-list .nwm-acc-panel { padding-right: 0; }
}
.nw-faq .nwm-fq-search[style] { flex-wrap: nowrap !important; }
.nw-faq .nwm-fq-search svg { flex: none; }
.nw-faq .nwm-fq-search input { min-width: 0; flex: 1; font-size: 15px !important; line-height: normal !important; margin: 0 !important; box-shadow: none !important; }
.nw-faq .nwm-fq-help h2 { font-size: 20px !important; line-height: 1.3 !important; }

/* ---------- Page: financing ---------- */
/* Financing (/financing) — no board; design-system band + panel around the existing Wufoo embed. Scoped to .nw-financing */
.nw-financing .nwm-fin-side a:not(.nwm-btn) { color: var(--nwm-navy); font-weight: 600; }
.nw-financing .nwm-fin-side p a { text-decoration: underline; }
.nw-financing .nwm-fin-panel { padding: 24px; overflow: hidden; }
.nw-financing .myiframe { height: 2600px; }
.nw-financing #iframeResizer0 { display: block; width: 100%; height: 100%; border: 0; }
@media (min-width: 1281px) {
    .nw-financing .nwm-fin-side { position: sticky; top: 24px; }
}
@media (max-width: 1280px) {
    .nw.nw-financing .nwm-fin-grid[data-keep-grid] { grid-template-columns: minmax(0, 1fr) !important; gap: 48px; }
    .nw-financing h1[style*="font-size: 5"] { font-size: clamp(34px, 5vw, 54px) !important; line-height: 1.1 !important; }
}
@media (max-width: 640px) {
    .nw-financing .nwm-fin-panel { padding: 8px; }
}

/* ---------- Page: home ---------- */
/* Home page (Main + Piece-5nfz boards). Scoped to .nw-home; shared tokens/components live in /assets/css/nwm.css. */

/* hero */
.nw-home .nwm-home-hero h1 { color: #fff; }
.nw-home a.nwm-home-cta:hover { color: #212429; opacity: .92; }
.nw-home a.nwm-home-cta.is-ghost:hover { color: #fff; background: rgba(255, 255, 255, .16) !important; }

/* stats bar */
.nw-home .nwm-home-stats a { color: #fff; }
.nw-home .nwm-home-stats-grid > div { padding: 0 12px; }

/* intro paragraphs: the board copy is slightly darker than the generic .nwm-sub */
.nw-home .nwm-home-sub { color: #7a8590; line-height: 1.5; margin-top: 12px; }

/* inventory + brand cards */
.nw-home a.nwm-home-inv:hover, .nw-home a.nwm-home-brand:hover { color: #fff; opacity: .94; }

/* featured listings */
.nw-home .nwm-home-boat > div:first-child { overflow: hidden; }
.nw-home .nwm-home-boat img.nwm-cover { position: absolute; inset: 0; height: 100%; }
.nw-home .nwm-home-boat h3 { line-height: 1.3; }
.nw-home .nwm-home-boat-link { justify-self: end; }
.nw-home .nwm-home-boat-link::after { content: ""; position: absolute; inset: 0; } /* whole card clickable */

/* rentals cards */
.nw-home .nwm-home-rent > div:first-child { overflow: hidden; }
.nw-home .nwm-home-rent img.nwm-cover { position: absolute; inset: 0; height: 100%; }
.nw-home .nwm-home-rent .nwm-badge { z-index: 1; }

/* service list */
.nw-home .nwm-home-list > li { list-style: none; }

/* testimonials: 3 visible, horizontal scroll-snap when there are more */
.nw-home .nwm-home-tst-track {
    display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 50px) / 3); gap: 25px; align-items: start;
    overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none;
}
.nw-home .nwm-home-tst-track::-webkit-scrollbar { display: none; }
.nw-home .nwm-home-tst-card { scroll-snap-align: start; }
.nw-home .nwm-home-tst-text {
    margin: 0; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden;
}
.nw-home .nwm-home-tst-more {
    margin-top: 10px; padding: 0; border: 0; background: none; color: #224966;
    font-family: 'IBM Plex Sans', sans-serif; font-size: 14px; font-weight: 600; cursor: pointer;
}
.nw-home .nwm-home-tst-more[hidden] { display: none; }
.nw-home .nwm-home-tst-nav { display: flex; justify-content: center; gap: 12px; margin-top: 30px; }
.nw-home .nwm-home-tst-nav[hidden] { display: none; }
.nw-home .nwm-home-tst-btn {
    width: 44px; height: 44px; border-radius: 50%; border: 1px solid #d9dde1; background: #fff; color: #224966;
    display: flex; align-items: center; justify-content: center; padding: 0;
}
.nw-home .nwm-home-tst-btn:hover { background: #224966; color: #fff; border-color: #224966; }
.nw-home .nwm-home-write { margin: 40px 0 0; text-align: center; }

/* testimonial modal (Bootstrap modal, sits outside .nw) */
#testimonialModal .modal-content { border: 0; border-radius: 12px; box-shadow: 0 24px 60px rgba(16, 24, 40, .25); font-family: 'IBM Plex Sans', sans-serif; color: #212429; }
#testimonialModal .modal-header { border-bottom: 1px solid #e6e8eb; padding: 22px 28px; align-items: center; }
#testimonialModal .modal-title { margin: 0; font-family: 'IBM Plex Sans', sans-serif; font-size: 20px; font-weight: 600; line-height: 1.3; color: #212429; text-transform: none; letter-spacing: 0; }
#testimonialModal .close { margin: 0 0 0 auto; padding: 0; width: 36px; height: 36px; border-radius: 50%; border: 1px solid #d9dde1; color: #224966; opacity: 1; text-shadow: none; font-size: 22px; line-height: 1; font-weight: 400; display: flex; align-items: center; justify-content: center; }
#testimonialModal .close:hover { background: #224966; color: #fff; }
#testimonialModal .modal-body { padding: 24px 28px 30px; }
#testimonialModal .nwm-home-modal-stars { color: #224966; font-size: 17px; letter-spacing: 3px; }
#testimonialModal #modalDescription { margin: 14px 0 0; font-family: 'Open Sans', sans-serif; font-size: 15.5px; line-height: 1.65; color: #3a4148; }

/* responsive (board rules live in nwm.css; these are the home-specific extras) */
@media (max-width: 1280px) {
    .nw-home .nwm-home-stats { height: auto !important; padding: 26px 0; }
    .nw-home .nwm-home-stats-grid { row-gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .nw-home .nwm-wrap[style*="660px 660px"] { column-gap: 48px; }
    .nw-home .nwm-home-tst-track { grid-auto-columns: calc((100% - 25px) / 2); }
}
@media (max-width: 900px) {
    .nw-home .nwm-home-hero .nwm-wrap { padding-top: 96px !important; }
    .nw-home .nwm-home-stats .nwm-wrap[style*="height"] { padding-top: 0; padding-bottom: 0; }
    .nw-home a.nwm-home-inv { height: 420px !important; }
    .nw-home a.nwm-home-brand { height: 360px !important; }
    .nw-home .nwm-wrap[style*="660px 660px"] { row-gap: 48px; }
    /* featured boat card footer stacks (board rule): price, then "Details" on the left */
    .nw-home .nwm-home-boat-link { justify-self: start; }
    /* split-section photos: full width, the board's 396px height (object-fit: cover) */
    .nw-home .nwm-wrap[style*="660px 660px"] img { width: 100% !important; }
}
@media (max-width: 640px) {
    .nw-home .nwm-home-hero h1 { font-size: 36px !important; }
    .nw-home .nwm-home-hero [style*="margin-top: 42px"] { margin-top: 32px !important; }
    /* stats bar: one column, values 26px (design board rules at 640px) */
    .nw-home .nwm-home-stats-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-home .nwm-home-stats-grid > div { padding: 0 4px; }
    .nw-home .nwm-home-stats [style*="font-size: 31px"] { font-size: 26px !important; line-height: 1.2 !important; }
    .nw-home a.nwm-home-inv { height: 400px !important; }
    .nw-home a.nwm-home-inv > div[style*="left: 32px"] { left: 22px !important; right: 22px !important; bottom: 28px !important; }
    .nw-home a.nwm-home-brand { height: 320px !important; }
    .nw-home .nwm-home-rent > div[style*="padding: 32px"] { padding: 26px 22px 28px !important; }
    .nw-home .nwm-home-tiles { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-home .nwm-home-tst-track { grid-auto-columns: 88%; gap: 16px; }
    .nw-home .nwm-home-tst-card { padding: 26px 22px 24px !important; min-height: 0 !important; }
}

/* ---------- Page: legal ---------- */
/* Legal shell (Legal board) — privacy-policy, cookie-policy, terms-and-conditions, disclaimer,
   privacypolicy, accessibility and /page/:page. Scoped to .nw-legal. */
.nw-legal h1 { color: #fff; }
.nw-legal .nwm-legal-crumbs a:hover { color: #fff; }
.nw-legal .nwm-legal-updated {
    display: inline-flex; align-items: center; margin: 22px 0 0; height: 30px; padding: 0 14px; border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .08); font-size: 12.5px; color: #fff;
}

/* sticky policy navigation */
.nw-legal .nwm-legal-toc { display: block; }
.nw-legal .nwm-legal-toc-label { margin: 0 0 10px; padding: 0 16px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--nwm-meta, #8a929a); }
.nw-legal .nwm-legal-toc a { display: block; padding: 12px 16px; border-radius: 8px; font-size: 15px; font-weight: 500; color: var(--nwm-text, #3a4148); }
.nw-legal .nwm-legal-toc a:hover { background: #f0f4f7; color: var(--nwm-navy, #224966); opacity: 1; }
.nw-legal .nwm-legal-toc a.is-active { background: #f0f4f7; color: var(--nwm-navy, #224966); font-weight: 600; box-shadow: inset 3px 0 0 var(--nwm-navy, #224966); }
.nw-legal .nwm-legal-help { margin: 22px 0 0; padding: 18px 16px 0; border-top: 1px solid var(--nwm-border, #e6e8eb); font-size: 13.5px; line-height: 1.6; color: var(--nwm-sub, #6b7580); }
.nw-legal .nwm-legal-toc .nwm-legal-help a { display: inline; padding: 0; border-radius: 0; font-size: inherit; font-weight: 600; color: var(--nwm-navy, #224966); background: none; box-shadow: none; }

/* content card: typography from the board's .pol rules; applies to Termly output, static copy and CMS HTML */
.nw-legal .nwm-legal-card {
    background: #fff; border: 1px solid var(--nwm-border, #e6e8eb); border-radius: 12px; padding: 48px 56px 52px;
    box-shadow: 0 2px 10px rgba(16, 24, 40, .04); min-width: 0; overflow-wrap: break-word;
}
.nw-legal .nwm-legal-card h2 { margin: 0; font-size: 32px; font-weight: 700; line-height: 1.2; }
.nw-legal .nwm-legal-card h3 { margin: 30px 0 0; font-size: 19px; font-weight: 600; line-height: 1.35; }
.nw-legal .nwm-legal-card h4 { margin: 24px 0 0; font-size: 16px; font-weight: 600; }
.nw-legal .nwm-legal-card p,
.nw-legal .nwm-legal-card li { font-family: var(--nwm-font-body, 'Open Sans', sans-serif); font-size: 15.5px; line-height: 1.7; color: var(--nwm-text, #3a4148); }
.nw-legal .nwm-legal-card p { margin: 12px 0 0; }
.nw-legal .nwm-legal-card ul, .nw-legal .nwm-legal-card ol { margin: 12px 0 0; padding-left: 22px; }
.nw-legal .nwm-legal-card li + li { margin-top: 6px; }
.nw-legal .nwm-legal-card a { color: var(--nwm-navy, #224966); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.nw-legal .nwm-legal-card table { width: 100%; border-collapse: collapse; margin-top: 16px; font-family: var(--nwm-font-body, 'Open Sans', sans-serif); font-size: 14px; }
.nw-legal .nwm-legal-card th, .nw-legal .nwm-legal-card td { border: 1px solid var(--nwm-border, #e6e8eb); padding: 8px 10px; text-align: left; vertical-align: top; }
.nw-legal .nwm-legal-card img { height: auto; }
.nw-legal .nwm-legal-card > :first-child { margin-top: 0; }

/* sections inside the card (static copy: /privacypolicy, /accessibility) */
.nw-legal .nwm-legal-sec { padding: 0 0 40px; margin: 0 0 40px; border-bottom: 1px solid var(--nwm-border, #e6e8eb); scroll-margin-top: 24px; }
.nw-legal .nwm-legal-sec:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.nw-legal .nwm-legal-sec h2 { font-size: 26px; }
.nw-legal .nwm-legal-contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.nw-legal .nwm-legal-contact > div { border: 1px solid var(--nwm-border, #e6e8eb); border-radius: 10px; padding: 16px 18px; background: var(--nwm-chip, #f7f8f9); }
.nw-legal .nwm-legal-card .nwm-legal-contact p { margin: 0; }
.nw-legal .nwm-legal-card .nwm-legal-contact .nwm-legal-contact-label { font-family: var(--nwm-font-head, 'IBM Plex Sans', sans-serif); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--nwm-meta, #8a929a); }

/* Termly embed sits inside the card: drop its own outer spacing */
.nw-legal [name="termly-embed"] { min-height: 200px; }

/* board breakpoints: <=1000 single column + static nav row; <=640 tighter */
@media (max-width: 1000px) {
    .nw-legal .nwm-legal-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 36px !important; }
    .nw-legal .nwm-legal-toc { position: static !important; display: flex; flex-wrap: wrap; gap: 6px; }
    .nw-legal .nwm-legal-toc-label { width: 100%; }
    .nw-legal .nwm-legal-toc > a { border: 1px solid var(--nwm-border, #e6e8eb); }
    .nw-legal .nwm-legal-toc a.is-active { box-shadow: none; border-color: var(--nwm-navy, #224966); }
    .nw-legal .nwm-legal-help { width: 100%; }
    .nw-legal .nwm-legal-card { max-width: none !important; }
    .nw-legal h1 { font-size: 40px !important; }
}
@media (max-width: 640px) {
    .nw-legal section[style*="padding: 80px"] { padding: 48px 0 48px !important; }
    .nw-legal .nwm-legal-toc > a { padding: 9px 13px; font-size: 14px; }
    .nw-legal section[style*="padding: 64px"] { padding-left: 0 !important; padding-right: 0 !important; }
    .nw-legal .nwm-legal-card { padding: 28px 20px 32px; }
    .nw-legal .nwm-legal-card h2 { font-size: 26px; }
    .nw-legal .nwm-legal-sec h2 { font-size: 22px; }
    .nw-legal .nwm-legal-contact { grid-template-columns: minmax(0, 1fr); }
    .nw-legal h1 { font-size: 34px !important; }
}

/* /privacypolicy static copy: list items carry their own "a) b)" markers */
.nw-legal .privacy_content ul { list-style: none; padding-left: 0; }
.nw-legal .privacy_content ul > li { list-style: none; }
.nw-legal .privacy_content h3 { text-transform: none; }

/* ---------- Page: pickup-dropoff ---------- */
/* Pick-up / Drop-off Calendar (/boat-service-drop-off-laconia-nh) — PickupDropoff board,
   built around the existing Acuity scheduler embed. Scoped to .nw-pickup */
.nw-pickup .nwm-tab { height: 44px; padding: 0 20px; color: var(--nwm-text); }
.nw-pickup .nwm-tab[aria-selected="true"] { color: #fff; }
.nw-pickup .nwm-acuity iframe { display: block; width: 100%; height: 800px; border: 0; }
.nw-pickup .nwm-type-k { font-size: 12px; letter-spacing: .14em; color: var(--nwm-muted); }
.nw-pickup .nwm-type h3 { margin: 8px 0 0; font-size: 22px; font-weight: 600; }
.nw-pickup .nwm-type p { margin: 12px 0 0; font-family: var(--nwm-font-body); font-size: 14.5px; line-height: 1.6; color: var(--nwm-text-2); }
.nw-pickup .nwm-type p a { color: var(--nwm-navy); font-weight: 600; text-decoration: underline; }
.nw-pickup .nwm-type[hidden] { display: none; }
.nw-pickup .nwm-sched-jump { display: none; }
.nw-pickup .nwm-tips { list-style: none; margin: 0; padding: 0; }
.nw-pickup .nwm-tip { list-style: none; display: flex; gap: 14px; align-items: flex-start; padding: 20px 0; border-bottom: 1px solid var(--nwm-border); }
.nw-pickup .nwm-tip svg { flex: none; }
.nw-pickup .nwm-tip b { display: block; font-size: 16px; font-weight: 600; }
.nw-pickup .nwm-tip span { display: block; font-family: var(--nwm-font-body); font-size: 14px; line-height: 1.55; color: var(--nwm-sub); margin-top: 4px; }

/* board @media rules (this board collapses at 1100px, not the generic 1280px) */
@media (max-width: 1100px) {
    .nw.nw-pickup .nwm-sched-grid[data-keep-grid], .nw.nw-pickup .nwm-help-grid[data-keep-grid] { grid-template-columns: minmax(0, 1fr) !important; }
    .nw.nw-pickup .nwm-help-grid[data-keep-grid] { gap: 56px; }
    .nw-pickup .nwm-types { order: -1; }
    .nw-pickup .nwm-sched-jump { display: inline-flex; }
    .nw-pickup h1[style*="font-size: 5"] { font-size: clamp(34px, 5vw, 54px) !important; line-height: 1.1 !important; }
}
@media (max-width: 900px) {
    .nw-pickup section { padding-bottom: 40px; }
}
@media (max-width: 640px) {
    .nw-pickup [style*="padding: 36px 40px"], .nw-pickup [style*="padding: 56px 52px"] { padding-left: 18px !important; padding-right: 18px !important; }
    .nw-pickup .nwm-ptabs > span { width: 100%; }
    .nw-pickup .nwm-tab { height: 40px; padding: 0 14px; font-size: 13px; }
}
@media (max-width: 640px) {
    .nw-pickup .nwm-acuity { margin-left: -10px; margin-right: -10px; }
}

/* ---------- Page: pier ---------- */
/* Pier location (/north-water-marine-laconia-nh) — Pier board, rebuilt in normal flow on the shared tokens.
   Scoped to .nw-pier */
.nw-pier .nwm-pier-badge { gap: 8px; height: 28px; margin: 0; letter-spacing: .1em; font-weight: 500; border-color: rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .12); }
.nw-pier section[id] { scroll-margin-top: 16px; }

/* numbered eyebrow: "01 —— FUEL UP" */
.nw-pier .nwm-pier-eb { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--nwm-navy); }
.nw-pier .nwm-pier-eb i { display: block; width: 32px; height: 1px; background: currentColor; opacity: .7; }
.nw-pier .nwm-pier-eb.is-light { color: #9aa0a6; }

/* strip */
.nw-pier ul.nwm-pier-strip { list-style: none; margin-top: 0; margin-bottom: 0; padding: 0; }
.nw-pier .nwm-pier-strip > li { list-style: none; display: flex; gap: 12px; align-items: center; padding: 20px 0; }
.nw-pier .nwm-pier-strip svg { flex: none; }
.nw-pier .nwm-pier-strip b { display: block; font-size: 18px; font-weight: 600; color: #fff; }
.nw-pier .nwm-pier-strip span { display: block; font-family: var(--nwm-font-body); font-size: 13.5px; color: rgba(255, 255, 255, .65); margin-top: 3px; }

/* hours card */
.nw-pier .nwm-pier-hours h3 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 18px; font-weight: 600; color: var(--nwm-navy); }
.nw-pier .nwm-pier-hours dl { margin: 12px 0 0; font-family: var(--nwm-font-body); font-size: 15.5px; }
.nw-pier .nwm-pier-hours dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--nwm-border); }
.nw-pier .nwm-pier-hours dl > div:last-child { border-bottom: 0; }
.nw-pier .nwm-pier-hours dt { font-weight: 700; }
.nw-pier .nwm-pier-hours dd { margin: 0; text-align: right; }
.nw-pier .nwm-pier-note { display: flex; align-items: center; gap: 8px; margin: 4px 0 0; padding: 9px 12px; background: var(--nwm-bg-alt); border-radius: 10px; font-family: var(--nwm-font-body); font-size: 14px; color: var(--nwm-text); }
.nw-pier .nwm-pier-note svg { flex: none; color: var(--nwm-navy); }

/* fuel image + distance tag */
.nw-pier .nwm-pier-media { position: relative; aspect-ratio: 1 / 1; max-height: 640px; width: 100%; }
.nw-pier .nwm-pier-media img.nwm-cover { border-radius: 12px; background: #2d5a80; }
.nw-pier .nwm-pier-tag { position: absolute; left: -20px; bottom: -12px; padding: 16px 22px; background: var(--nwm-ink); border-radius: 10px; box-shadow: 0 10px 24px rgba(0, 0, 0, .2); }
.nw-pier .nwm-pier-tag p { margin: 0; font-family: var(--nwm-font-body); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.nw-pier .nwm-pier-tag p + p { margin-top: 6px; font-family: var(--nwm-font-head); font-size: 18px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #fff; }

/* on-site cards */
.nw-pier .nwm-pier-art { background: #fff; border: 1px solid var(--nwm-border); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.nw-pier img.nwm-pier-art-img { width: 100%; height: 260px; object-fit: cover; display: block; background: #2d5a80; }
.nw-pier .nwm-pier-art-body { padding: 28px 28px 32px; display: flex; flex-direction: column; align-items: flex-start; }
.nw-pier .nwm-pier-art h3 { margin: 12px 0 0; font-size: 24px; line-height: 1.25; font-weight: 600; }
.nw-pier .nwm-pier-art .nwm-p { margin-top: 12px; font-size: 15px; }
.nw-pier .nwm-pier-lab { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--nwm-navy); }
.nw-pier .nwm-pier-art.is-wide { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.nw-pier .nwm-pier-art.is-wide img.nwm-pier-art-img { height: 100%; min-height: 380px; }
.nw-pier .nwm-pier-art.is-wide .nwm-pier-art-body { padding: 36px 36px 36px; justify-content: center; }
.nw-pier ul.nwm-pier-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 18px 0 0; padding: 0; }
.nw-pier ul.nwm-pier-chips > li { list-style: none; height: 28px; }
.nw-pier .nwm-pier-shuttle { display: flex; gap: 12px; align-items: center; margin-top: 28px; padding: 16px 18px; background: var(--nwm-ink); border-radius: 12px; color: #fff; }
.nw-pier .nwm-pier-shuttle svg { flex: none; }
.nw-pier .nwm-pier-shuttle strong { display: block; font-size: 17px; font-weight: 600; }
.nw-pier .nwm-pier-shuttle span { display: block; font-size: 13.5px; color: rgba(255, 255, 255, .65); margin-top: 3px; }

/* gallery (Fancybox group "pier") */
.nw-pier .nwm-pier-gal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 260px; gap: 16px; margin-top: 32px; }
.nw-pier .nwm-pier-gi { display: block; border-radius: 12px; overflow: hidden; background: #dfe5ea; }
.nw-pier .nwm-pier-gi.is-feature { grid-column: span 2; grid-row: span 2; }
.nw-pier .nwm-pier-gi img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.nw-pier a.nwm-pier-gi:hover { opacity: 1; }
.nw-pier a.nwm-pier-gi:hover img { transform: scale(1.03); }

/* visit */
.nw-pier .nwm-pier-info { display: flex; gap: 16px; padding: 18px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .18); border-radius: 12px; }
.nw-pier .nwm-pier-info svg { flex: none; }
.nw-pier .nwm-pier-info b { display: block; font-size: 17px; font-weight: 600; color: #fff; }
.nw-pier .nwm-pier-info span { display: block; font-family: var(--nwm-font-body); font-size: 14px; color: rgba(255, 255, 255, .65); margin-top: 2px; }
.nw-pier .nwm-pier-end { margin: 28px 0 0; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #9aa0a6; }
.nw-pier .nwm-pier-visit-img { position: relative; min-height: 480px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 14px; padding: 2px; overflow: hidden; }
.nw-pier .nwm-pier-visit-img img.nwm-cover { position: absolute; inset: 2px; width: calc(100% - 4px); height: calc(100% - 4px); border-radius: 12px; background: #2d4f6c; }

@media (max-width: 1280px) {
    .nw-pier .nwm-pier-gal { grid-auto-rows: 220px; }
    .nw-pier .nwm-pier-art.is-wide { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-pier .nwm-pier-art.is-wide img.nwm-pier-art-img { min-height: 0; height: 300px; }
    .nw-pier .nwm-pier-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 24px; }
}
@media (max-width: 900px) {
    .nw-pier .nwm-pier-media { max-width: 560px; }
    .nw-pier .nwm-pier-tag { left: 12px; }
    .nw-pier .nwm-pier-gal { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 200px; }
    .nw-pier .nwm-pier-visit-img { min-height: 360px; }
}
@media (max-width: 640px) {
    /* strip + gallery: one column (design board rules at 640px; gallery rows 240px) */
    .nw-pier .nwm-pier-strip { grid-template-columns: minmax(0, 1fr) !important; padding: 8px 0; }
    .nw-pier .nwm-pier-strip > li { padding: 14px 0; }
    .nw-pier .nwm-pier-gal { grid-template-columns: minmax(0, 1fr); grid-auto-rows: 240px; }
    .nw-pier .nwm-pier-gi.is-feature { grid-column: 1 / -1; grid-row: auto; }
    .nw-pier .nwm-pier-art-body, .nw-pier .nwm-pier-art.is-wide .nwm-pier-art-body { padding: 24px 22px 26px; }
    .nw-pier img.nwm-pier-art-img { height: 220px; }
    .nw-pier .nwm-pier-hours { padding: 22px 18px !important; }
    .nw-pier .nwm-pier-hours dl > div { flex-direction: column; gap: 2px; }
    .nw-pier .nwm-pier-hours dd { text-align: left; }
    .nw-pier .nwm-pier-visit-img { min-height: 0; aspect-ratio: 1 / 1; } /* board: square photo on mobile */
}

/* ---------- Page: rentals ---------- */
/* Rentals & Charters (/pontoon-bowrider-boat-rentals-laconia-nh) + Greater NH rentals (/hampshire-boat-rentals).
   Rentals board. Scoped to .nw-rentals / .nw-nh-rentals */
.nw-rentals .nwm-rent-badge, .nw-nh-rentals .nwm-rent-badge { position: absolute; top: 18px; left: 18px; height: 24px; padding: 0 11px; }
.nw-rentals .nwm-rent-kicker { font-size: 11px; letter-spacing: .14em; color: var(--nwm-muted); text-transform: uppercase; }
.nw-rentals h3.nwm-rent-boat { margin: 8px 0 0; font-size: 24px; font-weight: 600; }

/* spec row (board .spec) */
.nw-rentals .nwm-rent-spec {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 20px 0 0; padding: 16px 0;
    border-top: 1px solid var(--nwm-border); border-bottom: 1px solid var(--nwm-border);
}
.nw-rentals .nwm-rent-spec dt { display: block; font-family: var(--nwm-font-body); font-size: 11px; font-weight: 400; color: var(--nwm-meta); }
.nw-rentals .nwm-rent-spec dd { display: block; margin: 4px 0 0; font-size: 15px; font-weight: 600; }

.nw-rentals img.nwm-rent-tim { width: 560px; height: 640px; object-fit: cover; object-position: center 30%; border-radius: 12px; display: block; }
.nw-rentals img.nwm-rent-sw-img, .nw-nh-rentals img.nwm-rent-sw-img { width: 660px; height: 440px; object-fit: cover; border-radius: 12px; display: block; }
.nw-rentals a.nwm-rent-inl, .nw-nh-rentals a.nwm-rent-inl { color: var(--nwm-navy); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.nw-rentals .nwm-rent-ticks > li, .nw-nh-rentals .nwm-rent-ticks > li { list-style: none; }
.nw-rentals .nwm-rent-ticks svg, .nw-nh-rentals .nwm-rent-ticks svg { flex: none; }

/* video */
.nw-rentals .nwm-rent-video { position: relative; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: #1c3a52; }
.nw-rentals .nwm-rent-video img.nwm-cover { position: absolute; inset: 0; height: 100%; }
.nw-rentals .nwm-rent-video .nwm-video-btn { width: 96px; height: 96px; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }

/* how it works (ol reset) */
.nw-rentals ol.nwm-rent-steps { list-style: none; padding: 0; margin-bottom: 0; }
.nw-rentals ol.nwm-rent-steps > li { list-style: none; }

/* policies (board .pol) */
.nw-rentals .nwm-rent-pol h3 { margin: 0; font-size: 17px; font-weight: 600; }
.nw-rentals .nwm-rent-pol p { font-family: var(--nwm-font-body); font-size: 14px; line-height: 1.6; color: var(--nwm-text-2); margin: 8px 0 0; }

/* on-page FAQ */
.nw-rentals .nwm-rent-faq-head, .nw-nh-rentals .nwm-rent-faq-head { position: sticky; top: 24px; }
.nw-rentals .nwm-acc-panel p, .nw-nh-rentals .nwm-acc-panel p { margin: 0 0 12px; }
.nw-rentals .nwm-acc-panel p:last-child, .nw-nh-rentals .nwm-acc-panel p:last-child { margin-bottom: 0; }
.nw-rentals .nwm-acc-btn, .nw-nh-rentals .nwm-acc-btn { font-size: 17px; }
.nw-rentals #rental-faq, .nw-nh-rentals #nh-faq { scroll-margin-top: 24px; }

@media (max-width: 1280px) {
    /* quick facts: 2x2 with dividers only between columns */
    .nw-rentals .nwm-rent-facts { height: auto !important; padding: 28px 0; row-gap: 24px; }
    .nw-rentals .nwm-rent-facts > div { padding: 0 24px 0 0 !important; }
    .nw-rentals .nwm-rent-facts > div:nth-child(2n) { border-right: 0 !important; padding-left: 24px !important; }
    .nw-rentals img.nwm-rent-tim { width: 100%; height: 640px; } /* board: full width, 640px tall */
    .nw-rentals img.nwm-rent-sw-img, .nw-nh-rentals img.nwm-rent-sw-img { width: 100%; height: 440px; } /* board: full width, 440px tall */
    .nw-rentals .nwm-rent-g3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 1100px) {
    .nw-rentals .nwm-rent-pol-box { grid-template-columns: minmax(0, 1fr) !important; gap: 40px !important; }
    .nw-rentals .nwm-rent-faq-head, .nw-nh-rentals .nwm-rent-faq-head { position: static; }
}
@media (max-width: 900px) {
    .nw-rentals .nwm-rent-g3 { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-rentals .nwm-rent-steps { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
    .nw-rentals .nwm-rent-facts { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-rentals .nwm-rent-facts > div, .nw-rentals .nwm-rent-facts > div:nth-child(2n) { border-right: 0 !important; padding: 0 !important; }
    .nw-rentals .nwm-rent-steps { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-rentals .nwm-rent-pol-box { padding: 36px 22px !important; }
    .nw-rentals .nwm-rent-video .nwm-video-btn { width: 72px; height: 72px; }
}

/* Greater NH rentals: FAQ sits on the grey band, so panels get a white card */
.nw-nh-rentals .nwm-nh-acc { background: #fff; border: 1px solid var(--nwm-border); border-radius: 12px; padding: 6px 32px; }
.nw-nh-rentals .nwm-nh-acc .nwm-acc:first-child { border-top: 0; }
.nw-nh-rentals .nwm-nh-acc .nwm-acc:last-child { border-bottom: 0; }
@media (max-width: 640px) { .nw-nh-rentals .nwm-nh-acc { padding: 4px 18px; } }

/* ---------- Page: service ---------- */
/* Service & Repair (/boat-service-repair-laconia-nh) — Service board. Scoped to .nw-service */
.nw-service .nwm-certs, .nw-service .nwm-staff, .nw-service .nwm-steps { list-style: none; margin: 0; padding: 0; }
.nw-service .nwm-certs > li, .nw-service .nwm-staff > li, .nw-service .nwm-steps > li { list-style: none; }
.nw-service .nwm-certs { flex-wrap: wrap; justify-content: flex-end; }
.nw-service .nwm-cert {
    height: 64px; padding: 0 26px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 8px;
    display: flex; align-items: center; font-size: 18px; font-weight: 600; letter-spacing: .02em; color: #fff; white-space: nowrap;
}
.nw-service .nwm-svc h3 { margin: 22px 0 0; font-size: 20px; font-weight: 600; }
.nw-service .nwm-svc p { font-family: var(--nwm-font-body); font-size: 14.5px; line-height: 1.6; color: var(--nwm-text-2); margin: 10px 0 0; }
.nw-service .nwm-steps a, .nw-service .nwm-form-note a { color: var(--nwm-navy); text-decoration: underline; }
.nw-service .nwm-panel .nwm-radio { margin-right: 22px; }
.nw-service .iti { display: block; width: 100%; }

/* certifications strip: the board's 150px band can't hold 7 chips below ~1500px */
@media (max-width: 1500px) {
    .nw-service .nwm-wrap[style*="height: 150px"] { height: auto !important; padding: 36px 0; gap: 24px; flex-wrap: wrap; }
    .nw-service .nwm-certs { justify-content: flex-start; }
}
@media (max-width: 640px) {
    .nw-service .nwm-cert { height: 48px; padding: 0 16px; font-size: 15px; }
    .nw-service .nwm-panel { padding: 28px 22px !important; }
}
/* tablet: keep the 4-up card/step grids at 2 columns instead of the generic single column */
@media (min-width: 641px) and (max-width: 900px) {
    .nw.nw-service .nwm-g4.nwm-g4.nwm-g4.nwm-g4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ---------- Page: storage ---------- */
/* Winter Storage (/boat-storage-laconia-nh, /winter-storage) — Storage board. Scoped to .nw-storage */
.nw-storage .nwm-tl-list, .nw-storage .nwm-dots { list-style: none; margin: 0; padding: 0; }
.nw-storage .nwm-tl-list > li, .nw-storage .nwm-dots > li { list-style: none; }

/* off-season timeline */
.nw-storage .nwm-tl { position: relative; padding-top: 34px; }
.nw-storage .nwm-tl:before { content: ""; position: absolute; top: 9px; left: 0; right: -24px; height: 2px; background: rgba(255, 255, 255, .2); }
.nw-storage .nwm-tl:last-child:before { right: 0; }
.nw-storage .nwm-dot { position: absolute; top: 0; left: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--nwm-blue); border: 4px solid var(--nwm-navy); box-shadow: 0 0 0 1px var(--nwm-blue); }
.nw-storage .nwm-tl small { display: block; font-size: 12px; letter-spacing: .14em; color: var(--nwm-blue-200); }
.nw-storage .nwm-tl h3 { margin: 10px 0 0; font-size: 21px; font-weight: 600; }
.nw-storage .nwm-tl p { font-family: var(--nwm-font-body); font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, .7); margin: 10px 0 0; }

/* winterization card 1 bullet list */
.nw-storage .nwm-dots li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--nwm-text); }
.nw-storage .nwm-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--nwm-navy); flex: none; }

/* FAQ (board .q rows) as a real accordion */
.nw-storage .nwm-faq { border-top: 1px solid #dfe3e7; }
.nw-storage .nwm-faq .nwm-acc { border-top: 0; border-bottom: 1px solid var(--nwm-border); }
.nw-storage .nwm-faq .nwm-acc-btn { padding: 24px 0; font-size: 18px; }
.nw-storage .nwm-faq .nwm-acc-sign { width: 28px; height: 28px; font-size: 16px; }
.nw-storage .nwm-faq .nwm-acc-sign:before { content: "+"; }
.nw-storage .nwm-faq .nwm-acc-btn[aria-expanded="true"] .nwm-acc-sign:before { content: "\2212"; }
.nw-storage .nwm-faq .nwm-acc-panel { margin-top: -12px; padding: 0 0 24px; font-size: 14.5px; line-height: 1.6; color: var(--nwm-text-2); }
.nw-storage .nwm-faq .nwm-acc-panel p { margin: 0; }
.nw-storage .nwm-faq .nwm-acc-panel a { color: var(--nwm-navy); font-weight: 600; }

/* form */
.nw-storage .nwm-form-sep { font-size: 12px; letter-spacing: .14em; color: var(--nwm-navy); font-weight: 600; margin: 34px 0 16px; padding-top: 26px; border-top: 1px solid #c9dfed; }
.nw-storage .nwm-form-note a { color: var(--nwm-navy); text-decoration: underline; }
.nw-storage .iti { display: block; width: 100%; }

/* board @media additions */
@media (max-width: 1280px) {
    .nw-storage .nwm-tl:before { right: 0; }
}
@media (min-width: 641px) and (max-width: 900px) {
    .nw.nw-storage .nwm-g4.nwm-g4.nwm-g4.nwm-g4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 900px) {
    .nw-storage img[width="660"] { width: 100% !important; height: auto !important; aspect-ratio: 660 / 500; }
}
@media (max-width: 640px) {
    .nw-storage .nwm-tl:before { display: none; }
    .nw-storage .nwm-panel { padding: 28px 22px !important; }
}

/* ---------- Page: thank-you ---------- */
/* Thank-you page (ThankYou board). Scoped to .nw-thanks. */
.nw-thanks h1 { color: #fff; }
.nw-thanks .nwm-thanks-steps { list-style: none; padding: 0; margin-bottom: 0; }
.nw-thanks .nwm-thanks-steps > li { list-style: none; }
.nw-thanks .nwm-thanks-tile { display: block; border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid var(--nwm-border, #e6e8eb); color: var(--nwm-ink, #212429); }
.nw-thanks a.nwm-thanks-tile:hover { color: var(--nwm-ink, #212429); box-shadow: 0 8px 24px rgba(16, 24, 40, .08); opacity: 1; }
.nw-thanks .nwm-thanks-tile img { width: 100%; height: 220px; object-fit: cover; display: block; }
.nw-thanks .nwm-thanks-tile div { padding: 22px 24px 26px; }
.nw-thanks .nwm-thanks-tile b { display: block; font-size: 20px; font-weight: 600; }
.nw-thanks .nwm-thanks-tile span { display: block; font-family: var(--nwm-font-body, 'Open Sans', sans-serif); font-size: 14px; color: var(--nwm-sub, #6b7580); margin-top: 8px; line-height: 1.5; }

/* board: at <=1000px steps and tiles go single column, h1 40px */
@media (max-width: 1000px) {
    .nw-thanks [style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
    .nw-thanks h1 { font-size: 40px !important; }
}
@media (max-width: 640px) {
    .nw-thanks section[style*="padding: 110px"] { padding: 84px 0 90px !important; }
    .nw-thanks h1 { font-size: 34px !important; }
    .nw-thanks section[style*="padding: 60px"] { padding-left: 0 !important; padding-right: 0 !important; }
    .nw-thanks [style*="font-size: 34px"] { font-size: 28px !important; }
}

/* ---------- Page: trade ---------- */
/* Trade or Consign (/sell-trade-boat-new-hampshire) — Trade board. Scoped to .nw-trade */
.nw-trade .nwm-steps, .nw-trade .nwm-cklist { list-style: none; margin: 0; padding: 0; }
.nw-trade .nwm-steps > li, .nw-trade .nwm-cklist > li { list-style: none; }
.nw-trade .nwm-tnum { width: 52px; height: 52px; border-radius: 50%; background: var(--nwm-tile); color: var(--nwm-navy); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 20px; }
.nw-trade .nwm-ck { display: flex; gap: 14px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--nwm-border); }
.nw-trade .nwm-ck svg { flex: none; }
.nw-trade .nwm-ck b { display: block; font-size: 16px; font-weight: 600; }
.nw-trade .nwm-ck span { display: block; font-family: var(--nwm-font-body); font-size: 14px; line-height: 1.55; color: var(--nwm-sub); margin-top: 3px; }

/* form */
.nw-trade .nwm-form-sep { font-size: 12px; letter-spacing: .14em; color: var(--nwm-navy); font-weight: 600; margin: 34px 0 16px; padding-top: 26px; border-top: 1px solid #c9dfed; }
.nw-trade .nwm-form-note a { color: var(--nwm-navy); text-decoration: underline; }
.nw-trade .iti { display: block; width: 100%; }
/* #trailer keeps the id/required check forms.js uses; the radios above drive it */
.nw-trade input.nwm-sync { position: absolute; left: 0; top: 0; width: 1px; height: 1px; padding: 0; border: 0; opacity: 0; pointer-events: none; }

@media (max-width: 640px) {
    .nw-trade .nwm-panel { padding: 28px 22px !important; }
}
/* keep the 3 step cards in one row down to tablet (avoids a 2+1 orphan) */
@media (min-width: 901px) and (max-width: 1280px) {
    .nw.nw-trade .nwm-g3.nwm-g3.nwm-g3.nwm-g3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* ---------- Page: valet ---------- */
/* Summer Valet (/summer-boat-valet-laconia-nh) — Valet board. Scoped to .nw-valet */
.nw-valet .nwm-steps { list-style: none; margin: 0; padding: 0; }
.nw-valet .nwm-steps > li { list-style: none; }
.nw-valet .nwm-num { background: var(--nwm-blue); }
.nw-valet .nwm-step { display: flex; gap: 22px; padding: 28px 0; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.nw-valet .nwm-step h3 { margin: 0; font-size: 22px; font-weight: 600; }
.nw-valet .nwm-step p { font-family: var(--nwm-font-body); font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, .72); margin: 8px 0 0; }
.nw-valet .nwm-video a:hover { opacity: 1; }
.nw-valet .nwm-video a:hover .nwm-play { transform: translate(-50%, -50%) scale(1.05) !important; }
.nw-valet .nwm-play { transition: transform .2s; }
.nw-valet .nwm-video a:focus-visible { outline-offset: -6px; }
.nw-valet .iti { display: block; width: 100%; }

/* FAQ (board .q rows) as a real accordion */
.nw-valet .nwm-faq { border-top: 1px solid #dfe3e7; }
.nw-valet .nwm-faq .nwm-acc { border-top: 0; border-bottom: 1px solid var(--nwm-border); }
.nw-valet .nwm-faq .nwm-acc-btn { padding: 24px 0; font-size: 18px; }
.nw-valet .nwm-faq .nwm-acc-sign { width: 28px; height: 28px; font-size: 16px; }
.nw-valet .nwm-faq .nwm-acc-sign:before { content: "+"; }
.nw-valet .nwm-faq .nwm-acc-btn[aria-expanded="true"] .nwm-acc-sign:before { content: "\2212"; }
.nw-valet .nwm-faq .nwm-acc-panel { margin-top: -12px; padding: 0 0 24px; font-size: 14.5px; line-height: 1.6; color: var(--nwm-text-2); }
.nw-valet .nwm-faq .nwm-acc-panel p { margin: 0; }
.nw-valet .nwm-faq .nwm-acc-panel a { color: var(--nwm-navy); font-weight: 600; }

/* form */
.nw-valet .nwm-form-sep { font-size: 12px; letter-spacing: .14em; color: var(--nwm-navy); font-weight: 600; margin: 34px 0 16px; padding-top: 26px; border-top: 1px solid #c9dfed; }
.nw-valet .nwm-form-note a { color: var(--nwm-navy); text-decoration: underline; }

/* board @media additions */
@media (max-width: 1280px) {
    .nw-valet h1[style*="font-size: 6"] { font-size: clamp(40px, 5.4vw, 64px) !important; line-height: 1.05 !important; }
}
@media (max-width: 900px) {
    .nw-valet .nwm-step { flex-wrap: nowrap; }
    .nw-valet [style*="height: 788px"] { height: auto !important; aspect-ratio: 16 / 9; }
    .nw-valet [style*="margin-top: 160px"] { margin-top: 40px !important; }
    .nw-valet img[width="660"] { width: 100% !important; height: auto !important; aspect-ratio: 660 / 500; }
}
@media (max-width: 640px) {
    .nw-valet .nwm-play { width: 72px !important; height: 72px !important; }
    .nw-valet .nwm-play svg { width: 26px; height: 26px; }
    .nw-valet .nwm-video [style*="left: 44px"] { left: 20px !important; bottom: 18px !important; }
    .nw-valet .nwm-video [style*="font-size: 28px"] { font-size: 16px !important; }
    .nw-valet .nwm-video [style*="letter-spacing: .14em"] { display: none !important; }
    .nw-valet .nwm-panel { padding: 28px 22px !important; }
}
