/* === announcement =================================================
   Site-wide announcement: first-view modal + session banner.
   Rendered by the `announce` snippet from ClientConfig settings.
   Decision record: docs/pages/announcement-popup.md

   This is the design CSS from design/announcement-popup/ IN FULL — every
   rule, value, media query and keyframe preserved. The only changes are:
     1. the `lkw-` prefix renamed to `ica-announce` (the design is a
        mechanism, not a Lakewood one-off);
     2. two z-index/stacking fixes at the end, marked, because the design
        was authored standalone and the live site header is z-index:1000.
   Append-only: add new rules at the END of this file.
   ================================================================= */
.ica-announce__bar{background:#ffd240;color:#212124;animation:icaAnnounceSlideDown .35s ease-out}
.ica-announce__bar-inner{max-width:1240px;margin:0 auto;padding:10px 56px 10px 24px;display:flex;align-items:center;justify-content:center;gap:10px 18px;flex-wrap:wrap;position:relative;min-height:48px;font-family:'Nunito Sans',system-ui,sans-serif}
.ica-announce__pill{display:inline-flex;align-items:center;gap:8px;font-family:'Catamaran',sans-serif;font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:999px;flex:none}
.ica-announce__pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.ica-announce__bar .ica-announce__pill{background:#1e2d3b;color:#ffd240}
.ica-announce__bar-text{font-size:15.5px;line-height:1.4;font-weight:600;text-align:center}
.ica-announce__bar-link{font-weight:700;font-size:15px;color:#1e2d3b;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.ica-announce__bar-link:hover{color:#0072bc}
.ica-announce__bar-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:none;color:#1e2d3b;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ica-announce__bar-close:hover{background:rgba(30,45,59,.12)}

.ica-announce__overlay{position:fixed;inset:0;z-index:1000;background:rgba(30,45,59,.78);display:flex;align-items:center;justify-content:center;padding:20px;animation:icaAnnounceFadeIn .3s ease-out;font-family:'Nunito Sans',system-ui,sans-serif;color:#212124}
.ica-announce__dialog{position:relative;width:min(920px,100%);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));animation:icaAnnouncePopIn .4s cubic-bezier(.2,.8,.2,1)}
.ica-announce__media{position:relative;background:#1e2d3b;min-height:260px;overflow:hidden}
.ica-announce__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}
.ica-announce__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,45,59,.1) 0%,rgba(30,45,59,.9) 100%)}
.ica-announce__caption{position:absolute;z-index:1;left:28px;right:28px;bottom:26px;display:flex;flex-direction:column;gap:8px}
.ica-announce__media .ica-announce__pill{align-self:flex-start;background:#ffd240;color:#212124;font-size:13px;padding:6px 12px}
.ica-announce__city{font-family:'Catamaran',sans-serif;font-weight:800;font-size:22px;line-height:1.1;color:#fff}
.ica-announce__addr{font-size:14.5px;line-height:1.45;color:#c9d6e2}
.ica-announce__body{padding:40px 36px 34px;display:flex;flex-direction:column;gap:16px}
.ica-announce__eyebrow{font-family:'Catamaran',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#0072bc}
.ica-announce__title{font-family:'Catamaran',sans-serif;font-weight:800;font-size:clamp(30px,3.4vw,40px);line-height:1.02;letter-spacing:-.02em;margin:0;color:#1e2d3b;text-wrap:balance}
.ica-announce__copy{font-size:16.5px;line-height:1.55;color:#495356;margin:0}
.ica-announce__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15.5px;font-weight:600;color:#1e2d3b}
.ica-announce__list li{display:flex;gap:10px;align-items:center}
.ica-announce__list li::before{content:"";width:8px;height:8px;border-radius:50%;background:#0072bc;flex:none}
.ica-announce__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.ica-announce__btn{display:inline-flex;align-items:center;text-decoration:none;font-weight:700;font-size:16px;border-radius:10px;padding:14px 24px}
.ica-announce__btn--primary{background:#0072bc;color:#fff;box-shadow:0 6px 18px rgba(0,114,188,.3)}
.ica-announce__btn--primary:hover{background:#005b96}
.ica-announce__btn--secondary{background:#fff;color:#1e2d3b;border:2px solid #e7e7e7;padding:12px 22px}
.ica-announce__btn--secondary:hover{border-color:#0072bc;color:#0072bc}
.ica-announce__continue{align-self:flex-start;background:none;border:0;padding:4px 0;font:inherit;font-size:14.5px;font-weight:600;color:#495356;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ica-announce__continue:hover{color:#0072bc}
.ica-announce__close{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;background:#ffd240;color:#212124;border:0;font-size:24px;line-height:1;cursor:pointer;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.ica-announce__close:hover{background:#f5c51e}

@keyframes icaAnnounceFadeIn{from{opacity:0}to{opacity:1}}
@keyframes icaAnnouncePopIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes icaAnnounceSlideDown{from{transform:translateY(-100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.ica-announce__bar,.ica-announce__overlay,.ica-announce__dialog{animation:none}}

/* --- integration with the live site header ------------------------
   .ica-nav is position:relative; z-index:1000 (assets/css/mega-menu.css:20)
   and its mobile drawer uses position:fixed inside that stacking context.
   The design assumed no header at all, so its overlay also sat at 1000 and
   would tie with the nav. Raised so the dialog is unambiguously on top, and
   the banner given its own layer so the nav can never paint over it.
   These two rules are the only behavioural change to the design CSS. */
.ica-announce__overlay{z-index:2000}
.ica-announce__bar{position:relative;z-index:1001}

/* === announcement: banner link tap target (appended 2026-10-04, audit L5) ===
   .ica-announce__bar-link is a flex item 22.5px tall (15px x the page's 1.5
   line-height); WCAG 2.5.8 wants 24. Same padding/negative-margin pair as
   footer.css: the border box (the clickable area) grows to 30.5px while the
   margin box the flex line measures stays 22.5px, so the banner height does
   not change at any width. The 10px row gap absorbs the 4px overhang. */
.ica-announce__bar-link{padding:4px 0;margin:-4px 0}
