/* =========================================================
   الهدى — وايت مويه 19 طن | Public site styles
   Palette taken from the truck: navy cab, white tank, safety-yellow stripes.
   ========================================================= */
:root{
  --abyss:#040f20;
  --navy:#071830;
  --navy-2:#0b2547;
  --navy-3:#123561;
  --water:#19b5e5;
  --aqua:#7fe3ff;
  --foam:#e9f8ff;
  --safety:#ffc21a;
  --wa:#1fbf5b;
  --wa-d:#139447;
  --ink:#0b1f3a;
  --muted:#5b6f88;
  --line:rgba(11,31,58,.1);
  --paper:#f4f8fc;
  --white:#fff;
  --r:18px;
  --r-lg:28px;
  --shadow:0 20px 50px -20px rgba(4,15,32,.35);
  --ease:cubic-bezier(.22,1,.36,1);
  --f-head:"Readex Pro","IBM Plex Sans Arabic",system-ui,sans-serif;
  --f-body:"IBM Plex Sans Arabic","Readex Pro",system-ui,sans-serif;
  --wrap:1200px;
  --dock-h:0px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;font-family:var(--f-body);color:var(--ink);background:var(--paper);line-height:1.75;font-size:17px;overflow-x:hidden;padding-bottom:var(--dock-h)}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--f-head);line-height:1.25;margin:0}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.ic{width:1.15em;height:1.15em;flex:none}
.wrap{width:min(var(--wrap),100% - 32px);margin-inline:auto}
.skip{position:absolute;inset-inline-start:-999px;top:8px;background:var(--safety);padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{inset-inline-start:8px}
:focus-visible{outline:3px solid var(--safety);outline-offset:3px;border-radius:6px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.6em;padding:.8em 1.4em;border-radius:999px;font-family:var(--f-head);font-weight:600;font-size:1rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .3s;position:relative;isolation:isolate;white-space:nowrap}
.btn .ic{width:1.3em;height:1.3em}
.btn-lg{padding:1em 1.8em;font-size:1.1rem}
.btn-call{background:var(--safety);color:var(--abyss);box-shadow:0 12px 30px -10px rgba(255,194,26,.65)}
.btn-call:hover{transform:translateY(-3px);box-shadow:0 18px 40px -12px rgba(255,194,26,.8)}
.btn-wa{background:var(--wa);color:#fff;box-shadow:0 12px 30px -10px rgba(31,191,91,.6)}
.btn-wa:hover{background:var(--wa-d);transform:translateY(-3px)}
.btn-call::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--safety);opacity:0;animation:ring 2.4s var(--ease) infinite;z-index:-1}
@keyframes ring{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.35);opacity:0}}

/* ---------- Nav ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background .4s,box-shadow .4s,transform .5s var(--ease);color:#fff}
.nav.solid{background:rgba(7,24,48,.86);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 8px 30px -12px rgba(0,0,0,.5)}
.nav.hide{transform:translateY(-100%)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--water),#0a6fa6);color:#fff;box-shadow:inset 0 -4px 0 var(--safety)}
.brand-mark .ic{width:24px;height:24px}
.brand-txt{display:flex;flex-direction:column;line-height:1.2}
.brand-txt b{font-family:var(--f-head);font-size:1.25rem}
.brand-txt small{font-size:.75rem;opacity:.75}
.nav-links{display:flex;gap:4px}
.nav-links a{padding:8px 14px;border-radius:999px;font-weight:500;opacity:.88;transition:background .3s,opacity .3s}
.nav-links a:hover{background:rgba(255,255,255,.1);opacity:1}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav-phone{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-family:var(--f-head);font-weight:600;transition:background .3s}
.nav-phone:hover{background:var(--safety);color:var(--abyss)}
.burger{display:none;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.1);position:relative}
.burger span{position:absolute;inset-inline:12px;height:2px;background:#fff;border-radius:2px;transition:transform .4s var(--ease)}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.page .nav{background:var(--navy)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--navy)}
.hero-media{position:absolute;inset:0}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}
.hero-shade{position:absolute;inset:0;background:
  linear-gradient(270deg,rgba(4,15,32,.92) 0%,rgba(7,24,48,.75) 45%,rgba(7,24,48,.25) 100%),
  linear-gradient(0deg,rgba(4,15,32,.85),transparent 40%)}
.caustics{position:absolute;inset:-20%;opacity:.16;mix-blend-mode:screen;pointer-events:none;
  background:radial-gradient(closest-side,rgba(127,227,255,.9),transparent) 0 0/180px 140px,
             radial-gradient(closest-side,rgba(25,181,229,.7),transparent) 60px 50px/220px 170px;
  animation:caustic 18s linear infinite;filter:blur(18px)}
@keyframes caustic{to{transform:translate3d(-180px,-140px,0) rotate(2deg)}}
.hero-in{position:relative;padding:140px 0 170px}
.live-badge{display:inline-flex;align-items:center;gap:10px;padding:7px 16px;border-radius:999px;background:rgba(31,191,91,.16);border:1px solid rgba(31,191,91,.5);font-weight:600;font-size:.92rem;margin-bottom:22px}
.live-badge .dot{width:9px;height:9px;border-radius:50%;background:#35e07a;box-shadow:0 0 0 0 rgba(53,224,122,.8);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(53,224,122,0)}100%{box-shadow:0 0 0 0 rgba(53,224,122,0)}}
.hero-title{font-size:clamp(2.6rem,7.4vw,5.6rem);font-weight:700;letter-spacing:-.01em;max-width:13ch}
.hero-title .num{color:var(--safety);font-variant-numeric:tabular-nums;display:inline-block}
.hero-title em{font-style:normal;color:var(--aqua)}
/* Gradient text must sit on the innermost box: the GSAP word-splitter wraps each word in inline-blocks,
   and background-clip:text on a parent does not paint through them. */
.hero-title em,.hero-title em .w > span{background:linear-gradient(90deg,var(--aqua),var(--water) 60%,#fff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-title em .w{background:none}
.hero-title .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.hero-title .w > span{display:inline-block}
.hero-sub{max-width:52ch;font-size:clamp(1.05rem,1.6vw,1.25rem);opacity:.9;margin:22px 0 32px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;font-size:.95rem;opacity:.9}
.hero-chips li{display:flex;align-items:center;gap:8px}
.hero-chips .ic{color:var(--aqua)}
.waves{position:absolute;inset:auto 0 -1px;width:100%;height:120px}
.waves path{transform-origin:center}
.waves .w1{fill:rgba(25,181,229,.25);animation:wave 9s ease-in-out infinite alternate}
.waves .w2{fill:rgba(127,227,255,.22);animation:wave 7s ease-in-out infinite alternate-reverse}
.waves .w3{fill:var(--paper)}
@keyframes wave{to{transform:translateX(-4%) scaleY(1.15)}}

/* ---------- Ticker (hazard band) ---------- */
.ticker{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:16px 0;border-block:6px solid transparent;
  border-image:repeating-linear-gradient(-45deg,var(--safety) 0 14px,var(--navy) 14px 28px) 6}
.ticker-track{display:flex;gap:44px;width:max-content;animation:tick 40s linear infinite;font-family:var(--f-head);font-weight:600;font-size:1.05rem}
.ticker-track span{display:flex;align-items:center;gap:10px;white-space:nowrap}
.ticker-track .ic{color:var(--water)}
@keyframes tick{to{transform:translateX(50%)}}
.ticker:hover .ticker-track{animation-play-state:paused}

/* ---------- Sections ---------- */
.sec{padding:clamp(70px,10vw,130px) 0;position:relative}
.sec-head{margin-bottom:46px;max-width:720px}
.sec-head.row{display:flex;justify-content:space-between;align-items:end;max-width:none;gap:20px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-head);font-weight:600;color:var(--water);font-size:.95rem;margin-bottom:12px}
.eyebrow::before{content:"";width:28px;height:4px;border-radius:4px;background:repeating-linear-gradient(-45deg,var(--safety) 0 4px,var(--ink) 4px 8px)}
.h2{font-size:clamp(1.9rem,4.2vw,3.1rem);font-weight:700}
.lead{color:var(--muted);font-size:1.12rem;margin-top:16px;max-width:56ch}
.row-cta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Gauge ---------- */
.gauge-sec{padding:clamp(70px,10vw,130px) 0;background:var(--paper)}
.gauge-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.hl{color:var(--water);white-space:nowrap}
.hl b{font-variant-numeric:tabular-nums}
.ticks{margin-top:24px;display:grid;gap:12px}
.ticks li{display:flex;gap:12px;align-items:center;font-weight:500}
.ticks .ic{width:26px;height:26px;padding:5px;border-radius:50%;background:rgba(25,181,229,.14);color:var(--water)}
.tank{position:relative}
.tank-body{position:relative;height:440px;border-radius:120px 120px 40px 40px/90px 90px 40px 40px;background:linear-gradient(90deg,#dfe8f2,#fff 30%,#f1f5fa 60%,#c9d6e4);
  box-shadow:inset 0 0 0 10px #fff,inset 0 0 0 12px #d5e0ec,var(--shadow);overflow:hidden}
.tank-liquid{position:absolute;inset:auto 12px 12px;height:calc(var(--fill,0) * (100% - 24px));border-radius:0 0 30px 30px;
  background:linear-gradient(180deg,var(--aqua),var(--water) 35%,#0b6fa8);transition:height .2s linear}
.tank-wave{position:absolute;bottom:calc(100% - 4px);left:0;width:200%;height:28px;fill:var(--aqua);animation:slosh 4s linear infinite}
.tank-wave.b{fill:rgba(127,227,255,.55);animation-duration:6s;animation-direction:reverse;bottom:calc(100% - 2px)}
@keyframes slosh{to{transform:translateX(-50%)}}
.bubbles i{position:absolute;bottom:0;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.55);animation:bub 5s linear infinite}
.bubbles i:nth-child(1){left:15%;animation-delay:0s}.bubbles i:nth-child(2){left:35%;width:5px;height:5px;animation-delay:1.2s}
.bubbles i:nth-child(3){left:55%;animation-delay:2.4s}.bubbles i:nth-child(4){left:70%;width:6px;height:6px;animation-delay:.6s}
.bubbles i:nth-child(5){left:85%;animation-delay:3.1s}.bubbles i:nth-child(6){left:45%;width:4px;height:4px;animation-delay:4s}
@keyframes bub{0%{transform:translateY(0);opacity:0}10%{opacity:1}100%{transform:translateY(-360px);opacity:0}}
.tank-ticks{position:absolute;inset:40px 24px 30px auto;display:flex;flex-direction:column;justify-content:space-between;font:600 .75rem var(--f-head);color:rgba(11,31,58,.55);direction:ltr}
.tank-ticks span{position:relative;padding-left:14px}
.tank-ticks span::before{content:"";position:absolute;left:0;top:50%;width:10px;height:2px;background:currentColor}
.tank-shine{position:absolute;inset:0 auto 0 18%;width:40px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);pointer-events:none}
.tank-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.tank-meta div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.tank-meta small{display:block;color:var(--muted);font-size:.8rem}
.tank-meta b{font-family:var(--f-head);font-size:1.3rem;font-variant-numeric:tabular-nums}
.tank-meta .ok{color:var(--wa)}

/* ---------- Services ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 28px 30px;overflow:hidden;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s;transform-style:preserve-3d}
.svc::before{content:"";position:absolute;inset:auto 0 0;height:0;background:linear-gradient(180deg,rgba(25,181,229,.08),rgba(25,181,229,.18));transition:height .6s var(--ease)}
.svc:hover{box-shadow:var(--shadow);border-color:rgba(25,181,229,.35)}
.svc:hover::before{height:100%}
.svc > *{position:relative}
.svc-ic{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--navy);color:var(--aqua);margin-bottom:22px;box-shadow:inset 0 -4px 0 var(--safety)}
.svc-ic .ic{width:28px;height:28px}
.svc h3{font-size:1.3rem;margin-bottom:10px}
.svc p{color:var(--muted)}
.svc-n{position:absolute;top:22px;inset-inline-end:26px;font:700 2.6rem var(--f-head);color:rgba(11,31,58,.06)}

/* ---------- Steps ---------- */
.steps-sec{background:var(--navy);color:#fff;overflow:hidden}
.steps-sec .h2{color:#fff}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative;z-index:1;counter-reset:s}
.steps li{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:32px 28px;backdrop-filter:blur(6px)}
.step-n{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--safety);color:var(--abyss);font:700 1.4rem var(--f-head);margin-bottom:18px;box-shadow:0 0 0 8px rgba(255,194,26,.15)}
.steps h3{font-size:1.3rem;margin-bottom:8px}
.steps p{opacity:.78}
.steps-pipe{position:absolute;inset:auto 0 50% 0;width:100%;height:20px;opacity:.5}
.steps-pipe path{fill:none;stroke:var(--water);stroke-width:3;stroke-dasharray:12 10;animation:flow 1.2s linear infinite}
@keyframes flow{to{stroke-dashoffset:-22}}

/* ---------- Gallery ---------- */
.gallery-sec{padding-bottom:clamp(70px,9vw,110px)}
.gallery-swiper{padding:0 16px 10px}
.gallery-swiper .swiper-slide{width:min(380px,78vw);height:auto}
.g-item{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--navy-2)}
.g-item img,.g-item video{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.g-item:hover img,.g-item:hover video{transform:scale(1.06)}
.g-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,15,32,.55),transparent 45%);pointer-events:none}
.g-play{position:absolute;inset:0;margin:auto;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);color:#fff;z-index:2;border:1px solid rgba(255,255,255,.4)}
.g-play .ic{width:30px;height:30px}
.sw-nav{display:flex;gap:10px}
.sw-nav button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;transition:background .3s,color .3s}
.sw-nav button:hover{background:var(--navy);color:#fff}
.sw-nav .sw-prev .ic{transform:scaleX(-1)}
.sw-nav .swiper-button-disabled{opacity:.35;pointer-events:none}

/* ---------- Areas ---------- */
.areas-sec{background:linear-gradient(180deg,var(--paper),#e7f2fb)}
.areas-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.area-chips{display:flex;flex-wrap:wrap;gap:10px}
.area-chips li{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid var(--line);border-radius:999px;font-weight:500;transition:background .3s,color .3s,transform .3s var(--ease)}
.area-chips li:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.area-chips .ic{color:var(--water)}

/* ---------- Why ---------- */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.why{padding:28px 24px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line)}
.why > .ic{width:44px;height:44px;padding:10px;border-radius:14px;background:rgba(255,194,26,.18);color:#a67700;margin-bottom:16px}
.why h3{font-size:1.15rem;margin-bottom:6px}
.why p{color:var(--muted);font-size:.97rem}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.faq-grid > header{position:sticky;top:110px}
.faq-list{display:grid;gap:12px}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:20px;padding:0 24px;transition:box-shadow .4s}
.faq-list details[open]{box-shadow:var(--shadow)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font:600 1.1rem var(--f-head)}
.faq-list summary::-webkit-details-marker{display:none}
.plus{width:30px;height:30px;border-radius:50%;background:var(--paper);position:relative;flex:none;transition:transform .4s var(--ease),background .3s}
.plus::before,.plus::after{content:"";position:absolute;inset:0;margin:auto;width:12px;height:2px;background:var(--ink);border-radius:2px}
.plus::after{transform:rotate(90deg);transition:transform .4s var(--ease)}
details[open] .plus{background:var(--safety)}
details[open] .plus::after{transform:rotate(0)}
.faq-list details p{padding:0 0 22px;color:var(--muted)}

/* ---------- Blog cards ---------- */
.link-more{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--water)}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);transition:transform .5s var(--ease),box-shadow .5s}
.post-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.post-img{aspect-ratio:16/10;overflow:hidden;display:block}
.post-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.post-card:hover .post-img img{transform:scale(1.06)}
.post-body{padding:22px 24px 26px;display:block}
.post-body time{font-size:.85rem;color:var(--muted)}
.post-body h3{font-size:1.2rem;margin:6px 0 10px}
.post-body p{color:var(--muted);font-size:.96rem}

/* ---------- Final CTA ---------- */
.cta-band{position:relative;background:var(--abyss);color:#fff;padding:clamp(80px,11vw,140px) 0;overflow:hidden;text-align:center}
.cta-water{position:absolute;inset:auto -10% -40% -10%;height:120%;background:radial-gradient(60% 50% at 50% 100%,rgba(25,181,229,.45),transparent 70%)}
.cta-in{position:relative}
.cta-band h2{font-size:clamp(2rem,5.5vw,4rem)}
.cta-band h2 span{color:var(--safety)}
.cta-band p{opacity:.85;margin:16px auto 34px;max-width:52ch;font-size:1.1rem}
.cta-band .hero-cta{justify-content:center}

/* ---------- Footer ---------- */
.foot{background:var(--navy);color:rgba(255,255,255,.85);position:relative}
.hazard{height:8px;background:repeating-linear-gradient(-45deg,var(--safety) 0 14px,var(--abyss) 14px 28px)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:60px 0 40px}
.foot h3{color:#fff;font-size:1.1rem;margin-bottom:16px}
.foot-about{margin-top:18px;opacity:.75;max-width:40ch}
.foot-links{display:grid;gap:10px}
.foot-links li,.foot-links a{display:flex;align-items:center;gap:10px}
.foot-links a:hover{color:var(--aqua)}
.foot-links .ic{color:var(--water)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;font-size:.9rem;opacity:.6}

/* ---------- Floating & dock ---------- */
.fab-wa{position:fixed;inset-inline-start:22px;bottom:22px;z-index:40;width:62px;height:62px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;
  box-shadow:0 14px 34px -10px rgba(31,191,91,.7);transition:transform .4s var(--ease)}
.fab-wa .ic{width:32px;height:32px}
.fab-wa:hover{transform:scale(1.08)}
.fab-wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:ring 2.2s var(--ease) infinite}
.fab-tip{position:absolute;inset-inline-start:74px;white-space:nowrap;background:#fff;color:var(--ink);padding:8px 14px;border-radius:12px;font-weight:600;font-size:.9rem;box-shadow:var(--shadow);opacity:0;transform:translateX(10px);transition:.4s var(--ease);pointer-events:none}
.fab-wa:hover .fab-tip{opacity:1;transform:none}
.dock{display:none}

/* ---------- Article / blog pages ---------- */
.page-hero{background:var(--navy);color:#fff;padding:150px 0 70px;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;inset:auto 0 0;height:8px;background:repeating-linear-gradient(-45deg,var(--safety) 0 14px,var(--navy) 14px 28px)}
.page-hero h1{font-size:clamp(2rem,4.6vw,3.4rem);max-width:22ch}
.page-hero p{opacity:.8;margin-top:14px;max-width:60ch}
.crumbs{display:flex;gap:8px;font-size:.9rem;opacity:.7;margin-bottom:18px;flex-wrap:wrap}
.crumbs a:hover{color:var(--aqua)}
.article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;padding:60px 0 100px}
.article-cover{border-radius:var(--r-lg);overflow:hidden;margin-bottom:34px;aspect-ratio:16/9}
.article-cover img{width:100%;height:100%;object-fit:cover}
.prose{font-size:1.1rem;line-height:2}
.prose h2{font-size:1.6rem;margin:2em 0 .6em}
.prose h3{font-size:1.3rem;margin:1.6em 0 .5em}
.prose p{margin:0 0 1.2em}
.prose ul,.prose ol{margin:0 0 1.4em;padding-inline-start:1.4em;list-style:disc}
.prose ol{list-style:decimal}
.prose li{margin:.3em 0}
.prose img{border-radius:16px;margin:1.6em 0;height:auto}
.prose a{color:var(--water);text-decoration:underline;text-underline-offset:4px}
.prose blockquote{margin:1.6em 0;padding:16px 22px;border-inline-start:4px solid var(--safety);background:#fff;border-radius:12px}
.side-card{position:sticky;top:100px;background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:28px;display:grid;gap:14px}
.side-card h3{font-size:1.3rem}
.side-card p{opacity:.8}
.side-card .btn{justify-content:center}
.meta-line{display:flex;gap:18px;flex-wrap:wrap;font-size:.92rem;opacity:.8;margin-top:18px}
.blog-list{padding:60px 0 100px}
.pager{display:flex;gap:8px;justify-content:center;margin-top:40px}
.pager a,.pager span{min-width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#fff;border:1px solid var(--line);font-weight:600}
.pager .cur{background:var(--navy);color:#fff}
.related{margin-top:60px}
.related h2{font-size:1.5rem;margin-bottom:20px}

/* ---------- Reveal defaults (JS adds .in) ---------- */
.js [data-reveal]{opacity:0;transform:translateY(34px)}
.js.no-anim [data-reveal]{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .svc-grid,.post-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .article-wrap{grid-template-columns:1fr}
  .side-card{position:static}
}
@media (max-width:860px){
  :root{--dock-h:72px}
  .nav-links{position:fixed;inset:76px 12px auto;flex-direction:column;background:rgba(7,24,48,.97);backdrop-filter:blur(16px);border-radius:20px;padding:12px;
    box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-10px);transition:.4s var(--ease)}
  .nav-links.open{opacity:1;pointer-events:auto;transform:none}
  .nav-links a{padding:14px 16px;font-size:1.05rem}
  .burger{display:block}
  .nav-phone span{display:none}
  .nav-phone{width:44px;height:44px;padding:0;justify-content:center}
  .gauge-grid,.areas-grid,.faq-grid{grid-template-columns:1fr;gap:40px}
  .faq-grid > header{position:static}
  .tank-body{height:340px}
  .steps{grid-template-columns:1fr}
  .steps-pipe{display:none}
  .foot-grid{grid-template-columns:1fr;gap:28px}
  .fab-wa{display:none}
  .dock{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;inset:auto 0 0;z-index:45;padding:8px 10px calc(8px + env(safe-area-inset-bottom));
    background:rgba(4,15,32,.92);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.08)}
  .dock a{display:flex;align-items:center;justify-content:center;gap:10px;height:54px;border-radius:16px;font:700 1.1rem var(--f-head)}
  .dock .ic{width:24px;height:24px}
  .dock-call{background:var(--safety);color:var(--abyss)}
  .dock-wa{background:var(--wa);color:#fff}
  .hero-in{padding:120px 0 150px}
  .hero-cta .btn{flex:1 1 220px;justify-content:center}
}
@media (max-width:600px){
  body{font-size:16px}
  .svc-grid,.post-grid,.why-grid{grid-template-columns:1fr}
  .sec-head.row{flex-direction:column;align-items:start}
  .brand-txt small{display:none}
  .tank-meta b{font-size:1.1rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js [data-reveal]{opacity:1;transform:none}
}
