@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--red:#d71920;--red2:#fb343b;--ink:#141a21;--muted:#616d79;--paper:#fff;--soft:#f4f6f8;--border:#e7e9ee}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif}a{text-decoration:none;color:inherit}.container{width:min(1190px,calc(100% - 44px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid #e8ebee;backdrop-filter:blur(18px)}.nav{height:83px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:11px}.brand-symbol{font-weight:900;font-family:Manrope,sans-serif;font-style:italic;font-size:29px;letter-spacing:-3px;color:#171b21}.brand-symbol span,.footer-brand span{color:var(--red)}.brand-caption{font:800 10px/1.4 Manrope,sans-serif;letter-spacing:1.45px}.nav-links{display:flex;gap:30px;font-weight:700;font-size:13px}.nav-links a:hover,.footer-links a:hover{color:var(--red)}.nav-call{background:var(--ink);color:#fff;padding:13px 17px;border-radius:7px;white-space:nowrap;font-size:13px;font-weight:800}.menu-toggle{display:none;background:none;border:0;font-size:25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{background:#11171f;position:relative;overflow:hidden;color:#fff}.hero:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),transparent)}.glow{position:absolute;border-radius:50%;pointer-events:none}.glow-a{width:700px;height:700px;right:-210px;top:-320px;background:radial-gradient(circle,rgba(189,24,32,.19),transparent 67%)}.glow-b{width:500px;height:500px;left:-340px;bottom:-300px;background:radial-gradient(circle,rgba(148,25,33,.11),transparent 70%)}.hero-grid{min-height:600px;display:grid;grid-template-columns:1fr .95fr;gap:45px;align-items:center;padding:70px 0;position:relative}.eyebrow,.section-label{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--red);margin-bottom:22px}.eyebrow{color:#f6b9bc;display:flex;align-items:center;gap:9px}.pulse{width:7px;height:7px;background:#ff353b;border-radius:50%;box-shadow:0 0 0 5px rgba(215,25,32,.2)}h1{font-size:clamp(42px,5vw,72px);letter-spacing:-3.2px;line-height:1.14;font-weight:800;margin-bottom:27px}h1 em{color:#ff3941;font-style:normal}.hero-copy>p{max-width:580px;font-size:16px;color:#b9c0cb;line-height:1.9}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;font:800 13px Manrope,sans-serif;padding:16px 25px;border-radius:7px;cursor:pointer;border:1px solid transparent;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-red{background:var(--red);color:white}.btn-red:hover{background:#bb1117}.btn-outline{border-color:#49525c;color:white;background:transparent}.btn-outline:hover{border-color:white}.hero-note{margin-top:65px;color:#9099a4;font-size:10px;font-weight:800;letter-spacing:2.2px;display:flex;align-items:center;gap:14px}.hero-note .line{width:33px;height:2px;background:var(--red)}.hero-visual{position:relative}.logo-frame{background:#fff;padding:24px;border-radius:18px;box-shadow:0 25px 65px rgba(0,0,0,.3);transform:rotate(-2deg)}.logo-frame img{display:block;width:100%;height:auto;aspect-ratio:1.5/1;object-fit:contain}.floating-note{position:absolute;bottom:-23px;left:-25px;background:#232a34;display:flex;align-items:center;gap:14px;padding:17px 25px;border:1px solid #404a54;border-radius:11px;box-shadow:0 15px 25px #0005;color:#c3cbd4;font-size:12px;line-height:1.6}.floating-note strong{color:white}.check{background:#1b563a;color:#86e8b0;border-radius:50%;font-size:17px;padding:3px 9px}.section{padding:110px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.section h2{font-size:clamp(32px,3.3vw,49px);line-height:1.2;letter-spacing:-1.8px;font-weight:800;margin:0}.section h2 span{color:var(--red)}.intro-grid p{color:var(--muted);line-height:1.85;font-size:16px}.section-alt{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:43px}.section-heading p{color:var(--muted);max-width:360px;line-height:1.7;margin:0;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{background:#fff;border:1px solid var(--border);padding:30px;min-height:245px;border-radius:11px;position:relative;transition:box-shadow .2s,transform .2s}.service-card:hover{box-shadow:0 12px 35px #25304011;transform:translateY(-3px)}.service-icon{font-size:32px;color:var(--red);font-weight:800}.service-index{position:absolute;right:27px;top:29px;color:#ced2d8;font-size:11px;font-weight:800}.service-card h3{margin:25px 0 12px;font-size:17px;letter-spacing:-.35px}.service-card p{color:var(--muted);font-size:13px;line-height:1.85;margin:0}.apps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.app-card{border:1px solid var(--border);border-radius:12px;padding:24px;background:white}.app-mark{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:23px;margin-bottom:23px}.app-mark.red{background:#d31c24}.app-mark.blue{background:#3166cf}.app-mark.pink{background:#c65b94}.app-mark.green{background:#1c9878}.app-card h3{font-size:17px;margin-bottom:9px}.app-card h3 small{font-size:9px;color:#818995;font-weight:500}.app-card p{font-size:12px;line-height:1.7;color:var(--muted);min-height:65px}.app-state{display:inline-block;font-size:10px;font-weight:800;color:#66717e;background:#f0f2f5;padding:7px 10px;border-radius:5px}.apps-footnote{margin-top:20px;font-size:12px;color:#818a94}.contact-section{background:#171d25;color:white}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.section-label.light{color:#ff7e81}.contact-section h2 span{color:#ff4c53}.contact-section>div>div>p{color:#b9c1ca;line-height:1.85;margin-top:22px}.contact-points{display:flex;flex-direction:column;gap:18px;margin-top:40px}.contact-points a{font-weight:700;display:flex;gap:14px;align-items:center;word-break:break-word}.contact-points a:hover{color:#ff6268}.contact-warning{font-size:11px!important;color:#9faab7!important;max-width:370px}.offer-form{background:#fff;color:var(--ink);border-radius:14px;padding:35px;box-shadow:0 25px 45px #0002}.offer-form h3{font-size:21px}.offer-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:800;margin-bottom:18px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.offer-form input,.offer-form textarea,.offer-form select{padding:14px;background:#fafafa;border:1px solid #dce1e6;border-radius:6px;color:#202833;font:400 13px 'DM Sans',sans-serif;width:100%}.offer-form textarea{resize:vertical}.offer-form input:focus,.offer-form select:focus,.offer-form textarea:focus{outline:2px solid #f3b1b5;outline-offset:1px}.offer-form .consent{flex-direction:row;align-items:start;font-weight:400;color:#5b6670;line-height:1.5}.consent input{width:auto;margin:3px 0 0}.full{width:100%}.form-help{font-size:10px;color:#76808a;line-height:1.6;margin:12px 0 0}footer{background:#0b1016;color:#b1b8c2;padding:48px 0 20px}.footer-content{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-brand{font:900 29px Manrope,sans-serif;color:white;letter-spacing:-2px}.footer-brand small{font-size:11px;letter-spacing:1px;vertical-align:middle;font-weight:700;margin-left:8px}.footer-content p{font-size:10px;letter-spacing:2px}.footer-links{display:flex;gap:20px;font-size:12px;font-weight:700}.footer-bottom{border-top:1px solid #333b45;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#8b95a2}
@media(max-width:960px){.nav-links{gap:15px}.nav-call{display:none}.hero-grid{gap:30px}.service-grid{grid-template-columns:repeat(2,1fr)}.apps-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{gap:35px}.intro-grid{gap:50px}}@media(max-width:690px){.container{width:min(100% - 34px,1190px)}.nav{height:72px}.menu-toggle{display:block;margin-left:auto}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:white;flex-direction:column;padding:20px 25px;box-shadow:0 15px 20px #0002}.nav-links.open{display:flex}.hero-grid{grid-template-columns:1fr;padding:65px 0 85px;min-height:0;gap:55px}.hero-copy h1{letter-spacing:-2.3px}.hero-note{margin-top:40px}.hero-visual{max-width:490px}.logo-frame{padding:12px}.floating-note{left:12px;bottom:-30px}.section{padding:74px 0}.intro-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.section-heading{display:block}.section-heading p{margin-top:20px}.service-grid{grid-template-columns:1fr}.apps-grid{grid-template-columns:1fr 1fr}.offer-form{padding:23px}.footer-content,.footer-bottom{flex-direction:column;align-items:start}.footer-links{flex-wrap:wrap}}@media(max-width:400px){.apps-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr;gap:0}.hero-actions{flex-direction:column}.btn{width:100%}}


/* FIRE SAFETY SERVICES — Premium V2 override. Original image assets remain unchanged. */
:root {--red:#d51b28; --ink:#111820; --soft:#f3f4f6;}
body {overflow-x:hidden;}
.site-header {background:rgba(255,255,255,.965);box-shadow:0 8px 36px rgba(10,17,26,.055);}
.nav {height:100px;gap:22px;}
.brand {gap:13px;min-width:260px;}
.brand-logo {display:block;width:125px;height:78px;object-fit:contain;border-radius:7px;flex-shrink:0;}
.brand-wordmark {font:800 11px/1.5 Manrope,sans-serif;letter-spacing:1.3px;max-width:110px;color:#19212b;}
.nav-links a {transition:color .2s;}
.nav-call {background:#141b23;border-radius:9px;box-shadow:0 10px 20px #111a2320;}
.hero-premium {background:radial-gradient(ellipse at 70% 50%,#29303b 0%,#121924 50%,#0a1019 100%);}
.hero-premium:before {content:'';position:absolute;inset:0;opacity:.24;pointer-events:none;background-image:linear-gradient(#ffffff10 1px,transparent 1px),linear-gradient(90deg,#ffffff10 1px,transparent 1px);background-size:74px 74px;mask-image:linear-gradient(to right,transparent 8%,black 90%);}
.hero-grid {min-height:670px;gap:70px;}
.hero-copy {position:relative;z-index:2;}
.hero-copy h1 {font-size:clamp(46px,5.4vw,78px);letter-spacing:-3px;line-height:1.08;}
.hero-copy>p {font-size:16px;max-width:560px;}
.hero-note {letter-spacing:3px;}
.hero-visual {z-index:1;perspective:1000px;max-width:590px;}
.hero-halo {position:absolute;inset:-65px;background:radial-gradient(circle,#d21b2731 0%,#b3192811 45%,transparent 68%);filter:blur(18px);border-radius:50%;pointer-events:none;}
.logo-frame-premium {position:relative;transform:rotate(-1.5deg);padding:26px 22px;border-radius:22px;background:#fff;box-shadow:0 45px 100px #0009, 0 0 0 1px #fff4;}
.logo-frame-premium img {aspect-ratio:3/2;width:100%;height:auto;object-fit:contain;}
.floating-note {border-radius:14px;box-shadow:0 18px 45px #0007;}
.section {padding:110px 0;}
.service-card {border-radius:16px;box-shadow:0 2px 10px #0e162009;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;}
.service-card:hover,.service-card:focus-visible {transform:translateY(-7px);box-shadow:0 20px 55px #121b2b19;border-color:#e3c5c7;outline:none;}
.service-card:before {content:'';position:absolute;top:0;left:25px;right:25px;height:3px;background:linear-gradient(90deg,var(--red),transparent);opacity:0;transition:opacity .25s;}
.service-card:hover:before {opacity:1;}
.app-card {border-radius:16px;box-shadow:0 8px 32px #151e2a09;transition:transform .25s,box-shadow .25s;}
.app-card:hover {transform:translateY(-5px);box-shadow:0 22px 48px #151e2a19;}
.contact-section {background:radial-gradient(ellipse at 2% 10%,#293444 0%,#121920 60%,#0c131b 100%);}
.offer-form {border-radius:20px;box-shadow:0 35px 80px #0004;}
.offer-form input,.offer-form textarea,.offer-form select {border-radius:9px;}
.btn {border-radius:9px;}
.footer-brand {display:flex;align-items:center;}
.footer-logo {background:#fff;width:152px;height:92px;object-fit:contain;padding:3px;border-radius:9px;}

/* FSS Cinematic V3 — rest of original services, apps, forms preserved. */
.site-header{background:rgba(9,13,20,.98);border-bottom:1px solid rgba(255,255,255,.12);color:#fff;box-shadow:0 8px 28px #0004}
.nav{height:88px}.brand{min-width:0;gap:0}.brand-logo{width:174px;height:76px;object-fit:contain;background:#fff;border-radius:5px;padding:0 3px;filter:drop-shadow(0 1px 3px #0002)}
.nav-links a:hover{color:#ff4950}.nav-call{background:#d71920;color:#fff;border-radius:30px;padding:13px 21px;box-shadow:0 6px 18px #db171b55}.nav-call:hover{background:#f12e38}
.hero-cinematic{isolation:isolate;background:radial-gradient(ellipse at 68% 55%,#1a1c25 0%,#0c121b 48%,#04070c 96%);}
.hero-cinematic:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.33;background:radial-gradient(ellipse at 81% 53%,#e014292b,transparent 45%),linear-gradient(130deg,transparent 57%,#b40e2114 78%,transparent 98%)}
.hero-cinematic .glow-a{background:radial-gradient(circle,#9c0e2150,transparent 68%);right:-300px;top:-280px}.hero-cinematic .glow-b{opacity:.4}
.hero-cinematic .hero-grid{grid-template-columns:1.04fr 1fr;min-height:570px;padding:75px 0 20px;gap:42px}
.hero-cinematic .hero-copy{z-index:3;align-self:center;padding-bottom:20px}.hero-cinematic h1{font-size:clamp(47px,4.8vw,69px);letter-spacing:-2.7px;line-height:1.13;margin:20px 0}.hero-cinematic h1 em{color:#ff2635;text-shadow:0 0 38px #f5182736}
.hero-cinematic .hero-copy>p{font-size:15px;line-height:1.9;max-width:570px}.hero-cinematic .hero-actions{margin-top:30px}
.hero-cinematic .btn-red{border-radius:12px;background:linear-gradient(125deg,#ed111e,#bf0e19);box-shadow:0 12px 24px #c0183044}
.hero-cinematic .btn-outline{border-color:#ffffff60;border-radius:12px}.hero-cinematic .hero-note{display:none}
.hero-cinematic .hero-visual{max-width:none;min-width:0;width:100%;align-self:stretch;position:relative;display:grid;place-items:center;perspective:1200px}
.cinema-scene{position:relative;width:100%;height:100%;min-height:480px;display:grid;place-items:center;isolation:isolate}
.scene-beams{position:absolute;width:100%;height:100%;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 57%,#f01b3050,transparent 47%);filter:blur(38px)}
.cinema-symbol{position:absolute;z-index:3;top:4%;left:1%;right:1%;height:73%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 30px 22px #000b) drop-shadow(0 0 18px #ff22374d);transform:translateY(0);animation:symbolFloat 5s ease-in-out infinite}
.cinema-symbol img{display:block;width:100%;max-width:670px;height:100%;object-fit:contain;object-position:center;filter:contrast(1.08) saturate(1.17)}
.podium-platform{position:absolute;z-index:1;bottom:8%;left:8%;width:84%;height:105px;transform:perspective(520px) rotateX(62deg);border-radius:50%;background:radial-gradient(ellipse at 50% 45%,#6a0a15 0%,#1b0b13 53%,#080a0f 72%);box-shadow:0 45px 27px #000b,0 4px 18px #e5122955}
.platform-rim{position:absolute;inset:0;border-radius:50%;border:7px solid #ff273e;box-shadow:0 0 10px #ff1b30,0 0 27px #f11734,0 0 68px #d80a28,inset 0 0 22px #ff2438}
.platform-surface{position:absolute;inset:20px 32px;border-radius:50%;border:1px solid #fd52634d}
.podium-glow{position:absolute;bottom:3%;left:4%;width:92%;height:140px;border-radius:50%;background:#ed17302b;filter:blur(45px)}
@keyframes symbolFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
.hero-feature-row{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:12px 0 40px}
.hero-feature-row a{display:flex;align-items:center;gap:13px;color:#f9f9fb;padding:16px 20px;border:1px solid #ffffff20;border-radius:15px;background:#ffffff08;backdrop-filter:blur(8px);font-weight:750;font-size:13px;transition:background .2s,transform .2s}
.hero-feature-row a:hover{transform:translateY(-3px);background:#ffffff13}
.feature-icon{font-size:23px;color:#ff3b4b;line-height:1}
.intro-screen[hidden]{display:none!important}.intro-screen{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at 50% 55%,#261018 0%,#06090f 66%);color:#fff;display:grid;place-items:center;overflow:hidden;perspective:1000px;opacity:1;transition:opacity .22s ease;}
.intro-screen.is-leaving{opacity:0;pointer-events:none}
.intro-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 58%,#ec152943,transparent 45%)}
.intro-inner{position:relative;z-index:2;width:min(620px,85vw);text-align:center;transform-style:preserve-3d}
.intro-logo-wrap{position:relative;z-index:2;width:min(580px,85vw);margin:auto;animation:introZoom .85s cubic-bezier(.15,.85,.32,1) both;transform-style:preserve-3d}
.intro-logo{display:block;width:100%;height:auto;filter:drop-shadow(0 0 24px #ed1f3a55)}
.intro-orbit{position:absolute;left:7%;right:7%;bottom:7%;height:70px;border:3px solid #fa2847;transform:perspective(300px) rotateX(68deg);border-radius:50%;box-shadow:0 0 22px #ff2942,0 0 70px #cf173b;animation:introOrbit .9s ease both}
.intro-slogan{font:800 clamp(11px,1.6vw,15px) Manrope,sans-serif;letter-spacing:.22em;margin:4px 0;opacity:0;animation:introSlogan .4s ease .52s forwards}
.intro-skip{position:absolute;right:16px;top:16px;z-index:5;border:1px solid #ffffff55;border-radius:25px;background:#ffffff11;color:#fff;padding:10px 15px;cursor:pointer;font:600 12px Manrope,sans-serif}
@keyframes introZoom{0%{opacity:0;transform:perspective(800px) translateZ(-500px) rotateY(-45deg) scale(.3);filter:blur(8px)}68%{opacity:1;filter:blur(0)}100%{opacity:1;transform:perspective(800px) translateZ(0) rotateY(0) scale(1);filter:blur(0)}}
@keyframes introOrbit{from{opacity:0;transform:perspective(300px) rotateX(68deg) scale(.55)}to{opacity:1;transform:perspective(300px) rotateX(68deg) scale(1)}}
@keyframes introSlogan{to{opacity:1}}
@media(max-width:1100px){.brand-logo{width:150px;height:67px}.nav{height:82px}.hero-feature-row a{padding:14px 12px;font-size:12px}}
@media(max-width:960px){.hero-cinematic .hero-grid{gap:20px}.hero-cinematic h1{font-size:clamp(40px,5.5vw,58px)}.cinema-scene{min-height:390px}.hero-feature-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:690px){.nav{height:74px}.nav-links{top:74px;background:#111821;color:#fff}.brand-logo{width:132px;height:58px}.menu-toggle{color:white}.hero-cinematic .hero-grid{grid-template-columns:1fr;padding:55px 0 5px;gap:0}.hero-cinematic h1{font-size:clamp(40px,10vw,58px)}.hero-cinematic .hero-visual{min-height:350px}.cinema-scene{min-height:350px}.cinema-symbol{top:0;height:77%;}.podium-platform{bottom:8%;height:65px}.hero-feature-row{gap:8px;padding-bottom:25px}.hero-feature-row a{padding:12px 9px;gap:6px;font-size:11px}.feature-icon{font-size:18px}}
@media(max-width:390px){.hero-feature-row{grid-template-columns:1fr 1fr}.hero-feature-row a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.intro-screen{display:none!important}.cinema-symbol{animation:none!important}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V3.1 — logo fully contained on desktop and mobile, cinematic stage in view */
.hero-cinematic .hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; }
.hero-cinematic .hero-visual { width:100%; min-width:0; max-width:560px; justify-self:center; overflow:visible; }
.hero-cinematic .cinema-scene { width:100%; min-width:0; height:455px; min-height:455px; }
.hero-cinematic .cinema-symbol { position:absolute; left:50%; right:auto; top:5%; width:min(100%,520px); max-width:100%; height:315px; max-height:70%; transform:translateX(-50%); animation:none; }
.hero-cinematic .cinema-symbol img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; min-width:0; object-fit:contain; object-position:center; }
.hero-cinematic .podium-platform { left:10%; width:80%; bottom:9%; }
.hero-cinematic .podium-glow { bottom:5%; }
@media (max-width:960px) {
 .hero-cinematic .cinema-scene {height:390px;min-height:390px;}
 .hero-cinematic .cinema-symbol {height:270px;}
}
@media (max-width:690px) {
 .hero-cinematic .hero-grid {grid-template-columns:minmax(0,1fr);}
 .hero-cinematic .hero-visual {max-width:480px;min-height:300px;}
 .hero-cinematic .cinema-scene {height:325px;min-height:325px;}
 .hero-cinematic .cinema-symbol {height:230px;max-height:71%;top:2%;}
 .hero-cinematic .podium-platform {bottom:10%;height:65px;}
}
@media (prefers-reduced-motion:no-preference) {
 .hero-cinematic .cinema-symbol {animation:fssGentleFloat 4.8s ease-in-out infinite;}
 @keyframes fssGentleFloat {0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-7px)}}
}
