:root {
    --nww-black: #110000;
    --nww-navy: #004587;
    --nww-navy-2: #0065c4;
    --nww-blue: #0065c4;
    --nww-cyan: #428bca;
    --nww-orange: #dd6420;
    --nww-ink: #110000;
    --nww-muted: #515151;
    --nww-line: #e6e6e6;
    --nww-pale: #f5f7fa;
    --nww-white: #fff;
    --nww-shadow: 0 18px 45px rgba(8, 34, 53, .12);
    --nww-radius: 14px;
    --nww-container: 1180px;
}

/* ProGuard tenant storage lockers */
.nww-locker-page { background: #fff; }
.nww-locker-hero { min-height: clamp(520px, 62vh, 650px); }
.nww-locker-hero .nww-product-hero__image { background: url('images/tenant-locker-hero-2026.jpg') center 48%/cover no-repeat; filter: saturate(1.03) contrast(1.04); }
.nww-locker-hero .nww-product-hero__content { padding-block: 2.3rem 1.7rem; }
.nww-locker-proof { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 1.5rem 0 0; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.28); border-radius: 10px; background: rgba(255,255,255,.22); list-style: none; }
.nww-locker-proof li { display: grid; gap: .16rem; padding: .8rem 1rem; background: rgba(1,32,61,.72); }
.nww-locker-proof strong { color: #fff; font-size: .82rem; }
.nww-locker-proof span { color: rgba(255,255,255,.8); font-size: .72rem; }
.nww-locker-two-col { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); align-items: center; gap: clamp(2rem, 6vw, 5.5rem); }
.nww-locker-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-top: 1.5rem; }
.nww-locker-benefits article { display: grid; gap: .22rem; padding: 1rem; border-left: 4px solid var(--nww-orange); background: var(--nww-pale); }
.nww-locker-benefits strong { color: var(--nww-navy); font-size: .9rem; }
.nww-locker-benefits span { color: var(--nww-muted); font-size: .78rem; line-height: 1.45; }
.nww-locker-photo { margin: 0; overflow: hidden; border-radius: var(--nww-radius); box-shadow: var(--nww-shadow); background: #fff; }
.nww-locker-photo img { width: 100%; height: 510px; object-fit: cover; }
.nww-locker-photo figcaption, .nww-locker-diagram figcaption { padding: .75rem 1rem; color: var(--nww-muted); font-size: .72rem; line-height: 1.45; }
.nww-locker-planner { background: var(--nww-navy); color: #fff; }
.nww-locker-planner h2, .nww-locker-planner h3 { color: #fff; }
.nww-locker-planner .nww-section-heading>p:last-child { color: rgba(255,255,255,.72); }
.nww-locker-planner__grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 1.3rem; align-items: stretch; }
.nww-locker-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; padding: 1.3rem; border-radius: var(--nww-radius); background: #fff; color: var(--nww-ink); }
.nww-locker-form>label { display: grid; gap: .35rem; color: var(--nww-navy); font-size: .78rem; font-weight: 850; }
.nww-locker-form input[type="number"], .nww-locker-form select { min-height: 48px; width: 100%; padding: .65rem .75rem; border: 1px solid #a9bdca; border-radius: 6px; background: #fff; color: var(--nww-ink); font: inherit; }
.nww-locker-form fieldset { display: grid; gap: .55rem; margin: 0; padding: 1rem; border: 1px solid var(--nww-line); border-radius: 8px; }
.nww-locker-form legend { padding: 0 .3rem; color: var(--nww-navy); font-size: .78rem; font-weight: 850; }
.nww-locker-form fieldset label { display: flex; gap: .55rem; align-items: flex-start; font-size: .75rem; line-height: 1.35; }
.nww-locker-form input[type="checkbox"], .nww-locker-form input[type="radio"] { flex: 0 0 auto; margin-top: .18rem; accent-color: var(--nww-blue); }
.nww-locker-summary { display: flex; flex-direction: column; padding: 1.5rem; border-radius: var(--nww-radius); background: linear-gradient(145deg, #0876d1, #00539b); box-shadow: 0 22px 60px rgba(0,0,0,.22); }
.nww-locker-summary>p:not(.nww-eyebrow), .nww-locker-summary li, .nww-locker-summary small { color: rgba(255,255,255,.84); }
.nww-locker-summary ul { padding-left: 1.15rem; font-size: .82rem; }
.nww-locker-assumption { display: grid; gap: .3rem; padding: .9rem; border: 1px solid rgba(255,255,255,.27); border-radius: 8px; background: rgba(0,26,52,.26); }
.nww-locker-assumption span { font-size: .78rem; line-height: 1.45; }
.nww-locker-summary .nww-button { margin-top: auto; border-color: var(--nww-orange); background: var(--nww-orange); color: #151515; }
.nww-locker-summary small { display: block; margin-top: .8rem; font-size: .68rem; line-height: 1.4; }
.nww-locker-start, .nww-locker-tiers, .nww-locker-downloads { background: var(--nww-pale); }
.nww-locker-two-col--diagram { align-items: start; grid-template-columns: minmax(0, 1fr) minmax(400px, .85fr); }
.nww-locker-diagram { margin: 0; overflow: hidden; border: 1px solid var(--nww-line); border-radius: var(--nww-radius); background: #fff; box-shadow: var(--nww-shadow); }
.nww-locker-diagram button, .nww-locker-install-grid button { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #fff; cursor: zoom-in; }
.nww-locker-diagram img { width: 100%; height: 470px; object-fit: contain; }
.nww-locker-diagram button span, .nww-locker-install-grid button span { position: absolute; right: .65rem; bottom: .65rem; padding: .35rem .55rem; border-radius: 5px; background: rgba(0,39,76,.9); color: #fff; font-size: .67rem; font-weight: 800; }
.nww-locker-definition-list { display: grid; gap: .75rem; }
.nww-locker-definition-list article { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding: 1rem; border: 1px solid var(--nww-line); border-radius: 8px; background: #fff; }
.nww-locker-definition-list article>span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--nww-blue); color: #fff; font-size: .72rem; font-weight: 900; }
.nww-locker-definition-list h3 { margin-bottom: .25rem; font-size: 1.05rem; }
.nww-locker-definition-list p { margin: 0; color: var(--nww-muted); font-size: .8rem; line-height: 1.48; }
.nww-locker-component-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.nww-locker-component-grid article { padding: 1.15rem; border-top: 4px solid var(--nww-blue); border-radius: 4px 4px 10px 10px; background: #fff; box-shadow: 0 10px 28px rgba(0,39,76,.09); }
.nww-locker-component-grid b { color: var(--nww-orange); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.nww-locker-component-grid h3 { margin: .35rem 0; font-size: 1rem; }
.nww-locker-component-grid p { margin: 0; color: var(--nww-muted); font-size: .76rem; line-height: 1.5; }
.nww-locker-tier-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.nww-locker-tier-grid article { overflow: hidden; border-radius: var(--nww-radius); background: #fff; box-shadow: var(--nww-shadow); }
.nww-locker-tier-grid img { width: 100%; height: 300px; object-fit: contain; background: #fff; }
.nww-locker-tier-grid article>div { padding: 1.1rem; }
.nww-locker-tier-grid h3 { margin-bottom: .35rem; }
.nww-locker-tier-grid p:not(.nww-eyebrow) { color: var(--nww-muted); font-size: .82rem; }
.nww-locker-tier-custom { display: grid; align-items: end; min-height: 440px; background: linear-gradient(155deg, var(--nww-navy), var(--nww-blue)) !important; }
.nww-locker-tier-custom h3, .nww-locker-tier-custom p:not(.nww-eyebrow), .nww-locker-tier-custom .nww-text-link { color: #fff; }
.nww-locker-install { background: #fff; }
.nww-locker-install-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.nww-locker-install-grid figure { margin: 0; overflow: hidden; border: 1px solid var(--nww-line); border-radius: 10px; background: #fff; }
.nww-locker-install-grid img { width: 100%; height: 270px; object-fit: contain; }
.nww-locker-install-grid figcaption { display: grid; gap: .25rem; padding: .85rem; }
.nww-locker-install-grid small { color: var(--nww-muted); line-height: 1.4; }
.nww-locker-warning, .nww-locker-note { margin-top: 1.2rem; padding: 1rem 1.15rem; border-left: 5px solid var(--nww-orange); background: #fff5eb; }
.nww-locker-warning p, .nww-locker-note { color: #5c4b3e; font-size: .8rem; line-height: 1.55; }
.nww-locker-warning p { margin: .25rem 0 0; }
.nww-locker-options { background: #f8fafb; }
.nww-locker-options-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.nww-locker-options-grid article { padding: 1.2rem; border-radius: 10px; background: #fff; box-shadow: 0 10px 25px rgba(0,39,76,.07); }
.nww-locker-options-grid article>span { color: var(--nww-orange); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.nww-locker-options-grid dl { margin-bottom: 0; }
.nww-locker-options-grid dl>div { display: grid; grid-template-columns: 95px 1fr; gap: .65rem; padding: .65rem 0; border-bottom: 1px solid var(--nww-line); }
.nww-locker-options-grid dl>div:last-child { border: 0; }
.nww-locker-options-grid dt { color: var(--nww-navy); font-size: .72rem; font-weight: 850; }
.nww-locker-options-grid dd { margin: 0; color: var(--nww-muted); font-size: .74rem; line-height: 1.4; }
.nww-locker-locks { display: grid; grid-template-columns: .8fr 1.2fr; gap: 2rem; align-items: center; margin-top: 3rem; }
.nww-locker-lock-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.nww-locker-lock-cards figure { margin: 0; overflow: hidden; border-radius: 10px; background: #fff; box-shadow: var(--nww-shadow); }
.nww-locker-lock-cards img { width: 100%; height: 260px; object-fit: contain; }
.nww-locker-lock-cards figcaption { display: grid; gap: .2rem; padding: .8rem; }
.nww-locker-lock-cards span { color: var(--nww-muted); font-size: .72rem; }
.nww-locker-download-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.nww-locker-download-grid a { display: grid; gap: .45rem; min-height: 180px; padding: 1.2rem; border: 1px solid var(--nww-line); border-radius: 10px; background: #fff; color: var(--nww-ink); text-decoration: none; box-shadow: 0 10px 24px rgba(0,39,76,.06); }
.nww-locker-download-grid a:hover { transform: translateY(-2px); box-shadow: var(--nww-shadow); }
.nww-locker-download-grid span { color: var(--nww-orange); font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.nww-locker-download-grid strong { color: var(--nww-navy); font-size: 1rem; line-height: 1.35; }
.nww-locker-download-grid em { margin-top: auto; color: var(--nww-blue); font-size: .76rem; font-style: normal; font-weight: 850; }
.nww-locker-send { display: grid; grid-template-columns: .75fr 1.25fr; gap: 2rem; margin-top: 1.5rem; padding: 1.5rem; border-radius: var(--nww-radius); background: var(--nww-navy); color: #fff; }
.nww-locker-send h3 { color: #fff; }
.nww-locker-send ol { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.nww-locker-send li { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: .7rem; font-size: .78rem; }
.nww-locker-send li span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--nww-orange); color: #111; font-weight: 900; }
.nww-locker-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.nww-locker-faq details { align-self: start; padding: 1rem; border: 1px solid var(--nww-line); border-radius: 8px; background: #fff; }
.nww-locker-faq summary { color: var(--nww-navy); font-weight: 850; cursor: pointer; }
.nww-locker-faq details p { margin: .8rem 0 0; color: var(--nww-muted); font-size: .82rem; line-height: 1.55; }
.nww-locker-final { background: linear-gradient(130deg, var(--nww-blue), var(--nww-navy)); color: #fff; }
.nww-locker-final .nww-container { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.nww-locker-final h2 { max-width: 760px; color: #fff; }
.nww-locker-final p:not(.nww-eyebrow) { max-width: 760px; color: rgba(255,255,255,.8); }
.nww-locker-final .nww-actions { flex: 0 0 auto; }
@media (max-width: 1000px) {
  .nww-locker-proof, .nww-locker-component-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nww-locker-two-col, .nww-locker-two-col--diagram, .nww-locker-planner__grid, .nww-locker-locks, .nww-locker-send { grid-template-columns: 1fr; }
  .nww-locker-tier-grid, .nww-locker-install-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nww-locker-tier-custom { min-height: 0; }
}
@media (max-width: 700px) {
  .nww-locker-hero { min-height: 660px; }
  .nww-locker-proof, .nww-locker-benefits, .nww-locker-form, .nww-locker-component-grid, .nww-locker-tier-grid, .nww-locker-install-grid, .nww-locker-options-grid, .nww-locker-lock-cards, .nww-locker-download-grid, .nww-locker-faq-grid { grid-template-columns: 1fr; }
  .nww-locker-photo img { height: 380px; }
  .nww-locker-diagram img { height: 320px; }
  .nww-locker-final .nww-container { display: grid; }
  .nww-locker-final .nww-actions { display: grid; width: 100%; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--nww-ink); background: #fff; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 17px; line-height: 1.62; }
body.admin-bar .nww-header { top: 32px; }
a { color: var(--nww-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
h1, h2, h3 { margin: 0 0 .6em; color: var(--nww-navy); font-family: ui-sans-serif, system-ui, sans-serif; line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(2.8rem, 6vw, 5.4rem); }
h2 { font-size: clamp(2rem, 4vw, 3.45rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); }
p { margin: 0 0 1.25em; }

.nww-container { width: min(var(--nww-container), calc(100% - 42px)); margin-inline: auto; }
.nww-skip { position: fixed; z-index: 99999; left: 1rem; top: -5rem; padding: .7rem 1rem; background: #fff; color: #000; }
.nww-skip:focus { top: 1rem; }
.nww-eyebrow { margin: 0 0 .8rem; color: var(--nww-orange); font-size: .78rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.nww-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: .78rem 1.25rem; border: 2px solid var(--nww-blue); border-radius: 7px; background: var(--nww-blue); color: #fff; font-weight: 850; line-height: 1.1; text-decoration: none; transition: transform .2s, box-shadow .2s, background .2s; }
.nww-button:hover, .nww-button:focus { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.nww-button--small { min-height: 44px; padding: .63rem 1rem; font-size: .9rem; }
.nww-button--ghost { border-color: rgba(255,255,255,.62); background: rgba(4,22,35,.22); color: #fff; }
.nww-button--light { border-color: #fff; background: #fff; color: var(--nww-navy); }
.nww-button--ghost-light { border-color: rgba(255,255,255,.65); background: transparent; color: #fff; }
.nww-text-link { font-weight: 800; text-decoration: none; }
.nww-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem; }

.nww-header { position: sticky; z-index: 1000; top: 0; background: rgba(255,255,255,.97); box-shadow: 0 1px 0 rgba(9,39,63,.12); backdrop-filter: blur(12px); }
.nww-utility { background: var(--nww-black); color: rgba(255,255,255,.86); font-size: .78rem; font-weight: 700; letter-spacing: .02em; }
.nww-utility__inner { display: flex; min-height: 34px; align-items: center; justify-content: space-between; gap: 1rem; }
.nww-utility nav { display: flex; gap: 1.2rem; }
.nww-utility a { color: #fff; text-decoration: none; }
.nww-nav { position: relative; display: flex; min-height: 78px; align-items: center; gap: 2rem; }
.nww-brand { display: block; width: 215px; margin-right: auto; }
.nww-brand img { display: block; }
.nww-primary { display: flex; align-items: center; gap: clamp(.8rem, 2vw, 1.5rem); }
.nww-primary a { color: var(--nww-navy); font-size: .92rem; font-weight: 780; text-decoration: none; }
.nww-primary a:hover, .nww-primary a:focus { color: var(--nww-blue); }
.nww-menu-button { display: none; border: 0; background: none; color: var(--nww-navy); font-weight: 850; }
.nww-nav-item--products { position: static; }
.nww-products-trigger { display: flex; align-items: center; }
.nww-products-trigger .nww-nav-link { padding-block: 1.65rem; }
.nww-products-toggle { display: grid; width: 28px; height: 38px; margin-left: -.1rem; padding: 0; place-items: center; border: 0; background: transparent; color: var(--nww-navy); cursor: pointer; }
.nww-products-toggle span { display: block; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.nww-products-toggle[aria-expanded="true"] span { transform: translateY(2px) rotate(225deg); }
.nww-products-menu { position: absolute; z-index: 30; top: calc(100% - 1px); right: 0; left: 0; display: grid; grid-template-columns: 1.05fr repeat(3, 1fr); gap: 0; overflow: hidden; border: 1px solid #d8e1e8; border-top: 4px solid var(--nww-orange); border-radius: 0 0 12px 12px; background: #fff; box-shadow: 0 24px 55px rgba(0,39,76,.2); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px); transition: opacity .18s, transform .18s, visibility .18s; }
.nww-nav-item--products:hover .nww-products-menu, .nww-nav-item--products:focus-within .nww-products-menu, .nww-nav-item--products.is-open .nww-products-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.nww-products-menu__intro { display: flex; flex-direction: column; align-items: flex-start; padding: 1.45rem; background: linear-gradient(145deg, var(--nww-navy), var(--nww-blue)); color: rgba(255,255,255,.84); }
.nww-products-menu__intro>span, .nww-products-menu__group>span { margin-bottom: .7rem; color: var(--nww-orange); font-size: .67rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.nww-products-menu__intro>strong { color: #fff; font-size: 1.2rem; line-height: 1.25; }
.nww-products-menu__intro>a { margin-top: auto; padding-top: 1.1rem; color: #fff; font-size: .78rem; font-weight: 850; }
.nww-products-menu__group { display: flex; flex-direction: column; padding: 1.25rem; border-left: 1px solid var(--nww-line); }
.nww-products-menu__group>a { display: grid; gap: .1rem; padding: .55rem 0; border-bottom: 1px solid #edf1f4; }
.nww-products-menu__group>a:last-child { border-bottom: 0; }
.nww-products-menu__group strong { color: var(--nww-navy); font-size: .82rem; line-height: 1.25; }
.nww-products-menu__group small { color: var(--nww-muted); font-size: .65rem; font-weight: 550; line-height: 1.35; }
.nww-products-menu__group>a:hover strong, .nww-products-menu__group>a:focus strong { color: var(--nww-blue); }
.nww-products-menu__group>a.nww-products-menu__tool { margin: .28rem 0; padding: .62rem .68rem; border: 1px solid #b9d4e6; border-radius: 7px; background: #eef7fc; }
.nww-products-menu__group>a.nww-products-menu__tool strong { color: var(--nww-blue); }
.nww-products-menu__group>a.nww-products-menu__tool small { color: #365a70; }

.nww-hero { position: relative; min-height: 760px; display: grid; align-items: center; overflow: hidden; background: var(--nww-navy); color: #fff; }
.nww-hero__image { position: absolute; inset: 0; background: url('/wp-content/uploads/2023/04/IMG_0560-scaled-1.jpeg') center/cover no-repeat; transform: scale(1.02); }
.nww-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,24,39,.97) 0%, rgba(4,24,39,.84) 46%, rgba(4,24,39,.3) 78%, rgba(4,24,39,.18) 100%); }
.nww-hero__content { position: relative; padding-block: 7rem 5rem; }
.nww-hero h1 { max-width: 900px; color: #fff; }
.nww-hero__lead { max-width: 760px; color: rgba(255,255,255,.88); font-size: clamp(1.12rem, 2vw, 1.38rem); }
.nww-hero .nww-actions { margin-top: 2rem; }
.nww-proof { display: grid; max-width: 920px; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 4.4rem 0 0; padding: 0; list-style: none; }
.nww-proof li { padding-left: 1rem; border-left: 3px solid var(--nww-cyan); }
.nww-proof strong, .nww-proof span { display: block; }
.nww-proof strong { color: #fff; font-size: 1rem; }
.nww-proof span { color: rgba(255,255,255,.7); font-size: .84rem; }

.nww-audience { position: relative; z-index: 2; margin-top: -32px; }
.nww-audience__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-radius: var(--nww-radius); background: #fff; box-shadow: var(--nww-shadow); overflow: hidden; }
.nww-audience a { display: grid; gap: .2rem; padding: 1.5rem 1.7rem; color: var(--nww-navy); text-decoration: none; }
.nww-audience a + a { border-left: 1px solid var(--nww-line); }
.nww-audience span { color: var(--nww-blue); font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.nww-audience strong { font-size: 1.02rem; line-height: 1.35; }

.nww-journey { background: #fff; }
.nww-journey__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2.5rem, 7vw, 6rem); align-items: start; }
.nww-journey__grid > div:first-child > p:not(.nww-eyebrow) { color: var(--nww-muted); }
.nww-journey__choices { display: grid; gap: .65rem; margin-top: 1.8rem; }
.nww-journey__choices button { padding: 1rem 1.1rem; border: 1px solid var(--nww-line); border-radius: 8px; background: #fff; color: var(--nww-navy); font-weight: 820; text-align: left; cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.nww-journey__choices button:hover, .nww-journey__choices button:focus, .nww-journey__choices button.is-active { border-color: var(--nww-blue); background: var(--nww-pale); transform: translateX(4px); }
.nww-journey__result { min-height: 420px; padding: clamp(2rem, 5vw, 4rem); border-radius: var(--nww-radius); background: linear-gradient(140deg, var(--nww-navy), var(--nww-navy-2)); color: rgba(255,255,255,.8); box-shadow: var(--nww-shadow); }
.nww-journey__result h3 { color: #fff; font-size: clamp(1.8rem, 3.5vw, 3rem); }
.nww-journey__result .nww-text-link { color: #fff; }

.nww-section { padding-block: clamp(4.5rem, 8vw, 8rem); }
.nww-section-heading { max-width: 790px; margin-bottom: 2.6rem; }
.nww-section-heading > p:last-child { color: var(--nww-muted); font-size: 1.08rem; }
.nww-section-heading--split { display: flex; max-width: none; align-items: end; justify-content: space-between; gap: 2rem; }
.nww-section-heading--split > div { max-width: 820px; }

.nww-finder { background: linear-gradient(180deg, #f5f9fb 0%, #fff 100%); }
.nww-finder__choices { display: flex; flex-wrap: wrap; gap: .7rem; }
.nww-finder__choices button { padding: .8rem 1rem; border: 1px solid #b9cbd6; border-radius: 999px; background: #fff; color: var(--nww-navy); font-weight: 780; cursor: pointer; }
.nww-finder__choices button:hover, .nww-finder__choices button:focus, .nww-finder__choices button.is-active { border-color: var(--nww-blue); background: var(--nww-blue); color: #fff; }
.nww-finder__result { display: grid; min-height: 245px; align-items: center; margin-top: 1.5rem; padding: clamp(1.8rem, 5vw, 3.6rem); border-left: 7px solid var(--nww-orange); border-radius: var(--nww-radius); background: var(--nww-navy); color: rgba(255,255,255,.82); box-shadow: var(--nww-shadow); }
.nww-finder__result h3 { color: #fff; font-size: clamp(1.7rem, 4vw, 2.6rem); }
.nww-finder__result > div { max-width: 890px; }

.nww-products-section { background: #fff; }
.nww-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.nww-product-card { border: 1px solid var(--nww-line); border-radius: var(--nww-radius); background: #fff; box-shadow: 0 10px 30px rgba(9,39,63,.07); overflow: hidden; }
.nww-product-card__image { min-height: 285px; background-position: center; background-size: cover; transition: transform .35s; }
.nww-product-card:hover .nww-product-card__image { transform: scale(1.015); }
.nww-product-card--proguard .nww-product-card__image { background-image: url('/wp-content/uploads/2023/04/IMG_0560-scaled-square.jpeg'); }
.nww-product-card--maxguard .nww-product-card__image { background-image: url('/wp-content/uploads/2023/04/IMG_0560-scaled-1-1024x768.jpeg'); }
.nww-product-card--lockers .nww-product-card__image { background-image: url('/wp-content/uploads/2023/04/proguard-tenant-storage-locker-slider-square.jpg'); }
.nww-product-card--railing .nww-product-card__image { background-image: url('/wp-content/uploads/2023/04/139-square.jpg'); }
.nww-product-card__body { padding: 1.55rem; }
.nww-product-card__body > span { color: var(--nww-blue); font-size: .76rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.nww-product-card__body h3 { margin-top: .45rem; }
.nww-product-card__body p { color: var(--nww-muted); }
.nww-product-card__body a { font-weight: 850; text-decoration: none; }

.nww-compare-callout { background: var(--nww-black); color: rgba(255,255,255,.78); }
.nww-compare-callout__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2.5rem, 7vw, 6rem); align-items: center; }
.nww-compare-callout h2 { color: #fff; }
.nww-compare-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--nww-radius); background: rgba(255,255,255,.16); overflow: hidden; }
.nww-compare-mini > div { display: grid; gap: .35rem; padding: 1.45rem; background: #0b2c44; }
.nww-compare-mini span { color: var(--nww-cyan); font-size: .76rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.nww-compare-mini strong { color: #fff; font-size: 1.15rem; }
.nww-compare-mini small { color: rgba(255,255,255,.67); }
.nww-compare-mini .nww-button { grid-column: 1 / -1; margin: 1rem; }

.nww-workflow { background: var(--nww-pale); }
.nww-workflow__grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(3rem, 8vw, 7rem); }
.nww-workflow__grid > div > p:not(.nww-eyebrow) { color: var(--nww-muted); font-size: 1.08rem; }
.nww-steps { margin: 0; padding: 0; list-style: none; }
.nww-steps li { display: grid; grid-template-columns: 64px 1fr; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid #c9d8e0; }
.nww-steps li > span { color: var(--nww-orange); font-size: 1.55rem; font-weight: 900; }
.nww-steps strong { color: var(--nww-navy); font-size: 1.15rem; }
.nww-steps p { margin: .2rem 0 0; color: var(--nww-muted); }

.nww-resources-callout { background: #fff; }
.nww-resources-callout__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 7rem); }
.nww-resource-links { display: grid; }
.nww-resource-links a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem 0; border-bottom: 1px solid var(--nww-line); color: var(--nww-navy); text-decoration: none; }
.nww-resource-links span { color: var(--nww-blue); font-size: .88rem; }

.nww-final-cta { padding-block: 4.5rem; background: linear-gradient(120deg, var(--nww-blue), var(--nww-navy)); color: #fff; }
.nww-final-cta .nww-container { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.nww-final-cta h2 { max-width: 780px; margin: 0; color: #fff; }

.nww-page-hero { padding-block: clamp(2.2rem, 3.5vw, 3.25rem); background: linear-gradient(125deg, var(--nww-navy), var(--nww-navy-2)); color: rgba(255,255,255,.82); }
.nww-page-hero h1 { max-width: 1000px; color: #fff; font-size: clamp(2.35rem, 3.7vw, 3.6rem); }
.nww-page-hero > .nww-container > p:last-child { max-width: 850px; font-size: 1.16rem; }
.nww-page-hero .nww-actions { margin-top: 2rem; }
.nww-page-hero--resources { padding-block: clamp(1.7rem, 2.6vw, 2.25rem); }
.nww-page-hero--resources h1 { max-width: 1180px; font-size: clamp(2.3rem, 3.2vw, 3.2rem); }
.nww-page-hero--resources > .nww-container > p:not(.nww-eyebrow) { max-width: 1050px; margin-bottom: .55rem; font-size: 1rem; }
.nww-page-hero--resources .nww-eyebrow { margin-bottom: .55rem; }
.nww-page-content { padding-block: 4.5rem; }
.nww-prose { max-width: 940px; }
.nww-prose h2, .nww-prose h3 { margin-top: 1.6em; }
.nww-prose img { border-radius: 10px; }
.nww-prose table { width: 100%; border-collapse: collapse; }
.nww-prose th, .nww-prose td { padding: .75rem; border: 1px solid var(--nww-line); text-align: left; }

.nww-resource-search { display: block; max-width: 760px; margin-top: .65rem; }
.nww-resource-search span { display: block; margin-bottom: .45rem; color: #fff; font-size: .85rem; font-weight: 800; }
.nww-resource-search input { width: 100%; min-height: 48px; padding: .6rem .9rem; border: 2px solid transparent; border-radius: 8px; background: #fff; color: var(--nww-ink); }
.nww-resource-search input:focus { border-color: var(--nww-orange); outline: 0; }
.nww-resource-task-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 2.6rem; }
.nww-resource-task-grid a { display: grid; min-height: 180px; align-content: start; gap: .45rem; padding: 1.2rem; border: 1px solid var(--nww-line); border-radius: 10px; color: var(--nww-navy); text-decoration: none; }
.nww-resource-task-grid a:hover, .nww-resource-task-grid a:focus { border-color: var(--nww-blue); box-shadow: 0 8px 24px rgba(9,39,63,.08); }
.nww-resource-task-grid span { color: var(--nww-blue); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.nww-resource-task-grid strong { font-size: 1.05rem; line-height: 1.3; }
.nww-resource-task-grid small { color: var(--nww-muted); }
.nww-resource-filter-group { margin-bottom: 1.15rem; }
.nww-resource-filter-group > strong { display: block; margin-bottom: .5rem; color: var(--nww-navy); font-size: .82rem; }
.nww-resource-filter { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.7rem; }
.nww-resource-filter button { padding: .65rem .9rem; border: 1px solid #b9cbd6; border-radius: 999px; background: #fff; color: var(--nww-navy); font-weight: 780; cursor: pointer; }
.nww-resource-filter button.is-active { border-color: var(--nww-blue); background: var(--nww-blue); color: #fff; }
.nww-document-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.nww-document { display: grid; align-content: start; min-height: 185px; gap: .8rem; padding: 1.3rem; border: 1px solid var(--nww-line); border-radius: 10px; color: var(--nww-navy); text-decoration: none; }
.nww-document:hover, .nww-document:focus { border-color: var(--nww-blue); box-shadow: 0 10px 30px rgba(9,39,63,.1); }
.nww-document__type { width: max-content; padding: .16rem .45rem; border-radius: 4px; background: #ffe4ce; color: #863d09; font-size: .68rem; font-weight: 900; }
.nww-document > span:last-child { align-self: end; color: var(--nww-blue); font-size: .83rem; font-weight: 800; }
[data-document][hidden], [data-resource-empty][hidden] { display: none !important; }
.nww-empty { padding: 1rem; border-radius: 8px; background: var(--nww-pale); }

.nww-quote-hero__grid, .nww-quote-grid { display: grid; grid-template-columns: 1.4fr .7fr; gap: clamp(2.5rem, 7vw, 6rem); }
.nww-quote-checklist, .nww-route-card { padding: 1.6rem; border-radius: var(--nww-radius); background: #fff; color: var(--nww-ink); box-shadow: var(--nww-shadow); }
.nww-quote-checklist h2, .nww-route-card h2 { font-size: 1.25rem; }
.nww-quote-checklist ul { padding-left: 1.2rem; }
.nww-quote-checklist p { margin-bottom: 0; }
.nww-route-card { height: max-content; border: 1px solid var(--nww-line); }
.nww-route-card > a { display: block; padding: .65rem 0; border-bottom: 1px solid var(--nww-line); font-weight: 800; text-decoration: none; }
.nww-route-card p { margin: 1.2rem 0 0; font-size: .92rem; }
.nww-quote-section .gform_wrapper input, .nww-quote-section .gform_wrapper textarea, .nww-quote-section .gform_wrapper select { border: 1px solid #aabdc9 !important; border-radius: 6px !important; }
.nww-quote-section .gform_wrapper .gform_button { padding: .85rem 1.3rem !important; border: 0 !important; border-radius: 6px !important; background: var(--nww-orange) !important; color: #111 !important; font-weight: 850 !important; }

.nww-application-hub { background: linear-gradient(180deg, #f4f8fa, #fff); }
.nww-application-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.nww-application-grid a { display: grid; min-height: 205px; align-content: center; gap: .55rem; padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid var(--nww-line); border-radius: var(--nww-radius); background: #fff; color: var(--nww-navy); text-decoration: none; box-shadow: 0 8px 24px rgba(9,39,63,.06); }
.nww-application-grid a:hover, .nww-application-grid a:focus { border-color: var(--nww-blue); box-shadow: var(--nww-shadow); }
.nww-application-grid span, .nww-family-grid article > span { color: var(--nww-blue); font-size: .75rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.nww-application-grid strong { font-size: clamp(1.2rem, 2.2vw, 1.55rem); line-height: 1.25; }
.nww-application-grid small { color: var(--nww-muted); }
.nww-family-hub { background: #fff; }
.nww-family-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.nww-family-grid article { display: flex; min-height: 300px; flex-direction: column; padding: 1.45rem; border-top: 5px solid var(--nww-cyan); border-radius: 8px; background: var(--nww-pale); }
.nww-family-grid h3 { margin-top: .65rem; }
.nww-family-grid p { color: var(--nww-muted); font-size: .93rem; }
.nww-family-grid a { margin-top: auto; font-weight: 850; text-decoration: none; }
.nww-other-products { background: var(--nww-pale); }
.nww-link-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem 2rem; margin-top: 2rem; }
.nww-link-list a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #c4d5df; color: var(--nww-navy); font-weight: 800; text-decoration: none; }
.nww-link-list span { color: var(--nww-blue); }

.nww-system-switcher { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.5rem; }
.nww-system-switcher button { padding: .7rem 1rem; border: 1px solid #afc1cd; border-radius: 999px; background: #fff; color: var(--nww-navy); font-weight: 800; cursor: pointer; }
.nww-system-switcher button.is-active { border-color: var(--nww-blue); background: var(--nww-blue); color: #fff; }
.nww-comparison { border: 1px solid var(--nww-line); border-radius: var(--nww-radius); overflow: hidden; box-shadow: 0 10px 30px rgba(9,39,63,.07); }
.nww-comparison__head, .nww-comparison__row { display: grid; grid-template-columns: .65fr 1fr 1fr; }
.nww-comparison__head { background: var(--nww-navy); color: #fff; }
.nww-comparison__head > * { padding: 1rem 1.2rem; }
.nww-comparison__head strong { font-size: 1.2rem; }
.nww-comparison__row > * { padding: 1.15rem 1.2rem; border-top: 1px solid var(--nww-line); }
.nww-comparison__row > span { background: #f0f5f8; color: var(--nww-navy); font-weight: 850; }
.nww-comparison__row > div + div, .nww-comparison__head > strong + strong { border-left: 1px solid var(--nww-line); }
.nww-comparison__row strong, .nww-comparison__row small { display: block; }
.nww-comparison__row small { margin-top: .35rem; color: var(--nww-muted); }
.nww-comparison[data-view="proguard"] .nww-comparison__head, .nww-comparison[data-view="proguard"] .nww-comparison__row, .nww-comparison[data-view="maxguard"] .nww-comparison__head, .nww-comparison[data-view="maxguard"] .nww-comparison__row { grid-template-columns: .65fr 1fr; }
.nww-comparison[data-view="proguard"] [data-system="maxguard"], .nww-comparison[data-view="maxguard"] [data-system="proguard"] { display: none; }
.nww-comparison-note { margin-top: 1.2rem; padding: 1rem 1.2rem; border-left: 4px solid var(--nww-orange); background: #fff7f0; font-size: .92rem; }
.nww-mesh-options { background: var(--nww-pale); }
.nww-mesh-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.nww-mesh-grid li { display: grid; min-height: 112px; align-content: center; gap: .3rem; padding: 1rem; border: 1px solid #c4d5df; border-radius: 8px; background: #fff; }
.nww-mesh-grid strong { color: var(--nww-blue); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.nww-mesh-grid span { color: var(--nww-navy); font-weight: 820; line-height: 1.3; }
.nww-decision-list { margin: 0; padding: 0; list-style: none; }
.nww-decision-list li { display: grid; gap: .25rem; padding: 1.15rem 0; border-bottom: 1px solid #c9d8e0; }
.nww-decision-list strong { color: var(--nww-navy); font-size: 1.08rem; }
.nww-decision-list span { color: var(--nww-muted); }

/* ProGuard product detail */
.nww-product-hero { position: relative; min-height: clamp(500px, 56vh, 560px); display: grid; align-items: end; overflow: hidden; background: var(--nww-navy); color: #fff; }
.nww-product-hero__image, .nww-product-hero__shade { position: absolute; inset: 0; }
.nww-product-hero--proguard .nww-product-hero__image { background: url('/wp-content/uploads/2023/04/File-Jul-21-11-54-59-AM-1024x768-1.jpeg') center 47%/cover no-repeat; filter: saturate(1.08) contrast(1.06) brightness(.94); transform: scale(1.005); }
.nww-product-hero__shade { background: linear-gradient(90deg, rgba(3,16,28,.95) 0%, rgba(0,45,88,.86) 43%, rgba(0,69,135,.38) 72%, rgba(0,35,70,.18) 100%), linear-gradient(0deg, rgba(0,24,46,.6) 0%, transparent 42%); }
.nww-product-hero__content { position: relative; padding-block: 2.1rem 2rem; }
.nww-product-hero h1 { max-width: 950px; color: #fff; font-size: clamp(2.7rem, 4.4vw, 4.2rem); }
.nww-product-hero__lead { max-width: 780px; color: rgba(255,255,255,.9); font-size: clamp(1.05rem, 1.7vw, 1.25rem); }
.nww-product-hero .nww-actions { margin-top: 1.25rem; }
.nww-breadcrumb { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .8rem; color: rgba(255,255,255,.68); font-size: .78rem; font-weight: 700; }
.nww-breadcrumb a { color: #fff; text-decoration: none; }
.nww-product-proof { display: flex; flex-wrap: wrap; gap: 2.2rem; margin: 1.35rem 0 0; padding: 0; list-style: none; }
.nww-product-proof li { display: grid; padding-left: 1rem; border-left: 4px solid var(--nww-orange); }
.nww-product-proof strong { color: #fff; font-size: 1.05rem; }
.nww-product-proof span { color: rgba(255,255,255,.7); font-size: .78rem; }
.nww-product-nav { position: sticky; z-index: 900; top: 112px; border-bottom: 1px solid var(--nww-line); background: rgba(255,255,255,.98); box-shadow: 0 8px 22px rgba(0,37,73,.06); }
body.admin-bar .nww-product-nav { top: 144px; }
.nww-product-nav ~ section[id] { scroll-margin-top: 185px; }
.nww-product-nav .nww-container { display: flex; gap: 1.4rem; overflow-x: auto; scrollbar-width: thin; }
.nww-product-nav a { flex: 0 0 auto; padding: 1rem 0; color: var(--nww-navy); font-size: .78rem; font-weight: 850; text-decoration: none; }
.nww-product-nav a:hover, .nww-product-nav a:focus { color: var(--nww-blue); }
.nww-product-nav a.nww-product-nav__designer { color: #a94712; }
.nww-product-nav a.nww-product-nav__designer::after { content: " →"; }
.nww-product-intro { background: #fff; }
.nww-product-intro__grid { display: grid; grid-template-columns: 1.1fr .65fr; gap: clamp(3rem, 8vw, 7rem); align-items: start; }
.nww-product-intro__grid > div > p:not(.nww-eyebrow) { color: var(--nww-muted); font-size: 1.04rem; }
.nww-inline-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.8rem; margin-top: 1.8rem; }
.nww-inline-actions a { font-weight: 850; text-decoration: none; }
.nww-quick-spec { padding: clamp(1.6rem, 4vw, 2.3rem); border-top: 6px solid var(--nww-blue); border-radius: var(--nww-radius); background: var(--nww-pale); box-shadow: var(--nww-shadow); }
.nww-quick-spec dl { margin: 0; }
.nww-quick-spec dl > div { display: grid; grid-template-columns: .75fr 1.25fr; gap: 1rem; padding: .82rem 0; border-bottom: 1px solid #cfd9e1; }
.nww-quick-spec dt { color: var(--nww-muted); font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.nww-quick-spec dd { margin: 0; color: var(--nww-navy); font-weight: 800; line-height: 1.35; }
.nww-quick-spec small { display: block; margin-top: 1rem; color: var(--nww-muted); }
.nww-spec-builder-section { background: linear-gradient(180deg, #eef5fa 0%, #f8fafc 100%); }
.nww-spec-builder { display: grid; grid-template-columns: .92fr 1.08fr; border: 1px solid #c8d9e4; border-radius: var(--nww-radius); background: #fff; box-shadow: var(--nww-shadow); overflow: hidden; }
.nww-spec-builder__form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem; align-content: start; padding: clamp(1.5rem, 4vw, 2.8rem); }
.nww-spec-builder__form label { display: grid; gap: .45rem; }
.nww-spec-builder__form label > span { color: var(--nww-navy); font-size: .8rem; font-weight: 850; }
.nww-spec-builder__form select { width: 100%; min-height: 52px; padding: .68rem 2.35rem .68rem .8rem; border: 1px solid #9fb6c5; border-radius: 7px; background: #fff; color: var(--nww-ink); }
.nww-spec-builder__form select:focus { border-color: var(--nww-blue); outline: 3px solid rgba(0,101,196,.15); }
.nww-spec-summary { padding: clamp(1.7rem, 5vw, 3.4rem); background: linear-gradient(145deg, var(--nww-navy), #003569); color: rgba(255,255,255,.83); }
.nww-spec-summary h3 { color: #fff; font-size: clamp(1.8rem, 3.2vw, 2.7rem); }
.nww-spec-summary dl { margin: 1.4rem 0; border-top: 1px solid rgba(255,255,255,.2); }
.nww-spec-summary dl > div { display: grid; grid-template-columns: 120px 1fr; gap: 1rem; padding: .72rem 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.nww-spec-summary dt { color: rgba(255,255,255,.62); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.nww-spec-summary dd { margin: 0; color: #fff; font-weight: 720; }
.nww-spec-review { margin: 1.4rem 0; padding: 1rem; border-left: 4px solid var(--nww-orange); background: rgba(0,0,0,.16); }
.nww-spec-review strong { color: #fff; }
.nww-spec-review p { margin: .3rem 0 0; font-size: .85rem; }
.nww-spec-summary .nww-button { font-size: .84rem; }
.nww-spec-summary .nww-actions { gap: .58rem; }
.nww-copy-status { min-height: 1.3em; margin: .8rem 0 0; color: #fff; font-size: .78rem; font-weight: 750; }
.nww-project-gallery { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 4px; background: var(--nww-black); }
.nww-project-gallery figure { position: relative; min-height: 390px; margin: 0; overflow: hidden; }
.nww-project-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.nww-project-gallery figure:hover img { transform: scale(1.025); }
.nww-project-gallery figcaption { position: absolute; inset: auto 0 0; padding: 1.2rem; background: linear-gradient(transparent, rgba(0,0,0,.82)); color: #fff; font-size: .82rem; font-weight: 800; }
.nww-applications-deep { background: var(--nww-pale); }
.nww-use-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.nww-use-grid article { display: flex; min-height: 330px; flex-direction: column; padding: 1.5rem; border: 1px solid var(--nww-line); border-radius: 10px; background: #fff; box-shadow: 0 8px 24px rgba(0,69,135,.05); }
.nww-use-grid article > span { color: var(--nww-blue); font-size: 1.7rem; font-weight: 900; }
.nww-use-grid h3 { margin-top: .65rem; }
.nww-use-grid p { color: var(--nww-muted); font-size: .93rem; }
.nww-use-grid article > strong { margin-top: auto; color: var(--nww-navy); font-size: .76rem; text-transform: uppercase; }
.nww-use-grid small { margin-top: .3rem; color: var(--nww-muted); }
.nww-safety-note { margin: 1.5rem 0 0; padding: 1rem 1.2rem; border-left: 4px solid var(--nww-orange); background: #fff7f0; font-size: .9rem; }
.nww-construction-section { background: #fff; }
.nww-duty-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.nww-duty-grid article { padding: clamp(1.6rem, 4vw, 2.5rem); border: 1px solid var(--nww-line); border-top: 7px solid var(--nww-blue); border-radius: var(--nww-radius); background: #fff; box-shadow: 0 10px 30px rgba(0,69,135,.07); }
.nww-duty-grid .nww-duty-card--heavy { border-top-color: var(--nww-black); background: var(--nww-pale); }
.nww-duty-label { color: var(--nww-blue); font-size: .75rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.nww-duty-grid ul { margin-bottom: 0; padding-left: 1.2rem; color: var(--nww-muted); }
.nww-duty-grid li { margin: .55rem 0; }
.nww-assembly-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem, 8vw, 7rem); align-items: center; margin-top: clamp(4rem, 8vw, 7rem); }
.nww-assembly-grid figure { margin: 0; padding: 1.5rem; border-radius: var(--nww-radius); background: var(--nww-pale); }
.nww-assembly-grid figure img { width: 100%; border-radius: 8px; }
.nww-assembly-grid figcaption { margin-top: .8rem; color: var(--nww-muted); font-size: .82rem; }
.nww-component-list ol { margin: 0; padding: 0; list-style: none; }
.nww-component-list li { display: grid; grid-template-columns: .72fr 1.28fr; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--nww-line); }
.nww-component-list strong { color: var(--nww-navy); }
.nww-component-list span { color: var(--nww-muted); }
.nww-technical-specs { background: #fff; }
.nww-spec-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.nww-spec-card-grid article { padding: 1.45rem; border: 1px solid var(--nww-line); border-top: 5px solid var(--nww-blue); border-radius: 10px; background: var(--nww-pale); }
.nww-spec-card-grid article > span { display: block; margin-bottom: .55rem; color: var(--nww-orange); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.nww-spec-card-grid h3 { margin-bottom: 1rem; font-size: 1.2rem; }
.nww-spec-card-grid dl { margin: 0; }
.nww-spec-card-grid dl > div { padding: .7rem 0; border-top: 1px solid #cfdae2; }
.nww-spec-card-grid dt { color: var(--nww-muted); font-size: .68rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.nww-spec-card-grid dd { margin: .18rem 0 0; color: var(--nww-navy); font-size: .87rem; font-weight: 750; line-height: 1.45; }
.nww-definition-guide { margin-top: 1.25rem; border: 1px solid #c4d5e1; border-radius: 10px; background: #fff; }
.nww-definition-guide summary { padding: 1rem 1.25rem; color: var(--nww-navy); font-weight: 900; cursor: pointer; }
.nww-definition-guide[open] summary { border-bottom: 1px solid var(--nww-line); }
.nww-definition-guide > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 2rem; padding: 1.2rem; }
.nww-definition-guide p { margin: .45rem 0; color: var(--nww-muted); font-size: .9rem; }
.nww-install-section { background: var(--nww-pale); }
.nww-manual-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.25rem; }
.nww-manual-gallery figure { margin: 0; border: 1px solid var(--nww-line); border-radius: 10px; background: #fff; box-shadow: 0 8px 24px rgba(0,69,135,.05); overflow: hidden; }
.nww-manual-gallery button { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #eef3f6; cursor: zoom-in; overflow: hidden; }
.nww-manual-gallery button img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: top center; transition: transform .25s; }
.nww-manual-gallery button span { position: absolute; right: .7rem; bottom: .7rem; padding: .4rem .65rem; border-radius: 999px; background: rgba(0,37,73,.92); color: #fff; font-size: .7rem; font-weight: 850; }
.nww-manual-gallery button:hover img, .nww-manual-gallery button:focus-visible img { transform: scale(1.025); }
.nww-manual-gallery button:focus-visible { outline: 4px solid rgba(0,101,196,.28); outline-offset: -4px; }
.nww-manual-gallery figcaption { display: grid; gap: .25rem; padding: 1rem; }
.nww-manual-gallery figcaption strong { color: var(--nww-navy); }
.nww-manual-gallery figcaption small { color: var(--nww-muted); line-height: 1.45; }
.nww-manual-dialog { width: min(1180px, calc(100vw - 40px)); max-width: none; max-height: calc(100vh - 40px); padding: 0; border: 0; border-radius: 10px; background: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.45); overflow: hidden; }
.nww-manual-dialog::backdrop { background: rgba(2,17,29,.82); backdrop-filter: blur(3px); }
.nww-manual-dialog__bar { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .85rem 1rem; background: var(--nww-navy); color: #fff; }
.nww-manual-dialog__bar button { padding: .5rem .7rem; border: 1px solid rgba(255,255,255,.38); border-radius: 6px; background: transparent; color: #fff; font-weight: 800; cursor: pointer; }
.nww-manual-dialog > img { display: block; width: 100%; max-height: calc(100vh - 105px); object-fit: contain; background: #e8edf0; }
.nww-install-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.nww-install-steps li { display: grid; grid-template-columns: 58px 1fr; gap: 1rem; min-height: 210px; padding: 1.5rem; border: 1px solid var(--nww-line); border-radius: 10px; background: #fff; box-shadow: 0 8px 24px rgba(0,69,135,.05); }
.nww-install-steps li > span { color: var(--nww-orange); font-size: 1.6rem; font-weight: 900; line-height: 1; }
.nww-install-steps h3 { margin-bottom: .45rem; font-size: 1.25rem; }
.nww-install-steps p { margin: 0; color: var(--nww-muted); font-size: .9rem; }
.nww-jobsite-callout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 2rem; align-items: center; margin-top: 1.25rem; padding: clamp(1.5rem, 4vw, 2.4rem); border-left: 7px solid var(--nww-orange); border-radius: 10px; background: var(--nww-black); color: rgba(255,255,255,.78); }
.nww-jobsite-callout h3 { color: #fff; }
.nww-jobsite-callout p { margin-bottom: 0; }
.nww-jobsite-callout .nww-actions { justify-content: flex-end; }
.nww-jobsite-callout .nww-text-link { color: #fff; }
.nww-mesh-deep { background: var(--nww-pale); }
.nww-mesh-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.25rem; }
.nww-mesh-feature-grid figure { margin: 0; border: 1px solid var(--nww-line); border-radius: 10px; background: #fff; overflow: hidden; }
.nww-mesh-feature-grid img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.nww-mesh-feature-grid figcaption { display: grid; gap: .25rem; padding: 1rem; }
.nww-mesh-feature-grid figcaption strong { color: var(--nww-navy); }
.nww-mesh-feature-grid figcaption span { color: var(--nww-muted); font-size: .8rem; }
.nww-mesh-feature-grid figcaption small { color: #667785; font-size: .68rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.nww-mesh-filter { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0 0 1rem; }
.nww-mesh-filter button { min-height: 40px; padding: .55rem .85rem; border: 1px solid #9fb6c5; border-radius: 999px; background: #fff; color: var(--nww-navy); font-size: .76rem; font-weight: 850; cursor: pointer; }
.nww-mesh-filter button:hover, .nww-mesh-filter button:focus-visible, .nww-mesh-filter button.is-active { border-color: var(--nww-blue); background: var(--nww-blue); color: #fff; }
[data-mesh-family][hidden] { display: none !important; }
.nww-mesh-disclosure { border: 1px solid #cbd8e0; border-radius: var(--nww-radius); background: #fff; }
.nww-mesh-disclosure summary { padding: 1.1rem 1.3rem; color: var(--nww-navy); font-weight: 900; cursor: pointer; }
.nww-mesh-disclosure[open] summary { border-bottom: 1px solid var(--nww-line); }
.nww-mesh-grid--compact { padding: 1rem; }
.nww-mesh-grid--compact li { min-height: 95px; box-shadow: none; }
.nww-access-section { background: #fff; }
.nww-access-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 1.4rem; align-items: stretch; }
.nww-access-photo { min-height: 600px; border-radius: var(--nww-radius); overflow: hidden; }
.nww-access-photo img { width: 100%; height: 100%; object-fit: cover; }
.nww-access-options { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.nww-access-options article { padding: 1.5rem; border: 1px solid var(--nww-line); border-radius: 10px; background: var(--nww-pale); }
.nww-access-options p { color: var(--nww-muted); font-size: .9rem; }
.nww-choice-strip { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.nww-choice-strip span { padding: .55rem .8rem; border: 1px solid #bad0e1; border-radius: 999px; color: var(--nww-navy); font-size: .78rem; font-weight: 800; }
.nww-finish-section { background: var(--nww-pale); }
.nww-finish-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 7rem); align-items: center; }
.nww-finish-layout > div:first-child > p:not(.nww-eyebrow) { color: var(--nww-muted); }
.nww-swatch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.nww-swatch-grid > div { display: grid; gap: .25rem; padding: .7rem; border: 1px solid var(--nww-line); border-radius: 8px; background: #fff; }
.nww-swatch-grid i { height: 105px; border-radius: 5px; background: var(--swatch); box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.nww-swatch-grid strong { color: var(--nww-navy); font-size: .86rem; }
.nww-swatch-grid small { color: var(--nww-muted); font-size: .7rem; }
.nww-swatch--galvanized i { background: linear-gradient(135deg,#aeb4b7,#eef1f2 24%,#9ca4a8 48%,#d9dddf 72%,#8f989c); }
.nww-height-section { background: #fff; }
.nww-responsive-table { overflow-x: auto; border: 1px solid var(--nww-line); border-radius: var(--nww-radius); }
.nww-responsive-table table { width: 100%; min-width: 760px; border-collapse: collapse; }
.nww-responsive-table th, .nww-responsive-table td { padding: 1.1rem; border-bottom: 1px solid var(--nww-line); text-align: left; }
.nww-responsive-table th { background: var(--nww-navy); color: #fff; font-size: .8rem; }
.nww-responsive-table td:first-child { color: var(--nww-navy); font-weight: 850; }
.nww-responsive-table tr:last-child td { border-bottom: 0; }
.nww-planning-section { background: var(--nww-black); color: rgba(255,255,255,.76); }
.nww-planning-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem, 8vw, 7rem); }
.nww-planning-grid h2 { color: #fff; }
.nww-project-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.4rem; margin: 0; padding: 0; list-style: none; }
.nww-project-inputs li { display: grid; gap: .25rem; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.nww-project-inputs strong { color: #fff; }
.nww-project-inputs span { font-size: .84rem; }
.nww-literature-section { background: #fff; }
.nww-literature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.nww-literature-grid a { display: flex; min-height: 250px; flex-direction: column; gap: .55rem; padding: 1.4rem; border: 1px solid var(--nww-line); border-top: 5px solid var(--nww-blue); border-radius: 9px; color: var(--nww-navy); text-decoration: none; }
.nww-literature-grid a:hover, .nww-literature-grid a:focus { border-color: var(--nww-blue); box-shadow: var(--nww-shadow); }
.nww-literature-grid span { color: var(--nww-blue); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.nww-literature-grid strong { font-size: 1.12rem; line-height: 1.3; }
.nww-literature-grid small { color: var(--nww-muted); }
.nww-literature-grid b { margin-top: auto; color: var(--nww-blue); font-size: .82rem; }
.nww-faq-section { background: var(--nww-pale); }
.nww-faq-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(3rem, 8vw, 7rem); align-items: start; }
.nww-faq-layout > div:first-child { position: sticky; top: 190px; }
.nww-faq-list { border-top: 1px solid #c9d5dd; }
.nww-faq-list details { border-bottom: 1px solid #c9d5dd; }
.nww-faq-list summary { padding: 1.25rem 2.6rem 1.25rem 0; color: var(--nww-navy); font-weight: 850; cursor: pointer; }
.nww-faq-list p { padding: 0 2rem 1.3rem 0; color: var(--nww-muted); }
.nww-product-cta { background: linear-gradient(120deg, var(--nww-blue), var(--nww-navy)); }

/* MaxGuard product detail */
.nww-maxguard-page { background: #fff; }
.nww-product-hero--maxguard .nww-product-hero__image { background: url('/wp-content/uploads/2025/02/IMG_0560-scaled.jpeg') center 44%/cover no-repeat; filter: saturate(1.08) contrast(1.06) brightness(.92); transform: scale(1.005); }
.nww-maxguard-page .nww-duty-card--heavy .nww-duty-label { color: #26333e; }
.nww-maxguard-page .nww-manual-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nww-maxguard-page .nww-manual-gallery button img { aspect-ratio: 1.3 / 1; object-fit: cover; object-position: top center; }
.nww-maxguard-mesh-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .85rem; }
.nww-maxguard-mesh-grid article { display: flex; min-height: 330px; flex-direction: column; overflow: hidden; border: 1px solid var(--nww-line); border-radius: 10px; background: #fff; box-shadow: 0 8px 24px rgba(0,69,135,.06); }
.nww-maxguard-mesh-grid img { width: 100%; aspect-ratio: 1.22 / 1; object-fit: cover; background: #eef3f6; }
.nww-maxguard-mesh-grid article > div { display: flex; flex: 1; flex-direction: column; padding: 1rem; }
.nww-maxguard-mesh-grid span { color: var(--nww-orange); font-size: .66rem; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }
.nww-maxguard-mesh-grid h3 { margin: .38rem 0; font-size: 1rem; line-height: 1.3; }
.nww-maxguard-mesh-grid p { margin: 0; color: var(--nww-muted); font-size: .77rem; line-height: 1.48; }
.nww-maxguard-mesh-grid small { margin-top: auto; padding-top: .8rem; color: var(--nww-blue); font-size: .66rem; font-weight: 850; }
.nww-button--outline-light { margin-left: .45rem; border-color: rgba(255,255,255,.55); background: transparent; color: #fff; }
.nww-button--outline-light:hover, .nww-button--outline-light:focus { border-color: #fff; background: #fff; color: var(--nww-navy); }

.nww-footer { padding: 4rem 0 1.4rem; background: var(--nww-black); color: rgba(255,255,255,.7); }
.nww-footer__grid { display: grid; grid-template-columns: 1.4fr .8fr 1fr; gap: 4rem; }
.nww-footer__logo { width: 230px; margin-bottom: 1rem; filter: none; }
.nww-footer h2 { color: #fff; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; }
.nww-footer a, .nww-footer address, .nww-footer span { display: block; color: rgba(255,255,255,.76); font-style: normal; text-decoration: none; }
.nww-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.14); font-size: .78rem; }
.nww-jobsite-bar { display: none; }

@media (max-width: 980px) {
    body.admin-bar .nww-header { top: 46px; }
    .nww-utility { display: none; }
    .nww-nav { min-height: 70px; }
    .nww-brand { width: 180px; }
    .nww-nav > .nww-button { display: none; }
    .nww-menu-button { display: inline-flex; align-items: center; gap: .45rem; cursor: pointer; }
    .nww-primary { position: absolute; left: 0; right: 0; top: 70px; display: none; align-items: stretch; padding: 1rem 21px 1.3rem; background: #fff; box-shadow: var(--nww-shadow); }
    .nww-primary.is-open { display: grid; }
    .nww-primary a { padding: .65rem 0; border-bottom: 1px solid var(--nww-line); }
    .nww-nav-item--products { display: grid; }
    .nww-products-trigger { border-bottom: 1px solid var(--nww-line); }
    .nww-products-trigger .nww-nav-link { flex: 1; padding: .65rem 0; border: 0; }
    .nww-products-toggle { width: 48px; height: 48px; margin-left: 0; border-left: 1px solid var(--nww-line); }
    .nww-products-menu { position: static; display: none; grid-template-columns: 1fr; max-height: min(62vh, 520px); overflow-y: auto; border: 0; border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
    .nww-nav-item--products:hover .nww-products-menu, .nww-nav-item--products:focus-within .nww-products-menu { display: none; }
    .nww-nav-item--products.is-open .nww-products-menu { display: grid; }
    .nww-products-menu__intro { padding: 1rem; }
    .nww-products-menu__intro>a { margin-top: .55rem; padding: .35rem 0 0; border: 0; }
    .nww-products-menu__group { padding: 1rem; border-left: 0; border-bottom: 1px solid var(--nww-line); }
    .nww-products-menu__group>a { padding: .48rem 0; }
    .nww-hero { min-height: 700px; }
    .nww-hero__shade { background: rgba(4,24,39,.84); }
    .nww-audience__grid { grid-template-columns: 1fr; }
    .nww-audience a + a { border-top: 1px solid var(--nww-line); border-left: 0; }
    .nww-workflow__grid, .nww-resources-callout__grid, .nww-quote-hero__grid, .nww-quote-grid, .nww-journey__grid, .nww-compare-callout__grid { grid-template-columns: 1fr; }
    .nww-family-grid { grid-template-columns: repeat(2, 1fr); }
    .nww-document-grid { grid-template-columns: repeat(2, 1fr); }
    .nww-resource-task-grid, .nww-mesh-grid { grid-template-columns: repeat(2, 1fr); }
    .nww-footer__grid { grid-template-columns: 1fr 1fr; }
    .nww-footer__grid > div:first-child { grid-column: 1 / -1; }
    .nww-product-nav { top: 70px; }
    body.admin-bar .nww-product-nav { top: 116px; }
    .nww-product-nav ~ section[id] { scroll-margin-top: 150px; }
    .nww-product-intro__grid, .nww-spec-builder, .nww-assembly-grid, .nww-access-layout, .nww-finish-layout, .nww-planning-grid, .nww-faq-layout { grid-template-columns: 1fr; }
    .nww-spec-card-grid { grid-template-columns: repeat(2, 1fr); }
    .nww-jobsite-callout { grid-template-columns: 1fr; }
    .nww-jobsite-callout .nww-actions { justify-content: flex-start; }
    .nww-project-gallery { grid-template-columns: 1fr 1fr; }
    .nww-project-gallery__wide { grid-column: 1 / -1; }
    .nww-use-grid, .nww-literature-grid { grid-template-columns: repeat(2, 1fr); }
    .nww-maxguard-page .nww-manual-gallery, .nww-maxguard-mesh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nww-faq-layout > div:first-child { position: static; }
    .nww-product-hero { min-height: 600px; }
}

@media (max-width: 620px) {
    .nww-maxguard-page .nww-manual-gallery, .nww-maxguard-mesh-grid { grid-template-columns: 1fr; }
    .nww-maxguard-mesh-grid article { min-height: 0; }
    .nww-maxguard-mesh-grid img { max-height: 250px; }
    .nww-button--outline-light { margin: .55rem 0 0; }
}

@media (max-width: 680px) {
    body { padding-bottom: 68px; font-size: 16px; }
    .nww-container { width: min(100% - 30px, var(--nww-container)); }
    .nww-hero { min-height: 720px; }
    .nww-hero__content { padding-block: 5rem 4rem; }
    .nww-hero h1 { font-size: clamp(2.65rem, 13vw, 4rem); }
    .nww-proof { grid-template-columns: 1fr; gap: .9rem; margin-top: 3rem; }
    .nww-audience { margin-top: 0; padding-top: 1rem; background: var(--nww-pale); }
    .nww-section { padding-block: 4.5rem; }
    .nww-section-heading--split, .nww-final-cta .nww-container { display: grid; align-items: start; }
    .nww-card-grid, .nww-document-grid, .nww-application-grid, .nww-family-grid, .nww-link-list, .nww-resource-task-grid, .nww-mesh-grid { grid-template-columns: 1fr; }
    .nww-journey__result { min-height: 0; }
    .nww-compare-mini { grid-template-columns: 1fr; }
    .nww-compare-mini .nww-button { grid-column: auto; }
    .nww-system-switcher { display: grid; }
    .nww-system-switcher button { border-radius: 7px; text-align: left; }
    .nww-comparison__head, .nww-comparison__row { grid-template-columns: 1fr; }
    .nww-comparison__head > span { display: none; }
    .nww-comparison__row > div + div, .nww-comparison__head > strong + strong { border-left: 0; }
    .nww-comparison[data-view="proguard"] [data-system="maxguard"], .nww-comparison[data-view="maxguard"] [data-system="proguard"] { display: none; }
    .nww-product-card__image { min-height: 230px; }
    .nww-finder__choices { display: grid; }
    .nww-finder__choices button { border-radius: 7px; text-align: left; }
    .nww-footer__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .nww-footer__grid > div:first-child { grid-column: auto; }
    .nww-footer__bottom { display: grid; }
    .nww-jobsite-bar { position: fixed; z-index: 1100; inset: auto 0 0; display: grid; grid-template-columns: repeat(3, 1fr); min-height: 68px; background: #fff; box-shadow: 0 -5px 20px rgba(9,39,63,.15); }
    .nww-jobsite-bar a { display: grid; place-content: center; color: var(--nww-navy); text-align: center; text-decoration: none; }
    .nww-jobsite-bar a + a { border-left: 1px solid var(--nww-line); }
    .nww-jobsite-bar strong { font-size: .82rem; }
    .nww-jobsite-bar span { color: var(--nww-muted); font-size: .64rem; }
    .nww-product-hero { min-height: 640px; }
    .nww-product-hero__content { padding-block: 2.8rem 2.5rem; }
    .nww-product-hero h1 { font-size: clamp(2.6rem, 12vw, 3.8rem); }
    .nww-product-hero__shade { background: rgba(0,35,70,.88); }
    .nww-product-proof { display: grid; gap: 1rem; }
    .nww-product-nav { top: 70px; }
    .nww-project-gallery, .nww-use-grid, .nww-duty-grid, .nww-spec-card-grid, .nww-manual-gallery, .nww-mesh-feature-grid, .nww-access-options, .nww-swatch-grid, .nww-project-inputs, .nww-literature-grid, .nww-spec-builder__form, .nww-install-steps, .nww-definition-guide > div { grid-template-columns: 1fr; }
    .nww-spec-summary dl > div { grid-template-columns: 1fr; gap: .1rem; }
    .nww-install-steps li { min-height: 0; }
    .nww-project-gallery__wide { grid-column: auto; }
    .nww-project-gallery figure { min-height: 300px; }
    .nww-component-list li { grid-template-columns: 1fr; gap: .35rem; }
    .nww-access-photo { min-height: 420px; }
    .nww-manual-dialog { width: calc(100vw - 20px); max-height: calc(100vh - 20px); }
}

/* v0.8.0 — application-led data center security cage planning page */
.nww-product-hero--data-center .nww-product-hero__image { background-image: url('/wp-content/uploads/2025/02/IMG_0560-scaled.jpeg'); background-position: center 46%; }
.nww-dc-intro { background: #fff; }
.nww-dc-audiences { background: var(--nww-pale); }
.nww-dc-audience-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; }
.nww-dc-audience-grid article { padding: 1.25rem; border: 1px solid var(--nww-line); border-top: 4px solid var(--nww-orange); border-radius: 9px; background: #fff; box-shadow: 0 8px 22px rgba(0,39,76,.05); }
.nww-dc-audience-grid span, .nww-dc-system-grid > article > span { color: var(--nww-orange); font-size: .65rem; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }
.nww-dc-audience-grid h3 { margin: .55rem 0 .45rem; color: var(--nww-navy); font-size: 1rem; line-height: 1.32; }
.nww-dc-audience-grid p { margin: 0; color: var(--nww-muted); font-size: .75rem; line-height: 1.5; }
.nww-dc-layout-section { background: #fff; }
.nww-dc-layout-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; }
.nww-dc-layout-grid article { display: grid; align-content: start; gap: .45rem; min-height: 250px; padding: 1.25rem; border: 1px solid var(--nww-line); border-radius: 10px; background: linear-gradient(180deg, #fff 0%, #f6f9fb 100%); }
.nww-dc-layout-grid article > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--nww-navy); color: #fff; font-size: .66rem; font-weight: 900; }
.nww-dc-layout-grid h3 { margin: .25rem 0 0; color: var(--nww-navy); font-size: 1.08rem; }
.nww-dc-layout-grid p { margin: 0; color: var(--nww-muted); font-size: .78rem; line-height: 1.5; }
.nww-dc-layout-grid strong { margin-top: auto; color: var(--nww-orange); font-size: .64rem; letter-spacing: .07em; text-transform: uppercase; }
.nww-dc-layout-grid small { color: #4f6473; font-size: .7rem; line-height: 1.45; }
.nww-dc-system-section { background: var(--nww-pale); }
.nww-dc-system-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.nww-dc-system-grid article { display: flex; min-height: 355px; flex-direction: column; padding: 1.35rem; border: 1px solid var(--nww-line); border-radius: 10px; background: #fff; box-shadow: 0 10px 28px rgba(0,39,76,.06); }
.nww-dc-system-grid h3 { margin: .55rem 0; color: var(--nww-navy); }
.nww-dc-system-grid p, .nww-dc-system-grid li { color: var(--nww-muted); font-size: .76rem; line-height: 1.5; }
.nww-dc-system-grid ul { display: grid; gap: .4rem; margin: .8rem 0 1.2rem; padding-left: 1.1rem; }
.nww-dc-system-grid a { margin-top: auto; color: var(--nww-blue); font-size: .78rem; font-weight: 900; text-decoration: none; }
.nww-dc-system--heavy { border-top: 5px solid var(--nww-orange) !important; background: linear-gradient(180deg, #fff 0%, #fff7ef 100%) !important; }
.nww-dc-coordination { background: #fff; }
.nww-dc-matrix table { min-width: 880px; }
.nww-dc-matrix td:first-child { width: 18%; color: var(--nww-navy); }
.nww-dc-matrix td:nth-child(2) { width: 52%; }
.nww-dc-matrix td { vertical-align: top; font-size: .76rem; line-height: 1.5; }
.nww-dc-access { background: var(--nww-pale); }
.nww-dc-sequence { margin-top: 1rem; padding: 1rem 1.15rem; border-radius: 8px; background: var(--nww-navy); color: #fff; }
.nww-dc-sequence > strong { color: var(--nww-orange); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.nww-dc-sequence ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem 1.2rem; margin: .75rem 0 0; padding-left: 1.1rem; }
.nww-dc-sequence li { color: rgba(255,255,255,.86); font-size: .72rem; line-height: 1.4; }
.nww-dc-final { background: linear-gradient(135deg, #003d73 0%, #0070c9 100%); }

@media (max-width: 980px) {
    .nww-dc-audience-grid, .nww-dc-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nww-dc-system-grid { grid-template-columns: 1fr; }
    .nww-dc-system-grid article { min-height: 0; }
}

@media (max-width: 680px) {
    .nww-dc-audience-grid, .nww-dc-layout-grid, .nww-dc-sequence ol { grid-template-columns: 1fr; }
    .nww-dc-layout-grid article { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* v0.5.5 — denser product pages and honest representative material imagery */
.nww-product-nav ~ .nww-section { padding-block: clamp(3rem, 5vw, 4.5rem); }
.nww-product-nav ~ .nww-section .nww-section-heading { margin-bottom: 1.6rem; }
.nww-product-hero { min-height: clamp(440px, 50vh, 500px); }
.nww-product-hero__content { padding-block: 1.55rem 1.35rem; }
.nww-product-hero h1 { font-size: clamp(2.45rem, 3.9vw, 3.75rem); }
.nww-locker-hero { min-height: clamp(460px, 52vh, 520px); }
.nww-locker-hero .nww-product-hero__content { padding-block: 1.65rem 1.25rem; }
.nww-project-gallery figure { min-height: 300px; }
.nww-manual-gallery button img { aspect-ratio: 16 / 10; }
.nww-mesh-feature-grid img { height: 150px; aspect-ratio: auto; }
.nww-mesh-feature-grid figcaption { padding: .75rem; }
.nww-mesh-placeholder-note { margin: .85rem 0 1rem; color: var(--nww-muted); font-size: .76rem; }
.nww-mesh-grid--visual li { grid-template-columns: 86px minmax(0, 1fr); align-items: center; align-content: normal; min-height: 100px; padding: .55rem; }
.nww-mesh-grid--visual img { width: 86px; height: 86px; object-fit: cover; border-radius: 6px; background: #eef3f6; }
.nww-mesh-tile__copy { display: grid; gap: .12rem; min-width: 0; }
.nww-mesh-tile__copy > span { color: var(--nww-muted); font-size: .75rem; line-height: 1.25; }
.nww-mesh-tile__copy small { color: #667785; font-size: .55rem; font-weight: 800; letter-spacing: .035em; line-height: 1.25; text-transform: uppercase; }
.nww-locker-photo img { height: 400px; }
.nww-locker-diagram img { height: 360px; }
.nww-locker-install-grid img { height: 210px; }
.nww-locker-tier-grid img { height: 220px; }
.nww-locker-tier-custom { min-height: 340px; }
.nww-locker-lock-cards img { height: 210px; }
.nww-locker-infill-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .75rem; margin: 1.25rem 0; }
.nww-locker-infill-strip figure { margin: 0; overflow: hidden; border: 1px solid var(--nww-line); border-radius: 9px; background: #fff; }
.nww-locker-infill-strip img { width: 100%; height: 112px; object-fit: cover; background: #eef3f6; }
.nww-locker-infill-strip figcaption { display: grid; gap: .1rem; padding: .65rem; }
.nww-locker-infill-strip strong { color: var(--nww-navy); font-size: .76rem; line-height: 1.15; }
.nww-locker-infill-strip span { color: var(--nww-muted); font-size: .66rem; line-height: 1.2; }
.nww-locker-infill-strip small { color: #667785; font-size: .52rem; font-weight: 800; letter-spacing: .035em; line-height: 1.2; text-transform: uppercase; }

@media (max-width: 980px) {
    .nww-locker-infill-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nww-product-hero { min-height: 520px; }
    .nww-locker-hero { min-height: 560px; }
}

@media (max-width: 680px) {
    .nww-product-nav ~ .nww-section { padding-block: 3rem; }
    .nww-product-hero { min-height: 560px; }
    .nww-locker-hero { min-height: 600px; }
    .nww-product-hero__content { padding-block: 1.75rem 1.5rem; }
    .nww-mesh-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nww-mesh-feature-grid img { height: 115px; }
    .nww-mesh-feature-grid figcaption span { display: none; }
    .nww-mesh-grid--visual { grid-template-columns: 1fr; }
    .nww-locker-infill-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nww-locker-infill-strip img { height: 105px; }
    .nww-locker-photo img { height: 320px; }
}

/* v0.6.0 — application-first homepage and guided tenant-locker story */
.nww-home-hero { min-height: clamp(560px, 68vh, 680px); }
.nww-home-hero h1 { max-width: 890px; }
.nww-home-hero .nww-hero__lead { max-width: 820px; }
.nww-home-goals a { min-height: 112px; }
.nww-home-applications { background: #fff; }
.nww-home-application-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.nww-home-application { display: grid; grid-template-rows: 205px 1fr; overflow: hidden; border: 1px solid var(--nww-line); border-radius: var(--nww-radius); background: #fff; color: var(--nww-ink); text-decoration: none; box-shadow: 0 10px 30px rgba(0,39,76,.07); transition: transform .2s ease, box-shadow .2s ease; }
.nww-home-application:hover, .nww-home-application:focus-visible { transform: translateY(-4px); box-shadow: var(--nww-shadow); }
.nww-home-application__image { display: block; background-position: center; background-size: cover; transition: transform .25s ease; }
.nww-home-application:hover .nww-home-application__image { transform: scale(1.025); }
.nww-home-application__body { display: grid; align-content: start; gap: .48rem; padding: 1.15rem; }
.nww-home-application__body small { color: var(--nww-orange); font-size: .67rem; font-weight: 900; letter-spacing: .07em; line-height: 1.35; text-transform: uppercase; }
.nww-home-application__body strong { color: var(--nww-navy); font-size: 1.08rem; line-height: 1.3; }
.nww-home-application__body em { margin-top: .3rem; color: var(--nww-blue); font-size: .78rem; font-style: normal; font-weight: 850; }
.nww-home-application--residential .nww-home-application__image { background-image: url('/wp-content/uploads/2023/04/proguard-tenant-storage-locker-slider-square.jpg'); }
.nww-home-application--warehouse .nww-home-application__image { background-image: url('/wp-content/uploads/2023/04/IMG_0560-scaled-square.jpeg'); }
.nww-home-application--data .nww-home-application__image { background-image: url('/wp-content/uploads/2023/04/IMG_0560-scaled-1-1024x768.jpeg'); }
.nww-home-application--railing .nww-home-application__image { background-image: url('/wp-content/uploads/2023/04/139-square.jpg'); }
.nww-home-application--safety .nww-home-application__image { background-image: url('/wp-content/uploads/2023/05/File-Jul-21-10-50-08-AM-scaled.jpeg'); }
.nww-home-application--custom .nww-home-application__image { background-image: url('/wp-content/uploads/2024/11/222-x-122-rectangular-woven-wire-mesh--768x1024.jpg'); }
.nww-home-products { background: var(--nww-pale); }
.nww-home-products .nww-section-heading--split { align-items: end; }
.nww-home-finder { background: #fff; }
.nww-home-project-help { background: var(--nww-pale); }

.nww-locker-build { background: linear-gradient(180deg, #f4f8fb 0%, #fff 100%); }
.nww-locker-build-path { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; margin: 0; padding: 0; counter-reset: none; list-style: none; }
.nww-locker-build-path li { min-width: 0; }
.nww-locker-build-path a { position: relative; display: grid; grid-template-columns: 112px minmax(0, 1fr); min-height: 168px; overflow: hidden; border: 1px solid var(--nww-line); border-radius: 10px; background: #fff; color: var(--nww-ink); text-decoration: none; box-shadow: 0 8px 24px rgba(0,39,76,.06); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.nww-locker-build-path a:hover, .nww-locker-build-path a:focus-visible { transform: translateY(-2px); border-color: var(--nww-blue); box-shadow: 0 14px 34px rgba(0,39,76,.12); }
.nww-locker-build-path img { width: 112px; height: 100%; min-height: 168px; object-fit: cover; background: #eef3f6; }
.nww-locker-build-path__number { position: absolute; z-index: 1; top: .55rem; left: .55rem; display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: var(--nww-orange); color: #111; font-size: .68rem; font-weight: 950; box-shadow: 0 3px 10px rgba(0,0,0,.2); }
.nww-locker-build-path__copy { display: grid; align-content: center; gap: .32rem; padding: 1rem; }
.nww-locker-build-path__copy small { color: var(--nww-orange); font-size: .65rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.nww-locker-build-path__copy strong { color: var(--nww-navy); font-size: 1rem; line-height: 1.25; }
.nww-locker-build-path__copy em { color: var(--nww-muted); font-size: .75rem; font-style: normal; line-height: 1.48; }
.nww-locker-build-plain { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; margin-top: 1rem; padding: 1.1rem 1.25rem; border-left: 5px solid var(--nww-orange); border-radius: 7px; background: var(--nww-navy); color: #fff; }
.nww-locker-build-plain span { color: rgba(255,255,255,.76); font-size: .8rem; line-height: 1.45; }
.nww-locker-build-plain .nww-text-link { color: #fff; white-space: nowrap; }

@media (max-width: 980px) {
    .nww-home-application-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nww-locker-build-path { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .nww-home-hero { min-height: 660px; }
    .nww-home-application-grid { grid-template-columns: 1fr; }
    .nww-home-application { grid-template-rows: 185px 1fr; }
    .nww-locker-build-path a { grid-template-columns: 92px minmax(0, 1fr); min-height: 156px; }
    .nww-locker-build-path img { width: 92px; min-height: 156px; }
    .nww-locker-build-path__copy { padding: .85rem; }
    .nww-locker-build-plain { grid-template-columns: 1fr; }
}

/* v0.9.0 — site-wide information density and shorter page rhythm */
.nww-section {
    padding-block: clamp(2.75rem, 4.25vw, 4.25rem);
}

.nww-product-nav ~ .nww-section {
    padding-block: clamp(2.35rem, 3.5vw, 3.5rem);
}

.nww-section-heading,
.nww-product-nav ~ .nww-section .nww-section-heading {
    margin-bottom: clamp(1.15rem, 2vw, 1.65rem);
}

.nww-section-heading h2 {
    margin-bottom: .5rem;
}

.nww-section-heading > p:last-child {
    margin-bottom: 0;
}

.nww-section-heading--split {
    gap: 1.25rem;
}

.nww-page-content {
    padding-block: clamp(2.75rem, 4vw, 3.75rem);
}

.nww-page-hero,
.nww-page-hero--resources {
    padding-block: clamp(1.65rem, 2.5vw, 2.25rem);
}

.nww-home-hero {
    min-height: clamp(520px, 60vh, 620px);
}

.nww-home-hero .nww-hero__content {
    padding-block: clamp(3.75rem, 6vw, 5rem) clamp(2.75rem, 4vw, 3.75rem);
}

.nww-home-hero .nww-proof {
    margin-top: 2rem;
}

.nww-home-goals a {
    min-height: 92px;
    padding: 1.1rem 1.35rem;
}

.nww-product-hero {
    min-height: clamp(405px, 44vh, 455px);
}

.nww-locker-hero {
    min-height: clamp(425px, 46vh, 480px);
}

.nww-product-hero__content,
.nww-locker-hero .nww-product-hero__content {
    padding-block: 1.35rem 1.15rem;
}

.nww-product-proof {
    gap: 1rem 1.65rem;
    margin-top: 1rem;
}

.nww-product-nav .nww-container {
    gap: 1.1rem;
}

.nww-product-nav a {
    padding-block: .78rem;
}

.nww-product-intro__grid,
.nww-journey__grid,
.nww-compare-callout__grid,
.nww-workflow__grid,
.nww-resources-callout__grid,
.nww-quote-hero__grid,
.nww-quote-grid,
.nww-assembly-grid,
.nww-finish-layout,
.nww-planning-grid,
.nww-faq-layout {
    gap: clamp(1.5rem, 4vw, 3.5rem);
}

.nww-inline-actions {
    margin-top: 1.15rem;
}

.nww-quick-spec {
    padding: clamp(1.2rem, 2.5vw, 1.75rem);
}

.nww-quick-spec dl > div {
    padding-block: .62rem;
}

.nww-spec-builder__form,
.nww-spec-summary {
    padding: clamp(1.25rem, 3vw, 2rem);
}

.nww-spec-summary dl {
    margin-block: 1rem;
}

.nww-spec-review {
    margin-block: 1rem;
}

.nww-finder__result {
    min-height: 190px;
    margin-top: 1rem;
    padding: clamp(1.35rem, 3vw, 2.4rem);
}

.nww-journey__choices {
    margin-top: 1.15rem;
}

.nww-journey__result {
    min-height: 330px;
    padding: clamp(1.5rem, 3.5vw, 2.75rem);
}

.nww-project-gallery figure {
    min-height: 260px;
}

.nww-home-application {
    grid-template-rows: 175px 1fr;
}

.nww-home-application__body {
    padding: 1rem;
}

.nww-product-card__image {
    min-height: 235px;
}

.nww-use-grid article,
.nww-family-grid article,
.nww-maxguard-mesh-grid article,
.nww-dc-layout-grid article,
.nww-dc-system-grid article {
    min-height: 0;
}

.nww-use-grid article,
.nww-family-grid article,
.nww-dc-audience-grid article,
.nww-dc-layout-grid article,
.nww-dc-system-grid article,
.nww-access-options article {
    padding: 1.1rem;
}

.nww-duty-grid article {
    padding: clamp(1.25rem, 2.5vw, 1.8rem);
}

.nww-duty-grid li {
    margin-block: .38rem;
}

.nww-assembly-grid {
    margin-top: clamp(2rem, 3.5vw, 3rem);
}

.nww-assembly-grid figure {
    padding: 1rem;
}

.nww-component-list li {
    gap: 1rem;
    padding-block: .72rem;
}

.nww-spec-card-grid article {
    padding: 1.1rem;
}

.nww-spec-card-grid h3 {
    margin-bottom: .65rem;
}

.nww-spec-card-grid dl > div {
    padding-block: .52rem;
}

.nww-definition-guide > div {
    padding: 1rem;
}

.nww-manual-gallery,
.nww-mesh-feature-grid {
    margin-bottom: 1rem;
}

.nww-manual-gallery figcaption,
.nww-locker-tier-grid article > div {
    padding: .75rem;
}

.nww-install-steps li {
    min-height: 0;
    padding: 1.1rem;
}

.nww-jobsite-callout {
    gap: 1.25rem;
    margin-top: 1rem;
    padding: clamp(1.2rem, 2.5vw, 1.75rem);
}

.nww-access-photo {
    min-height: 470px;
}

.nww-choice-strip {
    margin-top: 1rem;
}

.nww-swatch-grid i {
    height: 78px;
}

.nww-responsive-table th,
.nww-responsive-table td {
    padding: .78rem .9rem;
}

.nww-project-inputs li {
    padding-block: .72rem;
}

.nww-literature-grid a,
.nww-locker-download-grid a,
.nww-resource-task-grid a,
.nww-document {
    min-height: 0;
    padding: 1.05rem;
}

.nww-resource-task-grid {
    margin-bottom: 1.8rem;
}

.nww-application-grid a {
    min-height: 165px;
    padding: 1.35rem;
}

.nww-link-list {
    margin-top: 1.25rem;
}

.nww-link-list a,
.nww-resource-links a {
    padding-block: .78rem;
}

.nww-faq-list summary {
    padding-block: .9rem;
}

.nww-faq-list p {
    margin: 0;
    padding-bottom: 1rem;
}

.nww-locker-benefits {
    margin-top: 1rem;
}

.nww-locker-photo img {
    height: 340px;
}

.nww-locker-diagram img {
    height: 310px;
}

.nww-locker-tier-grid img,
.nww-locker-install-grid img,
.nww-locker-lock-cards img {
    height: 185px;
}

.nww-locker-tier-custom {
    min-height: 285px;
}

.nww-locker-locks {
    gap: 1.35rem;
    margin-top: 2rem;
}

.nww-locker-send {
    gap: 1.25rem;
    padding: 1.2rem;
}

.nww-locker-build-path a,
.nww-locker-build-path img {
    min-height: 145px;
}

.nww-final-cta {
    padding-block: clamp(2.75rem, 4vw, 3.5rem);
}

.nww-footer {
    padding-top: 2.8rem;
}

.nww-footer__grid {
    gap: 2.5rem;
}

.nww-footer__bottom {
    margin-top: 2rem;
}

@media (max-width: 980px) {
    .nww-home-hero {
        min-height: 590px;
    }

    .nww-product-hero {
        min-height: 500px;
    }

    .nww-locker-hero {
        min-height: 530px;
    }

    .nww-access-photo {
        min-height: 380px;
    }
}

@media (max-width: 680px) {
    .nww-section,
    .nww-product-nav ~ .nww-section {
        padding-block: 2.5rem;
    }

    .nww-section-heading,
    .nww-product-nav ~ .nww-section .nww-section-heading {
        margin-bottom: 1.15rem;
    }

    .nww-home-hero {
        min-height: 600px;
    }

    .nww-home-hero .nww-hero__content {
        padding-block: 3.5rem 2.75rem;
    }

    .nww-home-hero .nww-proof {
        margin-top: 1.5rem;
    }

    .nww-product-hero {
        min-height: 515px;
    }

    .nww-locker-hero {
        min-height: 555px;
    }

    .nww-product-proof {
        gap: .75rem;
    }

    .nww-product-nav a {
        padding-block: .72rem;
    }

    .nww-project-gallery figure {
        min-height: 240px;
    }

    .nww-home-application {
        grid-template-rows: 165px 1fr;
    }

    .nww-product-card__image {
        min-height: 210px;
    }

    .nww-access-photo {
        min-height: 320px;
    }

    .nww-locker-photo img {
        height: 285px;
    }

    .nww-locker-build-path a,
    .nww-locker-build-path img {
        min-height: 138px;
    }

    .nww-footer {
        padding-top: 2.4rem;
    }

    .nww-footer__grid {
        gap: 1.8rem;
    }
}

/* v0.9.1 — shorter homepage picture header with the next section in view */
@media (min-width: 981px) {
    .nww-home-hero {
        min-height: clamp(455px, 49vh, 500px);
    }

    .nww-home-hero .nww-hero__content {
        padding-block: clamp(2.15rem, 3.5vw, 3rem) clamp(1.5rem, 2.4vw, 2rem);
    }

    .nww-home-hero .nww-actions {
        margin-top: 1.25rem;
    }

    .nww-home-hero .nww-proof {
        margin-top: 1.35rem;
    }
}

@media (min-width: 681px) and (max-width: 980px) {
    .nww-home-hero {
        min-height: 525px;
    }

    .nww-home-hero .nww-hero__content {
        padding-block: 2.75rem 2.25rem;
    }
}

/* v0.9.2 — compact the homepage hero content so the following section is visible */
@media (min-width: 981px) {
    .nww-home-hero {
        min-height: clamp(420px, 45vh, 465px);
    }

    .nww-home-hero .nww-hero__content {
        padding-block: clamp(1.8rem, 2.5vw, 2.25rem) clamp(1.25rem, 1.8vw, 1.6rem);
    }

    .nww-home-hero .nww-eyebrow {
        margin-bottom: .65rem;
    }

    .nww-home-hero h1 {
        max-width: 1120px;
        margin-bottom: 1rem;
        font-size: clamp(3.35rem, 4.6vw, 4.5rem);
        line-height: 1.02;
    }

    .nww-home-hero .nww-hero__lead {
        max-width: 1000px;
        margin-bottom: 0;
        font-size: clamp(1.02rem, 1.25vw, 1.16rem);
        line-height: 1.48;
    }

    .nww-home-hero .nww-actions,
    .nww-home-hero .nww-proof {
        margin-top: 1rem;
    }
}

/* v0.9.3 — keep the homepage goal panel clear of the hero proof points */
@media (min-width: 981px) {
    .nww-home-goals {
        margin-top: 0;
    }
}

/* v0.9.4 — tenant-locker planner to formal quote handoff */
.nww-locker-form__group { grid-column: 1 / -1; padding: 1rem; border: 1px solid var(--nww-line); border-radius: 10px; background: var(--nww-pale); }
.nww-locker-form__group > strong { display: block; margin-bottom: .7rem; color: var(--nww-navy); }
.nww-locker-form__group > strong small { color: var(--nww-muted); font-weight: 600; }
.nww-locker-form__dimensions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.nww-locker-form__dimensions label { margin: 0; }
.nww-locker-summary > small + small { margin-top: .6rem; padding-top: .6rem; border-top: 1px solid rgba(255,255,255,.2); }
.nww-quote-transfer { margin: 1rem 0 1.5rem; padding: 1.25rem; border: 2px solid var(--nww-cyan); border-radius: 12px; background: #f3f9ff; }
.nww-quote-transfer .nww-eyebrow { margin-bottom: .35rem; }
.nww-quote-transfer h3 { margin-bottom: .45rem; color: var(--nww-navy); }
.nww-quote-transfer > p:not(.nww-eyebrow) { margin-bottom: .8rem; }
.nww-quote-transfer pre { max-height: 310px; margin: .8rem 0; padding: 1rem; overflow: auto; border: 1px solid var(--nww-line); border-radius: 8px; background: #fff; color: var(--nww-ink); font: inherit; font-size: .92rem; line-height: 1.55; white-space: pre-wrap; }
@media (max-width: 720px) {
    .nww-locker-form__dimensions { grid-template-columns: 1fr; }
}

/* v1.2.0 — irregular-room editing, clearance planning and multi-angle 3D exports */
.nww-designer {
    --nww-designer-border: #cbd8e2;
    --nww-designer-soft-border: #e5edf3;
    --nww-designer-surface: #ffffff;
    --nww-designer-canvas: #f4f8fb;
    --nww-designer-dark: #00396f;
    --nww-designer-control-height: 44px;
    min-height: 100vh;
    background:
        linear-gradient(180deg, #eef4f8 0, #f8fafc 420px, #f2f6f9 100%);
    color: var(--nww-ink);
    font-size: 15px;
    line-height: 1.45;
}

.nww-designer [hidden] {
    display: none !important;
}

.nww-designer button,
.nww-designer input,
.nww-designer select {
    font-size: inherit;
}

.nww-designer button,
.nww-designer a,
.nww-designer input,
.nww-designer select {
    -webkit-tap-highlight-color: transparent;
}

.nww-designer__intro {
    position: relative;
    overflow: hidden;
    padding-block: clamp(1.15rem, 2.4vw, 1.85rem);
    background:
        linear-gradient(112deg, rgba(0, 34, 67, .98), rgba(0, 69, 135, .96) 57%, rgba(0, 101, 196, .93)),
        repeating-linear-gradient(135deg, transparent 0 14px, rgba(255, 255, 255, .04) 14px 15px);
    color: rgba(255, 255, 255, .82);
    box-shadow: inset 0 -1px rgba(255, 255, 255, .16);
}

.nww-designer__intro::after {
    position: absolute;
    right: -80px;
    bottom: -145px;
    width: 390px;
    height: 280px;
    border: 32px solid rgba(255, 255, 255, .045);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.nww-designer__intro .nww-container {
    position: relative;
    z-index: 1;
    display: grid;
    width: min(1560px, calc(100% - 42px));
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
}

.nww-designer__intro .nww-eyebrow {
    margin-bottom: .38rem;
    color: #ff8a3d;
    font-size: .69rem;
}

.nww-designer__intro h1 {
    margin: 0 0 .42rem;
    color: #fff;
    font-size: clamp(2rem, 3vw, 3.05rem);
    line-height: 1;
    letter-spacing: -.045em;
}

.nww-designer__intro p:last-child {
    max-width: 940px;
    margin: 0;
    color: rgba(255, 255, 255, .8);
    font-size: clamp(.85rem, 1vw, .96rem);
    line-height: 1.5;
}

.nww-designer__intro-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .6rem;
}

.nww-designer__intro-actions .nww-button {
    min-height: 42px;
    padding: .6rem .9rem;
    border-radius: 6px;
    font-size: .78rem;
    white-space: nowrap;
}

.nww-designer__intro-actions .nww-button:not(.nww-button--ghost-light) {
    border-color: var(--nww-orange);
    background: var(--nww-orange);
    color: #161616;
}

.nww-designer__app {
    width: min(1640px, calc(100% - 28px));
    margin-inline: auto;
    padding-block: 12px 28px;
}

.nww-designer__toolbar {
    position: sticky;
    z-index: 80;
    top: 112px;
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 12px;
    padding: 7px;
    border: 1px solid var(--nww-designer-border);
    border-radius: 9px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 7px 25px rgba(0, 44, 84, .1);
    backdrop-filter: blur(12px);
}

body.admin-bar .nww-designer__toolbar {
    top: 144px;
}

.nww-designer__view-switch {
    display: inline-grid;
    flex: 0 0 auto;
    grid-template-columns: repeat(3, minmax(84px, 1fr));
    padding: 3px;
    border: 1px solid #b7c8d5;
    border-radius: 7px;
    background: #eaf0f5;
}

.nww-designer__view-switch button {
    min-height: 44px;
    padding: .42rem .62rem;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #466071;
    font-size: .75rem;
    font-weight: 850;
    line-height: 1.15;
    white-space: nowrap;
    cursor: pointer;
}

.nww-designer__view-switch button:hover {
    color: var(--nww-navy);
}

.nww-designer__view-switch button.is-active {
    background: var(--nww-navy);
    color: #fff;
    box-shadow: 0 3px 8px rgba(0, 50, 96, .22);
}

.nww-designer__toolbar-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}

.nww-designer__toolbar-actions button,
.nww-designer__property-actions button {
    min-height: 44px;
    padding: .48rem .72rem;
    border: 1px solid #b7c7d3;
    border-radius: 6px;
    background: #fff;
    color: var(--nww-navy);
    font-size: .7rem;
    font-weight: 820;
    line-height: 1.1;
    cursor: pointer;
    transition: border-color .16s, background .16s, color .16s, transform .16s, box-shadow .16s;
}

.nww-designer__toolbar-actions button:hover,
.nww-designer__property-actions button:hover {
    border-color: var(--nww-blue);
    background: #f1f7fc;
    transform: translateY(-1px);
}

.nww-designer__toolbar-actions .nww-designer__export-trigger {
    min-height: 44px;
    border-color: var(--nww-blue);
    background: var(--nww-blue);
    color: #fff;
    box-shadow: 0 4px 11px rgba(0, 69, 135, .18);
}

.nww-designer__toolbar-actions .nww-designer__export-trigger:hover {
    border-color: var(--nww-navy);
    background: var(--nww-navy);
    color: #fff;
}

.nww-designer__toolbar-actions button:disabled {
    border-color: #d9e1e7;
    background: #f4f6f8;
    color: #97a4ad;
    cursor: not-allowed;
    transform: none;
}

.nww-designer__layout {
    display: grid;
    grid-template-columns: 270px minmax(480px, 1fr) 310px;
    align-items: start;
    gap: 12px;
}

.nww-designer__library,
.nww-designer__properties,
.nww-designer__stage-wrap {
    min-width: 0;
    border: 1px solid var(--nww-designer-border);
    border-radius: 10px;
    background: var(--nww-designer-surface);
    box-shadow: 0 8px 28px rgba(0, 52, 98, .075);
}

.nww-designer__library,
.nww-designer__properties {
    position: sticky;
    top: 178px;
    max-height: calc(100vh - 194px);
    overflow: auto;
    padding: 14px;
    scrollbar-width: thin;
}

body.admin-bar .nww-designer__library,
body.admin-bar .nww-designer__properties {
    top: 210px;
}

.nww-designer__panel-heading {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    gap: .65rem;
    margin-bottom: .8rem;
}

.nww-designer__panel-heading:not(:first-child) {
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--nww-designer-soft-border);
}

.nww-designer__panel-heading > span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: var(--nww-navy);
    color: #fff;
    font-size: .72rem;
    font-weight: 900;
    box-shadow: inset 0 -2px rgba(0, 0, 0, .14);
}

.nww-designer__panel-heading strong,
.nww-designer__panel-heading small {
    display: block;
}

.nww-designer__panel-heading strong {
    color: var(--nww-navy);
    font-size: .84rem;
    line-height: 1.25;
}

.nww-designer__panel-heading small {
    margin-top: .08rem;
    color: #6d7f8c;
    font-size: .64rem;
    line-height: 1.3;
}

.nww-designer__room-fields {
    display: grid;
    gap: 7px;
}

.nww-designer__room-shape {
    display: grid;
    gap: .45rem;
    margin-bottom: .72rem;
}

.nww-designer__room-shape > strong {
    color: #314d60;
    font-size: .68rem;
    font-weight: 850;
}

.nww-designer__room-shape > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
}

.nww-designer__room-shape button {
    display: grid;
    min-height: 68px;
    align-content: center;
    justify-items: center;
    gap: .32rem;
    padding: .45rem .25rem;
    border: 1px solid #b9cad6;
    border-radius: 6px;
    background: linear-gradient(180deg, #fff, #f5f8fa);
    color: #496273;
    font-size: .58rem;
    font-weight: 830;
    line-height: 1.15;
    cursor: pointer;
    transition: border-color .16s, background .16s, color .16s, box-shadow .16s;
}

.nww-designer__room-shape button:hover {
    border-color: var(--nww-blue);
    background: #f1f8fd;
    color: var(--nww-navy);
}

.nww-designer__room-shape button.is-active,
.nww-designer__room-shape button[aria-pressed="true"] {
    border-color: var(--nww-blue);
    background: #e5f1fa;
    color: var(--nww-navy);
    box-shadow: inset 0 0 0 1px rgba(0, 101, 196, .12), 0 3px 9px rgba(0, 69, 135, .08);
}

.nww-designer__room-shape > small {
    color: #71828e;
    font-size: .57rem;
    line-height: 1.38;
}

.nww-room-shape-icon {
    position: relative;
    display: block;
    width: 30px;
    height: 21px;
    color: currentColor;
}

.nww-room-shape-icon--rectangle {
    border: 2px solid currentColor;
    background: rgba(0, 101, 196, .06);
}

.nww-room-shape-icon--l,
.nww-room-shape-icon--eight {
    background: currentColor;
}

.nww-room-shape-icon--l {
    clip-path: polygon(0 0, 100% 0, 100% 43%, 48% 43%, 48% 100%, 0 100%);
}

.nww-room-shape-icon--l::after {
    position: absolute;
    inset: 3px;
    background: #fff;
    clip-path: polygon(0 0, 100% 0, 100% 31%, 37% 31%, 37% 100%, 0 100%);
    content: "";
}

.nww-room-shape-icon--eight {
    clip-path: polygon(19% 0, 81% 0, 100% 25%, 100% 75%, 81% 100%, 19% 100%, 0 75%, 0 25%);
}

.nww-room-shape-icon--eight::after {
    position: absolute;
    inset: 3px;
    background: #fff;
    clip-path: polygon(19% 0, 81% 0, 100% 25%, 100% 75%, 81% 100%, 19% 100%, 0 75%, 0 25%);
    content: "";
}

.nww-designer__room-fields > label {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    padding: .38rem .45rem .38rem .65rem;
    border: 1px solid var(--nww-designer-soft-border);
    border-radius: 6px;
    background: #f8fafc;
    color: #314d60;
    font-size: .68rem;
    font-weight: 820;
}

.nww-designer__room-fields > label > span {
    display: flex;
    align-items: center;
    gap: .28rem;
    color: #70818d;
    font-size: .63rem;
    font-weight: 700;
}

.nww-designer__room-fields input {
    width: 64px;
    height: 34px;
    padding: .22rem .34rem;
    border: 1px solid #aebfcb;
    border-radius: 4px;
    background: #fff;
    color: var(--nww-ink);
    font-size: .72rem;
    font-weight: 750;
    text-align: right;
}

.nww-designer__room-fields i {
    font-style: normal;
}

.nww-designer__room-fields input.is-architectural {
    width: 112px;
    border-color: #c7d3dc;
    background: #eef3f6;
    color: #355268;
}

.nww-designer__pdf-panel {
    display: grid;
    gap: 8px;
    margin-bottom: 9px;
    padding: .72rem;
    border: 1px solid #b7cede;
    border-radius: 7px;
    background: linear-gradient(145deg, #f7fbfe, #eef6fb);
}

.nww-designer__pdf-heading,
.nww-designer__pdf-file,
.nww-designer__pdf-opacity {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
}

.nww-designer__pdf-heading > div,
.nww-designer__pdf-heading strong,
.nww-designer__pdf-heading small,
.nww-designer__pdf-file strong,
.nww-designer__pdf-file small {
    display: block;
    min-width: 0;
}

.nww-designer__pdf-heading strong {
    color: var(--nww-navy);
    font-size: .69rem;
}

.nww-designer__pdf-heading small,
.nww-designer__pdf-file small {
    margin-top: 2px;
    color: #667f90;
    font-size: .52rem;
}

.nww-designer__pdf-heading > span {
    padding: .2rem .34rem;
    border-radius: 4px;
    background: #cc3b31;
    color: #fff;
    font-size: .49rem;
    font-weight: 900;
    letter-spacing: .06em;
}

.nww-designer__pdf-choose {
    position: relative;
    display: grid;
    min-height: 44px;
    place-items: center;
    padding: .45rem .6rem;
    overflow: hidden;
    border: 1px dashed #4d89b3;
    border-radius: 6px;
    background: #fff;
    color: var(--nww-navy);
    font-size: .61rem;
    font-weight: 850;
    cursor: pointer;
}

.nww-designer__pdf-choose input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.nww-designer__pdf-choose:focus-within {
    outline: 3px solid rgba(8, 123, 213, .25);
    outline-offset: 2px;
}

.nww-designer__pdf-privacy,
.nww-designer__pdf-scale,
.nww-designer__pdf-explanation {
    margin: 0;
    color: #5c7484;
    font-size: .52rem;
    line-height: 1.42;
}

.nww-designer__pdf-explanation {
    padding: .48rem .52rem;
    border: 1px solid #c8dce9;
    border-radius: 5px;
    background: #fff;
}

.nww-designer__pdf-explanation strong {
    color: var(--nww-navy);
}

.nww-designer__pdf-loaded {
    display: grid;
    gap: 7px;
}

.nww-designer__pdf-file {
    padding-top: 3px;
    border-top: 1px solid #d3e1ea;
}

.nww-designer__pdf-file strong {
    overflow: hidden;
    color: #284c65;
    font-size: .58rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nww-designer__pdf-pages {
    display: grid;
    grid-template-columns: 44px minmax(74px, 1fr) auto 44px;
    align-items: center;
    gap: 4px;
}

.nww-designer__pdf-pages button,
.nww-designer__pdf-actions button {
    min-height: 44px;
    border: 1px solid #aac1d1;
    border-radius: 5px;
    background: #fff;
    color: var(--nww-navy);
    font-size: .58rem;
    font-weight: 830;
    cursor: pointer;
}

.nww-designer__pdf-pages label {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: 4px;
    padding-left: .45rem;
    border: 1px solid #c5d4de;
    border-radius: 5px;
    background: #fff;
    color: #506c7e;
    font-size: .56rem;
    font-weight: 800;
}

.nww-designer__pdf-pages input {
    width: 45px;
    min-width: 0;
    border: 0;
    color: var(--nww-ink);
    font-weight: 800;
}

.nww-designer__pdf-pages > span {
    color: #607989;
    font-size: .54rem;
    white-space: nowrap;
}

.nww-designer__pdf-scale {
    padding: .45rem .5rem;
    border-left: 3px solid var(--nww-orange);
    background: rgba(255, 255, 255, .7);
    color: #4a6576;
}

.nww-designer__pdf-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
}

.nww-designer__pdf-actions button:disabled {
    background: #edf1f4;
    color: #8d9aa3;
    cursor: not-allowed;
}

.nww-designer__pdf-actions button.is-active {
    border-color: var(--nww-orange);
    background: #fff2e8;
    color: #8f3d0d;
}

.nww-designer__pdf-actions .is-primary {
    grid-column: 1 / -1;
    border-color: var(--nww-blue);
    background: var(--nww-blue);
    color: #fff;
    font-size: .62rem;
}

.nww-designer__pdf-actions .is-primary:hover:not(:disabled),
.nww-designer__pdf-actions .is-primary.is-active {
    border-color: var(--nww-orange-dark);
    background: var(--nww-orange);
    color: #fff;
}

.nww-designer__pdf-actions .is-danger {
    color: #963d2c;
}

.nww-designer__pdf-trace {
    display: grid;
    gap: 7px;
    padding: .68rem;
    border: 2px solid var(--nww-orange);
    border-radius: 7px;
    background: linear-gradient(145deg, #fff9f3, #fff2e8);
    box-shadow: 0 6px 16px rgba(133, 59, 18, .09);
}

.nww-designer__pdf-trace > div:first-child,
.nww-designer__pdf-trace > div:first-child strong,
.nww-designer__pdf-trace > div:first-child span {
    display: block;
}

.nww-designer__pdf-trace > div:first-child strong {
    color: #6c3515;
    font-size: .63rem;
}

.nww-designer__pdf-trace > div:first-child span {
    margin-top: 2px;
    color: #765340;
    font-size: .55rem;
    line-height: 1.4;
}

.nww-designer__pdf-trace > div:nth-child(2) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
}

.nww-designer__pdf-trace button {
    min-height: 44px;
    padding: .42rem .35rem;
    border: 1px solid #c69678;
    border-radius: 5px;
    background: #fff;
    color: #6c3c23;
    font-size: .56rem;
    font-weight: 850;
    cursor: pointer;
}

.nww-designer__pdf-trace button:hover:not(:disabled) {
    border-color: var(--nww-orange-dark);
    background: #fff8f3;
}

.nww-designer__pdf-trace button.is-finish {
    border-color: var(--nww-navy);
    background: var(--nww-navy);
    color: #fff;
}

.nww-designer__pdf-trace button:disabled {
    border-color: #ddcec5;
    background: #f4efec;
    color: #a89a92;
    cursor: not-allowed;
}

.nww-designer__pdf-trace > small {
    color: #7e6353;
    font-size: .5rem;
    line-height: 1.38;
}

.nww-designer__pdf-opacity {
    color: #456275;
    font-size: .55rem;
    font-weight: 800;
}

.nww-designer__pdf-opacity > span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.nww-designer__pdf-opacity input {
    width: 90px;
}

.nww-designer__pdf-opacity output {
    width: 34px;
    color: var(--nww-navy);
    font-size: .55rem;
    text-align: right;
}

.nww-designer__pdf-download {
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: start;
    gap: 6px;
    color: #526e7f;
    font-size: .52rem;
    line-height: 1.38;
}

.nww-designer__outline-edit {
    display: inline-flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    margin-top: 7px;
    padding: .5rem .7rem;
    border: 1px solid var(--nww-blue);
    border-radius: 6px;
    background: #f2f8fd;
    color: var(--nww-navy);
    font-size: .67rem;
    font-weight: 850;
    cursor: pointer;
}

.nww-designer__outline-edit:hover,
.nww-designer__outline-edit[aria-pressed="true"] {
    background: var(--nww-blue);
    color: #fff;
}

.nww-designer__outline-edit > span {
    color: var(--nww-orange-dark);
    font-size: .82rem;
}

.nww-designer__outline-edit[aria-pressed="true"] > span {
    color: #ffb078;
}

.nww-designer__outline-controls {
    display: grid;
    gap: .55rem;
    margin-top: 7px;
    padding: .65rem;
    border: 1px solid #e4a27e;
    border-left: 4px solid var(--nww-orange);
    border-radius: 6px;
    background: linear-gradient(180deg, #fffaf6, #fff4ec);
    box-shadow: 0 5px 14px rgba(133, 59, 18, .06);
}

.nww-designer__outline-selection {
    display: grid;
    gap: .1rem;
}

.nww-designer__outline-selection > span {
    color: #8b5738;
    font-size: .52rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.nww-designer__outline-selection > strong {
    color: #64371f;
    font-size: .64rem;
    line-height: 1.35;
}

.nww-designer__corner-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

.nww-designer__corner-fields label {
    display: grid;
    gap: .25rem;
    color: #65452f;
    font-size: .57rem;
    font-weight: 820;
}

.nww-designer__corner-fields label > span {
    display: flex;
    align-items: center;
    gap: .26rem;
    color: #876650;
    font-size: .55rem;
}

.nww-designer__corner-fields input {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: .4rem .45rem;
    border: 1px solid #c68f70;
    border-radius: 5px;
    background: #fff;
    color: var(--nww-ink);
    font-size: .68rem;
    font-weight: 750;
}

.nww-designer__wall-length-fields {
    display: grid;
    gap: 7px;
    padding: .65rem;
    border: 1px solid #c68f70;
    border-radius: 6px;
    background: #fffaf6;
}

.nww-designer__wall-length-fields > strong {
    color: #64371f;
    font-size: .63rem;
}

.nww-designer__wall-length-fields > div {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, .82fr) minmax(0, 1.35fr);
    gap: 5px;
}

.nww-designer__wall-length-fields label {
    display: grid;
    gap: 3px;
    min-width: 0;
    color: #74513a;
    font-size: .53rem;
    font-weight: 820;
}

.nww-designer__wall-length-fields input,
.nww-designer__wall-length-fields select {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: .38rem .4rem;
    border: 1px solid #c68f70;
    border-radius: 5px;
    background: #fff;
    color: var(--nww-ink);
    font-size: .65rem;
    font-weight: 760;
}

.nww-designer__wall-length-fields > button {
    min-height: 44px;
    padding: .45rem .55rem;
    border: 1px solid var(--nww-navy);
    border-radius: 5px;
    background: var(--nww-navy);
    color: #fff;
    font-size: .59rem;
    font-weight: 850;
    cursor: pointer;
}

.nww-designer__wall-length-fields > small {
    color: #7b604e;
    font-size: .52rem;
    line-height: 1.4;
}

.nww-designer__outline-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
}

.nww-designer__outline-actions button {
    min-height: 44px;
    padding: .42rem .45rem;
    border: 1px solid #c8a18a;
    border-radius: 5px;
    background: #fff;
    color: #693d25;
    font-size: .59rem;
    font-weight: 850;
    line-height: 1.2;
    cursor: pointer;
}

.nww-designer__outline-actions button:hover {
    border-color: var(--nww-orange-dark);
    background: #fff8f3;
}

.nww-designer__outline-actions .is-danger {
    color: #963d2c;
}

.nww-designer__outline-actions .is-done {
    grid-column: 1 / -1;
    border-color: var(--nww-navy);
    background: var(--nww-navy);
    color: #fff;
}

.nww-designer__outline-actions .is-done:hover {
    border-color: var(--nww-blue);
    background: var(--nww-blue);
}

.nww-designer__outline-actions button:disabled {
    border-color: #daccc3;
    background: #f7f2ef;
    color: #aa9b92;
    cursor: not-allowed;
}

.nww-designer__wall-summary {
    margin-top: 7px;
    padding: .58rem .62rem;
    border: 1px solid #d5e0e7;
    border-radius: 6px;
    background: #f6f9fb;
}

.nww-designer__wall-summary > div {
    display: grid;
    gap: .08rem;
}

.nww-designer__wall-summary > div strong {
    color: var(--nww-navy);
    font-size: .65rem;
}

.nww-designer__wall-summary > div small {
    color: #72838f;
    font-size: .54rem;
    line-height: 1.35;
}

.nww-designer__wall-summary ol {
    display: grid;
    max-height: 102px;
    gap: .12rem;
    margin: .45rem 0 0;
    padding: .42rem .45rem .42rem 1.55rem;
    overflow: auto;
    border-top: 1px solid #dde6ec;
    color: #526b7b;
    font-size: .56rem;
    line-height: 1.35;
    scrollbar-width: thin;
}

.nww-designer__wall-summary ol:empty {
    display: none;
}

.nww-designer__wall-summary li {
    margin: 0;
    padding: 0;
}

.nww-designer__wall-summary li::marker {
    color: #8aa0ae;
}

.nww-designer__wall-summary li button {
    width: 100%;
    min-height: 44px;
    padding: .2rem .28rem;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #526b7b;
    font: inherit;
    font-weight: 760;
    text-align: left;
    cursor: pointer;
}

.nww-designer__wall-summary li button:hover,
.nww-designer__wall-summary li button.is-active {
    background: #e6f2fa;
    color: #075f9c;
}

.nww-designer__library-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.nww-designer__library-grid button {
    position: relative;
    display: grid;
    min-height: 103px;
    align-content: center;
    justify-items: center;
    gap: .22rem;
    padding: .7rem .4rem .6rem;
    overflow: hidden;
    border: 1px solid #c7d5df;
    border-radius: 7px;
    background: linear-gradient(180deg, #fff, #f6f9fb);
    color: var(--nww-navy);
    text-align: center;
    cursor: pointer;
    transition: border-color .16s, box-shadow .16s, transform .16s, background .16s;
}

.nww-designer__library-grid button::after {
    position: absolute;
    right: 7px;
    top: 6px;
    display: grid;
    width: 17px;
    height: 17px;
    place-items: center;
    border-radius: 50%;
    background: #e6f1fb;
    color: var(--nww-blue);
    content: "+";
    font-size: .75rem;
    font-weight: 900;
    line-height: 1;
}

.nww-designer__library-grid button:hover {
    z-index: 1;
    border-color: var(--nww-blue);
    background: #f3f9ff;
    box-shadow: 0 7px 17px rgba(0, 69, 135, .14);
    transform: translateY(-2px);
}

.nww-designer__library-grid strong,
.nww-designer__library-grid small {
    display: block;
}

.nww-designer__library-grid strong {
    font-size: .7rem;
    line-height: 1.15;
}

.nww-designer__library-grid small {
    color: #6d7f8c;
    font-size: .57rem;
    line-height: 1.2;
}

.nww-symbol {
    position: relative;
    display: block;
    width: 42px;
    height: 30px;
    margin-bottom: .18rem;
    color: var(--nww-navy);
}

.nww-symbol--locker {
    border: 3px solid currentColor;
    background-color: rgba(0, 101, 196, .06);
    background-image:
        repeating-linear-gradient(0deg, transparent 0 5px, currentColor 5px 6px),
        repeating-linear-gradient(90deg, transparent 0 5px, currentColor 5px 6px);
    box-shadow: 3px 3px 0 rgba(0, 69, 135, .22);
}

.nww-symbol--door {
    border-bottom: 3px solid currentColor;
    border-left: 3px solid currentColor;
}

.nww-symbol--door::before {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 36px;
    height: 25px;
    border-top: 2px dashed var(--nww-orange);
    border-radius: 100% 0 0;
    content: "";
    transform-origin: left bottom;
    transform: rotate(-25deg);
}

.nww-symbol--wall {
    height: 13px;
    margin-block: 8px 9px;
    border: 2px solid #263d4d;
    background: repeating-linear-gradient(90deg, #41596a 0 8px, #7f919d 8px 10px);
    box-shadow: 0 4px 0 rgba(38, 61, 77, .18);
}

.nww-symbol--wall::before,
.nww-symbol--wall::after {
    position: absolute;
    top: -5px;
    width: 4px;
    height: 19px;
    border-radius: 1px;
    background: #263d4d;
    content: "";
}

.nww-symbol--wall::before {
    left: -2px;
}

.nww-symbol--wall::after {
    right: -2px;
}

.nww-symbol--column {
    width: 30px;
    height: 30px;
    border: 3px solid #536977;
    background:
        linear-gradient(45deg, transparent 43%, #8396a3 44% 56%, transparent 57%),
        linear-gradient(-45deg, transparent 43%, #8396a3 44% 56%, transparent 57%),
        #e7edf1;
}

.nww-symbol--obstruction {
    border: 3px solid #9b4d25;
    background: repeating-linear-gradient(135deg, #fff 0 5px, #f0a16d 5px 9px);
}

.nww-symbol--pipe {
    width: 30px;
    height: 30px;
    border: 3px solid #a95016;
    border-radius: 50%;
    background:
        linear-gradient(90deg, transparent 46%, #a95016 47% 53%, transparent 54%),
        linear-gradient(0deg, transparent 46%, #a95016 47% 53%, transparent 54%),
        #fbe7d4;
}

.nww-symbol--pipe-run {
    height: 18px;
    margin-block: 6px;
    border: 3px solid #bb650f;
    border-radius: 999px;
    background: linear-gradient(180deg, #f8c98f, #dc8735);
    box-shadow: 0 4px 0 rgba(155, 79, 12, .14);
}

.nww-symbol--pipe-run::after {
    position: absolute;
    top: 50%;
    right: 4px;
    left: 4px;
    border-top: 1px dashed rgba(91, 46, 8, .76);
    content: "";
}

.nww-symbol--hvac {
    height: 24px;
    margin-block: 3px;
    border: 3px solid #69528f;
    background:
        linear-gradient(30deg, transparent 46%, rgba(105, 82, 143, .62) 47% 53%, transparent 54%),
        linear-gradient(-30deg, transparent 46%, rgba(105, 82, 143, .62) 47% 53%, transparent 54%),
        #eee9f7;
}

.nww-symbol--aisle {
    height: 24px;
    margin-block: 3px 4px;
    border: 2px dashed #287b9e;
    border-radius: 3px;
    background: repeating-linear-gradient(135deg, rgba(77, 173, 210, .2) 0 5px, rgba(77, 173, 210, .04) 5px 10px);
}

.nww-symbol--aisle::before {
    position: absolute;
    inset: 50% auto auto 50%;
    color: #176888;
    content: "↔";
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
    transform: translate(-50%, -50%);
}

.nww-symbol--turning {
    display: grid;
    width: 34px;
    height: 34px;
    margin: 0 0 .1rem;
    place-items: center;
    border: 2px dashed #4b6990;
    border-radius: 50%;
    background: rgba(95, 139, 189, .09);
}

.nww-symbol--turning::before {
    position: absolute;
    inset: 3px;
    border: 1px solid rgba(75, 105, 144, .42);
    border-radius: 50%;
    content: "";
}

.nww-symbol--turning span {
    position: relative;
    z-index: 1;
    color: #294d79;
    font-size: .48rem;
    font-weight: 900;
}

.nww-designer__tips {
    margin-top: .8rem;
    padding: .72rem .78rem;
    border-left: 3px solid var(--nww-orange);
    border-radius: 0 6px 6px 0;
    background: #fff6ee;
}

.nww-designer__tips strong {
    display: block;
    margin-bottom: .18rem;
    color: #683619;
    font-size: .68rem;
}

.nww-designer__tips p {
    margin: 0;
    color: #6f5b4e;
    font-size: .62rem;
    line-height: 1.45;
}

.nww-designer .nww-text-button {
    width: 100%;
    margin-top: .75rem;
    padding: .45rem;
    border: 0;
    background: transparent;
    color: var(--nww-blue);
    font-size: .67rem;
    font-weight: 820;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.nww-designer .nww-text-button:hover {
    color: var(--nww-orange);
}

.nww-designer__stage-wrap {
    overflow: hidden;
}

.nww-designer__stage-head {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem .85rem;
    border-bottom: 1px solid var(--nww-designer-border);
    background: linear-gradient(180deg, #fff, #f7fafc);
}

.nww-designer__stage-head > div:first-child {
    min-width: 0;
}

.nww-designer__stage-head strong,
.nww-designer__stage-head span {
    display: block;
}

.nww-designer__stage-head strong {
    color: var(--nww-navy);
    font-size: .8rem;
}

.nww-designer__stage-head [data-designer-status] {
    max-width: 540px;
    margin-top: .08rem;
    display: -webkit-box;
    overflow: hidden;
    color: #6a7d8b;
    font-size: .61rem;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.nww-designer__stage-head > div:last-child {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .7rem;
}

.nww-designer__legend-item {
    display: inline-flex !important;
    align-items: center;
    gap: .3rem;
    color: #607482;
    font-size: .59rem;
    font-weight: 750;
}

.nww-designer__legend-item i {
    width: 13px;
    height: 13px;
    border: 2px solid var(--nww-navy);
    border-radius: 2px;
    background: rgba(0, 101, 196, .1);
}

.nww-designer__legend-item--selected i {
    border-color: var(--nww-orange);
    background: #fff0e5;
    box-shadow: 0 0 0 2px rgba(221, 100, 32, .14);
}

.nww-designer__legend-item--room i {
    height: 10px;
    border: 0;
    border-top: 4px solid #087bd5;
    border-radius: 0;
    background: transparent;
    box-shadow: 0 1px 0 #fff;
}

.nww-designer__stage {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background:
        linear-gradient(45deg, rgba(0, 69, 135, .018) 25%, transparent 25%, transparent 75%, rgba(0, 69, 135, .018) 75%) 0 0 / 24px 24px,
        var(--nww-designer-canvas);
    isolation: isolate;
}

.nww-designer__stage::after {
    position: absolute;
    z-index: 5;
    inset: 0;
    border: 5px solid rgba(0, 69, 135, .025);
    content: "";
    pointer-events: none;
}

.nww-designer__stage svg,
.nww-designer__stage canvas {
    display: block;
    width: 100%;
    height: 100%;
}

.nww-designer__stage svg[hidden],
.nww-designer__stage canvas[hidden] {
    display: none;
}

.nww-designer__stage svg {
    position: relative;
    z-index: 2;
    user-select: none;
    touch-action: none;
}

.nww-designer__stage [data-designer-pdf-underlay] {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: #fff;
    pointer-events: none;
}

.nww-designer.is-pdf-active .nww-designer-svg__room {
    fill: rgba(8, 123, 213, .055);
    stroke: #087bd5;
    stroke-width: 6;
    filter: drop-shadow(0 0 2px #fff) drop-shadow(0 2px 4px rgba(0, 69, 135, .2));
}

.nww-designer.is-pdf-aligning [data-designer-svg] {
    cursor: move;
}

.nww-designer.is-pdf-tracing [data-designer-svg] {
    cursor: crosshair;
}

.nww-designer.is-pdf-tracing [data-designer-room],
.nww-designer.is-pdf-tracing [data-designer-elements],
.nww-designer.is-pdf-tracing [data-designer-dimensions] {
    opacity: .2;
}

.nww-designer.is-pdf-tracing [data-designer-room],
.nww-designer.is-pdf-tracing [data-designer-elements],
.nww-designer.is-pdf-tracing [data-designer-dimensions],
.nww-designer.is-pdf-tracing [data-designer-room-edit] {
    pointer-events: none;
}

.nww-designer__stage [data-designer-canvas] {
    position: relative;
    z-index: 3;
    background: radial-gradient(circle at 50% 18%, #fff 0, #edf4f8 64%, #dce8f0 100%);
    cursor: grab;
    touch-action: none;
    user-select: none;
}

.nww-designer__stage [data-designer-canvas].is-orbiting,
.nww-designer__stage [data-designer-canvas].is-panning {
    cursor: grabbing;
}

.nww-designer__camera-controls {
    position: absolute;
    z-index: 8;
    right: 12px;
    bottom: 12px;
    left: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .55rem .62rem .55rem .75rem;
    border: 1px solid rgba(111, 137, 154, .55);
    border-radius: 8px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 8px 24px rgba(0, 42, 80, .15);
    backdrop-filter: blur(10px);
}

.nww-designer__camera-controls > span,
.nww-designer__camera-controls > span strong,
.nww-designer__camera-controls > span small {
    display: block;
}

.nww-designer__camera-controls > span {
    min-width: 0;
}

.nww-designer__camera-controls > span strong {
    color: var(--nww-navy);
    font-size: .68rem;
}

.nww-designer__camera-controls > span small {
    margin-top: .08rem;
    overflow: hidden;
    color: #607786;
    font-size: .57rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nww-designer__camera-controls > div {
    display: flex;
    flex: 0 0 auto;
    gap: 4px;
}

.nww-designer__camera-controls button {
    min-width: 38px;
    min-height: 38px;
    padding: .35rem .55rem;
    border: 1px solid #b7c7d3;
    border-radius: 5px;
    background: #fff;
    color: var(--nww-navy);
    font-size: .65rem;
    font-weight: 850;
    cursor: pointer;
}

.nww-designer__camera-controls button:hover {
    border-color: var(--nww-blue);
    background: #eff7fd;
}

.nww-designer__camera-controls button:first-child,
.nww-designer__camera-controls button:last-child {
    font-size: 1rem;
}

.nww-designer__empty {
    position: absolute;
    z-index: 7;
    inset: 50% auto auto 50%;
    display: grid;
    width: min(340px, calc(100% - 40px));
    gap: .25rem;
    padding: 1.15rem;
    border: 1px dashed #9ab1c2;
    border-radius: 8px;
    background: rgba(255, 255, 255, .92);
    color: #607483;
    text-align: center;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.nww-designer__empty strong {
    color: var(--nww-navy);
    font-size: .82rem;
}

.nww-designer__empty span {
    font-size: .65rem;
}

.nww-designer__disclaimer {
    margin: 0;
    padding: .65rem .82rem;
    border-top: 1px solid var(--nww-designer-border);
    background: #fff9f2;
    color: #6f5a4c;
    font-size: .6rem;
    line-height: 1.4;
}

.nww-designer__disclaimer strong {
    color: #733817;
}

/* SVG drawing language — crisp, technical and still friendly to nontechnical users. */
.nww-designer-svg__grid-minor {
    stroke: #dce7ee;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.nww-designer-svg__grid-major {
    stroke: #b9cbd7;
    stroke-width: 1.25;
    vector-effect: non-scaling-stroke;
}

.nww-designer-svg__room {
    fill: rgba(255, 255, 255, .88);
    stroke: var(--nww-navy);
    stroke-width: 4;
    vector-effect: non-scaling-stroke;
    filter: drop-shadow(0 4px 6px rgba(0, 48, 91, .09));
}

[data-designer-pdf-trace] {
    pointer-events: none;
}

.nww-designer-svg__pdf-trace-line {
    stroke: #f26a21;
    stroke-width: 7;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
    filter: drop-shadow(0 0 2px #fff) drop-shadow(0 2px 3px rgba(94, 39, 8, .35));
}

.nww-designer-svg__pdf-trace-close,
.nww-designer-svg__pdf-trace-preview {
    fill: none;
    stroke: #f26a21;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-dasharray: 10 7;
    vector-effect: non-scaling-stroke;
    filter: drop-shadow(0 0 2px #fff);
}

.nww-designer-svg__pdf-trace-preview {
    stroke: #087bd5;
    stroke-width: 3;
    stroke-dasharray: 7 6;
}

.nww-designer-svg__pdf-trace-point {
    fill: #fff;
    stroke: #f26a21;
    stroke-width: 5;
    vector-effect: non-scaling-stroke;
    filter: drop-shadow(0 2px 4px rgba(0, 48, 91, .35));
}

.nww-designer-svg__pdf-trace-point.is-first {
    fill: #e8f6ff;
    stroke: #087bd5;
}

.nww-designer-svg__pdf-trace-number {
    fill: var(--nww-navy);
    font-size: 10px;
    font-weight: 900;
}

.nww-designer-svg__pdf-trace-length {
    fill: #71350f;
    stroke: #fff;
    stroke-width: 4px;
    paint-order: stroke;
    font-size: 11px;
    font-weight: 900;
}

.nww-designer-svg__pdf-trace-crosshair {
    fill: rgba(255, 255, 255, .85);
    stroke: #087bd5;
    stroke-width: 3;
    stroke-dasharray: 3 2;
    vector-effect: non-scaling-stroke;
}

.nww-designer-svg__pdf-trace-banner {
    fill: #71350f;
    stroke: rgba(255, 255, 255, .96);
    stroke-width: 6px;
    paint-order: stroke;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .04em;
}

[data-designer-room-edit] {
    pointer-events: none;
}

[data-designer-room-edit] .nww-designer-svg__room-edit-edge,
[data-designer-room-edit] [data-room-wall-index] {
    stroke: rgba(221, 100, 32, .92);
    stroke-width: 5;
    vector-effect: non-scaling-stroke;
    pointer-events: stroke;
    cursor: pointer;
}

[data-designer-room-edit] .nww-designer-svg__room-edit-edge:hover,
[data-designer-room-edit] .nww-designer-svg__room-edit-edge.is-selected,
[data-designer-room-edit] [data-room-wall-index]:hover,
[data-designer-room-edit] [data-room-wall-index].is-selected {
    stroke: #0a75c2;
    stroke-width: 7;
}

[data-designer-room-edit] .nww-designer-svg__room-edit-hit {
    fill: none;
    stroke: transparent;
    stroke-width: 20;
    vector-effect: non-scaling-stroke;
    pointer-events: stroke;
    cursor: pointer;
}

[data-designer-room-edit] .nww-designer-svg__room-edit-corner-hit {
    fill: transparent;
    stroke: transparent;
    stroke-width: 2;
    pointer-events: all;
    cursor: grab;
}

[data-designer-room-edit] .nww-designer-svg__room-edit-corner-hit:focus-visible {
    fill: rgba(8, 123, 213, .08);
    stroke: rgba(8, 123, 213, .65);
}

[data-designer-room-edit] .nww-designer-svg__room-edit-corner {
    fill: #fff;
    stroke: var(--nww-orange);
    stroke-width: 3;
    vector-effect: non-scaling-stroke;
    pointer-events: none;
    cursor: grab;
    filter: drop-shadow(0 2px 3px rgba(0, 48, 91, .25));
}

[data-designer-room-edit] .nww-designer-svg__room-edit-corner:hover,
[data-designer-room-edit] .nww-designer-svg__room-edit-corner.is-selected {
    fill: #fff3e9;
    stroke: #087bd5;
    stroke-width: 4;
}

[data-designer-room-edit] .nww-designer-svg__room-edit-corner:active,
[data-designer-room-edit] .nww-designer-svg__room-edit-corner-hit:active {
    cursor: grabbing;
}

.nww-designer-svg__room-wall-label {
    fill: #8a421c;
    font-size: 10px;
    font-weight: 850;
    paint-order: stroke;
    stroke: rgba(255, 255, 255, .94);
    stroke-width: 4px;
    stroke-linejoin: round;
}

.nww-designer-svg__element {
    outline: none;
    cursor: grab;
    transition: filter .14s, opacity .14s;
}

.nww-designer-svg__element:hover {
    filter: brightness(1.04) drop-shadow(0 3px 4px rgba(0, 53, 100, .2));
}

.nww-designer-svg__element:active {
    cursor: grabbing;
}

.nww-designer-svg__element--locker {
    fill: #dcecf9;
    stroke: var(--nww-navy);
    stroke-width: 2.25;
    vector-effect: non-scaling-stroke;
}

.nww-designer-svg__element--door {
    fill: #fff3e9;
    stroke: #b8531e;
    stroke-width: 2.25;
    vector-effect: non-scaling-stroke;
}

.nww-designer-svg__element--wall {
    fill: #425866;
    stroke: #1e3442;
    stroke-width: 2.5;
    vector-effect: non-scaling-stroke;
}

.nww-designer-svg__element--column {
    fill: #dce3e8;
    stroke: #465d6d;
    stroke-width: 2.25;
    vector-effect: non-scaling-stroke;
}

.nww-designer-svg__element--obstruction {
    fill: #fde1cf;
    stroke: #99461d;
    stroke-width: 2.25;
    stroke-dasharray: 7 4;
    vector-effect: non-scaling-stroke;
}

.nww-designer-svg__element--aisle,
.nww-designer-svg__element--turning,
.nww-designer-svg__element--pipe-run,
.nww-designer-svg__element--hvac {
    opacity: .86;
}

.nww-designer-svg__hit-area {
    pointer-events: all;
}

.nww-designer-svg__element--aisle rect,
.nww-designer-svg__element--turning rect,
.nww-designer-svg__element--turning circle {
    stroke-dasharray: 8 5;
}

.nww-designer-svg__element--aisle rect {
    fill: rgba(58, 162, 202, .15);
    stroke: #287b9e;
}

.nww-designer-svg__element--turning rect,
.nww-designer-svg__element--turning circle {
    fill: rgba(81, 117, 166, .12);
    stroke: #3c658f;
}

.nww-designer-svg__element--aisle .nww-designer-svg__label,
.nww-designer-svg__element--turning .nww-designer-svg__label {
    fill: #244f6e;
}

.nww-designer-svg__element.is-outside-room {
    opacity: .72;
    filter: drop-shadow(0 0 5px rgba(198, 50, 44, .46));
}

.nww-designer-svg__element.is-selected,
.nww-designer-svg__element[aria-selected="true"] {
    stroke: var(--nww-orange);
    stroke-width: 4;
    filter: drop-shadow(0 0 5px rgba(221, 100, 32, .5));
}

.nww-designer-svg__element:focus,
.nww-designer-svg__element:focus-visible {
    stroke: #087bd5;
    stroke-width: 4;
    filter: drop-shadow(0 0 5px rgba(8, 123, 213, .58));
    outline: none;
}

.nww-designer-svg__element.is-selected:focus,
.nww-designer-svg__element.is-selected:focus-visible {
    stroke: var(--nww-orange);
    filter: drop-shadow(0 0 6px rgba(221, 100, 32, .65));
}

.nww-designer-svg__handle {
    fill: #fff;
    stroke: var(--nww-orange);
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
    pointer-events: none;
}

.nww-designer-svg__locker-mesh {
    fill: none;
    stroke: rgba(0, 69, 135, .58);
    stroke-width: .75;
    pointer-events: none;
    vector-effect: non-scaling-stroke;
}

.nww-designer-svg__label {
    fill: #002f5c;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .02em;
    text-anchor: middle;
    pointer-events: none;
    user-select: none;
}

.nww-designer-svg__sub-label {
    fill: #526b7b;
    font-size: 9px;
    font-weight: 700;
    text-anchor: middle;
    pointer-events: none;
    user-select: none;
}

.nww-designer-svg__dimension-line,
.nww-designer-svg__dimension-tick {
    fill: none;
    stroke: #627b8b;
    stroke-width: 1.25;
    vector-effect: non-scaling-stroke;
}

.nww-designer-svg__dimension {
    fill: #3f596a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    text-anchor: middle;
}

.nww-designer-svg__door-swing {
    fill: none;
    stroke: #c55a20;
    stroke-width: 1.5;
    stroke-dasharray: 4 3;
    vector-effect: non-scaling-stroke;
    pointer-events: none;
}

.nww-designer__properties {
    min-height: 310px;
}

.nww-designer__no-selection {
    display: grid;
    justify-items: center;
    gap: .35rem;
    padding: 1.3rem .55rem 1rem;
    color: #71838f;
    text-align: center;
}

.nww-designer__cursor-icon {
    display: grid;
    width: 48px;
    height: 48px;
    margin-bottom: .15rem;
    place-items: center;
    border: 1px dashed #a4b7c5;
    border-radius: 50%;
    background: #f4f8fb;
    color: var(--nww-blue);
    font-size: 1.4rem;
}

.nww-designer__no-selection strong {
    color: var(--nww-navy);
    font-size: .8rem;
}

.nww-designer__no-selection p {
    margin: 0;
    font-size: .64rem;
    line-height: 1.45;
}

.nww-designer__properties form:not([hidden]) {
    display: grid;
    gap: .8rem;
}

.nww-designer__selection-title {
    display: grid;
    gap: .12rem;
    padding: .65rem .7rem;
    border-left: 4px solid var(--nww-orange);
    border-radius: 0 6px 6px 0;
    background: #eef5fb;
}

.nww-designer__selection-title b {
    color: var(--nww-blue);
    font-size: .59rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.nww-designer__selection-title strong {
    color: var(--nww-navy);
    font-size: .82rem;
}

.nww-designer__property-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.nww-designer__clearance-help {
    margin: 0;
    padding: .62rem .65rem;
    border: 1px dashed #6da9c3;
    border-left: 4px solid #287b9e;
    border-radius: 5px;
    background: #eef8fb;
    color: #3f6477;
    font-size: .6rem;
    line-height: 1.42;
}

.nww-designer__clearance-help strong {
    color: #135b79;
}

.nww-designer__aisle-controls {
    display: grid;
    gap: .36rem;
    margin: .48rem 0 .7rem;
    padding: .62rem;
    border: 1px solid #aad2cd;
    border-radius: 6px;
    background: #f1fbf9;
}

.nww-designer__aisle-controls label,
.nww-designer__aisle-controls label > span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .45rem;
}

.nww-designer__aisle-controls label {
    color: #075b50;
    font-size: .64rem;
    font-weight: 850;
}

.nww-designer__aisle-controls input {
    width: 76px;
    height: 44px;
    padding: .35rem .45rem;
    border: 1px solid #63a99f;
    border-radius: 5px;
    background: #fff;
    color: #083f38;
    font: inherit;
}

.nww-designer__aisle-controls small {
    color: #4f736e;
    font-size: .55rem;
    line-height: 1.4;
}

.nww-designer__mechanical:not([hidden]) {
    display: grid;
    gap: .62rem;
    padding: .68rem;
    border: 1px solid #ddc49d;
    border-left: 4px solid #bb650f;
    border-radius: 7px;
    background: linear-gradient(180deg, #fffaf3, #faf6f0);
}

.nww-designer__mechanical > div:first-child strong,
.nww-designer__mechanical > div:first-child small {
    display: block;
}

.nww-designer__mechanical > div:first-child strong {
    color: #71400e;
    font-size: .69rem;
}

.nww-designer__mechanical > div:first-child small {
    margin-top: .08rem;
    color: #806b54;
    font-size: .55rem;
}

.nww-designer__exact-fields {
    display: grid;
    gap: .5rem;
}

.nww-designer__exact-fields > div:not([hidden]) {
    display: grid;
    gap: .3rem;
    padding-top: .45rem;
    border-top: 1px solid rgba(166, 126, 77, .23);
}

.nww-designer__exact-fields > div > strong {
    color: #5d4c39;
    font-size: .6rem;
}

.nww-designer__exact-fields > div > div {
    display: grid;
    grid-template-columns: .8fr .8fr 1.25fr;
    gap: 5px;
}

.nww-designer__exact-fields label {
    display: grid;
    gap: .18rem;
}

.nww-designer__exact-fields label > span {
    color: #7a6855;
    font-size: .5rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.nww-designer__exact-fields :is(input, select) {
    min-height: 42px !important;
    padding: .38rem .4rem !important;
    font-size: .62rem !important;
}

.nww-designer__mechanical > button {
    min-height: 44px;
    padding: .48rem .62rem;
    border: 1px solid #a95816;
    border-radius: 5px;
    background: #fff;
    color: #7b3f0e;
    font-size: .62rem;
    font-weight: 850;
    cursor: pointer;
}

.nww-designer__mechanical > button:hover {
    background: #fff2e2;
}

.nww-designer__mechanical > p {
    margin: 0;
    color: #746452;
    font-size: .55rem;
    line-height: 1.42;
}

.nww-designer__properties label,
.nww-designer__properties legend {
    color: #334f62;
    font-size: .65rem;
    font-weight: 820;
}

.nww-designer__property-grid label {
    position: relative;
    display: grid;
    gap: .25rem;
}

.nww-designer__properties input[type="number"],
.nww-designer__properties input[type="text"],
.nww-designer__properties select {
    width: 100%;
    min-height: var(--nww-designer-control-height);
    padding: .48rem .58rem;
    border: 1px solid #aebfcb;
    border-radius: 5px;
    background: #fff;
    color: var(--nww-ink);
    font-size: .71rem;
    font-weight: 650;
    outline: none;
}

.nww-designer__property-grid input {
    padding-right: 2.4rem !important;
}

.nww-designer__property-grid label small {
    position: absolute;
    right: .48rem;
    bottom: .65rem;
    color: #748591;
    font-size: .55rem;
    font-weight: 720;
    pointer-events: none;
}

.nww-designer__properties form > label,
.nww-designer__properties [data-locker-properties] > label,
.nww-designer__properties [data-obstruction-label-wrap] {
    display: grid;
    gap: .28rem;
}

.nww-designer__properties [data-locker-properties] {
    display: grid;
    gap: .72rem;
}

.nww-designer__rule-note {
    margin: -.2rem 0 0;
    padding: .48rem .55rem;
    border-left: 3px solid var(--nww-orange);
    border-radius: 0 4px 4px 0;
    background: #fff6ef;
    color: #70462c;
    font-size: .59rem;
    font-weight: 720;
    line-height: 1.38;
}

.nww-designer__assembly {
    display: grid;
    gap: .6rem;
    padding: .68rem;
    border: 1px solid #cbd9e3;
    border-radius: 7px;
    background: linear-gradient(180deg, #f9fcfe, #f2f7fa);
}

.nww-designer__assembly > div:first-child strong,
.nww-designer__assembly > div:first-child small {
    display: block;
}

.nww-designer__assembly > div:first-child strong {
    color: var(--nww-navy);
    font-size: .69rem;
}

.nww-designer__assembly > div:first-child small,
.nww-designer__assembly-help {
    margin-top: .08rem;
    color: #6d7f8c;
    font-size: .56rem;
    line-height: 1.35;
}

.nww-designer__assembly-grid,
.nww-designer__return-grid,
.nww-designer__return-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

.nww-designer__assembly-grid label,
.nww-designer__return-grid label,
.nww-designer__return-layout label {
    display: grid;
    gap: .25rem;
}

.nww-designer__assembly-grid label:last-child,
.nww-designer__return-grid label,
.nww-designer__return-layout label:first-child {
    grid-column: 1 / -1;
}

.nww-designer__assembly-result {
    margin: 0;
    padding: .42rem .48rem;
    border-radius: 4px;
    background: #e7f1f8;
    color: #2e566f;
    font-size: .57rem;
    font-weight: 680;
    line-height: 1.38;
}

.nww-designer__return-layout > label[data-return-split-wrap] > span {
    display: flex;
    align-items: center;
    gap: .3rem;
    color: #71828e;
}

.nww-designer__return-layout input[type="number"] {
    min-width: 0;
}

.nww-designer__properties fieldset {
    display: grid;
    gap: .45rem;
    margin: 0;
    padding: .65rem .7rem .7rem;
    border: 1px solid var(--nww-designer-soft-border);
    border-radius: 6px;
    background: #f8fafc;
}

.nww-designer__properties legend {
    padding-inline: .25rem;
}

.nww-designer__properties fieldset label {
    display: flex;
    align-items: flex-start;
    gap: .45rem;
    color: #496171;
    font-size: .63rem;
    font-weight: 700;
    line-height: 1.35;
}

.nww-designer__properties input[type="checkbox"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: .05rem 0 0;
    accent-color: var(--nww-blue);
}

.nww-designer__property-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    padding-top: .08rem;
}

.nww-designer__property-actions .is-danger {
    grid-column: 1 / -1;
    border-color: #e0b7a4;
    background: #fff8f5;
    color: #97421a;
}

.nww-designer__property-actions .is-danger:hover {
    border-color: #b84d1c;
    background: #b84d1c;
    color: #fff;
}

.nww-designer__summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 390px);
    align-items: center;
    gap: 1.2rem;
    margin-top: 12px;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 10px;
    background:
        linear-gradient(112deg, #002e5a, var(--nww-navy) 65%, #075eae);
    color: rgba(255, 255, 255, .78);
    box-shadow: 0 12px 30px rgba(0, 45, 87, .16);
}

.nww-designer__summary .nww-eyebrow {
    margin-bottom: .45rem;
    color: #ff8a3d;
    font-size: .61rem;
}

.nww-designer__summary-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.nww-designer__summary-metrics span {
    display: inline-flex;
    min-height: 34px;
    align-items: baseline;
    gap: .32rem;
    padding: .38rem .58rem;
    border: 1px solid rgba(255, 255, 255, .19);
    border-radius: 5px;
    background: rgba(255, 255, 255, .07);
    color: rgba(255, 255, 255, .78);
    font-size: .61rem;
    white-space: nowrap;
}

.nww-designer__summary-metrics strong {
    color: #fff;
    font-size: .94rem;
}

.nww-designer__summary [data-summary-text] {
    margin: .55rem 0 0;
    color: rgba(255, 255, 255, .68);
    font-size: .62rem;
    line-height: 1.4;
}

.nww-designer__summary-actions {
    display: grid;
    gap: .45rem;
}

.nww-designer__summary-actions .nww-button {
    min-height: 47px;
    border-color: var(--nww-orange);
    background: var(--nww-orange);
    color: #151515;
    font-size: .76rem;
    text-align: center;
}

.nww-designer__summary-actions .nww-button[data-inactive] {
    opacity: .74;
}

.nww-designer__summary-actions small {
    color: rgba(255, 255, 255, .62);
    font-size: .57rem;
    line-height: 1.38;
    text-align: center;
}

.nww-designer__tour {
    position: relative;
    width: min(650px, calc(100vw - 32px));
    max-width: none;
    max-height: calc(100vh - 32px);
    padding: clamp(1.4rem, 4vw, 2.3rem);
    overflow: auto;
    border: 0;
    border-top: 7px solid var(--nww-orange);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(0, 24, 46, .48);
}

.nww-designer__tour::backdrop {
    background: rgba(0, 23, 44, .78);
    backdrop-filter: blur(4px);
}

.nww-designer__tour > [data-designer-tour-close]:first-child {
    position: absolute;
    right: .7rem;
    top: .65rem;
    display: grid;
    width: 36px;
    height: 36px;
    padding: 0;
    place-items: center;
    border: 1px solid #c6d2db;
    border-radius: 50%;
    background: #f4f7f9;
    color: var(--nww-navy);
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
}

.nww-designer__tour h2 {
    max-width: 510px;
    margin-bottom: 1.25rem;
    font-size: clamp(1.75rem, 4vw, 2.55rem);
}

.nww-designer__tour ol {
    display: grid;
    gap: .7rem;
    margin: 0 0 1.3rem;
    padding: 0;
    list-style: none;
}

.nww-designer__tour li {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: .75rem;
    padding: .75rem;
    border: 1px solid var(--nww-designer-soft-border);
    border-radius: 7px;
    background: #f8fafc;
}

.nww-designer__tour li > span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: var(--nww-navy);
    color: #fff;
    font-size: .75rem;
    font-weight: 900;
}

.nww-designer__tour li strong {
    color: var(--nww-navy);
    font-size: .78rem;
}

.nww-designer__tour li p {
    margin: .1rem 0 0;
    color: var(--nww-muted);
    font-size: .68rem;
    line-height: 1.45;
}

.nww-designer__tour > .nww-button {
    border-color: var(--nww-orange);
    background: var(--nww-orange);
    color: #171717;
}

.nww-designer__pdf-calibration {
    width: min(1180px, calc(100vw - 28px));
    max-width: none;
    max-height: calc(100vh - 28px);
    margin: auto;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-top: 7px solid var(--nww-orange);
    border-radius: 11px;
    background: #eef4f8;
    color: var(--nww-ink);
    box-shadow: 0 28px 90px rgba(0, 24, 46, .55);
}

.nww-designer__pdf-calibration::backdrop {
    background: rgba(0, 23, 44, .82);
    backdrop-filter: blur(4px);
}

.nww-designer__pdf-calibration > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem .85rem;
    border-bottom: 1px solid #c9d8e2;
    background: #fff;
}

.nww-designer__pdf-calibration > header h2 {
    margin: .08rem 0 .25rem;
    color: var(--nww-navy);
    font-size: clamp(1.35rem, 3vw, 2rem);
}

.nww-designer__pdf-calibration > header p:last-child {
    max-width: 780px;
    margin: 0;
    color: #587184;
    font-size: .7rem;
    line-height: 1.45;
}

.nww-designer__pdf-calibration > header > button {
    display: grid;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid #c4d1da;
    border-radius: 50%;
    background: #f5f8fa;
    color: var(--nww-navy);
    font-size: 1.35rem;
    cursor: pointer;
}

.nww-designer__pdf-calibration-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .55rem .8rem;
    border-bottom: 1px solid #c3d4df;
    background: #f8fbfd;
}

.nww-designer__pdf-calibration-toolbar > div {
    display: flex;
    gap: 4px;
}

.nww-designer__pdf-calibration-toolbar button,
.nww-designer__pdf-calibration > footer button {
    min-height: 44px;
    padding: .45rem .7rem;
    border: 1px solid #adc1cf;
    border-radius: 5px;
    background: #fff;
    color: var(--nww-navy);
    font-size: .65rem;
    font-weight: 840;
    cursor: pointer;
}

.nww-designer__pdf-calibration-toolbar button.is-active {
    border-color: var(--nww-blue);
    background: var(--nww-blue);
    color: #fff;
}

.nww-designer__pdf-calibration-toolbar > strong {
    color: #9c4615;
    font-size: .68rem;
}

.nww-designer__pdf-calibration-viewport {
    height: min(54vh, 650px);
    overflow: auto;
    background: #334554;
    text-align: center;
}

.nww-designer__pdf-calibration-viewport canvas {
    display: block;
    margin: 18px auto;
    background: #fff;
    box-shadow: 0 10px 35px rgba(0, 0, 0, .35);
    cursor: crosshair;
    touch-action: none;
}

.nww-designer__pdf-calibration-length {
    display: grid;
    grid-template-columns: auto minmax(260px, 520px) minmax(240px, 1fr);
    align-items: center;
    gap: .75rem;
    padding: .7rem .9rem;
    border-top: 1px solid #c4d4df;
    background: #fff;
}

.nww-designer__pdf-calibration-length > strong {
    color: var(--nww-navy);
    font-size: .69rem;
}

.nww-designer__pdf-calibration-length > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
}

.nww-designer__pdf-calibration-length label {
    display: grid;
    gap: 3px;
    color: #5c7484;
    font-size: .52rem;
    font-weight: 820;
}

.nww-designer__pdf-calibration-length input,
.nww-designer__pdf-calibration-length select {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: .38rem .45rem;
    border: 1px solid #b7c8d4;
    border-radius: 5px;
    background: #fff;
    color: var(--nww-ink);
    font-size: .68rem;
    font-weight: 760;
}

.nww-designer__pdf-calibration-length > small {
    color: #637b8a;
    font-size: .55rem;
    line-height: 1.4;
}

.nww-designer__pdf-calibration > footer {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    padding: .65rem .9rem;
    border-top: 1px solid #c5d5df;
    background: #f8fbfd;
}

.nww-designer__pdf-calibration > footer .nww-button {
    border-color: var(--nww-orange);
    background: var(--nww-orange);
    color: #171717;
}

.nww-designer__export {
    width: min(1480px, calc(100vw - 28px));
    max-width: none;
    max-height: calc(100vh - 28px);
    margin: auto;
    padding: 0;
    overflow: auto;
    border: 0;
    border-top: 7px solid var(--nww-orange);
    border-radius: 11px;
    background: #eef4f8;
    color: var(--nww-ink);
    box-shadow: 0 30px 100px rgba(0, 24, 46, .52);
}

.nww-designer__export::backdrop {
    background: rgba(0, 23, 44, .84);
    backdrop-filter: blur(5px);
}

.nww-designer__export-head {
    position: sticky;
    z-index: 3;
    top: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 1.25rem;
    padding: 1.15rem 1.25rem 1rem;
    border-bottom: 1px solid #cfdae2;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 4px 18px rgba(0, 38, 72, .08);
    backdrop-filter: blur(12px);
}

.nww-designer__export-head .nww-eyebrow {
    margin-bottom: .2rem;
    color: var(--nww-orange-dark);
    font-size: .63rem;
}

.nww-designer__export-head h2 {
    margin: 0;
    color: var(--nww-navy);
    font-size: clamp(1.45rem, 2.4vw, 2.3rem);
    line-height: 1.05;
}

.nww-designer__export-head p:last-child {
    max-width: 900px;
    margin: .42rem 0 0;
    color: #5e7483;
    font-size: .75rem;
    line-height: 1.45;
}

.nww-designer__export-head > button {
    display: grid;
    width: 42px;
    height: 42px;
    padding: 0;
    place-items: center;
    border: 1px solid #b9c8d3;
    border-radius: 50%;
    background: #f5f8fa;
    color: var(--nww-navy);
    font-size: 1.55rem;
    line-height: 1;
    cursor: pointer;
}

.nww-designer__export-head > button:hover {
    border-color: var(--nww-blue);
    background: #edf6fd;
}

.nww-designer__export-actions {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .8rem 1.25rem 0;
}

.nww-designer__export-actions .nww-button {
    min-height: 44px;
    padding: .65rem 1rem;
    border-radius: 6px;
    font-size: .72rem;
    text-align: center;
}

.nww-designer__export-actions .nww-button--outline {
    border-color: var(--nww-blue);
    background: #fff;
    color: var(--nww-blue);
}

.nww-designer__export-actions [aria-disabled="true"] {
    opacity: .48;
    pointer-events: none;
}

.nww-designer__export-actions small {
    margin-left: auto;
    color: #657b89;
    font-size: .62rem;
    line-height: 1.35;
    text-align: right;
}

.nww-designer__export-status {
    min-height: 1.4rem;
    margin: 0;
    padding: .45rem 1.25rem .6rem;
    color: #526c7d;
    font-size: .66rem;
    font-weight: 720;
}

.nww-designer__export-sheet {
    margin: 0 1.25rem 1.25rem;
    padding: 1rem;
    border: 1px solid #bdccd6;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 45, 84, .09);
}

.nww-designer__export-sheet > header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1rem;
    margin-bottom: .8rem;
    padding: .1rem .1rem .7rem;
    border-bottom: 4px solid var(--nww-navy);
}

.nww-designer__export-sheet > header > div,
.nww-designer__export-sheet > header strong,
.nww-designer__export-sheet > header b,
.nww-designer__export-sheet > header span {
    display: block;
}

.nww-designer__export-sheet > header strong {
    color: var(--nww-navy);
    font-size: 1.15rem;
    font-weight: 950;
    letter-spacing: -.02em;
}

.nww-designer__export-sheet > header > div:first-child span {
    color: var(--nww-orange-dark);
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.nww-designer__export-sheet > header > div:last-child {
    text-align: right;
}

.nww-designer__export-sheet > header b {
    color: var(--nww-navy);
    font-size: .8rem;
}

.nww-designer__export-sheet > header > div:last-child span {
    color: #657b89;
    font-size: .57rem;
}

.nww-designer__export-sheet > header .nww-designer__export-mode {
    display: inline-flex;
    width: max-content;
    min-height: 24px;
    align-items: center;
    justify-content: center;
    margin: .2rem 0 .14rem auto;
    padding: .2rem .5rem;
    border: 1px solid #b5cad9;
    border-radius: 999px;
    background: #edf5fb;
    color: var(--nww-navy);
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.nww-designer__export-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}

.nww-designer__export-view {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid #bdccd6;
    border-radius: 6px;
    background: #f5f8fa;
    break-inside: avoid;
}

.nww-designer__export-view img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 8 / 5;
    background: #edf4f8;
}

.nww-designer__export-view figcaption {
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .45rem .55rem;
    border-top: 1px solid #ccd8e0;
    background: #fff;
}

.nww-designer__export-view figcaption span,
.nww-designer__export-view figcaption strong,
.nww-designer__export-view figcaption small {
    display: block;
}

.nww-designer__export-view figcaption strong {
    color: var(--nww-navy);
    font-size: .64rem;
}

.nww-designer__export-view figcaption small {
    margin-top: .05rem;
    color: #6e818e;
    font-size: .52rem;
}

.nww-designer__export-view figcaption a {
    flex: 0 0 auto;
    padding: .38rem .48rem;
    border: 1px solid #b5c7d3;
    border-radius: 4px;
    background: #f7fafc;
    color: var(--nww-blue);
    font-size: .54rem;
    font-weight: 850;
    text-decoration: none;
}

.nww-designer__export-view figcaption a:hover {
    border-color: var(--nww-blue);
    background: #edf6fd;
}

.nww-designer__export-sheet > footer {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: .65rem;
    margin-top: .8rem;
    padding: .7rem .1rem .05rem;
    border-top: 2px solid #cfdae2;
    color: #5a7080;
    font-size: .57rem;
    line-height: 1.4;
}

.nww-designer__export-sheet > footer strong {
    color: var(--nww-orange-dark);
    font-size: .58rem;
    letter-spacing: .04em;
}

.nww-designer__print-sheet {
    display: none;
}

.nww-designer__noscript {
    width: min(1640px, calc(100% - 28px));
    margin: 0 auto 1.25rem;
    padding: .9rem 1rem;
    border: 1px solid #d89976;
    border-left: 5px solid var(--nww-orange);
    border-radius: 7px;
    background: #fff5ec;
    color: #624b3c;
    font-size: .78rem;
    line-height: 1.5;
}

.nww-designer__noscript strong {
    color: #743918;
}

.nww-designer__noscript a {
    color: var(--nww-navy);
    font-weight: 850;
}

.nww-designer :is(button, a, input, select):focus-visible {
    outline: 3px solid rgba(66, 139, 202, .42);
    outline-offset: 2px;
}

.nww-designer :is(input, select):focus {
    border-color: var(--nww-blue);
    box-shadow: 0 0 0 3px rgba(0, 101, 196, .11);
}

@media (max-width: 1240px) {
    .nww-designer__layout {
        grid-template-columns: 255px minmax(0, 1fr);
    }

    .nww-designer__properties {
        position: static;
        grid-column: 1 / -1;
        min-height: 0;
        max-height: none;
        overflow: visible;
    }

    .nww-designer__properties form:not([hidden]) {
        grid-template-columns: minmax(190px, .65fr) minmax(300px, 1fr) minmax(210px, .65fr);
        align-items: start;
    }

    .nww-designer__selection-title {
        grid-column: 1 / -1;
    }

    .nww-designer__property-grid {
        grid-column: 1;
    }

    .nww-designer__properties [data-locker-properties],
    .nww-designer__properties [data-obstruction-label-wrap],
    .nww-designer__mechanical {
        grid-column: 2;
    }

    .nww-designer__clearance-help {
        grid-column: 2;
    }

    .nww-designer__property-actions {
        grid-column: 3;
    }
}

@media (max-width: 900px) {
    .nww-designer__intro .nww-container {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .nww-designer__intro-actions {
        justify-content: flex-start;
    }

    .nww-designer__toolbar {
        position: static;
        align-items: stretch;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .nww-designer__toolbar-actions {
        min-width: max-content;
    }

    .nww-designer__layout {
        grid-template-columns: 1fr;
    }

    .nww-designer__library,
    .nww-designer__properties {
        position: static;
        max-height: none;
        overflow: visible;
    }

    .nww-designer__room-fields {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .nww-designer__library-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .nww-designer__library-grid button {
        min-height: 96px;
    }

    .nww-designer__stage {
        min-height: 440px;
        aspect-ratio: auto;
    }

    .nww-designer__properties form:not([hidden]) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nww-designer__selection-title {
        grid-column: 1 / -1;
    }

    .nww-designer__property-grid,
    .nww-designer__clearance-help,
    .nww-designer__properties [data-locker-properties],
    .nww-designer__properties [data-obstruction-label-wrap],
    .nww-designer__mechanical,
    .nww-designer__property-actions {
        grid-column: auto;
    }

    .nww-designer__summary {
        grid-template-columns: 1fr;
    }

    .nww-designer__export-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .nww-designer {
        font-size: 14px;
    }

    .nww-designer__intro {
        padding-block: 1.15rem;
    }

    .nww-designer__intro .nww-container {
        width: min(100% - 28px, 1560px);
    }

    .nww-designer__intro h1 {
        font-size: clamp(1.85rem, 9vw, 2.45rem);
    }

    .nww-designer__intro-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .nww-designer__intro-actions .nww-button {
        white-space: normal;
    }

    .nww-designer__app {
        width: calc(100% - 16px);
        padding-block: 8px 18px;
    }

    .nww-designer__toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        min-width: 0;
        gap: 7px;
        padding: 7px;
        overflow: visible;
    }

    .nww-designer__view-switch {
        width: 100%;
    }

    .nww-designer__view-switch button {
        min-width: 0;
        padding-inline: .32rem;
        white-space: normal;
    }

    [data-designer-room-edit] .nww-designer-svg__room-edit-corner-hit {
        r: 54px;
    }

    .nww-designer__toolbar-actions {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: thin;
    }

    .nww-designer__toolbar-actions button {
        min-height: 44px;
        white-space: nowrap;
    }

    .nww-designer__library,
    .nww-designer__properties {
        padding: 12px;
    }

    .nww-designer__room-fields {
        grid-template-columns: 1fr;
    }

    .nww-designer__library-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nww-designer__library-grid button {
        min-height: 100px;
    }

    .nww-designer__stage-head {
        align-items: flex-start;
    }

    .nww-designer__stage-head > div:last-child {
        display: none;
    }

    .nww-designer__stage-head [data-designer-status] {
        white-space: normal;
    }

    .nww-designer__stage {
        min-height: 350px;
    }

    .nww-designer__camera-controls {
        align-items: flex-end;
        gap: .45rem;
        padding: .45rem;
    }

    .nww-designer__camera-controls > span small {
        max-width: 44vw;
        white-space: normal;
    }

    .nww-designer__camera-controls button {
        min-width: 44px;
        min-height: 44px;
    }

    .nww-designer__disclaimer {
        font-size: .58rem;
    }

    .nww-designer__properties form:not([hidden]) {
        grid-template-columns: 1fr;
    }

    .nww-designer__selection-title,
    .nww-designer__property-grid,
    .nww-designer__clearance-help,
    .nww-designer__properties [data-locker-properties],
    .nww-designer__properties [data-obstruction-label-wrap],
    .nww-designer__mechanical,
    .nww-designer__property-actions {
        grid-column: 1;
    }

    .nww-designer__summary {
        padding: .9rem;
    }

    .nww-designer__summary-metrics {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nww-designer__summary-metrics span {
        white-space: normal;
    }

    .nww-designer__summary-actions .nww-button {
        width: 100%;
    }

    .nww-designer__export {
        width: calc(100vw - 14px);
        max-height: calc(100vh - 14px);
    }

    .nww-designer__export-head {
        padding: .9rem;
    }

    .nww-designer__export-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding: .75rem .9rem 0;
    }

    .nww-designer__export-actions small {
        grid-column: 1 / -1;
        margin: 0;
        text-align: left;
    }

    .nww-designer__export-status {
        padding-inline: .9rem;
    }

    .nww-designer__export-sheet {
        margin: 0 .9rem .9rem;
        padding: .7rem;
    }

    .nww-designer__export-sheet > header {
        grid-template-columns: 1fr;
    }

    .nww-designer__export-sheet > header > div:last-child {
        text-align: left;
    }

    .nww-designer__export-sheet > header .nww-designer__export-mode {
        margin-left: 0;
    }
}

@media (max-width: 420px) {
    .nww-designer__intro-actions {
        grid-template-columns: 1fr;
    }

    .nww-designer__property-grid,
    .nww-designer__summary-metrics {
        grid-template-columns: 1fr;
    }

    .nww-designer__stage {
        min-height: 310px;
    }

    .nww-designer__export-grid,
    .nww-designer__export-actions {
        grid-template-columns: 1fr;
    }

    .nww-designer__export-actions small {
        grid-column: 1;
    }

    .nww-designer__export-sheet > footer {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .nww-designer__pdf-calibration {
        width: 100vw;
        max-height: 100vh;
        border-radius: 0;
    }

    .nww-designer__pdf-calibration > header {
        padding: .75rem;
    }

    .nww-designer__pdf-calibration-toolbar {
        display: grid;
        grid-template-columns: 1fr;
    }

    .nww-designer__pdf-calibration-toolbar > div {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .nww-designer__pdf-calibration-viewport {
        height: 42vh;
    }

    .nww-designer__pdf-calibration-length {
        grid-template-columns: 1fr;
        max-height: 29vh;
        overflow: auto;
    }

    .nww-designer__pdf-calibration > footer {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .nww-designer__pdf-calibration > footer button {
        min-width: 0;
        padding-inline: .35rem;
    }
}

@media print {
    @page {
        size: landscape;
        margin: .28in;
    }

    body.nww-printing-locker-export {
        background: #fff !important;
    }

    body.nww-printing-locker-export .nww-header,
    body.nww-printing-locker-export .nww-footer,
    body.nww-printing-locker-export .nww-jobsite-bar,
    body.nww-printing-locker-export .nww-skip,
    body.nww-printing-locker-export #wpadminbar,
    body.nww-printing-locker-export .nww-designer__intro,
    body.nww-printing-locker-export .nww-designer__app,
    body.nww-printing-locker-export .nww-designer__tour,
    body.nww-printing-locker-export .nww-designer__pdf-calibration,
    body.nww-printing-locker-export .nww-designer__export {
        display: none !important;
    }

    body.nww-printing-locker-export main,
    body.nww-printing-locker-export .nww-designer {
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    body.nww-printing-locker-export .nww-designer__print-sheet {
        position: static !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body.nww-printing-locker-export .nww-designer__print-sheet .nww-designer__export-sheet {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        break-inside: avoid;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body.nww-printing-locker-export .nww-designer__export-sheet > header {
        grid-template-columns: minmax(0, 1fr) auto;
        margin-bottom: .1in;
        padding: 0 0 .08in;
        border-bottom-width: 3px;
    }

    body.nww-printing-locker-export .nww-designer__export-sheet > header > div:last-child {
        text-align: right;
    }

    body.nww-printing-locker-export .nww-designer__export-sheet > header strong {
        font-size: 13pt;
    }

    body.nww-printing-locker-export .nww-designer__export-sheet > header b {
        font-size: 8pt;
    }

    body.nww-printing-locker-export .nww-designer__export-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .08in;
    }

    body.nww-printing-locker-export .nww-designer__export-view {
        border-radius: 0;
        break-inside: avoid;
    }

    body.nww-printing-locker-export .nww-designer__export-view figcaption {
        min-height: 0;
        padding: .05in .06in;
    }

    body.nww-printing-locker-export .nww-designer__export-view figcaption strong {
        font-size: 6.5pt;
    }

    body.nww-printing-locker-export .nww-designer__export-view figcaption small {
        font-size: 5.5pt;
    }

    body.nww-printing-locker-export .nww-designer__export-view figcaption a {
        display: none !important;
    }

    body.nww-printing-locker-export .nww-designer__export-sheet > footer {
        margin-top: .08in;
        padding-top: .06in;
        font-size: 6pt;
        line-height: 1.25;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nww-designer *,
    .nww-designer *::before,
    .nww-designer *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
