
/* Layout concept: editorial professional-services site; working-paper motifs (refs, tick marks) as the one subject-specific detail. */
:root{
  --bg:#FBFBF9; --bg-alt:#F4F4F0; --surface:#FFFFFF; --ink:#18212B; --ink-2:#5B6672; --line:#E6E6E0;
  --brand:#2E5A85; --brand-ink:#2E5A85; --btn:#1F3B57; --btn-h:#2B4F72; --band:#17293C; --band-2:#21384F;
  --accent:#BF3A2C; --gold:#7D6122; --gold-bg:#F7F1E2; --gold-line:#E4D6AE;
  --good:#2C7050; --good-bg:#E8F2EC; --warn:#8C6A1E; --warn-bg:#F7F0DF; --bad:#A8453B; --bad-bg:#F8E9E6; --info-bg:#EDF2F7;
  --shadow:0 1px 2px rgba(24,33,43,.05),0 8px 24px rgba(24,33,43,.06);
  --f-head:"Libre Franklin","Franklin Gothic Medium","Segoe UI",Arial,sans-serif; --f-body:"Libre Franklin","Segoe UI",Arial,sans-serif; --f-mono:ui-monospace,"SF Mono",Consolas,"Liberation Mono",monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0F1419; --bg-alt:#141A21; --surface:#1A2129; --ink:#E8ECF0; --ink-2:#9AA6B2; --line:#27313B;
    --brand:#8DB6DC; --brand-ink:#8DB6DC; --btn:#3A6A96; --btn-h:#4A7CAA; --band:#16273A; --band-2:#1F364D;
    --accent:#EE7A6B; --gold:#D8B45A; --gold-bg:#262014; --gold-line:#54461F;
    --good:#6CC49A; --good-bg:#14291F; --warn:#D8B45A; --warn-bg:#2A2412; --bad:#F0988D; --bad-bg:#33191A; --info-bg:#172433;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35); color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0F1419; --bg-alt:#141A21; --surface:#1A2129; --ink:#E8ECF0; --ink-2:#9AA6B2; --line:#27313B;
  --brand:#8DB6DC; --brand-ink:#8DB6DC; --btn:#3A6A96; --btn-h:#4A7CAA; --band:#16273A; --band-2:#1F364D;
  --accent:#EE7A6B; --gold:#D8B45A; --gold-bg:#262014; --gold-line:#54461F;
  --good:#6CC49A; --good-bg:#14291F; --warn:#D8B45A; --warn-bg:#2A2412; --bad:#F0988D; --bad-bg:#33191A; --info-bg:#172433;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35); color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:600;line-height:1.16;margin:0;text-wrap:balance;letter-spacing:-.02em}
h1{font-size:clamp(1.8rem,3.6vw,2.7rem)} h2{font-size:clamp(1.4rem,2.4vw,1.9rem)} h3{font-size:1.1rem} h4{font-size:.98rem}
p{margin:0}
a{color:var(--brand-ink);text-decoration-thickness:1px;text-underline-offset:3px}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--brand-ink);outline-offset:2px;border-radius:4px}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.eyebrow{font-family:var(--f-body);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.lede{font-size:1.02rem;color:var(--ink-2);max-width:62ch}
.mono{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.02em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:42px;padding:.55rem 1.15rem;border-radius:8px;border:1.5px solid transparent;font:700 .88rem var(--f-body);background:var(--btn);color:#fff;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--btn-h)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)} .btn.ghost:hover{border-color:var(--brand-ink);color:var(--brand-ink);background:transparent}
.btn.light{background:#fff;color:#023E73} .btn.light:hover{background:#E6F0FA}
.btn.outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)} .btn.outline-light:hover{background:rgba(255,255,255,.1)}
.btn.sm{min-height:38px;padding:.45rem .9rem;font-size:.85rem}
.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--info-bg);color:var(--brand-ink);border:1px solid transparent}
.chip.good{background:var(--good-bg);color:var(--good)} .chip.warn{background:var(--warn-bg);color:var(--warn)} .chip.bad{background:var(--bad-bg);color:var(--bad)} .chip.grey{background:var(--bg-alt);color:var(--ink-2);border-color:var(--line)}
.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
label{font-weight:700;font-size:.88rem;display:block;margin-bottom:.3rem}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:8px;padding:.65rem .8rem;min-height:46px}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--brand-ink);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-ink) 25%,transparent)}
input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--btn)}
.err{color:var(--bad);font-size:.82rem;margin-top:.25rem;min-height:1em}
table{border-collapse:collapse;width:100%}
th{text-align:left;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:700}
th,td{padding:.7rem .8rem;border-bottom:1px solid var(--line);vertical-align:middle}
.scroll-x{overflow-x:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* modern touches */
.progress{position:fixed;top:env(safe-area-inset-top,0px);left:0;height:3px;width:0;background:var(--accent);z-index:90;transition:width .08s linear}
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none}}
kbd{font:700 .72rem var(--f-body);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:.05rem .4rem;background:var(--bg-alt);color:var(--ink-2)}


/* ---------- header ---------- */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.hdr .in{display:flex;align-items:center;gap:1.25rem;min-height:72px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);flex:none}
.brand img{width:auto;height:46px;object-fit:contain}
.brand b{font:700 1.25rem var(--f-head);letter-spacing:.02em;display:block;line-height:1}
.brand small{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:700;margin-top:3px}
.nav{display:flex;gap:.2rem;margin-left:1rem;flex:1}
.nav>a,.nav .has-mega>a{display:flex;align-items:center;height:68px;padding:0 .8rem;color:var(--ink);text-decoration:none;font-weight:700;font-size:.86rem;border-bottom:3px solid transparent}
.nav a:hover,.nav a.on{color:var(--brand-ink);border-bottom-color:var(--brand-ink)}
.nav a.on{border-bottom-color:var(--accent)}
.has-mega{position:static}
.mega{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
.has-mega:hover .mega,.has-mega:focus-within .mega{display:block}
.mega .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding-block:1.8rem 2rem}
.mega h4{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}
.mega h4 a{color:var(--ink);text-decoration:none}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.mega li a{display:block;padding:.2rem 0;color:var(--ink-2);text-decoration:none;font-size:.9rem;border:0;height:auto}
.mega li a:hover{color:var(--brand-ink);border:0}
.acts{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:8px;border:1.5px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.icon-btn:hover{border-color:var(--brand-ink);color:var(--brand-ink)}
.stafflink{font-weight:700;font-size:.88rem;color:var(--ink-2);text-decoration:none;padding:0 .4rem}
.stafflink:hover{color:var(--brand-ink)}
.burger{display:none}
.drawer{display:none}
@media (max-width:1230px){
  .nav,.stafflink,.acts .btn{display:none}
  .burger{display:inline-grid}
  .drawer{position:fixed;inset:0;z-index:70;background:var(--bg);padding:max(16px,env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 24px max(20px,env(safe-area-inset-left,0px));overflow:auto}
  .drawer.open{display:block}
  .drawer .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
  .drawer a.l{display:block;padding:.85rem 0;border-bottom:1px solid var(--line);font:600 1.25rem var(--f-head);color:var(--ink);text-decoration:none}
  .drawer .sub{padding:.4rem 0 .6rem 1rem;display:grid;gap:.1rem}
  .drawer .sub a{color:var(--ink-2);text-decoration:none;padding:.25rem 0;font-size:.95rem}
}

@media (max-width:520px){.hdr .in{gap:.5rem}.brand{gap:.5rem}.brand img{height:42px}.brand b{font-size:1.1rem}.brand small{font-size:.58rem;letter-spacing:.1em}.acts{gap:.3rem}.icon-btn{width:40px;height:40px}}
.nav>a,.nav .has-mega>a,.stafflink,.acts .btn{white-space:nowrap}.nav>a,.nav .has-mega>a{padding:0 .65rem}.nav{margin-left:.4rem}
/* ---------- sections ---------- */
.sec{padding-block:clamp(52px,7vw,92px)}
.sec.alt{background:var(--bg-alt)}
.sec-head{display:grid;gap:.7rem;margin-bottom:2.2rem;max-width:760px}
.row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.band{background:var(--band);color:#fff}
.band .eyebrow{color:rgba(255,255,255,.7)}
.band .lede{color:#C9DAEC}

/* hero */
.hero{padding-block:clamp(40px,6vw,84px) clamp(44px,6vw,80px);background:var(--bg);position:relative;overflow:hidden}
.hero .in{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,5vw,72px);align-items:center}
.hero h1{margin:.9rem 0 1.1rem}
.hero .ctas{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.hero .facts{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.hero .facts div{font-size:.85rem;color:var(--ink-2);max-width:15ch}
.hero .facts b{display:block;font:700 1.35rem var(--f-head);color:var(--ink)}
.wp{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;position:relative}
.wp-h{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1.1rem;background:var(--bg-alt);border-bottom:1px solid var(--line);color:var(--ink-2)}
.wp-b{padding:1.1rem 1.1rem .4rem;background-image:repeating-linear-gradient(to bottom,transparent 0 35px,color-mix(in srgb,var(--line) 70%,transparent) 35px 36px)}
.wp-r{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;min-height:36px;font-size:.93rem}
.wp-r .tk{width:22px;height:22px;border-radius:50%;background:var(--good-bg);color:var(--good);display:grid;place-items:center}
.wp-r .tk .icon{width:14px;height:14px;stroke-width:2.6}
.wp-f{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;border-top:1px solid var(--line)}
.stamp{font:600 .68rem var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:.28rem .55rem;transform:rotate(-3deg)}
@media (max-width:900px){.hero .in{grid-template-columns:1fr}}

/* trust strip */
.trust{border-block:1px solid var(--line);background:var(--bg-alt)}
.trust .in{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem 2rem;padding-block:1.3rem}
.trust .it{display:flex;gap:.7rem;align-items:center;font-size:.9rem;color:var(--ink-2);line-height:1.35}
.trust .it b{color:var(--ink);display:block;font-size:.95rem}
.gold-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--gold-bg);border:1.5px solid var(--gold-line);color:var(--gold);padding:.35rem .8rem;border-radius:999px;font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.gold-badge .icon{width:16px;height:16px;fill:currentColor}
@media (max-width:900px){.trust .in{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.trust .in{grid-template-columns:1fr}}

/* service cards */
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.svc{display:flex;flex-direction:column;gap:.8rem;padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.svc:hover{border-color:var(--brand-ink);transform:translateY(-2px)}
.svc .icon{width:34px;height:34px;color:var(--brand-ink)}
.svc p{color:var(--ink-2);font-size:.95rem}
.svc .more{margin-top:auto;font-weight:700;color:var(--brand-ink);display:inline-flex;gap:.4rem;align-items:center;font-size:.9rem}
.svc .more .icon{width:16px;height:16px}
@media (max-width:1020px){.cards4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards4{grid-template-columns:1fr}}

/* model comparison */
.cmp{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.cmp>div{padding:1rem 1.4rem;border-bottom:1px solid var(--line)}
.cmp .hd{font:700 .78rem var(--f-body);letter-spacing:.12em;text-transform:uppercase;background:var(--bg-alt);color:var(--ink-2)}
.cmp .hd.us{background:var(--band);color:#fff}
.cmp .t{color:var(--ink-2)}
.cmp .u{font-weight:700}
.cmp>div:nth-last-child(-n+2){border-bottom:0}
@media (max-width:640px){.cmp{grid-template-columns:1fr}.cmp .t{border-bottom:0;padding-bottom:.2rem}.cmp .hd:not(.us){display:none}}

/* trove band */
.trove-in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,64px);align-items:center}
.trove-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:1.4rem;display:grid;gap:1rem}
.trove-card .app{display:grid;gap:.25rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.15)}
.trove-card .app:last-child{border:0;padding:0}
.trove-card .app b{font:600 1.2rem var(--f-head)}
.trove-card .app span{color:#C9DAEC;font-size:.92rem}
.band .gold-badge{background:rgba(227,179,65,.14);border-color:rgba(227,179,65,.55);color:#F3CF72}
@media (max-width:900px){.trove-in{grid-template-columns:1fr}}

/* insights */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.post{display:flex;flex-direction:column;gap:.7rem;padding:1.4rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);transition:border-color .15s}
.post:hover{border-color:var(--brand-ink)}
.post h3{font-size:1.2rem}
.post p{color:var(--ink-2);font-size:.95rem}
.post .meta{margin-top:auto;font-size:.82rem;color:var(--ink-2);display:flex;gap:.6rem;flex-wrap:wrap}
@media (max-width:1020px){.posts{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.posts{grid-template-columns:1fr}}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1.6rem}
.fchip{border:1.5px solid var(--line);background:transparent;color:var(--ink);padding:.4rem .9rem;border-radius:999px;font:700 .85rem var(--f-body);cursor:pointer}
.fchip[aria-pressed=true]{background:var(--btn);border-color:var(--btn);color:#fff}
.filters input{max-width:260px;margin-left:auto;min-height:40px}
.empty{padding:2rem;border:1px dashed var(--line);border-radius:12px;color:var(--ink-2);text-align:center}

/* article */
.art{max-width:720px;margin:0 auto}
.art h1{font-size:clamp(1.6rem,3.2vw,2.3rem);margin:.8rem 0 1rem}
.art .by{display:flex;gap:.8rem;flex-wrap:wrap;color:var(--ink-2);font-size:.9rem;margin-bottom:2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.art h2{font-size:1.25rem;margin:2rem 0 .6rem}
.art p{margin-bottom:1rem;font-size:1rem;line-height:1.7}
.art ul{margin:0 0 1.2rem;padding-left:1.2rem} .art li{margin-bottom:.45rem;font-size:1.04rem}
.take{background:var(--bg-alt);border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.4rem;margin:0 0 2rem}
.take h4{margin-bottom:.5rem}
.take ul{margin:0}
.note{font-size:.92rem;color:var(--ink-2);border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem}

/* page head */
.phead{padding-block:clamp(40px,6vw,76px) clamp(28px,4vw,48px);background:var(--bg-alt);border-bottom:1px solid var(--line)}
.phead h1{font-size:clamp(1.7rem,3.2vw,2.4rem);margin:.7rem 0 1rem}
.crumb{font-size:.85rem;color:var(--ink-2)} .crumb a{color:var(--ink-2)}

/* services page */
.pillar{padding-block:clamp(40px,5vw,64px);border-bottom:1px solid var(--line);scroll-margin-top:90px}
.pillar-h{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;margin-bottom:1.8rem}
.pillar-h .icon{width:44px;height:44px;color:var(--brand-ink)}
.subs{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.sub{padding:1.2rem;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.sub h4{margin-bottom:.4rem} .sub p{color:var(--ink-2);font-size:.93rem}
@media (max-width:980px){.subs{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.subs{grid-template-columns:1fr}.pillar-h{grid-template-columns:1fr}}
.inds{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ind{display:flex;gap:1rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);align-items:flex-start}
.ind .icon{color:var(--brand-ink);margin-top:2px}
.ind b{display:block;font-family:var(--f-head);font-size:1.08rem} .ind span{color:var(--ink-2);font-size:.9rem}
@media (max-width:900px){.inds{grid-template-columns:1fr 1fr}} @media (max-width:560px){.inds{grid-template-columns:1fr}}

/* people */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.person{display:grid;gap:.8rem;align-content:start;padding:1.4rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.person img{width:104px;height:104px;border-radius:50%;background:var(--bg-alt)}
.person .cr{font-family:var(--f-mono);font-size:.76rem;color:var(--ink-2)}
.person .role{font-weight:700;color:var(--brand-ink);font-size:.92rem}
.person p{color:var(--ink-2);font-size:.93rem}
.people.two{grid-template-columns:repeat(2,1fr);max-width:820px}
@media (max-width:980px){.people{grid-template-columns:1fr 1fr}} @media (max-width:620px){.people,.people.two{grid-template-columns:1fr}}
.offices{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.office{padding:1.2rem;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.office b{font-family:var(--f-head);font-size:1.1rem;display:block} .office small{color:var(--accent);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}
.office p{color:var(--ink-2);font-size:.92rem;margin-top:.4rem}
@media (max-width:980px){.offices{grid-template-columns:1fr 1fr}} @media (max-width:560px){.offices{grid-template-columns:1fr}}
.vals{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.val{padding:1.2rem 0;border-top:3px solid var(--line);position:relative}
.val::before{content:"";position:absolute;top:-3px;left:0;width:36px;height:3px;background:var(--accent)} .val b{font-family:var(--f-head);font-size:1.2rem;display:block;margin-bottom:.3rem} .val p{color:var(--ink-2);font-size:.93rem}
@media (max-width:900px){.vals{grid-template-columns:1fr 1fr}} @media (max-width:520px){.vals{grid-template-columns:1fr}}

/* clients */
.logos{display:grid;grid-template-columns:repeat(6,1fr);gap:.9rem}
.logos div{background:#fff;border:1px solid var(--line);border-radius:10px;height:84px;display:grid;place-items:center;padding:.7rem}
.logos img{max-height:56px;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.8;transition:filter .2s,opacity .2s}
.logos div:hover img{filter:none;opacity:1}
@media (max-width:980px){.logos{grid-template-columns:repeat(4,1fr)}} @media (max-width:620px){.logos{grid-template-columns:repeat(3,1fr)}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;counter-reset:s}
.step{position:relative;padding-top:2.6rem}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:0;left:0;width:34px;height:34px;border-radius:50%;background:var(--btn);color:#fff;display:grid;place-items:center;font:700 .95rem var(--f-head)}
.step::after{content:"";position:absolute;top:17px;left:44px;right:-1.2rem;height:1px;background:var(--line)}
.step:last-child::after{display:none}
.step b{display:block;font-family:var(--f-head);font-size:1.08rem;margin-bottom:.25rem} .step p{color:var(--ink-2);font-size:.92rem}
@media (max-width:900px){.steps{grid-template-columns:1fr}.step{padding:0 0 0 3rem}.step::before{top:0}.step::after{display:none}}

/* cta */
.cta{display:flex;justify-content:space-between;align-items:center;gap:1.6rem;flex-wrap:wrap}
.cta h2{max-width:22ch}

/* booking */
.book{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:980px){.book{grid-template-columns:1fr}}
.bk{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.bk-sec{padding:1.3rem 1.5rem;border-bottom:1px solid var(--line)}
.bk-sec:last-child{border-bottom:0}
.bk-sec h3{font-size:1.05rem;margin-bottom:.8rem;display:flex;gap:.6rem;align-items:center}
.bk-sec h3 i{font:700 .85rem var(--f-head);width:26px;height:26px;border-radius:50%;background:var(--btn);color:#fff;display:grid;place-items:center;font-style:normal}
.opts{display:flex;gap:.5rem;flex-wrap:wrap}
.opt{border:1.5px solid var(--line);background:transparent;color:var(--ink);padding:.55rem .9rem;border-radius:8px;font:700 .88rem var(--f-body);cursor:pointer;text-align:left}
.opt[aria-pressed=true]{border-color:var(--btn);background:var(--info-bg);color:var(--brand-ink)}
.days{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.4rem}
.day{flex:none;width:68px;border:1.5px solid var(--line);background:transparent;color:var(--ink);border-radius:10px;padding:.5rem 0;text-align:center;cursor:pointer;font-family:var(--f-body)}
.day small{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-2);font-weight:700}
.day b{font:600 1.35rem var(--f-head);display:block;line-height:1.2}
.day[aria-pressed=true]{background:var(--btn);border-color:var(--btn);color:#fff}.day[aria-pressed=true] small{color:#DCE9F8}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:.45rem}
.slot{border:1.5px solid var(--line);background:transparent;color:var(--ink);border-radius:8px;padding:.5rem;font:500 .85rem var(--f-mono);cursor:pointer}
.slot[aria-pressed=true]{background:var(--btn);border-color:var(--btn);color:#fff}
.slot:disabled{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:560px){.grid2{grid-template-columns:1fr}}
.field{margin-bottom:1rem}
.side{display:grid;gap:1rem}
.side .box{padding:1.3rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.side h3{font-size:1.1rem;margin-bottom:.6rem}
.side .line{display:flex;gap:.7rem;margin:.5rem 0;color:var(--ink-2);font-size:.95rem}
.side .line .icon{color:var(--brand-ink);width:20px;height:20px;margin-top:2px}
.sel{user-select:all}
.confirm{padding:1.6rem;display:grid;gap:1rem}
.confirm .ref{font-family:var(--f-mono);font-size:1.1rem;font-weight:500;background:var(--bg-alt);padding:.6rem .9rem;border-radius:8px;display:inline-block}
.confirm pre{white-space:pre-wrap;font:400 .85rem var(--f-mono);background:var(--bg-alt);padding:1rem;border-radius:8px;margin:0}

/* trove page */
.apps{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.apps.tri{grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.apps.tri{grid-template-columns:1fr}}
.app-card{padding:1.8rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.app-card h3{font-size:1.6rem;margin-bottom:.3rem}
.app-card ul{padding-left:1.1rem;margin:1rem 0 0;color:var(--ink-2)} .app-card li{margin-bottom:.4rem}
@media (max-width:820px){.apps{grid-template-columns:1fr}}
.disclose{display:flex;gap:1rem;padding:1.2rem 1.4rem;border:1px solid var(--gold-line);background:var(--gold-bg);border-radius:12px}
.disclose .icon{color:var(--gold);margin-top:2px}

/* modern additions */
.cal{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cal .c{padding:1.2rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:grid;gap:.4rem}
.cal .d{font:700 1.6rem var(--f-head);letter-spacing:-.03em}
.cal small{color:var(--ink-2)}
@media (max-width:760px){.cal{grid-template-columns:1fr}}
.nl{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;padding:clamp(22px,4vw,40px);border-radius:16px;background:var(--bg-alt);border:1px solid var(--line)}
.nl form{display:grid;gap:.7rem}
.nl .r{display:flex;gap:.6rem}
.nl .r input{flex:1}
@media (max-width:820px){.nl{grid-template-columns:1fr}.nl .r{flex-direction:column}}
.toc{border-left:3px solid var(--brand-ink);padding:.2rem 0 .2rem 1rem;margin:0 0 2rem;display:grid;gap:.3rem}
.toc a{color:var(--ink-2);text-decoration:none;font-size:.93rem}.toc a:hover{color:var(--brand-ink)}
.share{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:1.4rem}
.sticky-cta{display:none}
@media (max-width:760px){.sticky-cta{display:block;position:fixed;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:40}.sticky-cta .btn{width:100%;box-shadow:var(--shadow)}.ftr{padding-bottom:90px}}


/* ===== modern UI layer ===== */
.hdr{background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);transition:box-shadow .2s,border-color .2s}
.hdr.scrolled{box-shadow:0 6px 24px rgba(15,27,42,.08)}
.mega{background:var(--bg);border-radius:0 0 18px 18px}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:1}
.band .eyebrow::before{background:#EE7A6B}
.band .eyebrow::before,.phead .eyebrow::before{opacity:.9}
.hero{background:radial-gradient(900px 480px at 85% -10%,color-mix(in srgb,var(--brand-ink) 8%,transparent),transparent 62%),var(--bg)}
.hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--ink) 9%,transparent) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(180deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);opacity:.5;pointer-events:none}
.hero .in{position:relative;z-index:1}
.hero h1{font-size:clamp(2rem,4.2vw,3.2rem);letter-spacing:-.03em;line-height:1.08}
.grad{color:var(--brand-ink)}
.pill{display:inline-flex;align-items:center;gap:.6rem;padding:.35rem .5rem .35rem .9rem;border-radius:999px;background:color-mix(in srgb,var(--surface) 85%,transparent);border:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:700;font-size:.82rem;box-shadow:0 1px 2px rgba(15,27,42,.05);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.pill .go{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--btn);color:#fff}
.pill .go .icon{width:13px;height:13px;stroke-width:2.4}
.pill .star{color:var(--gold)}
.pill .star .icon{width:15px;height:15px;fill:currentColor;stroke:none}
.btn{border-radius:999px;padding-inline:1.5rem;box-shadow:0 1px 2px rgba(24,33,43,.12)}
.btn.ghost,.btn.light,.btn.outline-light{box-shadow:none}
.btn:active{transform:translateY(1px)}
input,select,textarea{border-radius:12px}
.icon-btn{border-radius:50%}
.wp{border-radius:20px;box-shadow:0 30px 60px -20px rgba(15,27,42,.28),0 2px 6px rgba(15,27,42,.06)}
.hero-vis{position:relative;padding:60px 0 44px 0}.hero-vis .wp{position:relative;z-index:1}.float{z-index:2}
.float{position:absolute;display:flex;gap:.55rem;align-items:center;padding:.6rem .9rem;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-size:.82rem;font-weight:700;animation:fl 6s ease-in-out infinite}
.float .tk{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--good-bg);color:var(--good)}
.float .tk .icon{width:14px;height:14px;stroke-width:2.6}
.float small{display:block;color:var(--ink-2);font-weight:400;font-size:.72rem}
.float.a{left:-14px;top:0}.float.b{right:-10px;bottom:6px;animation-delay:-3s}
@keyframes fl{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (max-width:900px){.float.a{left:0}.float.b{right:0}}
.trust{background:transparent}
/* bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:1.1rem}
.bento .svc{grid-column:span 2;border-radius:22px;padding:1.7rem;min-height:290px;position:relative;overflow:hidden}
.bento .svc:nth-child(1),.bento .svc:nth-child(4){grid-column:span 4}
.bento .svc:nth-child(1){background:var(--band);color:#fff;border-color:transparent}
.bento .svc:nth-child(1) p,.bento .svc:nth-child(1) .more,.bento .svc:nth-child(1) .icon{color:#D3E3F4}
.bento .svc:nth-child(4){background:var(--bg-alt)}
.bento .svc h3{font-size:1.25rem}
.bento .tags{display:flex;gap:.4rem;flex-wrap:wrap}
.bento .tags span{font-size:.74rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;background:color-mix(in srgb,currentColor 11%,transparent)}
.bento .svc .big{position:absolute;right:-14px;top:-14px;width:150px;height:150px;opacity:.07;stroke-width:1.2}
@media (max-width:1020px){.bento{grid-template-columns:1fr 1fr}.bento .svc,.bento .svc:nth-child(1),.bento .svc:nth-child(4){grid-column:span 1;min-height:0}}
@media (max-width:620px){.bento{grid-template-columns:1fr}}
/* spotlight */
.svc,.post,.sub,.person,.office,.app-card{position:relative;background-image:radial-gradient(420px circle at var(--mx,50%) var(--my,-30%),color-mix(in srgb,var(--brand-ink) 9%,transparent),transparent 60%)}
.svc,.post,.app-card,.person,.sub,.office,.ind,.cal .c{border-radius:18px}
/* marquee */
.marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq .track{display:flex;gap:.9rem;width:max-content;animation:mq 46s linear infinite}
.marq:hover .track{animation-play-state:paused}
.marq .track div{flex:none;width:170px;height:84px;background:#fff;border:1px solid var(--line);border-radius:16px;display:grid;place-items:center;padding:.7rem}
.marq img{max-height:54px;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.8}
.marq .track div:hover img{filter:none;opacity:1}
@keyframes mq{to{transform:translateX(calc(-50% - .45rem))}}
@media (prefers-reduced-motion: reduce){.marq .track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.marq{-webkit-mask-image:none;mask-image:none}.marq .dup{display:none}.float{animation:none}}
/* cta gradient */
.band{background:var(--band)}

.phead{background:var(--bg-alt)}
.sec-head h2,.row-head h2{font-size:clamp(1.45rem,2.5vw,2rem);letter-spacing:-.025em}
.cmp{border-radius:22px}
.cmp .hd.us{background:var(--band)}
.step::before{box-shadow:0 0 0 5px color-mix(in srgb,var(--btn) 12%,transparent)}
.nl{border-radius:26px;background:var(--bg-alt)}
#app{animation:pgin .45s ease both}
@keyframes pgin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){#app{animation:none}}
.bk{border-radius:24px}
.day{border-radius:14px}.opt{border-radius:999px}
.slot{border-radius:10px}

/* footer */
.steps.s4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.steps.s4{grid-template-columns:1fr}}
.ftr{border-top:3px solid var(--accent);background:#111B27;color:#C9D6E4;padding-block:56px 28px;font-size:.92rem}
.ftr a{color:#C9D6E4;text-decoration:none} .ftr a:hover{color:#fff;text-decoration:underline}
.ftr h4{font:700 .75rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:.9rem}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.ftr .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem}
.ftr .brand{color:#fff} .ftr .brand small{color:#9FB2C6}
.ftr .legal{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.14);font-size:.82rem;color:#93A7BC}
@media (max-width:900px){.ftr .cols{grid-template-columns:1fr 1fr}} @media (max-width:520px){.ftr .cols{grid-template-columns:1fr}}

/* search */
.srch{position:fixed;inset:0;z-index:80;background:rgba(8,16,28,.6);display:none;padding:max(12vh,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px))}
.srch.open{display:block}
.srch .box{max-width:680px;margin:0 auto;background:var(--bg);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.srch input{border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:58px;font-size:1.1rem;padding-inline:1.2rem}
.srch input:focus{box-shadow:none}
.srch ul{list-style:none;margin:0;padding:.4rem;max-height:52vh;overflow:auto}
.srch li a{display:block;padding:.7rem .9rem;border-radius:8px;text-decoration:none;color:var(--ink)}
.srch li a:hover,.srch li a:focus{background:var(--bg-alt)}
.srch li small{display:block;color:var(--ink-2)}
.srch .k{padding:.6rem 1.2rem;color:var(--ink-2);font-size:.8rem;border-top:1px solid var(--line)}
/* ---- detail pages ---- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:start}
.two:has(.art-col){grid-template-columns:1.5fr 1fr}
@media (max-width:900px){.two,.two:has(.art-col){grid-template-columns:1fr}}
.two .box{padding:1.3rem;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.two .box h3{font-size:1.1rem;margin-bottom:.6rem}
.two .box .line{display:flex;gap:.7rem;margin:.5rem 0;color:var(--ink-2);font-size:.95rem}
.two .box .line .icon{color:var(--brand-ink);width:20px;height:20px;margin-top:2px}
.h2s{font-size:1.25rem;margin:1.8rem 0 .8rem}
.tick{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.6rem}
.tick li{display:flex;gap:.7rem;align-items:flex-start;color:var(--ink-2);font-size:.97rem}
.tick .icon{flex:0 0 18px;width:18px;height:18px;color:var(--brand-ink);margin-top:.18rem}
.fine{color:var(--ink-2);font-size:.84rem;margin-top:.9rem;line-height:1.55}
.more-link{display:inline-flex;gap:.4rem;align-items:center;font-weight:600;color:var(--brand-ink);text-decoration:none;font-size:.92rem}
.more-link .icon{width:16px;height:16px}.more-link:hover{text-decoration:underline}
.pf{display:flex;gap:1.4rem;align-items:center;margin-top:1.2rem;flex-wrap:wrap}
.pf img{width:112px;height:112px;border-radius:50%;background:var(--surface);border:1px solid var(--line)}
.pf .role{font-weight:600;color:var(--brand-ink)} .pf .cr{font-family:var(--f-mono);font-size:.78rem;color:var(--ink-2);margin-top:.25rem}
.chips{display:flex;gap:.5rem;flex-wrap:wrap}
.chip.lnk{text-decoration:none;cursor:pointer}.chip.lnk:hover{border-color:var(--brand-ink)}
.dl{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;font-size:.92rem;margin:0}
.dl dt{color:var(--ink-2)}.dl dd{margin:0}
.linkcard{text-decoration:none;color:var(--ink);display:block}.linkcard:hover{border-color:var(--brand-ink)}
a.ind{text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}a.ind:hover{border-color:var(--brand-ink);transform:translateY(-2px)}
.faq{display:grid;gap:.6rem}
.faq details{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:.2rem 1.1rem}
.faq summary{cursor:pointer;font-weight:600;padding:.8rem 0;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-size:.97rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brand-ink);font-size:1.2rem;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq p{color:var(--ink-2);font-size:.94rem;padding-bottom:1rem;line-height:1.65}
.fp{grid-template-columns:repeat(5,1fr)}@media (max-width:1100px){.fp{grid-template-columns:repeat(3,1fr)}}@media (max-width:700px){.fp{grid-template-columns:1fr 1fr}}@media (max-width:520px){.fp{grid-template-columns:1fr}}
.olist{padding-left:1.3rem;margin:0;display:grid;gap:.5rem;color:var(--ink-2)}
/* cases */
.cases{display:grid;gap:1.4rem}
.case{padding:1.6rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.case h3{font-size:1.3rem;margin:.9rem 0 1.1rem}
.case-h{display:flex;gap:.5rem;flex-wrap:wrap}
.case-g{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.6rem}
.case-g h4{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.5rem}
.case-g p,.case-g li{color:var(--ink);font-size:.93rem;line-height:1.6}.case-g ul{padding-left:1.1rem;margin:0;display:grid;gap:.4rem}
@media (max-width:900px){.case-g{grid-template-columns:1fr;gap:1.1rem}}
/* tools */
.line2{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--line);font-size:.92rem}
.line2:last-child{border-bottom:0}.line2 b{white-space:nowrap}.line2 span{color:var(--ink-2);text-align:right}
.rgroup{margin-bottom:1.8rem}.rgroup h3{font-size:1.05rem;margin-bottom:.6rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.rq{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.7rem 0;flex-wrap:wrap}
.rq p{flex:1 1 360px;font-size:.95rem}
.rresult{display:grid;grid-template-columns:220px 1fr;gap:2rem;margin-top:2.4rem;padding:1.6rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);align-items:start;scroll-margin-top:90px}
.rscore{text-align:center;padding:1.2rem;border-radius:14px;background:var(--bg-alt)}
.rscore b{display:block;font-family:var(--f-head);font-size:2.6rem;color:var(--brand-ink);font-weight:600}.rscore span{font-size:.9rem;color:var(--ink-2)}
.bars{display:grid;gap:.6rem}.bar{display:grid;grid-template-columns:150px 1fr 44px;gap:.8rem;align-items:center;font-size:.88rem}
.trk{height:8px;border-radius:99px;background:var(--bg-alt);overflow:hidden}.trk i{display:block;height:100%;background:var(--brand-ink);border-radius:99px}
.bar em{font-style:normal;color:var(--ink-2);text-align:right}
@media (max-width:760px){.rresult{grid-template-columns:1fr}.bar{grid-template-columns:110px 1fr 40px}}
.tool-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}@media (max-width:760px){.tool-cards{grid-template-columns:1fr}}
.tool-cards .app-card h3{font-size:1.25rem}
a.person-link{color:inherit;text-decoration:none}a.person-link:hover{color:var(--brand-ink)}
.person .more-link{margin-top:.2rem}

.done{padding:1.4rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);max-width:760px}
.done h3{margin-bottom:.4rem}.done p{color:var(--ink-2)}.done textarea{margin-top:.8rem;font-family:var(--f-mono);font-size:.8rem}
.empty-box{padding:1.4rem;border:1px dashed var(--line);border-radius:16px;background:var(--surface)}.empty-box p{color:var(--ink-2);margin-top:.3rem}
.roles{display:grid;gap:.8rem}.role-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.1rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);flex-wrap:wrap}
.role-row p{color:var(--ink-2);font-size:.92rem;margin:.2rem 0 .5rem}.role-row .meta{display:flex;gap:.4rem;flex-wrap:wrap}
.box-cta{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:2rem;padding:1.4rem;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.side .line2 a,a.line2{border-bottom:1px solid var(--line)}
.lang{font:700 .78rem var(--f-body);width:auto;padding:0 .7rem;border-radius:999px}
.langnote{background:var(--info-bg);border-bottom:1px solid var(--line);padding:.7rem 0;font-size:.9rem;color:var(--ink)}
html[lang=fr] .nav a{padding-inline:.55rem}

.cknote{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:60;max-width:440px;display:flex;gap:1rem;align-items:center;padding:.9rem 1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);font-size:.85rem;color:var(--ink-2)}
.cknote p{margin:0}.cknote a{color:var(--brand-ink)}.cknote .btn{flex:0 0 auto}
@media (max-width:760px){.cknote{right:max(16px,env(safe-area-inset-right,0px));bottom:calc(max(12px,env(safe-area-inset-bottom,0px)) + 64px);max-width:none}}
.wabtn{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:45;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:var(--shadow)}
.wabtn .icon{width:26px;height:26px}@media (max-width:760px){.wabtn{bottom:calc(max(12px,env(safe-area-inset-bottom,0px)) + 64px)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
