/* Independent stylesheet; colors and editorial layout aligned with New Wave Enterprise */
.nwse-guide,.nwse-directory{--navy:#071c26;--aqua:#58c6e8;--cream:#f7f1e7;--gold:#d6b981;color:#17242b;background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.75}.nwse-guide *,.nwse-directory *,.nwse-mobile *{box-sizing:border-box}.nwse-shell{max-width:1040px;margin:auto;padding:50px 26px}.nwse-head{background:#071c26;color:#fff}.nwse-head .nwse-shell{padding-top:80px;padding-bottom:70px}.nwse-eyebrow{font-size:12px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:#58c6e8}.nwse-guide h1,.nwse-directory h1{font:700 clamp(38px,5.2vw,68px)/1.1 Georgia,serif;margin:16px 0 22px}.nwse-head h1{color:#fff!important}.nwse-lead{font:21px/1.55 Georgia,serif;color:#d3e2e7;max-width:800px}.nwse-fine{font-size:12px;color:#b7cbd1;margin-top:20px}.nwse-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.nwse-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;min-height:52px;border-radius:7px;background:#58c6e8;color:#071c26!important;font-weight:800;font-size:13px;text-decoration:none!important}.nwse-btn-alt{background:#fff;color:#071c26!important}.nwse-article{max-width:920px;font:19px/1.8 Georgia,serif}.nwse-article h2{font:700 35px/1.2 Georgia,serif;color:#071c26;margin:42px 0 15px}.nwse-article h3{font:700 23px/1.3 Georgia,serif;color:#071c26}.nwse-article p,.nwse-article li{margin-bottom:18px}.nwse-summary{background:#f7f1e7;padding:25px 28px;border-left:5px solid #d6b981;font:15px/1.5 Arial,sans-serif}.nwse-summary>strong{font-size:18px}.nwse-summary div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e5ddd1;padding:12px 0}.nwse-cta{background:#071c26;color:#fff;padding:28px 30px;border-radius:7px;margin:40px 0;font:16px/1.65 Arial,sans-serif}.nwse-cta h2{color:#fff!important;margin:0 0 10px}.nwse-disclaimer{border-top:1px solid #dbe3e5;padding-top:20px;font:13px/1.6 Arial,sans-serif;color:#63747a}.nwse-mobile{display:none}.nwse-directory h1{color:#071c26}.nwse-tilemap{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));grid-template-rows:repeat(8,38px);gap:4px;margin:35px 0;overflow-x:auto}.nwse-tilemap a,.nwse-tilemap span{display:flex;align-items:center;justify-content:center;background:#0a2b36;color:#fff!important;text-decoration:none!important;border-radius:4px;font-size:12px;font-weight:800}.nwse-tilemap a:hover,.nwse-tilemap a:focus{background:#58c6e8;color:#071c26!important}.nwse-tilemap .nwse-unavailable{background:#d5dde0;color:#6a797f!important}.nwse-directory-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.nwse-directory-list a,.nwse-directory-list span{display:block;padding:12px;border:1px solid #dce4e6;color:#0a2b36;text-decoration:none}.nwse-directory-list span{color:#879397}@media(max-width:767px){.nwse-shell{padding:35px 19px}.nwse-head .nwse-shell{padding:55px 19px}.nwse-article{font-size:18px;padding-bottom:110px}.nwse-article h2{font-size:29px}.nwse-btn{width:100%}.nwse-directory-list{grid-template-columns:1fr 1fr}.nwse-tilemap{grid-template-rows:repeat(8,28px);gap:2px}.nwse-tilemap a,.nwse-tilemap span{font-size:9px}.nwse-mobile{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:10px;right:10px;z-index:2147483000;gap:8px;padding:8px;background:rgba(7,28,38,.97);border-radius:15px;box-shadow:0 8px 25px #0004}.nwse-mobile a{padding:12px 6px;text-align:center;background:#58c6e8;color:#071c26!important;border-radius:8px;font:800 12px Arial,sans-serif;text-decoration:none!important}.nwse-mobile a+ a{background:#fff}}@media(max-width:400px){.nwse-directory-list{grid-template-columns:1fr}}/* v1.1 editorial directory redesign, scoped to the companion plugin */
.nwse-directory{font-family:'Poppins',Arial,sans-serif;background:#f8f6f1;color:#102f3d}
.nwse-directory .nwse-shell{max-width:1200px;padding:65px 28px}
.nwse-directory .nwse-dir-hero{background:radial-gradient(circle at 80% 35%,rgba(88,189,226,.20),transparent 35%),linear-gradient(125deg,#071a22,#174655);color:#fff;position:relative;overflow:hidden}
.nwse-directory .nwse-dir-hero .nwse-shell{padding-top:105px;padding-bottom:105px}
.nwse-directory .nwse-eyebrow{color:#58bde2;letter-spacing:.18em;font-size:12px}
.nwse-directory .nwse-dir-hero h1{font:700 clamp(42px,6vw,80px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-2px;color:#fff!important;max-width:900px;margin:22px 0}
.nwse-directory .nwse-dir-hero h1 em{font-style:normal;color:#8eddf5}
.nwse-directory .nwse-dir-hero p{font-size:18px;color:#e0e9eb;max-width:760px;line-height:1.8}
.nwse-dir-hero-facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}
.nwse-dir-hero-facts span{padding:12px 19px;border:1px solid #ffffff38;border-radius:40px;color:#fff;font-weight:600;font-size:13px;background:#ffffff0d}
.nwse-directory .nwse-dir-heading{text-align:center;margin:0 auto 35px;max-width:780px}
.nwse-directory .nwse-dir-heading h2{font:700 clamp(36px,4vw,56px)/1.16 'Playfair Display',Georgia,serif;color:#102f3d;margin:12px 0}
.nwse-directory .nwse-dir-heading p{color:#66777e;font-size:15px}
.nwse-directory .nwse-tilemap{background:#fff;padding:26px;border-radius:24px;box-shadow:0 16px 55px #102f3d12;grid-template-rows:repeat(8,42px);gap:6px;margin-bottom:85px}
.nwse-directory .nwse-tilemap a,.nwse-directory .nwse-tilemap span{border-radius:9px;background:#102f3d;color:#fff!important;font-weight:800;font-size:11px}
.nwse-directory .nwse-tilemap a:hover,.nwse-directory .nwse-tilemap a:focus{background:#58bde2;color:#071a22!important;transform:translateY(-2px)}
.nwse-directory .nwse-tilemap .nwse-unavailable{background:#eef3f4;color:#88989f!important;border:1px solid #dce5e8}
.nwse-directory .nwse-directory-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.nwse-directory .nwse-directory-list a,.nwse-directory .nwse-directory-list span{padding:18px;border-radius:14px;background:#fff;border:1px solid #e3e9e9;font-size:14px;font-weight:650;color:#102f3d;box-shadow:0 5px 20px #102f3d08}
.nwse-directory .nwse-directory-list a:hover{background:#102f3d;color:#fff!important}
.nwse-directory .nwse-directory-list span{color:#8b999d}
.nwse-directory .nwse-directory-list small{display:block;font-size:11px;font-weight:400;color:#a0aeb1}
@media(max-width:767px){.nwse-directory .nwse-shell{padding:45px 18px}.nwse-directory .nwse-dir-hero .nwse-shell{padding-top:70px;padding-bottom:70px}.nwse-directory .nwse-tilemap{overflow-x:auto;grid-template-columns:repeat(13,35px);grid-template-rows:repeat(8,32px);padding:18px;justify-content:start}.nwse-directory .nwse-directory-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nwse-directory .nwse-directory-list a,.nwse-directory .nwse-directory-list span{padding:14px;font-size:12px}}
@media(max-width:390px){.nwse-directory .nwse-directory-list{grid-template-columns:1fr}}

/* v1.1.1 — directory full-bleed repair; scoped exclusively to directory */
.nwse-directory{position:relative!important;left:50%!important;transform:translateX(-50%)!important;width:100vw!important;max-width:100vw!important;margin:0!important;padding:0!important;overflow-x:clip!important;}
.nwse-directory .nwse-dir-hero{width:100%!important;border-radius:0!important;}
.nwse-directory .nwse-shell{width:min(1440px,calc(100% - 64px))!important;max-width:1440px!important;margin-inline:auto!important;padding-left:0!important;padding-right:0!important;}
/* Remove padding imposed by WPBakery ancestors only on rows hosting this directory */
.vc_row:has(.nwse-directory),.vc_row-fluid:has(.nwse-directory),.wpb_row:has(.nwse-directory),.vc_column_container:has(.nwse-directory),.vc_column-inner:has(.nwse-directory),.wpb_wrapper:has(.nwse-directory),.wpb_raw_html:has(.nwse-directory){max-width:none!important;padding-left:0!important;padding-right:0!important;}
@media(max-width:767px){
 .nwse-directory{width:100vw!important;max-width:100vw!important;left:50%!important;transform:translateX(-50%)!important;}
 .nwse-directory .nwse-shell{width:calc(100% - 30px)!important;max-width:none!important;padding-left:0!important;padding-right:0!important;}
 .nwse-directory .nwse-dir-hero .nwse-shell{padding-top:68px!important;padding-bottom:68px!important;}
 .nwse-directory .nwse-dir-hero h1{font-size:clamp(35px,9vw,52px)!important;letter-spacing:-1.3px!important;overflow-wrap:break-word;}
 .nwse-directory .nwse-dir-hero p{font-size:15px!important;}
 .nwse-directory .nwse-tilemap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
 .nwse-directory .nwse-directory-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:390px){.nwse-directory .nwse-directory-list{grid-template-columns:minmax(0,1fr);}}

/* v1.1.2 — all 13 map columns fit inside the mobile viewport (no clipping) */
@media (max-width: 767px) {
  .nwse-directory .nwse-dir-main {min-width:0!important;}
  .nwse-directory .nwse-tilemap {
    display:grid!important; width:100%!important; max-width:100%!important;
    min-width:0!important; grid-template-columns:repeat(13,minmax(0,1fr))!important;
    grid-template-rows:repeat(8,auto)!important;
    gap:clamp(2px,.65vw,4px)!important; padding:clamp(7px,2vw,12px)!important;
    overflow:visible!important; justify-content:stretch!important;
    margin-top:24px!important; margin-bottom:60px!important;
    border-radius:16px!important;
  }
  .nwse-directory .nwse-tilemap > a,
  .nwse-directory .nwse-tilemap > span {
    min-width:0!important; width:100%!important; aspect-ratio:1/1!important;
    min-height:0!important; padding:0!important;
    font-size:clamp(6px,1.8vw,10px)!important;
    line-height:1!important; border-radius:clamp(3px,.8vw,6px)!important;
    letter-spacing:-.025em!important;
  }
}

/* v1.1.3 mobile map: inline shortcode style overrides old cached external rules. */

/* Geographic map v1.2.0: SVG scales naturally, no tile gaps */
.nwse-directory .nwse-geographic-map{width:100%;max-width:1100px;margin:28px auto 65px;padding:clamp(10px,2vw,28px);border:1px solid #dce7e9;border-radius:28px;background:#fff;box-shadow:0 18px 45px rgba(9,42,52,.08);box-sizing:border-box;overflow:hidden}
.nwse-directory .nwse-map-stage{width:100%;max-width:100%;overflow:hidden}
.nwse-directory .nwse-map-stage svg{display:block;width:100%;height:auto;max-width:100%;overflow:visible}
.nwse-directory .nwse-map-state{fill:#e2ebee;stroke:#fff;stroke-width:1.6;vector-effect:non-scaling-stroke;transition:fill .18s ease}
.nwse-directory .nwse-map-state.is-ready{fill:#58bde2;cursor:pointer}
.nwse-directory a:hover .nwse-map-state,.nwse-directory a:focus-visible .nwse-map-state{fill:#14607b}
.nwse-directory .nwse-map-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;color:#526b76;font:600 13px Poppins,Arial,sans-serif;padding:10px 0}
.nwse-directory .nwse-map-legend span{display:inline-flex;align-items:center;gap:7px}
.nwse-directory .nwse-map-legend i{display:inline-block;width:13px;height:13px;border-radius:3px;background:#e2ebee;border:1px solid #c8d6da}
.nwse-directory .nwse-map-legend .nwse-key-ready{background:#58bde2;border-color:#58bde2}
.nwse-directory .nwse-map-status{padding:30px 12px;text-align:center;color:#526b76;font:500 14px Poppins,Arial,sans-serif}
.nwse-directory .nwse-map-inset{fill:none;stroke:#d2dfe3;stroke-width:1.5;stroke-dasharray:5 5}
@media(max-width:767px){.nwse-directory .nwse-geographic-map{width:100%;padding:8px;border-radius:18px;margin:22px auto 45px}.nwse-directory .nwse-map-state{stroke-width:.7}.nwse-directory .nwse-map-legend{font-size:10px;gap:10px}}
/* v1.2.1 labeled geographic map; correct AK/HI inset placement and stronger borders */
.nwse-directory .nwse-map-region .nwse-map-state{fill:#dce9ed;stroke:#6b8a96;stroke-width:1.1;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.nwse-directory .nwse-map-region.is-ready .nwse-map-state{fill:#58bde2;stroke:#195468}
.nwse-directory .nwse-map-abbr{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:800;fill:#193c49;pointer-events:none;paint-order:stroke;stroke:#edf4f6;stroke-width:2px;stroke-linejoin:round}
.nwse-directory .nwse-map-region.is-ready .nwse-map-abbr{stroke:#a5e4f4}
.nwse-directory .nwse-map-region.is-ready:hover .nwse-map-state,.nwse-directory .nwse-map-region.is-ready:focus-within .nwse-map-state{fill:#0e6582}
.nwse-directory .nwse-map-region.is-ready:hover .nwse-map-abbr,.nwse-directory .nwse-map-region.is-ready:focus-within .nwse-map-abbr{fill:white;stroke:#0e6582}
.nwse-directory .nwse-map-inset{fill:#f7fafb;stroke:#b5cdd5;stroke-width:1.2;stroke-dasharray:none}
.nwse-directory .nwse-map-inset-label{font:700 12px Arial,Helvetica,sans-serif;fill:#214c5c;letter-spacing:1px}
@media(max-width:767px){.nwse-directory .nwse-map-abbr{font-size:16px;stroke-width:2.7px}.nwse-directory .nwse-map-inset-label{font-size:15px}}

/* v1.2.2: plugin-owned state guides use dedicated full-width template, no theme blog sidebar */
html,body{max-width:100%;overflow-x:clip}
#nwse-state-fullwidth{display:block;position:relative;width:100%;max-width:none!important;margin:0!important;padding:0!important;clear:both}
#nwse-state-fullwidth .nwse-guide{width:100%;max-width:none!important;margin:0!important;padding:0!important}
#nwse-state-fullwidth .nwse-head{width:100%;margin:0}
#nwse-state-fullwidth .nwse-head .nwse-shell{max-width:1240px;width:100%;margin:0 auto;padding:clamp(45px,7vw,90px) clamp(20px,5vw,65px)}
#nwse-state-fullwidth .nwse-article{max-width:1120px;width:100%;margin:0 auto;padding:clamp(32px,5vw,65px) clamp(20px,5vw,65px) 100px}
#nwse-state-fullwidth .nwse-summary,#nwse-state-fullwidth .nwse-cta{max-width:100%}
@media(max-width:767px){#nwse-state-fullwidth .nwse-head .nwse-shell{padding:46px 20px 48px}#nwse-state-fullwidth .nwse-article{padding:30px 20px 125px;font-size:17px;line-height:1.7}#nwse-state-fullwidth .nwse-head h1{font-size:clamp(35px,9vw,52px);overflow-wrap:break-word}#nwse-state-fullwidth .nwse-summary{padding:20px 16px}#nwse-state-fullwidth .nwse-summary div{flex-wrap:wrap}#nwse-state-fullwidth .nwse-cta{padding:24px 18px}#nwse-state-fullwidth .nwse-actions{display:grid;grid-template-columns:1fr}#nwse-state-fullwidth .nwse-btn{width:100%;white-space:normal;text-align:center}}

/* v1.2.3 — TRUE viewport-width state guide: outer shell is full bleed, readable content is inset. */
body:has(#nwse-state-fullwidth) { overflow-x:clip!important; }
#nwse-state-fullwidth {
  box-sizing:border-box!important; position:relative!important; display:block!important;
  width:100vw!important; max-width:100vw!important; min-width:0!important;
  left:50%!important; transform:translateX(-50%)!important;
  margin:0!important; padding:0!important; overflow-x:clip!important;
}
#nwse-state-fullwidth .nwse-guide,
#nwse-state-fullwidth .nwse-head,
#nwse-state-fullwidth .nwse-article {box-sizing:border-box!important; min-width:0!important;}
#nwse-state-fullwidth .nwse-guide {width:100%!important;max-width:none!important;}
#nwse-state-fullwidth .nwse-head {width:100%!important;max-width:none!important; margin:0!important;}
#nwse-state-fullwidth .nwse-head .nwse-shell {
  box-sizing:border-box!important; width:100%!important; max-width:1600px!important;
  padding:clamp(54px,6vw,100px) clamp(22px,6vw,100px)!important;
  margin-inline:auto!important;
}
#nwse-state-fullwidth .nwse-article {
  box-sizing:border-box!important; width:100%!important; max-width:1500px!important;
  padding:clamp(35px,5vw,76px) clamp(22px,6vw,100px) 110px!important;
  margin-inline:auto!important;
}
#nwse-state-fullwidth .nwse-article > p,
#nwse-state-fullwidth .nwse-article > ol,
#nwse-state-fullwidth .nwse-article > h2,
#nwse-state-fullwidth .nwse-article > h3 {max-width:1000px;}
#nwse-state-fullwidth .nwse-head h1 {max-width:1200px;}
#nwse-state-fullwidth .nwse-head .nwse-lead {max-width:920px;}
@media(max-width:767px) {
  #nwse-state-fullwidth {width:100vw!important;max-width:100vw!important;}
  #nwse-state-fullwidth .nwse-head .nwse-shell {padding:45px 16px 52px!important;}
  #nwse-state-fullwidth .nwse-article {padding:30px 16px 125px!important;font-size:16px!important;line-height:1.75!important;}
  #nwse-state-fullwidth .nwse-head h1 {font-size:clamp(34px,9vw,49px)!important;line-height:1.12!important;overflow-wrap:break-word;}
  #nwse-state-fullwidth .nwse-lead {font-size:17px!important;line-height:1.55!important;}
  #nwse-state-fullwidth .nwse-article h2 {font-size:clamp(25px,7vw,33px)!important;}
  #nwse-state-fullwidth .nwse-article h3 {font-size:21px!important;}
  #nwse-state-fullwidth .nwse-summary {padding:17px 13px!important;}
  #nwse-state-fullwidth .nwse-summary div {align-items:flex-start;gap:10px!important;}
  #nwse-state-fullwidth .nwse-summary div span {min-width:0;flex:1 1 48%;}
  #nwse-state-fullwidth .nwse-summary div b {text-align:right;min-width:0;flex:1 1 40%;}
  #nwse-state-fullwidth .nwse-cta {padding:23px 16px!important;}
  #nwse-state-fullwidth .nwse-actions {display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
  #nwse-state-fullwidth .nwse-btn {width:100%!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere;text-align:center;}
}

/* v1.2.5: shipping note inside at-a-glance summary */
.nwse-guide .nwse-shipping-note{font-size:0.85rem;line-height:1.55;color:#52636a;margin:12px 0 0;font-weight:400;}

/* v1.2.8: visual distinction among adjacent published states; status remains semantic. */
.nwse-directory .nwse-map-region.is-ready.tone-1 .nwse-map-state{fill:#56c0db}
.nwse-directory .nwse-map-region.is-ready.tone-2 .nwse-map-state{fill:#7bd1cf}
.nwse-directory .nwse-map-region.is-ready.tone-3 .nwse-map-state{fill:#94b8d1}
.nwse-directory .nwse-map-region.is-ready.tone-4 .nwse-map-state{fill:#e1c58b}
.nwse-directory .nwse-map-region.is-ready.tone-5 .nwse-map-state{fill:#79b9ae}
.nwse-directory .nwse-map-region.is-ready:hover .nwse-map-state,.nwse-directory .nwse-map-region.is-ready:focus-within .nwse-map-state{fill:#0e6582}
.nwse-directory .nwse-map-region.is-pending .nwse-map-state{fill:#e2ebee}
.nwse-directory .nwse-map-region .nwse-map-leader{fill:none;stroke:#315a68;stroke-width:1.1;vector-effect:non-scaling-stroke;pointer-events:none}
.nwse-directory .nwse-map-callout{font-size:12px;stroke:#fff;stroke-width:3px;paint-order:stroke;pointer-events:none}
.nwse-directory .nwse-map-region.is-ready .nwse-map-abbr{stroke:#fff;stroke-width:2.5px}
.nwse-directory .nwse-map-region.is-ready:hover .nwse-map-abbr{stroke:#0e6582}
.nwse-directory .nwse-map-stage{max-width:1100px;margin:0 auto}
@media(max-width:767px){.nwse-directory .nwse-map-callout{font-size:17px;stroke-width:3.5px}.nwse-directory .nwse-map-region .nwse-map-leader{stroke-width:1.5}.nwse-directory .nwse-map-stage svg{width:100%;height:auto}}

/* v1.2.9: responsive state selection and readable callouts */
.nwse-directory .nwse-map-legend{display:none!important}
.nwse-directory .nwse-map-selection{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px;min-height:52px;margin:8px auto 4px;padding:10px 14px;font:600 14px/1.4 Arial,sans-serif;color:#214c5c;text-align:center}
.nwse-directory .nwse-map-selection-link:not([hidden]){display:inline-block;background:#0d5369;color:#fff!important;padding:10px 16px;border-radius:9px;text-decoration:none;font-weight:700}
.nwse-directory .nwse-map-selection-link[hidden]{display:none!important}
.nwse-directory .nwse-map-region.is-selected .nwse-map-state{fill:#124b62!important;stroke:#fff;stroke-width:2.3}
.nwse-directory .nwse-map-region.is-selected .nwse-map-abbr{fill:#fff;stroke:#124b62}
.nwse-directory .nwse-map-region.is-ready{cursor:pointer}
.nwse-directory .nwse-map-region .nwse-map-callout{font-size:14px;font-weight:800}
.nwse-directory .nwse-map-region .nwse-map-leader{stroke-width:1.25}
@media(max-width:767px){.nwse-directory .nwse-map-selection{font-size:13px;min-height:70px}.nwse-directory .nwse-map-region .nwse-map-callout{font-size:18px}.nwse-directory .nwse-map-region .nwse-map-leader{stroke-width:1.6}.nwse-directory .nwse-map-selection-link:not([hidden]){min-height:44px;display:inline-flex;align-items:center}}
