.legislative-page { --lw-green:#0b3024; --lw-gold:#bd914d; --lw-ink:#202d27; --lw-muted:#627168; }
.lw-container { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.lw-hero { min-height:650px; min-height:clamp(520px,76vh,790px); position:relative; isolation:isolate; display:flex; align-items:center; overflow:hidden; color:white; background:#09271e; }
.lw-hero-image,.lw-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.lw-hero-image { z-index:-2; object-fit:cover; object-position:center 45%; animation:lwHeroZoom 18s ease-in-out infinite alternate; }
.lw-hero-shade { z-index:-1; background:linear-gradient(90deg,#041a12ed 0%,#062419bd 48%,#06241945 100%),linear-gradient(0deg,#041a1280,transparent 60%); }
.lw-hero-content { width:min(1180px,calc(100% - 48px)); margin:auto; padding:90px 0 115px; animation:lwRise .9s ease both; }
.lw-eyebrow,.lw-kicker { color:var(--lw-gold); font-size:12px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; line-height:1.7; }
.lw-hero h1 { margin:20px 0; font:700 clamp(60px,9vw,112px)/.98 Georgia,"Times New Roman",serif; letter-spacing:-.045em; color:white; }
.lw-hero h1 span { color:#d9b77b; }
.lw-name { font-size:clamp(17px,2vw,23px); font-weight:700; margin:25px 0 10px; }
.lw-intro { max-width:610px; color:#e0e9e3; font-size:17px; line-height:1.8; }
.lw-button { display:inline-flex; align-items:center; gap:18px; margin-top:20px; padding:15px 20px; background:var(--lw-gold); color:#15261d; text-decoration:none; font-weight:800; font-size:13px; transition:transform .25s,background .25s; }
.lw-button:hover { transform:translateY(-3px); background:#e0bd80; }
.lw-button span { font-size:20px; }
.lw-hero-label { position:absolute; right:24px; bottom:24px; font-size:10px; letter-spacing:.16em; color:#fff; }
.lw-introduction { padding:clamp(65px,8vw,110px) 0; background:#fff; }
.lw-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(35px,6vw,90px); align-items:start; }
.lw-introduction h2,.lw-section-heading h2,.lw-feature-copy h2 { color:var(--lw-ink); font:700 clamp(33px,4.3vw,54px)/1.15 Georgia,"Times New Roman",serif; letter-spacing:-.03em; margin:10px 0 0; }
.lw-introduction h2 span,.lw-section-heading h2 span,.lw-feature-copy h2 span { color:#a77c3b; }
.lw-intro-grid>div:last-child p { color:var(--lw-muted); line-height:1.9; font-size:17px; margin:0 0 17px; }
.lw-areas { padding:clamp(65px,8vw,105px) 0; background:#f3f5f2; }
.lw-section-heading { max-width:760px; margin:0 auto 45px; text-align:center; }
.lw-section-heading>p:last-child { color:var(--lw-muted); line-height:1.8; }
.lw-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.lw-card { position:relative; background:#fff; padding:30px 27px 28px; min-height:285px; border-bottom:3px solid transparent; box-shadow:0 8px 28px #102a1c08; transition:transform .3s,border-color .3s,box-shadow .3s; }
.lw-card:hover { transform:translateY(-6px); border-color:var(--lw-gold); box-shadow:0 18px 38px #102a1c12; }
.lw-number { position:absolute; top:20px; right:22px; color:#a9b3ab; font-size:12px; letter-spacing:.1em; }
.lw-card-icon { display:grid; place-items:center; width:48px; height:48px; border:1px solid #d8c39e; color:#99713a; font:30px Georgia,serif; margin-bottom:25px; }
.lw-card h3 { color:var(--lw-ink); font-size:20px; margin:0 0 12px; }
.lw-card p { color:var(--lw-muted); font-size:14px; line-height:1.8; min-height:75px; }
.lw-card>a { display:inline-flex; gap:12px; align-items:center; margin-top:10px; color:#214d39; text-decoration:none; font-size:13px; font-weight:800; }
.lw-card>a:hover { color:#a77c3b; }
.lw-feature { padding:clamp(65px,8vw,110px) 0; background:#fff; }
.lw-feature-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(35px,6vw,85px); }
.lw-feature-image { position:relative; min-width:0; }
.lw-feature-image img { display:block; width:100%; height:clamp(330px,42vw,540px); object-fit:cover; box-shadow:0 20px 45px #102a1c1a; }
.lw-feature-image>span { position:absolute; bottom:0; left:0; max-width:90%; padding:15px 19px; color:#fff; background:var(--lw-green); font-size:11px; font-weight:800; letter-spacing:.08em; }
.lw-feature-copy>p:not(.lw-kicker) { color:var(--lw-muted); line-height:1.9; font-size:16px; }
.dark-button { background:var(--lw-green); color:white; }
.dark-button:hover { background:#a77c3b; }
.lw-records { padding:clamp(65px,8vw,105px) 0; background:#f4f5f3; }
.lw-record-list { border-top:1px solid #dce2dd; }
.lw-record { display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; padding:28px 0; border-bottom:1px solid #dce2dd; align-items:start; }
.lw-record>div:first-child { display:flex; align-items:baseline; gap:17px; }
.lw-record-index { color:#a77c3b; font-size:12px; font-weight:800; }
.lw-record h3 { margin:0; color:var(--lw-ink); font-size:21px; }
.lw-record p { margin:0 0 12px; color:var(--lw-muted); line-height:1.8; }
.lw-status { display:inline-block; padding:6px 10px; background:#e9e5da; color:#6f5933; font-size:11px; font-weight:800; }
.lw-cta { padding:clamp(65px,8vw,100px) 0; color:white; background:linear-gradient(120deg,#08271c,#174a35); text-align:center; }
.lw-cta-inner { max-width:850px; }
.lw-cta h2 { color:white; font:700 clamp(34px,5vw,58px)/1.15 Georgia,"Times New Roman",serif; margin:10px 0 20px; }
.lw-cta-inner>p:not(.lw-kicker) { color:#d7e1da; line-height:1.8; }
.light-button { background:white; color:#123a2b; }
.lw-footer-grid { width:min(1180px,calc(100% - 48px)); margin:auto; padding:35px 0 45px; display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:40px; }
.lw-footer-grid h3 { color:white; font-size:16px; margin:0 0 13px; }
.lw-footer-grid p,.lw-footer-grid a { color:#cbd8d0; font-size:14px; line-height:1.8; }
.lw-footer-grid a { display:block; text-decoration:none; }
.lw-footer-grid a:hover { color:#e0bd80; }
.lw-card,.lw-record,.lw-feature-image,.lw-feature-copy { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.lw-card.lw-visible,.lw-record.lw-visible,.lw-feature-image.lw-visible,.lw-feature-copy.lw-visible { opacity:1; transform:none; }
.lw-card:nth-child(3n+2) { transition-delay:.08s; }
.lw-card:nth-child(3n) { transition-delay:.15s; }
@keyframes lwRise { from {opacity:0;transform:translateY(20px)} to {opacity:1;transform:translateY(0)} }
@keyframes lwHeroZoom { to {transform:scale(1.06)} }
@media(max-width:850px) {
 .lw-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .lw-intro-grid,.lw-feature-grid { grid-template-columns:1fr; }
 .lw-feature-copy { order:-1; }
}
@media(max-width:560px) {
 .lw-container,.lw-hero-content { width:calc(100% - 36px); }
 .lw-hero { min-height:590px; }
 .lw-hero-image { object-position:57% center; }
 .lw-hero-shade { background:linear-gradient(90deg,#041a12e8,#0624199c),linear-gradient(0deg,#041a1280,transparent); }
 .lw-card-grid { grid-template-columns:1fr; }
 .lw-card { min-height:0; }
 .lw-card p { min-height:0; }
 .lw-record { grid-template-columns:1fr; gap:12px; }
 .lw-footer-grid { width:calc(100% - 36px); grid-template-columns:1fr; gap:20px; }
 .lw-hero-label { left:18px; right:auto; font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
 .lw-hero-image { animation:none; }
 .lw-card,.lw-record,.lw-feature-image,.lw-feature-copy { opacity:1; transform:none; transition:none; }
}

/* LW PREMIUM UPGRADE V1 */
.lw-dashboard { padding:72px 0 60px; background:#fff; }
.lw-dashboard-heading { display:flex; justify-content:space-between; align-items:center; gap:35px; margin-bottom:32px; }
.lw-dashboard-heading h2 { font:700 clamp(30px,4vw,47px)/1.15 Georgia,serif; color:#202d27; margin:8px 0 12px; }
.lw-dashboard-heading h2 span { color:#a77c3b; }
.lw-dashboard-heading p:not(.lw-kicker) { max-width:690px; color:#627168; line-height:1.8; }
.lw-record-seal { flex:0 0 130px; width:130px; height:130px; border:1px solid #d5bd91; outline:1px solid #d5bd91; outline-offset:5px; border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; color:#173c2c; }
.lw-record-seal span { font-size:10px; letter-spacing:.18em; }
.lw-record-seal strong { font:700 21px Georgia,serif; }
.lw-record-seal small { font-size:7px; margin-top:5px; letter-spacing:.08em; }
.lw-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.lw-metric { position:relative; padding:24px 19px; border:1px solid #e3e7e2; background:#fbfcfa; min-height:170px; }
.lw-metric-icon { display:grid; place-items:center; width:38px; height:38px; background:#eaf0eb; color:#98723b; font:24px Georgia,serif; }
.lw-metric-label,.lw-metric strong,.lw-metric small { display:block; }
.lw-metric-label { margin-top:16px; color:#58685e; font-size:12px; font-weight:700; }
.lw-metric strong { margin-top:5px; color:#173b2c; font-size:17px; }
.lw-metric small { margin-top:5px; color:#7a867e; font-size:11px; line-height:1.5; }
.lw-dashboard-note { color:#69776e; font-size:12px; margin-top:20px; }
.lw-dashboard-note span { display:inline-block; width:7px; height:7px; border-radius:50%; background:#b58a49; margin-right:8px; }
.lw-priorities { padding:clamp(65px,8vw,105px) 0; background:#fff; }
.lw-priorities-grid,.lw-timeline-grid,.lw-documents-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(35px,6vw,80px); align-items:center; }
.lw-priorities-copy h2,.lw-timeline-grid h2,.lw-document-copy h2 { font:700 clamp(33px,4.2vw,53px)/1.15 Georgia,serif; color:#202d27; margin:10px 0 24px; }
.lw-priorities-copy h2 span,.lw-timeline-grid h2 span,.lw-document-copy h2 span { color:#a77c3b; }
.lw-priorities-copy p:not(.lw-kicker),.lw-timeline-grid>div:first-child>p:not(.lw-kicker),.lw-document-copy>p:not(.lw-kicker) { color:#627168; line-height:1.9; font-size:16px; }
.lw-priorities-visual { position:relative; padding:0 0 25px 25px; }
.lw-priorities-visual:before { content:""; position:absolute; inset:0 25px 25px 0; border:2px solid #c3a16a; }
.lw-priorities-visual img { position:relative; display:block; width:100%; height:440px; object-fit:cover; }
.lw-priorities-caption { position:absolute; right:0; bottom:0; width:min(90%,365px); padding:19px 21px; background:#0b3024; color:white; }
.lw-priorities-caption span,.lw-priorities-caption strong,.lw-priorities-caption small { display:block; }
.lw-priorities-caption span { font-size:10px; letter-spacing:.14em; color:#d8b777; }
.lw-priorities-caption strong { margin:7px 0; font:20px Georgia,serif; }
.lw-priorities-caption small { color:#d5dfd8; font-size:12px; }
.lw-record-tools { padding:65px 0 45px; background:#fff; }
.lw-search-panel { max-width:900px; margin:auto; padding:25px; background:#f4f6f3; border:1px solid #e1e6e0; }
.lw-search-panel label { display:block; font-weight:800; font-size:13px; margin-bottom:9px; color:#20362a; }
.lw-search-panel input { width:100%; min-height:50px; padding:13px 15px; border:1px solid #cbd5cc; background:white; font:inherit; }
.lw-search-panel input:focus { outline:2px solid #b58a49; outline-offset:2px; }
.lw-filter-row { display:flex; flex-wrap:wrap; gap:9px; margin-top:17px; }
.lw-filter { padding:10px 13px; border:1px solid #d5ddd5; background:white; color:#30483a; font:600 12px inherit; cursor:pointer; }
.lw-filter.active,.lw-filter:hover { background:#0b3024; border-color:#0b3024; color:white; }
#lw-search-status { color:#65746a; font-size:12px; margin:16px 0 0; }
.lw-record[hidden] { display:none!important; }
.lw-timeline-section { padding:clamp(65px,8vw,100px) 0; background:#f3f5f2; }
.lw-timeline-image { width:100%; height:250px; margin-top:25px; object-fit:cover; }
.lw-timeline { border-left:1px solid #c9b17f; padding-left:28px; }
.lw-timeline article { position:relative; display:flex; gap:20px; padding:0 0 30px; }
.lw-timeline article:last-child { padding-bottom:0; }
.lw-timeline article:before { content:""; position:absolute; width:11px; height:11px; border-radius:50%; background:#b58a49; left:-34px; top:5px; box-shadow:0 0 0 5px #f3f5f2; }
.lw-timeline article>span { flex:0 0 30px; color:#a77c3b; font-size:12px; font-weight:800; }
.lw-timeline h3 { margin:0 0 8px; color:#20372b; font-size:19px; }
.lw-timeline p { margin:0; color:#65746a; font-size:14px; line-height:1.8; }
.lw-documents { padding:clamp(65px,8vw,100px) 0; background:white; }
.lw-document-visual { position:relative; }
.lw-document-visual img { display:block; width:100%; height:440px; object-fit:cover; }
.lw-document-overlay { position:absolute; inset:auto 0 0; padding:35px 23px 22px; color:white; background:linear-gradient(transparent,#062217e8); }
.lw-document-overlay span,.lw-document-overlay strong { display:block; }
.lw-document-overlay span { color:#e0c38e; font-size:10px; letter-spacing:.16em; }
.lw-document-overlay strong { font:27px Georgia,serif; margin-top:7px; }
.lw-document-item { display:flex; gap:15px; align-items:center; padding:16px 0; border-bottom:1px solid #e2e7e2; }
.lw-document-item>span { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; background:#edf1ed; color:#9b763d; font-size:10px; font-weight:800; }
.lw-document-item strong,.lw-document-item small { display:block; }
.lw-document-item strong { color:#253b2d; font-size:14px; }
.lw-document-item small { color:#758178; font-size:12px; margin-top:5px; line-height:1.6; }
.lw-document-notice { padding:12px 14px; background:#f7f2e8; border-left:3px solid #b58a49; font-size:12px!important; }
.lw-footer-grid { border-top:1px solid #ffffff12; }
@media(max-width:850px) {
 .lw-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .lw-dashboard-heading { align-items:flex-start; }
 .lw-record-seal { flex-basis:100px; width:100px; height:100px; }
 .lw-priorities-grid,.lw-timeline-grid,.lw-documents-grid { grid-template-columns:1fr; }
 .lw-document-visual { order:2; }
}
@media(max-width:520px) {
 .lw-dashboard-heading { display:block; }
 .lw-record-seal { display:none; }
 .lw-metric-grid { grid-template-columns:1fr 1fr; gap:9px; }
 .lw-metric { padding:17px 12px; min-height:165px; }
 .lw-metric strong { font-size:14px; }
 .lw-priorities-visual img,.lw-document-visual img { height:330px; }
 .lw-search-panel { padding:16px; }
 .lw-filter-row { gap:7px; }
 .lw-filter { padding:9px 10px; }
}
@media(prefers-reduced-motion:reduce) {
 .lw-priorities-visual img { animation:none; }
}


/* LEGISLATIVE RECORD SOURCE LINKS */
.lw-source-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin: 14px 0;
}
.lw-source-links a {
    color: #176443;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.lw-source-links a:hover {
    color: #9b742f;
}
.lw-document-item[href] {
    text-decoration: none;
}
.lw-document-item[href]:hover strong {
    text-decoration: underline;
    text-underline-offset: 3px;
}
/* END LEGISLATIVE RECORD SOURCE LINKS */

/* LEGISLATIVE DASHBOARD VIDEO PLAYERS */
.lw-metric-video {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    margin-top: 14px;
    background: #102d22;
    border: 1px solid #e3e7e2;
    object-fit: contain;
}

.lw-metric {
    height: auto;
}

/* FIX: KEEP LEGISLATIVE VIDEOS INSIDE THEIR COLUMNS */
.lw-metric-grid {
    width: 100%;
    min-width: 0;
}

.lw-metric {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.lw-metric-video {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    box-sizing: border-box;
    overflow: hidden;
}

.lw-metric-video source {
    max-width: 100%;
}

/* NIWA OVERSIGHT CARD IMAGE */
.lw-metric-image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 145px;
    margin-top: 14px;
    object-fit: cover;
    object-position: center;
    box-sizing: border-box;
}