/*
Theme Name: CPIS Enforcement Public Service V3.6
Theme URI: https://cpisenforcement.ca/
Author: CPIS Enforcement Services
Description: Public-facing institutional WordPress theme for CPIS Enforcement Services with a York Regional Police-inspired public-service flow, dedicated service pages, careers, online forms, parking information and property services.
Version: 3.6.0
Text Domain: cpis-enforcement-v3-6
*/

:root{
  --cpis-navy:#071a29;
  --cpis-navy-2:#0b304b;
  --cpis-blue:#174e73;
  --cpis-blue-soft:#e9f0f4;
  --cpis-green:#365f55;
  --cpis-green-soft:#edf7f3;
  --cpis-gold:#d0a62f;
  --cpis-gold-soft:#f7f0df;
  --cpis-red:#a3262c;
  --cpis-white:#fff;
  --cpis-bg:#f2f4f5;
  --cpis-bg-2:#eef2f4;
  --cpis-ink:#17232c;
  --cpis-muted:#5b6874;
  --cpis-border:#d8dfe4;
  --cpis-border-dark:#bbc6ce;
  --cpis-shadow:0 18px 44px rgba(7,28,46,.12);
  --cpis-shadow-soft:0 8px 24px rgba(7,28,46,.08);
  --cpis-radius:2px;
  --cpis-max:1260px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:160px}
body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--cpis-ink);background:#fff;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:var(--cpis-blue);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--cpis-navy)}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 48px),var(--cpis-max));margin-inline:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{clip:auto!important;width:auto;height:auto;margin:0;top:8px;left:8px;padding:10px 14px;background:#fff;color:#000;z-index:9999}

/* Institutional header */
.utility-bar{background:#03121f;color:#fff;font-size:.78rem;border-bottom:1px solid rgba(255,255,255,.13)}
.utility-inner{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.utility-identity{display:flex;gap:9px;align-items:center;color:#c7d5df;letter-spacing:.02em}
.utility-label{font-weight:800;text-transform:uppercase;letter-spacing:.085em;color:#fff}
.utility-dot{color:var(--cpis-gold)}
.utility-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.utility-bar a{color:#eef5fa;text-decoration:none}
.utility-bar a span{color:#b9cad6}
.utility-bar a:hover{text-decoration:underline;color:#fff}
.site-header{background:#fff;position:sticky;top:0;z-index:80;box-shadow:0 1px 0 rgba(8,30,49,.12)}
.brand-row{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:17px;text-decoration:none;color:var(--cpis-navy);min-width:280px}
.brand-mark{width:64px;height:66px;border:2px solid #1d3548;border-radius:3px 3px 14px 14px;display:grid;place-items:center;background:linear-gradient(#fff,#f1f4f5);position:relative;overflow:hidden}
.brand-mark:before{content:"";position:absolute;inset:auto 0 0;height:5px;background:var(--cpis-gold)}
.brand-mark span{font-size:1rem;font-weight:950;letter-spacing:.07em}
.custom-logo-link{display:flex;align-items:center}
.custom-logo-link img{max-height:68px;width:auto;display:block}
.brand-copy strong{font-size:1.22rem;display:block;letter-spacing:-.01em;line-height:1.15}
.brand-copy span{display:block;color:#657581;font-size:.74rem;text-transform:uppercase;letter-spacing:.13em;margin-top:5px;font-weight:650}
.header-actions{display:flex;align-items:center;gap:10px}
.header-action-link{font-size:.9rem;font-weight:750;text-decoration:none;padding:10px 12px;color:#233746}
.header-pay{background:var(--cpis-navy);color:#fff;text-decoration:none;font-weight:850;padding:12px 18px;border-radius:3px;border:1px solid var(--cpis-navy)}
.header-pay:hover{background:#0e3556;color:#fff}
.menu-toggle{display:none;border:1px solid var(--cpis-border-dark);background:#fff;padding:10px 14px;border-radius:3px;font-weight:800;color:var(--cpis-navy)}
.nav-shell{background:var(--cpis-navy);border-top:1px solid rgba(255,255,255,.05)}
.main-nav{display:flex;align-items:stretch;gap:2px;min-height:48px;position:relative}
.main-nav>a,.nav-link{display:flex;align-items:center;color:#f3f6f8;text-decoration:none;font-weight:720;font-size:.88rem;padding:0 16px;border:0;background:transparent;cursor:pointer;white-space:nowrap}
.main-nav>a:hover,.nav-link:hover,.has-submenu.is-open>.nav-link{background:#113853;color:#fff}
.nav-item{position:relative;display:flex}
.submenu{position:absolute;top:100%;left:0;min-width:380px;background:#fff;border:1px solid var(--cpis-border);box-shadow:0 24px 55px rgba(5,25,40,.22);padding:9px;display:none;z-index:110;border-top:4px solid var(--cpis-gold)}
.has-submenu:hover>.submenu,.has-submenu:focus-within>.submenu,.has-submenu.is-open>.submenu{display:block}
.submenu a{display:block;color:var(--cpis-ink);text-decoration:none;padding:11px 12px;border-radius:4px;border-bottom:1px solid #edf0f2}
.submenu a:last-child{border-bottom:0}
.submenu a:hover{background:#f2f6f8;color:var(--cpis-navy)}
.submenu a strong{display:block;color:var(--cpis-navy);font-size:.88rem;line-height:1.25}
.submenu a span{display:block;color:var(--cpis-muted);font-size:.74rem;line-height:1.35;margin-top:3px;font-weight:450}
.compact-submenu{min-width:360px}
.mega-parent{position:static}
.mega-menu{width:min(930px,calc(100vw - 60px));grid-template-columns:1fr 1fr;gap:12px;padding:18px;left:0}
.has-submenu:hover>.mega-menu,.has-submenu:focus-within>.mega-menu,.has-submenu.is-open>.mega-menu{display:grid}
.mega-column{padding:3px 8px 6px}
.mega-heading{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:#63727d;font-weight:900;padding:7px 12px 11px;border-bottom:2px solid var(--cpis-navy);margin-bottom:4px}
.parking-services-column .mega-heading{border-bottom-color:var(--cpis-green)}
.mobile-only-action{display:none!important}
.notice-strip{background:#eef3f6;border-bottom:1px solid #d8e0e5;color:#344754}
.notice-inner{min-height:42px;display:flex;align-items:center;gap:12px;font-size:.82rem}
.notice-badge{font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.69rem;color:#fff;background:var(--cpis-blue);padding:4px 8px;border-radius:2px;white-space:nowrap}

/* Hero */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(105deg,#071c2e,#0b395b)}
.hero-photo{background-image:linear-gradient(90deg,rgba(3,18,31,.97) 0%,rgba(3,18,31,.92) 47%,rgba(3,18,31,.67) 75%,rgba(3,18,31,.5) 100%),var(--cpis-hero-photo,linear-gradient(105deg,#071c2e,#0b395b));background-size:cover;background-position:center}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0 82%,rgba(0,0,0,.17));pointer-events:none}
.hero-grid{min-height:570px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.72fr);gap:72px;align-items:center;padding:78px 0 88px;position:relative;z-index:1}
.hero-copy{max-width:820px}
.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.18em;font-weight:850;color:#c7d9e6;margin-bottom:13px}
.hero h1,.page-hero h1{font-size:clamp(2.75rem,5vw,4.75rem);line-height:1.01;margin:0 0 22px;letter-spacing:-.045em;max-width:900px}
.hero p{font-size:1.11rem;color:#e0e8ee;max-width:780px;margin:0 0 28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:2px solid transparent;border-radius:3px;font-weight:850;text-decoration:none;transition:.16s ease;text-align:center}
.btn-primary{background:var(--cpis-gold);border-color:var(--cpis-gold);color:#17212b}
.btn-primary:hover{background:#ebc25e;border-color:#ebc25e;color:#10171d}
.btn-secondary{border-color:#fff;color:#fff;background:rgba(255,255,255,.02)}
.btn-secondary:hover{background:#fff;color:var(--cpis-navy)}
.btn-dark{background:var(--cpis-navy);border-color:var(--cpis-navy);color:#fff}
.btn-dark:hover{background:#103b5d;color:#fff}
.btn-gold{background:var(--cpis-gold);color:#12202b;border-color:var(--cpis-gold)}
.btn-outline-light{border-color:rgba(255,255,255,.75);color:#fff}
.btn-outline-light:hover{background:#fff;color:var(--cpis-navy)}
.hero-meta{display:flex;gap:0;flex-wrap:wrap;margin-top:31px;border-top:1px solid rgba(255,255,255,.2);padding-top:18px;color:#bfced8;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.hero-meta span{padding:0 16px;border-right:1px solid rgba(255,255,255,.22)}
.hero-meta span:first-child{padding-left:0}
.hero-meta span:last-child{border-right:0}
.hero-panel{background:#fff;color:var(--cpis-ink);box-shadow:0 28px 64px rgba(0,0,0,.3);border-top:5px solid var(--cpis-gold)}
.hero-panel-title{padding:17px 21px;border-bottom:1px solid var(--cpis-border);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:#657480;background:#f6f8f9}
.hero-link{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 21px;border-bottom:1px solid var(--cpis-border);text-decoration:none;color:var(--cpis-ink);font-weight:830}
.hero-link:hover{background:#f3f7f9;color:var(--cpis-navy)}
.hero-link:last-child{border-bottom:0}
.hero-link small{display:block;color:var(--cpis-muted);font-weight:500;margin-top:3px;font-size:.78rem;line-height:1.35}

/* Quick actions */
.quick-actions{margin-top:-34px;position:relative;z-index:5}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;box-shadow:var(--cpis-shadow);border:1px solid var(--cpis-border)}
.quick-grid.five-up{grid-template-columns:repeat(5,1fr)}
.quick-grid.six-up{grid-template-columns:repeat(3,1fr)}
.quick-card{padding:23px 22px 24px;text-decoration:none;color:var(--cpis-ink);border-right:1px solid var(--cpis-border);min-height:144px;position:relative}
.quick-card:last-child{border-right:0}
.quick-card:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:4px;background:var(--cpis-gold);transition:.18s ease}
.quick-card:hover{background:#f7f9fa;color:var(--cpis-ink)}
.quick-card:hover:after{right:0}
.quick-card .num{font-size:.68rem;color:var(--cpis-blue);font-weight:900;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}
.quick-card h3{margin:0 0 6px;font-size:1.02rem;color:var(--cpis-navy);line-height:1.25}
.quick-card p{margin:0;color:var(--cpis-muted);font-size:.82rem;line-height:1.45}

/* Core sections */
.section{padding:82px 0}
.section.compact{padding:65px 0}
.section.alt{background:var(--cpis-bg);border-block:1px solid #e4e9ec}
.section-kicker{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.17em;color:var(--cpis-blue);margin-bottom:9px}
.light-kicker{color:#e7c66d!important}
.section h2,.program-band h2,.authority-band h2,.process-section h2,.revenue-section h2{font-size:clamp(2.05rem,3.3vw,3.15rem);line-height:1.08;margin:0 0 18px;color:var(--cpis-navy);letter-spacing:-.035em}
.section-intro{font-size:1.03rem;color:var(--cpis-muted);max-width:850px;margin:0 0 34px}
.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}
.section-heading-row>div{max-width:850px}
.section-heading-row h2{margin-bottom:0}
.arrow-link{white-space:nowrap;margin-bottom:5px}
.text-link{font-weight:850;text-decoration:none}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.info-card{background:#fff;border:1px solid var(--cpis-border);border-top:4px solid var(--cpis-navy);padding:27px;min-height:250px}
.info-card h3{margin:0 0 10px;color:var(--cpis-navy);font-size:1.2rem}
.info-card p{color:var(--cpis-muted);margin:0 0 16px}
.official-box{border:1px solid var(--cpis-border);border-left:5px solid var(--cpis-gold);background:#fff;padding:27px 28px;box-shadow:var(--cpis-shadow-soft)}
.official-box h3{margin:0 0 10px;color:var(--cpis-navy);font-size:1.32rem}
.official-box h4{color:var(--cpis-navy);margin-bottom:4px}
.check-list{padding:0;margin:20px 0 0;list-style:none;display:grid;gap:10px}
.check-list li{position:relative;padding-left:27px}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--cpis-green);font-weight:950}
.two-column-list{grid-template-columns:1fr 1fr;column-gap:28px}

/* Featured services */
.featured-service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--cpis-border);background:#fff}
.featured-service{padding:30px 27px;min-height:315px;border-right:1px solid var(--cpis-border);display:flex;flex-direction:column;position:relative}
.featured-service:last-child{border-right:0}
.featured-service.primary-service{background:var(--cpis-navy);color:#fff}
.featured-service .service-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:var(--cpis-blue);margin-bottom:19px}
.featured-service.primary-service .service-label{color:#e8c65f}
.featured-service h3{font-size:1.35rem;line-height:1.22;color:var(--cpis-navy);margin:0 0 13px}
.featured-service.primary-service h3{color:#fff}
.featured-service p{font-size:.91rem;color:var(--cpis-muted);margin:0 0 20px}
.featured-service.primary-service p{color:#d5e1e8}
.featured-service a{margin-top:auto;font-weight:850;text-decoration:none;font-size:.86rem}
.featured-service.primary-service a{color:#f0cf71}
.service-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.service-list-grid article{border:1px solid var(--cpis-border);background:#fff;padding:25px;min-height:210px}
.service-list-grid article:hover{border-color:#b7c5ce;box-shadow:var(--cpis-shadow-soft)}
.service-code{display:block;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--cpis-blue);margin-bottom:12px}
.service-list-grid h3{margin:0 0 9px;color:var(--cpis-navy);font-size:1.12rem;line-height:1.25}
.service-list-grid p{margin:0;color:var(--cpis-muted);font-size:.89rem}
.secondary-services{margin-top:22px}

/* Parking program */
.program-band{background:linear-gradient(110deg,#082038,#0b3a5b 68%,#0b4b52);color:#fff;padding:82px 0;position:relative;overflow:hidden}
.program-band:after{content:"";position:absolute;width:470px;height:470px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-170px;top:-180px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.program-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:75px;position:relative;z-index:1}
.program-band h2{color:#fff;font-size:clamp(2.25rem,3.7vw,3.55rem)}
.program-offer>p{color:#d7e4eb;max-width:650px}
.zero-lockup{display:flex;align-items:center;gap:18px;margin:15px 0 18px}
.zero-lockup .zero{font-size:5.1rem;line-height:.8;font-weight:950;letter-spacing:-.08em;color:var(--cpis-gold)}
.zero-lockup>span:last-child{font-size:1rem;line-height:1.15;letter-spacing:.12em;color:#dce8ef}
.zero-lockup strong{font-size:1.25rem;color:#fff}
.program-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 16px}
.fine-print{font-size:.74rem!important;color:#aebfcc!important;line-height:1.5}
.program-benefits{display:grid;border-top:1px solid rgba(255,255,255,.22)}
.benefit{display:grid;grid-template-columns:52px 1fr;gap:19px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.benefit>span{font-size:.7rem;color:#e9c764;letter-spacing:.14em;font-weight:900;padding-top:3px}
.benefit h3{margin:0 0 3px;font-size:1.05rem;color:#fff}
.benefit p{margin:0;color:#bfd0dc;font-size:.87rem}

/* Line services */
.line-services-home{background:#fff}
.marking-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--cpis-border)}
.marking-grid a{min-height:170px;padding:24px 22px;border-right:1px solid var(--cpis-border);border-bottom:1px solid var(--cpis-border);text-decoration:none;color:var(--cpis-ink);display:flex;flex-direction:column;background:#fff}
.marking-grid a:nth-child(4n){border-right:0}
.marking-grid a:nth-last-child(-n+4){border-bottom:0}
.marking-grid a:hover{background:#f4f8fa}
.marking-grid span{font-size:.66rem;font-weight:950;color:var(--cpis-green);letter-spacing:.13em;margin-bottom:16px}
.marking-grid strong{font-size:1.05rem;color:var(--cpis-navy);line-height:1.25}
.marking-grid small{color:var(--cpis-muted);margin-top:5px;font-size:.78rem;line-height:1.4}

/* Passport */
.passport-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:44px;align-items:start}
.passport-logo-wrap{background:#fff;border:1px solid var(--cpis-border);min-height:132px;display:flex;align-items:center;justify-content:center;padding:23px;margin-bottom:22px}
.passport-logo-wrap img{max-height:76px;width:auto}
.numbered-steps{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.numbered-steps li{display:grid;grid-template-columns:36px 1fr;gap:13px;align-items:start}
.numbered-steps li>span{width:32px;height:32px;border-radius:50%;background:var(--cpis-green);color:#fff;display:grid;place-items:center;font-weight:900;font-size:.8rem}
.numbered-steps p{margin:3px 0 0;color:#42525e;font-size:.9rem}
.passport-video-wrap{background:#fff;border:1px solid var(--cpis-border);padding:23px;box-shadow:var(--cpis-shadow-soft)}
.video-heading span{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--cpis-blue);font-weight:900}
.video-heading h3{color:var(--cpis-navy);font-size:1.35rem;margin:5px 0 17px}
.video-frame{position:relative;padding-top:56.25%;background:#07131e;overflow:hidden}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

/* Migrated media */
.media-showcase{background:#0a1f31;color:#fff}
.media-showcase h2{color:#fff}
.media-showcase .section-intro{color:#c4d3dd}
.media-feature-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-bottom:18px}
.media-video video{width:100%;display:block;background:#000;max-height:570px}
.media-feature-image{margin:0;overflow:hidden;min-height:320px}
.media-feature-image img{width:100%;height:100%;object-fit:cover}
.media-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.media-gallery figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#0f2b42}
.media-gallery img{width:100%;height:100%;object-fit:cover}

/* Service area */
.service-area-section{background:#f6f8f9}
.service-area-header{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center;margin-bottom:34px}
.service-area-header p{max-width:800px;color:var(--cpis-muted);margin:0}
.province-badge{background:var(--cpis-navy);color:#fff;padding:28px;border-left:6px solid var(--cpis-gold)}
.province-badge strong{display:block;font-size:2rem;line-height:1.1}
.province-badge span{display:block;color:#cbd8e1;font-size:.82rem;margin-top:7px}
.coverage-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:26px}
.coverage-regions{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--cpis-border);background:#fff}
.coverage-region{padding:24px;border-right:1px solid var(--cpis-border);border-bottom:1px solid var(--cpis-border)}
.coverage-region:nth-child(2n){border-right:0}
.coverage-region:nth-last-child(-n+2){border-bottom:0}
.coverage-region h3{margin:0 0 8px;color:var(--cpis-navy);font-size:1rem}
.coverage-region p{margin:0;color:var(--cpis-muted);font-size:.84rem;line-height:1.65}
.property-types{background:var(--cpis-navy);color:#fff;padding:29px}
.property-types h3{margin:0;color:#fff;font-size:1.25rem}
.property-types .check-list{font-size:.88rem}
.property-types .check-list li:before{color:#e7c25d}
.mini-features{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}
.mini-features span{border:1px solid rgba(255,255,255,.16);padding:10px;font-size:.72rem;color:#d3e0e8;text-align:center}

/* Authority */
.authority-band{background:#071b2d;color:#fff;padding:78px 0}
.authority-band h2{color:#fff;max-width:900px}
.authority-band .section-intro{color:#c1d0db}
.authority-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:31px}
.authority-card{border:1px solid rgba(255,255,255,.2);padding:30px;background:rgba(255,255,255,.035)}
.authority-number{font-size:.69rem;color:#e3bd57;letter-spacing:.13em;font-weight:900;margin-bottom:14px}
.authority-card h3{margin:0 0 10px;color:#fff;font-size:1.28rem}
.authority-card h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:#e0c26b;margin:20px 0 8px}
.authority-card p{font-size:.92rem;margin-bottom:0;color:#d1dde5}
.authority-card ul{margin:12px 0 0;padding-left:20px;color:#c7d5de;font-size:.87rem}

/* CTA / Footer */
.cta-band{background:#eef3f6;border-top:1px solid var(--cpis-border);padding:62px 0}
.cta-grid{display:flex;align-items:center;justify-content:space-between;gap:45px}
.cta-grid h2{margin:0 0 8px;color:var(--cpis-navy);font-size:2rem;line-height:1.15}
.cta-grid p{margin:0;color:var(--cpis-muted)}
.site-footer{background:#041523;color:#d7e2e9;padding:0}
.footer-topline{min-height:112px;border-bottom:1px solid rgba(255,255,255,.13);display:flex;align-items:center;justify-content:space-between;gap:30px}
.footer-topline>div{display:flex;flex-direction:column;gap:3px}
.footer-kicker{text-transform:uppercase;letter-spacing:.13em;font-size:.67rem;font-weight:900;color:#d2ae50}
.footer-topline strong{font-size:1.1rem;color:#fff}
.footer-assessment{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.3);padding:12px 16px;font-weight:800}
.footer-assessment:hover{background:#fff;color:var(--cpis-navy)}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:40px;padding-top:52px}
.footer-grid h3{color:#fff;font-size:.83rem;text-transform:uppercase;letter-spacing:.09em;margin-top:0}
.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer-grid a{color:#d5e0e8;text-decoration:none;font-size:.88rem}
.footer-grid a:hover{color:#fff;text-decoration:underline}
.footer-brand{font-size:1.15rem;font-weight:900;color:#fff;margin-bottom:10px}
.footer-note{color:#aebfcb;font-size:.84rem;max-width:430px}
.footer-bottom{margin-top:44px;border-top:1px solid rgba(255,255,255,.13);padding:18px 0;font-size:.77rem;color:#9fb2c0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* Interior pages */
.page-hero{background:linear-gradient(110deg,#071c2e,#0e3b5d);color:#fff;position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-180px;top:-180px;box-shadow:0 0 0 75px rgba(255,255,255,.025),0 0 0 150px rgba(255,255,255,.015)}
.page-hero-grid{min-height:430px;display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:center;padding:65px 0;position:relative;z-index:1}
.page-hero p{color:#dae5eb;max-width:760px;font-size:1.06rem;margin:0 0 27px}
.page-hero-callout,.zero-program-card{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);padding:28px;border-top:4px solid var(--cpis-gold)}
.page-hero-callout>span{font-size:.69rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:#e8c869}
.page-hero-callout strong{display:block;font-size:1.3rem;line-height:1.25;margin:10px 0;color:#fff}
.page-hero-callout p{font-size:.89rem;margin:0;color:#c7d8e2}
.line-page-hero{background:linear-gradient(110deg,#071c2e 0,#0c374f 68%,#145b55 100%)}
.parking-page-hero{background:linear-gradient(110deg,#06192a 0,#103b59 68%,#17614f 100%)}
.zero-program-card{text-align:center}
.zero-program-number{font-size:5.5rem;font-weight:950;line-height:.9;letter-spacing:-.08em;color:var(--cpis-gold)}
.zero-program-card strong{display:block;letter-spacing:.12em;font-size:1rem;margin-top:10px}
.zero-program-card p{margin:13px 0 0;font-size:.85rem;color:#cad9e2}
.detail-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.detail-service-grid article{background:#fff;border:1px solid var(--cpis-border);padding:25px;min-height:235px}
.detail-number{display:block;font-size:.66rem;color:var(--cpis-green);font-weight:950;letter-spacing:.13em;margin-bottom:17px}
.detail-service-grid h3{margin:0 0 9px;color:var(--cpis-navy);font-size:1.12rem;line-height:1.25}
.detail-service-grid p{margin:0;color:var(--cpis-muted);font-size:.86rem}
.process-section{background:#08263f;color:#fff;padding:70px 0}
.process-section h2{color:#fff}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.2);margin-top:25px}
.process-grid>div{padding:25px 28px 0 0;border-right:1px solid rgba(255,255,255,.17);margin-right:28px}
.process-grid>div:last-child{border-right:0;margin-right:0}
.process-grid span{font-size:.68rem;color:#e7c567;font-weight:900;letter-spacing:.13em}
.process-grid h3{margin:9px 0 5px;color:#fff}
.process-grid p{margin:0;color:#c3d4de;font-size:.87rem}
.cta-card{background:#f1f5f7;border:1px solid var(--cpis-border);border-left:6px solid var(--cpis-gold);padding:35px 38px;display:flex;justify-content:space-between;align-items:center;gap:40px}
.cta-card h2{font-size:2rem;margin-bottom:8px}
.cta-card p{margin:0;color:var(--cpis-muted);max-width:750px}
.cta-contact{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.feature-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--cpis-border);margin-top:34px}
.feature-metrics>div{padding:23px;border-right:1px solid var(--cpis-border)}
.feature-metrics>div:last-child{border-right:0}
.feature-metrics strong{display:block;color:var(--cpis-navy);font-size:1.02rem}
.feature-metrics span{display:block;color:var(--cpis-muted);font-size:.82rem;margin-top:4px}
.six-grid{grid-template-columns:repeat(3,1fr)}
.revenue-section{background:#0a263d;color:#fff;padding:78px 0}
.revenue-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start}
.revenue-section h2{color:#fff}
.revenue-section p{color:#cbd9e2}
.revenue-stat{display:flex;align-items:center;gap:20px;margin:26px 0 8px;border-top:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17);padding:20px 0}
.revenue-stat strong{font-size:3.7rem;color:var(--cpis-gold);line-height:1}
.revenue-stat span{font-size:.89rem;color:#e2eaf0;max-width:320px}
.revenue-panel{background:#fff;color:var(--cpis-ink);padding:30px;border-top:5px solid var(--cpis-gold)}
.revenue-panel h3{margin-top:0;color:var(--cpis-navy);font-size:1.35rem}
.revenue-panel p{color:var(--cpis-muted)}
.light-list li{color:var(--cpis-ink)}

/* Permits and generic content */
.warning-box{background:#fff5e8;border:1px solid #ead5b0;border-left:5px solid #d08a23;padding:18px 20px;margin-top:22px;color:#4e3f2d}
.alert-list li:before{color:var(--cpis-red)}
.evidence-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--cpis-border);margin-top:18px}
.evidence-grid>div{padding:16px;border-right:1px solid var(--cpis-border);border-bottom:1px solid var(--cpis-border)}
.evidence-grid>div:nth-child(2n){border-right:0}
.evidence-grid>div:nth-last-child(-n+2){border-bottom:0}
.evidence-grid strong{display:block;color:var(--cpis-navy)}
.evidence-grid span{display:block;color:var(--cpis-muted);font-size:.86rem}
.full-btn{width:100%}
.content-wrap{padding:64px 0}
.entry-content{max-width:900px}
.entry-content h1,.entry-content h2,.entry-content h3{color:var(--cpis-navy)}
.entry-content h1{font-size:2.7rem;line-height:1.1}
.entry-content h2{margin-top:2.2em;border-top:1px solid var(--cpis-border);padding-top:1.2em}

/* Responsive */
@media(max-width:1120px){
  .header-action-link{display:none}
  .main-nav>a,.nav-link{padding:0 11px;font-size:.83rem}
  .quick-grid.five-up{grid-template-columns:repeat(3,1fr)}
  .quick-card:nth-child(3){border-right:0}
  .quick-card:nth-child(-n+3){border-bottom:1px solid var(--cpis-border)}
  .quick-card:nth-child(4){border-right:1px solid var(--cpis-border)}
  .quick-card:nth-child(5){border-right:0}
  .featured-service-grid{grid-template-columns:1fr 1fr}
  .featured-service{border-bottom:1px solid var(--cpis-border)}
  .featured-service:nth-child(2n){border-right:0}
  .featured-service:nth-last-child(-n+2){border-bottom:0}
  .detail-service-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:980px){
  .container{width:min(calc(100% - 34px),var(--cpis-max))}
  .header-pay{display:none}
  .menu-toggle{display:block}
  .nav-shell{background:#fff}
  .main-nav{display:none;position:absolute;left:0;right:0;top:91px;background:#fff;border-top:1px solid var(--cpis-border);box-shadow:var(--cpis-shadow);padding:14px 17px 22px;flex-direction:column;align-items:stretch;max-height:calc(100vh - 91px);overflow:auto;gap:0}
  .main-nav.is-open{display:flex}
  .main-nav>a,.nav-link{color:var(--cpis-navy);min-height:48px;padding:0 8px;border-bottom:1px solid #e8ecef;width:100%;justify-content:space-between}
  .main-nav>a:hover,.nav-link:hover,.has-submenu.is-open>.nav-link{background:#f3f6f8;color:var(--cpis-navy)}
  .nav-item{display:block}
  .submenu,.mega-menu{position:static!important;width:100%;min-width:0;box-shadow:none;border:0;border-left:3px solid var(--cpis-gold);border-top:0;margin:0 0 9px 5px;padding:7px;display:none!important;background:#f6f8f9}
  .has-submenu.is-open>.submenu{display:block!important}
  .has-submenu.is-open>.mega-menu{display:grid!important;grid-template-columns:1fr}
  .has-submenu:hover>.submenu,.has-submenu:focus-within>.submenu{display:none}
  .has-submenu.is-open:hover>.submenu,.has-submenu.is-open:focus-within>.submenu{display:block!important}
  .mobile-only-action{display:flex!important}
  .mobile-pay{background:var(--cpis-navy)!important;color:#fff!important;margin-top:8px;padding-left:14px!important}
  .quick-grid,.quick-grid.five-up{grid-template-columns:1fr 1fr}
  .hero-grid,.page-hero-grid{grid-template-columns:1fr;gap:35px;min-height:auto;padding:62px 0 72px}
  .hero-panel{max-width:650px}
  .hero h1,.page-hero h1{font-size:3.2rem}
  .program-grid,.passport-layout,.coverage-layout,.service-area-header,.revenue-grid{grid-template-columns:1fr;gap:35px}
  .program-benefits{margin-top:10px}
  .marking-grid{grid-template-columns:repeat(2,1fr)}
  .marking-grid a:nth-child(2n){border-right:0}
  .marking-grid a:nth-child(4n){border-right:0}
  .marking-grid a:nth-last-child(-n+4){border-bottom:1px solid var(--cpis-border)}
  .marking-grid a:nth-last-child(-n+2){border-bottom:0}
  .service-list-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .media-feature-grid{grid-template-columns:1fr}
  .media-gallery{grid-template-columns:repeat(2,1fr)}
  .process-grid{grid-template-columns:1fr 1fr;row-gap:28px}
  .process-grid>div:nth-child(2){border-right:0}
  .feature-metrics{grid-template-columns:1fr 1fr}
  .feature-metrics>div:nth-child(2){border-right:0}
  .feature-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--cpis-border)}
}
@media(max-width:700px){
  html{scroll-padding-top:120px}
  .utility-inner{padding:7px 0;align-items:flex-start;flex-direction:column;gap:3px}
  .utility-links{gap:7px;flex-direction:column;align-items:flex-start}
  .utility-identity span:not(.utility-label){display:none}
  .brand-row{min-height:78px}
  .brand-copy strong{font-size:1rem}
  .brand-copy span{display:none}
  .brand-mark{width:51px;height:54px}
  .custom-logo-link img{max-height:55px}
  .main-nav{top:78px}
  .notice-inner{padding:9px 0;align-items:flex-start;line-height:1.4}
  .hero-grid{padding:48px 0 58px}
  .hero h1,.page-hero h1{font-size:2.55rem}
  .hero p,.page-hero p{font-size:1rem}
  .hero-meta{display:grid;gap:6px}
  .hero-meta span{padding:0;border-right:0}
  .quick-actions{margin-top:-20px}
  .quick-grid,.quick-grid.five-up{grid-template-columns:1fr}
  .quick-card{border-right:0!important;border-bottom:1px solid var(--cpis-border)!important;min-height:unset}
  .quick-card:last-child{border-bottom:0!important}
  .section,.program-band,.authority-band,.revenue-section{padding:60px 0}
  .section-heading-row{align-items:flex-start;flex-direction:column;gap:12px}
  .featured-service-grid,.service-list-grid,.detail-service-grid,.six-grid,.cards-3,.two-col,.authority-grid,.coverage-regions,.feature-metrics,.process-grid{grid-template-columns:1fr}
  .featured-service{border-right:0!important;border-bottom:1px solid var(--cpis-border)!important;min-height:unset}
  .featured-service:last-child{border-bottom:0!important}
  .service-list-grid article{min-height:unset}
  .two-column-list{grid-template-columns:1fr}
  .marking-grid{grid-template-columns:1fr}
  .marking-grid a{border-right:0!important;border-bottom:1px solid var(--cpis-border)!important;min-height:135px}
  .marking-grid a:last-child{border-bottom:0!important}
  .zero-lockup .zero{font-size:4rem}
  .zero-lockup strong{font-size:1rem}
  .passport-video-wrap{padding:15px}
  .coverage-region{border-right:0!important;border-bottom:1px solid var(--cpis-border)!important}
  .coverage-region:last-child{border-bottom:0!important}
  .mini-features{grid-template-columns:1fr}
  .cta-grid,.footer-topline,.cta-card{align-items:flex-start;flex-direction:column}
  .footer-grid{grid-template-columns:1fr}
  .footer-topline{padding:28px 0}
  .footer-assessment{width:100%;text-align:center}
  .media-gallery{grid-template-columns:1fr 1fr}
  .process-grid>div{border-right:0;margin-right:0;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:22px}
  .process-grid>div:last-child{border-bottom:0}
  .feature-metrics>div{border-right:0!important;border-bottom:1px solid var(--cpis-border)!important}
  .feature-metrics>div:last-child{border-bottom:0!important}
  .evidence-grid{grid-template-columns:1fr}
  .evidence-grid>div{border-right:0!important;border-bottom:1px solid var(--cpis-border)!important}
  .evidence-grid>div:last-child{border-bottom:0!important}
  .cta-contact{justify-content:flex-start}
  .page-hero-grid{padding:48px 0 56px}
}

/* ========================================================================
   v2.0 PUBLIC-SECTOR REDESIGN
   Inspired by the clarity, hierarchy and task-first structure of Ontario
   public-sector websites while retaining distinct CPIS branding.
   ======================================================================== */
body{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#fff;color:#17232c}
.container{width:min(calc(100% - 56px),1280px)}
h1,h2,h3,h4,strong{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}
.section-kicker,.eyebrow,.service-code,.detail-number,.compare-label{letter-spacing:.12em}

/* Government-style utility and identity header */
.gov-utility{background:#060d13;color:#fff;border-bottom:4px solid var(--cpis-gold);font-size:.78rem}
.gov-utility-inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.gov-utility-id{display:flex;gap:12px;align-items:center}.gov-utility-id strong{text-transform:uppercase;letter-spacing:.09em;font-size:.72rem}.gov-utility-id span{color:#c9d2d8}
.gov-utility-links{display:flex;align-items:center;gap:22px}.gov-utility-links a{color:#fff;text-decoration:none}.gov-utility-links a:hover{text-decoration:underline}.gov-utility-links a span{color:#c9d2d8}
.public-header{position:sticky;top:0;z-index:90;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.identity-wrap{background:#fff}.identity-row{min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{gap:18px}.brand-seal{width:70px;height:70px;border:3px solid #0b2639;display:grid;place-items:center;position:relative;background:#fff}.brand-seal:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:var(--cpis-gold)}.brand-seal span{font-weight:950;letter-spacing:.06em;color:#0b2639}.brand-copy strong{font-size:1.42rem;line-height:1.05;color:#091d2c}.brand-copy span{font-size:.74rem;letter-spacing:.13em;color:#5b6871;margin-top:7px}.custom-logo-link img{max-height:76px}
.identity-tools{display:flex;align-items:center;gap:20px}.site-search{display:flex;border:1px solid #9aa7b0;height:42px;background:#fff}.site-search input{border:0;padding:0 12px;width:210px;min-width:0;outline:0}.site-search input:focus{box-shadow:inset 0 0 0 2px #2f6c93}.site-search button{border:0;background:#253b4a;color:#fff;padding:0 15px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.site-search button:hover{background:#0b304b}.header-actions{gap:8px}.notice-action{display:inline-flex;min-height:42px;align-items:center;padding:0 15px;text-decoration:none;font-size:.82rem;font-weight:850;border:1px solid #173b55}.notice-action.dispute{color:#173b55;background:#fff}.notice-action.permit{background:#d0a62f;color:#071a29;border-color:#d0a62f}.notice-action.pay{background:#a3262c;color:#fff;border-color:#a3262c}.notice-action:hover{filter:brightness(.94)}
.nav-shell{background:#0a2639;border-top:1px solid #d6dde1;border-bottom:5px solid var(--cpis-gold)}.main-nav{min-height:52px}.main-nav>a,.nav-link{font-size:.86rem;font-weight:800;padding:0 18px}.main-nav>a:hover,.nav-link:hover,.has-submenu.is-open>.nav-link{background:#12384f}.submenu{border-radius:0;border-top:5px solid var(--cpis-gold);box-shadow:0 12px 28px rgba(0,0,0,.23)}.mega-menu{width:min(960px,calc(100vw - 72px));grid-template-columns:1fr 1fr;gap:10px;padding:18px 18px 54px;position:absolute}.mega-menu .mega-footer{position:absolute;left:0;right:0;bottom:0;background:#eff2f4;border-top:1px solid #d2d9dd;padding:11px 18px}.mega-footer a{border:0!important;padding:0!important;font-weight:850;color:#0b304b}.mega-heading{border-bottom:3px solid #0b304b;color:#58656d}.parking-services-column .mega-heading{border-bottom-color:var(--cpis-gold)}
.public-alert-bar{background:#e8edf0;border-bottom:1px solid #c9d2d8}.public-alert-inner{min-height:46px;display:flex;align-items:center;gap:14px;font-size:.82rem;color:#34444f}.public-alert-label{background:#174e73;color:#fff;font-size:.66rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:5px 8px}.public-alert-inner a{margin-left:auto;font-weight:800;text-decoration:none;white-space:nowrap}

/* Public hero */
.public-hero{background:#081b2a}.hero-photo{background-image:linear-gradient(90deg,rgba(5,17,26,.985) 0%,rgba(5,17,26,.94) 48%,rgba(5,17,26,.78) 70%,rgba(5,17,26,.72) 100%),var(--cpis-hero-photo,linear-gradient(105deg,#071a29,#0b304b))}.hero:before{background:none}.hero-grid{min-height:520px;padding:66px 0 78px;grid-template-columns:1.35fr .65fr;gap:60px}.hero-copy{border-left:6px solid var(--cpis-gold);padding-left:28px}.hero h1,.page-hero h1{font-size:clamp(2.75rem,4.8vw,4.6rem);font-weight:800;letter-spacing:-.04em}.hero p{font-size:1.08rem}.hero-meta{font-size:.69rem}.public-action-panel{box-shadow:0 12px 28px rgba(0,0,0,.28);border-top:6px solid var(--cpis-gold)}.hero-link.priority{border-left:4px solid #a3262c}.hero-link.permit-priority{border-left:4px solid var(--cpis-gold);background:#fffaf0}.hero-link b{color:#174e73;font-size:1.2rem}
.btn{border-radius:0;min-height:47px}.btn-gold,.btn-primary{background:var(--cpis-gold);border-color:var(--cpis-gold);color:#101820}.btn-dark{background:#0a2639;border-color:#0a2639}.btn-outline-dark{border-color:#0a2639;color:#0a2639}.btn-outline-dark:hover{background:#0a2639;color:#fff}.button-row{display:flex;gap:10px;flex-wrap:wrap}

/* Flat, official task/service blocks */
.quick-grid{box-shadow:0 8px 22px rgba(8,27,42,.1)}.quick-card{border-top:4px solid transparent}.quick-card:hover{border-top-color:var(--cpis-gold)}.quick-card:after{display:none}.quick-card .num{color:#596871}.quick-card h3{font-size:1.06rem}
.section{padding:76px 0}.section.alt{background:#f1f3f4}.section h2,.program-band h2,.authority-band h2,.process-section h2,.revenue-section h2{font-weight:800;letter-spacing:-.03em}.section-kicker{color:#174e73}.section-intro{font-size:1rem}.lead-copy{font-size:1.05rem;color:#44535d;line-height:1.75}.official-box{border:1px solid #c6d0d6;border-left:6px solid var(--cpis-gold);box-shadow:none}.compact-box{padding:25px}
.public-service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cbd3d8;border-left:1px solid #cbd3d8}.public-service-grid a{display:block;min-height:245px;padding:25px 24px;border-right:1px solid #cbd3d8;border-bottom:1px solid #cbd3d8;text-decoration:none;background:#fff;color:#17232c}.public-service-grid a:hover{background:#f6f8f9;box-shadow:inset 0 5px 0 var(--cpis-gold)}.public-service-grid span{font-size:.68rem;font-weight:900;color:#59707f;letter-spacing:.13em}.public-service-grid h3{font-size:1.13rem;color:#0a2639;margin:28px 0 10px}.public-service-grid p{font-size:.87rem;color:#5a6872;margin:0}
.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.directory-grid>a{border:1px solid #cbd3d8;border-top:5px solid #0a2639;background:#fff;padding:25px;text-decoration:none;color:#17232c;min-height:250px;display:flex;flex-direction:column}.directory-grid>a:hover{border-top-color:var(--cpis-gold)}.directory-grid span{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#60717b}.directory-grid h3{font-size:1.2rem;color:#0a2639;margin:19px 0 10px}.directory-grid p{font-size:.88rem;color:#5b6872;margin:0 0 20px}.directory-grid b{margin-top:auto;color:#174e73;font-size:.84rem}.property-directory>a{border-top-color:#365f55}
.scope-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cbd3d8;border-left:1px solid #cbd3d8;margin-top:28px}.scope-item{min-height:150px;padding:22px;border-right:1px solid #cbd3d8;border-bottom:1px solid #cbd3d8;background:#fff}.scope-item span{display:block;color:#174e73;font-size:.65rem;font-weight:900;letter-spacing:.12em;margin-bottom:18px}.scope-item p{margin:0;font-weight:700;color:#253540;font-size:.9rem}.service-overview-grid{align-items:center}.audience-box{align-self:stretch}.authority-note{display:grid;grid-template-columns:.7fr 1.4fr .45fr;gap:35px;align-items:center;border-top:5px solid var(--cpis-gold);border-bottom:1px solid #cbd3d8;padding-top:30px;padding-bottom:30px}.authority-note h2{font-size:1.8rem}.authority-note p{margin:0;color:#4e5d67}

/* Program and partnership sections */
.public-program-band,.program-band{background:#082337}.program-band:after{display:none}.zero-lockup .zero{color:#e0b83c}.program-benefits{border-top:1px solid rgba(255,255,255,.22)}.partnership-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.poster-frame{margin:0;border:1px solid #bfcbd2;background:#0a1520;padding:10px;box-shadow:0 10px 24px rgba(0,0,0,.12)}.poster-frame img{display:block;width:100%;height:auto}.tall-poster{max-width:560px;justify-self:end}.program-poster-layout{align-items:start}
.line-service-directory{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cbd3d8;border-left:1px solid #cbd3d8}.line-service-directory a{padding:25px;min-height:220px;background:#fff;border-right:1px solid #cbd3d8;border-bottom:1px solid #cbd3d8;text-decoration:none;color:#17232c}.line-service-directory a:hover{box-shadow:inset 0 5px 0 #365f55}.line-service-directory span{font-size:.65rem;font-weight:900;letter-spacing:.13em;color:#365f55}.line-service-directory h3{color:#0a2639;margin:24px 0 9px;font-size:1.1rem}.line-service-directory p{font-size:.86rem;color:#5b6872;margin:0}

/* Authority and institutional content */
.public-authority-band,.authority-band{background:#071a29}.authority-card{background:#0a2639;border:1px solid #365064}.authority-card a{color:#e3c565;font-weight:800;text-decoration:none;display:inline-block;margin-top:18px}.authority-more{margin-top:26px}.authority-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}.authority-compare-grid article{border:1px solid #c8d1d6;border-top:6px solid #365f55;padding:31px;background:#fff}.authority-compare-grid article+article{border-top-color:#174e73}.compare-label{font-size:.68rem;font-weight:900;color:#365f55}.municipal-label{color:#174e73}.authority-compare-grid h3{font-size:1.5rem;color:#0a2639;margin:14px 0}.authority-compare-grid h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#54646e;margin-top:24px}.authority-compare-grid li{margin:6px 0}.compare-note{background:#eef2f4;border-left:4px solid var(--cpis-gold);padding:13px 15px;font-size:.86rem;color:#42515b}

/* Interior page heroes */
.page-hero{background:#0a2639;border-bottom:7px solid var(--cpis-gold)}.page-hero:after{display:none}.page-hero-grid{min-height:410px;padding:62px 0;grid-template-columns:1.28fr .72fr;gap:55px}.page-hero h1{font-size:clamp(2.7rem,4.3vw,4.25rem)}.page-hero-callout,.zero-program-card{background:#0e3148;border:1px solid #486273;border-top:5px solid var(--cpis-gold);box-shadow:none}.line-page-hero{background:#0b2f3d}.parking-page-hero{background:#0a2b3e}.permits-page-hero{background:#102d43}.passport-page-hero{background:#121b37}.authority-page-hero{background:#071a29}.service-area-page-hero{background:#0b2b40}.about-page-hero{background:#0a2639}.contact-page-hero{background:#102d43}.services-index-hero{background:#0b2b40}.service-page-hero{background:#0a2639}.accent-parking .service-page-hero{background:#0b3141}.accent-compliance .service-page-hero{background:#173a40}.accent-support .service-page-hero{background:#172d3c}.accent-community .service-page-hero{background:#213640}.accent-property .service-page-hero{background:#17353b}.breadcrumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.75rem;margin-bottom:18px;color:#b9c8d2}.breadcrumbs a{color:#e5edf2;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs span:last-child{color:#d6b34d}
.passport-hero-logo{background:#fff;border-top:6px solid var(--cpis-gold);padding:26px;display:flex;flex-direction:column;gap:14px;align-items:center}.passport-hero-logo img{max-height:155px;width:auto}.passport-hero-logo span{font-size:.78rem;text-align:center;color:#52616b}.large-steps{gap:18px}.large-steps li{grid-template-columns:42px 1fr}.large-steps li>span{width:38px;height:38px;background:#174e73}.sticky-video{position:sticky;top:190px}.passport-tips .info-card{border-top-color:#26264a}.partnership-page-feature{background:#f7f8f9}

/* Notices and contact */
.notice-task-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.notice-task-card{border:1px solid #c7d0d6;border-top:6px solid #174e73;padding:30px;background:#fff}.notice-task-card.pay-card{border-top-color:#a3262c}.notice-task-card>span{font-size:.68rem;font-weight:900;letter-spacing:.12em;color:#5d6b74}.notice-task-card h2{font-size:1.8rem}.contact-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:52px}.contact-cards{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #c7d0d6;border-left:1px solid #c7d0d6;margin:28px 0}.contact-cards a{display:flex;flex-direction:column;padding:24px;border-right:1px solid #c7d0d6;border-bottom:1px solid #c7d0d6;text-decoration:none;color:#17232c}.contact-cards span,.contact-online-card span{font-size:.66rem;font-weight:900;letter-spacing:.12em;color:#60717a}.contact-cards strong{font-size:1.05rem;color:#0a2639;margin:10px 0 4px}.contact-cards small{color:#60717a}.contact-online{background:#eef2f4;padding:28px;align-self:start}.contact-online h2{font-size:1.55rem;margin-top:0}.contact-online-card{display:flex;flex-direction:column;background:#fff;border:1px solid #c7d0d6;border-left:5px solid #174e73;padding:19px;text-decoration:none;color:#17232c;margin-bottom:10px}.contact-online-card.pay-online{border-left-color:#a3262c}.contact-online-card strong{color:#0a2639;margin:7px 0}.contact-online-card small{color:#174e73}.contact-guidance{margin-top:25px}

/* Service area */
.region-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.region-directory article{border:1px solid #c8d1d6;border-top:5px solid #174e73;padding:25px;background:#fff}.region-directory h3{color:#0a2639;margin:0 0 10px}.region-directory p{font-size:.87rem;color:#56656f;margin:0;line-height:1.65}.property-type-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c8d1d6;border-left:1px solid #c8d1d6}.property-type-grid>div{padding:23px;border-right:1px solid #c8d1d6;border-bottom:1px solid #c8d1d6;background:#fff}.property-type-grid strong{display:block;color:#0a2639}.property-type-grid span{display:block;color:#5b6872;font-size:.84rem;margin-top:5px}.service-area-link{display:inline-block;color:#f0d175;font-weight:800;text-decoration:none;margin-top:20px}

/* Process, CTA and footer */
.process-section{background:#0a2639}.process-grid>div{padding-right:23px;margin-right:23px}.cta-card{border-radius:0;box-shadow:none}.footer-service-bar{background:#d0a62f;color:#111820}.footer-service-inner{min-height:104px;display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-service-inner>div{display:flex;flex-direction:column}.footer-service-inner span{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.footer-service-inner strong{font-size:1.08rem;margin-top:5px}.footer-service-inner>a{border:2px solid #111820;color:#111820;text-decoration:none;font-weight:850;padding:12px 16px}.public-footer{background:#060f16}.public-footer .footer-grid{padding-top:48px;padding-bottom:42px;margin-top:0}.footer-about p{color:#b2c0c9;font-size:.86rem}.footer-small{font-size:.75rem!important;color:#8fa1ac!important}.footer-lower{border-top:1px solid #2b3942;background:#03090d}.public-footer .footer-bottom{margin-top:0;border-top:0}.public-footer .footer-bottom a{color:#a9bac5;text-decoration:none}

/* Media imported from the former site */
.media-showcase{background:#0a2639}.media-showcase .media-gallery figure,.media-feature-image{border:1px solid #365064}

@media(max-width:1160px){
  .site-search{display:none}.public-service-grid{grid-template-columns:repeat(2,1fr)}.scope-grid,.line-service-directory{grid-template-columns:repeat(2,1fr)}.region-directory{grid-template-columns:1fr 1fr}.property-type-grid{grid-template-columns:1fr 1fr}.directory-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
  .container{width:min(calc(100% - 34px),1280px)}.identity-row{min-height:84px}.identity-tools{gap:10px}.notice-action{display:none}.main-nav{top:84px}.nav-shell{border-bottom:4px solid var(--cpis-gold)}.mega-menu{padding-bottom:18px}.mega-menu .mega-footer{position:static;margin-top:8px}.public-alert-inner{align-items:flex-start;padding:10px 0;flex-wrap:wrap}.public-alert-inner a{margin-left:0}.hero-grid,.page-hero-grid{grid-template-columns:1fr;gap:34px}.hero-copy{padding-left:22px}.partnership-grid,.contact-layout{grid-template-columns:1fr;gap:34px}.tall-poster{justify-self:start;max-width:520px}.sticky-video{position:static}.authority-note{grid-template-columns:1fr}.authority-compare-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .gov-utility-inner{padding:8px 0;flex-direction:column;align-items:flex-start;gap:4px}.gov-utility-id span{display:none}.gov-utility-links{gap:12px;flex-wrap:wrap}.gov-utility-links a:last-child{display:none}.identity-row{min-height:76px}.brand-copy strong{font-size:1rem}.brand-copy span{display:none}.brand-seal{width:52px;height:52px}.custom-logo-link img{max-height:56px}.main-nav{top:76px}.hero-grid{padding:48px 0 55px}.hero-copy{border-left-width:4px;padding-left:17px}.hero h1,.page-hero h1{font-size:2.45rem}.public-service-grid,.directory-grid,.scope-grid,.line-service-directory,.region-directory,.property-type-grid,.notice-task-grid,.contact-cards{grid-template-columns:1fr}.public-service-grid a,.directory-grid>a{min-height:auto}.scope-item,.line-service-directory a{min-height:auto}.program-grid{gap:35px}.partnership-grid{gap:28px}.poster-frame{padding:6px}.authority-compare-grid article{padding:24px}.footer-service-inner{padding:28px 0;flex-direction:column;align-items:flex-start}.footer-service-inner>a{width:100%;text-align:center}.public-footer .footer-grid{padding-bottom:20px}.contact-online{padding:20px}
}
.brand-logo-link,.brand-copy-link{text-decoration:none;color:inherit}.brand-logo-link{display:flex;align-items:center}.brand-logo-link img{display:block;max-height:76px;width:auto}.brand-copy-link:hover strong{color:#174e73}
@media(max-width:700px){.brand-logo-link img{max-height:56px}}

/* Easy editor / featured-image additions v2.1 */
.page-hero{position:relative;isolation:isolate;background-image:linear-gradient(92deg,rgba(3,18,31,.98) 0%,rgba(3,18,31,.92) 52%,rgba(3,18,31,.72) 100%),var(--cpis-page-photo,linear-gradient(105deg,#071c2e,#0b395b));background-size:cover;background-position:center}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0 78%,rgba(0,0,0,.16));z-index:-1;pointer-events:none}
.editable-page-content{background:#fff}
.editable-content-wrap{max-width:1040px}
.editable-content-wrap> :first-child{margin-top:0}
.editable-content-wrap h2{font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.15;color:var(--cpis-navy);margin:2.25rem 0 .8rem}
.editable-content-wrap h3{font-size:1.35rem;color:var(--cpis-navy);margin:1.8rem 0 .6rem}
.editable-content-wrap p,.editable-content-wrap li{font-size:1.03rem}
.editable-content-wrap .wp-block-image img{border-radius:3px}
.editable-content-wrap .wp-block-cover{border-radius:3px;overflow:hidden}
.editable-content-wrap .wp-block-button__link{border-radius:3px;font-weight:800}

/* v2.2 Weekly permit actions */
.btn-permit{background:var(--cpis-gold);color:#071a29;border:1px solid var(--cpis-gold)}
.btn-permit:hover{background:#e0bb4e;color:#071a29}
.btn-permit-dark{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:850;background:#0a2639;color:#fff;border:2px solid var(--cpis-gold);padding:12px 18px;min-height:46px}
.btn-permit-dark:hover{background:#12384f;color:#fff}
.weekly-permit-nav{border-left:4px solid var(--cpis-gold)!important;background:#fffaf0}
.mobile-only-action.mobile-permit{background:#d0a62f!important;color:#071a29!important;font-weight:900}
.quick-card.weekly-quick{background:#fffaf0;border-top-color:var(--cpis-gold)}
.three-task-grid{grid-template-columns:repeat(3,1fr)}
.notice-task-card.permit-card{border-top-color:var(--cpis-gold);background:#fffdf7}
.weekly-permit-callout{border-left:6px solid var(--cpis-gold);background:#fffaf0;padding:22px 24px;margin:24px 0 28px}
.weekly-permit-callout>span{font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#6b5a20}
.weekly-permit-callout h3{margin:8px 0 7px;color:var(--cpis-navy)}
.weekly-permit-callout p{margin:0 0 16px;color:var(--cpis-muted)}
.weekly-permit-section{padding-top:34px;padding-bottom:34px;background:#fffaf0;border-top:1px solid #e6d9ad;border-bottom:1px solid #e6d9ad}
.weekly-permit-band{display:flex;align-items:center;justify-content:space-between;gap:30px}
.weekly-permit-band h2{margin-bottom:8px}.weekly-permit-band p{max-width:820px;margin:0;color:var(--cpis-muted)}
@media(max-width:980px){.quick-grid.six-up{grid-template-columns:repeat(3,1fr)}.three-task-grid{grid-template-columns:1fr}.weekly-permit-band{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.quick-grid.six-up{grid-template-columns:1fr}.weekly-permit-band .btn-permit-dark{width:100%}}


/* =========================================================
   CPIS v2.4 — YRP-inspired public-service flow
   Structural inspiration only; CPIS branding remains distinct.
   ========================================================= */
:root{
  --yrp-navy:#082f4f;
  --yrp-navy-dark:#041f35;
  --yrp-blue:#0c4f7c;
  --yrp-blue-light:#eaf2f7;
  --yrp-red:#b3202a;
  --yrp-gold:#d4aa37;
  --yrp-ink:#162633;
  --yrp-muted:#5b6975;
  --yrp-line:#d8e0e5;
  --yrp-soft:#f3f6f8;
}
body{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;color:var(--yrp-ink);background:#fff}
.container{width:min(calc(100% - 48px),1320px)}
.section{padding:72px 0}
.section h2,.yrp-flow-home h2{letter-spacing:-.025em}
.section-kicker,.yrp-home-kicker{font-size:.76rem;line-height:1.2;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--yrp-blue)}

/* Header */
.yrp-utility-bar{background:var(--yrp-navy-dark);color:#fff;font-size:.78rem}
.yrp-utility-inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.yrp-utility-primary,.yrp-utility-contact{display:flex;gap:12px;align-items:center}
.yrp-utility-primary span,.yrp-utility-contact span{color:#c7d5df}
.yrp-utility-contact a{color:#fff;font-weight:700;text-decoration:none}
.yrp-utility-contact a:hover{text-decoration:underline}
.yrp-inspired-header{background:#fff;position:sticky;top:0;z-index:90;border-bottom:0;box-shadow:0 1px 8px rgba(0,30,50,.12)}
.yrp-brand-row{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.yrp-brand .brand-seal{width:72px;height:76px;background:#fff;border:2px solid var(--yrp-navy);border-radius:2px 2px 18px 18px;display:grid;place-items:center;color:var(--yrp-navy);font-weight:900;box-shadow:inset 0 -6px 0 var(--yrp-gold)}
.yrp-brand .brand-copy strong{font-size:1.42rem;color:var(--yrp-navy);font-weight:800}
.yrp-brand .brand-copy span{color:#617384;font-weight:700;letter-spacing:.115em;font-size:.72rem}
.yrp-header-tools{display:grid;grid-template-columns:auto auto;align-items:end;gap:12px 24px}
.yrp-top-links{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:22px;font-size:.79rem}
.yrp-top-links a{color:#364b5c;text-decoration:none;font-weight:700}
.yrp-top-links a:hover{text-decoration:underline}
.yrp-search{display:grid;grid-template-columns:minmax(260px,390px) auto;border:1px solid #aebbc4;border-radius:2px;overflow:hidden;height:44px}
.yrp-search input{border:0;padding:0 14px;min-width:0;outline:0}
.yrp-search button{border:0;background:var(--yrp-navy);color:#fff;padding:0 18px;font-weight:800;cursor:pointer}
.yrp-search button:hover{background:var(--yrp-blue)}
.yrp-nav-shell{background:var(--yrp-navy);border-bottom:4px solid var(--yrp-red)}
.yrp-main-nav{min-height:54px;display:flex;align-items:stretch;position:relative;gap:0}
.yrp-main-nav>a,.yrp-main-nav>.nav-item>.nav-link{font-size:.9rem;font-weight:800;padding:0 17px;color:#fff}
.yrp-main-nav>a:hover,.yrp-main-nav>.nav-item>.nav-link:hover,.yrp-main-nav>.nav-item.is-open>.nav-link{background:#0e476e}
.yrp-nav-actions{margin-left:auto;display:flex;align-items:stretch}
.yrp-nav-action{display:flex!important;align-items:center!important;padding:0 17px!important;text-decoration:none!important;font-size:.82rem!important;font-weight:900!important}
.yrp-nav-action.dispute{background:#fff!important;color:var(--yrp-navy)!important;border-left:1px solid rgba(255,255,255,.3)}
.yrp-nav-action.pay{background:var(--yrp-red)!important;color:#fff!important}
.yrp-nav-action:hover{filter:brightness(.94)}
.yrp-main-nav .mega-menu{border-top:5px solid var(--yrp-red);border-radius:0;box-shadow:0 18px 40px rgba(0,24,42,.2)}
.yrp-main-nav .mega-heading{color:var(--yrp-navy)}
.yrp-public-service-strip{background:#eef3f6;border-bottom:1px solid #d2dce2}
.yrp-public-service-strip-inner{display:grid;grid-template-columns:repeat(4,1fr)}
.yrp-public-service-strip a{min-height:68px;padding:13px 20px;border-right:1px solid #d2dce2;text-decoration:none;color:var(--yrp-ink);display:flex;flex-direction:column;justify-content:center}
.yrp-public-service-strip a:first-child{border-left:1px solid #d2dce2}
.yrp-public-service-strip strong{font-size:.88rem;color:var(--yrp-navy)}
.yrp-public-service-strip span{font-size:.72rem;color:#667581;margin-top:2px}
.yrp-public-service-strip a:hover{background:#fff;box-shadow:inset 0 -4px 0 var(--yrp-red)}

/* Homepage — YRP-like service first architecture */
.yrp-home-intro{padding:62px 0 28px;background:#fff}
.yrp-home-heading-row{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:10px}
.yrp-home-heading-row h1{font-size:clamp(2.35rem,4vw,4.05rem);line-height:1.03;letter-spacing:-.045em;color:var(--yrp-navy);margin:0 0 15px;max-width:870px}
.yrp-home-heading-row p{font-size:1.05rem;line-height:1.62;color:var(--yrp-muted);max-width:850px;margin:0}
.yrp-text-action,.yrp-section-title-row>a{font-weight:800;color:var(--yrp-blue);text-decoration:none;white-space:nowrap;border-bottom:2px solid var(--yrp-blue);padding-bottom:2px}
.yrp-text-action:hover,.yrp-section-title-row>a:hover{color:var(--yrp-red);border-color:var(--yrp-red)}
.yrp-primary-services{padding:0 0 68px;background:#fff}
.yrp-service-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.yrp-service-card{background:#fff;border:1px solid var(--yrp-line);text-decoration:none;color:var(--yrp-ink);box-shadow:0 5px 14px rgba(11,49,77,.08);transition:transform .18s ease,box-shadow .18s ease}
.yrp-service-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(11,49,77,.14);color:var(--yrp-ink)}
.yrp-service-image{aspect-ratio:16/10;background-size:cover;background-position:center;position:relative;overflow:hidden}
.yrp-service-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,31,52,.2))}
.yrp-service-card-copy{padding:20px 19px 22px;min-height:220px;display:flex;flex-direction:column}
.yrp-service-card-copy>span{font-size:.67rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:#687985}
.yrp-service-card-copy h2{font-size:1.2rem;line-height:1.18;color:var(--yrp-navy);margin:10px 0 9px}
.yrp-service-card-copy p{font-size:.84rem;line-height:1.5;color:var(--yrp-muted);margin:0 0 18px}
.yrp-service-card-copy b{margin-top:auto;color:var(--yrp-blue);font-size:.82rem}
.yrp-service-card.red-action{border-top:5px solid var(--yrp-red)}
.yrp-service-card.gold-action{border-top:5px solid var(--yrp-gold)}
.yrp-metrics-band{background:var(--yrp-navy);color:#fff;border-top:1px solid #123e5d;border-bottom:1px solid #123e5d}
.yrp-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.yrp-metrics-grid>div{padding:32px 30px;border-right:1px solid rgba(255,255,255,.2);min-height:118px}
.yrp-metrics-grid>div:first-child{border-left:1px solid rgba(255,255,255,.2)}
.yrp-metrics-grid strong{font-size:1.42rem;display:block;margin-bottom:5px}
.yrp-metrics-grid span{font-size:.79rem;color:#cbd9e3}
.yrp-section-title-row{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.yrp-section-title-row h2{font-size:clamp(2rem,3.2vw,3rem);color:var(--yrp-navy);margin:7px 0 0}
.yrp-featured-programs{background:#fff}
.yrp-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.yrp-feature-card{border:1px solid var(--yrp-line);background:#fff}
.yrp-feature-media{aspect-ratio:16/9;background-size:cover;background-position:center}
.yrp-feature-media.passport-feature{background-position:center 38%}
.yrp-feature-copy{padding:24px 24px 26px}
.yrp-feature-copy h3{font-size:1.32rem;line-height:1.2;color:var(--yrp-navy);margin:0 0 10px}
.yrp-feature-copy p{font-size:.9rem;color:var(--yrp-muted);margin:0 0 17px}
.yrp-feature-copy a{font-size:.84rem;font-weight:800;text-decoration:none;color:var(--yrp-blue)}
.yrp-services-directory-section{background:var(--yrp-soft);border-top:1px solid #e1e7eb;border-bottom:1px solid #e1e7eb}
.yrp-link-directory{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cdd8df;border-left:1px solid #cdd8df;background:#fff}
.yrp-link-directory>a{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 26px;border-right:1px solid #cdd8df;border-bottom:1px solid #cdd8df;text-decoration:none;color:var(--yrp-ink);min-height:150px}
.yrp-link-directory>a:hover{background:#f7fafb;box-shadow:inset 5px 0 0 var(--yrp-red)}
.yrp-link-directory h3{font-size:1.12rem;color:var(--yrp-navy);margin:0 0 7px}
.yrp-link-directory p{font-size:.84rem;color:var(--yrp-muted);margin:0;max-width:520px}
.yrp-link-directory>a>span{font-size:1.35rem;color:var(--yrp-blue)}
.yrp-program-callout{background:linear-gradient(110deg,#062a46,#0a4268);color:#fff;padding:74px 0}
.yrp-program-callout-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}
.yrp-program-callout h2{font-size:clamp(2.1rem,3.5vw,3.3rem);line-height:1.05;margin:9px 0 18px;max-width:720px}
.yrp-program-callout p{color:#d3e1ea;max-width:760px}
.yrp-program-points{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.25);border-left:1px solid rgba(255,255,255,.25)}
.yrp-program-points>div{padding:22px;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);min-height:160px}
.yrp-program-points span{font-size:.68rem;font-weight:900;letter-spacing:.12em;color:#f2cf70}
.yrp-program-points strong{display:block;font-size:1.04rem;margin:8px 0 5px}
.yrp-program-points p{font-size:.8rem;line-height:1.45;margin:0;color:#c9dae5}
.yrp-help-section{background:#fff}
.yrp-help-section> .container>h2{font-size:clamp(2rem,3.2vw,3rem);color:var(--yrp-navy);margin:7px 0 28px}
.yrp-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.yrp-help-grid>a{border:1px solid var(--yrp-line);padding:27px 28px;text-decoration:none;color:var(--yrp-ink);min-height:190px;position:relative}
.yrp-help-grid>a:hover{background:var(--yrp-soft);box-shadow:inset 5px 0 0 var(--yrp-blue)}
.yrp-help-grid h3{font-size:1.18rem;color:var(--yrp-navy);margin:0 0 8px}
.yrp-help-grid p{font-size:.9rem;color:var(--yrp-muted);margin:0 0 20px}
.yrp-help-grid span{font-size:.84rem;color:var(--yrp-blue);font-weight:800}
.yrp-contact-band{background:#071f32;color:#fff;padding:58px 0;border-top:5px solid var(--yrp-red)}
.yrp-contact-band-grid{display:flex;align-items:center;justify-content:space-between;gap:45px}
.yrp-contact-band h2{font-size:2rem;margin:7px 0 12px}
.yrp-contact-band p{margin:0;color:#d0dee7}

/* Inner pages — consistent YRP-style split hero with equal image proportions */
.page-hero{color:var(--yrp-ink)!important;border-bottom:1px solid var(--yrp-line)!important;background-color:#fff!important;background-image:linear-gradient(90deg,#fff 0%,#fff 51%,rgba(255,255,255,0) 51%,rgba(255,255,255,0) 100%),var(--cpis-page-photo,linear-gradient(135deg,#123f61,#071f34))!important;background-size:100% 100%,49% 100%!important;background-position:center,right center!important;background-repeat:no-repeat!important;min-height:390px}
.page-hero:before,.page-hero:after{display:none!important}
.page-hero-grid{min-height:390px!important;padding:52px 0!important;display:grid!important;grid-template-columns:46% 1fr!important;gap:8%!important;align-items:center!important}
.page-hero-grid>div:first-child{grid-column:1!important}
.page-hero-callout,.zero-program-card{display:none!important}
.page-hero .eyebrow{color:var(--yrp-blue)!important;font-size:.72rem!important}
.page-hero h1{color:var(--yrp-navy)!important;font-size:clamp(2.45rem,4vw,3.9rem)!important;line-height:1.02!important;margin:8px 0 17px!important}
.page-hero p{color:var(--yrp-muted)!important;font-size:1rem!important;line-height:1.58!important;margin:0!important}
.page-hero .breadcrumbs{color:#6a7882!important;margin-bottom:15px!important}
.page-hero .breadcrumbs a{color:var(--yrp-blue)!important}
.page-hero .breadcrumbs span:last-child{color:#6a7882!important}
.page-hero .hero-actions{margin-top:23px}
.page-hero .btn-outline-light{color:var(--yrp-navy)!important;border-color:var(--yrp-navy)!important;background:#fff!important}
.page-hero .btn-gold{background:var(--yrp-navy)!important;border-color:var(--yrp-navy)!important;color:#fff!important}
.service-overview-grid,.two-col{gap:60px}
.entry-content,.service-public-page .section p{font-size:.98rem}
.scope-grid{border-color:var(--yrp-line)}
.process-section{background:var(--yrp-navy)!important}
.authority-band,.public-authority-band{background:var(--yrp-navy)!important}

.media-showcase{display:none!important}

/* Footer */
.public-footer{background:#061b2b}
.footer-service-bar{background:#0c3d60;border-top:0}
.footer-lower{background:#03131f}

@media (max-width:1120px){
  .yrp-service-cards{grid-template-columns:repeat(3,1fr)}
  .yrp-service-card:nth-child(4),.yrp-service-card:nth-child(5){grid-column:auto}
  .yrp-main-nav>a,.yrp-main-nav>.nav-item>.nav-link{padding:0 10px;font-size:.82rem}
  .yrp-nav-actions{display:none}
  .yrp-header-tools{grid-template-columns:1fr auto}
}
@media (max-width:900px){
  .yrp-utility-inner{padding:8px 0;align-items:flex-start;flex-direction:column;gap:4px}
  .yrp-brand-row{min-height:86px}
  .yrp-top-links,.yrp-search{display:none}
  .yrp-header-tools{display:block}
  .menu-toggle{display:block}
  .yrp-main-nav{display:none;position:absolute;left:0;right:0;top:86px;background:var(--yrp-navy);padding:10px 18px 18px;box-shadow:0 18px 35px rgba(0,25,43,.24);max-height:calc(100vh - 130px);overflow:auto}
  .yrp-main-nav.is-open{display:block}
  .yrp-main-nav>a,.yrp-main-nav>.nav-item>.nav-link{display:flex;width:100%;min-height:46px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.12)}
  .yrp-main-nav .nav-item{display:block}
  .yrp-main-nav .submenu{position:static!important;box-shadow:none!important;border:0!important;min-width:0!important;width:100%!important}
  .yrp-public-service-strip-inner{grid-template-columns:1fr 1fr}
  .yrp-public-service-strip a:nth-child(2){border-right:0}
  .yrp-service-cards{grid-template-columns:1fr 1fr}
  .yrp-feature-grid{grid-template-columns:1fr}
  .yrp-feature-card{display:grid;grid-template-columns:40% 60%}
  .yrp-feature-media{aspect-ratio:auto;min-height:240px}
  .yrp-program-callout-grid{grid-template-columns:1fr;gap:40px}
  .page-hero{background-image:none!important;min-height:auto!important;background:#fff!important}
  .page-hero-grid{grid-template-columns:1fr!important;min-height:auto!important;padding:46px 0!important}
  .yrp-contact-band-grid{align-items:flex-start;flex-direction:column}
}
@media (max-width:640px){
  .container{width:min(calc(100% - 32px),1320px)}
  .yrp-utility-primary span,.yrp-utility-contact span{display:none}
  .yrp-brand .brand-copy strong{font-size:1rem}
  .yrp-brand .brand-copy span{display:none}
  .yrp-brand .brand-seal{width:54px;height:57px}
  .yrp-public-service-strip{display:none}
  .yrp-home-intro{padding-top:42px}
  .yrp-home-heading-row{align-items:flex-start;flex-direction:column;gap:16px}
  .yrp-home-heading-row h1{font-size:2.45rem}
  .yrp-service-cards{grid-template-columns:1fr}
  .yrp-service-card{display:grid;grid-template-columns:38% 62%}
  .yrp-service-image{aspect-ratio:auto;min-height:190px}
  .yrp-service-card-copy{min-height:190px;padding:18px}
  .yrp-service-card-copy h2{font-size:1.08rem}
  .yrp-metrics-grid{grid-template-columns:1fr 1fr}
  .yrp-metrics-grid>div{padding:22px 18px;min-height:100px;border-bottom:1px solid rgba(255,255,255,.2)}
  .yrp-metrics-grid strong{font-size:1.1rem}
  .yrp-section-title-row{align-items:flex-start;flex-direction:column;gap:12px}
  .yrp-feature-card{display:block}
  .yrp-feature-media{min-height:220px}
  .yrp-link-directory,.yrp-help-grid{grid-template-columns:1fr}
  .yrp-link-directory>a{min-height:auto;padding:21px}
  .yrp-program-points{grid-template-columns:1fr}
  .yrp-contact-band .button-row{display:grid;width:100%}
}

/* v2.4.1 — larger YRP-style image cards + public forms */
.yrp-service-cards.six-cards{grid-template-columns:repeat(3,1fr);gap:24px}
.yrp-service-card .yrp-service-image{aspect-ratio:16/9}
.yrp-service-card-copy{min-height:205px;padding:22px 23px 24px}
.yrp-service-card.consultation-action{border-top:5px solid var(--yrp-blue)}
.yrp-help-grid{grid-template-columns:repeat(3,1fr)}
.yrp-help-grid>a{min-height:205px}
.contact-service-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

.yrp-two-column-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:60px;align-items:start}
.yrp-two-column-intro h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.08;color:var(--yrp-navy);margin:8px 0 18px}
.yrp-two-column-intro>div>p{font-size:1rem;line-height:1.65;color:var(--yrp-muted);max-width:840px}
.yrp-info-panel{border-top:6px solid var(--yrp-red);background:var(--yrp-soft);padding:28px 30px}
.yrp-info-panel h3{font-size:1.28rem;color:var(--yrp-navy);margin:0 0 15px}
.yrp-info-panel ul{margin:0;padding-left:20px}.yrp-info-panel li{margin:0 0 10px;color:#435462;line-height:1.48}
.form-page-heading{max-width:900px;margin-bottom:30px}.form-page-heading h2{font-size:clamp(2rem,3.1vw,2.9rem);color:var(--yrp-navy);margin:8px 0 12px}.form-page-heading p{color:var(--yrp-muted);margin:0}
.cpis-public-form{background:#fff;border:1px solid var(--yrp-line);box-shadow:0 8px 22px rgba(9,45,70,.07);padding:34px;max-width:1100px}
.cpis-public-form fieldset{border:0;border-top:1px solid var(--yrp-line);padding:28px 0 0;margin:0 0 28px}
.cpis-public-form fieldset:first-of-type{border-top:0;padding-top:0}
.cpis-public-form legend{font-size:1.28rem;font-weight:900;color:var(--yrp-navy);padding:0;margin:0 0 20px;width:100%}
.form-grid.two-col-form{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.cpis-public-form label{display:flex;flex-direction:column;gap:8px;font-weight:800;color:#243a4a;font-size:.9rem}
.cpis-public-form label>span,.resume-upload>span{color:var(--yrp-red)}
.cpis-public-form input[type=text],.cpis-public-form input[type=email],.cpis-public-form input[type=tel],.cpis-public-form input[type=date],.cpis-public-form select,.cpis-public-form textarea{width:100%;border:1px solid #9aaab5;border-radius:2px;background:#fff;color:#132b3d;padding:12px 13px;font:inherit;font-weight:500;min-height:47px}
.cpis-public-form textarea{min-height:125px;resize:vertical;line-height:1.5}
.cpis-public-form input:focus,.cpis-public-form select:focus,.cpis-public-form textarea:focus{outline:3px solid rgba(12,79,124,.18);border-color:var(--yrp-blue)}
.full-field{margin-top:22px}
.resume-upload{border:2px dashed #aebbc4;background:#f7fafb;padding:24px}
.resume-upload input[type=file]{font-weight:500;padding:10px 0}.resume-upload small{font-weight:500;color:var(--yrp-muted)}
.check-grid.service-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.service-check-grid label,.consent-check{flex-direction:row;align-items:flex-start!important;gap:10px!important;font-weight:600!important;background:#f7fafb;border:1px solid #dbe3e8;padding:13px 14px}
.service-check-grid input,.consent-check input{margin-top:3px;flex:0 0 auto}
.service-check-grid span,.consent-check span{color:#314959!important}
.form-submit-row{display:flex;align-items:center;gap:22px;justify-content:space-between;border-top:1px solid var(--yrp-line);padding-top:24px}
.form-submit-row p{font-size:.78rem;color:var(--yrp-muted);margin:0;max-width:520px}
.form-submit-btn{min-width:240px}
.cpis-honeypot{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status-section{padding-top:32px;padding-bottom:0}.form-status{border-left:6px solid var(--yrp-blue);background:#edf6fb;padding:22px 25px;max-width:1050px}.form-status strong{display:block;font-size:1.1rem;color:var(--yrp-navy);margin-bottom:5px}.form-status p{margin:0;color:#455966}.form-status.error{border-left-color:var(--yrp-red);background:#fff1f2}
.careers-page-hero,.consultation-page-hero{--cpis-page-photo:linear-gradient(135deg,#174f76,#071f34)}

@media(max-width:1120px){
  .yrp-service-cards.six-cards{grid-template-columns:repeat(2,1fr)}
  .yrp-help-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .yrp-two-column-intro{grid-template-columns:1fr;gap:32px}
  .form-grid.two-col-form,.check-grid.service-check-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .yrp-service-cards.six-cards{grid-template-columns:1fr}
  .yrp-help-grid{grid-template-columns:1fr}
  .cpis-public-form{padding:22px 18px}
  .form-submit-row{align-items:stretch;flex-direction:column}.form-submit-btn{width:100%;min-width:0}
}


/* v2.7 — fitted homepage imagery + capability flipbook */
.yrp-service-image{background-size:cover;background-position:center center;background-repeat:no-repeat;background-color:#e8edf1}
.yrp-feature-media{background-size:cover;background-position:center center;background-repeat:no-repeat}
.passport-hero-logo a,.poster-frame a{display:block}
.passport-hero-logo img{object-fit:contain;max-height:220px}

.cpis-sales-home-section{background:#f4f6f8;border-top:1px solid var(--cpis-border);border-bottom:1px solid var(--cpis-border)}
.cpis-sales-home-grid{display:grid;grid-template-columns:minmax(240px,330px) 1fr;gap:46px;align-items:center}
.cpis-sales-cover{display:block;background:#071a29;padding:12px;box-shadow:var(--cpis-shadow-soft)}
.cpis-sales-cover img{display:block;width:100%;aspect-ratio:8.5/11;object-fit:cover}
.cpis-sales-home-copy h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08;margin:.5rem 0 1rem;color:var(--cpis-navy)}
.cpis-sales-home-copy p{font-size:1.05rem;max-width:760px;color:var(--cpis-muted)}

.sales-page-hero .sales-cover-callout{background:#fff;padding:14px;box-shadow:var(--cpis-shadow)}
.sales-page-hero .sales-cover-callout img{display:block;width:100%;max-height:430px;object-fit:contain}
.sales-intro-section{background:#fff}
.flipbook-section{padding:70px 0;background:linear-gradient(145deg,#061725,#0d3451);color:#fff}
.flipbook-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:26px}
.flipbook-heading h2{font-size:clamp(2rem,4vw,3rem);margin:.35rem 0 .5rem;color:#fff}
.flipbook-heading p{margin:0;color:#d5e0e7}
.cpis-flipbook{max-width:1120px;margin:0 auto}
.cpis-book-stage{background:#020b12;padding:26px;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 60px rgba(0,0,0,.35)}
.cpis-book-spread{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;align-items:center;min-height:560px}
.cpis-book-spread.is-cover{grid-template-columns:1fr}
.cpis-book-page-wrap{border:0;padding:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:0}
.cpis-book-page-wrap[hidden]{display:none!important}
.cpis-book-page{display:block;max-width:100%;width:auto;height:min(70vh,720px);object-fit:contain;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.cpis-book-spine{position:absolute;left:50%;top:3%;bottom:3%;width:2px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.25),transparent);transform:translateX(-1px)}
.cpis-book-spread.is-cover .cpis-book-spine{display:none}
.cpis-book-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:20px}
.cpis-book-controls button{border:1px solid rgba(255,255,255,.32);background:#fff;color:#092239;padding:12px 20px;font-weight:800;cursor:pointer}
.cpis-book-controls button:disabled{opacity:.42;cursor:not-allowed}
.cpis-book-position{min-width:190px;text-align:center;font-weight:700;color:#eaf1f5}
.cpis-book-jump{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:15px;color:#d5e0e7}
.cpis-book-select{padding:8px 12px}

@media(max-width:800px){
  .cpis-sales-home-grid{grid-template-columns:1fr;gap:28px}.cpis-sales-cover{max-width:280px}
  .flipbook-heading{align-items:start;flex-direction:column}
  .cpis-book-stage{padding:14px}.cpis-book-spread{grid-template-columns:1fr;min-height:0}.cpis-book-spine{display:none}.cpis-book-right{display:none!important}.cpis-book-page{height:auto;max-height:72vh}.cpis-book-controls{gap:10px}.cpis-book-position{min-width:auto;font-size:.85rem}.cpis-book-controls button{padding:10px 12px;font-size:.85rem}
}

.page-logo-mark{display:block;width:min(170px,100%);margin:0 0 18px auto;filter:drop-shadow(0 10px 24px rgba(7,28,46,.12))}
.yrp-info-panel .page-logo-mark{margin-inline:auto}

/* ========================================================================== 
   Smart Alarm Systems & Monitoring — v3.1
   Institutional / public-service visual language with CPIS branding.
   ========================================================================== */
.alarm-page{background:#fff}
.alarm-hero{background:linear-gradient(118deg,#06182b 0%,#0a2e4d 58%,#124c70 100%);position:relative;overflow:hidden}
.alarm-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.alarm-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:64px;align-items:center;min-height:540px;position:relative;z-index:1}
.alarm-hero .breadcrumbs,.alarm-hero .breadcrumbs a,.alarm-hero .eyebrow,.alarm-hero h1,.alarm-hero p{color:#fff}
.alarm-hero .breadcrumbs{opacity:.8}
.alarm-hero h1{max-width:820px;font-size:clamp(2.6rem,5vw,4.7rem);line-height:1.01;letter-spacing:-.04em;margin:.25rem 0 1.1rem}
.alarm-hero p{font-size:1.14rem;max-width:760px;color:#d9e4ed}
.alarm-device-board{background:#fff;border-top:7px solid var(--cpis-red);box-shadow:0 28px 70px rgba(0,0,0,.26);padding:30px;color:var(--cpis-ink)}
.alarm-board-title{display:flex;justify-content:space-between;gap:15px;align-items:end;padding-bottom:22px;border-bottom:1px solid var(--cpis-border)}
.alarm-board-title span{font-size:.75rem;font-weight:800;letter-spacing:.15em;color:var(--cpis-red)}
.alarm-board-title strong{font-size:1.25rem;color:var(--cpis-navy)}
.alarm-device-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}
.alarm-device-grid div{background:#eef3f6;border-left:4px solid var(--cpis-blue);padding:21px 18px;display:flex;flex-direction:column;gap:4px}
.alarm-device-grid b{font-size:1.8rem;color:var(--cpis-navy);line-height:1}.alarm-device-grid span{font-size:.82rem;font-weight:700;color:var(--cpis-muted);text-transform:uppercase;letter-spacing:.07em}
.alarm-device-board>p{font-size:.9rem;margin:0;color:var(--cpis-muted)}

.alarm-benefits-section{padding-top:72px}.alarm-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.alarm-benefit-grid article{border:1px solid var(--cpis-border);border-top:4px solid var(--cpis-navy);padding:28px 25px;background:#fff;box-shadow:var(--cpis-shadow-soft)}
.alarm-benefit-grid h3{margin:16px 0 8px;font-size:1.25rem}.alarm-benefit-grid p{margin:0;color:var(--cpis-muted)}
.alarm-icon{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:42px;padding:0 10px;background:var(--cpis-navy);color:#fff;font-size:.78rem;font-weight:900;letter-spacing:.08em}

.alarm-plan-finder{border-top:1px solid var(--cpis-border);border-bottom:1px solid var(--cpis-border)}
.alarm-plan-finder-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.alarm-plan-finder h2{margin:.2rem 0 .6rem}

.alarm-plans{padding-top:82px}.alarm-plan-global{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 30px;padding:18px 22px;background:#edf3f6;border-left:5px solid var(--cpis-blue);font-size:.94rem}.alarm-plan-global span{padding-right:16px;border-right:1px solid #cbd6dd}.alarm-plan-global span:last-child{border-right:0}
.alarm-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}.alarm-plan-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--cpis-border-dark);padding:30px 27px;box-shadow:var(--cpis-shadow-soft)}
.alarm-plan-card.featured{border-top:7px solid var(--cpis-blue)}.alarm-plan-card.protect{border-top:7px solid var(--cpis-gold);box-shadow:0 22px 54px rgba(7,28,46,.15)}
.alarm-plan-label{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:900;color:var(--cpis-red);margin-bottom:12px}.alarm-plan-card h3{font-size:2rem;margin:0 0 8px;color:var(--cpis-navy)}.alarm-plan-desc{min-height:76px;color:var(--cpis-muted);margin:0 0 20px}
.alarm-price{min-height:54px;font-size:1.45rem;font-weight:900;color:var(--cpis-navy);padding:16px 0;border-top:1px solid var(--cpis-border);border-bottom:1px solid var(--cpis-border);margin-bottom:18px}.alarm-plan-card h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--cpis-navy);margin:26px 0 10px}.alarm-plan-card .check-list{margin:0}.alarm-plan-card .check-list li{font-size:.94rem}.alarm-plan-card>p:not(.alarm-plan-desc){font-size:.94rem;color:var(--cpis-muted)}.alarm-plan-terms{font-size:.85rem;color:var(--cpis-muted);margin:22px 0 0;padding:16px 0;border-top:1px solid var(--cpis-border)}

.alarm-protect-band{background:#071b2d;color:#fff;padding:76px 0}.alarm-protect-band h2{font-size:clamp(2rem,4vw,3.2rem);color:#fff;margin:.3rem 0 32px}.alarm-highlight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.15)}.alarm-highlight-grid>div{background:#0a2d49;padding:28px}.alarm-highlight-grid b{display:inline-block;color:var(--cpis-gold);font-size:1.3rem;margin-bottom:20px}.alarm-highlight-grid h3{color:#fff;margin:0 0 8px}.alarm-highlight-grid p{color:#c8d6e0;margin:0;font-size:.92rem}

.alarm-two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.alarm-analytics-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.alarm-analytics-cards article{padding:28px;background:#eef3f6;border-top:4px solid var(--cpis-blue)}.alarm-analytics-cards h3{margin-top:0}
.alarm-device-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.alarm-device-list>div{background:#fff;border:1px solid var(--cpis-border);padding:25px}.alarm-device-list span{display:inline-block;background:#0b3455;color:#fff;padding:8px 11px;font-weight:900;font-size:.73rem;letter-spacing:.08em}.alarm-device-list h3{margin:16px 0 8px}.alarm-device-list p{margin:0;color:var(--cpis-muted);font-size:.94rem}
.alarm-custom-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:start}.alarm-custom-grid .official-box{position:sticky;top:180px}

.alarm-integrated-section{background:#eef3f6}.alarm-integrated-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}.alarm-integrated-grid article{background:#fff;border-bottom:4px solid var(--cpis-navy);padding:24px}.alarm-integrated-grid h3{margin:0 0 8px}.alarm-integrated-grid p{margin:0;color:var(--cpis-muted);font-size:.93rem}
.alarm-support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.alarm-support-grid article{padding:26px;border:1px solid var(--cpis-border);background:#fff}.alarm-support-grid strong{display:block;color:var(--cpis-red);font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px}.alarm-support-grid h3{margin:.2rem 0 .5rem}

.alarm-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:30px}.alarm-faq-grid details{background:#fff;border:1px solid var(--cpis-border);padding:0}.alarm-faq-grid summary{cursor:pointer;font-weight:800;color:var(--cpis-navy);padding:20px 22px;list-style-position:inside}.alarm-faq-grid details p{padding:0 22px 22px;margin:0;color:var(--cpis-muted)}
.alarm-application-section{padding-bottom:92px}.alarm-addon-grid{margin-top:18px}

@media (max-width:1050px){.alarm-hero-grid{grid-template-columns:1fr;gap:32px;padding-block:60px}.alarm-device-board{max-width:680px}.alarm-benefit-grid,.alarm-highlight-grid{grid-template-columns:1fr 1fr}.alarm-plan-grid{grid-template-columns:1fr}.alarm-plan-card .alarm-plan-desc{min-height:0}.alarm-device-list{grid-template-columns:1fr 1fr}.alarm-two-col,.alarm-custom-grid{grid-template-columns:1fr}.alarm-custom-grid .official-box{position:static}.alarm-integrated-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.alarm-hero-grid{min-height:auto}.alarm-hero h1{font-size:2.5rem}.alarm-device-grid,.alarm-benefit-grid,.alarm-highlight-grid,.alarm-device-list,.alarm-analytics-cards,.alarm-integrated-grid,.alarm-support-grid,.alarm-faq-grid{grid-template-columns:1fr}.alarm-plan-finder-grid{grid-template-columns:1fr}.alarm-plan-global{display:block}.alarm-plan-global span{display:block;border-right:0;border-bottom:1px solid #cbd6dd;padding:9px 0}.alarm-plan-global span:last-child{border-bottom:0}.alarm-plan-card{padding:25px 21px}}


/* Smart alarm CPIS-branded visuals */
.alarm-hero-media{display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:center}
.alarm-hero-visual{background:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 60px rgba(0,0,0,.18);overflow:hidden}
.alarm-hero-visual img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.alarm-image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.alarm-image-card{background:#fff;border:1px solid var(--cpis-border-dark);box-shadow:var(--cpis-shadow-soft);overflow:hidden}
.alarm-image-card img{display:block;width:100%;height:220px;object-fit:cover}
.alarm-image-card .copy{padding:22px}
.alarm-image-card h3{margin:0 0 8px;font-size:1.12rem}
.alarm-image-card p{margin:0;color:var(--cpis-muted);font-size:.94rem}
.alarm-image-card strong{display:block;color:var(--cpis-red);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.alarm-devices-visual{margin-top:26px;background:#fff;border:1px solid var(--cpis-border);padding:18px;box-shadow:var(--cpis-shadow-soft)}
.alarm-devices-visual img{display:block;width:100%;height:auto}
.alarm-video-section{background:#eef3f6}
.alarm-video-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:start}
.alarm-video-embed{background:#071b2d;padding:18px;box-shadow:var(--cpis-shadow-soft)}
.alarm-video-embed iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
.alarm-video-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.alarm-video-links a{display:block;background:#fff;border:1px solid var(--cpis-border);padding:22px;text-decoration:none;color:inherit;box-shadow:var(--cpis-shadow-soft)}
.alarm-video-links strong{display:block;color:var(--cpis-red);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.alarm-video-links h3{margin:0 0 8px;font-size:1.05rem;color:var(--cpis-navy)}
.alarm-video-links p{margin:0;color:var(--cpis-muted);font-size:.93rem}
@media (max-width:1050px){.alarm-hero-media,.alarm-video-grid{grid-template-columns:1fr}.alarm-image-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.alarm-image-grid,.alarm-video-links{grid-template-columns:1fr}.alarm-image-card img{height:200px}}


/* Smart alarm v3.4 media package */
.alarm-partner-band{background:#eef3f6;border-top:1px solid rgba(8,31,49,.08);border-bottom:1px solid rgba(8,31,49,.08)}
.alarm-partner-band .partner-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.alarm-partner-band img{display:block;max-width:100%;height:auto;background:#fff;padding:14px;border:1px solid var(--cpis-border);box-shadow:var(--cpis-shadow-soft)}
.alarm-media-showcase{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch}
.alarm-feature-stack{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.alarm-photo-card{background:#fff;border:1px solid var(--cpis-border);box-shadow:var(--cpis-shadow-soft);overflow:hidden}
.alarm-photo-card img{display:block;width:100%;height:100%;min-height:235px;object-fit:cover}
.alarm-photo-card .copy{padding:20px}
.alarm-photo-card .eyebrow-sm{display:block;margin:0 0 8px;color:var(--cpis-red);font-size:.76rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.alarm-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.alarm-product-card{background:#fff;border:1px solid var(--cpis-border);box-shadow:var(--cpis-shadow-soft);padding:28px}
.alarm-product-card img{display:block;max-width:100%;height:auto;margin:0 auto}
.alarm-video-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.alarm-video-card{background:#fff;border:1px solid var(--cpis-border);box-shadow:var(--cpis-shadow-soft);overflow:hidden}
.alarm-video-card video{display:block;width:100%;height:220px;object-fit:cover;background:#000}
.alarm-video-card .copy{padding:20px}
.alarm-video-card h3,.alarm-photo-card h3,.alarm-product-card h3{margin-top:0}
.alarm-cta-inline{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.alarm-mini-list{margin:18px 0 0;padding-left:18px;color:var(--cpis-muted)}
.alarm-mini-list li{margin:0 0 8px}
@media (max-width:1050px){.alarm-partner-band .partner-grid,.alarm-media-showcase,.alarm-product-grid{grid-template-columns:1fr}.alarm-video-cards{grid-template-columns:1fr}.alarm-feature-stack{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.alarm-feature-stack{grid-template-columns:1fr}}


/* Smart alarm authorized dealer badge */
.alarm-badge-panel{margin-top:22px;background:#f5f8fa;border:1px solid var(--cpis-border);box-shadow:var(--cpis-shadow-soft);padding:18px;border-radius:4px}
.alarm-badge-panel img{display:block;max-width:320px;width:100%;height:auto;margin:0 0 14px}
.alarm-badge-panel h3{margin:0 0 8px;font-size:1.05rem;color:var(--cpis-navy)}
.alarm-badge-panel p{margin:0;color:var(--cpis-muted)}


/* Smart alarm camera portfolio */
.alarm-camera-portfolio{background:#071b2d;color:#fff}
.alarm-camera-portfolio .camera-portfolio-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}
.alarm-camera-portfolio h2{color:#fff;margin:.2rem 0 .7rem}
.alarm-camera-portfolio p{color:#c8d6e0}
.alarm-camera-portfolio .camera-lineup-frame{background:#000;border:1px solid rgba(255,255,255,.14);padding:18px;box-shadow:0 22px 54px rgba(0,0,0,.22)}
.alarm-camera-portfolio .camera-lineup-frame img{display:block;width:100%;height:auto}
.alarm-camera-portfolio .check-list li{color:#e6eef3}
@media (max-width:1050px){.alarm-camera-portfolio .camera-portfolio-grid{grid-template-columns:1fr}}
