@font-face{font-family:"Alfa Slab One";src:url("/assets/fonts/alfa-slab-one.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Montserrat";src:url("/assets/fonts/montserrat.woff") format("woff");font-weight:100 900;font-display:swap}
/* Maynard's Handyman Services. Layout: sticky white header, bands like the printed flyer (blue patterned hero, light content bands, midnight footer). Tokens follow the brand guidelines. */
:root{
  color-scheme:light;
  --blue:#1F5688; --navy:#17426D; --midnight:#0A2440; --red:#EC4A42; --red-deep:#C8322B; --red-dark:#A92720; --coral:#F58D88;
  --steel:#3F74A3; --slate:#52677D; --rule:#D3DDE8; --dust:#F4F7FA; --white:#FFFFFF; --wa:#0B7A52;
  --display:"Alfa Slab One","Rockwell Extra Bold",Rockwell,Georgia,serif;
  --body:Montserrat,"Helvetica Neue",Arial,sans-serif;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s6:24px; --s8:32px; --s12:48px; --s16:64px;
  --r-sm:4px; --r-md:8px; --r-lg:16px;
  --shadow:0 6px 20px rgba(10,36,64,.12);
  --shadow-lg:0 18px 44px rgba(10,36,64,.18);
  --pattern:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 720 720%22 width=%22720%22 height=%22720%22%3E%3Cg fill=%22%23FFFFFF%22 color=%22%23FFFFFF%22 opacity=%220.10%22%3E%3Cg transform=%22translate(90 90) rotate(40) scale(0.76)%22%3E%3Crect x=%22-46%22 y=%22-110%22 width=%2292%22 height=%2238%22 rx=%2211%22/%3E%3Cpath d=%22M46 -91H62V-48H0V-18%22 fill=%22none%22 stroke=%22currentColor%22 stroke-width=%229%22 stroke-linejoin=%22round%22/%3E%3Crect x=%22-11%22 y=%22-20%22 width=%2222%22 height=%22126%22 rx=%2210%22/%3E%3C/g%3E%3Cg transform=%22translate(270 90) rotate(-38) scale(0.76)%22%3E%3Cpath d=%22M0 -114C30 -108 40 -78 36 -52L28 -34H-28L-36 -52C-40 -78 -30 -108 0 -114Z%22/%3E%3Crect x=%22-6%22 y=%22-36%22 width=%2212%22 height=%22104%22/%3E%3Cpath fill-rule=%22evenodd%22 d=%22M-26 62H26a12 12 0 0 1 12 12V92a12 12 0 0 1 -12 12H-26a12 12 0 0 1 -12 -12V74a12 12 0 0 1 12 -12ZM-20 74a4 4 0 0 0 -4 4V88a4 4 0 0 0 4 4H20a4 4 0 0 0 4 -4V78a4 4 0 0 0 -4 -4Z%22/%3E%3C/g%3E%3Cg transform=%22translate(450 90) rotate(-38) scale(0.76)%22%3E%3Cpath d=%22M-11 -112.9V-90H11V-112.9A30 30 0 1 1 -11 -112.9Z%22/%3E%3Crect x=%22-11%22 y=%22-62%22 width=%2222%22 height=%22130%22 rx=%224%22/%3E%3Cpath fill-rule=%22evenodd%22 d=%22M0 58a22 22 0 1 0 0 44a22 22 0 1 0 0 -44ZM0 70a10 10 0 1 1 0 20a10 10 0 1 1 0 -20Z%22/%3E%3C/g%3E%3Cg transform=%22translate(630 90) rotate(34) scale(0.76)%22%3E%3Crect x=%22-44%22 y=%22-70%22 width=%2288%22 height=%2216%22 rx=%226%22/%3E%3Crect x=%22-44%22 y=%22-110%22 width=%229%22 height=%2244%22 rx=%224.5%22/%3E%3Crect x=%22-30%22 y=%22-110%22 width=%229%22 height=%2244%22 rx=%224.5%22/%3E%3Crect x=%22-16%22 y=%22-110%22 width=%229%22 height=%2244%22 rx=%224.5%22/%3E%3Crect x=%22-4.5%22 y=%22-110%22 width=%229%22 height=%2244%22 rx=%224.5%22/%3E%3Crect x=%227%22 y=%22-110%22 width=%229%22 height=%2244%22 rx=%224.5%22/%3E%3Crect x=%2221%22 y=%22-110%22 width=%229%22 height=%2244%22 rx=%224.5%22/%3E%3Crect x=%2235%22 y=%22-110%22 width=%229%22 height=%2244%22 rx=%224.5%22/%3E%3Cpath d=%22M-38 -56H-28L0 -14L28 -56H38L7 0H-7Z%22/%3E%3Crect x=%22-6%22 y=%22-12%22 width=%2212%22 height=%22122%22 rx=%226%22/%3E%3C/g%3E%3Cg transform=%22translate(90 270) rotate(-40) scale(0.76)%22%3E%3Cpath d=%22M0 -114C34 -88 36 -52 22 -28H-22C-36 -52 -34 -88 0 -114Z%22/%3E%3Crect x=%22-4.5%22 y=%22-32%22 width=%229%22 height=%2234%22/%3E%3Crect x=%22-14%22 y=%22-4%22 width=%2228%22 height=%22112%22 rx=%2214%22/%3E%3C/g%3E%3Cg transform=%22translate(270 270) rotate(32) scale(0.76)%22%3E%3Crect x=%22-10%22 y=%224%22 width=%2220%22 height=%22104%22 rx=%2210%22/%3E%3Crect x=%22-31%22 y=%22-26%22 width=%2262%22 height=%2236%22 rx=%225%22/%3E%3Cpath d=%22M-31 -32V-96L-18 -106L-6 -96L6 -106L18 -96L31 -106V-32Z%22/%3E%3C/g%3E%3Cg transform=%22translate(450 270) rotate(-10) scale(0.76)%22%3E%3Crect x=%22-72%22 y=%22-6%22 width=%22116%22 height=%2234%22 rx=%2210%22/%3E%3Crect x=%22-44%22 y=%22-44%22 width=%2256%22 height=%2240%22 rx=%2210%22/%3E%3Cpath fill-rule=%22evenodd%22 d=%22M-46 26a30 30 0 1 0 0 60a30 30 0 1 0 0 -60ZM-46 40a16 16 0 1 1 0 32a16 16 0 1 1 0 -32Z%22/%3E%3Cpath fill-rule=%22evenodd%22 d=%22M26 40a22 22 0 1 0 0 44a22 22 0 1 0 0 -44ZM26 52a10 10 0 1 1 0 20a10 10 0 1 1 0 -20Z%22/%3E%3Cpath d=%22M33.7 -3.1L46.3 3.1L92.3 -88.9L79.7 -95.1Z%22/%3E%3Crect x=%2270%22 y=%22-104%22 width=%2236%22 height=%2214%22 rx=%227%22/%3E%3C/g%3E%3Cg transform=%22translate(630 270) rotate(-42) scale(0.76)%22%3E%3Cpath fill-rule=%22evenodd%22 d=%22M-16 40H16a14 14 0 0 1 14 14V94a14 14 0 0 1 -14 14H-16a14 14 0 0 1 -14 -14V54a14 14 0 0 1 14 -14ZM-8 58a6 6 0 0 0 -6 6V84a6 6 0 0 0 6 6H8a6 6 0 0 0 6 -6V64a6 6 0 0 0 -6 -6Z%22/%3E%3Cpath d=%22M-26.0 44.0 L26.0 44.0 L14.0 -110.0 L-6.0 -110.0 L-15.9 -103.0 L-7.8 -96.0 L-17.7 -89.0 L-9.6 -82.0 L-19.5 -75.0 L-11.5 -68.0 L-21.4 -61.0 L-13.3 -54.0 L-23.2 -47.0 L-15.1 -40.0 L-25.0 -33.0 L-16.9 -26.0 L-26.8 -19.0 L-18.7 -12.0 L-28.6 -5.0 L-20.5 2.0 L-30.5 9.0 L-22.4 16.0 L-32.3 23.0 L-24.2 30.0Z%22/%3E%3C/g%3E%3Cg transform=%22translate(90 450) rotate(44) scale(0.76)%22%3E%3Cpath d=%22M-40 -110H30a8 8 0 0 1 8 8V-80a8 8 0 0 1 -8 8H-40ZM-40 -110C-62 -108 -74 -92 -76 -70L-60 -78C-56 -86 -50 -90 -40 -90Z%22/%3E%3Crect x=%22-10%22 y=%22-74%22 width=%2220%22 height=%22182%22 rx=%229%22/%3E%3C/g%3E%3Cg transform=%22translate(270 450) rotate(22) scale(0.76)%22%3E%3Cpath d=%22M0 -114C30 -108 40 -78 36 -52L28 -34H-28L-36 -52C-40 -78 -30 -108 0 -114Z%22/%3E%3Crect x=%22-6%22 y=%22-36%22 width=%2212%22 height=%22104%22/%3E%3Cpath fill-rule=%22evenodd%22 d=%22M-26 62H26a12 12 0 0 1 12 12V92a12 12 0 0 1 -12 12H-26a12 12 0 0 1 -12 -12V74a12 12 0 0 1 12 -12ZM-20 74a4 4 0 0 0 -4 4V88a4 4 0 0 0 4 4H20a4 4 0 0 0 4 -4V78a4 4 0 0 0 -4 -4Z%22/%3E%3C/g%3E%3Cg transform=%22translate(450 450) rotate(-35) scale(0.76)%22%3E%3Crect x=%22-13%22 y=%2210%22 width=%2226%22 height=%2298%22 rx=%2211%22/%3E%3Cpath d=%22M-9 14H9L37 -68V-106H-37V-68Z%22/%3E%3C/g%3E%3Cg transform=%22translate(630 450) rotate(-34) scale(0.76)%22%3E%3Crect x=%22-33%22 y=%22-112%22 width=%2210%22 height=%2270%22 rx=%225%22/%3E%3Crect x=%22-15%22 y=%22-112%22 width=%2210%22 height=%2270%22 rx=%225%22/%3E%3Crect x=%225%22 y=%22-112%22 width=%2210%22 height=%2270%22 rx=%225%22/%3E%3Crect x=%2223%22 y=%22-112%22 width=%2210%22 height=%2270%22 rx=%225%22/%3E%3Crect x=%22-33%22 y=%22-60%22 width=%2266%22 height=%2222%22 rx=%228%22/%3E%3Crect x=%22-6%22 y=%22-42%22 width=%2212%22 height=%22108%22/%3E%3Cpath fill-rule=%22evenodd%22 d=%22M-26 62H26a12 12 0 0 1 12 12V92a12 12 0 0 1 -12 12H-26a12 12 0 0 1 -12 -12V74a12 12 0 0 1 12 -12ZM-20 74a4 4 0 0 0 -4 4V88a4 4 0 0 0 4 4H20a4 4 0 0 0 4 -4V78a4 4 0 0 0 -4 -4Z%22/%3E%3C/g%3E%3Cg transform=%22translate(90 630) rotate(38) scale(0.76)%22%3E%3Cpath d=%22M-6 -114H54L46 -76H6V-60H-6Z%22/%3E%3Crect x=%22-6%22 y=%22-66%22 width=%2212%22 height=%22176%22 rx=%226%22/%3E%3C/g%3E%3Cg transform=%22translate(270 630) rotate(38) scale(0.76)%22%3E%3Crect x=%22-16%22 y=%228%22 width=%2232%22 height=%22100%22 rx=%2214%22/%3E%3Crect x=%22-5%22 y=%22-96%22 width=%2210%22 height=%22110%22/%3E%3Cpath d=%22M-9 -95H9L5 -113H-5Z%22/%3E%3C/g%3E%3Cg transform=%22translate(450 630) rotate(-48) scale(0.76)%22%3E%3Cpath fill-rule=%22evenodd%22 d=%22M-12 -110H12a6 6 0 0 1 6 6V104a6 6 0 0 1 -6 6H-12a6 6 0 0 1 -6 -6V-104a6 6 0 0 1 6 -6ZM-8 -16V16H8V-16ZM0 -86a8 8 0 1 0 0 16a8 8 0 1 0 0 -16ZM0 70a8 8 0 1 0 0 16a8 8 0 1 0 0 -16Z%22/%3E%3C/g%3E%3Cg transform=%22translate(630 630) rotate(-140) scale(0.76)%22%3E%3Cpath d=%22M-40 -110H30a8 8 0 0 1 8 8V-80a8 8 0 0 1 -8 8H-40ZM-40 -110C-62 -108 -74 -92 -76 -70L-60 -78C-56 -86 -50 -90 -40 -90Z%22/%3E%3Crect x=%22-10%22 y=%22-74%22 width=%2220%22 height=%22182%22 rx=%229%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  --bar-h:0px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--white);color:var(--midnight);font:500 17px/1.65 var(--body);-webkit-font-smoothing:antialiased;padding-bottom:var(--bar-h)}
img,svg{display:block;max-width:100%}
a{color:var(--navy);text-underline-offset:3px}
a:hover{color:var(--red-deep)}
:focus-visible{outline:3px solid var(--red-deep);outline-offset:2px;border-radius:2px}
.on-dark :focus-visible{outline-color:var(--white)}
.skip{position:absolute;left:var(--s4);top:-60px;background:var(--white);color:var(--navy);font-weight:700;padding:10px 16px;border-radius:var(--r-md);z-index:100;box-shadow:var(--shadow)}
.skip:focus{top:var(--s2)}
.wrap{max-width:1180px;margin:0 auto;padding-inline:var(--s4)}
@media(min-width:760px){.wrap{padding-inline:var(--s8)}}
h1,h2,h3,p,ul,ol{margin:0}
h1{font:400 clamp(34px,5.4vw,58px)/1.02 var(--display);text-transform:uppercase;letter-spacing:.005em;text-wrap:balance}
h2{font:800 clamp(25px,3.2vw,34px)/1.18 var(--body);color:var(--navy);letter-spacing:-.01em;text-wrap:balance}
h3{font:700 19px/1.35 var(--body);color:var(--navy)}
p{max-width:68ch}
.eyebrow{font:700 12.5px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--red-deep)}
.lede{font-size:19px;line-height:1.6}
.muted{color:var(--slate)}
.flow>*+*{margin-top:var(--s4)}
.flow>h2+*{margin-top:var(--s3)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 16px/1.2 var(--body);padding:15px 26px;border-radius:var(--r-md);border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s,transform .15s;min-height:52px;text-align:center}
.btn svg{width:20px;height:20px;flex:none}
.btn-primary{background:var(--red-deep);color:var(--white)}
.btn-primary:hover{background:var(--red-dark);color:var(--white)}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--midnight);color:var(--white)}
.btn-outline{background:var(--white);color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:var(--white)}
.btn-light{background:var(--white);color:var(--navy)}
.btn-light:hover{background:var(--dust);color:var(--midnight)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.75)}
.btn-ghost:hover{background:var(--white);color:var(--navy)}
.btn-wa{background:var(--wa);color:var(--white)}
.btn-wa:hover{background:#075c3e;color:var(--white)}
.btn-sm{padding:10px 18px;min-height:44px;font-size:15px}
.btn-block{width:100%}
.btns{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center}
.textlink{font-weight:700;display:inline-flex;align-items:center;gap:6px;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:1px}
.textlink svg{width:16px;height:16px}

/* header */
.util{background:var(--midnight);color:var(--white);font:600 13.5px/1.3 var(--body)}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);min-height:40px}
.util a{color:var(--white);text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.util a:hover{color:var(--coral)}
.util svg{width:15px;height:15px}
.util .links{display:flex;gap:var(--s6)}
.util .areas{color:#c9d6e4}
@media(max-width:899px){.util .areas{display:none}.util .wrap{justify-content:center}}
@media(max-width:699px){.util .mail{display:none}}
.header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--white);border-bottom:1px solid var(--rule);transition:box-shadow .2s}
.header.stuck{box-shadow:0 6px 18px rgba(10,36,64,.10)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:84px}
.brand{display:flex;align-items:center;flex:none}
.brand img,.brand svg{width:148px;height:auto;aspect-ratio:1492/833.5}
.nav{display:none;align-items:center;gap:2px}
@media(min-width:1040px){.nav{display:flex}}
.nav>a,.nav .dd>button{font:700 15.5px/1 var(--body);color:var(--midnight);background:none;border:0;padding:12px 13px;border-radius:var(--r-md);text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.nav>a:hover,.nav .dd>button:hover,.nav .dd.open>button{background:var(--dust);color:var(--navy)}
.nav>a[aria-current="page"],.nav .dd.current>button{color:var(--red-deep)}
.nav .dd{position:relative}
.nav .dd>button svg{width:14px;height:14px;transition:transform .15s}
.nav .dd.open>button svg{transform:rotate(180deg)}
.menu{position:absolute;top:calc(100% + 10px);left:0;min-width:290px;background:var(--white);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--s2);display:none}
.dd.open .menu{display:block}
.menu a{display:flex;align-items:center;gap:var(--s3);padding:11px 12px;border-radius:var(--r-md);font:600 15.5px/1.3 var(--body);color:var(--midnight);text-decoration:none}
.menu a:hover{background:var(--dust);color:var(--navy)}
.menu a.all{font-weight:800;color:var(--navy);border-bottom:1px solid var(--rule);border-radius:var(--r-md) var(--r-md) 0 0;margin-bottom:var(--s1)}
.menu .ic{width:34px;height:34px;border-radius:50%;background:var(--dust);display:flex;align-items:center;justify-content:center;flex:none;color:var(--navy)}
.menu .ic svg{width:22px;height:26px}
.header .cta{display:none}
@media(min-width:1040px){.header .cta{display:inline-flex;margin-left:var(--s2)}}
.menu-btn{display:inline-flex;align-items:center;gap:8px;font:800 15px/1 var(--body);color:var(--navy);background:var(--white);border:2px solid var(--navy);border-radius:var(--r-md);padding:11px 14px;cursor:pointer;min-height:46px}
.menu-btn svg{width:20px;height:20px}
@media(min-width:1040px){.menu-btn{display:none}}
.mobile{display:none;border-top:1px solid var(--rule);background:var(--white);max-height:calc(100vh - 126px);max-height:calc(100dvh - 126px);overflow:auto}
.mobile.open{display:block}
@media(min-width:1040px){.mobile.open{display:none}}
.mobile .wrap{display:grid;gap:2px;padding-block:var(--s3) 96px;min-height:0}
.mobile a,.mobile summary{display:flex;align-items:center;justify-content:space-between;font:700 17px/1.3 var(--body);color:var(--midnight);text-decoration:none;padding:14px 4px;border-bottom:1px solid var(--rule);cursor:pointer;list-style:none}
.mobile summary::-webkit-details-marker{display:none}
.mobile summary svg{width:16px;height:16px;transition:transform .15s}
.mobile details[open] summary svg{transform:rotate(180deg)}
.mobile details a{font-weight:600;font-size:16px;padding-left:var(--s4);color:var(--navy)}
.mobile .btn{margin-top:var(--s4);border-bottom:0;justify-content:center;color:var(--white)}

/* hero */
.hero{background:var(--blue) var(--pattern) 0 0/360px 360px;color:var(--white);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:6px;background:var(--red)}
.hero .wrap{position:relative;padding-block:var(--s12) calc(var(--s12) + 6px)}
@media(min-width:900px){.hero .wrap{padding-block:72px 78px}}
.hero-grid{display:grid;gap:var(--s8);align-items:center}
@media(min-width:960px){.hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:var(--s12)}}
.hero-grid>*{min-width:0}
.hero .eyebrow{color:var(--white);display:inline-flex;align-items:center;gap:10px}
.hero .eyebrow::before{content:"";width:28px;height:3px;background:var(--red);flex:none}
@media(max-width:599px){.hero .eyebrow{letter-spacing:.08em;font-size:12px}.hero .eyebrow::before{display:none}}
.hero h1{margin-top:var(--s4)}
.hero p{font-size:18.5px;line-height:1.6;max-width:56ch;margin-top:var(--s4)}
.hero .btns{margin-top:var(--s8)}
.hero .textlink{color:var(--white)}
.hero .textlink:hover{color:var(--coral)}
.hero-art{justify-self:center;width:min(100%,520px)}
.hero-art img,.hero-art>svg{width:100%;height:auto;filter:drop-shadow(0 18px 30px rgba(10,36,64,.35))}
.hero.inner .wrap{padding-block:var(--s8) calc(var(--s12) + 6px)}
@media(min-width:900px){.hero.inner .wrap{padding-block:var(--s8) 70px}}
.hero.inner h1{font-size:clamp(30px,4.4vw,48px)}
.hero.inner .hero-grid{grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){.hero.inner .hero-grid.has-art{grid-template-columns:minmax(0,1fr) 220px}}
.hero.inner .hero-art{width:200px;display:none}
@media(min-width:960px){.hero.inner .hero-art{display:block}}
.crumbs{font:600 14px/1.4 var(--body);margin-bottom:var(--s8)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0}
.crumbs li{display:flex;align-items:center;gap:8px;color:#d5e0ec}
.crumbs li+li::before{content:"/";color:#8fb0cf}
.crumbs a{color:var(--white);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5)}
.crumbs a:hover{color:var(--coral);border-color:var(--coral)}

/* offer strip */
.offer{background:var(--midnight);color:var(--white)}
.offer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s3) var(--s6);padding-block:var(--s4);text-align:center}
.flash{display:inline-block;background:var(--red);color:var(--white);font:400 19px/1 var(--display);text-transform:uppercase;padding:11px 30px;white-space:nowrap;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 50%,100% 100%,0 100%,12px 50%)}
.offer span{font-weight:600}
.offer a{color:var(--white);font-weight:700}
.offer a:hover{color:var(--coral)}

/* bands */
.band{padding-block:var(--s12)}
@media(min-width:760px){.band{padding-block:76px}}
.band.dust{background:var(--dust)}
.band.tight{padding-block:var(--s12)}
.head{display:grid;gap:var(--s3);margin-bottom:var(--s8);max-width:760px}
.head p:not(.eyebrow){font-size:18px;color:var(--midnight)}

/* service cards */
.cards{display:grid;gap:var(--s6);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.card{position:relative;background:var(--white);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--s8) var(--s6) var(--s6);display:flex;flex-direction:column;gap:var(--s3);transition:transform .18s,box-shadow .18s,border-color .18s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:transparent}
.card .ic{width:68px;height:68px;border-radius:50%;background:var(--dust);display:flex;align-items:center;justify-content:center;color:var(--navy);margin-bottom:var(--s2);transition:background-color .18s,color .18s}
.card:hover .ic{background:var(--navy);color:var(--white)}
.card .ic svg{width:36px;height:43px}
.card p{font-size:16px;line-height:1.6;color:var(--midnight);flex:1}
.card .more{font:700 15.5px/1.3 var(--body);color:var(--red-deep);text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-top:var(--s2)}
.card .more::after{content:"";position:absolute;inset:0;border-radius:var(--r-lg)}
.card .more svg{width:16px;height:16px;transition:transform .18s}
.card:hover .more svg{transform:translateX(4px)}
.band.dust .card{border-color:transparent;box-shadow:0 1px 0 var(--rule)}
@media(min-width:1000px){.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:640px) and (max-width:999px){.cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.cards.five{grid-template-columns:repeat(6,minmax(0,1fr))}.cards.five>*{grid-column:span 2}.cards.five>*:nth-child(4),.cards.five>*:nth-child(5){grid-column:span 3}}

/* split band */
.split{display:grid;gap:var(--s8);align-items:center}
@media(min-width:900px){.split{grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:var(--s16)}}
.split>*{min-width:0}
.joblist{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--s6);border-top:6px solid var(--red)}
.joblist h3{font:800 13px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:var(--s3)}
.joblist ul{list-style:none;padding:0;display:grid}
.joblist li{display:flex;align-items:center;gap:var(--s3);padding:14px 0;border-bottom:1px dashed var(--rule);font-weight:600}
.joblist li:last-child{border-bottom:0}
.joblist .n{width:30px;height:30px;border-radius:50%;background:var(--navy);color:var(--white);font:400 15px/30px var(--display);text-align:center;flex:none}
.joblist .note{margin-top:var(--s4);font-size:14.5px;color:var(--slate)}

/* steps */
.steps{list-style:none;padding:0;display:grid;gap:var(--s6);grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));counter-reset:s}
.steps li{counter-increment:s;background:var(--white);border-radius:var(--r-lg);padding:var(--s8) var(--s6) var(--s6);position:relative;border:1px solid var(--rule)}
.steps li::before{content:counter(s);position:absolute;top:-22px;left:var(--s6);width:46px;height:46px;border-radius:50%;background:var(--red-deep);color:var(--white);font:400 22px/46px var(--display);text-align:center;box-shadow:0 0 0 5px var(--dust)}
.band:not(.dust) .steps li::before{box-shadow:0 0 0 5px var(--white)}
.steps h3{margin-bottom:var(--s2)}
.steps p{font-size:16px;line-height:1.6}

/* areas */
.areas{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.area{position:relative;background:var(--navy);color:var(--white);border-radius:var(--r-lg);padding:var(--s6);display:flex;flex-direction:column;gap:var(--s3);overflow:hidden;transition:transform .18s,box-shadow .18s;min-height:150px}
.area:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.area::before{content:"";position:absolute;right:-34px;bottom:-34px;width:130px;height:130px;border-radius:50%;background:var(--blue)}
.area h3{color:var(--white);font:400 26px/1.1 var(--display);text-transform:uppercase;position:relative}
.area p{font-size:15px;line-height:1.55;color:#dbe6f1;position:relative;flex:1}
.area a{color:var(--white);font:700 15.5px/1.3 var(--body);text-decoration:none;display:inline-flex;align-items:center;gap:6px;position:relative}
.area a::after{content:"";position:absolute;inset:-200px}
.area a svg{width:16px;height:16px;transition:transform .18s}
.area:hover a svg{transform:translateX(4px)}
.area .pin{position:absolute;right:18px;bottom:16px;width:30px;height:45px;color:var(--white)}

/* article layout */
.article{display:grid;gap:var(--s12)}
@media(min-width:1000px){.article{grid-template-columns:minmax(0,1fr) 340px;gap:var(--s16);align-items:start}}
.article>*{min-width:0}
.prose{display:grid;gap:var(--s12)}
.prose section{display:grid;gap:var(--s4)}
.prose section>*{min-width:0}
.aside{position:sticky;top:calc(env(safe-area-inset-top,0px) + 108px);display:grid;gap:var(--s4)}
.quote-card{background:var(--white);border:1px solid var(--rule);border-top:6px solid var(--red);border-radius:var(--r-lg);padding:var(--s6);box-shadow:var(--shadow);display:grid;gap:var(--s4)}
.quote-card h2{font-size:23px}
.quote-card p{font-size:15.5px;line-height:1.55}
.quote-card .tel{font:400 26px/1 var(--display);color:var(--navy);text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.quote-card .tel svg{width:22px;height:22px;color:var(--red-deep)}
.send{list-style:none;padding:0;display:grid;gap:8px;font-size:15px;font-weight:600}
.send li{display:flex;gap:10px;align-items:center}
.send svg{width:18px;height:18px;color:var(--red-deep);flex:none}
.checks{list-style:none;padding:0;display:grid;gap:var(--s3)}
.checks li{display:flex;gap:var(--s3);align-items:flex-start;background:var(--dust);border-radius:var(--r-md);padding:14px 16px;font-weight:600;font-size:16px;line-height:1.5}
.checks svg{width:20px;height:20px;color:var(--red-deep);flex:none;margin-top:2px}
.note{background:var(--dust);border-left:5px solid var(--navy);border-radius:0 var(--r-md) var(--r-md) 0;padding:var(--s4) var(--s6);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;padding:0}
.chips a{display:inline-flex;align-items:center;gap:6px;font:700 15px/1.2 var(--body);padding:11px 16px;border-radius:999px;border:2px solid var(--navy);color:var(--navy);text-decoration:none;background:var(--white)}
.chips a:hover{background:var(--navy);color:var(--white)}
.chips svg{width:14px;height:14px}

/* faq */
.faqs{display:grid;gap:var(--s3)}
.faq{background:var(--white);border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:20px var(--s6);font:700 17.5px/1.4 var(--body);color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{background:var(--dust)}
.faq .pm{width:30px;height:30px;border-radius:50%;background:var(--dust);flex:none;position:relative;transition:background-color .15s}
.faq .pm::before,.faq .pm::after{content:"";position:absolute;left:8px;right:8px;top:14px;height:2.5px;background:var(--navy);transition:transform .15s,background-color .15s}
.faq .pm::after{transform:rotate(90deg)}
.faq[open] .pm{background:var(--red-deep)}
.faq[open] .pm::before,.faq[open] .pm::after{background:var(--white)}
.faq[open] .pm::after{transform:rotate(0)}
.faq .a{padding:0 var(--s6) var(--s6);font-size:16.5px;line-height:1.65}
.faq-wrap{max-width:860px}

/* cta band */
.cta-band{background:var(--blue) var(--pattern) 0 0/360px 360px;color:var(--white);position:relative}
.cta-band::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--red)}
.cta-band .wrap{padding-block:72px;display:grid;gap:var(--s6);justify-items:center;text-align:center}
.cta-band h2{color:var(--white);font:400 clamp(28px,4.2vw,44px)/1.05 var(--display);text-transform:uppercase;max-width:20ch}
.cta-band p{font-size:18.5px;max-width:58ch}
.cta-band .btns{justify-content:center}
.cta-band .tel{color:var(--white);font:400 24px/1 var(--display);text-decoration:none;display:inline-flex;gap:10px;align-items:center}
.cta-band .tel svg{width:20px;height:20px}
.cta-band .tel:hover{color:var(--coral)}

/* contact */
.contact{display:grid;gap:var(--s8)}
@media(min-width:1000px){.contact{grid-template-columns:minmax(0,1fr) 360px;gap:var(--s12);align-items:start}}
.contact>*{min-width:0}
.form-card{background:var(--white);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--s6)}
@media(min-width:760px){.form-card{padding:var(--s8)}}
form{display:grid;gap:var(--s6);margin-top:var(--s6)}
.row{display:grid;gap:var(--s6)}
@media(min-width:640px){.row{grid-template-columns:1fr 1fr}}
.field{display:grid;gap:6px;min-width:0}
label,legend{font:700 15.5px/1.4 var(--body);color:var(--midnight);padding:0}
.opt{font-weight:600;color:var(--slate);font-size:14px}
.help{font-size:14.5px;line-height:1.45;color:var(--slate)}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;font:500 17px/1.4 var(--body);color:var(--midnight);background:var(--white);border:2px solid #8799ac;border-radius:var(--r-md);padding:13px 14px;min-height:52px}
textarea{min-height:130px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:var(--navy)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red-deep);outline-offset:1px;border-color:var(--navy)}
fieldset{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0}
.radios{display:flex;flex-wrap:wrap;gap:var(--s2)}
.radio{position:relative}
.radio input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.radio span{display:inline-flex;align-items:center;gap:8px;font:700 15.5px/1.2 var(--body);padding:13px 18px;border:2px solid #8799ac;border-radius:var(--r-md);color:var(--midnight);background:var(--white);min-height:50px}
.radio input:checked+span{background:var(--navy);border-color:var(--navy);color:var(--white)}
.radio input:focus-visible+span{outline:3px solid var(--red-deep);outline-offset:2px}
.err{font:700 14.5px/1.4 var(--body);color:var(--red-deep);display:none}
.field.invalid .err{display:block}
.field.invalid input,.field.invalid textarea{border-color:var(--red-deep)}
.status{font-weight:700;padding:var(--s4);border-radius:var(--r-md);background:var(--dust);border-left:5px solid var(--navy)}
.status.bad{border-color:var(--red-deep);color:var(--red-deep)}
.privacy{font-size:14.5px;color:var(--slate)}
.handoff{display:grid;gap:var(--s4);margin-top:var(--s6);border:2px solid var(--navy);border-radius:var(--r-lg);padding:var(--s6);background:var(--dust)}
.handoff pre{white-space:pre-wrap;overflow-wrap:anywhere;font:500 15px/1.55 var(--body);background:var(--white);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--s4);margin:0;max-height:300px;overflow:auto}
.detail-card{background:var(--navy);color:var(--white);border-radius:var(--r-lg);padding:var(--s6);display:grid;gap:var(--s4)}
.detail-card h2{color:var(--white);font-size:23px}
.detail-card a{color:var(--white);text-decoration:none;display:flex;gap:var(--s3);align-items:center;font-weight:700;overflow-wrap:anywhere}
.detail-card a:hover{color:var(--coral)}
.detail-card a.big{font:400 28px/1 var(--display)}
.detail-card a.mail{font-size:14.5px}
.detail-card svg{width:22px;height:22px;flex:none;color:var(--coral)}
.detail-card p{font-size:15px;color:#dbe6f1}
.mini-steps{list-style:none;padding:0;display:grid;gap:var(--s4);counter-reset:m}
.mini-steps li{counter-increment:m;display:grid;grid-template-columns:34px 1fr;gap:var(--s3);font-size:15.5px;line-height:1.55}
.mini-steps li::before{content:counter(m);width:34px;height:34px;border-radius:50%;background:var(--red-deep);color:var(--white);font:400 16px/34px var(--display);text-align:center}
.mini-steps b{display:block;color:var(--navy)}
.panel{background:var(--white);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--s6);display:grid;gap:var(--s4)}

/* footer */
.footer{background:var(--midnight);color:#dbe6f1;font-size:15.5px;line-height:1.6}
.footer .top{display:grid;gap:var(--s8);padding-block:var(--s16) var(--s12)}
@media(min-width:900px){.footer .top{grid-template-columns:1.2fr 1fr .8fr .9fr 1.5fr;gap:var(--s8)}}
.footer .mail{font-size:14.5px}
.footer .brandcol img,.footer .brandcol svg{width:210px;height:auto;aspect-ratio:1492/833.5;margin-bottom:var(--s4)}
.footer h2{font:800 13px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:var(--s3)}
.footer ul{list-style:none;padding:0;display:grid;gap:9px}
.footer a{color:var(--white);text-decoration:none}
.footer a:hover{color:var(--coral);text-decoration:underline}
.footer .cols{display:grid;gap:var(--s8);grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:900px){.footer .cols{display:contents}}
.footer .bottom{border-top:1px solid rgba(255,255,255,.16);padding-block:var(--s6);display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);justify-content:space-between;font-size:14px;color:#b6c6d8}
.footer .tel{font:400 22px/1.1 var(--display);color:var(--white)}

/* floating + mobile bar */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:40;display:none;align-items:center;gap:10px;background:var(--wa);color:var(--white);font:700 15.5px/1 var(--body);text-decoration:none;padding:14px 20px 14px 16px;border-radius:999px;box-shadow:var(--shadow-lg);transition:transform .15s,background-color .15s}
.wa-float:hover{transform:translateY(-2px);background:#075c3e;color:var(--white)}
.wa-float svg{width:24px;height:24px}
@media(min-width:760px){.wa-float{display:inline-flex}}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--white);border-top:1px solid var(--rule);box-shadow:0 -6px 18px rgba(10,36,64,.12);display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:var(--s2);padding:8px var(--s3) calc(8px + env(safe-area-inset-bottom,0px))}
.bar a{display:flex;align-items:center;justify-content:center;gap:8px;font:800 14.5px/1.1 var(--body);text-decoration:none;border-radius:var(--r-md);min-height:50px;padding:0 8px;text-align:center}
.bar svg{width:19px;height:19px;flex:none}
.bar .call{color:var(--navy);border:2px solid var(--navy)}
.bar .wa{color:var(--white);background:var(--wa)}
.bar .quote{color:var(--white);background:var(--red-deep)}
@media(max-width:759px){:root{--bar-h:calc(66px + env(safe-area-inset-bottom,0px))}}
@media(min-width:760px){.bar{display:none}}

/* misc */
.center{text-align:center;justify-items:center}
.empty{background:var(--dust);border:2px dashed #9fb2c6;border-radius:var(--r-lg);padding:var(--s12) var(--s6);display:grid;gap:var(--s4);justify-items:center;text-align:center}
.empty .ic{width:72px;height:72px;border-radius:50%;background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--navy)}
.empty .ic svg{width:34px;height:51px}
[hidden]{display:none!important}

/* email stays on one line; footer clear of the floating WhatsApp button */
.footer .mail,.detail-card a.mail span{white-space:normal;overflow-wrap:anywhere}
@media(min-width:520px){.detail-card a.mail span{white-space:nowrap;overflow-wrap:normal}}
@media(min-width:900px){.footer .mail{white-space:nowrap;overflow-wrap:normal}}
@media(min-width:900px){.footer .top{grid-template-columns:1.2fr 1fr .9fr .9fr 1.1fr;gap:var(--s8)}}
@media(min-width:1000px){.contact{grid-template-columns:minmax(0,1fr) 400px}}

/* polish */
.row{align-items:start}
.cta-band p a{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.cta-band p a:hover{color:var(--coral)}
.bar{grid-template-columns:.85fr 1.15fr 1.5fr}
@media(max-width:420px){.bar a{font-size:13.5px}}
@media(max-width:479px){.radios{display:grid;grid-template-columns:1fr 1fr}.radio span{width:100%;justify-content:center;text-align:center;padding-inline:10px}}
@media(max-width:359px){.radios{grid-template-columns:1fr}}

/* services carousel (mobile) */
.car-ui{display:none}
@media(max-width:759px){
  .cards.carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:calc(var(--s4) * -1);padding:6px var(--s4) 14px;scroll-padding-inline:var(--s4)}
  .cards.carousel::-webkit-scrollbar{display:none}
  .cards.carousel>.card{flex:0 0 78%;scroll-snap-align:start;padding:var(--s6) var(--s6) var(--s6)}
  .cards.carousel>.card:hover{transform:none}
  .car-ui{display:flex;align-items:center;justify-content:center;gap:var(--s4);margin-top:var(--s2)}
  .car-btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--navy);background:var(--white);color:var(--navy);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background-color .15s,color .15s,opacity .15s}
  .car-btn svg{width:18px;height:18px}
  .car-btn:active{background:var(--navy);color:var(--white)}
  .car-btn[disabled]{opacity:.35;cursor:default}
  .car-dots{display:flex;gap:7px;align-items:center}
  .car-dots button{width:8px;height:8px;border-radius:999px;border:0;padding:0;background:#b8c6d6;cursor:pointer;transition:width .2s,background-color .2s}
  .car-dots button[aria-current="true"]{width:24px;background:var(--red-deep)}
}
@media (prefers-reduced-motion:reduce){.car-dots button{transition:none}}


/* ---- social icons, footer links ---- */
.util .soc-top{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.14);transition:background-color .2s,transform .2s}
.util .soc-top svg{width:14px;height:14px}
.util .soc-top:hover{background:#1877F2;color:#fff;transform:translateY(-2px)}
.footer .social{display:flex;gap:12px;margin-top:var(--s4)}
.footer a.soc{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);color:#fff;transition:background-color .2s,transform .2s,box-shadow .2s;text-decoration:none}
.footer a.soc svg{width:22px;height:22px}
.footer a.soc:hover{color:#fff;text-decoration:none;transform:translateY(-4px);box-shadow:0 10px 20px rgba(0,0,0,.35)}
.footer a.soc.wa:hover{background:var(--wa)}
.footer a.soc.fb:hover{background:#1877F2}
.footer .bl{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14px}
.footer .bl a{color:#dbe6f1;text-decoration:none;font-weight:600}
.footer .bl a:hover{color:var(--coral);text-decoration:underline}
@media(min-width:760px){.footer{padding-bottom:88px}.footer .bottom{justify-content:space-between}}
@media(max-width:759px){.footer .bottom{flex-direction:column;align-items:flex-start}}

/* ---- cards that pop ---- */
.card{border-color:#e1e9f1;overflow:hidden;box-shadow:0 2px 4px rgba(10,36,64,.06),0 14px 30px rgba(10,36,64,.10);background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--red-deep),var(--coral));transform:scaleX(.16);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.card:hover,.card:focus-within{transform:translateY(-9px);border-color:transparent;box-shadow:0 4px 8px rgba(10,36,64,.08),0 28px 54px rgba(10,36,64,.24)}
.card:hover::before,.card:focus-within::before{transform:scaleX(1)}
.card .ic{width:72px;height:72px;box-shadow:inset 0 0 0 2px rgba(23,66,109,.08);transition:transform .4s cubic-bezier(.2,.8,.2,1),background-color .25s,color .25s,box-shadow .25s}
.card:hover .ic,.card:focus-within .ic{transform:scale(1.12) rotate(-7deg);background:var(--navy);color:#fff;box-shadow:0 10px 20px rgba(23,66,109,.35)}
.card h3{transition:color .2s}
.card:hover h3{color:var(--red-deep)}
.card .more{border-bottom:2px solid transparent;align-self:flex-start;transition:border-color .2s,gap .25s}
.card:hover .more{gap:10px;border-color:var(--red-deep)}
.band.dust .card{box-shadow:0 2px 4px rgba(10,36,64,.06),0 14px 30px rgba(10,36,64,.10)}
.area{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background-color .3s}
.area:hover{transform:translateY(-8px);box-shadow:0 26px 48px rgba(10,36,64,.35);background:#1b4d7e}
.area::before{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.area:hover::before{transform:scale(1.7)}
.steps li{box-shadow:0 2px 4px rgba(10,36,64,.05),0 12px 26px rgba(10,36,64,.09);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.steps li:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(10,36,64,.2)}
.steps li::before{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.steps li:hover::before{transform:scale(1.12) rotate(-6deg)}
.faq{transition:box-shadow .25s,border-color .25s}
.faq:hover{border-color:#9fb2c6;box-shadow:0 8px 20px rgba(10,36,64,.1)}
.faq[open]{border-color:var(--navy);box-shadow:0 12px 26px rgba(10,36,64,.12)}
.quote-card,.panel,.detail-card{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.quote-card:hover,.panel:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.btn{transition:background-color .2s,color .2s,transform .2s,box-shadow .2s,border-color .2s}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(10,36,64,.25)}
.btn:active{transform:translateY(-1px)}
.chips a{transition:background-color .2s,color .2s,transform .2s,box-shadow .2s}
.chips a:hover{transform:translateY(-3px);box-shadow:0 8px 16px rgba(10,36,64,.2)}
.flash{transition:transform .25s}
.offer:hover .flash{transform:scale(1.05)}
.nav>a,.nav .dd>button{position:relative}
.nav>a::after,.nav .dd>button::after{content:"";position:absolute;left:13px;right:13px;bottom:5px;height:3px;border-radius:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav>a:hover::after,.nav .dd>button:hover::after,.nav>a[aria-current="page"]::after,.nav .dd.current>button::after{transform:scaleX(1)}
.hero-art img{animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.wa-float{animation:pulse 3.2s ease-out 2s 3}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(11,122,82,.55),var(--shadow-lg)}70%{box-shadow:0 0 0 18px rgba(11,122,82,0),var(--shadow-lg)}100%{box-shadow:0 0 0 0 rgba(11,122,82,0),var(--shadow-lg)}}

/* ---- scroll reveal (only when JS is running) ---- */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * 80ms)}
.js .reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  .hero-art img,.wa-float{animation:none}
  .card:hover,.area:hover,.steps li:hover,.btn:hover,.chips a:hover,.quote-card:hover,.panel:hover{transform:none}
}
@media(max-width:759px){
  .cards.carousel>.card:hover,.cards.carousel>.card:focus-within{transform:none}
}

.footer a.soc.em:hover{background:var(--red-deep)}
.footer a.soc svg{width:20px;height:20px}

.util a,.util span.links{white-space:nowrap}
