/* Denver homepage editorial design v2. Scoped to .dp-home to protect other routes. */
body.home .dp-home,body.front-page .dp-home,.dp-home{
  --dp-navy:#0c1d2b;--dp-forest:#213d3a;--dp-gold:#d9b75e;--dp-deep-gold:#8b6b23;
  --dp-ink:#152637;--dp-muted:#526173;--dp-light:#f6f7f6;--dp-border:#dfe5e8;
  width:100%!important;max-width:none!important;overflow:clip;background:#fff;color:var(--dp-ink);
}
.dp-home *{box-sizing:border-box}
.dp-home :is(a,summary,button):focus-visible{outline:3px solid #d2a53c;outline-offset:4px}
.dp-home a{text-underline-offset:3px}
.dp-home p{font-size:16px;line-height:1.67;color:var(--dp-muted)}
.dp-home .dp-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:stretch;min-height:335px;background:radial-gradient(ellipse at 35% 130%,#294a49 0%,transparent 50%),linear-gradient(118deg,#081620,#182f3e 65%,#1e3c3c);margin:0!important;padding:0!important;border-radius:0!important;color:#f7f9f7;overflow:hidden;isolation:isolate}
.dp-home .dp-hero-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(24px,3.7vw,57px) clamp(22px,4.3vw,68px)!important}
.dp-home .dp-hero-kicker{display:inline-flex;gap:8px;align-items:center;font-size:12px;line-height:1.5;color:#e7d8ab;letter-spacing:.13em;text-transform:uppercase;font-weight:700;margin-bottom:12px}
.dp-home .dp-hero-kicker>span{color:#e8c877}
.dp-home .dp-hero h1{font-size:clamp(32px,3.45vw,59px)!important;line-height:1.08!important;letter-spacing:-.04em;max-width:800px;margin:0 0 15px!important;color:#fff!important;font-weight:800!important}
.dp-home .dp-hero h1 span{display:block;color:#f4d58e!important}
.dp-home .dp-hero-copy>p{max-width:750px;margin:0!important;color:#e1e8e9!important;font-size:clamp(16px,1.15vw,18px)!important;line-height:1.65!important}
.dp-home .dp-hero-copy>p strong{color:#fff!important;font-weight:750}
.dp-home .dp-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.dp-home .dp-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:15px;text-align:center;padding:10px 19px;border-radius:8px;text-decoration:none!important;font-size:14px;font-weight:800;line-height:1.3;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.dp-home .dp-btn:hover{transform:translateY(-2px)}
.dp-home .dp-btn-gold{background:linear-gradient(125deg,#f8df97,#d1a841);color:#172731!important;box-shadow:0 5px 18px rgba(0,0,0,.13)}
.dp-home .dp-btn-outline{background:rgba(255,255,255,.065);border:1px solid rgba(234,226,193,.55);color:#f5f3ed!important}
.dp-home .dp-hero-micro{display:flex;flex-wrap:wrap;column-gap:22px;row-gap:7px;margin-top:20px;font-size:11px;color:#cbd8d4;font-weight:650;letter-spacing:.02em}
.dp-home .dp-hero-micro span:before{content:"✓";color:#edd084;font-weight:900;margin-right:6px}

/* Homepage hero feature labels: override the site-wide span ink color.
   Child spans otherwise render dark on the dark teal banner. */
body .home-main.dp-home .dp-hero .dp-hero-micro > span {
  color: #f5f8f6 !important;
  -webkit-text-fill-color: #f5f8f6 !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}
body .home-main.dp-home .dp-hero .dp-hero-micro > span::before {
  color: #f5cb6b !important;
  -webkit-text-fill-color: #f5cb6b !important;
}

.dp-home .dp-hero-visual{position:relative;margin:0;min-height:335px;overflow:hidden;background:#1c3947 url('../images/denver-hero-bg.svg') center/cover no-repeat}
.dp-home .dp-hero-visual:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#182f3e 0%,transparent 25%),linear-gradient(0deg,rgba(3,13,19,.8),transparent 35%);pointer-events:none}
.dp-home .dp-hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}
.dp-home .dp-hero-visual figcaption{position:absolute;z-index:2;bottom:25px;right:28px;letter-spacing:.19em;font-weight:800;font-size:12px;color:#f7e6b6;text-shadow:0 2px 8px #000}
.dp-home .dp-quick-areas{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px clamp(12px,2.3vw,34px);background:#f9f8f4;border-bottom:1px solid #e8e6da;border-top:1px solid #e8e6da}
.dp-home .dp-quick-label{font-size:11px;letter-spacing:.12em;font-weight:850;color:#65512b;margin-right:4px}
.dp-home .dp-quick-areas a{color:#254052;font-size:13px;text-decoration:none!important;font-weight:760;background:#fff;border:1px solid #e6dfcc;border-radius:999px;padding:7px 12px;line-height:1.2;transition:background .2s,border-color .2s}
.dp-home .dp-quick-areas a span{color:#9a7524}
.dp-home .dp-quick-areas a:hover{background:#fbf2d7;border-color:#dcb758}
.dp-home .dp-quick-areas .dp-quick-all{background:#e9e0c7;border-color:#d1bd87}
.dp-home .home-grid{width:100%!important;max-width:100%!important;margin:0!important;grid-template-columns:minmax(0,1fr) minmax(285px,320px)!important;gap:0;align-items:start}
.dp-home .home-left{min-width:0}
.dp-home .fp-register-cta{background:#f8faf9!important;border:1px solid #d8e3e0!important}
.dp-home .fp-register-cta p{font-size:14px;line-height:1.5}
.dp-home .fp-home-profile-mix{scroll-margin-top:100px}
.dp-home .fp-home-profile-mix .block-title{color:#1b3546!important;font-size:21px!important;line-height:1.3}
.dp-home .fp-profile-mix-intro{font-size:14px!important;line-height:1.5!important}
.dp-home .fp-trust-strip{margin-bottom:12px}
.dp-home .fp-trust-strip strong{color:#152f41}
.dp-home .dp-home-guide{width:100%;max-width:none;margin:0;padding:0 clamp(12px,2vw,32px) 27px;background:#fff;clear:both}
.dp-home .dp-guide-shell{width:100%;max-width:none;margin:0 auto}
.dp-home .dp-guide-intro{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,.7fr);gap:clamp(20px,3vw,48px);background:linear-gradient(110deg,#f7f8f8,#fff 57%);padding:clamp(21px,2.65vw,42px);border:1px solid var(--dp-border);border-radius:16px;margin-top:10px}
.dp-home .dp-eyebrow,.dp-home .dp-count{display:block;color:#907026;font-weight:850;text-transform:uppercase;letter-spacing:.13em;font-size:11px;line-height:1.6}
.dp-home .dp-guide-intro h2{font-size:clamp(25px,2.55vw,38px)!important;line-height:1.18;margin:6px 0 12px!important;color:#18354a!important}
.dp-home .dp-guide-intro p{margin:0 0 10px}
.dp-home .dp-keyword{color:#284b43;font-weight:800;padding:0 2px;border-radius:2px;background-image:linear-gradient(transparent 74%,rgba(225,197,116,.38) 74%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.dp-home .dp-intro-note{align-self:center;border-radius:12px;background:#112c38;padding:22px;color:#fff}
.dp-home .dp-intro-note .dp-note-symbol{font-size:31px;color:#e8c672}
.dp-home .dp-intro-note h3{color:#f2db9c!important;font-size:21px!important;margin:6px 0 10px}
.dp-home .dp-intro-note p{font-size:15px;color:#e1e9e9;line-height:1.6}
.dp-home .dp-intro-note a{font-weight:800;font-size:14px;color:#f7dd96}
.dp-home .dp-section{padding:clamp(24px,2.45vw,38px) 0;border-bottom:1px solid var(--dp-border);scroll-margin-top:90px}
.dp-home .dp-section-top{display:grid;grid-template-columns:138px minmax(0,1fr);align-items:baseline;gap:24px;margin-bottom:16px}
.dp-home .dp-section-top h2{margin:0!important;font-size:clamp(24px,2.05vw,32px)!important;line-height:1.19!important;color:#173248!important;letter-spacing:-.027em;font-weight:800!important}
.dp-home .dp-section-top .dp-count{border-top:2px solid #c4ad6b;padding-top:5px}
.dp-home .dp-section-lead{max-width:1020px;margin:0 0 18px}
.dp-home .dp-editorial-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.9fr);gap:24px;align-items:stretch}
.dp-home .dp-editorial-prose{columns:2;column-gap:28px}
.dp-home .dp-editorial-prose p{break-inside:avoid;margin:0 0 13px}
.dp-home .dp-media-card{margin:0;border-radius:13px;overflow:hidden;background:#e7eeec;display:flex;flex-direction:column}
.dp-home .dp-media-card img{width:100%;height:clamp(170px,19vw,275px);object-fit:cover;background:var(--dp-forest) url('../images/denver-hero-bg.svg') center/cover}
.dp-home .dp-media-caption{background:#173649;color:#fff;padding:14px 17px;display:grid;gap:3px}
.dp-home .dp-media-caption strong{font-size:16px}
.dp-home .dp-media-caption span{font-size:13px;line-height:1.5;color:#d1ddde}
.dp-home .dp-neighborhood-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dp-home .dp-neighborhood{min-width:0;background:linear-gradient(150deg,#fcfdfd,#f6f8f7);border:1px solid #e2e8e9;border-radius:12px;padding:17px 17px 15px;display:flex;flex-direction:column;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.dp-home .dp-neighborhood:hover{transform:translateY(-3px);border-color:#b6a170;box-shadow:0 12px 24px rgba(15,37,49,.08)}
.dp-home .dp-icon{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;font-size:21px;border-radius:9px;background:#edf1ed;color:#9d7d34;margin-bottom:12px}
.dp-home .dp-neighborhood h3{margin:0 0 7px;font-size:18px!important;line-height:1.3!important;color:#1a3b4d!important}
.dp-home .dp-neighborhood h3 a,.dp-home .dp-metro-grid h3 a{color:inherit;text-decoration:none!important}
.dp-home .dp-neighborhood h3 a:hover,.dp-home .dp-metro-grid h3 a:hover{color:#8b6721}
.dp-home .dp-neighborhood p{font-size:14.5px;line-height:1.58;margin:0 0 13px;flex:1}
.dp-home .dp-tagline{font-size:11px;color:#735c2c;text-transform:uppercase;font-weight:820;letter-spacing:.05em;line-height:1.4}
.dp-home .dp-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.dp-home .dp-info-panel{padding:23px 24px;border:1px solid #e2e8e9;border-radius:12px;background:#fcfdfd;min-width:0}
.dp-home .dp-info-panel.dp-emphasis{background:#f6f9f7}
.dp-home .dp-info-panel h3{margin:0 0 10px;font-size:20px!important;color:#18384a!important}
.dp-home .dp-info-panel p{margin:0 0 11px}
.dp-home .dp-info-panel p:last-child{margin-bottom:0}
.dp-home .dp-micro-strip{display:flex;gap:8px;flex-wrap:wrap;padding:13px 0 0}
.dp-home .dp-micro-strip span{border-radius:8px;padding:8px 12px;background:#edf2f1;color:#315148;font-size:12px;font-weight:780}
.dp-home .dp-safety-note{display:flex;gap:15px;background:#f7f3e7;border:1px solid #e4d6ae;border-radius:10px;padding:16px 19px;margin-top:13px;align-items:flex-start}
.dp-home .dp-safety-note>span{font-size:23px;color:#836221;font-weight:800}
.dp-home .dp-safety-note p{color:#445057;margin:0;font-size:14.5px}
.dp-home .dp-split-story{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:22px;align-items:stretch}
.dp-home .dp-split-story>div p{margin:0 0 13px}
.dp-home .dp-scenic-photo{margin:0;border-radius:12px;overflow:hidden;background:#e5eee9;display:flex;flex-direction:column}
.dp-home .dp-scenic-photo img{display:block;width:100%;height:100%;max-height:320px;min-height:210px;object-fit:cover;background:var(--dp-forest) url('../images/denver-hero-bg.svg') center/cover}
.dp-home .dp-scenic-photo figcaption{background:#112f40;color:#eaf3f0;font-size:13px;padding:11px 15px}
.dp-home .dp-metro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dp-home .dp-metro-grid article{border:1px solid #e3e6e6;border-radius:11px;background:#f9fbfa;padding:16px 18px}
.dp-home .dp-metro-grid h3{font-size:18px!important;line-height:1.25;margin:0 0 7px;color:#1d3c4c!important}
.dp-home .dp-metro-grid h3 a:after{content:" ↗";font-size:13px;color:#9e772d}
.dp-home .dp-metro-grid p{font-size:14px;line-height:1.55;margin:0}
.dp-home .dp-metro-end{font-size:14px;margin:15px 0 0}
.dp-home .dp-metro-end a{font-weight:750;color:#285446}
.dp-home .dp-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.dp-home .dp-faq-grid details{border:1px solid #e0e5e6;border-radius:10px;background:#fbfcfc;min-width:0;align-self:start}
.dp-home .dp-faq-grid summary{list-style:none;cursor:pointer;padding:15px 42px 15px 18px;font-weight:800;font-size:15px;line-height:1.45;color:#1b3848;position:relative}
.dp-home .dp-faq-grid summary::-webkit-details-marker{display:none}
.dp-home .dp-faq-grid summary:after{content:"+";position:absolute;right:17px;top:13px;color:#93712e;font-size:24px;font-weight:500;line-height:1}
.dp-home .dp-faq-grid details[open] summary:after{content:"−"}
.dp-home .dp-faq-grid details[open] summary{border-bottom:1px solid #e4e9e8}
.dp-home .dp-faq-grid details p{font-size:14.5px;margin:0;padding:13px 18px 17px}
.dp-home .dp-end-cta{margin-top:22px;padding:clamp(20px,2.7vw,39px);border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(100deg,#0a2130 0%,#254a47 100%);color:#fff}
.dp-home .dp-end-cta h2{color:#fff!important;font-size:clamp(23px,2.3vw,32px)!important;line-height:1.2;margin:6px 0 9px}
.dp-home .dp-end-cta p{font-size:15px;color:#deebe8;max-width:840px;margin:0}
.dp-home .dp-end-cta .dp-eyebrow{color:#f3d683}
.dp-home .dp-end-actions{flex:0 0 auto;display:grid;gap:9px}
.dp-home .dp-end-actions .dp-btn-ghost{border:1px solid rgba(255,255,255,.42);color:#fff!important}
.dp-home .dp-source-credit{margin:17px 0 0!important;font-size:11.5px!important;line-height:1.65!important;color:#69777d!important}
.dp-home .dp-source-credit a{color:#465a64;text-decoration:underline}
@media(max-width:1240px){
  .dp-home .dp-hero{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}
  .dp-home .dp-neighborhood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dp-home .dp-editorial-prose{columns:1}
  .dp-home .dp-editorial-grid{grid-template-columns:1.15fr .85fr}
}
@media(max-width:1024px){
  .dp-home .home-grid{grid-template-columns:1fr!important}
  .dp-home .home-right{display:block}
  .dp-home .dp-hero{grid-template-columns:1.2fr .8fr}
  .dp-home .dp-guide-intro{grid-template-columns:1.3fr .7fr}
  .dp-home .dp-section-top{grid-template-columns:112px minmax(0,1fr);gap:17px}
}
@media(max-width:760px){
  .dp-home .dp-hero{grid-template-columns:1fr;min-height:0}
  .dp-home .dp-hero-copy{padding:29px 20px 23px!important}
  .dp-home .dp-hero h1{font-size:clamp(31px,8vw,43px)!important}
  .dp-home .dp-hero-visual{height:198px;min-height:198px}
  .dp-home .dp-hero-visual:before{background:linear-gradient(0deg,rgba(3,13,19,.6),transparent 50%)}
  .dp-home .dp-quick-areas{padding:10px 12px;gap:7px}
  .dp-home .dp-quick-label{flex:1 1 100%}
  .dp-home .dp-quick-areas a{font-size:12px;padding:7px 10px}
  .dp-home .dp-home-guide{padding:0 10px 20px}
  .dp-home .dp-guide-intro{grid-template-columns:1fr;padding:22px 18px;gap:14px}
  .dp-home .dp-section-top{grid-template-columns:1fr;gap:5px}
  .dp-home .dp-section-top .dp-count{width:max-content;padding-right:14px}
  .dp-home .dp-editorial-grid,.dp-home .dp-two-column,.dp-home .dp-split-story{grid-template-columns:1fr}
  .dp-home .dp-metro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dp-home .dp-faq-grid{grid-template-columns:1fr}
  .dp-home .dp-end-cta{flex-direction:column;align-items:stretch;gap:19px}
  .dp-home .dp-end-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:530px){
  .dp-home .dp-hero-actions{flex-direction:column;align-items:stretch;width:100%;margin-top:17px}
  .dp-home .dp-hero-micro{row-gap:5px;font-size:10.5px;margin-top:15px}
  .dp-home .dp-btn{font-size:13px}
  .dp-home .dp-neighborhood-grid{grid-template-columns:1fr}
  .dp-home .dp-metro-grid{grid-template-columns:1fr}
  .dp-home .dp-end-actions{grid-template-columns:1fr}
  .dp-home .dp-neighborhood{padding:15px}
  .dp-home .dp-info-panel{padding:17px}
  .dp-home .dp-guide-intro h2{font-size:25px!important}
}
/* Reveal enhancements never hide content on unsupported devices. */
@media(prefers-reduced-motion:no-preference){
  .dp-home.dp-motion-ready .dp-reveal{transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
  .dp-home.dp-motion-ready .dp-reveal:not(.dp-visible){opacity:.25;transform:translateY(13px)}
}
@media(prefers-reduced-motion:reduce){.dp-home .dp-btn,.dp-home .dp-neighborhood{transition:none!important}}
