/*!
 * Ataman Business — © 2025-2026 Ataman System (BE0794892889), atamansystem.link
 * Design, styles, animations et images : propriété d'Ataman System.
 * Usage autorisé uniquement sur le site pour lequel une licence a été émise. Reproduction interdite.
 */
/* Layout: fogged-glass hero over a live water-light backdrop; content sits on frosted panes that read like freshly wiped windows. Left-aligned, one signature motion (the squeegee wipe). */
:root{
  --frame:#F7FBFA;
  --ink:#0F2A30; --ink-2:#3C5A60; --ink-3:#6E878B;
  --sky:#E7F1F0; --sky-2:#D6E8E6;
  --mint:#0FA396; --mint-ink:#0B7F75; --lemon:#F2C14E; --coral:#E8705A;
  --glass:rgba(255,255,255,.52); --glass-strong:rgba(255,255,255,.74); --glass-line:rgba(255,255,255,.75);
  --shadow:0 18px 50px -20px rgba(15,42,48,.35);
  --fog:232,242,241;
  --display:"Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --body:"Figtree", "Segoe UI", system-ui, sans-serif;
  --r-lg:28px; --r-md:18px; --r-sm:12px;
  --alb-accent:var(--mint); /* shared with the AtamanSystem Lesson Booking plugin */
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --ink:#E6F3F1; --ink-2:#B3CBC8; --ink-3:#84A09D; --sky:#0B1D21; --sky-2:#10282D;
  --mint:#33C9BA; --mint-ink:#5ADBCD; --lemon:#F4CC66; --coral:#F08A74;
  --glass:rgba(22,48,54,.5); --glass-strong:rgba(18,40,46,.82); --glass-line:rgba(160,220,214,.18);
  --shadow:0 18px 50px -20px rgba(0,0,0,.6); --fog:18,42,47; --frame:#1E3D43; color-scheme:dark;}}
:root[data-theme="dark"]{
  --ink:#E6F3F1; --ink-2:#B3CBC8; --ink-3:#84A09D; --sky:#0B1D21; --sky-2:#10282D;
  --mint:#33C9BA; --mint-ink:#5ADBCD; --lemon:#F4CC66; --coral:#F08A74;
  --glass:rgba(22,48,54,.5); --glass-strong:rgba(18,40,46,.82); --glass-line:rgba(160,220,214,.18);
  --shadow:0 18px 50px -20px rgba(0,0,0,.6); --fog:18,42,47; --frame:#1E3D43; color-scheme:dark;}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--sky);color:var(--ink);font:400 17px/1.6 var(--body);overflow-x:hidden}
h1,h2,h3{font-family:var(--display);line-height:1.05;text-wrap:balance;margin:0;letter-spacing:-.02em}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--mint);outline-offset:3px;border-radius:8px}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* living water-light backdrop */
.backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--sky)}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.75;animation:drift 22s ease-in-out infinite alternate}
.b1{width:52vmax;height:52vmax;left:-12vmax;top:-18vmax;background:radial-gradient(circle,#7FE0D3,transparent 65%)}
.b2{width:44vmax;height:44vmax;right:-14vmax;top:8vmax;background:radial-gradient(circle,#BFE6FF,transparent 65%);animation-duration:28s}
.b3{width:38vmax;height:38vmax;left:30vmax;bottom:-20vmax;background:radial-gradient(circle,#FFE49A,transparent 65%);animation-duration:34s;opacity:.55}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .blob{opacity:.32}}
:root[data-theme="dark"] .blob{opacity:.32}
@keyframes drift{to{transform:translate(6vmax,4vmax) scale(1.12)}}

.glass{background:var(--glass);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid var(--glass-line);box-shadow:var(--shadow)}

/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--sky)}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;padding-block:14px}
.nav{display:flex;align-items:center;gap:18px;justify-content:space-between;border-radius:999px;padding:10px 10px 10px 22px}
.logo{display:flex;align-items:center;gap:10px;font:800 21px var(--display);text-decoration:none;letter-spacing:-.03em}
.logo svg{flex:none}
.logo span{white-space:nowrap}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;font-weight:500;font-size:15px}
.nav ul a{text-decoration:none;color:var(--ink-2)}
.nav ul a:hover{color:var(--ink)}
.nav ul a{white-space:nowrap}

.btn{--bg:var(--ink);--fg:var(--sky);display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;font:600 16px var(--body);padding:14px 22px;border-radius:999px;background:var(--bg);color:var(--fg);text-decoration:none;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.btn:hover{transform:translateY(-2px)}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.btn:hover::after{transform:translateX(120%)}
.btn.mint{--bg:var(--mint);--fg:#fff}
.btn.ghost{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.small{padding:10px 18px;font-size:15px;white-space:nowrap}

/* hero */
.hero{padding-block:clamp(28px,6vw,70px) 40px}
.pane{position:relative;border-radius:var(--r-lg);padding:clamp(26px,5vw,64px);overflow:hidden}
.pane .frame{position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px 0 rgba(255,255,255,.9)}
.hero-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(24px,4vw,56px);align-items:end;position:relative;z-index:1}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}
.kicker{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--mint-ink);margin-bottom:18px}
.kicker i{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 6px color-mix(in srgb,var(--mint) 22%,transparent)}
.hero h1{font-size:clamp(46px,8.4vw,112px);font-weight:800;letter-spacing:-.045em}
.hero h1 .thin{font-weight:400;display:block;color:var(--ink-2)}
.hero .lead{max-width:46ch;font-size:clamp(17px,1.6vw,20px);color:var(--ink-2);margin-top:22px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
#fog{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.hero-grid .btn,.hero-grid .quick{position:relative;z-index:3}
.fog-hint{position:absolute;right:22px;top:18px;z-index:3;font-size:13px;font-weight:600;color:var(--ink-2);background:var(--glass-strong);padding:6px 12px;border-radius:999px;opacity:0;transition:opacity .6s}
.fog-hint.on{opacity:1}
@media (max-width:600px){.fog-hint{top:auto;bottom:16px;right:16px}}

.quick{border-radius:var(--r-md);padding:22px;display:grid;gap:14px;background:var(--glass-strong)}
.quick h2{font-size:22px}
.quick .row{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:var(--ink-2);border-bottom:1px dashed color-mix(in srgb,var(--ink) 18%,transparent);padding-bottom:10px}
.quick .row b{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.quick .row:last-of-type{border:0;padding:0}

.facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:26px;font-size:15px;color:var(--ink-2)}
.facts b{font-family:var(--display);font-size:22px;color:var(--ink);margin-right:6px}

/* sections */
section.block{padding-block:clamp(56px,8vw,100px) 0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.sec-head h2{font-size:clamp(34px,5vw,60px);font-weight:800;max-width:16ch}
.sec-head p{max-width:42ch;color:var(--ink-2)}

.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:980px){.services{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.services{grid-template-columns:1fr}}
.svc{border-radius:var(--r-md);padding:24px;text-align:left;cursor:pointer;color:var(--ink);font:inherit;display:flex;flex-direction:column;gap:12px;min-height:250px;transition:transform .35s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d;position:relative;overflow:hidden}
.svc:hover{transform:translateY(-6px)}
.svc .shine{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.55),transparent 45%);opacity:0;transition:opacity .3s}
.svc:hover .shine{opacity:1}
.svc .ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--mint) 16%,transparent);color:var(--mint-ink)}
.svc h3{font-size:24px}
.svc p{color:var(--ink-2);font-size:15px;flex:1}
.svc .from{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:15px}
.svc .from span{font-variant-numeric:tabular-nums}
.svc .more{color:var(--mint-ink)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{border-radius:var(--r-md);padding:24px;counter-increment:s}
.step::before{content:counter(s);font:800 54px/1 var(--display);color:transparent;-webkit-text-stroke:1.5px var(--mint);display:block;margin-bottom:14px}
.step h3{font-size:21px;margin-bottom:6px}
.step p{color:var(--ink-2);font-size:15px}

/* titres-services band */
.ts{border-radius:var(--r-lg);padding:clamp(26px,5vw,52px);display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
@media (max-width:820px){.ts{grid-template-columns:1fr}}
.ts h2{font-size:clamp(30px,4.2vw,48px);font-weight:800}
.ts p{color:var(--ink-2);margin-top:14px;max-width:48ch}
.voucher{position:relative;border-radius:16px;padding:22px 24px;background:linear-gradient(135deg,var(--lemon),#F7D98A);color:#3A2C05;box-shadow:var(--shadow);transform:rotate(-3deg);max-width:380px;justify-self:center;width:100%}
.voucher::before,.voucher::after{content:"";position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:var(--sky);transform:translateY(-50%)}
.voucher::before{left:-11px}.voucher::after{right:-11px}
.voucher small{font-weight:700;font-size:13px;opacity:.8}
.voucher b{display:block;font:800 40px/1.1 var(--display);margin:6px 0}
.voucher span{font-size:14px}

/* communes */
.communes{display:flex;flex-wrap:wrap;gap:8px}
.communes button{border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);font:500 15px var(--body);padding:9px 15px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
.communes button:hover,.communes button[aria-pressed="true"]{background:var(--mint);color:#fff;border-color:transparent}
.commune-note{margin-top:16px;color:var(--ink-2);min-height:1.6em}

/* faq */
.faq{display:grid;gap:10px;align-items:start}
@media (min-width:900px){.faq{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}}
.faq details{border-radius:var(--r-sm);padding:4px 20px}
.faq summary{cursor:pointer;font-weight:600;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 26px/1 var(--display);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--ink-2);padding-bottom:16px;max-width:70ch}

footer{padding-block:80px 120px;color:var(--ink-2);font-size:14px}
.foot{display:grid;grid-template-columns:1fr auto 1fr;gap:24px 40px;align-items:start;border-top:1px solid color-mix(in srgb,var(--ink) 15%,transparent);padding-top:28px}.foot>:last-child{text-align:right}.hours{text-align:center;min-width:240px}.hours b{display:block;color:var(--ink);font:700 15px var(--body);margin-bottom:8px}.hours dl{margin:0;display:grid;gap:4px}.hours dl>div{display:flex;justify-content:space-between;gap:24px}.hours dt{color:var(--ink-2)}.hours dd{margin:0;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.hours dl>div.today dt,.hours dl>div.today dd{color:var(--mint-ink);font-weight:700}@media (max-width:760px){.foot{grid-template-columns:1fr}.foot>:last-child{text-align:left}.hours{text-align:left;min-width:0;max-width:320px}}
.demo-tag{display:inline-block;margin-top:10px;font-size:13px;color:var(--ink-3)}

/* dialogs */
dialog{border:0;padding:0;background:transparent;overflow:visible;color:var(--ink);max-width:min(620px,calc(100vw - 32px));width:100%;max-height:calc(100dvh - 32px)}
dialog::backdrop{background:color-mix(in srgb,var(--sky) 40%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
dialog[open] .sheet{animation:pop .5s cubic-bezier(.2,1.2,.3,1)}
@keyframes pop{from{opacity:0;transform:translateY(24px) scale(.94);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.sheet{clip-path:inset(0 round var(--r-lg));border-radius:var(--r-lg);padding:clamp(22px,4vw,34px);background:var(--glass-strong);backdrop-filter:blur(30px) saturate(170%);-webkit-backdrop-filter:blur(30px) saturate(170%);border:1px solid var(--glass-line);box-shadow:var(--shadow);max-height:calc(100dvh - 32px);overflow:auto}
.sheet-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px}
.sheet h2{font-size:clamp(26px,4vw,34px);font-weight:800}
.x{border:0;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:20px;flex:none}
.field{display:grid;gap:8px;margin-bottom:16px}
.field>span{font-weight:600;font-size:14px}
.seg{display:flex;flex-wrap:wrap;gap:6px;background:color-mix(in srgb,var(--ink) 6%,transparent);padding:5px;border-radius:14px}
.seg label{flex:1;min-width:90px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;text-align:center;padding:10px 8px;border-radius:10px;cursor:pointer;font-weight:500;font-size:15px;transition:background .2s}
.seg input:checked+span{background:var(--glass-strong);box-shadow:0 4px 14px -6px rgba(15,42,48,.35);font-weight:700}
.seg input:focus-visible+span{outline:3px solid var(--mint)}
input[type=range]{width:100%;accent-color:var(--mint)}
.range-val{font:800 22px var(--display);font-variant-numeric:tabular-nums}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:480px){.checks{grid-template-columns:1fr}}
.checks label{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--ink) 5%,transparent);cursor:pointer;font-size:15px}
.checks input{accent-color:var(--mint);width:18px;height:18px}
.total{display:flex;justify-content:space-between;align-items:end;gap:14px;flex-wrap:wrap;padding:18px 20px;border-radius:var(--r-md);background:linear-gradient(135deg,color-mix(in srgb,var(--mint) 22%,transparent),color-mix(in srgb,var(--lemon) 18%,transparent));margin:6px 0 18px}
.total .price{font:800 clamp(40px,8vw,54px)/1 var(--display);font-variant-numeric:tabular-nums}
.total small{display:block;color:var(--ink-2);font-size:13px;margin-top:4px}
.text-in{width:100%;font:500 16px var(--body);padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);background:var(--glass-strong);color:var(--ink)}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
@media (max-width:480px){.slots{grid-template-columns:repeat(2,1fr)}}
.slots button{border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);background:transparent;color:var(--ink);border-radius:10px;padding:10px 4px;font:500 14px var(--body);cursor:pointer}
.slots button[aria-pressed="true"]{background:var(--ink);color:var(--sky)}
.pay-note{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--ink-2);margin:4px 0 18px}
.pay-note b{color:var(--ink)}
.done{text-align:center;padding:20px 0}
.done svg{margin:0 auto 14px;display:block}
.done .tick{stroke-dasharray:60;stroke-dashoffset:60;animation:draw .7s .2s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.incl{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:8px}
.incl li{display:flex;gap:10px;align-items:start}
.incl li::before{content:"";flex:none;width:20px;height:20px;margin-top:3px;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/100% no-repeat}

/* assistant */
.bot-btn{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;border:0;border-radius:999px;padding:14px 20px 14px 16px;display:flex;gap:10px;align-items:center;font:600 15px var(--body);color:#fff;background:var(--mint);cursor:pointer;box-shadow:0 14px 34px -10px color-mix(in srgb,var(--mint) 70%,transparent)}
.bot-btn .dot{width:10px;height:10px;border-radius:50%;background:#C6FFE9;box-shadow:0 0 0 0 rgba(198,255,233,.8);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 12px rgba(198,255,233,0)}100%{box-shadow:0 0 0 0 rgba(198,255,233,0)}}
.bot{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:31;width:min(380px,calc(100vw - 36px));border-radius:22px;display:flex;flex-direction:column;max-height:min(560px,calc(100dvh - 120px));transform-origin:bottom right}
.bot:not([hidden]){animation:pop .45s cubic-bezier(.2,1.2,.3,1)}
.bot-head{padding:16px 18px;border-bottom:1px solid var(--glass-line)}
.bot-head b{display:block}
.bot-head small{color:var(--ink-2)}
.msgs{padding:14px;display:flex;flex-direction:column;gap:8px;overflow:auto;flex:1}
.m{max-width:85%;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.45}
.m.b{background:var(--glass-strong);border-top-left-radius:6px}
.m.u{align-self:end;background:var(--ink);color:var(--sky);border-top-right-radius:6px}
.chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}
.chips button{border:1px solid var(--mint);background:transparent;color:var(--mint-ink);border-radius:999px;padding:6px 12px;font:500 13px var(--body);cursor:pointer}
.bot form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--glass-line)}
.bot form input{flex:1;min-width:0}
.typing{display:inline-flex;gap:4px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:bob 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes bob{50%{transform:translateY(-4px)}}


/* kinetic headline */
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
.hero h1 .w>span{display:inline-block;will-change:transform}

/* before / after window */
.wiper-sec{padding-block:clamp(56px,8vw,100px) 0}
.wiper{position:relative;border-radius:var(--r-lg);padding:14px;max-width:1080px}
.win{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/8.4;max-width:100%;background:#9fd3e6;touch-action:pan-y;user-select:none;-webkit-user-select:none}
@media (max-width:640px){.win{aspect-ratio:4/4.4}}
.win svg.view{position:absolute;inset:0;width:100%;height:100%;display:block}
.win canvas.grime{position:absolute;inset:0;width:100%;height:100%;clip-path:inset(0 0 0 var(--cut,50%))}
.win .mull{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(var(--frame),var(--frame)) 50% 0/10px 100% no-repeat,
  linear-gradient(var(--frame),var(--frame)) 0 52%/100% 10px no-repeat;
  box-shadow:inset 0 0 0 10px var(--frame),inset 0 0 40px rgba(0,0,0,.18)}
.squeegee{position:absolute;top:0;bottom:0;left:var(--cut,50%);width:0;z-index:3;cursor:ew-resize;outline:none}
.squeegee .blade{position:absolute;top:-2%;bottom:-2%;left:-7px;width:14px;border-radius:7px;background:linear-gradient(90deg,#1b3d44,#2f6c74 40%,#1b3d44);box-shadow:0 0 0 2px rgba(255,255,255,.55),0 10px 30px rgba(0,0,0,.35)}
.squeegee .handle{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:var(--lemon);display:grid;place-items:center;box-shadow:0 10px 30px -6px rgba(0,0,0,.45),inset 0 -3px 0 rgba(0,0,0,.12);color:#3A2C05;transition:transform .2s}
.squeegee:hover .handle,.squeegee:focus-visible .handle{transform:translate(-50%,-50%) scale(1.08)}
.squeegee:focus-visible .handle{outline:3px solid var(--mint);outline-offset:3px}
.squeegee .trail{position:absolute;top:0;bottom:0;right:7px;width:34px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35));pointer-events:none}
.win .tag{position:absolute;top:18px;z-index:2;font:700 14px var(--body);padding:7px 14px;border-radius:999px;background:var(--glass-strong);color:var(--ink);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.win .tag.l{left:24px}.win .tag.r{right:24px}
.glint{position:absolute;width:26px;height:26px;z-index:2;pointer-events:none;opacity:0}
.glint::before,.glint::after{content:"";position:absolute;inset:0;margin:auto;background:#fff;border-radius:2px}
.glint::before{width:3px;height:100%}.glint::after{height:3px;width:100%}
.wiper-meta{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:space-between;align-items:center;padding:16px 8px 4px;color:var(--ink-2);font-size:15px}
.wiper-meta b{color:var(--ink);font-variant-numeric:tabular-nums}
.meter{flex:1;min-width:180px;max-width:360px;height:8px;border-radius:99px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}
.meter i{display:block;height:100%;width:var(--clean,50%);background:linear-gradient(90deg,var(--mint),var(--lemon));border-radius:inherit}

/* soap bubbles */
.bubble{position:fixed;z-index:1000;pointer-events:none;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.95) 0 8%,transparent 9%),
  radial-gradient(circle at 50% 50%,transparent 58%,rgba(127,224,211,.55) 66%,rgba(191,230,255,.6) 74%,rgba(255,228,154,.55) 82%,rgba(255,255,255,.75) 92%,transparent 96%)}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  #fog,.fog-hint{display:none}
}

/* WordPress additions */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--sky);padding:10px 16px;border-radius:999px}
.skip:focus{left:16px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.form-err{color:var(--coral);font-weight:600;font-size:15px;margin:0 0 14px}
.logo-img{height:var(--logo-h,34px);width:auto;display:block}
.logo svg{height:var(--logo-h,30px);width:auto}
.nav .menu{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.faq .ans{padding-bottom:6px}
.faq .ans p{color:var(--ink-2);padding-bottom:12px;max-width:70ch;margin:0}
.sel{user-select:all}
.page-body{padding-block:clamp(40px,6vw,80px) 20px}
.page-body .pane{max-width:860px}
.woocommerce-page .page-body .pane,.post-type-archive-product .page-body .pane{max-width:none}
.page-body h1{font-size:clamp(34px,5vw,56px);font-weight:800;margin-bottom:24px}
.entry{color:var(--ink-2);display:grid;gap:14px}
.entry h2,.entry h3{color:var(--ink);margin-top:14px}
.entry a{color:var(--mint-ink)}
.btn:disabled{opacity:.6;cursor:progress}

/* ---------- Services page & illustrations ---------- */

:root{--art-bg:var(--sky-2);--art-wall2:#F7FBFA;--art-floor:#C8DEDA;--art-line:#A9C7C2;--art-acc:var(--mint);--art-acc2:var(--mint-ink);--art-ink:#1D3A40;--art-lemon:#F2C14E;--art-coral:#E8705A;--art-plant:#3FA37A;--art-shine:rgba(255,255,255,.7);--art-spark:#fff;--art-sky:#AEDDF0;--art-city:#6E9EA6;--art-frame:#F7FBFA;--art-dirt:rgba(150,135,100,.55);--art-streak:rgba(110,95,70,.45);--art-water:#5BC0E8;--art-box:#E9C99A;--art-boxl:#C49A62;--art-paper:#fff;--art-dust:rgba(160,150,135,.55);--art-rug:#E8705A;--art-foam:#fff}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--art-bg:var(--sky-2);--art-wall2:#2A4C53;--art-floor:#1A3C43;--art-line:#2E5A60;--art-ink:#0B1D21;--art-shine:rgba(255,255,255,.18);--art-sky:#2E6F86;--art-city:#1E4A55;--art-frame:#2A4C53;--art-paper:#E6F3F1;--art-box:#B8956A;--art-boxl:#8A6A42;--art-rug:#B9564A;--art-foam:#E6F3F1}}
:root[data-theme="dark"]{--art-bg:var(--sky-2);--art-wall2:#2A4C53;--art-floor:#1A3C43;--art-line:#2E5A60;--art-ink:#0B1D21;--art-shine:rgba(255,255,255,.18);--art-sky:#2E6F86;--art-city:#1E4A55;--art-frame:#2A4C53;--art-paper:#E6F3F1;--art-box:#B8956A;--art-boxl:#8A6A42;--art-rug:#B9564A;--art-foam:#E6F3F1}
svg.art{display:block;width:100%;height:auto;aspect-ratio:16/10}
.spk{transform-box:fill-box;transform-origin:center;animation:twinkle 2.6s ease-in-out infinite}
.spk:nth-of-type(2n){animation-delay:.9s}.spk:nth-of-type(3n){animation-delay:1.7s}
@keyframes twinkle{0%,100%{opacity:.25;scale:.6}50%{opacity:1;scale:1}}

.crumbs{font-size:14px;color:var(--ink-2);margin-bottom:14px}.crumbs a{color:var(--ink-2)}
.page-hero{padding-block:clamp(24px,5vw,56px) 0}
.page-hero .pane{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(20px,4vw,48px);align-items:center}
@media (max-width:860px){.page-hero .pane{grid-template-columns:1fr}}
.page-hero h1{font-size:clamp(40px,6.4vw,84px);font-weight:800;letter-spacing:-.04em}
.page-hero .lead{max-width:52ch;color:var(--ink-2);font-size:clamp(17px,1.5vw,19px);margin-top:18px}
.page-hero .mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.page-hero .mosaic>*{border-radius:16px;box-shadow:var(--shadow);overflow:hidden}

@media (max-width:860px){.page-hero .mosaic{display:none}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.filters button{border:1px solid var(--glass-line);background:var(--glass);color:var(--ink);font:600 15px var(--body);padding:10px 18px;border-radius:999px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--sky);border-color:transparent}
.sv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:980px){.sv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.sv-grid{grid-template-columns:1fr}}
.sv-card{border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s}
.sv-card:hover{transform:translateY(-6px)}
.sv-card.off{display:none}
.sv-grid.anim .sv-card{transition:none}
.sv-grid.anim .sv-card{transition:none}
.sv-pic{display:block;overflow:hidden;border-bottom:1px solid var(--glass-line)}
.sv-pic>*{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.sv-card:hover .sv-pic>*{transform:scale(1.06)}
.sv-body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1}
.sv-body h2{font-size:24px}
.sv-body p{color:var(--ink-2);font-size:15px;flex:1}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag-s{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--mint) 16%,transparent);color:var(--mint-ink)}
.sv-foot{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:15px}
.sv-foot b{font-variant-numeric:tabular-nums}.sv-foot small{font-weight:500;color:var(--ink-2)}
.sv-foot .more{color:var(--mint-ink);font-weight:600}
.sv-dlg{max-width:min(760px,calc(100vw - 32px))}
.sv-sheet{padding:0;display:block}
.sv-hero{position:relative}
.sv-hero>svg,.sv-hero>img{aspect-ratio:16/7;width:100%;display:block;object-fit:cover}
.sv-hero .x{position:absolute;top:14px;right:14px;background:var(--glass-strong);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sv-in{padding:clamp(20px,4vw,34px);display:grid;gap:14px}
.sv-h{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 16px}
.sv-h h3{font-size:clamp(24px,3.4vw,32px);font-weight:800}
.sv-price{font-weight:800;font-size:20px;color:var(--mint-ink);font-variant-numeric:tabular-nums}.sv-price small{font-size:14px;font-weight:500;color:var(--ink-2)}
.sv-in>p{color:var(--ink-2);max-width:66ch}.sv-in .sv-lead{color:var(--ink);font-size:18px}
.ts-note{display:inline-block;justify-self:start;background:color-mix(in srgb,var(--lemon) 35%,transparent);color:var(--ink)!important;padding:6px 12px;border-radius:10px;font-size:14px;font-weight:600}
.sv-cols{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;margin-top:4px}
@media (max-width:640px){.sv-cols{grid-template-columns:1fr}}
.sv-cols h4{font:700 15px var(--body);margin:0 0 10px}
.sv-meta{display:grid;gap:12px;margin:0;padding:16px;border-radius:14px;background:color-mix(in srgb,var(--ink) 5%,transparent);align-content:start}
.sv-meta dt{color:var(--ink-3);font-size:13px;font-weight:600}.sv-meta dd{margin:2px 0 0;font-size:15px}
.sv-actions{margin-top:6px}
.zone-txt{max-width:70ch;color:var(--ink-2)}
.cta-band{border-radius:var(--r-lg);padding:clamp(26px,5vw,48px);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(28px,3.6vw,42px);font-weight:800;max-width:20ch}

img.art-photo{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.sv-hero img.art-photo{aspect-ratio:16/7}
.sv-in .entry-c{display:grid;gap:12px;color:var(--ink-2);max-width:66ch}
.sv-in .entry-c p:first-child{color:var(--ink);font-size:18px}
.sv-in .entry-c p{margin:0}
.all-svc{margin-top:20px}

.nav ul a[aria-current=page]{color:var(--ink);font-weight:600}

/* footer: legal + bottom bar */
.legal b{display:block;color:var(--ink);font:700 15px var(--body);margin-bottom:8px}.legal ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.legal a{color:var(--ink-2);text-decoration:none}.legal a:hover{color:var(--mint-ink);text-decoration:underline}.foot-bottom{display:grid;justify-items:center;text-align:center;gap:4px;margin-top:28px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent);font-size:13px;color:var(--ink-3)}.foot-bottom a{color:var(--ink-2)}.foot-bottom .demo-tag{margin-top:4px}
.entry ul{margin:0;padding-left:20px;display:grid;gap:6px}.entry strong{color:var(--ink)}


/* contact + map */
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.map-card,.form-card{border-radius:var(--r-lg);overflow:hidden}
.map-box{position:relative;aspect-ratio:16/10;max-width:100%;background:var(--art-bg)}
.map-box svg.mapart{position:absolute;inset:0;width:100%;height:100%}
.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-box .pin{animation:pinbob 2.4s ease-in-out infinite}
.map-box .pulse{transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite}
@keyframes pinbob{50%{translate:0 -6px}}
@keyframes pulse{0%{scale:.6;opacity:.45}100%{scale:2.6;opacity:0}}
.map-consent{position:absolute;left:16px;right:16px;bottom:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 16px;border-radius:16px;background:var(--glass-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-line)}
.map-consent small{color:var(--ink-2);font-size:13px;max-width:36ch}
.map-info{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;padding:22px 24px}
@media (max-width:520px){.map-info{grid-template-columns:1fr}}
.map-info dt{color:var(--ink-3);font-size:13px;font-weight:600}
.map-info dd{margin:2px 0 0;color:var(--ink);font-size:15px}
.map-info a{color:var(--mint-ink);font-weight:600}
.form-card{padding:clamp(22px,3.5vw,34px);display:grid;gap:16px}
.form-card h3{font-size:clamp(22px,2.6vw,28px)}
.channels{display:flex;flex-wrap:wrap;gap:8px}
.channels a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid var(--glass-line);background:var(--glass);color:var(--ink);text-decoration:none;font-weight:600;font-size:14px}
.channels a:hover{background:var(--mint);color:#fff;border-color:transparent}
.channels svg{flex:none}
.cf{display:grid;gap:12px}
.cf .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.cf .two{grid-template-columns:1fr}}
.cf label{display:grid;gap:6px;font-weight:600;font-size:14px}
.cf textarea{min-height:120px;resize:vertical;font:500 16px var(--body)}
.cf select.text-in{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}
.cf .consent{display:flex;gap:10px;align-items:flex-start;font-weight:500;color:var(--ink-2);font-size:14px}
.cf .consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--mint);flex:none}
.cf .consent a{color:var(--mint-ink)}
.cf-ok{display:grid;justify-items:center;text-align:center;gap:10px;padding:24px 8px}
.cf-ok svg .tick{stroke-dasharray:60;stroke-dashoffset:60;animation:draw .7s .2s forwards}
@media (max-width:600px){.map-box{aspect-ratio:4/3.6}.map-consent{left:10px;right:10px;bottom:10px;padding:12px}.map-consent small{font-size:12px}}

/* ---------- Hero effects (1.6) ---------- */
.hero h1{position:relative}
.hero h1 .tw-ghost{visibility:hidden;display:block}
.hero h1 .tw{position:absolute;inset:0}
.hero h1 .tw .t1,.hero h1 .tw .t2{display:block}
.hero h1 .caret{display:inline-block;width:.07em;height:.82em;margin-left:.05em;background:var(--mint);vertical-align:-.04em;border-radius:2px;animation:an-blink 1s steps(1) infinite}
.hero h1 .caret.off{opacity:0;animation:none;transition:opacity .4s}
@keyframes an-blink{50%{opacity:0}}
.road{position:absolute;right:0;top:0;width:52%;height:74%;z-index:0;pointer-events:none;overflow:visible}
@media (max-width:900px){.road{width:100%;height:52%;opacity:.55}}
.road path{fill:none;stroke-linecap:round}
.road .road-bed{stroke:color-mix(in srgb,var(--ink) 16%,transparent);stroke-width:66}
.road .road-edge{stroke:color-mix(in srgb,var(--sky) 70%,var(--ink) 6%);stroke-width:56}
.road .road-path{stroke:var(--lemon);stroke-width:3.5;stroke-dasharray:14 12;opacity:.9}
.road.draw .road-bed,.road.draw .road-edge{stroke-dasharray:1;stroke-dashoffset:1;animation:an-road 1.3s cubic-bezier(.6,0,.2,1) forwards}
.road.draw .road-path{opacity:0;animation:an-fade .6s .9s forwards}
@keyframes an-road{to{stroke-dashoffset:0}}
@keyframes an-fade{to{opacity:.9}}
.road .car .body{fill:var(--mint)}
.road .car .roof{fill:color-mix(in srgb,var(--mint) 70%,#000)}
.road .car .glass-w{fill:color-mix(in srgb,var(--sky) 80%,#fff)}
.road .car .wheel{fill:var(--ink)}
.road .car .lamp{fill:var(--lemon)}
.road .car .plate{fill:#fff;font:800 11px/1 var(--body);text-anchor:middle}
.road .car{filter:drop-shadow(0 6px 6px rgba(0,0,0,.25))}
.tlight{position:absolute;right:22px;top:18px;z-index:3;display:flex;gap:7px;padding:7px 10px;border:0;border-radius:999px;background:#141A20;cursor:pointer;box-shadow:var(--shadow)}
.tlight i{width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,.14);transition:background .25s,box-shadow .25s}
.tlight i.r.on{background:#FF4D4D;box-shadow:0 0 14px #FF4D4D}
.tlight i.o.on{background:#FFB020;box-shadow:0 0 14px #FFB020}
.tlight i.g.on{background:#2EE07A;box-shadow:0 0 14px #2EE07A}
@media (max-width:600px){.tlight{top:auto;bottom:16px;right:16px}}

/* ---------- Pages, posts, blog, blocks (1.6) ---------- */
.wide-body .pane,.post-body .pane{max-width:none}
.post-pane{max-width:900px!important;margin-inline:auto}
.post-pane h1{font-size:clamp(32px,4.6vw,54px);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin-bottom:12px}
.post-meta{color:var(--ink-3);font-size:14px;margin-bottom:22px}.post-meta a{color:var(--mint-ink)}
.post-cover{margin:0 0 26px}.post-cover img{width:100%;height:auto;border-radius:var(--r-md);display:block}
.post-tags a{display:inline-block;margin:0 6px 6px 0;padding:4px 12px;border-radius:999px;border:1px solid var(--glass-line);background:var(--glass);color:var(--ink-2);font-size:13px;text-decoration:none}
.post-nav{display:flex;justify-content:space-between;gap:16px;margin-top:34px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);font-weight:600}
.post-nav a{color:var(--ink)}.post-nav .next{margin-left:auto;text-align:right}
.list-head{margin-bottom:28px}.list-head h1{font-size:clamp(34px,5vw,60px);font-weight:800;letter-spacing:-.03em}
.list-head .lead{color:var(--ink-2);max-width:56ch;margin-top:12px;font-size:18px}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.post-card{display:flex;flex-direction:column;border-radius:var(--r-md);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.post-card:hover{transform:translateY(-6px)}
.pc-pic{display:block}.pc-pic img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block}
.pc-body{display:grid;gap:8px;padding:20px 22px 24px}
.pc-body time{color:var(--ink-3);font-size:13px}.pc-body h2{font-size:22px;line-height:1.2}.pc-body p{color:var(--ink-2)}
.pc-body .more{color:var(--mint-ink);font-weight:600}
.pagination,.nav-links{display:flex;gap:8px;justify-content:center;margin-top:30px}
.nav-links .page-numbers{min-width:42px;height:42px;display:grid;place-items:center;border-radius:999px;background:var(--glass);border:1px solid var(--glass-line);color:var(--ink);text-decoration:none;padding:0 12px}
.nav-links .page-numbers.current{background:var(--ink);color:var(--sky)}
.free-body .entry{gap:28px}
/* Blocks inside .entry */
.entry>*{max-width:100%}
.entry img{max-width:100%;height:auto}
.entry .wp-block-image img,.entry figure.wp-block-image img{border-radius:var(--r-md)}
.entry .wp-block-button__link,.entry .wp-element-button{background:var(--mint);color:#fff;border-radius:999px;padding:14px 24px;font-weight:600;text-decoration:none}
.entry .is-style-an-ghost .wp-block-button__link,.entry .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.entry .wp-block-quote{border-left:4px solid var(--mint);padding:6px 0 6px 20px;margin:0;font-size:1.15em;color:var(--ink)}
.entry .wp-block-pullquote{border-color:var(--mint);color:var(--ink)}
.entry .wp-block-table table{width:100%;border-collapse:collapse}.entry .wp-block-table td,.entry .wp-block-table th{border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);padding:10px 12px}
.entry .wp-block-separator{border:0;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.entry .wp-block-columns{gap:20px}
.entry .is-style-an-glass{background:var(--glass);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid var(--glass-line);box-shadow:var(--shadow);border-radius:var(--r-lg);padding:clamp(22px,4vw,48px)}
.entry .wp-block-column.is-style-an-glass{border-radius:var(--r-md);padding:24px}
.entry .wp-block-cover.is-style-an-rounded{border-radius:var(--r-lg);overflow:hidden}
.entry ul.is-style-an-checks{list-style:none;padding:0}
.entry ul.is-style-an-checks li{display:flex;gap:10px;align-items:start}
.entry ul.is-style-an-checks li::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;background:var(--mint);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800;margin-top:2px}
.entry h2,.entry h3,.entry h4{color:var(--ink);line-height:1.15}
.entry .alignwide,.entry .alignfull{max-width:none}
.comment-respond,.comments-area{margin-top:30px}
.comment-respond input:not([type=submit]):not([type=checkbox]),.comment-respond textarea{width:100%;background:var(--glass-strong);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:12px;padding:12px 14px;font:inherit}
.comment-respond .submit{background:var(--mint);color:#fff;border:0;border-radius:999px;padding:13px 22px;font:600 16px var(--body);cursor:pointer}

/* Long business names in the menu bar on phones */
.nav .logo{min-width:0}.nav .logo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav>.btn,.nav>a.btn{flex:none}
@media (max-width:420px){.nav .logo span{font-size:16px}}

/* ---------- Blog 1.7: article layout, blocks, animations ---------- */
.read-progress{position:fixed;inset:0 0 auto;height:4px;z-index:60;pointer-events:none}
.read-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--mint),var(--lemon));transform:scaleX(0);transform-origin:0 50%}
.post-body{padding-bottom:30px}
.post-hero{padding-top:clamp(40px,6vw,90px);max-width:980px}
.chip{display:inline-block;padding:5px 12px;border-radius:999px;background:color-mix(in srgb,var(--mint) 14%,transparent);color:var(--mint-ink);font-size:13px;font-weight:700;text-decoration:none;margin-bottom:14px}
.post-title{font-size:clamp(36px,6vw,76px);font-weight:800;line-height:1.02;letter-spacing:-.035em}
.post-title.words .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.post-title.words .w>span{display:inline-block;transform:translateY(110%);animation:an-rise .9s cubic-bezier(.16,1,.3,1) forwards}
@keyframes an-rise{to{transform:none}}
.post-lead{font-size:clamp(18px,1.8vw,22px);color:var(--ink-2);max-width:60ch;margin-top:18px}
.post-body .post-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;color:var(--ink-3);font-size:14px;margin:22px 0 0}
.post-meta .rt{display:inline-flex;gap:6px;align-items:center;color:var(--ink-2);font-weight:600}
.post-cover{margin-top:clamp(26px,4vw,44px);margin-bottom:clamp(26px,4vw,44px)}
.post-cover .cover-in{display:block;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);animation:an-cover 1.2s cubic-bezier(.16,1,.3,1) both}
.post-cover img,.post-cover svg{display:block;width:100%;height:auto;max-height:560px;object-fit:cover}
.post-cover svg{aspect-ratio:16/7}
@keyframes an-cover{from{clip-path:inset(12% 8% 12% 8% round 40px);transform:scale(1.04)}to{clip-path:inset(0 0 0 0 round 0);transform:none}}
.post-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.post-layout.has-toc{grid-template-columns:240px minmax(0,1fr)}
@media (max-width:1000px){.post-layout.has-toc{grid-template-columns:minmax(0,1fr)}}
.post-layout .post-pane{max-width:none!important;margin:0}
.post-layout:not(.has-toc) .post-pane{max-width:880px!important;margin-inline:auto}
.toc{position:sticky;top:110px;border-radius:var(--r-md);padding:20px 18px;font-size:14px}
.toc b{display:block;margin-bottom:10px;font-family:var(--display)}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:t}
.toc a{display:block;padding:7px 10px 7px 12px;border-left:2px solid transparent;color:var(--ink-2);text-decoration:none;border-radius:0 8px 8px 0;transition:all .25s}
.toc a:hover{color:var(--ink)}
.toc a.on{border-left-color:var(--mint);background:color-mix(in srgb,var(--mint) 10%,transparent);color:var(--ink);font-weight:600}
@media (max-width:1000px){.toc{position:static}}
.post-pane .entry{font-size:18px;line-height:1.7;gap:18px}
.post-pane .entry h2{font-size:clamp(26px,3vw,34px);margin-top:26px;scroll-margin-top:110px}
.post-pane .entry h3{font-size:22px;margin-top:10px}
.post-pane .entry p a:not(.btn){color:var(--mint-ink);text-decoration-thickness:2px;text-underline-offset:3px}
/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}
/* big quote */
.entry .wp-block-quote.is-style-an-big{position:relative;border:0;padding:44px clamp(22px,4vw,48px) 30px;border-radius:var(--r-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--mint) 16%,transparent),color-mix(in srgb,var(--lemon) 14%,transparent));font:600 clamp(22px,2.6vw,30px)/1.3 var(--display);letter-spacing:-.01em;color:var(--ink);overflow:hidden}
.entry .wp-block-quote.is-style-an-big::before{content:"“";position:absolute;left:18px;top:-30px;font:800 150px/1 var(--display);color:var(--mint);opacity:.35}
.entry .wp-block-quote.is-style-an-big.rv::before{transform:scale(.4) rotate(-20deg);transition:transform 1s .2s cubic-bezier(.34,1.56,.64,1)}
.entry .wp-block-quote.is-style-an-big.in::before{transform:none}
.entry .wp-block-quote.is-style-an-big cite{display:block;margin-top:14px;font:600 15px var(--body);color:var(--ink-2);font-style:normal}
.entry .wp-block-quote.is-style-an-big cite::before{content:"— "}
/* tip */
.entry .is-style-an-tip{position:relative;border-radius:var(--r-md);padding:22px 24px 22px 74px;background:color-mix(in srgb,var(--lemon) 18%,transparent);border:1px solid color-mix(in srgb,var(--lemon) 50%,transparent)}
.entry .is-style-an-tip::before{content:"";position:absolute;left:22px;top:22px;width:34px;height:34px;border-radius:50%;background:var(--lemon) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 00-3.5 10.9c.6.4 1 1.1 1 1.8V16h5v-.3c0-.7.4-1.4 1-1.8A6 6 0 0012 3z' fill='none' stroke='%231d1d1d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.entry .is-style-an-tip>*{margin:0}.entry .is-style-an-tip>*+*{margin-top:6px}
/* call-to-action band */
.entry .is-style-an-cta{border-radius:var(--r-lg);padding:clamp(24px,4vw,44px);background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--mint) 28%,transparent),transparent 60%),var(--glass-strong);border:1px solid var(--glass-line);box-shadow:var(--shadow)}
.entry .is-style-an-cta h3{font-size:clamp(24px,3vw,32px);margin:0 0 6px}
.entry .is-style-an-cta .wp-block-buttons{margin-top:16px;gap:10px}
.entry .wp-block-button__link{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.entry .wp-block-button__link:hover{transform:translateY(-3px);box-shadow:0 12px 24px -12px color-mix(in srgb,var(--mint) 70%,transparent)}
/* numbers */
.entry .is-style-an-numbers{gap:14px}
.entry .is-style-an-numbers .wp-block-column{background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--r-md);padding:22px;text-align:center}
.entry .is-style-an-numbers p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.35}
.entry .is-style-an-numbers strong{display:block;font:800 clamp(38px,5vw,56px)/1 var(--display);color:var(--mint);letter-spacing:-.03em;margin-bottom:8px;font-variant-numeric:tabular-nums}
/* steps list */
.entry ol.is-style-an-steps{list-style:none;padding:0;counter-reset:s;display:grid;gap:12px}
.entry ol.is-style-an-steps li{counter-increment:s;position:relative;padding:14px 18px 14px 64px;border-radius:var(--r-md);background:var(--glass);border:1px solid var(--glass-line)}
.entry ol.is-style-an-steps li::before{content:counter(s);position:absolute;left:16px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:#fff;font-weight:800}
/* countdown */
.an-countdown{border-radius:var(--r-lg);padding:clamp(22px,3.5vw,36px);text-align:center;display:grid;gap:14px;justify-items:center}
.an-countdown .cd-title{font:700 20px var(--display);margin:0}
.an-countdown .cd{display:flex;gap:clamp(8px,2vw,16px);justify-content:center}
.an-countdown .cd span{display:grid;gap:4px;min-width:clamp(64px,10vw,92px);padding:14px 8px;border-radius:var(--r-md);background:var(--ink);color:var(--sky)}
.an-countdown .cd b{display:block;font:800 clamp(30px,4.6vw,48px)/1 var(--display);font-variant-numeric:tabular-nums}
.an-countdown .cd small{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.75}
.an-countdown .cd-date{margin:0;color:var(--ink-3);font-size:14px}
.an-countdown .cd-done{font:700 22px var(--display);margin:0}
/* service card */
.an-svc-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border-radius:var(--r-lg);overflow:hidden}
.an-svc-card .pic{display:block;min-height:220px}
.an-svc-card .pic svg,.an-svc-card .pic img{width:100%;height:100%;object-fit:cover;display:block}
.an-svc-card .body{display:grid;gap:8px;align-content:center;padding:clamp(20px,3vw,32px)}
.an-svc-card .kick{color:var(--mint-ink);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.an-svc-card strong{font:800 clamp(22px,2.6vw,28px)/1.15 var(--display);color:var(--ink)}
.an-svc-card .desc{color:var(--ink-2);font-size:16px;line-height:1.5}
.an-svc-card .price{font-weight:800;color:var(--ink)}
.an-svc-card .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
@media (max-width:640px){.an-svc-card{grid-template-columns:1fr}.an-svc-card .pic{min-height:170px}}
/* share, end of post */
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:30px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.share span{font-weight:700;margin-right:6px}
.share a,.share button{padding:8px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);background:transparent;color:var(--ink);text-decoration:none;font:600 14px var(--body);cursor:pointer;transition:background .2s}
.share a:hover,.share button:hover{background:var(--glass-strong)}
.post-cta-wrap{margin-top:clamp(34px,5vw,60px)}
.post-cta{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center;border-radius:var(--r-lg);padding:clamp(24px,4vw,44px);background:radial-gradient(90% 160% at 100% 0%,color-mix(in srgb,var(--mint) 30%,transparent),transparent 60%),var(--glass)}
.post-cta h2{font-size:clamp(26px,3.4vw,40px)}.post-cta p{color:var(--ink-2);margin-top:6px;max-width:52ch}
.related{margin-top:clamp(40px,6vw,80px)}.related>h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:20px}
.post-body .post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;border:0;padding:0}
.post-body .post-nav a{display:grid;gap:4px;padding:18px 20px;border-radius:var(--r-md);background:var(--glass);border:1px solid var(--glass-line);text-decoration:none;color:var(--ink);font-weight:700;height:100%}
.post-body .post-nav small{color:var(--ink-3);font-weight:500;font-size:13px}
.post-body .post-nav .next{grid-column:2;text-align:right}
.post-comments{margin-top:30px}
/* blog list */
.list-head .kicker{margin-bottom:10px}
.cat-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.cat-filter a{padding:8px 16px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-line);color:var(--ink-2);text-decoration:none;font-weight:600;font-size:14px}
.cat-filter a[aria-current]{background:var(--ink);color:var(--sky);border-color:transparent}
.post-card .pc-pic{overflow:hidden}
.post-card .pc-pic img,.post-card .pc-pic svg{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.post-card:hover .pc-pic img,.post-card:hover .pc-pic svg{transform:scale(1.05)}
.pc-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;color:var(--ink-3);font-size:13px}
.pc-meta .chip{margin:0;padding:3px 10px;font-size:12px}
.pc-body h3{font-size:21px;line-height:1.2}
.post-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr}
.post-card.featured .pc-pic img,.post-card.featured .pc-pic svg{height:100%;aspect-ratio:auto;min-height:320px}
.post-card.featured .pc-body{align-content:center;padding:clamp(24px,4vw,48px)}
.post-card.featured h2{font-size:clamp(28px,3.4vw,42px);line-height:1.1}
@media (max-width:820px){.post-card.featured{grid-template-columns:1fr}.post-card.featured .pc-pic img,.post-card.featured .pc-pic svg{min-height:0;aspect-ratio:16/10}.post-body .post-nav{grid-template-columns:1fr}.post-body .post-nav .next{grid-column:1}}
.post-card .more span{display:inline-block;transition:transform .3s}.post-card:hover .more span{transform:translateX(5px)}
@media (prefers-reduced-motion: reduce){.post-cover .cover-in{animation:none}.post-title.words .w>span{animation:none;transform:none}}

.post-cover.wrap{margin-inline:auto}
.entry a.btn,.an-svc-card a.btn,.an-countdown a.btn{color:var(--fg);text-decoration:none}
.entry .wp-block-group.is-layout-flex{gap:10px}
.entry{grid-template-columns:minmax(0,1fr)}
@media (max-width:520px){.an-countdown{padding:20px 12px}.an-countdown .cd{gap:6px}.an-countdown .cd span{min-width:0;flex:1;padding:10px 4px}.an-countdown .cd small{font-size:10px;letter-spacing:.02em}}
@media (max-width:600px){.post-layout .post-pane{padding:24px 18px}.post-pane .entry{font-size:17px}.entry .is-style-an-tip{padding:18px 16px 18px 58px}.entry .is-style-an-tip::before{left:14px;top:18px;width:30px;height:30px}.entry ol.is-style-an-steps li{padding:12px 14px 12px 56px}.entry ol.is-style-an-steps li::before{left:12px}}

/* ---------- Menu 1.7.1: sub-menus, « Menu » button when links do not fit ---------- */
.nav{position:relative}
.nav .menu{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
.nav .menu>li{position:relative;display:flex;align-items:center;gap:2px}
.nav .sub-t{display:grid;place-items:center;width:22px;height:22px;border:0;background:none;color:var(--ink-2);cursor:pointer;border-radius:6px;padding:0}
.nav .sub-t svg{transition:transform .25s}
.nav .sub{display:none;position:absolute;top:calc(100% + 14px);left:-14px;min-width:220px;flex-direction:column;gap:2px;padding:8px;border-radius:var(--r-sm);z-index:5}
.nav .sub li{display:block}.nav .sub a{display:block;padding:9px 12px;border-radius:8px}
.nav .sub a:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.nav .has-sub:hover>.sub,.nav .has-sub:focus-within>.sub,.nav .has-sub.sub-open>.sub{display:flex}
.nav .has-sub.sub-open .sub-t svg,.nav .has-sub:hover .sub-t svg{transform:rotate(180deg)}
.nav .has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px}
.nav .has-sub.is-current>a{color:var(--ink);font-weight:600}
.nav-toggle{display:none;align-items:center;gap:8px;border:0;background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink);font:600 15px var(--body);padding:10px 14px;border-radius:999px;cursor:pointer;flex:none}
.nav-toggle .bars{display:grid;gap:4px;width:18px}
.nav-toggle .bars i{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .3s,opacity .3s}
.nav.open .nav-toggle .bars i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.open .nav-toggle .bars i:nth-child(2){opacity:0}
.nav.open .nav-toggle .bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.top-wide>.wrap{max-width:min(1400px,96vw)}
@media (min-width:760px){
.nav[data-navmode="keep"]{flex-wrap:wrap;row-gap:8px;border-radius:26px}
.nav[data-navmode="keep"] .menu{flex-wrap:wrap;row-gap:6px;column-gap:16px}
.nav[data-navmode="keep"].compact .menu{position:static;display:flex;flex-direction:row;flex-wrap:wrap;background:none;box-shadow:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;max-height:none}
.nav[data-navmode="keep"].compact .nav-toggle{display:none}
.nav[data-navmode="keep"].compact{gap:14px}
.nav[data-navmode="keep"].compact .logo{margin-right:0}
}
.nav.compact .nav-toggle{display:inline-flex;order:3}
.nav.compact{gap:10px}
.nav.compact .logo{margin-right:auto}
.nav.compact .menu{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;padding:12px;border-radius:var(--r-md);background:var(--glass-strong);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid var(--glass-line);box-shadow:var(--shadow);max-height:calc(100vh - 120px);overflow:auto}
.nav.compact.open .menu{display:flex;animation:an-drop .35s cubic-bezier(.16,1,.3,1)}
@keyframes an-drop{from{opacity:0;transform:translateY(-8px)}}
.nav.compact .menu>li{flex-wrap:wrap;justify-content:space-between}
.nav.compact .menu>li>a{flex:1;padding:12px 14px;border-radius:10px;font-size:17px}
.nav.compact .menu>li>a:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.nav.compact .sub-t{width:40px;height:40px}
.nav.compact .sub{position:static;width:100%;min-width:0;box-shadow:none;border:0;background:none;backdrop-filter:none;padding:0 0 6px 14px}
.nav.compact .has-sub:hover>.sub{display:none}.nav.compact .has-sub.sub-open>.sub{display:flex}
.nav.compact .has-sub::after{display:none}
@media (max-width:420px){.nav-toggle .lbl{display:none}.nav-toggle{padding:11px 12px}}
/* Nested glass cannot blur inside the blurred bar: give drop-downs an almost solid background */
.nav .sub,.nav.compact .menu{background:var(--sky);backdrop-filter:none;-webkit-backdrop-filter:none}
.nav.compact .sub{background:none}

/* ---------- Licence categories (1.8) ---------- */
.pm-bar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:18px}
.pm-filters{display:flex;flex-wrap:wrap;gap:8px}
.pm-arrows{display:flex;gap:8px;margin-left:auto}
.pm-arrows.off{visibility:hidden}
.pm-arrows button{width:46px;height:46px;border-radius:50%;border:1px solid var(--glass-line);background:var(--glass-strong);color:var(--ink);font-size:18px;cursor:pointer;transition:transform .2s,background .2s}
.pm-arrows button:hover{transform:scale(1.08);background:var(--ink);color:var(--sky)}
.pm-track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(250px,28%,320px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:4px;padding:6px 4px 26px;scrollbar-width:none;cursor:grab}
.pm-track::-webkit-scrollbar{display:none}
.pm-track.drag{cursor:grabbing;scroll-snap-type:none}
.pm-card{scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;border-radius:var(--r-lg);padding:22px 22px 20px;position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
.pm-card[hidden]{display:none}
.pm-card::before{content:"";position:absolute;inset:auto -40% -60% auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--mint) 30%,transparent),transparent 70%);transition:transform .6s;pointer-events:none}
.pm-card:hover{transform:translateY(-6px)}
.pm-card:hover::before{transform:scale(1.4)}
.pm-card .pm-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}
.pm-code{font:800 clamp(52px,6vw,72px)/.9 var(--display);letter-spacing:-.05em;background:linear-gradient(135deg,var(--mint),var(--lemon));-webkit-background-clip:text;background-clip:text;color:transparent}
.pm-ic{color:var(--ink);flex:none}
.pm-ic .wh{transform-box:fill-box;transform-origin:center}
.pm-card:hover .pm-ic .wh{animation:an-wheel .8s linear infinite}
.pm-card:hover .pm-ic{animation:an-drive 1.6s ease-in-out infinite}
@keyframes an-wheel{to{transform:rotate(360deg)}}
@keyframes an-drive{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.pm-card h3{font-size:21px;line-height:1.15}
.pm-veh{color:var(--ink-2);font-weight:600;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pm-age{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:color-mix(in srgb,var(--mint) 14%,transparent);color:var(--mint-ink)}
.pm-desc{color:var(--ink-2);font-size:15px;line-height:1.5;flex:1}
.pm-card .pm-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}
.pm-price{font-weight:800;color:var(--ink)}
.pm-dots{position:relative;height:4px;border-radius:4px;background:color-mix(in srgb,var(--ink) 10%,transparent);max-width:240px;margin:2px auto 0;overflow:hidden}
.pm-dots i{position:absolute;top:0;bottom:0;left:0;width:30%;border-radius:4px;background:var(--mint);transition:left .15s}
@media (max-width:700px){.pm-track{grid-auto-columns:80%}.pm-arrows{display:none}}
.pm-dh{display:flex;gap:16px;align-items:center}
.pm-dh .pm-code{font-size:64px}
.pm-dh h2{font-size:clamp(22px,3vw,30px)}.pm-dh p{color:var(--ink-2);margin:2px 0 0}
.pm-photo{width:100%;height:auto;border-radius:var(--r-md);margin:4px 0 14px}
.pm-lead{color:var(--ink-2);margin:6px 0 16px}
.pm-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--ink) 7%,transparent);margin-bottom:14px}
.pm-tabs button{border:0;background:none;padding:9px 18px;border-radius:999px;font:600 15px var(--body);color:var(--ink-2);cursor:pointer;transition:background .25s,color .25s}
.pm-tabs button[aria-selected=true]{background:var(--ink);color:var(--sky)}
.pm-panel{color:var(--ink-2);margin-bottom:16px;animation:an-fadein .35s ease}
@keyframes an-fadein{from{opacity:0;transform:translateY(6px)}}
.pm-sheet .incl{margin-bottom:18px}
.pm-sheet .cta-row{align-items:center}
.pm-price.big{font:800 22px var(--display)}

/* ---------- Hero video (1.8) ---------- */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}
.hero-embed{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--ink) center/cover no-repeat}
.hero-embed iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%,177.78vh);height:max(100%,56.25vw);min-width:100%;min-height:100%;border:0;pointer-events:none}
.hero-veil{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(100deg,color-mix(in srgb,var(--sky) 88%,transparent) 0%,color-mix(in srgb,var(--sky) 70%,transparent) 45%,color-mix(in srgb,var(--sky) 15%,transparent) 100%)}
.has-video-bg .hero-grid{position:relative;z-index:1}
.hv-pause{position:absolute;left:18px;bottom:18px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:color-mix(in srgb,var(--ink) 75%,transparent);color:var(--sky);display:grid;place-items:center;cursor:pointer}
.hv-pause .pl{display:none}.hv-pause.paused .pl{display:block}.hv-pause.paused .pz{display:none}
.hero-side{display:grid;gap:18px;align-content:end;position:relative;z-index:3}
.hv-card{position:relative;display:block;width:100%;padding:0;border-radius:var(--r-md);overflow:hidden;cursor:pointer;color:#fff;text-align:left;aspect-ratio:16/10;font:inherit}
.hv-media,.hv-media video,.hv-media img,.hv-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hv-ph{background:radial-gradient(120% 120% at 20% 10%,var(--mint),transparent 60%),linear-gradient(135deg,var(--ink),color-mix(in srgb,var(--mint) 60%,var(--ink)))}
.hv-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.55))}
.hv-play{position:absolute;left:50%;top:50%;z-index:1;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:#fff;box-shadow:0 0 0 0 color-mix(in srgb,var(--mint) 60%,transparent);animation:an-pulse 2.2s infinite;transition:transform .3s}
.hv-play svg{margin-left:4px}
.hv-card:hover .hv-play{transform:scale(1.1)}
@keyframes an-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--mint) 55%,transparent)}70%{box-shadow:0 0 0 22px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hv-label{position:absolute;left:18px;bottom:14px;z-index:1;font-weight:700;font-size:16px;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.hv-dlg{width:min(1100px,94vw);max-width:none;padding:0;border:0;border-radius:var(--r-md);background:#000;overflow:hidden}
.hv-dlg::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(6px)}
.hv-frame{aspect-ratio:16/9}
.hv-frame video,.hv-frame iframe{width:100%;height:100%;border:0;display:block}
.hv-dlg .x{position:absolute;top:10px;right:10px;z-index:2;background:rgba(255,255,255,.9);color:#000}
@media (prefers-reduced-motion: reduce){.hv-play{animation:none}.pm-card:hover .pm-ic,.pm-card:hover .pm-ic .wh{animation:none}}

/* ---------- Commune → agencies (1.9) ---------- */
.commune-info{margin-top:18px}
.commune-info .commune-note{font-weight:600;color:var(--ink);font-size:17px}
.commune-info .commune-note.empty{font-weight:500;color:var(--ink-2);padding:16px 18px;border-radius:var(--r-md);background:var(--glass);border:1px solid var(--glass-line);}
.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:14px}
.pl-card{border-radius:var(--r-md);padding:20px 22px;display:grid;gap:12px;align-content:start}
.pl-card[hidden]{display:none}
.pl-card h3{font-size:20px;display:flex;gap:10px;align-items:center}
.pl-card h3::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px color-mix(in srgb,var(--mint) 22%,transparent);flex:none}
.pl-card dl{margin:0;display:grid;gap:8px}
.pl-card dl>div{display:grid;grid-template-columns:110px 1fr;gap:10px;font-size:15px}
.pl-card dt{color:var(--ink-3)}
.pl-card dd{margin:0;color:var(--ink)}
.pl-card dd a{color:var(--mint-ink);font-weight:600;text-decoration:none}
.pl-free{color:var(--ink-2);font-size:15px}.pl-free p{margin:0 0 6px}
.pl-acts{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:480px){.pl-card dl>div{grid-template-columns:1fr;gap:2px}}
.pl-card dl>div.full{grid-template-columns:1fr}

/* Contact: both cards the same height, the map fills the free space */
@media (min-width:901px){
  .contact-grid{align-items:stretch}
  .contact-grid .map-card{display:flex;flex-direction:column}
  .contact-grid .map-box{flex:1 1 auto;aspect-ratio:auto;min-height:340px}
  .contact-grid .map-info{flex:none}
}

/* ---------- Tabs: titles + picture (1.10) ---------- */
.tb-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.tabs-sec.align-start .tb-grid{align-items:start}
.tabs-sec.align-end .tb-grid{align-items:end}
.tabs-sec.img-left .tb-media{order:-1}
.tb-list{display:flex;flex-direction:column;gap:var(--tab-gap,14px)}
.tb-item{border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);padding-bottom:var(--tab-gap,14px)}
.tb-item:last-child{border-bottom:0}
.tb-h{margin:0;font:inherit}
.tb-h button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:14px;width:100%;cursor:pointer;position:relative;padding:4px 0 8px}
.tabs-sec:not(.numbered) .tb-h button{grid-template-columns:1fr}
.tb-n{font:700 14px var(--body);color:var(--ink-3);letter-spacing:.05em;transition:color .3s;width:2.2ch;font-variant-numeric:tabular-nums}
.tb-t{font:800 min(var(--tab-size,40px),8.5vw)/1.05 var(--display);letter-spacing:-.03em;color:color-mix(in srgb,var(--ink) 38%,transparent);transition:color .35s}
.tb-h button:hover .tb-t,.tb-h button:focus-visible .tb-t,.tb-item.open .tb-t{color:var(--ink)}
.tb-item.open .tb-n{color:var(--mint)}
.tb-h button:focus-visible{outline:2px solid var(--mint);outline-offset:4px;border-radius:6px}
.tb-bar{grid-column:1/-1;display:none;height:3px;margin-top:10px;border-radius:3px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}
.tabs-sec.auto .tb-item.open .tb-bar{display:block}
.tb-bar i{display:block;height:100%;background:var(--mint);transform:scaleX(0);transform-origin:0 50%}
.tb-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.16,1,.3,1)}
.tb-item.open .tb-panel{grid-template-rows:1fr}
.tb-in{overflow:hidden;min-height:0}
.tb-body{color:var(--ink-2);font-size:17px;line-height:1.6;max-width:52ch;padding-top:4px;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .5s cubic-bezier(.16,1,.3,1)}
.tabs-sec.numbered .tb-body,.tabs-sec.numbered .tb-act{margin-left:calc(14px + 2.2ch)}
.tb-item.open .tb-body{opacity:1;transform:none;transition-delay:.12s}
.tb-body p{margin:0 0 8px}
.tb-act{margin:10px 0 4px}
.tb-media{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:var(--tab-ratio,4/5)}
.tb-pic{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .5s}
.tb-pic.on{opacity:1;z-index:2}
.tb-pic.out{opacity:1;z-index:1}
.tb-pic img,.tb-pic svg{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:820px){
  .tb-grid{grid-template-columns:1fr;gap:22px}
  .tb-media{order:-1;aspect-ratio:16/10}
  .tabs-sec.img-left .tb-media{order:-1}
  .tabs-sec.numbered .tb-body,.tabs-sec.numbered .tb-act{margin-left:0}
}
@media (prefers-reduced-motion: reduce){.tb-panel,.tb-body{transition:none}}
@media (min-width:821px){.tabs-sec.align-spread .tb-grid{align-items:stretch}.tabs-sec.align-spread .tb-list{justify-content:space-between}}
/* Tabs inside articles */
.entry .an-tabs{margin:10px 0}
.entry .an-tabs .tb-t{line-height:1.1}
.entry .an-tabs .tb-h{margin:0}
.entry .an-tabs .tb-body{font-size:17px}
.entry .an-tabs .tb-media{border-radius:var(--r-md)}

/* ---------- Testimonials (1.12) ---------- */
.an-reviews{position:relative}
.rv-av{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none;display:block;box-shadow:0 0 0 3px var(--glass-strong)}
.rv-ini{display:grid;place-items:center;font:800 17px var(--display);color:#fff;background:linear-gradient(135deg,hsl(var(--h) 65% 55%),hsl(calc(var(--h) + 40) 70% 45%))}
.rv-who{display:grid;gap:1px;min-width:0}
.rv-name{font-weight:700;color:var(--ink)}
.rv-role{font-size:14px;color:var(--ink-3)}
.rv-site{font-size:13px;color:var(--mint-ink);font-weight:600;text-decoration:none;width:max-content}
.rv-site::before{content:"↗ "}
.rv-site:hover{text-decoration:underline}
.rv-stars{color:var(--lemon);letter-spacing:2px;font-size:16px}.rv-stars i{font-style:normal;color:color-mix(in srgb,var(--ink) 18%,transparent)}
.rv-q{font:800 90px/0.7 var(--display);color:var(--mint);opacity:.35}
.rv-demo{position:absolute;top:12px;right:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--coral) 18%,transparent);color:var(--coral);z-index:2}
.an-reviews blockquote{margin:0;color:var(--ink-2);line-height:1.6}
.an-reviews blockquote p{margin:0 0 8px}
.an-reviews figure{margin:0}
.an-reviews figcaption{display:flex;gap:12px;align-items:center}
/* carousel */
.rv-track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(270px,32%,380px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 20px;scrollbar-width:none;cursor:grab}
.rv-track::-webkit-scrollbar{display:none}.rv-track.drag{cursor:grabbing;scroll-snap-type:none}
.rv-card{position:relative;scroll-snap-align:start;border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:14px;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.rv-card:hover{transform:translateY(-6px)}
.rv-card .rv-top{display:flex;justify-content:space-between;align-items:flex-start}
.rv-card blockquote{flex:1;font-size:16px}
.rv-ctrl{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:6px}
.rv-fits .rv-ctrl{display:none}
.rv-ctrl button,.rv-arrows button{width:44px;height:44px;border-radius:50%;border:1px solid var(--glass-line);background:var(--glass-strong);color:var(--ink);cursor:pointer;font-size:17px;transition:transform .2s,background .2s}
.rv-ctrl button:hover,.rv-arrows button:hover{transform:scale(1.08);background:var(--ink);color:var(--sky)}
.rv-progress{position:relative;width:min(240px,40vw);height:4px;border-radius:4px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}
.rv-progress i{position:absolute;top:0;bottom:0;left:0;border-radius:4px;background:var(--mint)}
@media (max-width:700px){.rv-track{grid-auto-columns:84%}}
/* slider */
.rv-stage{position:relative;border-radius:var(--r-lg);padding:clamp(28px,5vw,60px) clamp(22px,6vw,80px);overflow:hidden;display:grid}
.rv-stage>.rv-q{position:absolute;left:clamp(14px,3vw,34px);top:clamp(22px,3vw,40px);font-size:clamp(110px,14vw,180px)}
.rv-slide{grid-area:1/1;display:grid;gap:18px;align-content:center;opacity:0;visibility:hidden;position:relative}
.rv-slide.on{opacity:1;visibility:visible}
.rv-slide blockquote{font:600 clamp(20px,2.4vw,30px)/1.35 var(--display);color:var(--ink);letter-spacing:-.01em;max-width:46ch}
.rv-slide .rv-av{width:56px;height:56px}
.rv-slide .rv-demo{top:-10px;right:0}
.rv-nav{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.rv-nav>button{padding:0;border:0;background:none;border-radius:50%;cursor:pointer;opacity:.45;transition:opacity .3s,transform .3s}
.rv-nav>button .rv-av{width:40px;height:40px}
.rv-nav>button[aria-selected=true]{opacity:1;transform:scale(1.12)}
.rv-nav>button[aria-selected=true] .rv-av{box-shadow:0 0 0 3px var(--mint)}
.rv-arrows{margin-left:auto;display:flex;gap:8px}
/* flip */
.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.rv-flip{perspective:1200px;min-height:300px;cursor:pointer;outline:none}
.rv-inner{position:relative;height:100%;min-height:inherit;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.rv-flip.flipped .rv-inner{transform:rotateY(180deg)}
@media (hover:hover){.rv-flip:hover .rv-inner{transform:rotateY(180deg)}}
.rv-flip:focus-visible .rv-inner{box-shadow:0 0 0 3px var(--mint);border-radius:var(--r-lg)}
.rv-face{position:absolute;inset:0;border-radius:var(--r-lg);backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:24px}
.rv-front .rv-av{width:96px;height:96px;font-size:30px;box-shadow:0 0 0 5px var(--glass-strong),0 14px 30px -12px rgba(0,0,0,.35)}
.rv-front .rv-who{justify-items:center}
.rv-front .rv-site{width:auto}
.rv-hint{margin-top:6px;font-size:13px;font-weight:600;color:var(--ink-3)}
.rv-back{transform:rotateY(180deg);background:linear-gradient(150deg,var(--mint),color-mix(in srgb,var(--mint) 55%,var(--ink)));color:#fff;align-items:flex-start;text-align:left;justify-content:flex-start;overflow:auto}
.rv-back .rv-q{color:#fff;opacity:.5;font-size:70px;height:34px}
.rv-back blockquote{color:#fff;font-size:16px}
.rv-back .rv-sign{margin-top:auto;font-weight:700;opacity:.9}
@media (prefers-reduced-motion: reduce){.rv-inner{transition:none}.rv-card{transition:none}}
/* flip: no backdrop-filter on faces (it breaks 3D); solid glass-like surface instead */
.rv-front{background:var(--glass-strong);border:1px solid var(--glass-line);box-shadow:var(--shadow)}
.rv-inner{will-change:transform}
.rv-card .rv-demo{top:auto;bottom:16px;right:16px}
.rv-stage>.rv-q{left:auto;right:clamp(18px,4vw,50px);top:clamp(30px,4vw,50px)}
.rv-slide .rv-demo{position:static;justify-self:start}
.rv-back{overflow:hidden}
.rv-front{transform:rotateY(0deg)}
/* flip: swap faces at mid-turn (robust where backface-visibility fails) */
.rv-face{transition:opacity 0s linear .4s,visibility 0s linear .4s}
.rv-back{opacity:0;visibility:hidden}
.rv-flip.flipped .rv-front{opacity:0;visibility:hidden}
.rv-flip.flipped .rv-back{opacity:1;visibility:visible}
@media (hover:hover){.rv-flip:hover .rv-front{opacity:0;visibility:hidden}.rv-flip:hover .rv-back{opacity:1;visibility:visible}}
@media (prefers-reduced-motion: reduce){.rv-face{transition:none}}

/* ---------- Avant / après: real photos (1.13) ---------- */
.win img.ba-after,.win img.ba-before{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.win img.ba-before{clip-path:inset(0 0 0 var(--cut,50%))}
.has-photos .win{background:#222}
.ba-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.ba-thumbs button{padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;width:76px;height:56px;cursor:pointer;opacity:.6;transition:opacity .25s,border-color .25s;background:none}
.ba-thumbs button img{width:100%;height:100%;object-fit:cover;display:block}
.ba-thumbs button[aria-pressed=true]{opacity:1;border-color:var(--mint)}
.ba-cap{font-weight:600;color:var(--ink)}

/* ---------- Online payment result (1.14) ---------- */
.pay-banner{position:fixed;left:50%;top:calc(90px + env(safe-area-inset-top,0px));transform:translateX(-50%);z-index:60;width:min(560px,calc(100% - 32px));display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:16px 18px;border-radius:var(--r-md);background:var(--sky);border:1px solid var(--glass-line);box-shadow:var(--shadow);animation:an-drop .5s cubic-bezier(.16,1,.3,1)}
.pay-banner b{font-family:var(--display);font-size:18px}
.pay-banner span{grid-column:1;color:var(--ink-2);font-size:15px}
.pay-banner button{grid-row:1/3;grid-column:2;border:0;background:none;font-size:22px;color:var(--ink-2);cursor:pointer;align-self:start}
.pay-banner.ok{border-left:5px solid #2EB872}.pay-banner.wait{border-left:5px solid var(--lemon)}.pay-banner.ko{border-left:5px solid var(--coral)}

/* ---------- Hero fog: cleaning cursor (1.15) ---------- */
.hero.fx-fog[data-cursor="cloth"] .pane:not(.fog-done){cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cpath%20d%3D%22M8%2014c6-5%2012%203%2018-2s12-2%2014%203l-2%2020c-6%204-11-3-17%202s-12%201-14-3z%22%20fill%3D%22%234FB3E8%22%20stroke%3D%22%230F2A30%22%20stroke-width%3D%222.2%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M12%2018c5-3%2010%202%2015-1s9-1%2010%202M11%2025c5-3%2010%202%2015-1s9-1%2010%202M10%2032c5-3%2010%202%2015-1s9-1%2010%202%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.75%22%2F%3E%3Cpath%20d%3D%22M8%2014c6-5%2012%203%2018-2s12-2%2014%203%22%20fill%3D%22none%22%20stroke%3D%22%232A8CC4%22%20stroke-width%3D%222%22%20stroke-dasharray%3D%222%203%22%2F%3E%3C%2Fsvg%3E") 24 24,auto}
.hero.fx-fog[data-cursor="sponge"] .pane:not(.fog-done){cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cg%20transform%3D%22rotate%28-18%2024%2024%29%22%3E%3Crect%20x%3D%226%22%20y%3D%2220%22%20width%3D%2236%22%20height%3D%2212%22%20rx%3D%223%22%20fill%3D%22%233FA37A%22%20stroke%3D%22%230F2A30%22%20stroke-width%3D%222.2%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%2211%22%20width%3D%2236%22%20height%3D%2212%22%20rx%3D%224%22%20fill%3D%22%23F7D046%22%20stroke%3D%22%230F2A30%22%20stroke-width%3D%222.2%22%2F%3E%3Cg%20fill%3D%22%23D9AE1E%22%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2216%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2221%22%20cy%3D%2218%22%20r%3D%221.3%22%2F%3E%3Ccircle%20cx%3D%2228%22%20cy%3D%2215%22%20r%3D%221.7%22%2F%3E%3Ccircle%20cx%3D%2236%22%20cy%3D%2217%22%20r%3D%221.3%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%239fd3e6%22%20stroke-width%3D%221%22%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2234%22%20cy%3D%225%22%20r%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 24 24,auto}
.hero.fx-fog[data-cursor="brush"] .pane:not(.fog-done){cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cg%20transform%3D%22rotate%2835%2024%2024%29%22%3E%3Crect%20x%3D%2220%22%20y%3D%222%22%20width%3D%228%22%20height%3D%2222%22%20rx%3D%224%22%20fill%3D%22%23C98B4E%22%20stroke%3D%22%230F2A30%22%20stroke-width%3D%222.2%22%2F%3E%3Crect%20x%3D%2211%22%20y%3D%2222%22%20width%3D%2226%22%20height%3D%229%22%20rx%3D%223%22%20fill%3D%22%23E8705A%22%20stroke%3D%22%230F2A30%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M13%2031v13M17%2031v14M21%2031v14M25%2031v14M29%2031v14M33%2031v13%22%20stroke%3D%22%230F2A30%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 24 24,auto}
.hero.fx-fog .pane:not(.fog-done) .btn,.hero.fx-fog .pane:not(.fog-done) a{cursor:pointer}
.foot-bottom .lic-note{font-size:12px;color:var(--ink-3,#7a8a8c);border:1px dashed currentColor;border-radius:999px;padding:2px 10px}
/* Language switcher (Polylang) */
.nav .menu>li.lang-li{margin-left:2px}
.lang-sw{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:color-mix(in srgb,var(--ink) 6%,transparent)}
.nav .lang-sw a{display:inline-grid;place-items:center;min-width:34px;height:28px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ink-2);text-decoration:none}
.nav .lang-sw a:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}
.nav .lang-sw a[aria-current]{background:var(--ink);color:var(--sky,#fff)}

/* ===== Salon preset: gold shine hero + sections ===== */
:root{--gold1:#B8894B;--gold2:#E7C98D;--gold-soft:rgba(231,201,141,.16)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--gold1:#E7C98D;--gold2:#FBE7B8;--gold-soft:rgba(231,201,141,.14)}}
:root[data-theme="dark"]{--gold1:#E7C98D;--gold2:#FBE7B8;--gold-soft:rgba(231,201,141,.14)}

.fx-shine .pane{position:relative}
/* Gold gradient is set on the leaf text elements (h1, its word spans and .thin), not the h1 alone,
   so it survives GSAP wrapping each word in a transformed span (a transform breaks an ancestor's
   background-clip:text and would hide the site name). */
.fx-shine h1,.fx-shine h1 .w span,.fx-shine h1 .thin{background:linear-gradient(100deg,var(--gold1) 0%,var(--gold1) 36%,#fff 50%,var(--gold2) 64%,var(--gold1) 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:anShineSweep 2.6s cubic-bezier(.4,0,.2,1) .15s 1 both}
@keyframes anShineSweep{from{background-position:135% 0}to{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.fx-shine h1,.fx-shine h1 .w span,.fx-shine h1 .thin{animation:none;background-position:0 0}}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){.fx-shine h1,.fx-shine h1 .w span,.fx-shine h1 .thin{-webkit-text-fill-color:var(--gold1);color:var(--gold1);background:none}}
.shine-stars{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.shine-star{position:absolute;width:14px;height:14px;transform:translate(-50%,-50%) scale(var(--sc,1));opacity:0;background:linear-gradient(var(--gold2),var(--gold1));clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);filter:drop-shadow(0 0 5px var(--gold-soft));animation:anTwinkle ease-in-out infinite}
@keyframes anTwinkle{0%,100%{opacity:0;transform:translate(-50%,-50%) scale(calc(var(--sc,1)*.3)) rotate(0)}50%{opacity:.92;transform:translate(-50%,-50%) scale(var(--sc,1)) rotate(45deg)}}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:26px}
.team-card{text-align:center}
.team-ph{width:128px;height:128px;border-radius:50%;margin:0 auto 14px;overflow:hidden;background:var(--glass-strong);border:1px solid var(--glass-line);position:relative}
.team-ph img{width:100%;height:100%;object-fit:cover}
.team-ini{display:grid;place-items:center;width:100%;height:100%;font:800 40px/1 var(--head,inherit);color:var(--mint-ink);background:var(--gold-soft)}
.team-card h3{font-size:19px;margin:0 0 2px}
.team-role{color:var(--ink-2);font-size:14px;margin:0 0 8px}
.team-skills{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.team-skills li{font-size:12px;color:var(--ink-2);background:var(--glass-strong);border:1px solid var(--glass-line);padding:3px 10px;border-radius:999px}
.team-insta{font-size:13px;color:var(--mint-ink);text-decoration:none;font-weight:600}
.team-insta:hover{text-decoration:underline}

/* Gallery */
.gal-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.gal-f{border:1px solid var(--glass-line);background:var(--glass);color:var(--ink);font:600 13px var(--body);padding:7px 15px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
.gal-f:hover{background:var(--glass-strong)}
.gal-f.on{background:var(--mint);color:#fff;border-color:transparent}
.gal-grid{columns:3;column-gap:16px}
.gal-item{break-inside:avoid;margin:0 0 16px;position:relative;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--glass-line)}
.gal-item img{display:block;width:100%;height:auto}
.gal-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 14px 12px;color:#fff;font-size:14px;font-weight:600;background:linear-gradient(transparent,rgba(0,0,0,.6));opacity:0;transition:opacity .3s}
.gal-item:hover figcaption{opacity:1}

/* Prices */
.price-list{max-width:760px;margin:0 auto}
.price-row{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:15px 0;border-bottom:1px dashed var(--glass-line)}
.price-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.price-name{font-weight:700;font-size:16px}
.price-desc{color:var(--ink-2);font-size:13.5px}
.price-side{display:flex;align-items:baseline;gap:14px;white-space:nowrap}
.price-dur{color:var(--ink-3);font-size:13px}
.price-amt{font-weight:800;color:var(--mint-ink);font-size:17px;font-variant-numeric:tabular-nums}
.price-cta{text-align:center;margin-top:28px}

/* Offers */
.offers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.offer-card{position:relative;border-radius:var(--r-md);padding:26px 22px 24px;background:var(--glass-strong);border:1px solid var(--glass-line);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.offer-badge{position:absolute;top:-10px;left:18px;background:var(--gold1);color:#1A1410;font:700 12px var(--body);padding:4px 12px;border-radius:999px;letter-spacing:.02em}
.offer-card h3{font-size:19px;margin:4px 0 0}
.offer-txt{color:var(--ink-2);font-size:14px;flex:1}
.offer-price{margin:2px 0 10px;font-size:16px}
.offer-price del{color:var(--ink-3);font-weight:400;margin-right:6px}
.offer-price strong{color:var(--mint-ink);font-size:22px}

@media(max-width:900px){.gal-grid{columns:2}}
@media(max-width:560px){.gal-grid{columns:1}.price-row{flex-direction:column;gap:4px}.price-side{gap:10px}}
