/* Dedicated Public & Personal Safety page — existing pages untouched. */
.public-page .public-hero{position:relative;min-height:640px;display:flex;align-items:center;overflow:hidden}
.public-hero-image,.public-hero-overlay{position:absolute;inset:0}
.public-hero-image{background:url('../images/heatss-hd-12.webp') center 48%/cover no-repeat}
.public-hero-overlay{background:linear-gradient(90deg,rgba(4,26,40,.98),rgba(4,26,40,.84) 45%,rgba(4,26,40,.25))}
.public-hero-copy{position:relative;z-index:1;max-width:850px;margin:80px 6vw}
.public-hero h1{font-size:clamp(39px,5.5vw,80px);line-height:1.04;letter-spacing:-.035em;margin:20px 0}
.public-hero h1 span{color:#f4e4b8}
.public-hero-copy>p:not(.gold-kicker){max-width:650px;font-size:18px;line-height:1.75;color:#e3eaf0}
.public-intro,.public-audiences{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,110px);padding:90px 7vw;background:#f7f8f7;color:#0a2636}
.public-intro h2,.public-audiences h2,.public-band h2{font-size:clamp(30px,3.4vw,49px);line-height:1.12;margin:14px 0}
.public-intro p:not(.gold-kicker),.public-audiences p{line-height:1.8;color:#395466}
.public-page .catalog-section{background:linear-gradient(145deg,#092d40,#061d2c);padding:90px 7vw}
.public-page .catalog-card{min-height:335px}
.public-band{padding:90px 7vw;background:#102f41;color:white;text-align:center}
.public-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:45px;text-align:left}
.public-steps article,.public-note{position:relative;overflow:hidden;padding:27px;border:1px solid #d9e8f43a;border-radius:20px;background:linear-gradient(135deg,#ffffff24,#ffffff08);box-shadow:inset 0 1px #ffffff55;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .35s,background .35s,box-shadow .35s,border-color .35s}
.public-steps span{color:#d8b96b;font-size:14px;letter-spacing:.1em;font-weight:800}
.public-steps h3{font-size:23px;margin:14px 0}.public-steps p{line-height:1.75;color:#d3e1e8}
@media(hover:hover){.public-steps article:hover{transform:translateY(-7px);border-color:rgba(202,235,251,.72);background:linear-gradient(145deg,rgba(218,245,255,.24),rgba(105,172,206,.11) 52%,rgba(255,255,255,.07));box-shadow:inset 0 1px rgba(255,255,255,.85),0 17px 35px rgba(0,12,26,.3),0 0 26px rgba(130,208,249,.13)}}
.public-audiences{background:#eef2f3}.public-note{background:linear-gradient(140deg,rgba(255,255,255,.48),rgba(220,235,240,.24));border-color:rgba(255,255,255,.85);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}
.public-note::before{content:'';position:absolute;top:0;left:25px;right:25px;height:3px;background:linear-gradient(90deg,transparent,#d6b66b 24%,#f6dfaa 50%,#d6b66b 76%,transparent);opacity:.25;transition:opacity .35s}
.public-note h3{font-size:clamp(23px,2.3vw,32px);line-height:1.18;color:#173649}.public-note p:not(.gold-kicker){color:#395466}
@media(hover:hover){.public-note:hover{transform:translateY(-3px);background:radial-gradient(ellipse at 95% 0%,rgba(77,164,198,.3),transparent 58%),linear-gradient(145deg,#0b3349,#082638 68%,#071f30);border-color:rgba(232,206,148,.72);box-shadow:inset 0 1px rgba(255,255,255,.5),0 19px 42px rgba(6,31,45,.23),0 0 30px rgba(201,167,93,.12)}.public-note:hover::before{opacity:1}.public-note:hover h3{color:#fff}.public-note:hover p:not(.gold-kicker){color:#dbe9f1}}
.public-disclaimer{padding:28px 7vw;background:#e2eaed;color:#2c495a;font-size:13px;line-height:1.8}.public-page .catalog-enquire{padding:90px 20px}.public-page .btn:hover{box-shadow:inset 0 2px 2px #ffffff99,0 8px 30px #c4a35a70;filter:brightness(1.07)}
@media(max-width:900px){.public-steps{grid-template-columns:repeat(2,1fr)}.public-intro,.public-audiences{grid-template-columns:1fr}}
@media(max-width:600px){.public-hero{min-height:520px!important}.public-hero-copy{margin:65px 22px}.public-steps{grid-template-columns:1fr}.public-intro,.public-audiences,.public-band{padding:58px 22px}.public-page .catalog-section{padding:60px 22px}}
@media(prefers-reduced-motion:reduce){.public-steps article,.public-note{transition:none!important}}
