@font-face{font-family:Bitter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/bitter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Bitter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/bitter-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/figtree-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/figtree-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/figtree-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/figtree-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Figtree;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/figtree-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/fraunces-latin-400-italic.woff2) format("woff2")}

body{margin:0;background:#FFF2EC;color:#2D2220;font-family:Figtree,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth}
a{color:#09392C}a:hover{color:#0C4C3B}
*{box-sizing:border-box}
.jub{font-family:Bitter,Georgia,serif;font-weight:600;letter-spacing:-0.025em;text-transform:lowercase}
.sim{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:400}
.eyebrow{font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(18px, 5vw, 32px)}
.wm{position:relative;display:inline-block;font-family:Bitter,Georgia,serif;font-weight:700;letter-spacing:-0.04em}
.wm-i{position:relative;display:inline-block}
.wm-check{position:absolute;left:50%;top:-0.08em;width:.48em;height:.4em;transform:translateX(-42%);overflow:visible}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s;will-change:transform}
.btn:hover{transform:translateY(-2px)}
.btn-dark{background:#09392C;color:#fff;box-shadow:0 10px 24px -10px rgba(9,57,44,.6)}
.btn-dark:hover{background:#0C4C3B;color:#fff;box-shadow:0 16px 30px -12px rgba(9,57,44,.7)}
.btn-lime{background:#6FE200;color:#09392C;box-shadow:0 10px 30px -10px rgba(111,226,0,.8)}
.btn-lime:hover{color:#09392C;background:#7ff012}
.btn-ghost{background:transparent;color:#09392C;border:2px solid rgba(9,57,44,.2)}
.btn-ghost:hover{border-color:#09392C;color:#09392C}
.btn-white{background:#fff;color:#09392C}
.btn-white:hover{color:#09392C}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,242,236,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(9,57,44,.07)}
.navlink{color:#2D2220;text-decoration:none;font-weight:600;font-size:15px;padding:10px 4px}
.navlink:hover{color:#09392C;text-decoration:underline;text-decoration-color:#6FE200;text-decoration-thickness:3px;text-underline-offset:6px}
@media (max-width:860px){.navlinks{display:none !important}}

/* hero */
.blob{position:absolute;background:#09392C;border-radius:58% 42% 38% 62%/52% 44% 56% 48%;animation:blob 16s ease-in-out infinite}
@keyframes blob{0%,100%{border-radius:58% 42% 38% 62%/52% 44% 56% 48%}33%{border-radius:42% 58% 63% 37%/41% 59% 41% 59%}66%{border-radius:63% 37% 47% 53%/60% 38% 62% 40%}}
.spin{animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.floaty{animation:floaty 6s ease-in-out infinite}
.floaty.d2{animation-delay:-2s}.floaty.d3{animation-delay:-4s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.draw path{stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.4s .6s cubic-bezier(.6,0,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.rise{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
.rise.r2{animation-delay:.12s}.rise.r3{animation-delay:.24s}.rise.r4{animation-delay:.36s}.rise.r5{animation-delay:.5s}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.pulse-dot{animation:pd 2s ease-out infinite}
@keyframes pd{0%{box-shadow:0 0 0 0 rgba(111,226,0,.7)}100%{box-shadow:0 0 0 12px rgba(111,226,0,0)}}

/* generated photography */
.blob-photo{background:#09392C url(/assets/img/hero-1024.webp) 85% 50%/auto 112% no-repeat;box-shadow:0 40px 80px -40px rgba(9,57,44,.55);overflow:hidden;animation:blob 16s ease-in-out infinite}
.blob-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:82% 50%;animation:kbv 24s ease-in-out infinite alternate}
@keyframes kbv{from{transform:scale(1.04)}to{transform:scale(1.16) translate(-1.5%,-1.5%)}}
.cta-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cta-shade{position:absolute;inset:0;background:rgba(9,57,44,.80);z-index:0}
.cta-photo>:not(.cta-vid):not(.cta-shade):not(.parallax){position:relative;z-index:1}
.cta-photo>.parallax{z-index:1;opacity:.55}
.pros-photo video{display:block;width:100%;height:360px;object-fit:cover;object-position:50% 25%;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.pros-photo:hover video{transform:scale(1.05)}
@keyframes kb{from{background-size:auto 104%;background-position:86% 50%}to{background-size:auto 122%;background-position:80% 40%}}
.cta-photo{background:linear-gradient(rgba(9,57,44,.80),rgba(9,57,44,.90)),url(/assets/img/lagos-1024.webp) center/cover no-repeat}
.photo{display:block;width:100%;object-fit:cover;border-radius:20px}
.zoomy{overflow:hidden;border-radius:20px}
.zoomy img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.svc:hover .zoomy img,.ctype:hover .zoomy img,.pros-photo:hover img{transform:scale(1.07)}
.pros-photo{position:relative;overflow:hidden;border-radius:28px}
.pros-photo img{display:block;width:100%;height:360px;object-fit:cover;object-position:50% 20%;transition:transform .8s cubic-bezier(.2,.8,.2,1)}

/* phone + chat */
.phone{width:310px;height:630px;border-radius:46px;background:#0b0f0d;padding:11px;box-shadow:0 50px 80px -30px rgba(9,57,44,.55),0 0 0 2px rgba(255,255,255,.08) inset;position:relative}
.screen{width:100%;height:100%;border-radius:36px;overflow:hidden;background:#EFE7DD;display:flex;flex-direction:column}
.chat{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:10px 12px 12px;overflow:hidden;background:#EFE7DD radial-gradient(rgba(9,57,44,.06) 1px,transparent 1px) 0 0/16px 16px}
.msg{max-width:84%;padding:8px 11px;border-radius:14px;font-size:13px;line-height:1.38;box-shadow:0 1px 1px rgba(0,0,0,.08);margin-top:7px;overflow:hidden}
.msg.in{background:#fff;align-self:flex-start;border-top-left-radius:4px}
.msg.out{background:#D9FDD3;align-self:flex-end;border-top-right-radius:4px}
.msg .t{display:block;text-align:right;font-size:10px;color:#6B514B;margin-top:2px}
.m1{animation:m1 18s infinite}.m2{animation:m2 18s infinite}.m3{animation:m3 18s infinite}.m4{animation:m4 18s infinite}.m5{animation:m5 18s infinite}.m6{animation:m6 18s infinite}.m7{animation:m7 18s infinite}
@keyframes m1{0%,2%{opacity:0;max-height:0;margin-top:0;padding-block:0;transform:translateY(10px) scale(.95)}5%,95%{opacity:1;max-height:200px;margin-top:7px;padding-block:8px;transform:none}100%{opacity:0}}
@keyframes m2{0%,9%{opacity:0;max-height:0;margin-top:0;padding-block:0;transform:translateY(10px) scale(.95)}12%,95%{opacity:1;max-height:200px;margin-top:7px;padding-block:8px;transform:none}100%{opacity:0}}
@keyframes m3{0%,17%{opacity:0;max-height:0;margin-top:0;padding-block:0;transform:translateY(10px) scale(.95)}20%,95%{opacity:1;max-height:200px;margin-top:7px;padding-block:8px;transform:none}100%{opacity:0}}
@keyframes m4{0%,26%{opacity:0;max-height:0;margin-top:0;padding-block:0;transform:translateY(10px) scale(.95)}30%,95%{opacity:1;max-height:220px;margin-top:7px;padding-block:8px;transform:none}100%{opacity:0}}
@keyframes m5{0%,40%{opacity:0;max-height:0;margin-top:0;padding-block:0;transform:translateY(10px) scale(.95)}44%,95%{opacity:1;max-height:220px;margin-top:7px;padding-block:8px;transform:none}100%{opacity:0}}
@keyframes m6{0%,55%{opacity:0;max-height:0;margin-top:0;padding-block:0;transform:translateY(10px) scale(.95)}58%,95%{opacity:1;max-height:200px;margin-top:7px;padding-block:8px;transform:none}100%{opacity:0}}
@keyframes m7{0%,66%{opacity:0;max-height:0;margin-top:0;padding-block:0;transform:translateY(10px) scale(.95)}70%,95%{opacity:1;max-height:240px;margin-top:7px;padding-block:8px;transform:none}100%{opacity:0}}
.typing{display:inline-flex;gap:4px}.typing i{width:6px;height:6px;border-radius:50%;background:#9B8070;animation:typ 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes typ{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}

/* floating chips */
.chip{position:absolute;background:#fff;border-radius:18px;padding:12px 16px;box-shadow:0 24px 40px -18px rgba(45,34,32,.35);display:flex;align-items:center;gap:12px;font-size:14px;z-index:3}

/* marquee */
.marquee{display:flex;width:max-content;animation:marq 38s linear infinite}
.marquee:hover{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}

/* reveal on scroll (progressive) */
@supports (animation-timeline: view()){
  .reveal{animation:revealUp linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
  .reveal-l{animation:revealL linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
  .reveal-s{animation:revealS linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
  .parallax{animation:para linear both;animation-timeline:view()}
  .grow-line{animation:growl linear both;animation-timeline:view();animation-range:entry 10% cover 50%}
}
@keyframes revealUp{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes revealL{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:none}}
@keyframes revealS{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
@keyframes para{from{transform:translateY(80px)}to{transform:translateY(-80px)}}
@keyframes growl{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* steps */
.step{background:#fff;border-radius:28px;padding:28px;position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.step:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(9,57,44,.45)}
.stepnum{font-family:Bitter,Georgia,serif;font-weight:700;font-size:15px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#6FE200;color:#09392C}

/* services */
.svc{border-radius:28px;padding:26px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;text-decoration:none;color:#2D2220;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.svc:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 30px 50px -28px rgba(45,34,32,.45);color:#2D2220}
.svc:hover .svc-ico{transform:rotate(-12deg) scale(1.12)}
.svc-ico{width:56px;height:56px;border-radius:18px;background:rgba(255,255,255,.7);display:grid;place-items:center;transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.svc .go{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px}
.svc:hover .go svg{transform:translateX(4px)}
.go svg{transition:transform .25s}
.tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px}

/* cleaning types */
.ctype{border-radius:30px;padding:32px;background:#fff;display:flex;flex-direction:column;gap:18px;transition:transform .35s}
.ctype:hover{transform:translateY(-6px)}
.ck{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45}
.ck svg{flex:none;margin-top:2px}

/* calculator */
.pill{min-height:46px;padding:0 18px;border-radius:999px;border:2px solid rgba(255,255,255,.22);background:transparent;color:#fff;font:600 15px Figtree,sans-serif;cursor:pointer;transition:all .2s}
.pill:hover{border-color:#6FE200}
.pill.on{background:#6FE200;border-color:#6FE200;color:#09392C}
.stepbtn{width:46px;height:46px;border-radius:50%;border:2px solid rgba(255,255,255,.25);background:transparent;color:#fff;font:700 22px Figtree,sans-serif;cursor:pointer;display:grid;place-items:center;transition:all .2s}
.stepbtn:hover{background:#6FE200;color:#09392C;border-color:#6FE200}
.price-pop{animation:pp .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes pp{from{transform:scale(.9);opacity:.4}to{transform:none;opacity:1}}

/* bento */
.bento{border-radius:30px;padding:30px;position:relative;overflow:hidden;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .35s}
.bento:hover{transform:translateY(-4px)}
.ring{stroke-dasharray:283;stroke-dashoffset:283;animation:ring 4s cubic-bezier(.6,0,.2,1) infinite}
@keyframes ring{0%{stroke-dashoffset:283}70%,100%{stroke-dashoffset:40}}
.ticker{height:56px;overflow:hidden}
.ticker-in{animation:tick 6s cubic-bezier(.7,0,.2,1) infinite}
@keyframes tick{0%,30%{transform:translateY(0)}38%,68%{transform:translateY(-56px)}76%,100%{transform:translateY(-112px)}}
.notif{background:rgba(255,255,255,.95);border-radius:16px;padding:10px 12px;display:flex;gap:10px;align-items:center;font-size:13px;color:#2D2220;box-shadow:0 10px 20px -12px rgba(0,0,0,.4)}
.n1{animation:nf 7.5s infinite}.n2{animation:nf 7.5s 2.5s infinite both}.n3{animation:nf 7.5s 5s infinite both}
@keyframes nf{0%{opacity:0;transform:translateY(-14px) scale(.96)}6%,30%{opacity:1;transform:none}36%,100%{opacity:.35;transform:none}}
.shine{position:relative;overflow:hidden}
.shine:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);transform:translateX(-120%);animation:shine 4.5s ease-in-out infinite}
@keyframes shine{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
.checkdraw{stroke-dasharray:30;stroke-dashoffset:30;animation:cd 3s ease-out infinite}
.checkdraw.c2{animation-delay:.35s}.checkdraw.c3{animation-delay:.7s}.checkdraw.c4{animation-delay:1.05s}
@keyframes cd{0%{stroke-dashoffset:30}20%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}

/* video */
.vphone{width:300px;border-radius:44px;background:#0b0f0d;padding:10px;box-shadow:0 60px 90px -30px rgba(0,0,0,.6)}
.vphone video{display:block;width:100%;height:auto;aspect-ratio:9/16;border-radius:34px;object-fit:cover;background:#09392C}
.bubble{position:absolute;border-radius:50%;border:1.5px solid rgba(255,255,255,.18);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.22),rgba(255,255,255,.02) 60%);animation:bub 14s linear infinite}
@keyframes bub{0%{transform:translateY(0);opacity:0}10%{opacity:1}100%{transform:translateY(-700px);opacity:0}}

/* offer */
.wiggle{animation:wig 3.2s ease-in-out infinite}
@keyframes wig{0%,80%,100%{transform:rotate(0)}84%{transform:rotate(-6deg)}88%{transform:rotate(5deg)}92%{transform:rotate(-3deg)}}

/* faq */
details.faq{background:#fff;border-radius:22px;padding:0 26px;transition:background .2s}
details.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:76px;font-weight:700;font-size:18px}
details.faq summary::-webkit-details-marker{display:none}
details.faq .plus{flex:none;width:36px;height:36px;border-radius:50%;background:#FFF2EC;display:grid;place-items:center;transition:transform .3s,background .3s}
details.faq[open] .plus{transform:rotate(45deg);background:#6FE200}
details.faq p{margin:0 0 24px;font-size:16px;line-height:1.6;color:#4a3b38;max-width:760px}

/* cta */
.halo{position:absolute;inset:-14px;border-radius:50%;border:3px solid #6FE200;animation:halo 2.4s ease-out infinite}
.halo.h2{animation-delay:1.2s}
@keyframes halo{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.5);opacity:0}}
.fab{position:fixed;right:22px;bottom:22px;z-index:60;width:64px;height:64px;border-radius:50%;background:#6FE200;display:grid;place-items:center;box-shadow:0 18px 30px -10px rgba(9,57,44,.6);text-decoration:none;transition:transform .25s}
.fab:hover{transform:scale(1.08)}
.fab:before{content:"";position:absolute;inset:0;border-radius:50%;animation:pd 2s ease-out infinite}

/* ---- responsive: phone first, desktop enhancements ---- */
.mbar{display:none}
@media (min-width:640px){.bento-wide{grid-column:span 2}}
@media (max-width:900px){
  .hero-grid{flex-direction:column !important;gap:28px !important;align-items:stretch !important}
  .hero-grid>div{flex:none !important;width:100%}
  .hide-sm{display:none !important}
  .hero-visual{height:auto !important;width:100%;flex:none !important;flex-direction:column;padding-bottom:10px}
  .hero-ring{display:none}
  .blob-photo{position:relative !important;left:auto !important;top:auto !important;margin:0 !important;width:100% !important;height:min(92vw,460px) !important}
  .hero-phone{margin:calc(-1 * min(24vw,130px)) auto 0 !important;width:min(74vw,290px) !important;height:min(150vw,590px) !important;border-radius:40px}
  .hero-phone .screen{border-radius:31px}
  .chip{padding:9px 12px;font-size:13px;gap:9px}
  .chip-a{left:0 !important;bottom:auto !important;top:14px}
  .chip-b{display:none !important}
  .chip-c{right:0 !important;bottom:40px !important}
  .step,.bento{padding:24px}
  .bento{min-height:220px}
  details.faq{padding:0 18px}
  details.faq summary{font-size:16px;min-height:64px}
  .navcta{padding:0 16px !important;font-size:14px !important;min-height:44px !important}
}
@media (max-width:700px){
  .mbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;min-height:58px;border-radius:999px;background:#09392C;color:#fff;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:16px;text-decoration:none;box-shadow:0 18px 30px -12px rgba(9,57,44,.7)}
  .mbar:hover{color:#fff}
  .mbar:before{content:"";position:absolute;inset:0;border-radius:999px;animation:pd 2.4s ease-out infinite}
  .fab{display:none}
  footer{padding-bottom:100px !important}
  .vphone{width:min(72vw,300px)}
}
@media (prefers-reduced-motion: reduce){
  *,*:before,*:after{animation:none !important;transition:none !important}
  .draw path{stroke-dashoffset:0}
}

/* ---------- static-site additions ---------- */
[hidden]{display:none!important}
.skip{position:absolute;left:-9999px;top:0;background:#09392C;color:#fff;padding:12px 16px;border-radius:0 0 12px 0;z-index:100}
.skip:focus{left:0}
:focus-visible{outline:3px solid #6FE200;outline-offset:3px}
img,video{max-width:100%}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.crumbs{font-size:14px;color:#6B514B;padding-top:22px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.crumbs li+li:before{content:"/";margin-right:8px;color:#C3AA99}
.crumbs a{color:#6B514B}
.page-hero{padding:clamp(28px,6vw,64px) 0 clamp(40px,7vw,72px)}
.prose{max-width:760px;font-size:17px;line-height:1.7;color:#3d302d}
.prose h2{font-family:Bitter,Georgia,serif;font-weight:600;letter-spacing:-.02em;text-transform:lowercase;color:#09392C;font-size:clamp(28px,5vw,40px);line-height:1.1;margin:48px 0 14px}
.prose h3{font-size:19px;color:#2D2220;margin:28px 0 8px}
.prose a{color:#09392C;text-decoration-color:#6FE200;text-decoration-thickness:2px;text-underline-offset:3px}
.prose ul{padding-left:22px}
.prose li{margin:6px 0}
.ptable{width:100%;border-collapse:collapse;background:#fff;border-radius:22px;overflow:hidden;font-size:16px}
.ptable caption{text-align:left;font-weight:700;padding:0 0 12px;color:#2D2220}
.ptable th,.ptable td{text-align:left;padding:14px 18px;border-bottom:1px solid #F1E6DD}
.ptable thead th{background:#09392C;color:#fff;font-weight:700;font-size:14px;letter-spacing:.04em}
.ptable td.num,.ptable th.num{text-align:right;font-variant-numeric:tabular-nums}
.ptable tr:last-child td{border-bottom:0}
.tbl-wrap{overflow-x:auto;border-radius:22px;box-shadow:0 20px 40px -30px rgba(45,34,32,.35)}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.chips a,.chips span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:#fff;color:#09392C;font-weight:600;font-size:15px;text-decoration:none;border:1px solid #E8D9C9;transition:background .2s,border-color .2s}
.chips a:hover{background:#6FE200;border-color:#6FE200;color:#09392C}
.chips small{color:#6B514B;font-weight:500;margin-left:6px}
.cookie{position:fixed;left:12px;right:12px;bottom:12px;z-index:70;max-width:560px;margin:0 auto;background:#2D2220;color:#fff;border-radius:22px;padding:18px 20px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);display:none;gap:14px;flex-wrap:wrap;align-items:center;font-size:14px;line-height:1.5}
.cookie.show{display:flex}
.cookie p{margin:0;flex:1 1 260px}
.cookie a{color:#6FE200}
.cookie button{min-height:44px;padding:0 18px;border-radius:999px;border:0;font:700 14px Figtree,sans-serif;cursor:pointer}
.cookie .ok{background:#6FE200;color:#09392C}
.cookie .no{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35)}
@media (max-width:700px){.cookie{bottom:82px}}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:28px;width:100%}
.foot-cols h2{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#6B514B;margin:0 0 12px}
.foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot-cols a{color:#2D2220;text-decoration:none;font-weight:600;font-size:15px}
.foot-cols a:hover{color:#09392C;text-decoration:underline;text-decoration-color:#6FE200;text-decoration-thickness:3px}
/* reveal fallback for browsers without scroll timelines */
@supports not (animation-timeline: view()){
  .js .reveal,.js .reveal-l,.js .reveal-s{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
  .js .reveal-s{transform:scale(.94)}
  .js .reveal-l{transform:translateX(-40px)}
  .js .in{opacity:1!important;transform:none!important}
}
