:root { --navy:#11171b; --blue:#26343b; --red:#a7192b; --orange:#d8b15a; --gold-text:#7a5a13; --gold-on-red:#f2d798; --cream:#f4f1e8; --ink:#182126; --line:#c9cdca; --font-vulcanus:"Trebuchet MS",Trebuchet,Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font-vulcanus); }
button,input,select,textarea { font-family:inherit; }
a { color:inherit; text-decoration:none; }
.responsive-picture { display:block;width:100%; }
.company-amp { display:inline-block;font-family:Arial,Helvetica,sans-serif;font-style:normal;font-weight:inherit;letter-spacing:0;line-height:1; }
.screen-reader-text { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position:fixed;z-index:1000;top:10px;left:10px;padding:13px 18px;background:white;color:var(--ink);border:3px solid var(--red);font-size:14px;font-weight:900;transform:translateY(-160%);transition:transform .15s ease; }
.skip-link:focus { transform:translateY(0); }.skip-target { display:block;height:0;scroll-margin-top:88px;outline:0; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid var(--orange);outline-offset:3px; }
.site-header { height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; background:rgba(244,240,231,.96); border-bottom:1px solid rgba(7,26,38,.12); position:sticky; top:0; z-index:20; backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; }
.brand img { display:block; width:190px; height:55px; object-fit:contain; }
nav { display:flex; gap:30px; font-size:13px; font-weight:700; }
nav a:hover { color:var(--orange); }
nav a[aria-current="page"] { color:var(--red);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px; }
.nav-toggle { display:none;border:0;background:transparent;padding:10px;cursor:pointer; }
.nav-toggle span { display:block;width:25px;height:2px;margin:5px 0;background:var(--ink); }
.header-cta { background:var(--navy); color:white; padding:13px 18px; font-size:12px; font-weight:800; }
.hero { min-height:620px; display:grid; grid-template-columns:1.08fr .92fr; overflow:hidden; }
.hero-copy { padding:70px 6vw 65px 8vw; display:flex; flex-direction:column; justify-content:center; }
.eyebrow,.section-label { text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:900; color:var(--gold-text); }
h1 { font-size:clamp(50px,6vw,90px); line-height:.92; letter-spacing:-.06em; margin:20px 0 24px; max-width:900px; }
.hero-lead { font-size:17px; line-height:1.55; max-width:650px; color:#526069; }
.hero-actions { display:flex; gap:12px; margin-top:22px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:52px; padding:0 24px; font-size:12px; font-weight:900; letter-spacing:.04em; }
.primary { background:var(--red); color:white; }
.secondary { border:1px solid var(--ink); }
.hero-proof { display:flex; gap:15px; align-items:center; margin-top:34px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.hero-proof i { width:4px; height:4px; border-radius:50%; background:var(--red); }
.hero-visual { background:var(--navy); min-height:620px; position:relative; margin:0; overflow:hidden; }
.hero-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(5,20,30,.82) 100%); }
.hero-visual .responsive-picture { height:100%;min-height:620px; }
.hero-visual img { width:100%;height:100%;min-height:620px;display:block;object-fit:cover;object-position:center;filter:saturate(.88) contrast(1.04); }
.hero-visual figcaption { position:absolute;z-index:2;left:42px;bottom:38px;color:white;border-left:5px solid var(--orange);padding-left:18px;text-transform:uppercase;letter-spacing:.08em; }
.hero-visual figcaption span { display:block;font-size:11px;margin-bottom:7px; }
.hero-visual figcaption strong { font-size:clamp(25px,3vw,44px);line-height:1; }
.visual-orbit { position:absolute; border:1px solid rgba(255,255,255,.14); border-radius:50%; }
.orbit-one { width:520px;height:520px; }.orbit-two { width:760px;height:760px; }
.equipment-card { width:54%; aspect-ratio:.72; max-height:530px; background:linear-gradient(155deg,#e7e8e2,#a9b3b1); box-shadow:0 35px 90px rgba(0,0,0,.4); padding:28px; position:relative; color:var(--navy); transform:rotate(-3deg); }
.equipment-card::after { content:""; position:absolute; width:72%; height:38%; bottom:0; right:0; background:linear-gradient(135deg,transparent 24%,rgba(7,26,38,.7) 25%,rgba(7,26,38,.95)); }
.status-dot { width:9px;height:9px;border-radius:50%;display:block;background:var(--red);box-shadow:0 0 0 6px rgba(167,25,43,.18); }
.equipment-card p { font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-top:28px; }
.equipment-card strong { font-size:clamp(30px,3.2vw,55px);line-height:.94;letter-spacing:-.06em; }
.equipment-lines { display:grid;gap:10px;margin-top:30px;width:55%; }.equipment-lines span { height:2px;background:rgba(7,26,38,.25); }
.visual-stat { position:absolute; bottom:7%; left:7%; display:flex;align-items:center;gap:12px;color:white; }
.visual-stat strong { font-size:48px;color:var(--orange);letter-spacing:-.05em; }.visual-stat span { font-size:11px;line-height:1.3;text-transform:uppercase;letter-spacing:.1em; }
.risk,.solutions,.standard { padding:76px 8vw; }
.risk-grid { display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;margin-top:34px; }
.risk h2,.section-heading h2,.process h2,.standard h2,.contact h2 { font-size:clamp(42px,5vw,76px);line-height:1;letter-spacing:-.055em;margin:0; }
.risk h2 em { color:var(--red);font-style:normal; }
.risk-grid>div p { font-size:17px;line-height:1.7;color:#53616a;margin:0 0 22px; }
.text-link { display:inline-block;border-bottom:1px solid var(--red);padding-bottom:5px;font-size:12px;font-weight:900;margin-top:10px; }
.iaff-alert { margin-top:42px;padding:28px 32px;background:var(--navy);color:white;border-left:7px solid var(--red);display:grid;grid-template-columns:.3fr 1.2fr .65fr;gap:28px;align-items:center; }
.iaff-alert-label { color:var(--orange);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em; }
.iaff-alert>p { margin:0;font-size:clamp(21px,2vw,31px);font-weight:800;line-height:1.12;letter-spacing:-.03em; }
.iaff-alert>div { display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:12px;line-height:1.5; }
.iaff-alert .text-link { color:white;border-color:var(--orange);margin:0; }
.risk-band { margin-top:100px;padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:20px; }
.risk-band p { margin:0; }.risk-band strong { color:var(--red); }
.risk-photo { position:relative;width:100%;max-width:1120px;aspect-ratio:746 / 500;margin:42px auto 0;overflow:hidden;background:var(--navy); }
.risk-photo .responsive-picture { height:100%; }
.risk-photo img { width:100%;height:100%;display:block;object-fit:cover;object-position:center 42%; }
.risk-photo::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,38,.35),transparent 60%); }
.risk-photo figcaption { position:absolute;z-index:2;left:28px;bottom:26px;max-width:360px;background:rgba(7,26,38,.88);color:white;padding:14px 18px;font-size:12px;line-height:1.5;text-transform:uppercase;letter-spacing:.07em; }
.solutions { background:#e8e5dd; }
.section-heading { display:grid;grid-template-columns:.38fr 1.35fr .65fr;gap:3vw;align-items:end; }
.section-heading>p { line-height:1.6;color:#59666d;margin:0; }
.solution-list { display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;border-top:1px solid #b8bebc;border-left:1px solid #b8bebc; }
.solution-card { min-height:430px;display:flex;flex-direction:column;border-right:1px solid #b8bebc;border-bottom:1px solid #b8bebc;transition:.25s ease;overflow:hidden; }
.solution-card:hover { background:var(--red);color:white;transform:translateY(-8px); }
.solution-card:focus-visible { outline:4px solid var(--red);outline-offset:4px; }
.solution-photo { height:clamp(340px,30vw,420px);margin:0;overflow:hidden;background:#f4f1e9;padding:6px;box-sizing:border-box; }
.solution-photo .responsive-picture { height:100%; }.solution-photo img { width:100%;height:100%;display:block;object-fit:contain;object-position:center;transition:transform .4s ease; }
.solution-card:hover .solution-photo img { transform:scale(1.045); }
.solution-card-copy { flex:1;display:flex;flex-direction:column;padding:22px; }
.solution-top { display:flex;justify-content:space-between;font-family:var(--font-vulcanus);font-size:12px; }.arrow { font-size:20px; }
.solution-card h3 { font-size:23px;line-height:1.08;letter-spacing:-.035em;margin:22px 0 8px; }
.solution-card p { font-size:14px;line-height:1.6;color:#5c676c; }.solution-card:hover p { color:white; }
.solution-meta { margin-top:auto;padding-top:20px;border-top:1px solid currentColor;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800; }
.process { padding:110px 8vw;background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1.1fr;gap:10vw; }
.section-label.light { color:#83a1b1; }.detail-copy .eyebrow,.about-hero .eyebrow { color:var(--orange); }.contact .eyebrow,.about-cta .eyebrow,.detail-cta .eyebrow { color:var(--gold-on-red); }.process-intro>p:last-child { color:#91a3ae;line-height:1.6;max-width:500px;margin-top:30px; }
.process-intro h2 { margin-top:30px; }
.process-step { display:grid;grid-template-columns:55px 150px 1fr;gap:18px;padding:35px 0;border-top:1px solid rgba(255,255,255,.2);align-items:start; }
.process-step>span { color:var(--orange);font-family:var(--font-vulcanus); }.process-step h3 { margin:0;font-size:22px; }.process-step p { margin:0;color:#9eb0ba;line-height:1.6;font-size:14px; }
.treatment-guide { padding:70px 8vw;background:#202a30;color:white; }
.treatment-guide>div:first-child { display:grid;grid-template-columns:.4fr 1.2fr;gap:8vw;align-items:end; }
.treatment-guide h2 { margin:0;font-size:clamp(38px,4.4vw,64px);line-height:1;letter-spacing:-.055em; }
.treatment-grid { display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2); }
.treatment-grid article { min-height:150px;padding:24px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2); }
.treatment-grid strong { display:block;color:var(--orange);font-size:19px; }
.treatment-grid p { margin:24px 0 0;color:#b7c2c7;font-size:13px;line-height:1.55; }
.faq-section { padding:76px 8vw;background:var(--cream);display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;align-items:start; }
.faq-heading { position:sticky;top:112px; }.faq-heading h2 { margin:24px 0;font-size:clamp(38px,4.7vw,68px);line-height:1;letter-spacing:-.055em; }.faq-heading>p:last-child { color:#59666d;line-height:1.65; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { min-height:64px;padding:20px 48px 20px 0;display:flex;align-items:center;position:relative;cursor:pointer;font-size:17px;font-weight:900;line-height:1.35;list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary::after { content:"+";position:absolute;right:4px;color:var(--red);font-size:26px;line-height:1; }.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { margin:0;padding:0 46px 24px 0;color:#556269;font-size:14px;line-height:1.65; }
.standard { display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw;align-items:center; }
.standard-badge { display:flex;flex-direction:column;align-items:center;justify-self:center; }
.nfpa-cert-badge { background:white;display:inline-flex;flex-direction:column;align-items:center;gap:0;padding:0; }
.nfpa-cert-icon-box { border:14px solid #111;width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:white;flex-shrink:0; }
.nfpa-cert-flame { width:60px;height:72px; }
.nfpa-cert-org { color:#111;font-size:22px;font-weight:900;letter-spacing:0;line-height:1.2;margin:5px 0 0; }
.nfpa-cert-org sup { font-size:13px;vertical-align:super; }
.nfpa-cert-num { color:#C8100E;font-size:48px;font-weight:900;line-height:1;letter-spacing:-.02em;margin:0; }
.standard-badge>span { margin-top:16px;font-size:10px;letter-spacing:.14em;font-weight:900;text-transform:uppercase; }
.standard h2 { margin:25px 0; }.standard>div:last-child>p { font-size:17px;line-height:1.7;color:#5c676e; }
.standard .standard-note { font-size:11px;line-height:1.5;margin-top:18px;max-width:620px; }
.contact { background:var(--red);color:white;padding:68px 8vw;display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;border-top:7px solid var(--orange); }
.contact .eyebrow { color:var(--orange); }.contact h2 { margin:20px 0;max-width:850px; }.contact>div>p:last-child { max-width:620px;line-height:1.6; }
.contact-actions { text-align:right; }.contact-button { border:1px solid white;margin-bottom:22px; }.contact-actions p { font-size:12px;line-height:1.7; }
footer { padding:30px 5vw;background:#05141e;color:white;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px; }.footer-brand { flex:none; }.footer-editorial p { margin:0; }.footer-editorial p+ p { margin-top:7px;color:#91a4ae;font-size:9px;line-height:1.4; }
.footer-contact-links { display:flex;flex-direction:column;gap:6px; }
.footer-contact-links a { min-height:44px;display:inline-flex;align-items:center;font-weight:800;color:var(--orange); }
.whatsapp-contact { position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:11px;padding:11px 16px 11px 12px;border-radius:999px;background:#168b52;color:white;box-shadow:0 12px 35px rgba(5,20,30,.3);font-size:12px;font-weight:900;transition:transform .2s ease,background .2s ease; }
.whatsapp-contact:hover { transform:translateY(-3px);background:#117544; }
.whatsapp-contact svg { width:30px;height:30px;flex:none; }
.whatsapp-contact span { display:flex;flex-direction:column;line-height:1.2; }
.whatsapp-contact small { margin-bottom:3px;font-size:9px;font-weight:500;opacity:.86; }
.content-page { min-height:70vh;padding:100px 8vw; }.content-page article { max-width:900px;margin:auto; }.content-page h1 { font-size:clamp(48px,6vw,80px); }.wp-content { font-size:17px;line-height:1.75;color:#556269; }

/* About page */
.about-page { background:var(--cream); }
.about-hero { min-height:600px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--navy);color:white; }
.about-hero-copy { padding:70px 6vw 70px 8vw;display:flex;flex-direction:column;justify-content:center; }
.about-hero h1 { max-width:850px;margin:24px 0 30px;font-size:clamp(54px,6vw,92px); }
.about-lead { max-width:650px;margin:0;color:#b7c2c8;font-size:18px;line-height:1.7; }
.about-hero-image { position:relative;margin:0;min-height:560px;overflow:hidden;background:#202c32; }
.about-hero-image::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,20,30,.84)); }
.about-hero-image .responsive-picture { height:100%; }.about-hero-image img { width:100%;height:100%;display:block;object-fit:cover;object-position:center; }
.about-hero-image.about-firefighter-image { background:#d7d2c8; }
.about-hero-image.about-firefighter-image img { object-fit:contain;object-position:center; }
.about-hero-image figcaption small { display:block;margin-top:7px;font-size:9px;opacity:.72; }
.about-hero-image figcaption { position:absolute;z-index:2;left:36px;right:36px;bottom:34px;padding-left:18px;border-left:5px solid var(--orange);font-size:12px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em; }
.about-origin { padding:78px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw; }
.about-origin h2,.about-personal h2,.about-cta h2 { margin:24px 0 0;font-size:clamp(42px,5vw,74px);line-height:1;letter-spacing:-.055em; }
.about-origin-copy p { margin:0 0 18px;color:#556269;font-size:17px;line-height:1.65; }
.about-installations { padding:76px 8vw 82px;background:#e8e5dd;border-top:1px solid var(--line); }
.about-installations-heading { display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:end;margin-bottom:38px; }
.about-installations h2 { max-width:900px;margin:24px 0 0;font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:-.055em; }
.about-installations-heading>div:last-child>p { margin:0;color:#556269;font-size:17px;line-height:1.7; }
.evolution-heading { margin:0 0 20px;padding-top:25px;border-top:1px solid #b8bebc;display:flex;justify-content:space-between;gap:40px;align-items:flex-end; }
.evolution-heading span { color:var(--red);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.15em; }
.evolution-heading p { max-width:650px;margin:0;color:#556269;font-size:14px;line-height:1.6; }
.evolution-compare { display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;margin-bottom:18px; }
.evolution-compare figure { margin:0;background:var(--cream);border:1px solid #aeb5b2; }
.evolution-compare .responsive-picture { height:460px; }.evolution-compare img { width:100%;height:460px;display:block;object-fit:contain;object-position:center;background:#d4d0c8; }
.evolution-image-frame { height:460px;overflow:hidden;background:#d4d0c8; }
.evolution-image-frame .responsive-picture { height:100%; }.evolution-image-frame img { height:100%;transform:scale(1.14); }
.evolution-label { min-height:68px;padding:16px 20px;display:flex;justify-content:space-between;gap:18px;align-items:center;background:#7d8383;color:white; }
.evolution-label.current { background:var(--red); }
.evolution-label span { color:var(--navy);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em; }.evolution-label.current span { color:var(--gold-on-red); }
.evolution-label strong { font-size:14px;text-align:right; }
.evolution-compare figcaption { min-height:74px;padding:18px 20px;color:#526068;font-size:12px;line-height:1.55; }
.evolution-arrow { width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;justify-self:center;background:var(--red);color:white;font-size:24px;font-weight:900; }
.evolution-note { margin:0;color:#667278;font-size:10px;line-height:1.5; }
.about-personal { padding:76px 8vw;display:grid;grid-template-columns:.6fr 1.4fr;gap:7vw;align-items:center;background:var(--blue);color:white; }
.about-number { width:min(270px,100%);aspect-ratio:1;border:1px solid rgba(255,255,255,.24);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:14px;justify-self:center; }
.about-number strong { color:var(--orange);font-size:clamp(76px,8vw,112px);line-height:.8;letter-spacing:-.08em; }
.about-number span { font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.12em; }
.about-personal h2 { margin-bottom:30px; }
.about-personal>div:last-child>p:not(.section-label) { max-width:750px;margin:0 0 22px;color:#c0cacf;font-size:17px;line-height:1.75; }
.about-cta { padding:68px 8vw;background:var(--red);color:white;text-align:center;border-top:7px solid var(--orange); }
.about-cta h2 { max-width:900px;margin:20px auto 38px; }

/* Contact page */
.contact-page { min-height:70vh;background:var(--cream); }
.contact-hero { padding:100px 8vw 85px;display:grid;grid-template-columns:1.3fr .7fr;gap:9vw;align-items:end;border-bottom:1px solid var(--line); }
.contact-hero h1 { max-width:1000px;margin:24px 0 0;font-size:clamp(52px,6.2vw,92px); }
.contact-hero>p { margin:0;color:#556269;font-size:18px;line-height:1.75; }
.contact-layout { padding:90px 8vw 120px;display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:start; }
.contact-form { display:grid;grid-template-columns:1fr 1fr;gap:28px 24px; }
.contact-field { display:flex;flex-direction:column;gap:10px; }
.contact-wide { grid-column:1 / -1; }
.contact-field label { font-size:12px;font-weight:900; }
.contact-field label span { color:var(--red); }
.contact-field input,.contact-field select,.contact-field textarea { width:100%;border:1px solid #aeb5b3;border-radius:0;background:#fbfaf6;color:var(--ink);padding:15px 16px;font:inherit;outline:none; }
.contact-field input,.contact-field select { min-height:54px; }
.contact-field textarea { resize:vertical;line-height:1.55; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { border-color:var(--red);box-shadow:0 0 0 2px rgba(167,25,43,.1); }
.contact-consent { min-height:44px;padding:8px 0;display:flex;align-items:flex-start;gap:11px;color:#58656c;font-size:12px;line-height:1.6;cursor:pointer; }
.contact-consent input { flex:0 0 22px;width:22px;height:22px;margin:0;accent-color:var(--red);cursor:pointer; }
.contact-consent a { color:var(--red);text-decoration:underline; }
.contact-submit { display:flex;align-items:center;gap:24px; }
.contact-submit .button { border:0;cursor:pointer;flex:none; }
.contact-submit p { max-width:420px;margin:0;color:#657178;font-size:11px;line-height:1.55; }.contact-status:empty { display:none; }.contact-status:not(:empty) { padding:10px 12px;border-left:4px solid var(--orange);background:#e8e5dd;color:var(--ink);font-size:12px; }
.contact-aside { padding:46px;background:var(--navy);color:white;position:sticky;top:120px; }
.contact-aside h2 { margin:24px 0;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.05em; }
.contact-aside>p:not(.section-label) { color:#aebbc1;line-height:1.65; }
.contact-phone,.contact-detail { display:flex;flex-direction:column;gap:7px;padding:24px 0;border-top:1px solid rgba(255,255,255,.18); }
.contact-phone { margin-top:0;color:var(--orange); }
.contact-aside .contact-phone:first-of-type { margin-top:35px; }
.contact-phone span,.contact-detail span { color:#91a4ae;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em; }
.contact-phone strong { font-size:22px; }.contact-detail strong { font-size:15px;line-height:1.5; }
.legal-page { padding:100px 8vw 120px;background:var(--cream); }
.legal-page article { max-width:920px;margin:0 auto; }
.legal-page h1 { margin:24px 0 30px;font-size:clamp(52px,6vw,82px); }
.legal-intro { max-width:760px;margin:0 0 60px;color:#526068;font-size:19px;line-height:1.7; }
.legal-page section { padding:30px 0;border-top:1px solid var(--line); }
.legal-page h2 { margin:0 0 15px;font-size:24px; }
.legal-page section p { margin:0;color:#556269;font-size:15px;line-height:1.75; }
.legal-page section a { color:var(--red);text-decoration:underline; }
.legal-note { margin-top:35px;padding:20px;border-left:4px solid var(--orange);background:#e8e5dd;color:#59666d;font-size:12px;line-height:1.6; }

/* Solution detail pages */
.detail-page { background:var(--cream); }
.detail-header { position:relative; }
.detail-hero { min-height:640px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--navy);color:white; }
.detail-copy { padding:62px 6vw 62px 8vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start; }
.back-link { color:#aab6bb;font-size:12px;font-weight:800;margin-bottom:38px; }
.detail-copy h1 { font-size:clamp(52px,6vw,88px);max-width:820px;margin:22px 0; }
.detail-kicker { color:var(--orange);font-size:20px;font-weight:800;margin:0 0 14px; }
.detail-intro { color:#b6c0c5;max-width:620px;font-size:17px;line-height:1.65;margin:0 0 35px; }
.detail-safety { max-width:650px;margin:0 0 28px;padding:15px 18px;border-left:4px solid var(--orange);background:rgba(255,255,255,.07);color:#c6d0d4;font-size:11px;line-height:1.6; }
.detail-image { margin:0;position:relative;overflow:hidden;min-height:620px;background:#f4f1e9;padding:10px;box-sizing:border-box; }
.detail-image::after { content:"";position:absolute;inset:0;box-shadow:inset 0 0 100px rgba(0,0,0,.35);pointer-events:none; }
.detail-image .responsive-picture { height:100%; }.detail-image img { width:100%;height:100%;object-fit:contain;object-position:center;display:block; }
.detail-image figcaption { position:absolute;z-index:2;bottom:24px;right:24px;background:rgba(17,23,27,.86);color:white;padding:10px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.1em; }
.detail-facts { display:grid;grid-template-columns:repeat(3,1fr);padding:0 8vw;background:var(--red);color:white; }
.detail-facts.has-four { grid-template-columns:repeat(4,1fr); }
.detail-facts.without-time { grid-template-columns:repeat(2,1fr); }
.detail-facts div { padding:24px;border-right:1px solid rgba(255,255,255,.25); }
.detail-facts div:first-child { border-left:1px solid rgba(255,255,255,.25); }
.detail-facts span { display:block;color:var(--gold-on-red);font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;margin-bottom:8px; }
.detail-facts strong { font-size:18px; }
.detail-story { padding:76px 8vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw; }
.detail-story h2,.detail-cta h2 { font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:-.055em;margin:25px 0 0; }
.detail-story>div:last-child p { font-size:16px;line-height:1.65;color:#556269;margin:0 0 17px; }
.detail-vehicle-evidence { padding:64px 8vw;display:grid;grid-template-columns:.78fr 1.22fr;gap:7vw;align-items:center;background:#e8e5dd;border-top:1px solid var(--line); }
.detail-vehicle-evidence h2 { margin:22px 0;font-size:clamp(38px,4.5vw,66px);line-height:1;letter-spacing:-.055em; }
.detail-vehicle-evidence>div>p:last-child { margin:0;color:#556269;font-size:16px;line-height:1.65; }
.detail-evidence-gallery { min-width:0; }
.detail-evidence-gallery.has-two { display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch; }
.detail-vehicle-evidence figure { margin:0;background:var(--navy);display:flex;flex-direction:column; }
.detail-vehicle-evidence img { width:100%;height:auto;display:block; }
.detail-evidence-gallery.has-two .responsive-picture { height:390px;overflow:hidden;background:#d8d4cb; }
.detail-evidence-gallery.has-two img { height:100%;object-fit:cover;object-position:center;background:#d8d4cb; }
.detail-vehicle-evidence figcaption { padding:13px 17px;color:white;font-size:10px;line-height:1.45;text-transform:uppercase;letter-spacing:.09em; }
.detail-benefits { padding:56px 8vw 60px;background:#273238;color:white; }
.benefit-grid { display:grid;grid-template-columns:repeat(4,1fr);margin-top:32px;border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2); }
.benefit-grid.has-three { grid-template-columns:repeat(3,1fr); }
.benefit-grid div { min-height:180px;padding:22px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;justify-content:flex-start; }
.benefit-grid span { color:var(--orange);font-family:var(--font-vulcanus);font-size:11px; }
.benefit-grid strong { min-height:48px;margin-top:26px;font-size:18px;line-height:1.25;display:flex;align-items:flex-end; }
.benefit-grid p { min-height:56px;margin:12px 0 0;color:#c3cccf;font-size:12px;line-height:1.55; }
.detail-cta { padding:68px 8vw;background:var(--red);color:white;text-align:center;border-top:7px solid var(--orange); }
.detail-cta h2 { max-width:900px;margin:20px auto; }.detail-cta>p:nth-of-type(2) { max-width:650px;margin:0 auto 30px;line-height:1.6; }

@media (max-width:980px) {
  .header-cta { display:none; }.nav-toggle { display:block;margin-left:auto; }.site-header nav { display:none;position:absolute;left:0;right:0;top:100%;padding:24px 6vw;background:var(--cream);border-top:1px solid var(--line);box-shadow:0 15px 30px rgba(5,20,30,.13);flex-direction:column;gap:0;font-size:16px; }.site-header nav.is-open { display:flex; }.site-header nav a { padding:14px 0;border-bottom:1px solid var(--line); }.hero { grid-template-columns:1fr; }.hero-copy { padding:80px 7vw; }.hero-visual { min-height:600px; }
  .risk-grid,.process,.standard,.contact,.faq-section { grid-template-columns:1fr; }.section-heading,.iaff-alert { grid-template-columns:1fr; }.solution-list { grid-template-columns:1fr 1fr; }.faq-heading { position:static; }
  .process { gap:60px; }.standard-badge { width:230px;height:230px;justify-self:start; }.contact-actions { text-align:left; }
  .detail-hero,.detail-story,.detail-vehicle-evidence { grid-template-columns:1fr; }.detail-image { min-height:650px; }.detail-facts,.detail-facts.has-four { grid-template-columns:1fr 1fr;padding:0 4vw; }.benefit-grid,.benefit-grid.has-three { grid-template-columns:1fr 1fr; }.treatment-guide>div:first-child { grid-template-columns:1fr; }.treatment-grid { grid-template-columns:1fr; }
  .about-hero,.about-origin,.about-personal,.about-installations-heading { grid-template-columns:1fr; }.about-hero-image { min-height:600px; }.about-number { width:270px;justify-self:start; }.evolution-compare .responsive-picture,.evolution-compare img { height:500px; }.evolution-image-frame { height:500px; }.evolution-image-frame img { height:100%; }
  .contact-hero,.contact-layout { grid-template-columns:1fr; }.contact-aside { position:static; }.contact-layout { gap:60px; }
}
@media (max-width:600px) {
  main { overflow-x:hidden; } main section>* { min-width:0; }.text-link { max-width:100%;overflow-wrap:anywhere; }
  .site-header { height:68px; }.brand img { width:162px;height:47px; }.hero { min-height:auto; } h1 { font-size:42px;line-height:.94; }.hero-copy { padding:52px 6vw 48px; }.hero-lead { font-size:16px; }.hero-actions { flex-direction:column; }.hero-proof { margin-top:26px; }.hero-visual,.hero-visual .responsive-picture,.hero-visual img { min-height:420px; }.equipment-card { width:65%; }
  .risk,.solutions,.standard,.process,.contact,.faq-section { padding:58px 6vw; }.risk-band { flex-direction:column;gap:14px; }.risk-photo { aspect-ratio:auto;margin:30px auto 0; }.risk-photo .responsive-picture { height:auto;aspect-ratio:746 / 500; }.risk-photo::after { display:none; }.risk-photo figcaption { position:static;max-width:none;padding:12px 14px;border-left:0;border-top:4px solid var(--orange);text-align:center; }.iaff-alert { margin-top:30px;padding:24px;border-left:0;border-top:5px solid var(--red); }.solution-list { grid-template-columns:1fr; }.solution-card { min-height:0; }.solution-photo { height:355px;padding:5px; }.faq-section { gap:28px; }.faq-heading h2 { font-size:40px; }.faq-list summary { min-height:58px;padding:17px 42px 17px 0;font-size:16px; }.faq-list details p { padding:0 28px 20px 0;font-size:13px; }
  .process-step { grid-template-columns:35px 1fr; }.process-step p { grid-column:2; }.contact h2 { font-size:48px; } footer { flex-direction:column;gap:8px;align-items:flex-start; } footer>a { min-height:44px;display:inline-flex;align-items:center; }.eyebrow,.section-label { font-size:12px;line-height:1.4; }.detail-safety,.standard .standard-note,.detail-vehicle-evidence figcaption,.detail-facts span,.footer-editorial p+ p { font-size:12px; }
  .whatsapp-contact { right:16px;bottom:16px;padding:11px; }.whatsapp-contact span { display:none; }.whatsapp-contact svg { width:31px;height:31px; }
  .detail-hero { min-height:0; }.detail-copy { padding:50px 6vw; }.back-link { margin-bottom:30px; }.detail-image { min-height:500px;padding:8px; }.detail-facts,.detail-facts.has-four { grid-template-columns:1fr 1fr;padding:0; }.detail-facts div,.detail-facts div:first-child { border-left:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.25);padding:20px 6vw; }.detail-story,.detail-cta,.detail-vehicle-evidence { padding:58px 6vw; }.detail-benefits { padding:44px 6vw 48px; }.detail-evidence-gallery.has-two { grid-template-columns:1fr; }.detail-evidence-gallery.has-two .responsive-picture { height:auto; }.detail-evidence-gallery.has-two img { height:auto;max-height:none;object-fit:contain; }.benefit-grid,.benefit-grid.has-three { grid-template-columns:1fr;margin-top:22px; }.benefit-grid div { min-height:0;padding:19px 17px;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;align-items:start; }.benefit-grid span { grid-column:1;grid-row:1 / span 2;padding-top:3px; }.benefit-grid strong { grid-column:2;min-height:0;margin:0;font-size:17px;line-height:1.25;display:block; }.benefit-grid p { grid-column:2;min-height:0;margin:7px 0 0;font-size:12px;line-height:1.45; }
  .about-hero-copy,.about-origin,.about-personal,.about-cta { padding:58px 6vw; }.about-hero h1 { font-size:42px; }.about-hero-image { min-height:430px; }.about-number { justify-self:center; }.about-hero-image figcaption { left:18px;right:18px;bottom:18px;text-align:center;border-left:0;border-top:4px solid var(--orange);padding:12px 10px 0; }
  .about-installations { padding:58px 6vw; }.evolution-heading { align-items:flex-start;flex-direction:column; }.evolution-compare { grid-template-columns:1fr;gap:16px; }.evolution-arrow { transform:rotate(90deg); }.evolution-compare .responsive-picture,.evolution-compare img { height:410px; }.evolution-image-frame { height:410px; }.evolution-image-frame img { height:100%;transform:scale(1.1); }
  .contact-hero,.contact-layout { padding:58px 6vw; }.contact-hero h1 { font-size:42px; }.contact-form { grid-template-columns:1fr; }.contact-wide { grid-column:auto; }.contact-submit { align-items:stretch;flex-direction:column; }.contact-aside { padding:30px 26px; }.detail-copy h1 { font-size:42px; }.detail-image figcaption { left:18px;right:18px;bottom:18px;text-align:center; }.treatment-guide { padding:58px 6vw; }.standard-badge { justify-self:center; }.contact-actions { text-align:center; } footer { align-items:center;text-align:center; }.footer-editorial { text-align:center; }.footer-contact-links { align-items:center; }
  .legal-page { padding:75px 6vw; }.legal-page h1 { font-size:46px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important; }
}

/* --- Formulario de contacto (Fluent Forms) integrado en el diseño Vulcanus --- */
.contact-page .contact-form-ff .ff-el-group { margin-bottom:24px; }
.contact-page .contact-form-ff .ff-el-group.ff_submit_btn_wrapper { margin-bottom:0; }
.contact-page .contact-form-ff .ff-el-input--label label { font-size:12px;font-weight:900;color:var(--ink);margin-bottom:10px; }
.contact-page .contact-form-ff .ff-el-is-required.asterisk-right label:after,
.contact-page .contact-form-ff .ff-el-is-required.asterisk-left label:before { color:var(--red); }
.contact-page .contact-form-ff .ff-el-input--content input:not([type=checkbox]):not([type=radio]),
.contact-page .contact-form-ff .ff-el-input--content select,
.contact-page .contact-form-ff .ff-el-input--content textarea {
  width:100%;border:1px solid #aeb5b3;border-radius:0;background:#fbfaf6;color:var(--ink);
  padding:15px 16px;font:inherit;line-height:1.5;outline:none;box-shadow:none;min-height:54px;
}
.contact-page .contact-form-ff .ff-el-input--content textarea { min-height:120px;resize:vertical;line-height:1.55; }
.contact-page .contact-form-ff .ff-el-input--content input:focus,
.contact-page .contact-form-ff .ff-el-input--content select:focus,
.contact-page .contact-form-ff .ff-el-input--content textarea:focus { border-color:var(--red);box-shadow:0 0 0 2px rgba(167,25,43,.1); }
.contact-page .contact-form-ff .ff-btn-submit {
  display:inline-flex;align-items:center;justify-content:center;min-height:52px;
  background:var(--red);color:#fff;border:0;border-radius:0;cursor:pointer;
  padding:0 30px;font-weight:900;font-size:12px;letter-spacing:.04em;
}
.contact-page .contact-form-ff .ff-btn-submit:hover { filter:brightness(1.08); }
.contact-page .contact-form-ff .ff-message-success { border-left:4px solid var(--orange);background:#e8e5dd;color:var(--ink);padding:14px 16px;font-size:14px; }
.contact-page .contact-form-ff .ff-el-input--content .text-danger,
.contact-page .contact-form-ff .error_index { color:var(--red);font-size:12px; }
.contact-page .contact-consent-note { margin-top:22px;color:#58656c;font-size:12px;line-height:1.6; }
.contact-page .contact-consent-note a { color:var(--red);text-decoration:underline; }
