/* Public site: a CSRP scene guide, separate from the signed-in dashboard. */
:root{--paper:#f3eee5;--paper-deep:#e8dfd2;--charcoal:#171c20;--fire:#af281f;--fire-bright:#df4931;--amber:#f2b45e;--body-ink:#242a2d;--body-muted:#525a5d}
html{background:var(--paper)}
body{background:var(--paper);color:var(--body-ink);font-family:Bahnschrift,'Segoe UI',Arial,sans-serif}
h1,h2,h3{font-family:Bahnschrift,'Arial Narrow',Impact,sans-serif;font-weight:800;letter-spacing:-.055em}
h2{line-height:.99}
.reveal{opacity:1;transform:none;transition:none}
.eyebrow{color:var(--fire);letter-spacing:.17em}
.scroll-progress{height:4px;background:var(--fire-bright)}
.site-header{border-bottom:1px solid #ffffff36;background:#13191c94;backdrop-filter:blur(12px);color:#fff}
.site-header.scrolled,.interior-page .site-header{background:#151b1ff5;border-bottom:3px solid var(--fire-bright);box-shadow:none}
.site-header nav a{font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.site-header nav a[aria-current="page"]{color:#fff}
.site-header nav a[aria-current="page"]:after{height:3px;background:var(--fire-bright)}
.brand strong{font-size:18px;letter-spacing:.02em}
.brand small{font-size:10px;color:#f3c7b7;letter-spacing:.08em}
.login-link{background:var(--fire);border:0;color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.login-link:hover{background:#d3442e;color:#fff}
.menu-toggle{border-color:#fff8;background:#111a1d}
.button{border-radius:0;font-size:13px;letter-spacing:.04em;min-height:54px;font-weight:800;box-shadow:4px 4px 0 #1119}
.button.primary{background:var(--fire);color:#fff}
.button.primary:hover{background:#d24532}
.button.secondary{border:2px solid currentColor;background:transparent;box-shadow:none}
.button.secondary:hover{background:#ffffff17}
.text-link{color:var(--fire);border-color:var(--fire);font-size:12px;letter-spacing:.06em}
.hero-content h1,.page-mast h1{font-family:Bahnschrift,'Arial Narrow',Impact,sans-serif;letter-spacing:-.06em;text-shadow:2px 4px 14px #0008;color:#fff}
.hero-content,.hero-bottom{color:#fff}
.home-hero{max-height:none;height:90svh;min-height:730px}
.home-hero .hero-image{filter:saturate(1.25) contrast(1.08)}
.home-hero .hero-glass{background:linear-gradient(90deg,#0b1017e8 0%,#0b1017c8 28%,#0b10176b 58%,#0b101708 100%),linear-gradient(0deg,#0b1017d5,transparent 25%)}
.hero-kicker{display:inline-block;background:var(--fire);color:#fff;padding:7px 12px;letter-spacing:.12em;font-size:11px}
.hero-kicker span{color:#ffdfac}
.hero-content>p:not(.hero-kicker){font-size:20px;max-width:550px}
.hero-outline{border:2px solid white;background:#111c2170;box-shadow:none}
.hero-bottom{border-top:0;padding-top:0}
.hero-bottom strong{font-size:11px;letter-spacing:.1em}
.live-dot:before{background:var(--amber);box-shadow:0 0 0 4px #f2b45e55}
.section{padding-block:100px}
.section-copy p:not(.eyebrow),.directory-heading>p:not(.eyebrow),.spotlight-copy p:not(.eyebrow),.split-copy p:not(.eyebrow),.product-copy p:not(.eyebrow){color:var(--body-muted);line-height:1.65}
.home-directory{background:var(--paper);grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:5vw;border-bottom:10px solid var(--fire)}
.directory-heading h2{font-size:clamp(3.5rem,5.5vw,6rem);text-transform:uppercase}
.directory-heading>p:not(.eyebrow){font-size:18px;color:var(--body-ink)}
.directory-links{border:0;display:grid;gap:12px}
.directory-links>a{min-height:125px;padding:21px 24px;grid-template-columns:1fr 30px;align-content:center;border:0;border-left:8px solid var(--fire-bright);background:linear-gradient(90deg,#151a1ee8,#151a1e75),url('/ped/assets/scene-major-fire.webp') center 58%/cover;color:#fff;transition:transform .2s,filter .2s,background-size .55s,background-position .55s}
.directory-links>a:nth-child(2){background-image:linear-gradient(90deg,#151a1ee8,#151a1e68),url('/ped/assets/scene-fire-ems.webp');background-position:center 55%}
.directory-links>a:nth-child(3){background-image:linear-gradient(90deg,#641611ed,#341613b2),url('/ped/assets/scene-rescue.webp');background-position:center 74%}
.directory-links>a:hover{padding-left:24px;transform:translateX(7px);filter:brightness(1.15)}
.directory-links span,.directory-links strong,.directory-links small{grid-column:1}
.directory-links span{color:#ffbc8f}
.directory-links strong{font-size:25px;text-transform:uppercase;line-height:1.1;margin:5px 0}
.directory-links small{color:#e6e3dc;font-size:14px}
.directory-links b{grid-column:2;grid-row:2;color:#fff}
.home-spotlight{background:var(--charcoal);color:#fff;border:0;gap:5vw}
.home-spotlight .eyebrow,.split-section .eyebrow{color:var(--amber)}
.spotlight-photo,.split-photo{border:0;box-shadow:12px 12px 0 var(--fire);height:440px}
.spotlight-photo img{object-position:60% center}
.spotlight-copy h2{font-size:clamp(3.5rem,5.2vw,6rem);text-transform:uppercase}
.spotlight-copy p:not(.eyebrow){color:#d1d6d3;font-size:19px}
.spotlight-copy .text-link{color:#ffb09e;border-color:#ffb09e}
.home-next{background:var(--fire);color:#fff;min-height:300px;position:relative;overflow:hidden}
.home-next:after,.callout-section:after{content:'';position:absolute;right:-60px;top:-60px;width:350px;height:500px;background:repeating-linear-gradient(135deg,transparent 0 20px,#ffffff16 20px 40px);transform:rotate(-8deg);pointer-events:none}
.home-next .eyebrow,.callout-section .eyebrow{color:#ffcf9d}
.home-next .section-copy p:not(.eyebrow){color:#fff;font-size:19px}
.home-next .button,.callout-section .button{background:#171c20;color:#fff}
.home-next .button:hover,.callout-section .button:hover{background:#31383c}
.page-mast{position:relative;display:flex;align-items:end;min-height:610px;padding:78px 0 0;background:var(--charcoal);border-bottom:10px solid var(--fire-bright);overflow:hidden}
.page-mast-image{position:absolute;inset:0;min-height:0;max-height:none;width:100%}
.page-mast-image img{object-position:center 45%;filter:saturate(1.22) contrast(1.08)}
.page-mast-image:after{background:linear-gradient(90deg,#0d1417ef 0%,#0d1417bb 39%,#0d141723 100%),linear-gradient(0deg,#0d1417ae,transparent 52%)}
.page-mast-copy{position:relative;z-index:1;align-self:auto;padding:105px clamp(22px,6vw,100px) 70px;max-width:900px;color:#fff}
.page-mast h1{font-size:clamp(4rem,7vw,7rem);line-height:.92;max-width:780px}
.page-mast-copy>p:not(.eyebrow){color:#f3f2ee;font-size:20px;line-height:1.55;max-width:620px}
.page-mast .eyebrow{display:inline-block;color:#fff;background:var(--fire);padding:7px 12px}
.page-mast .button.secondary{color:#fff}
.values-section,.join-criteria{background:var(--paper)}
.values-section h2,.join-criteria h2,.paths-section h2,.product-copy h2,.split-copy h2,.apply-hero h2,.faq-section h2,.callout-section h2{text-transform:uppercase}
.stat-wall{gap:0;border-top:5px solid var(--fire);border-bottom:1px solid #2224}
.stat-tile{min-height:230px;padding:25px 30px 30px;background:transparent;border:0;border-right:1px solid #2224;box-shadow:none}
.stat-tile:last-child{border-right:0}
.stat-tile span{color:var(--fire);font-size:13px}
.stat-tile strong{font-size:clamp(2.1rem,3vw,3.5rem);text-transform:uppercase;margin:32px 0 10px}
.stat-tile p{color:var(--body-muted);font-size:16px;line-height:1.5}
.split-section{background:var(--charcoal);color:#fff;gap:7vw}
.split-copy p:not(.eyebrow){color:#d1d6d3}
.split-copy .text-link{color:#ffb09e;border-color:#ffb09e}
.split-photo{height:450px}
.paths-section{background:#e5dbcd;color:var(--body-ink);border:0}
.paths-section .section-copy p:not(.eyebrow){color:var(--body-muted)}
.path-grid{gap:18px;margin-top:48px}
.path-grid article,.path-grid article:first-child{background:var(--charcoal);border:0;color:#fff;min-height:350px;padding:36px;border-top:9px solid var(--fire-bright);box-shadow:9px 9px 0 #1b1d1e22;overflow:hidden}
.path-grid article:nth-child(2){background:#263942;border-top-color:#78b8c5}
.path-grid article:after{content:'';position:absolute;right:-80px;top:20px;width:320px;height:320px;border:45px solid #ffffff0b;transform:rotate(26deg);pointer-events:none}
.path-grid article>span{color:#ffbb90;font-size:13px}
.path-grid article:nth-child(2)>span{color:#b6e5ed}
.path-grid h3{font-size:clamp(2.8rem,4vw,4.8rem);margin:75px 0 18px}
.path-grid p{font-size:17px;color:#e6e9e9;max-width:500px}
.path-grid a{color:#ffbd9c;font-size:13px}
.path-grid article:nth-child(2) a{color:#b8e8ee}
.operations-stack{background:var(--paper);gap:110px}
.product-row{gap:5vw}
.product-copy h2{font-size:clamp(3.1rem,4.6vw,5.3rem)}
.product-copy p:not(.eyebrow){font-size:18px}
.product-visual{min-height:450px;border:0;box-shadow:12px 12px 0 var(--fire)}
.product-visual img{object-position:center}
.apparatus-photo img{object-position:60% center}
.photo-visual:after{background:linear-gradient(0deg,#101a1b55,transparent 40%)}
.join-criteria{gap:5vw}
.criteria-panel{background:var(--fire);border:0;border-left:10px solid var(--charcoal);box-shadow:9px 9px 0 #1b1d1e22}
.criteria-panel span{color:#ffe0aa;font-size:12px}
.criteria-panel p{color:#fff;font-size:17px}
.apply-section{background:var(--charcoal);color:#fff}
.apply-hero>p:not(.eyebrow){color:#d7dcda}
.apply-section .eyebrow{color:var(--amber)}
.apply-steps{gap:0;border-top:4px solid var(--fire-bright)}
.apply-steps article{background:transparent;border:0;border-bottom:1px solid #ffffff4a;padding:21px 5px}
.apply-steps article>span{color:var(--amber);font-size:35px}
.apply-steps strong{font-size:20px}
.apply-steps p{color:#cdd5d3;font-size:15px}
.faq-section{background:var(--paper)}
.faq-list{border-top:4px solid var(--fire)}
.faq-item{border-bottom-color:#161b1d55}
.faq-question{color:var(--body-ink);font-size:20px}
.faq-question:after{color:var(--fire)}
.faq-answer{color:var(--body-muted);font-size:16px}
.callout-section{position:relative;overflow:hidden;background:var(--fire);color:#fff;min-height:360px}
.callout-section h2{position:relative;z-index:1}
#public-leadership{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}
#public-leadership p{margin:0;padding:9px 13px;background:#111b1e75;color:#fff;font-size:15px}
footer{background:#151b1f;color:#d2d8d7;border-top:5px solid var(--fire-bright);font-size:12px}
footer a{color:#ffd0a8}
@media(max-width:950px){.page-mast{min-height:570px}.page-mast-image{max-height:none}.page-mast-copy{padding-top:125px}.home-directory{grid-template-columns:1fr}.site-header nav{background:#151b1f}}
@media(max-width:650px){.section{padding:70px 22px}.home-hero{height:80svh;min-height:610px}.hero-content h1{font-size:clamp(3.25rem,13vw,4.5rem)}.hero-content>p:not(.hero-kicker){font-size:16px}.home-directory{gap:22px}.directory-links>a{min-height:110px;padding:17px}.directory-links>a:hover{padding-left:17px}.directory-links strong{font-size:22px}.spotlight-photo,.split-photo{height:270px;box-shadow:7px 7px 0 var(--fire)}.spotlight-copy h2{font-size:3.3rem}.page-mast{min-height:570px}.page-mast-copy{padding:115px 22px 55px}.page-mast h1{font-size:clamp(3.3rem,12vw,4.2rem)}.page-mast-copy>p:not(.eyebrow){font-size:16px}.page-mast-image{inset:0}.stat-wall{grid-template-columns:1fr}.stat-tile{min-height:0;border-right:0;border-bottom:1px solid #2224;padding:26px 8px}.stat-tile:last-child{border-top:0;border-bottom:0}.stat-tile strong{margin:16px 0 7px}.path-grid article,.path-grid article:first-child{min-height:300px;padding:26px}.path-grid h3{margin-top:55px}.product-visual{min-height:290px;box-shadow:7px 7px 0 var(--fire)}.criteria-panel{padding:25px}.home-next:after,.callout-section:after{opacity:.45}}

/* Motion is progressive enhancement; the pages remain fully visible without JavaScript. */
.public-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.18,.75,.28,1)}
.public-motion .reveal.in-view{opacity:1;transform:none}
.hero-content>*{animation:siteRise .8s ease-out both}
.hero-content>*:nth-child(2){animation-delay:.1s}
.hero-content>*:nth-child(3){animation-delay:.2s}
.hero-content>*:nth-child(4){animation-delay:.3s}
.page-mast-copy>*{animation:siteRise .7s ease-out both}
.page-mast-copy>*:nth-child(2){animation-delay:.08s}
.page-mast-copy>*:nth-child(3){animation-delay:.16s}
.page-mast-copy>*:nth-child(4){animation-delay:.24s}
.home-hero .hero-image,.page-mast-image img{animation:sceneBreath 20s ease-in-out infinite alternate}
.hero-bottom a span{display:inline-block;animation:nudgeDown 2.5s ease-in-out infinite}
.live-dot:before{animation:beacon 2.7s ease-in-out infinite}
.site-header nav a{transition:color .2s,transform .2s}
.site-header nav a:hover{transform:translateY(-2px)}
.brand img{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.brand:hover img{transform:rotate(-8deg) scale(1.08)}
.button{position:relative;overflow:hidden;transition:transform .25s,background .25s,box-shadow .25s}
.button:hover{box-shadow:7px 7px 0 #1117}
.button:after{content:'';position:absolute;inset:-55% auto -55% -65%;width:42%;transform:skewX(-25deg);background:linear-gradient(90deg,transparent,#ffffff55,transparent);transition:left .65s}
.button:hover:after{left:130%}
.directory-links>a{transition:transform .28s,filter .28s,background-position .5s}
.directory-links>a{overflow:hidden;isolation:isolate;background:#151a1e}
.directory-links>a:nth-child(2),.directory-links>a:nth-child(3){background:#151a1e}
.directory-links>a::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#151a1ee8,#151a1e75),url('/ped/assets/scene-major-fire.webp') center 58%/cover;transform:scale(1);transition:transform .55s ease}
.directory-links>a:nth-child(2)::before{background-image:linear-gradient(90deg,#151a1ee8,#151a1e68),url('/ped/assets/scene-fire-ems.webp');background-position:center 55%}
.directory-links>a:nth-child(3)::before{background-image:linear-gradient(90deg,#641611ed,#341613b2),url('/ped/assets/scene-rescue.webp');background-position:center 74%}
.directory-links>a:hover::before{transform:scale(1.1)}
.directory-links>a>*{position:relative;z-index:1}
.directory-links>a b{transition:transform .25s}
.directory-links>a:hover b{transform:translate(3px,-3px)}
.spotlight-photo img,.split-photo img,.photo-visual img{transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .75s}
.spotlight-photo:hover img,.split-photo:hover img,.photo-visual:hover img{transform:scale(1.07);filter:saturate(1.18)}
.stat-tile{transition:transform .3s,background .3s}
.stat-tile:hover{transform:translateY(-5px);background:#e6ddd0}
.path-grid article{transition:transform .35s,box-shadow .35s}
.path-grid article:hover{transform:translateY(-7px);box-shadow:13px 16px 0 #1b1d1e29}
.home-next:after,.callout-section:after{animation:hazardSlide 18s linear infinite alternate}
.faq-answer:not([hidden]){animation:siteRise .4s ease-out both}
.menu-toggle span{transition:transform .25s,opacity .25s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6px) rotate(-45deg)}
@keyframes siteRise{from{opacity:0;transform:translateY(20px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes sceneBreath{from{transform:scale(1.025)}to{transform:scale(1.085)}}
@keyframes nudgeDown{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes beacon{0%,100%{box-shadow:0 0 0 0 #f2b45e66}50%{box-shadow:0 0 0 7px #f2b45e00}}
@keyframes hazardSlide{from{transform:translateX(0) rotate(-8deg)}to{transform:translateX(90px) rotate(-8deg)}}
@media(prefers-reduced-motion:reduce){.public-motion .reveal{opacity:1;transform:none}.site-header *,body:before,body:after,.hero-image,.page-mast-image img,.home-next:after,.callout-section:after,.live-dot:before,.hero-bottom a span{animation:none!important;transition:none!important}.hero-content>*,.page-mast-copy>*,.faq-answer:not([hidden]){animation:none!important}.button,.directory-links>a,.directory-links>a::before,.directory-links>a b,.spotlight-photo img,.split-photo img,.photo-visual img,.stat-tile,.path-grid article{transition:none!important}}

