
/* public.css */
:root{
  --ink:#18323c;--navy:#102d3a;--earth:var(--brand-primary, #6e5367);--earth-action:var(--brand-primary, #6e5367);
  --apricot:var(--brand-primary, #6e5367);--sky:#e4f0f5;--paper:#f3f6f8;--muted:#5f6e76;
  --line:#d5e0e5;--white:#ffffff;--surface:#ffffff;
  --shadow-soft:0 10px 30px rgba(16,45,58,.07),0 2px 8px rgba(16,45,58,.035);
  --shadow-raised:0 22px 58px rgba(16,45,58,.11),0 4px 14px rgba(16,45,58,.05)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:linear-gradient(180deg,#f7f9fa 0,var(--paper) 520px);font-family:Inter,"Noto Sans Devanagari","Kohinoor Devanagari",Mangal,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.public-scroll-top{position:fixed;z-index:170;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));width:48px;height:48px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--navy);box-shadow:0 14px 36px rgba(9,12,13,.24);opacity:0;pointer-events:none;transform:translateY(16px) scale(.92);transition:opacity .2s ease,transform .2s ease,background .2s ease;cursor:pointer}
.public-scroll-top.is-visible{opacity:1;pointer-events:auto;transform:none}
.public-scroll-top:hover{background:var(--earth-action)}
.public-scroll-top:focus-visible{outline:3px solid var(--apricot);outline-offset:3px}
.public-scroll-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.public-quick-nav{display:none}
/* One calm preference dock replaces four competing header controls. */
.public-preferences-dock{
  position:fixed;z-index:169;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));
  width:auto;max-width:calc(100vw - 36px);min-height:66px;padding:8px;border:1px solid rgba(24,50,60,.12);border-radius:20px;
  display:grid;grid-template-columns:minmax(126px,1fr) minmax(92px,auto) minmax(150px,auto) 44px 44px;gap:7px;align-items:end;
  color:var(--ink);background:rgba(255,255,255,.96);box-shadow:0 18px 48px rgba(16,45,58,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
}
.public-preference-field{min-width:0;display:grid;gap:3px}
.public-preference-field>span{padding-inline:7px;color:var(--muted);font-size:14.5px;font-weight:720;line-height:1;letter-spacing:.06em;text-transform:uppercase}
.public-preferences-dock :is(.public-market,.language-picker){width:100%;height:44px;border-color:transparent;border-radius:12px;background:#f3f6f8;box-shadow:none}
.public-preferences-dock .public-preference-brand select{width:100%;height:44px;padding:0 30px 0 10px;border:0;border-radius:12px;color:var(--ink);background:#f3f6f8;font:inherit;font-size:13px;font-weight:680}
.public-preferences-dock .public-market select{min-width:0;max-width:none;width:100%;height:44px;padding-left:10px;background:transparent;font-size:14.5px;font-weight:650}
.public-preferences-dock .public-market button{width:32px;height:44px;border-left:0;border-radius:10px;color:var(--ink);background:transparent}
.public-preferences-dock .language-picker.is-enhanced{height:44px;background:transparent}
.public-preferences-dock .language-picker.is-enhanced .language-picker-trigger{width:100%;min-width:92px;height:44px;border:0;border-radius:12px;background:#f3f6f8;box-shadow:none;font-size:14.5px;font-weight:680}
.public-preferences-dock .public-preference-action{width:44px;min-width:44px;height:44px;border:0;border-radius:12px;color:var(--ink);background:#f3f6f8;box-shadow:none}
.public-preferences-dock .public-preference-action:hover{background:color-mix(in srgb,var(--brand-primary) 13%,#f3f6f8);box-shadow:none;transform:none}
.public-preferences-dock .usability-toggle.public-preference-action{min-height:44px;padding:0;display:grid;place-items:center}
.public-preferences-dock .usability-toggle.public-preference-action>b{font-size:16px!important;font-weight:720;letter-spacing:-.04em}
[data-theme="dark"] .public-preferences-dock{border-color:rgba(255,255,255,.12);background:rgba(23,35,41,.96);box-shadow:0 18px 48px rgba(0,0,0,.3)}
[data-theme="dark"] .public-preferences-dock :is(.public-market,.language-picker),[data-theme="dark"] .public-preferences-dock .language-picker.is-enhanced .language-picker-trigger,[data-theme="dark"] .public-preferences-dock .public-preference-brand select,[data-theme="dark"] .public-preferences-dock .public-preference-action{color:var(--ink);background:#223138}
.public-scroll-top{right:max(18px,env(safe-area-inset-right));bottom:calc(98px + env(safe-area-inset-bottom))}
.public-footer{padding-bottom:calc(28px + 92px + env(safe-area-inset-bottom))!important}
body:has(.public-menu.is-open) .public-preferences-dock{opacity:0;pointer-events:none;transform:translateY(8px)}
body:has(.pwa-notice) .public-scroll-top{bottom:112px}
.pwa-notice{position:fixed;z-index:180;right:18px;bottom:18px;width:min(390px,calc(100% - 36px));padding:12px 13px;border-radius:18px;display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:10px;align-items:center;color:#fff;background:#090c0d;box-shadow:0 20px 55px rgba(0,0,0,.28)}
.pwa-notice img{width:42px}.pwa-notice strong,.pwa-notice span{display:block}.pwa-notice strong{font-size: 16px}.pwa-notice span{color:rgba(255,255,255,.58);font-size: 16px;line-height:1.4}.pwa-notice button{min-height:37px;padding:0 12px;border:0;border-radius:10px;color:#fff;background:var(--earth-action);font-size: 16px;font-weight:950;cursor:pointer}.pwa-notice .pwa-close{padding:0;color:#fff;background:transparent;font-size:17px}

.public-header{position:sticky;z-index:100;top:0;border-bottom:1px solid rgba(24,50,60,.08);background:rgba(255,255,255,.96);box-shadow:0 3px 16px rgba(16,45,58,.035);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.public-header-inner{width:min(1440px,100%);height:78px;margin:auto;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;gap:24px}
.public-brand{height:100%;display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none}
.public-brand-lockup{width:127px;align-content:center;align-self:center;gap:2px;color:var(--ink)}
.public-brand-lockup .meo-lockup-label{font-size:95%;line-height:1;letter-spacing:.12em}
.public-brand img{display:block;width:100%}
.public-primary{margin-left:auto;display:flex;align-items:center;gap:5px}
.public-primary a,.public-signin{position:relative;min-height:44px;padding:0 12px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;font-size:16px;font-weight:850;line-height:1.2}
.public-primary a,.public-signin,.public-cta{white-space:nowrap}
.public-primary a:hover,.public-signin:hover{background:#edf4f6}
.public-market{display:flex;align-items:center;min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.public-market select{min-width:102px;max-width:142px;height:42px;padding:0 8px;border:0;background:#fff;color:var(--ink);font:750 14.5px/1.2 inherit}
.public-market button{width:34px;height:42px;border:0;border-left:1px solid var(--line);background:#edf1f2;color:var(--navy);font-weight:850;cursor:pointer}
.public-primary a.active{color:#fff;background:var(--navy);font-weight:950}
.public-language{padding:3px;border:1px solid var(--line);border-radius:10px;display:flex;gap:2px;background:#fff}
.public-language a{min-width:29px;padding:6px 5px;border-radius:7px;display:grid;place-items:center;color:var(--muted);text-decoration:none;font-size: 16px;font-weight:950}
.public-language a.active{color:#fff;background:var(--navy)}
.public-actions{display:flex;align-items:center;gap:7px}
.public-signout-form{display:contents}.public-signout-form button{font:inherit;cursor:pointer;border:0;background:transparent}.public-menu-actions .public-signout-form button{width:100%;min-height:50px;padding-inline:14px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:var(--ink);font-weight:950;text-align:center}
.public-cta{min-height:44px;padding:0 19px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;color:#fff!important;background:var(--earth-action);box-shadow:0 9px 22px rgb(var(--brand-primary-rgb, 53 107 112) / .22);font-size: 16px;font-weight:950;text-decoration:none!important;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.public-cta:hover{transform:translateY(-1px);background:var(--brand-primary, #6e5367);box-shadow:0 12px 28px rgb(var(--brand-primary-rgb, 53 107 112) / .25)}
.public-cta:focus-visible,.public-primary a:focus-visible,.public-signin:focus-visible,.public-menu-toggle:focus-visible,.public-menu-panel a:focus-visible,.public-language a:focus-visible{outline:3px solid var(--apricot);outline-offset:3px}
.public-menu{position:relative;display:none;margin-left:auto}
.public-menu-toggle{width:52px;min-width:52px;min-height:48px;padding:0;border:0;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--navy);box-shadow:0 9px 22px rgba(16,45,58,.18);font:inherit;font-weight:950;cursor:pointer;transition:background .18s ease,box-shadow .18s ease}
.public-menu-toggle:hover{background:#183d4d;box-shadow:0 12px 27px rgba(16,45,58,.23)}
.public-menu-icon{position:relative;width:22px;height:16px;display:block;flex:0 0 22px}
.public-menu-icon i{position:absolute;right:0;left:0;height:2px;border-radius:3px;background:currentColor;transform-origin:center;transition:top .18s ease,transform .18s ease,opacity .14s ease}
.public-menu-icon i:first-child{top:0}
.public-menu-icon i:nth-child(2){top:7px}
.public-menu-icon i:last-child{top:14px}
.public-menu.is-open .public-menu-icon i:first-child{top:7px;transform:rotate(45deg)}
.public-menu.is-open .public-menu-icon i:nth-child(2){opacity:0}
.public-menu.is-open .public-menu-icon i:last-child{top:7px;transform:rotate(-45deg)}
.public-menu-panel{position:absolute;z-index:120;top:calc(100% + 11px);right:0;width:min(420px,calc(100vw - 28px));max-height:calc(100dvh - 92px);padding:15px;border:1px solid var(--line);border-radius:22px;display:grid;gap:13px;overflow:auto;color:var(--ink);background:var(--white);box-shadow:0 25px 70px rgba(16,45,58,.24);overscroll-behavior:contain}
.public-menu-panel[hidden]{display:none!important}
.public-menu-tools{padding:3px 3px 13px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.public-menu .public-language{margin:0;display:flex}
.public-menu .public-language a{min-width:44px;min-height:44px;padding:8px}
.public-menu-theme{min-height:44px;box-shadow:none}
.public-menu-links{display:grid;gap:4px}
.public-menu-links>a{position:relative;min-height:48px;padding:12px 14px;border-radius:13px;display:flex;align-items:center;text-decoration:none;font-weight:850}
.public-menu-links>a:hover{background:#eef1f2}
.public-menu-links>a.active{color:#fff;background:var(--navy);font-weight:950}
.public-menu-actions{padding-top:13px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9px}
.public-menu-actions>a{min-height:50px;padding-inline:14px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-weight:950;text-decoration:none;text-align:center}
.public-menu-signin{border:1px solid var(--line);color:var(--ink);background:transparent}
.public-menu-signin:hover{background:#eef1f2}

.public-footer{padding:58px clamp(22px,6vw,92px) 24px;color:#fff;background:#090c0d}
.public-footer-grid{max-width:1360px;margin:auto;display:grid;grid-template-columns:1.35fr .65fr .75fr 1.25fr;gap:clamp(28px,5vw,72px)}
.public-footer-lockup{width:166px;color:#fff}
.public-footer-brand img{width:100%;filter:brightness(0) invert(1)}
.public-footer-brand p{max-width:330px;margin:21px 0 12px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.65}
.public-footer-brand span{color:rgba(255,255,255,.58);font-size:16px}
.public-footer nav{display:grid;align-content:start;gap:10px}
.public-footer nav strong,.public-newsletter>span{margin-bottom:8px;color:var(--brand-on-dark-accent,var(--apricot));font-size:15px;font-weight:700;letter-spacing:.045em;text-transform:uppercase}
.public-footer nav a,.public-cookie-link{padding:2px 0;border:0;color:rgba(255,255,255,.72);background:transparent;text-align:left;text-decoration:none;font:inherit;font-size:16px;line-height:1.45;cursor:pointer}
.public-footer nav a:hover,.public-cookie-link:hover{color:#fff}
.public-newsletter{padding:24px;border:1px solid var(--brand-line,var(--line));border-radius:22px;color:var(--brand-reading,var(--ink));background:var(--brand-surface,var(--white));box-shadow:0 14px 34px rgb(var(--brand-primary-rgb,53 107 112)/.12)}
.public-newsletter>span{color:var(--brand-primary,var(--earth-action))}
.public-newsletter h2{margin:8px 0 6px;font-size:calc(23px - 2.6667px);letter-spacing:-.04em}
.public-newsletter p{margin:0 0 15px;color:var(--brand-reading-muted,var(--muted));font-size:16px;line-height:1.55}
.public-newsletter form>div{padding:4px;border:1px solid var(--brand-line,var(--line));border-radius:13px;display:flex;background:var(--brand-surface,var(--white))}
.public-newsletter input{min-width:0;height:46px;padding:0 11px;border:0;flex:1;color:var(--brand-reading,var(--ink));background:transparent;outline:0;font-size:16px}
.public-newsletter button{min-width:96px;border:0;border-radius:9px;color:var(--brand-on-action,#fff);background:var(--brand-action,var(--earth-action));font-size:16px;font-weight:700;text-decoration:none;cursor:pointer}
.public-newsletter button:hover{background:var(--brand-action-hover,var(--brand-primary,#6e5367))}
.public-newsletter button:disabled{opacity:.62;cursor:wait}
.public-newsletter small{display:block;margin-top:8px;color:var(--brand-reading-muted,var(--muted));font-size:16px;line-height:1.45}
.public-newsletter .public-newsletter-notice{margin:12px 0 0;padding-top:11px;border-top:1px solid var(--brand-line,var(--line));color:var(--brand-reading-muted,var(--muted));font-size:16px;line-height:1.55}
.public-newsletter-notice a{color:var(--brand-link,var(--ink));font-weight:700}
.public-footer-social,.public-footer-bottom{max-width:1360px;margin:28px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between}
.public-footer-social>span{color:rgba(255,255,255,.66);font-size:16px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.public-footer-social>div{display:flex;gap:7px}
.public-footer-social a,.public-footer-social button{width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.15);border-radius:12px;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.05);text-decoration:none;font-size:16px;font-weight:950;cursor:pointer}
.public-footer-social img{display:block;filter:brightness(0) invert(1)}
.public-footer-social a:hover,.public-footer-social button:hover{border-color:var(--earth-action);background:var(--earth-action)}.public-footer-social>small{min-width:80px;color:rgba(255,255,255,.75)}
.public-ai-disclosure{max-width:1360px;margin:16px auto 0;padding:13px 16px;border-radius:14px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:center;color:var(--brand-on-dark-muted,rgba(255,255,255,.72));background:rgba(255,255,255,.055)}
.public-ai-mark{width:40px;height:40px;border:1px solid var(--brand-dark-line,rgba(255,255,255,.25));border-radius:50%;display:grid;place-items:center;color:var(--brand-on-dark,#fff);background:var(--brand-navigation-active,var(--brand-primary));font-size:12px;font-weight:750;letter-spacing:.04em}
.public-ai-disclosure p{margin:0;font-size:14.5px;line-height:1.4}
.public-ai-disclosure a{color:#fff;font-weight:850;text-decoration:none}
.public-ai-disclosure a:hover{color:var(--apricot)}
.public-publisher{max-width:1360px;margin:24px auto 0;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.3fr) minmax(280px,1.2fr) minmax(150px,.55fr);gap:12px 28px;color:rgba(255,255,255,.72);font-size:16px;font-style:normal;line-height:1.5}
.public-publisher>span:first-child{color:var(--apricot);font-weight:900}
.public-publisher strong{color:#fff}
.public-footer-bottom{margin-top:18px;padding-top:18px;color:rgba(255,255,255,.58);font-size:16px}

.public-dialog{width:min(520px,calc(100% - 32px));padding:36px;border:0;border-radius:28px;color:var(--ink);background:var(--white);box-shadow:0 35px 100px rgba(3,12,16,.38)}
.public-dialog::backdrop{background:rgba(6,17,22,.68);backdrop-filter:blur(7px)}
.public-dialog-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:12px;color:var(--ink);background:#ecefeb;font-size:19px;font-weight:800;cursor:pointer}
.public-dialog>span{display:block;color:var(--earth-action);font-size: 16px;font-weight:950;letter-spacing:.13em}
.public-dialog h2{margin:10px 0 9px;font-size:calc(34px - 2.6667px);line-height:1;letter-spacing:-.055em}
.public-dialog>p{margin:0;color:var(--muted);font-size: 16px;line-height:1.65}
.public-newsletter-dialog{text-align:center}
.public-newsletter-dialog>img{width:86px;margin:4px auto 20px}
.public-newsletter-dialog form{margin-top:20px;display:grid;gap:8px}
.public-newsletter-dialog input{height:50px;padding:0 15px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:#fff;font:inherit}
.public-newsletter-dialog button[type=submit],.public-cookie-save{min-height:48px;border:0;border-radius:13px;color:#fff;background:var(--earth-action);font-weight:950;cursor:pointer}
.public-newsletter-dialog small{min-height:15px;color:var(--muted);font-size: 16px;line-height:1.45}
.public-newsletter-success{padding:20px 0 8px;display:grid;justify-items:center;gap:11px;text-align:center;outline:0}
.public-newsletter-success-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--earth-action);box-shadow:0 14px 34px rgb(var(--brand-primary-rgb, 53 107 112) / .25)}
.public-newsletter-success-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.public-newsletter-success h2{margin:5px 0 0;font-size:calc(30px - 2.6667px);line-height:1.08;letter-spacing:-.045em}
.public-newsletter-success p{max-width:390px;margin:0;color:var(--muted);font-size:16px;line-height:1.55}
.public-newsletter-success small{margin-top:2px;color:var(--muted);font-size:16px;line-height:1.45}
.public-newsletter-dialog .public-newsletter-notice{margin:14px 0 0;color:var(--muted);font-size: 16px;line-height:1.55}
.public-newsletter-dialog .public-newsletter-notice a{color:var(--ink);font-weight:850}
.public-dialog-later{margin-top:11px;border:0;color:var(--muted);background:transparent;font-size: 16px;font-weight:850;cursor:pointer}
.public-cookie-content{margin-top:24px}.public-cookie-options{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#f7f9f8}
.cookie-row{min-height:86px;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:transparent}
.cookie-row+.cookie-row{border-top:1px solid var(--line)}
.cookie-row strong,.cookie-row small{display:block}
.cookie-row strong{font-size: 16px}
.cookie-row small{margin-top:3px;color:var(--muted);font-size: 16px;line-height:1.45}
.cookie-state{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;color:#6d7c81;background:#e5e9e8;font-size:20px;font-weight:950}.cookie-state.is-active{color:#fff;background:#287d69}
.cookie-row>input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.public-cookie-actions{margin-top:20px;display:grid;grid-template-columns:minmax(140px,.7fr) minmax(220px,1.3fr);gap:12px;align-items:center}
.public-cookie-actions .public-cookie-save{width:100%;padding:0 22px}.public-cookie-actions .public-cookie-policy{min-height:48px;padding:0 18px;border:1px solid var(--line);border-radius:13px;display:flex;align-items:center;justify-content:center;text-decoration:none;background:#fff}
.public-cookie-dialog output{min-height:14px;color:var(--muted);font-size: 16px;text-align:center}
.public-cookie-policy{color:inherit;font-size: 16px;font-weight:900;}
.public-cookie-dialog .public-cookie-policy{text-align:center}
.public-cookie-banner{position:fixed;z-index:300;right:20px;bottom:20px;left:20px;width:min(1120px,calc(100% - 40px));margin:auto;padding:20px;border-radius:21px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;color:#fff;background:var(--navy);box-shadow:0 25px 75px rgba(3,12,16,.32)}
.public-cookie-banner strong{font-size: 16px}
.public-cookie-banner p{max-width:700px;margin:6px 0 0;color:rgba(255,255,255,.66);font-size: 16px;line-height:1.55}
.public-cookie-banner>div:last-child{display:flex;gap:7px}
.public-cookie-banner button{min-height:42px;padding:0 13px;border:1px solid rgba(255,255,255,.25);border-radius:11px;color:#fff;background:transparent;font-size: 16px;font-weight:900;cursor:pointer}
.public-cookie-banner button:hover,.public-cookie-banner button:first-child,.public-cookie-banner button:last-child{border-color:var(--earth-action);background:var(--earth-action)}

.public-contact{min-height:calc(100vh - 170px);display:grid;place-items:center;padding:clamp(28px,5vw,72px) var(--page-gutter)}
.public-contact>section{width:min(760px,100%);padding:clamp(24px,4vw,48px);border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow-soft)}
.public-contact header{display:grid;gap:10px;margin-bottom:24px}
.public-contact header span{color:var(--earth-action);font-size:.78rem;font-weight:760;letter-spacing:.15em;text-transform:uppercase}
.public-contact h1{margin:0;color:var(--ink);font-size:calc(clamp(2rem,5vw,3.6rem) - 2.6667px);line-height:.98;letter-spacing:-.045em}
.public-contact header p{max-width:58ch;margin:0;color:var(--muted);font-size:1rem;line-height:1.6}
.public-contact form{display:grid;gap:15px;padding:20px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 88%,var(--paper))}
.public-contact form label{display:grid;gap:8px;color:var(--ink);font-size:.9rem;font-weight:680}
.public-contact input,.public-contact textarea{width:100%;border:2px solid color-mix(in srgb,var(--ink) 34%,var(--line));border-radius:13px;background:var(--white);color:var(--ink);font:inherit;font-weight:430;padding:13px 15px;box-shadow:0 1px 0 rgba(24,50,60,.05);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.public-contact textarea{min-height:150px;resize:vertical;line-height:1.55}
.public-contact input:hover,.public-contact textarea:hover{border-color:color-mix(in srgb,var(--ink) 58%,var(--line))}
.public-contact input:focus-visible,.public-contact textarea:focus-visible{outline:0;border-color:var(--earth-action);background:var(--white);box-shadow:0 0 0 4px color-mix(in srgb,var(--earth-action) 20%,transparent)}
.public-contact .public-cta{justify-self:start;margin-top:2px}
.contact-privacy{display:flex;align-items:flex-start;gap:11px;margin:1px 0 0;padding:12px 14px;border:1px solid #75a7bd;border-radius:999px;background:#e7f5fb;color:#17485d;font-size:.88rem;line-height:1.45}
.contact-privacy svg{width:22px;height:22px;flex:0 0 22px;fill:#216b87}
.contact-privacy span{padding-top:1px}
.contact-status{margin:0 0 18px;padding:12px 15px;border-radius:12px;font-weight:650}
.contact-status.success{border:1px solid #a5d6bb;background:#eaf7ef;color:#155d3d}
.contact-status.error{border:1px solid var(--brand-primary, #6e5367);background:#dff6f8;color:#47565d}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Canonical public trust surface: quiet depth, stable controls, clear focus. */
.mk-feature,.mk-editorial-card,.mk-proof,.mk-tracker-facts,.mk-how-cards article,.ulule-page section,.public-contact>section{border-color:rgba(24,50,60,.1);box-shadow:var(--shadow-soft)}
.mk-hero-visual,.mk-product-hero-visual,.mk-how-hero-visual{box-shadow:var(--shadow-raised)}
.public-cta,.public-newsletter button,.public-cookie-save{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}
.public-cta:active,.public-newsletter button:active,.public-cookie-save:active{transform:translateY(0)}
input,select,textarea,button{font:inherit}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;border-color:var(--earth-action);box-shadow:0 0 0 4px rgb(var(--brand-primary-rgb, 53 107 112) / .16)}

.ulule-page{width:min(1400px,100%);margin:auto;padding:clamp(18px,3vw,42px) clamp(16px,4vw,64px);display:grid;gap:18px}
.ulule-page section{border:1px solid var(--line);border-radius:26px;background:var(--white);overflow:hidden}
.ulule-page h1,.ulule-page h2,.ulule-page h3,.ulule-page p{margin-top:0}
.ulule-page h1{max-width:12ch;margin-bottom:16px;font-size:calc(clamp(2.5rem,6vw,5.7rem) - 2.6667px);font-weight:760;line-height:.94;letter-spacing:-.06em}
.ulule-page h2{margin-bottom:8px;font-size:calc(clamp(1.75rem,3vw,3rem) - 2.6667px);font-weight:720;line-height:1;letter-spacing:-.045em}
.ulule-page h3{margin-bottom:6px;font-size:calc(1.08rem - 2.6667px);font-weight:700}
.ulule-page p{color:var(--muted);font-size:1rem;line-height:1.55}
.ulule-page section header>span,.ulule-kicker,.ulule-product>div>span{display:block;margin-bottom:8px;color:var(--earth-action);font-size:.78rem;font-weight:760;letter-spacing:.15em;text-transform:uppercase}
.ulule-hero{min-height:540px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr)}
.ulule-hero-copy{padding:clamp(28px,5vw,72px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.ulule-hero-copy>p{max-width:54ch}.ulule-hero-copy>strong{margin:3px 0 22px;font-size:.94rem;line-height:1.5}
.ulule-hero figure{position:relative;min-height:420px;margin:0;background:var(--navy)}
.ulule-hero figure img{width:100%;height:100%;display:block;object-fit:cover}
.ulule-hero figcaption{position:absolute;right:18px;bottom:18px;padding:8px 11px;border-radius:10px;color:#fff;background:rgba(9,12,13,.72);font-size:.75rem}
.guide-faq-state>header{max-width:760px;margin-bottom:28px}.guide-faq-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guide-faq-groups>section{padding:clamp(18px,3vw,28px);border:1px solid var(--line);border-radius:18px;background:var(--surface)}.guide-faq-groups>section:only-child{grid-column:1/-1}.guide-faq-groups h3{margin:0 0 14px}.guide-faq-groups details{border-top:1px solid var(--line)}.guide-faq-groups summary{padding:15px 0;font-weight:750;cursor:pointer}.guide-faq-groups details p{margin:0 0 16px;max-width:68ch}.guide-faq-groups details[open] summary{color:var(--teal)}
.ulule-cta-pending{max-width:480px;padding:13px 16px;border:1px solid var(--line);border-radius:13px;color:var(--muted);background:var(--paper);font-weight:650;line-height:1.45}
.ulule-live{padding:clamp(22px,3vw,38px)}
.ulule-live header{display:flex;gap:16px;align-items:baseline;justify-content:space-between}.ulule-live header h2{font-size:calc(clamp(1.2rem,2vw,1.75rem) - 2.6667px)}
.ulule-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:18px;overflow:hidden}
.ulule-metrics article{min-height:100px;padding:18px;display:grid;align-content:center;gap:7px}.ulule-metrics article+article{border-left:1px solid var(--line)}
.ulule-metrics small{color:var(--muted);font-size:.8rem}.ulule-metrics strong{font-size:clamp(1.05rem,2.2vw,1.65rem);font-weight:720;overflow-wrap:break-word}
.ulule-source{margin:14px 0 0!important;font-size:.78rem!important}
.ulule-campaign-tools{display:grid;grid-template-columns:1fr 1fr}.ulule-campaign-tools>div{padding:clamp(24px,4vw,48px)}.ulule-campaign-tools>div+div{border-left:1px solid var(--line)}.ulule-countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:24px}.ulule-countdown-grid span{min-width:0;padding:16px 8px;border-radius:15px;text-align:center;background:var(--paper)}.ulule-countdown-grid strong{display:block;color:var(--navy);font-size:clamp(1.55rem,4vw,2.55rem);font-variant-numeric:tabular-nums;line-height:1}.ulule-countdown-grid small{display:block;margin-top:7px;color:var(--muted);font-size:.72rem}.ulule-countdown-live{margin:18px 0 0!important;color:var(--earth-action)!important;font-weight:750}.ulule-share>p{max-width:52ch}.ulule-share-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.ulule-share-actions button,.ulule-share-actions a{min-height:46px;padding:0 17px;border:1px solid var(--navy);border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:var(--navy);background:transparent;font:inherit;font-weight:720;text-decoration:none;cursor:pointer}.ulule-share-actions .public-cta{color:#fff;background:var(--earth-action);border-color:var(--earth-action)}.ulule-share-actions img{filter:brightness(0) invert(1)}.ulule-share-status{min-height:1.5em;margin:10px 0 0!important;color:var(--earth-action)!important;font-weight:700}
.ulule-budget{padding:clamp(24px,4vw,52px);display:grid;grid-template-columns:.75fr 1.25fr;gap:30px;align-items:start}
.ulule-budget header p{max-width:42ch;margin-bottom:0}.ulule-budget>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ulule-budget article{min-height:112px;padding:18px;border-radius:16px;background:var(--paper);display:grid;align-content:center;gap:5px}.ulule-budget article strong{color:var(--earth-action);font-size:1.55rem;font-weight:740}.ulule-budget article span{font-size:.9rem;line-height:1.35}
.ulule-product{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.ulule-product>div{padding:clamp(24px,4vw,52px)}
.ulule-product article{padding:18px 0;border-top:1px solid var(--line)}.ulule-product article p{margin-bottom:0}
.ulule-product figure{min-height:400px;margin:0;background:#f7f3ef}.ulule-product img{width:100%;height:100%;display:block;object-fit:cover}
.ulule-hero figure>.meo-ai-visual-badge,.ulule-product figure>.meo-ai-visual-badge{position:absolute;z-index:4;top:16px;left:16px;width:min(126px,calc(100% - 32px));height:auto;filter:drop-shadow(0 5px 14px rgba(0,0,0,.24));pointer-events:none}.ulule-hero figure>.meo-ai-visual-badge img,.ulule-product figure>.meo-ai-visual-badge img{width:100%;height:auto;display:block;object-fit:contain;}.ulule-product figure{position:relative}
.ulule-how,.ulule-faq{padding:clamp(24px,4vw,52px)}
.ulule-how>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ulule-how article{padding:20px;border-radius:16px;background:var(--paper)}.ulule-how article p{margin-bottom:0}
.ulule-faq{display:grid;grid-template-columns:.6fr 1.4fr;gap:30px}.ulule-faq>div{display:grid;gap:8px}.ulule-faq details{border:1px solid var(--line);border-radius:14px;background:var(--paper)}.ulule-faq summary{padding:16px 18px;cursor:pointer;font-weight:680;line-height:1.35}.ulule-faq details p{margin:0;padding:0 18px 18px}

@media(max-width:900px){.ulule-hero,.ulule-product,.ulule-campaign-tools{grid-template-columns:1fr}.ulule-campaign-tools>div+div{border-left:0;border-top:1px solid var(--line)}.ulule-hero{min-height:0}.ulule-hero figure{min-height:320px}.ulule-product figure{min-height:320px}.ulule-budget,.ulule-faq{grid-template-columns:1fr}.ulule-metrics{grid-template-columns:1fr 1fr}.ulule-metrics article:nth-child(3){border-left:0}.ulule-metrics article:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:620px){.ulule-page{padding-inline:12px}.ulule-page section{border-radius:20px}.ulule-hero-copy{padding:28px 22px}.ulule-hero figure{min-height:250px}.ulule-live header{display:block}.ulule-metrics,.ulule-budget>div,.ulule-how>div{grid-template-columns:1fr}.ulule-countdown-grid{grid-template-columns:1fr 1fr}.ulule-share-actions{display:grid}.ulule-share-actions>*{width:100%;box-sizing:border-box}.ulule-metrics article+article{border-left:0;border-top:1px solid var(--line)}.ulule-product figure{min-height:250px}}
@media(max-width:760px){.guide-faq-groups{grid-template-columns:1fr}.guide-faq-groups>section{padding:18px}}

@media(max-width:1280px){.public-header-inner{gap:15px}.public-primary a,.public-signin{padding-inline:9px}.public-footer-grid{gap:34px}}
@media(max-width:1500px){.public-header{display:block!important;visibility:visible!important}.public-primary,.public-actions,.public-header-inner>.public-language,.public-header-inner>.public-market,.public-header-inner>.theme-toggle{display:none}.public-menu{display:block;margin-left:auto}.public-header-inner{width:100%;height:68px;min-height:68px}.public-brand{flex:0 0 auto}.public-footer-grid{grid-template-columns:1fr 1fr}.public-newsletter{grid-column:1/-1}.public-publisher{grid-template-columns:1fr 1fr}}
@media(min-width:760px) and (max-width:1500px){.public-footer-grid{grid-template-columns:minmax(200px,1.05fr) minmax(135px,.65fr) minmax(180px,.8fr)}.public-newsletter{grid-column:1/-1}}
@media(max-width:1199px){
  .public-quick-nav{position:fixed;z-index:165;right:0;bottom:0;left:0;height:calc(68px + env(safe-area-inset-bottom));padding:5px max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;color:#fff;background:rgba(16,45,58,.98);box-shadow:0 -10px 30px rgba(16,45,58,.2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .public-quick-nav a,.public-quick-nav button{min-width:0;height:58px;padding:5px 2px;border:0;border-radius:12px;display:grid;grid-template-rows:25px auto;place-items:center;align-content:center;gap:2px;color:rgba(255,255,255,.76);background:transparent;text-decoration:none;font:inherit;font-weight:620;text-align:center;cursor:pointer}
  .public-quick-nav a:hover,.public-quick-nav a:focus-visible,.public-quick-nav button:hover,.public-quick-nav button:focus-visible{color:#fff;background:rgba(255,255,255,.09)}
  .public-quick-nav a:focus-visible,.public-quick-nav button:focus-visible{outline:3px solid var(--brand-primary, #6e5367);outline-offset:-2px}
  .public-quick-nav a.active{color:#fff;background:rgb(var(--brand-primary-rgb, 53 107 112) / .25);font-weight:760}
  .public-quick-nav button.is-active{color:#fff;background:rgb(var(--brand-primary-rgb, 53 107 112) / .25)}
  .public-quick-nav svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .public-quick-nav span{max-width:100%;overflow:visible;text-overflow:clip;font-size:14.5px!important;line-height:1.08;white-space:nowrap}
  .public-menu-toggle{display:none}
  .public-menu-panel{position:fixed;z-index:168;top:auto;right:max(12px,env(safe-area-inset-right));bottom:calc(78px + env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));width:auto;max-height:calc(100dvh - 104px - env(safe-area-inset-bottom));border-radius:22px}
  .public-preferences-dock{right:max(12px,env(safe-area-inset-right));bottom:calc(78px + env(safe-area-inset-bottom))}
  .public-footer{padding-bottom:calc(32px + 68px + 88px + env(safe-area-inset-bottom))!important}
  .public-scroll-top{bottom:calc(158px + env(safe-area-inset-bottom))}
  body:has(.pwa-notice) .public-scroll-top{bottom:calc(174px + env(safe-area-inset-bottom))}
  .public-pwa-install{bottom:calc(82px + env(safe-area-inset-bottom))!important}
  .pwa-notice{bottom:calc(82px + env(safe-area-inset-bottom))}
  .public-cookie-banner{bottom:calc(82px + env(safe-area-inset-bottom))}
}
@media(max-width:900px){.public-cookie-banner{grid-template-columns:1fr}.public-cookie-banner>div:last-child{display:grid;grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.public-footer{padding-top:45px}.public-dialog{padding:30px}}
@media(max-width:560px){.public-cookie-actions{grid-template-columns:1fr}.cookie-row{min-height:0;padding:15px;gap:14px}.public-cookie-dialog{max-height:calc(100dvh - 20px);overflow:auto}}
@media(max-width:560px){.public-header-inner{gap:10px;padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}.public-brand .meo-lockup-label{display:none}.public-brand img{width:100%}.public-menu-panel{right:max(10px,env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));max-height:calc(100dvh - 96px - env(safe-area-inset-bottom));padding:14px;border-radius:20px}.public-menu-actions{grid-template-columns:1fr}.public-footer{padding-inline:20px;padding-bottom:calc(32px + 68px + 142px + env(safe-area-inset-bottom))!important}.public-footer-grid{grid-template-columns:1fr;gap:30px}.public-footer-brand{order:1}.public-newsletter{grid-column:1;order:2}.public-footer nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;order:3}.public-footer nav strong{grid-column:1/-1}.public-footer nav+nav{order:4}.public-footer-social,.public-footer-bottom{align-items:flex-start;gap:14px;flex-direction:column}.public-ai-disclosure{grid-template-columns:1fr;gap:13px}.public-publisher{grid-template-columns:1fr;gap:8px}.public-newsletter form>div{display:grid;gap:5px}.public-newsletter button{height:46px}.public-cookie-banner{right:12px;left:12px;width:auto;padding:17px}.public-cookie-banner>div:last-child{grid-template-columns:1fr}.public-dialog h2{font-size:calc(30px - 2.6667px)}.public-preferences-dock{right:max(8px,env(safe-area-inset-right));left:max(8px,env(safe-area-inset-left));max-width:none;min-height:128px;padding:7px;grid-template-columns:minmax(0,1fr) minmax(0,.82fr) 42px 42px;gap:5px;border-radius:17px}.public-preference-market{grid-column:1/3}.public-preference-language{grid-column:3/5}.public-preference-brand{grid-column:1/3;grid-row:2}.public-preference-field>span{padding-inline:5px;font-size:11px}.public-preferences-dock .public-market select{padding-inline:7px 2px;font-size:12px}.public-preferences-dock .public-market button{width:26px}.public-preferences-dock .language-picker.is-enhanced .language-picker-trigger{min-width:78px;padding-inline:7px;grid-template-columns:22px auto 12px;gap:4px;font-size:12px}.public-preferences-dock .public-preference-brand select{height:42px;font-size:11.5px}.public-preferences-dock .language-picker-globe{width:22px;height:22px}.public-preferences-dock .public-preference-action{width:42px;min-width:42px;height:42px;align-self:end}.public-scroll-top{right:max(12px,env(safe-area-inset-right));bottom:calc(218px + env(safe-area-inset-bottom));width:44px;height:44px}body:has(.pwa-notice) .public-scroll-top{bottom:calc(286px + env(safe-area-inset-bottom))}.pwa-notice{right:10px;width:calc(100% - 20px);grid-template-columns:36px minmax(0,1fr) auto}.pwa-notice img{width:36px}.pwa-notice .pwa-action{grid-column:2;justify-self:start}.pwa-notice .pwa-close{grid-column:3;grid-row:1}}
@media(max-width:560px){.public-menu-tools{display:grid;grid-template-columns:1fr;align-items:stretch}.public-menu-tools .public-language{justify-content:center}.public-menu-tools .public-market{width:100%}.public-menu-tools .public-market select{max-width:none;flex:1}.public-menu-theme{width:100%;justify-content:center}}
@media(max-width:390px){.public-header-inner{padding-inline:14px}.public-dialog{width:calc(100% - 20px);padding:25px}.public-footer{padding-inline:16px}}
@media(min-width:1600px){.public-header-inner{max-width:1560px}.public-footer-grid,.public-footer-social,.public-publisher,.public-footer-bottom{max-width:1480px}}
@media(prefers-reduced-motion:no-preference){.public-newsletter-success-icon{animation:public-newsletter-success-in .28s ease-out both}@keyframes public-newsletter-success-in{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.public-cta,.public-scroll-top,.public-newsletter-success-icon{transition:none;animation:none}}
@media(max-width:560px){.public-brand img{width:100%}}

/* Seven responsive families: compact phone, phone, large phone, portrait
 * tablet, landscape tablet, compact desktop and wide desktop. Content wraps
 * by semantic chunks; words are never squeezed into vertical fragments. */
@media(max-width:359px){.public-header-inner{padding-inline:12px}.public-menu-toggle{width:48px;min-width:48px}.public-dialog{padding:22px}.public-cookie-banner{padding:15px}}
@media(min-width:360px) and (max-width:479px){.public-menu-panel{right:12px;left:12px}.public-footer-social>div{flex-wrap:wrap}}
@media(min-width:480px) and (max-width:619px){.public-dialog{width:min(540px,calc(100% - 28px))}.public-newsletter form>div{grid-template-columns:minmax(0,1fr) auto}}
@media(min-width:620px) and (max-width:759px){.public-footer-grid{grid-template-columns:1fr}.public-newsletter{grid-column:1}.public-publisher{grid-template-columns:1fr}}
@media(min-width:760px) and (max-width:899px){.public-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-newsletter{grid-column:1/-1}}
@media(min-width:900px) and (max-width:1239px){.public-menu-panel{width:min(440px,calc(100vw - 32px))}}
@media(min-width:1600px){.public-header-inner,.public-footer-grid,.public-footer-social,.public-publisher,.public-footer-bottom{padding-inline:0}}

/* marketing.css */
.mk-hero{min-height:680px;padding:72px clamp(24px,7vw,106px) 88px;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,7vw,100px);align-items:center;overflow:hidden}.mk-kicker{color:var(--earth-action);font-size: 16px;font-weight:800;letter-spacing:.14em}.mk-hero h1{max-width:800px;margin:18px 0 24px;font-size:clamp(52px,6vw,calc(100px - 17.3333px - 2.6667px));line-height:.92;letter-spacing:-.065em}.mk-hero h1 em{color:var(--earth-action);font-style:normal}.mk-hero-copy>p{max-width:610px;color:var(--muted);font-size:16px;line-height:1.75}.mk-actions{margin-top:31px;display:flex;align-items:center;gap:24px}.mk-main-cta{min-height:56px;padding-inline:23px;gap:22px;font-size: 16px}.mk-text-link{color:var(--navy);font-size: 16px;font-weight:800;text-decoration:none}.mk-text-link:hover{text-decoration: none !important;}.mk-trust{margin-top:30px;display:flex;flex-wrap:wrap;gap:22px;color:var(--muted);font-size: 16px;font-weight:700}.mk-trust span:before{content:"✓";margin-right:7px;color:var(--earth-action)}.mk-hero-visual{position:relative;min-height:530px;display:grid;place-items:center}.mk-hero-visual>img{position:relative;z-index:3;width:39%;filter:drop-shadow(0 30px 45px rgba(16,45,58,.16))}.mk-glow{position:absolute;width:min(470px,78%);aspect-ratio:1;border-radius:50%;background:var(--apricot)}.mk-route{position:absolute;border:1px solid rgba(16,45,58,.14);border-radius:50%}.route-one{width:94%;aspect-ratio:1}.route-two{width:68%;aspect-ratio:1}.mk-float{position:absolute;z-index:4;padding:15px;border:1px solid rgba(24,50,60,.08);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 18px 45px rgba(16,45,58,.14);backdrop-filter:blur(12px)}.mk-float small,.mk-float strong,.mk-float span{display:block}.mk-float small{color:var(--muted);font-size: 16px;letter-spacing:.1em}.mk-float strong{margin-top:4px;font-size: 16px}.mk-safe{left:0;bottom:92px;display:flex;align-items:center;gap:11px}.mk-safe i{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;color:#fff;background:var(--navy);font-style:normal;font-weight:800}.mk-coverage{right:0;top:95px}.mk-coverage strong{font-size:24px;letter-spacing:-.04em}.mk-coverage span{margin-top:3px;color:var(--muted);font-size: 16px}.mk-proof{padding:23px clamp(24px,7vw,106px);border-block:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#657278}.mk-proof span{font-size: 16px;font-weight:700;letter-spacing:.12em}.mk-proof b{font-size: 16px}.mk-section{padding:116px clamp(24px,7vw,106px)}.mk-section-head{max-width:760px}.mk-section-head h2,.mk-how h2,.mk-benelux h2,.mk-privacy h2,.mk-final h2{margin:14px 0;font-size:calc(clamp(45px,5.4vw,78px) - 5.3334px);line-height:.97;letter-spacing:-.062em}.mk-section-head p{max-width:560px;color:var(--muted);line-height:1.7}.mk-feature-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.mk-feature{min-height:425px;padding:29px;border:0;border-radius:27px;overflow:hidden;box-shadow:0 18px 55px rgba(16,45,58,.07)}.mk-feature>span{font-size: 16px;font-weight:800;letter-spacing:.12em}.mk-feature h3{max-width:340px;margin:18px 0 11px;font-size:calc(28px - 5.3334px);line-height:1.04;letter-spacing:-.045em}.mk-feature p{max-width:350px;color:var(--muted);font-size: 16px;line-height:1.65}.mk-feature.dark{color:#fff;background:var(--navy)}.mk-feature.dark p{color:rgba(255,255,255,.65)}.mk-feature.light{background:var(--white)}.mk-feature.earth{background:#d9f3f6}.mk-mini-map{position:relative;height:174px;margin:39px -29px -29px;background:repeating-linear-gradient(35deg,transparent 0 28px,rgba(255,255,255,.08) 29px 32px),repeating-linear-gradient(125deg,transparent 0 45px,rgba(255,255,255,.08) 46px 49px)}.mk-mini-map b{position:absolute;left:52%;top:37%;width:48px;height:48px;border:4px solid #fff;border-radius:50%;background:#fff url('MEO-mascot-o.svg') center/110% no-repeat}.mk-mini-map i{position:absolute;right:18px;bottom:17px;color:rgba(255,255,255,.64);font-size: 16px;font-style:normal}.mk-alert-stack{margin-top:55px;display:grid;gap:9px}.mk-alert-stack i{padding:16px;border-radius:14px;color:var(--navy);background:#edf1f2;font-size: 16px;font-weight:700;font-style:normal}.mk-device-row{margin-top:62px;display:flex;flex-wrap:wrap;gap:8px}.mk-device-row i{padding:14px 16px;border-radius:14px;color:#fff;background:var(--navy);font-size: 16px;font-weight:800;font-style:normal}.mk-device-row i:nth-child(2){background:var(--earth-action)}.mk-device-row i:nth-child(3){color:var(--navy);background:var(--white)}.mk-how{padding:104px clamp(24px,7vw,106px);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(55px,9vw,135px);color:#fff;background:var(--navy)}.mk-how .mk-kicker{color:var(--apricot)}.mk-how-intro p{max-width:440px;color:rgba(255,255,255,.62);line-height:1.7}.mk-steps{margin:0;padding:0;display:grid;align-content:center;list-style:none}.mk-steps li{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:45px 1fr;gap:14px;align-items:center}.mk-steps li>b{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;color:var(--navy);background:var(--apricot);font-size: 16px}.mk-steps strong,.mk-steps span{display:block}.mk-steps strong{font-size:17px}.mk-steps span{margin-top:5px;color:rgba(255,255,255,.58);font-size: 16px}.mk-benelux{padding:116px clamp(24px,9vw,142px);display:grid;grid-template-columns:1fr .8fr;gap:clamp(50px,9vw,140px);align-items:center;background:var(--sky)}.mk-benelux p{max-width:620px;color:var(--muted);line-height:1.75}.mk-country-list{display:grid;gap:10px}.mk-country-list article{padding:17px;border-radius:18px;display:grid;grid-template-columns:52px 1fr;gap:15px;align-items:center;background:rgba(255,255,255,.78);box-shadow:0 12px 36px rgba(16,45,58,.07)}.mk-country-list article>b{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;color:#fff;background:var(--navy);font-size: 16px}.mk-country-list strong,.mk-country-list small{display:block}.mk-country-list strong{font-size: 16px}.mk-country-list small{margin-top:4px;color:var(--muted);font-size: 16px}.mk-privacy{padding:116px clamp(24px,12vw,190px);display:grid;grid-template-columns:.5fr 1fr;gap:90px;align-items:center}.mk-privacy>img{width:100%;max-width:280px}.mk-privacy p{max-width:640px;color:var(--muted);line-height:1.75}.mk-privacy ul{padding:0;display:grid;gap:10px;list-style:none;font-size: 16px;font-weight:700}.mk-privacy li:before{content:"✓";margin-right:9px;color:var(--earth-action)}.mk-final{padding:125px 24px;text-align:center;background:var(--apricot)}.mk-final .mk-kicker{color:var(--navy)}.mk-final p{max-width:560px;margin:0 auto 26px;color:#52636b;line-height:1.65}@media(max-width:900px){.mk-hero{grid-template-columns:1fr;padding-top:55px}.mk-hero-visual{min-height:430px}.mk-feature-grid{grid-template-columns:1fr}.mk-feature{min-height:360px}.mk-how,.mk-benelux,.mk-privacy{grid-template-columns:1fr}.mk-privacy>img{max-width:170px}.mk-proof{overflow:visible;flex-wrap:wrap;justify-content:flex-start}.mk-proof>*{white-space:normal}}@media(max-width:560px){.mk-hero{padding-inline:20px}.mk-hero h1{font-size:clamp(38px,11vw,calc(64px - 17.3333px - 2.6667px))}.mk-actions{align-items:stretch;flex-direction:column}.mk-main-cta{width:100%}.mk-text-link{text-align:center}.mk-trust{display:grid;gap:9px}.mk-hero-visual{min-height:350px}.mk-float{transform:none}.mk-safe{left:-10px;bottom:52px}.mk-coverage{right:-8px;top:54px}.mk-section,.mk-how,.mk-benelux,.mk-privacy{padding:80px 20px}.mk-section-head h2,.mk-how h2,.mk-benelux h2,.mk-privacy h2,.mk-final h2{font-size:calc(43px - 5.3334px)}.mk-feature{padding:24px}.mk-privacy{gap:35px}.mk-final{padding:88px 20px}}
.mk-page-hero{padding:72px clamp(24px,7vw,106px) 54px;background:var(--paper)}.mk-page-hero h1{max-width:900px;margin:14px 0;font-size:calc(clamp(48px,6vw,82px) - 5.3334px);line-height:.96;letter-spacing:-.06em}.mk-page-hero p{max-width:760px;margin:0;color:var(--muted);font-size:18px;line-height:1.7}@media(max-width:560px){.mk-page-hero{padding:52px 20px 42px}.mk-page-hero h1{font-size:calc(44px - 5.3334px)}}

/* 2026 editorial system: quieter typography, stronger art direction, clearer story. */
.mk-kicker{font-size:16px;font-weight:780;letter-spacing:.17em}.mk-hero{position:relative;isolation:isolate;background:radial-gradient(circle at 79% 29%,rgb(var(--brand-primary-rgb, 63 116 130) / .14),transparent 24%),linear-gradient(135deg,#fff 0%,#fbf8f4 68%,#eef5f5 100%)}.mk-hero:before{content:"";position:absolute;z-index:-1;right:-12%;bottom:-36%;width:48vw;min-width:520px;aspect-ratio:1;border:1px solid rgba(24,50,60,.08);border-radius:50%}.mk-hero h1{font-weight:730;text-wrap:balance}.mk-hero-copy>p{font-size:18px;line-height:1.65}.mk-hero-photo{display:block;width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:42px 42px 130px 42px;box-shadow:0 38px 90px rgba(16,45,58,.2)}.mk-hero-photo img{width:100%;height:100%;object-fit:cover}.mk-proof{position:relative;z-index:3;margin:-32px clamp(24px,7vw,106px) 0;padding:22px 30px;border:1px solid rgba(24,50,60,.08);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 18px 60px rgba(16,45,58,.1);backdrop-filter:blur(18px)}.mk-proof span,.mk-proof b{font-size:16px;font-weight:720}.mk-page-hero{position:relative;overflow:hidden;padding-block:86px 72px;background:linear-gradient(125deg,#f8f5f1,#fff 54%,#eef5f5)}.mk-page-hero:after{content:"";position:absolute;right:-8vw;top:-18vw;width:42vw;aspect-ratio:1;border:1px solid rgb(var(--brand-primary-rgb, 63 116 130) / .18);border-radius:50%}.mk-page-hero h1{position:relative;max-width:780px;font-size:clamp(46px,5.1vw,calc(90px - 17.3333px - 2.6667px));font-weight:720;text-wrap:balance}.mk-page-hero p{position:relative;max-width:690px}.mk-section{padding-block:104px}.mk-section-head h2,.mk-how h2,.mk-benelux h2,.mk-privacy h2,.mk-final h2{font-weight:720;text-wrap:balance}.mk-feature-grid{grid-template-columns:1.18fr .91fr .91fr;gap:18px}.mk-feature{min-height:390px;padding:32px;border:1px solid rgba(24,50,60,.06);border-radius:32px;box-shadow:0 24px 70px rgba(16,45,58,.08)}.mk-feature h3{font-size:calc(30.6667px - 2.6667px);font-weight:720}.mk-feature>span{font-size:16px;font-weight:760}.mk-feature p{font-size:16px}.mk-feature.dark{background:linear-gradient(145deg,#18323c,#0e222a)}.mk-feature.light{background:linear-gradient(145deg,#fff,#f7f9f9)}.mk-feature.earth{background:linear-gradient(145deg,#dff6f8,#c7edf2)}.mk-editorial{padding:112px clamp(24px,7vw,106px);background:#102d37;color:#fff}.mk-editorial-head{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr);gap:clamp(40px,9vw,140px);align-items:end}.mk-editorial-head h2{margin:15px 0 0;font-size:clamp(42px,5.2vw,calc(92px - 17.3333px - 2.6667px));font-weight:700;line-height:.96;letter-spacing:-.055em}.mk-editorial-head h2 em{color:var(--brand-primary, #3f7482);font-style:normal}.mk-editorial-head p{max-width:590px;margin:0;color:rgba(255,255,255,.66);font-size:18px;line-height:1.65}.mk-editorial-grid{margin-top:55px;display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,minmax(220px,310px));gap:18px}.mk-editorial-card{position:relative;overflow:hidden;border-radius:30px;isolation:isolate}.mk-editorial-card.is-lead{grid-row:1/3}.mk-editorial-card:after{content:"";position:absolute;inset:36% 0 0;background:linear-gradient(transparent,rgba(5,18,23,.88));z-index:1}.mk-editorial-card picture,.mk-editorial-card img{display:block;width:100%;height:100%}.mk-editorial-card img{object-fit:cover;transition:transform .6s ease}.mk-editorial-card:hover img{transform:scale(1.025)}.mk-editorial-card>div{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}.mk-editorial-card>div>span{display:block;margin-bottom:8px;color:var(--brand-primary, #3f7482);font-size:16px;font-weight:780;letter-spacing:.16em}.mk-editorial-card h3{margin:0;font-size:clamp(22px,2.4vw,calc(54px - 17.3333px - 2.6667px));font-weight:720;letter-spacing:-.035em}.mk-editorial-card p{max-width:500px;margin:7px 0 0;color:rgba(255,255,255,.75);line-height:1.5}.mk-editorial-card .meo-ai-visual-badge{z-index:3}.mk-editorial .mk-story-notice{color:rgba(255,255,255,.52)}.mk-tracker{gap:clamp(48px,8vw,120px);padding-block:118px}.mk-tracker-visual{border-radius:36px;box-shadow:0 28px 80px rgba(16,45,58,.12)}.mk-tracker-copy h2{font-weight:720}.mk-tracker-facts article{padding-block:16px}.mk-tracker-facts strong{font-weight:720}.mk-privacy{background:linear-gradient(180deg,#fff,#f8faf9)}.mk-final{background:linear-gradient(135deg,#c7edf2,#dff6f8 55%,#dfecec)}
@media(max-width:900px){.mk-proof{margin-inline:20px}.mk-feature-grid,.mk-editorial-head{grid-template-columns:1fr}.mk-editorial-grid{grid-template-columns:1fr;grid-template-rows:none}.mk-editorial-card,.mk-editorial-card.is-lead{grid-row:auto;min-height:330px}.mk-editorial-card.is-lead{min-height:460px}}
@media(max-width:560px){.mk-hero-photo{border-radius:28px 28px 72px 28px}.mk-proof{margin-top:-18px;padding:18px}.mk-page-hero{padding-block:58px 50px}.mk-page-hero h1{font-size:calc(60px - 17.3333px - 2.6667px)}.mk-editorial{padding:78px 20px}.mk-editorial-head h2{font-size:calc(62px - 17.3333px - 2.6667px)}.mk-editorial-head p{font-size:16px}.mk-editorial-grid{margin-top:36px}.mk-editorial-card,.mk-editorial-card.is-lead{min-height:360px}.mk-editorial-card>div{left:22px;right:22px;bottom:22px}}

/* Concise public rhythm: preserve hierarchy while removing unused vertical space. */
.mk-hero{min-height:590px;padding-block:54px 70px}.mk-hero-visual{min-height:460px}.mk-proof{margin-top:-24px;padding:18px 26px}.mk-page-hero{padding-block:58px 48px}.mk-section{padding-block:72px}.mk-section-head{margin-bottom:38px}.mk-feature-grid{margin-top:38px}.mk-feature{min-height:340px;padding:26px}.mk-editorial{padding-block:78px}.mk-editorial-grid{margin-top:38px;grid-template-rows:repeat(2,minmax(200px,270px))}.mk-tracker{gap:clamp(36px,6vw,84px);padding-block:78px}.mk-tracker-facts article{padding-block:12px}.mk-how,.mk-benelux,.mk-privacy{padding-block:78px}.mk-final{padding-block:84px}
@media(max-width:900px){.mk-hero{min-height:auto;padding-block:48px 64px}.mk-hero-visual{min-height:400px}.mk-editorial-grid{grid-template-rows:none}.mk-editorial-card,.mk-editorial-card.is-lead{min-height:320px}.mk-editorial-card.is-lead{min-height:420px}.mk-section,.mk-tracker,.mk-how,.mk-benelux,.mk-privacy{padding-block:64px}}
@media(max-width:560px){.mk-hero{padding-block:34px 52px}.mk-hero-visual{min-height:330px}.mk-proof{padding:16px 18px}.mk-page-hero{padding-block:42px 36px}.mk-section,.mk-tracker,.mk-how,.mk-benelux,.mk-privacy,.mk-editorial{padding-block:54px}.mk-feature-grid,.mk-editorial-grid{margin-top:28px}.mk-feature{min-height:0;padding:24px}.mk-editorial-card,.mk-editorial-card.is-lead{min-height:320px}.mk-final{padding-block:62px}}

/* marketing-map.css */
.mk-mini-map {
  position: relative;
  height: 190px;
  margin: 39px -29px -29px;
  overflow: hidden;
  isolation: isolate;
  background: #dce6e8;
}

.mk-mini-map-canvas {
  position: absolute;
  z-index: 1;
  inset: 0;
  opacity: 0;
  transition: opacity 320ms ease;
}

.mk-mini-map.is-ready .mk-mini-map-canvas {
  opacity: 1;
}

.mk-mini-map-fallback {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  text-align: center;
  background:
    radial-gradient(ellipse at 28% 34%,rgba(255,255,255,.82) 0 13%,transparent 14%),
    radial-gradient(ellipse at 68% 58%,rgba(255,255,255,.72) 0 18%,transparent 19%),
    linear-gradient(28deg,transparent 48%,rgba(24,50,60,.1) 49% 51%,transparent 52%),
    linear-gradient(145deg,#c7dde3,#edf3f4);
  transition: opacity 220ms ease, visibility 220ms ease;
}

.mk-mini-map-fallback::before {
  content:"";
  position:absolute;
  left:54%;
  top:46%;
  width:18px;
  height:18px;
  border:5px solid #fff;
  border-radius:50% 50% 50% 0;
  background:var(--brand-primary, #6e5367);
  box-shadow:0 8px 18px rgba(16,45,58,.3);
  transform:rotate(-45deg);
}

.mk-mini-map.has-error .mk-mini-map-fallback-copy { opacity: 1; }

.mk-mini-map-fallback-tiles {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  filter: saturate(.55) contrast(.9) brightness(.9);
}

.mk-mini-map-fallback-tiles img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.mk-mini-map-fallback-copy {
  position: relative;
  z-index: 1;
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(24, 50, 60, .88);
  box-shadow: 0 10px 28px rgba(16, 45, 58, .25);
  backdrop-filter: blur(6px);
}

.mk-mini-map-fallback-copy strong,
.mk-mini-map-fallback-copy span {
  display: block;
  font-size: 16px;
}

.mk-mini-map-fallback strong {
  font-weight:800;
  letter-spacing: .12em;
}

.mk-mini-map.is-ready .mk-mini-map-fallback {
  visibility: hidden;
  opacity: 0;
}

.mk-mini-map .mk-map-attribution,
.mk-mini-map .mk-map-freshness {
  position: absolute;
  z-index: 3;
  width: auto;
  padding: 7px 10px;
  border-radius: 10px;
  color: #18323c;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 6px 18px rgba(16, 45, 58, .12);
  font-size: 16px;
  font-style: normal;
  line-height: 1.2;
  backdrop-filter: blur(7px);
}

.mk-mini-map .mk-map-attribution {
  top: 12px;
  left: 12px;
}

.mk-mini-map .mk-map-attribution a {
  color: inherit;
  font: inherit;
  text-decoration: none;
  
  
}

.mk-mini-map .mk-map-freshness {
  right: 12px;
  bottom: 12px;
  color: #fff;
  background: rgba(24, 50, 60, .9);
  font-weight:700;
}

.mk-map-country {
  width: auto;
  min-width: 38px;
  height: 38px;
  padding-inline: 9px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #18323c;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 7px 18px rgba(16, 45, 58, .2);
  font-size: 16px;
  font-weight:800;
  pointer-events: none;
}

.mk-map-country.is-view-prepared {
  color: #fff;
  background: var(--brand-primary, #6e5367);
}

.mk-map-region {
  color: #42545c;
  font-size: 16px;
  font-weight:800;
  letter-spacing: .05em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .9), 0 0 8px rgba(255, 255, 255, .9);
  pointer-events: none;
}

.mk-map-pet {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 5px rgb(var(--brand-secondary-rgb, 236 122 68) / .28), 0 9px 24px rgba(16, 45, 58, .25);
  pointer-events: none;
}

.mk-map-pet img {
  width: 40px;
  height: 40px;
}

.mk-mini-map .maplibregl-canvas {
  outline: 0;
}

.mk-expansion-visual {
  min-width: 0;
  display: grid;
  gap: 14px;
}

.mk-expansion-map {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  isolation: isolate;
  border-radius: 30px;
  background:
    radial-gradient(circle at 24% 35%, rgba(255, 255, 255, .9), transparent 27%),
    linear-gradient(145deg, #d8e8ed, #f3f6f8);
  box-shadow: 0 25px 70px rgba(16, 45, 58, .13);
}
.mk-expansion-static{margin:0;min-height:0;background:#dff6f8}
.mk-expansion-static-image{display:block;width:100%;height:auto;aspect-ratio:1200/620;object-fit:cover}

.mk-expansion-map-canvas,
.mk-expansion-map-fallback {
  position: absolute;
  inset: 0;
}

.mk-expansion-map-canvas {
  z-index: 1;
  opacity: 0;
  transition: opacity 320ms ease;
}

.mk-expansion-map.is-ready .mk-expansion-map-canvas {
  opacity: 1;
}

.mk-expansion-map-fallback {
  z-index: 0;
  display: grid;
  place-items: center;
  color: #18323c;
  background:
    linear-gradient(35deg, transparent 48%, rgba(24, 50, 60, .06) 49% 51%, transparent 52%),
    linear-gradient(145deg, #d8e8ed, #f3f6f8);
}

.mk-expansion-map-fallback span {
  padding: 12px 15px;
  border-radius: 13px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 10px 28px rgba(16, 45, 58, .12);
  font-weight:700;
}

.mk-expansion-map.is-ready .mk-expansion-map-fallback {
  visibility: hidden;
  opacity: 0;
}

.mk-expansion-attribution {
  position: absolute;
  z-index: 3;
  left: 12px;
  bottom: 12px;
  padding: 7px 10px;
  border-radius: 10px;
  color: #18323c;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 6px 18px rgba(16, 45, 58, .12);
  font-size: 16px;
  line-height: 1.2;
}

.mk-expansion-attribution a {
  color: inherit;
}

.mk-expansion-phases {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mk-expansion-phases article {
  min-height: 142px;
  padding: 17px;
  border: 0;
  border-radius: 19px;
  display: grid;
  grid-template-columns: minmax(72px, auto) 1fr;
  gap: 14px;
  align-items: start;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 12px 34px rgba(16, 45, 58, .07);
}

.mk-expansion-phases strong,
.mk-expansion-phases small { display: block; }
.mk-expansion-phases strong { font-size: 16px; line-height: 1.2; }
.mk-expansion-phases small { margin-top: 8px; color: var(--brand-primary, #6e5367); font-weight:700; line-height: 1.4; }

.mk-expansion-legend {
  max-width: 980px;
  margin: 0;
  padding: 15px 17px;
  border-radius: 16px;
  color: #18323c;
  background: #dcecf2;
  font-size: 16px;
  font-weight:700;
  line-height: 1.55;
}

.mk-phase-capsules {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 8px;
}

.mk-phase-capsules span {
  min-height: 42px;
  margin: 0;
  padding: 8px 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #18323c;
  background: #e4f0f5;
  font-size: 16px;
  font-weight:700;
  line-height: 1.25;
}

.mk-phase-capsules span b {
  min-width: 28px;
  color: var(--brand-primary, #6e5367);
  font-size: 16px;
}

.mk-phase-capsules span em {
  font-size: 16px;
  font-style: normal;
}

.mk-phase-capsules .mk-phase-future {
  border-radius: 14px;
  color: #fff;
  background: #596970;
}

.mk-expansion-notice {
  margin: 0;
  padding: 15px 17px;
  border-radius: 16px;
  color: #18323c;
  background: #fff;
  line-height: 1.55;
}

@media (prefers-reduced-motion: reduce) {
  .mk-mini-map-canvas,
  .mk-mini-map-fallback,
  .mk-expansion-map-canvas {
    transition: none;
  }
}

@media (max-width: 900px) {
  .mk-expansion-map { min-height: 390px; }
}

@media (max-width: 560px) {
  .mk-mini-map {
    margin-right: -24px;
    margin-left: -24px;
  }

  .mk-expansion-map { min-height: 340px; border-radius: 22px; }
  .mk-expansion-phases { grid-template-columns: 1fr; }
  .mk-expansion-phases article { min-height: 0; }
}

/*
 * The coverage roadmap is intentionally a single reading flow: promise, map,
 * then four clearly separated availability states. This avoids the cramped
 * two-column composition that made long translated words break vertically.
 */
.mk-benelux.mk-expansion {
  display: block;
  padding: 104px clamp(24px, 7vw, 106px);
}

.mk-benelux.mk-expansion > * {
  width: min(1440px, 100%);
  margin-inline: auto;
}

.mk-expansion-copy {
  max-width: 940px;
}

.mk-expansion-copy h2 {
  max-width: 900px;
  margin: 16px 0 20px;
  font-size: calc(clamp(46px, 5vw, 76px) - 5.3334px);
  line-height: .98;
}

.mk-expansion-copy > p {
  max-width: 820px;
  margin: 0;
  font-size: 18px;
  line-height: 1.65;
}

.mk-expansion-copy .mk-text-link {
  min-height: 48px;
  margin-top: 22px;
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  text-decoration: none;
}

.mk-expansion-visual {
  margin-top: 48px;
  gap: 18px;
}

.mk-expansion-map {
  width: 100%;
  min-height: clamp(380px, 38vw, 520px);
  border-radius: 28px;
}

.mk-expansion-phases {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.mk-expansion-phases article {
  min-height: 260px;
  padding: 22px;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  gap: 18px;
  align-content: start;
  border-radius: 22px;
}

.mk-expansion-phases article > div {
  min-width: 0;
}

.mk-expansion-phases strong {
  font-size: 19px;
  line-height: 1.2;
  overflow-wrap: normal;
  word-break: normal;
}

.mk-expansion-phases small {
  font-size: 16px;
  line-height: 1.5;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.mk-expansion-phases small {
  margin-top: 12px;
}

.mk-expansion-notice {
  max-width: 980px;
  padding: 18px 20px;
  font-size: 16px;
  line-height: 1.6;
}

@media (max-width: 1040px) {
  .mk-expansion-phases { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-expansion-phases article { min-height: 210px; }
}

@media (max-width: 900px) {
  .mk-benelux.mk-expansion { padding-block: 88px; }
  .mk-expansion-visual { margin-top: 40px; }
}

@media (max-width: 760px) {
  .mk-expansion-phases article {
    min-height: 0;
    padding: 20px;
  }
}

@media (max-width: 620px) {
  .mk-benelux.mk-expansion { padding: 78px 20px; }
  .mk-expansion-copy h2 { font-size: calc(44px - 5.3334px); }
  .mk-expansion-visual { margin-top: 34px; }
  .mk-expansion-map { min-height: 460px; border-radius: 22px; }
  .mk-expansion-phases { grid-template-columns: 1fr; }
  .mk-expansion-phases article { min-height: 0; }
}

@media (max-width: 479px) {
  .mk-expansion-copy h2 { font-size: calc(clamp(38px, 11vw, 44px) - 5.3334px); }
  .mk-expansion-map { min-height: 500px; }
}

@media (max-width: 359px) {
  .mk-benelux.mk-expansion { padding-inline: 16px; }
  .mk-expansion-phases article { padding: 18px; }
}

@media (min-width: 1600px) {
  .mk-expansion-map { min-height: 560px; }
  .mk-expansion-phases { gap: 18px; }
}

/* marketing-visuals.css */
.mk-hero-copy>.mk-daily-price {
  max-width: 42rem;
  margin: 1.25rem 0 0;
  padding: .75rem;
  border: 1px solid color-mix(in srgb, var(--earth-action) 24%, var(--line));
  border-radius: 1rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  color: var(--ink);
  background: color-mix(in srgb, var(--earth-action) 6%, var(--white));
  font-size: clamp(.9rem, .86rem + .14vw, 1rem);
  font-weight: 650;
  line-height: 1.4;
}

.mk-hero-copy>.mk-daily-price span {
  min-width: 0;
  padding: .65rem .75rem;
  border-radius: .75rem;
  background: rgba(255, 255, 255, .78);
  overflow-wrap: break-word;
}

.mk-hero-copy>.mk-daily-price span:first-child {
  color: var(--navy);
  font-weight: 750;
}

.mk-hero-copy>.mk-service-status {
  max-width: 610px;
  margin: 18px 0 0;
  padding: 11px 0 0;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
}

.mk-hero-copy>.mk-trust{max-width:42rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem 1rem;font-weight:600;line-height:1.35}
.mk-hero-copy>.mk-trust span{min-width:0;display:flex;align-items:flex-start;overflow-wrap:break-word}
.mk-hero-copy>.mk-trust span:before{flex:0 0 auto}
@media(max-width:56rem){.mk-hero-copy>.mk-daily-price{grid-template-columns:1fr}.mk-hero-copy>.mk-trust{grid-template-columns:1fr 1fr}}
@media(max-width:35rem){.mk-hero-copy>.mk-trust{grid-template-columns:1fr}.mk-hero-copy>.mk-daily-price{padding:.5rem}}

.mk-hero-visual {
  isolation: isolate;
  min-height: 530px;
  margin: 0;
  align-self: stretch;
  display: block;
}

.mk-hero-photo {
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: 34px;
  display: block;
  overflow: hidden;
  background: var(--navy);
  box-shadow: 0 30px 75px rgba(16, 45, 58, .2);
}

.mk-hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9, 24, 31, .03) 40%, rgba(9, 24, 31, .58) 100%);
  pointer-events: none;
}

.mk-hero-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.mk-hero-visual.subject-right .mk-hero-photo img { object-position: 69% center; }
.mk-hero-visual.subject-left .mk-hero-photo img { object-position: 31% center; }
.mk-hero-visual.subject-pair .mk-hero-photo img { object-position: center center; }
.mk-hero-visual .mk-float { z-index: 3; border: 0; }
.mk-hero-visual .mk-safe { left: 18px; }
.mk-hero-visual .mk-coverage { right: 18px; }
.mk-hero-visual.subject-right .mk-coverage { right: auto; left: 18px; }
.mk-hero-visual.subject-left .mk-safe { right: 18px; left: auto; }

.mk-hero-visual figcaption {
  position: absolute;
  z-index: 3;
  right: 18px;
  bottom: 16px;
  left: 18px;
  color: rgba(255, 255, 255, .72);
  font-size: 16px;
  font-weight: 750;
  letter-spacing: .025em;
  text-align: center;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .5);
}

.meo-ai-visual-badge {
  position: absolute;
  z-index: 5;
  top: 16px;
  left: 16px;
  width: 142px;
  display: block;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, .24));
  pointer-events: none;
}

.meo-ai-visual-badge img {
  width: 100%;
  height: auto;
  display: block;
  
}

.mk-tracker {
  padding: 112px clamp(24px, 7vw, 106px);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: clamp(46px, 7vw, 104px);
  align-items: center;
  background: var(--white);
}

.mk-tracker-visual {
  position: relative;
  margin: 0;
  border-radius: 34px;
  overflow: hidden;
  background: var(--sky);
  box-shadow: 0 28px 78px rgba(16, 45, 58, .14);
}

.mk-tracker-visual > img {
  width: 100%;
  aspect-ratio: 3 / 2;
  display: block;
  object-fit: cover;
}

.mk-tracker-visual figcaption {
  padding: 15px 19px;
  color: var(--muted);
  background: var(--paper);
  font-size: 16px;
  line-height: 1.5;
}

.mk-tracker-copy > .mk-kicker { display: block; }

.mk-tracker-audience {
  min-height: 44px;
  width: fit-content;
  margin-top: 19px;
  padding: 0 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #fff;
  background: var(--navy);
  font-size: 16px;
  font-weight:800;
  letter-spacing: .1em;
}

.mk-tracker-copy h2 {
  margin: 19px 0 18px;
  font-size: calc(clamp(45px, 5.2vw, 74px) - 5.3334px);
  line-height: .98;
  letter-spacing: -.058em;
}

.mk-tracker-copy h2 em {
  color: var(--earth-action);
  font-style: normal;
}

.mk-tracker-copy > p {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.mk-tracker-presale {
  margin-top: 24px;
  padding: 21px 22px;
  border: 1px solid rgba(200, 75, 56, .2);
  border-radius: 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 18px;
  align-items: center;
  background: linear-gradient(135deg, #dff6f8, #dff6f8);
  box-shadow: 0 18px 44px rgba(200, 75, 56, .1);
}

.mk-tracker-presale > span,
.mk-tracker-presale > strong,
.mk-tracker-presale > p,
.mk-tracker-presale > small { min-width: 0; grid-column: 1; overflow-wrap: break-word; }
.mk-tracker-presale > span { color: var(--earth-action); font-size: 14.5px; font-weight:600; letter-spacing: .1em; text-transform: uppercase; }
.mk-tracker-presale > strong { color: var(--navy); font-size: clamp(18px, 1.55vw, 24px); font-weight: 620; line-height: 1.12; }
.mk-tracker-presale > p { margin: 0; color: var(--muted); font-size: 14.5px; line-height: 1.55; }
.mk-tracker-presale > a { grid-column: 2; grid-row: 1 / 5; min-height: 48px; padding: 0 18px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; color: #fff; background: var(--earth-action); font-size:14.5px; font-weight:600; text-decoration: none; white-space: nowrap; box-shadow: 0 12px 28px rgba(200, 75, 56, .2); }
.mk-tracker-presale > a:hover { background: var(--brand-primary, #6e5367); transform: translateY(-1px); }
.mk-tracker-presale > small { color: var(--brand-primary, #6e5367); font-size: 14.5px; line-height: 1.45; }
.mk-purchase-actions{grid-column:2;grid-row:1/6;display:grid;align-content:center;gap:.55rem}.mk-purchase-actions>a{min-height:46px;padding:0 18px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--brand-on-primary,#fff);background:var(--brand-primary);font-size:14.5px;font-weight:600;text-decoration:none;text-align:center}.mk-purchase-actions>a.is-secondary{border:1px solid color-mix(in srgb,var(--brand-primary) 30%,transparent);color:var(--brand-primary);background:#fff}.mk-purchase-actions>a:hover{transform:translateY(-1px)}

.mk-tracker-facts {
  margin-top: 29px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mk-tracker-facts article {
  min-height: 132px;
  padding: 19px;
  border: 0;
  border-radius: 19px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  background: var(--paper);
  box-shadow: 0 12px 34px rgba(16, 45, 58, .06);
}

.mk-tracker-facts strong,
.mk-tracker-facts span { display: block; }

.mk-tracker-facts strong {
  color: var(--navy);
  font-size: 19px;
  line-height: 1.1;
}

.mk-tracker-facts span {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.5;
}

.mk-tracker-copy > .mk-tracker-note {
  margin-top: 17px;
  padding: 17px 19px;
  border-radius: 17px;
  color: var(--ink);
  background: var(--sky);
  font-size: 16px;
  line-height: 1.6;
}

.mk-story {
  padding: 78px clamp(24px, 7vw, 106px);
  display: grid;
  grid-template-columns: minmax(300px, .76fr) minmax(0, 1.24fr);
  grid-template-areas:
    "story-copy story-carousel"
    "story-note story-carousel";
  column-gap: clamp(42px, 6vw, 92px);
  row-gap: 22px;
  align-items: center;
  background: var(--white);
}

.mk-story-head {
  grid-area: story-copy;
  max-width: 660px;
}

.mk-story-head h2 {
  margin: 14px 0 17px;
  font-size: calc(clamp(45px, 5.4vw, 76px) - 5.3334px);
  line-height: .97;
  letter-spacing: -.062em;
}

.mk-story-head h2 em { color: var(--earth-action); font-style: normal; }

.mk-story-head>p {
  max-width: 670px;
  margin: 0;
  color: var(--muted);
  line-height: 1.75;
}

.mk-story-carousel {
  grid-area: story-carousel;
  min-width: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mk-story-viewport {
  position: relative;
  border: 0;
  border-radius: 30px;
  overflow: hidden;
  min-height: 540px;
  background: var(--navy);
  box-shadow: 0 26px 70px rgba(16, 45, 58, .15);
}

.mk-story-slide {
  position: absolute;
  inset: 0;
  grid-template-rows: minmax(0, 1fr) auto;
  background: var(--paper);
  animation: mk-story-enter 280ms ease-out;
}

.mk-story-slide.is-active { display: grid; }
.mk-story-slide[hidden] { display: none; }

.mk-story-slide picture {
  position: relative;
  min-height: 360px;
  display: block;
  overflow: hidden;
  background: var(--navy);
}

.mk-story-slide picture::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 27%;
  background: linear-gradient(180deg, transparent, rgba(9, 24, 31, .24));
  pointer-events: none;
}

.mk-story-slide picture img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.mk-story-slide > .meo-ai-visual-badge {
  top: 14px;
  right: 14px;
  left: auto;
  width: 126px;
}

.mk-story-slide-copy {
  min-height: 148px;
  padding: 24px 26px 26px;
}

.mk-story-slide h3 {
  max-width: 100%;
  margin: 0;
  font-size: calc(22px - 5.3334px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.mk-story-slide p {
  margin: 13px 0 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.62;
}

.mk-story-controls {
  margin-top: 18px;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 13px;
}

.mk-story-carousel.is-ready .mk-story-controls { display: flex; }

.mk-story-controls > button {
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--navy);
  font: inherit;
  font-size: 22px;
  font-weight:700;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(16, 45, 58, .12);
}

.mk-story-dots {
  min-height: 48px;
  padding: 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mk-story-dots button {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: var(--navy);
  background: transparent;
  cursor: pointer;
}

.mk-story-dots button span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: block;
  background: #a8b4b9;
  transition: width 180ms ease, background-color 180ms ease;
}

.mk-story-dots button[aria-pressed="true"] span {
  width: 28px;
  background: var(--earth-action);
}

.mk-story-notice {
  grid-area: story-note;
  align-self: start;
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  text-align: left;
}

@keyframes mk-story-enter {
  from { opacity: .18; transform: translateX(12px); }
  to { opacity: 1; transform: translateX(0); }
}

.mk-reassurance {
  padding: 112px clamp(24px, 7vw, 106px);
  display: grid;
  grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr);
  gap: clamp(42px, 7vw, 104px);
  align-items: center;
  background: var(--sky);
}

.mk-reassurance .mk-kicker {
  color: var(--brand-primary, #6e5367);
}

.mk-reassurance-copy h2 {
  margin: 15px 0 20px;
  font-size: calc(clamp(45px, 5.2vw, 74px) - 5.3334px);
  line-height: .98;
  letter-spacing: -.058em;
}

.mk-reassurance-copy h2 em {
  color: var(--earth-action);
  font-style: normal;
}

.mk-reassurance-copy > p:not(.mk-reassurance-status) {
  max-width: 610px;
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.75;
}

.mk-reassurance-status {
  width: fit-content;
  margin: 25px 0 0;
  padding: 13px 17px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  background: var(--navy);
  font-size: 16px;
  font-weight:700;
  line-height: 1.35;
  box-shadow: 0 15px 35px rgba(16, 45, 58, .14);
}

.mk-reassurance-status span {
  width: 29px;
  height: 29px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--navy);
  background: #fff;
}

.mk-reassurance-visual {
  position: relative;
  margin: 0;
  min-height: 470px;
  border-radius: 34px;
  overflow: hidden;
  background: var(--navy);
  box-shadow: 0 30px 78px rgba(16, 45, 58, .18);
}

.mk-reassurance-visual::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  height: 33%;
  background: linear-gradient(180deg, transparent, rgba(9, 24, 31, .56));
  pointer-events: none;
}

.mk-reassurance-visual > img {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: center center;
}

.mk-reassurance-visual > .meo-ai-visual-badge {
  width: 126px;
}

.mk-reassurance-visual figcaption {
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 16px;
  left: 18px;
  color: rgba(255, 255, 255, .82);
  font-size: 16px;
  font-weight: 750;
  line-height: 1.45;
  text-align: center;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .48);
}

@media (max-width: 900px) {
  .mk-hero-visual { min-height: 440px; }
  .mk-tracker { grid-template-columns: 1fr; padding: 88px 24px; }
  .mk-tracker-visual { max-width: 780px; }
  .mk-story {
    padding: 76px 24px;
    grid-template-columns: 1fr;
    grid-template-areas: "story-copy" "story-carousel" "story-note";
    gap: 28px;
  }
  .mk-story-head { max-width: 760px; }
  .mk-story-viewport { min-height: 520px; }
  .mk-reassurance { grid-template-columns: 1fr; padding: 88px 24px; }
  .mk-reassurance-copy { max-width: 720px; }
  .mk-reassurance-visual { min-height: 510px; }
}

@media (max-width: 620px) {
  .mk-tracker { padding: 78px 20px; gap: 36px; }
  .mk-tracker-visual { border-radius: 26px; }
  .mk-tracker-copy h2 { font-size: calc(43px - 5.3334px); }
  .mk-tracker-facts { grid-template-columns: 1fr; }
  .mk-tracker-facts article { min-height: 0; }
  .mk-tracker-presale { grid-template-columns: 1fr; }
  .mk-tracker-presale > a { min-width: 0; grid-column: 1; grid-row: auto; width: 100%; margin-top: 6px; white-space: normal; overflow-wrap: break-word; text-align: center; }
  .mk-purchase-actions{grid-column:1;grid-row:auto;width:100%}.mk-purchase-actions>a{width:100%}
  .mk-story { padding: 66px 20px; }
  .mk-story-head h2 { font-size: calc(43px - 5.3334px); }
  .mk-story-viewport { min-height: 460px; border-radius: 24px; }
  .mk-story-slide picture { min-height: 285px; }
  .mk-story-slide-copy { min-height: 154px; padding: 22px; }
  .mk-reassurance { padding: 78px 20px; gap: 36px; }
  .mk-reassurance-copy h2 { font-size: calc(43px - 5.3334px); }
  .mk-reassurance-visual { min-height: 420px; border-radius: 26px; }
  .mk-reassurance-visual > img { object-position: 58% center; }
}

@media (max-width: 560px) {
  .mk-hero-visual { min-height: 370px; }
  .mk-hero-visual .mk-float { transform: none; }
  .mk-hero-visual .mk-coverage { display: none; }
  .mk-hero-visual .mk-safe {
    top: 78px;
    right: 12px;
    bottom: auto;
    left: auto;
    max-width: calc(100% - 24px);
  }
  .mk-hero-visual.subject-right .mk-safe,
  .mk-hero-visual.subject-right .mk-coverage { left: 12px; }
  .mk-hero-visual.subject-left .mk-safe,
  .mk-hero-visual.subject-left .mk-coverage { right: 12px; }
  .mk-hero-visual figcaption { right: 12px; bottom: 10px; left: 12px; font-size: 16px; }
  .mk-hero-visual > .meo-ai-visual-badge { width: 118px; }
  .mk-story-viewport { min-height: 440px; }
}

@media (max-width: 390px) {
  .mk-hero-visual .mk-safe { display: none; }
}

@media (prefers-reduced-motion: no-preference) {
  .mk-kinetic-headline > span,
  .mk-kinetic-headline > em {
    display: inline-block;
    opacity: 0;
    transform: translateY(.32em);
    animation: mk-headline-reveal .72s cubic-bezier(.2, .72, .25, 1) forwards;
  }

  .mk-kinetic-headline > em { animation-delay: .16s; }

  @keyframes mk-headline-reveal {
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .mk-story-slide { animation: none; }
  .mk-story-dots button span { transition: none; }
}

/* Product and first-use pages: compact, product-first and progressively disclosed. */
.mk-product-hero,
.mk-how-hero {
  padding: 62px clamp(24px, 7vw, 106px);
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: clamp(38px, 6vw, 88px);
  align-items: center;
  background: var(--paper);
}

.mk-product-hero h1,
.mk-how-hero h1 {
  max-width: 760px;
  margin: 14px 0 18px;
  font-size: calc(clamp(38px, 4.3vw, 58px) - 2.6667px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.045em;
}

.mk-product-hero h1 em { color: var(--earth-action); font-style: normal; }
.mk-product-hero-copy > p { max-width: 650px; color: var(--muted); font-size: 16.5px; line-height: 1.6; }
.mk-how-hero-copy > p { max-width: 650px; color: var(--muted); line-height: 1.65; }
.mk-tracker-audience { width:max-content;max-width:100%;min-height:2.35rem;margin-top:.75rem;padding:.45rem .85rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--earth-action);font-size:.875rem;font-weight:700;letter-spacing:.08em;line-height:1.15;text-align:center; }

.mk-product-hero-visual,
.mk-how-hero-visual {
  position: relative;
  min-height: 460px;
  margin: 0;
  border-radius: 32px;
  overflow: hidden;
  background: var(--white);
  box-shadow: 0 26px 70px rgba(16, 45, 58, .13);
}

.mk-product-hero-visual > img,
.mk-how-hero-visual > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.mk-product-logo-visual{display:grid;place-items:center;padding:0;background:linear-gradient(145deg,#fff 0,#f2f7f9 100%)}
.mk-product-hero-visual>picture{width:100%;height:100%;display:grid;place-items:center}.mk-product-hero-visual .mk-product-image{position:static;width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:none}
.mk-product-hero-visual figcaption { position: absolute; z-index: 2; right: 16px; bottom: 14px; left: 16px; color: #fff; font-size: 14.5px; text-align: center; text-shadow: 0 1px 8px rgba(0, 0, 0, .65); }
.mk-product-pain { background: var(--white); }

/* Product in 30 seconds: three questions, three answers, no internal jargon. */
.mk-page-product .mk-product-pain .mk-section-head {
  max-width: 48rem;
}

.mk-page-product .mk-product-pain .mk-section-head h2 {
  max-width: 42rem;
  margin-bottom: .75rem;
}

.mk-page-product .mk-product-pain .mk-section-head > p {
  max-width: 40rem;
  margin: 0;
}

.mk-page-product .mk-product-pain .mk-feature-grid {
  gap: 1rem;
  align-items: stretch;
}

.mk-page-product .mk-product-pain .mk-answer-card {
  min-width: 0;
  min-height: 25rem;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  color: var(--brand-reading, var(--ink));
  border: 1px solid var(--brand-line, var(--line));
  border-radius: 1.35rem;
  background: var(--brand-surface, var(--white));
  box-shadow: 0 1rem 2.8rem rgba(16, 45, 58, .07);
}

.mk-page-product .mk-product-pain .mk-answer-card > span {
  width: fit-content;
  min-height: 1.9rem;
  padding: .42rem .7rem;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  color: var(--brand-primary-text, var(--brand-primary));
  background: color-mix(in srgb, var(--brand-primary) 9%, var(--white));
  font-size: .72rem !important;
  font-weight: 650 !important;
  letter-spacing: .08em;
  line-height: 1;
}

.mk-page-product .mk-product-pain .mk-answer-card h3 {
  max-width: none;
  margin: 1.15rem 0 .65rem;
  color: var(--brand-heading, var(--ink));
  font-size: calc(clamp(1.2rem, 1.55vw, 1.45rem) - 0.1667rem) !important;
  font-weight: 560 !important;
  line-height: 1.18 !important;
  letter-spacing: -.025em !important;
}

.mk-page-product .mk-product-pain .mk-answer-card > p {
  max-width: 34rem;
  margin: 0;
  color: var(--brand-reading-muted, var(--muted));
  font-size: .9rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

.mk-page-product .mk-product-pain .mk-answer-card .mk-mini-map {
  width: calc(100% + 3rem);
  height: 11.25rem;
  min-height: 11.25rem;
  margin: auto -1.5rem -1.5rem;
  border-top: 1px solid var(--brand-line, var(--line));
}

.mk-page-product .mk-product-pain .mk-mini-map-fallback-copy {
  max-width: calc(100% - 2rem);
  padding: .7rem .9rem;
  color: var(--brand-on-dark, #fff);
  background: var(--brand-emphasis, var(--navy));
}

.mk-page-product .mk-product-pain .mk-mini-map-fallback-copy strong {
  font-size: .78rem !important;
  font-weight: 560 !important;
  letter-spacing: 0;
}

.mk-page-product .mk-product-pain .mk-mini-map .mk-map-attribution {
  top: auto;
  bottom: .55rem;
  left: .55rem;
  padding: .25rem .4rem;
  border-radius: .4rem;
  font-size: 10px !important;
  box-shadow: none;
}

.mk-page-product .mk-product-pain .mk-mini-map .mk-map-freshness {
  top: .55rem;
  right: .55rem;
  bottom: auto;
  max-width: calc(100% - 8.5rem);
  padding: .42rem .6rem;
  overflow: hidden;
  border-radius: .55rem;
  color: var(--brand-on-dark, #fff);
  background: var(--brand-emphasis, var(--navy));
  font-size: .7rem !important;
  font-weight: 540 !important;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mk-page-product .mk-product-pain .mk-alert-stack {
  margin-top: auto;
  padding-top: 1.5rem;
}

.mk-page-product .mk-product-pain .mk-alert-stack i {
  min-height: 4.5rem;
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  border: 1px solid var(--brand-line, var(--line));
  border-radius: 1rem;
  color: var(--brand-reading, var(--ink));
  background: color-mix(in srgb, var(--brand-primary) 5%, var(--white));
  font-size: .88rem !important;
  font-weight: 500 !important;
  line-height: 1.35;
}

.mk-page-product .mk-product-pain .mk-alert-stack b {
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--brand-on-primary, #fff);
  background: var(--brand-primary);
  font-size: .85rem;
  font-weight: 650;
}

.mk-page-product .mk-product-pain .mk-device-row {
  margin: auto 0 0;
  padding: 1.5rem 0 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  list-style: none;
}

.mk-page-product .mk-product-pain .mk-device-row li {
  position: relative;
  min-width: 0;
  min-height: 4.5rem;
  padding: .75rem .55rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .35rem;
  border-radius: .9rem;
  color: var(--brand-reading, var(--ink));
  background: color-mix(in srgb, var(--brand-secondary) 11%, var(--white));
  text-align: center;
}

.mk-page-product .mk-product-pain .mk-device-row span {
  overflow-wrap: break-word;
  color: inherit;
  font-size: .76rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

@media (min-width: 701px) and (max-width: 1100px) {
  .mk-page-product .mk-product-pain .mk-feature-grid {
    grid-template-columns: 1fr;
  }

  .mk-page-product .mk-product-pain .mk-answer-card {
    min-height: 21rem;
  }
}

@media (max-width: 700px) {
  .mk-page-product .mk-product-pain .mk-feature-grid {
    margin-top: 2rem;
    grid-template-columns: 1fr;
  }

  .mk-page-product .mk-product-pain .mk-answer-card {
    min-height: 22rem;
    padding: 1.2rem;
    border-radius: 1.1rem;
  }

  .mk-page-product .mk-product-pain .mk-answer-card .mk-mini-map {
    width: calc(100% + 2.4rem);
    margin-right: -1.2rem;
    margin-bottom: -1.2rem;
    margin-left: -1.2rem;
  }
}

@media (max-width: 360px) {
  .mk-page-product .mk-product-pain .mk-device-row {
    gap: .35rem;
  }

  .mk-page-product .mk-product-pain .mk-device-row li {
    padding-inline: .3rem;
  }
}
.mk-product-proof { padding: 48px clamp(24px, 7vw, 106px) 64px; background: var(--paper); }
.mk-product-proof .mk-tracker-facts { max-width: 1120px; margin: 0 auto; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mk-product-proof .mk-tracker-note { max-width: 1120px; margin: 14px auto 0; color: var(--muted); line-height: 1.6; }

.mk-ufoundme {
  position: relative;
  padding: 72px clamp(24px, 7vw, 106px);
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr);
  gap: clamp(36px, 6vw, 88px);
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--navy);
}
.mk-ufoundme::after { content: ''; position: absolute; right: -150px; bottom: -240px; width: 520px; height: 520px; border-radius: 50%; background: color-mix(in srgb, var(--brand-secondary) 18%, transparent); pointer-events: none; }
.mk-ufoundme-copy { position: relative; z-index: 1; }
.mk-ufoundme-logo { width: 100%; aspect-ratio: 1407 / 383; display: block; background: url('/assets/brand/ufoundme-logo-color-web.png') center / contain no-repeat; }
.mk-ufoundme-wordmark { width: clamp(190px, 19vw, 255px); margin-bottom: 24px; padding: 10px 16px; display: inline-flex; align-items: center; border-radius: 999px; color: var(--brand-primary); background: var(--brand-surface, #fff); box-shadow: 0 12px 28px color-mix(in srgb, var(--brand-secondary) 22%, transparent); }
.mk-ufoundme .mk-kicker { display: block; color: color-mix(in srgb, var(--brand-primary) 35%, white) !important; }
.mk-ufoundme h2 { max-width: 690px; margin: 12px 0 18px; color: #fff; font-size: calc(clamp(34px, 3.7vw, 48px) - 2.6667px); font-weight: 580; line-height: 1.08; letter-spacing: -.035em; }
.mk-ufoundme-copy > p { max-width: 720px; margin: 0; color: rgba(255, 255, 255, .76); font-size: 16px; line-height: 1.65; }
.mk-page-product .mk-product-pain .mk-section-head > p,
.mk-page-product .mk-privacy p,
.mk-page-product .mk-final p { font-size: 16px; }
.mk-ufoundme-offline { width: fit-content; margin-top: 24px; padding: 11px 14px; display: inline-flex; align-items: center; gap: 9px; border-radius: 13px; color: #fff; background: rgba(255, 255, 255, .1); font-size: .9rem; font-weight: 550; }
.mk-ufoundme-offline span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: var(--brand-secondary); font-weight: 700; }
.mk-ufoundme-demo { position: relative; z-index: 1; min-height: 390px; padding: clamp(22px, 3vw, 38px); display: grid; grid-template-columns: minmax(130px, .72fr) 44px minmax(220px, 1.28fr); align-items: center; gap: 10px; border-radius: 30px; color: var(--ink); background: color-mix(in srgb, var(--paper) 94%, white); box-shadow: 0 28px 80px rgba(0, 0, 0, .24); }
.mk-ufoundme-qr { padding: 16px; display: grid; place-items: center; gap: 12px; border-radius: 20px; background: #fff; box-shadow: 0 14px 36px rgba(16, 45, 58, .1); text-align: center; }
.mk-ufoundme-qr-brand { width: min(100%, 118px); color: var(--brand-primary); }
.mk-ufoundme-qr svg { width: min(100%, 126px); height: auto; color: var(--navy); fill: currentColor; }
.mk-ufoundme-qr small { color: var(--muted); font-size: .72rem; font-weight: 550; line-height: 1.35; }
.mk-ufoundme-arrow { color: var(--brand-primary); font-size: 30px; text-align: center; }
.mk-ufoundme-phone { padding: 20px; border-radius: 24px; background: #fff; box-shadow: 0 18px 48px rgba(16, 45, 58, .13); }
.mk-ufoundme-phone header { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: .78rem; }
.mk-ufoundme-phone header i { margin-left: auto; color: var(--muted); font-style: normal; letter-spacing: .12em; }
.mk-ufoundme-paw { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 9px; color: #fff; background: var(--brand-primary); font-size: 14.5px; }
.mk-ufoundme-phone-brand { width: 112px; margin-top: 22px; display: block; color: var(--brand-primary); }
.mk-ufoundme-phone h3 { margin: 7px 0 8px; color: var(--ink); font-size: max(16px, calc(1.15rem - 0.1667rem)); font-weight: 650; line-height: 1.15; }
.mk-ufoundme-phone > p { margin: 0 0 14px; padding: 11px 12px; border-radius: 12px; color: var(--ink); background: var(--paper); font-size: .78rem; line-height: 1.4; }
.mk-ufoundme-action { width: 100%; min-height: 42px; padding: 8px 12px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: var(--brand-primary); font-size: .76rem; font-weight: 600; text-align: center; }
.mk-ufoundme-phone footer { margin-top: 14px; padding: 11px 0 0; display: flex; align-items: flex-start; gap: 8px; color: var(--muted); font-size: .68rem; line-height: 1.4; }
.mk-ufoundme-phone footer span { color: var(--brand-secondary-dark); }
.mk-ufoundme-steps { position: relative; z-index: 1; grid-column: 1 / -1; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; list-style: none; }
.mk-ufoundme-steps li { min-height: 68px; padding: 15px 16px; display: flex; align-items: center; gap: 13px; border-radius: 16px; background: rgba(255, 255, 255, .08); }
.mk-ufoundme-steps span { color: #fff; font-size: .88rem; font-weight: 550; line-height: 1.35; }

.mk-how-hero-visual > img { filter: brightness(.74); }
.mk-how-hero-visual > ol { position: absolute; z-index: 2; right: 20px; bottom: 20px; left: 20px; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; list-style: none; }
.mk-how-hero-visual > ol li { min-height: 78px; padding: 14px; border-radius: 15px; color: #fff; background: rgba(10, 29, 36, .86); backdrop-filter: blur(10px); }
.mk-how-hero-visual > ol b,
.mk-how-hero-visual > ol span { display: block; }
.mk-how-hero-visual > ol b { color: var(--brand-primary, #6e5367); font-size: 14.5px; }
.mk-how-hero-visual > ol span { margin-top: 5px; font-size: 14.5px; font-weight: 720; line-height: 1.3; }
.mk-how-result { width: fit-content; margin-top: 20px; padding: 12px 15px; border-radius: 14px; color: var(--ink) !important; background: var(--sky); font-size: 14.5px; font-weight: 720; }
.mk-how-result span { color: #138b65; }

.mk-how-journey,
.mk-testimonials { padding: 64px clamp(24px, 7vw, 106px); background: var(--white); }
.mk-how-journey > header,
.mk-testimonials > header { max-width: 760px; }
.mk-how-journey h2,
.mk-how-signal h2,
.mk-testimonials h2 { margin: 12px 0 14px; font-size: calc(clamp(34px, 4vw, 56px) - 2.6667px); line-height: 1; letter-spacing: -.045em; }
.mk-how-journey header > p,
.mk-testimonials header > p,
.mk-how-signal > div > p { color: var(--muted); line-height: 1.65; }
.mk-how-cards { margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; list-style: none; }
.mk-how-cards > li { border-radius: 24px; overflow: hidden; background: var(--paper); box-shadow: 0 16px 42px rgba(16, 45, 58, .08); }
.mk-how-cards figure { position: relative; height: 220px; margin: 0; overflow: hidden; background: var(--navy); }
.mk-how-cards figure > img { width: 100%; height: 100%; object-fit: cover; }
.mk-how-cards > li > div { padding: 20px; }
.mk-how-cards > li > div > span { color: var(--earth-action); font-size: 14.5px; font-weight: 780; }
.mk-how-cards h3 { margin: 8px 0; font-size: calc(23px - 2.6667px); line-height: 1.1; }
.mk-how-cards p { min-height: 4.8em; margin: 0; color: var(--muted); font-size: 14.5px; line-height: 1.6; }
.mk-how-cards strong { display: block; margin-top: 15px; color: var(--ink); font-size: 14.5px; }
.mk-how-cards strong i { color: #138b65; font-style: normal; }

.mk-how-signal { padding: 56px clamp(24px, 7vw, 106px); display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(38px, 7vw, 90px); align-items: center; color: #fff; background: var(--navy); }
.mk-how-signal .mk-kicker { color: var(--brand-primary, #6e5367); }
.mk-how-signal > div > p { color: rgba(255, 255, 255, .68); }
.mk-how-signal ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; list-style: none; }
.mk-how-signal li { position: relative; min-height: 112px; padding: 18px; border-radius: 18px; background: rgba(255, 255, 255, .08); }
.mk-how-signal li b,
.mk-how-signal li span { display: block; }
.mk-how-signal li b { color: var(--brand-primary, #6e5367); }
.mk-how-signal li span { margin-top: 20px; font-size: 14.5px; font-weight: 720; }

.mk-testimonial-grid { margin-top: 30px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.mk-testimonial-grid blockquote { margin: 0; padding: 22px; border-radius: 22px; background: var(--paper); }
.mk-testimonial-grid blockquote > span { color: var(--earth-action); font-size: 32px; line-height: 1; }
.mk-testimonial-grid blockquote > p { min-height: 5.4em; margin: 8px 0 18px; color: var(--ink); line-height: 1.55; }
.mk-testimonial-grid footer b,
.mk-testimonial-grid footer small { display: block; }
.mk-testimonial-grid footer small { margin-top: 3px; color: var(--muted); }
.mk-testimonial-disclosure { margin: 16px 0 0; color: var(--muted); font-size: 14.5px; }

.mk-final { padding-inline: 24px; }
.mk-final h2 { max-width: 920px; margin-inline: auto; font-size: calc(clamp(36px, 4.6vw, 64px) - 2.6667px); }
.mk-final .mk-main-cta { min-width: min(100%, 310px); color: #fff; }

@media (max-width: 900px) {
  .mk-product-hero,
  .mk-how-hero { grid-template-columns: 1fr; padding: 52px 24px; }
  .mk-product-hero-visual,
  .mk-how-hero-visual { min-height: 500px; }
  .mk-product-proof .mk-tracker-facts,
  .mk-how-cards,
  .mk-testimonial-grid { grid-template-columns: 1fr 1fr; }
  .mk-how-signal { grid-template-columns: 1fr; }
  .mk-ufoundme { grid-template-columns: 1fr; }
  .mk-ufoundme-demo { width: min(100%, 720px); }
}

@media (min-width: 621px) and (max-width: 980px) {
  .mk-ufoundme h2 { font-size: calc(clamp(32px, 5vw, 40px) - 2.6667px); }
}

@media (max-width: 620px) {
  .mk-product-hero,
  .mk-how-hero,
  .mk-how-journey,
  .mk-how-signal,
  .mk-testimonials { padding: 44px 20px; }
  .mk-product-hero h1,
  .mk-how-hero h1 { font-size: calc(clamp(32px, 9vw, 40px) - 2.6667px); }
  .mk-product-hero-copy > p { font-size: 15.5px; line-height: 1.6; }
  .mk-product-hero-visual,
  .mk-how-hero-visual { min-height: 390px; border-radius: 24px; }
  .mk-how-hero-visual > ol { grid-template-columns: 1fr; }
  .mk-how-hero-visual > ol li { min-height: 0; padding: 10px 12px; }
  .mk-how-hero-visual > ol li span { margin-top: 2px; }
  .mk-product-proof { padding: 38px 20px 48px; }
  .mk-product-proof .mk-tracker-facts,
  .mk-how-cards,
  .mk-testimonial-grid,
  .mk-how-signal ol { grid-template-columns: 1fr; }
  .mk-how-cards p,
  .mk-testimonial-grid blockquote > p { min-height: 0; }
  .mk-how-signal li { min-height: 0; }
  .mk-ufoundme { padding: 52px 20px; gap: 30px; }
  .mk-ufoundme h2 { font-size: calc(clamp(29px, 8vw, 35px) - 2.6667px); }
  .mk-ufoundme-demo { min-height: 0; padding: 20px; grid-template-columns: 1fr; gap: 12px; border-radius: 24px; }
  .mk-ufoundme-qr { width: min(100%, 220px); justify-self: center; }
  .mk-ufoundme-arrow { transform: rotate(90deg); }
  .mk-ufoundme-phone { width: 100%; }
  .mk-ufoundme-steps { grid-template-columns: 1fr; }
  .mk-ufoundme-steps li { min-height: 56px; }
}

@media (max-width: 360px) {
  .mk-ufoundme { padding: 44px 16px; gap: 24px; }
  .mk-ufoundme-wordmark { margin-bottom: 18px; font-size: 16px; }
  .mk-ufoundme h2 { margin-block: 10px 14px; font-size: calc(32px - 2.6667px); }
  .mk-ufoundme-copy > p { line-height: 1.58; }
  .mk-ufoundme-offline { margin-top: 18px; }
  .mk-ufoundme-demo { padding: 16px; }
  .mk-ufoundme-steps li { padding: 13px 14px; }
}

.mk-hero-visual figcaption,
.mk-reassurance-visual figcaption,
.mk-product-hero-visual figcaption {
  padding: 7px 11px;
  border-radius: 10px;
  color: #18323c;
  background: rgba(255, 255, 255, .84);
  text-shadow: none;
}

/* theme.css */
/* Inter 4.1 is served locally. License: vendor/LICENSE-Inter.txt (OFL-1.1). */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/fonts/InterVariable.woff2') format('woff2-variations')}
@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url('assets/fonts/InterVariable-Italic.woff2') format('woff2-variations')}
.theme-toggle{width:44px;min-width:44px;height:44px;padding:0;border:1px solid var(--line,#d5e0e5);border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:0;flex:0 0 auto;color:var(--ink,#18323c);background:var(--white,var(--panel,#ffffff));box-shadow:0 7px 18px rgba(16,45,58,.07);font:inherit;font-weight:900;cursor:pointer}
.theme-toggle:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(16,45,58,.12)}
.theme-toggle:focus-visible{outline:3px solid rgb(var(--brand-primary-rgb, 63 116 130) / .5);outline-offset:3px}
.theme-toggle [data-theme-icon]{font-size:17px;line-height:1}.theme-toggle [data-theme-label]{display:none!important}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--ink:#f3f5f4;--muted:#a7b3b7;--paper:#0d1519;--white:#172329;--panel:#172329;--line:#304148;--sky:#172a32;--apricot:var(--brand-primary, #3f7482)}}
:root[data-theme="dark"]{--ink:#f3f5f4;--muted:#a7b3b7;--paper:#0d1519;--white:#172329;--panel:#172329;--line:#304148;--sky:#172a32;--apricot:var(--brand-primary, #3f7482);--blue:#23444d}
[data-theme="dark"] body,[data-theme="dark"] .legal-page{color:var(--ink);background:var(--paper)}
[data-theme="dark"] .public-header{border-color:rgba(255,255,255,.08);background:rgba(13,21,25,.94)}
[data-theme="dark"] .public-brand,[data-theme="dark"] .auth-logo,[data-theme="dark"] .go-logo,[data-theme="dark"] .brand{padding:6px 9px;border-radius:12px;background:#fff}[data-theme="dark"] .public-brand img,[data-theme="dark"] .auth-logo img,[data-theme="dark"] .go-logo img,[data-theme="dark"] .brand img{filter:none}
[data-theme="dark"] .public-primary a:hover,[data-theme="dark"] .public-signin:hover,[data-theme="dark"] .public-menu-links>a:hover,[data-theme="dark"] .public-menu-signin:hover{background:#223138}
[data-theme="dark"] .public-primary a.active,[data-theme="dark"] .public-menu-links>a.active{color:#142127;background:#f3f5f4;font-weight:950}
[data-theme="dark"] .public-language,[data-theme="dark"] .auth-language,[data-theme="dark"] .public-menu-panel{background:#172329}
[data-theme="dark"] .public-language a.active,[data-theme="dark"] .auth-language a.active{color:#172329;background:#f3f5f4}
[data-theme="dark"] .public-newsletter,[data-theme="dark"] .public-dialog,[data-theme="dark"] .auth-card{background:#172329}
[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea,[data-theme="dark"] .auth-secondary,[data-theme="dark"] .auth-provider{color:var(--ink);border-color:var(--line);background:#101c21}
[data-theme="dark"] .cookie-row,[data-theme="dark"] .public-dialog-close,[data-theme="dark"] .auth-legal-note,[data-theme="dark"] .sso-preview{background:#223138}
[data-theme="dark"] .public-cookie-options{border-color:var(--line);background:#172329}[data-theme="dark"] .cookie-row{background:transparent}[data-theme="dark"] .public-cookie-actions .public-cookie-policy{color:var(--ink);border-color:var(--line);background:#101c21}
[data-theme="dark"] .auth-prototype-note{color:#dff6f8;background:#17424b}[data-theme="dark"] .auth-alert{color:#dff6f8;background:#17424b}
[data-theme="dark"] .biometric-status{color:#d7e5e8;background:#21363e}
[data-theme="dark"] .mk-float,[data-theme="dark"] .mk-country-list article,[data-theme="dark"] .guide-flow article{background:rgba(23,35,41,.94)}
[data-theme="dark"] .mk-feature.earth,[data-theme="dark"] .mk-final,[data-theme="dark"] .guide-help,[data-theme="dark"] .coverage-sources{background:var(--brand-primary, #3f7482)}
[data-theme="dark"] .mk-feature.light,[data-theme="dark"] .guide-faq,[data-theme="dark"] .plan-card:not(.featured),[data-theme="dark"] .price-table-wrap,[data-theme="dark"] .coverage-roadmap article,[data-theme="dark"] .coverage-table,[data-theme="dark"] .coverage-effort li{background:var(--white)}
[data-theme="dark"] .mk-benelux,[data-theme="dark"] .price-structure,[data-theme="dark"] .guide-whatsapp,[data-theme="dark"] .coverage-scale{background:var(--sky)}
[data-theme="dark"] .mk-text-link,[data-theme="dark"] .guide-link{color:var(--ink)}
[data-theme="dark"] .mk-alert-stack i,[data-theme="dark"] .plan-prices>div,[data-theme="dark"] .guide-help li{color:var(--ink);background:#223138}
[data-theme="dark"] .mk-final p,[data-theme="dark"] .guide-help p,[data-theme="dark"] .coverage-sources>p{color:#c3ced1}
[data-theme="dark"] .legal-subnav-shell{background:rgba(13,21,25,.96)}
[data-theme="dark"] .legal-subnav a:hover,[data-theme="dark"] .legal-toc{background:#223138}
[data-theme="dark"] .legal-document,[data-theme="dark"] .legal-table-scroll tbody td,[data-theme="dark"] .legal-table-scroll tbody tr:nth-child(even) td{background:var(--white)}
[data-theme="dark"] .legal-section-body>p,[data-theme="dark"] .legal-list li,[data-theme="dark"] .legal-table-scroll tbody td{color:#c5d0d3}
[data-theme="dark"] .legal-callout,[data-theme="dark"] .legal-table-scroll tbody th,[data-theme="dark"] .legal-sources{background:#22353d}
[data-theme="dark"] .legal-callout p,[data-theme="dark"] .legal-sources summary{color:var(--ink)}
[data-theme="dark"] .card,[data-theme="dark"] .safe-card,[data-theme="dark"] .device-card,[data-theme="dark"] .device-tab,[data-theme="dark"] .pet-roster-card,[data-theme="dark"] .profile-hero,[data-theme="dark"] .settings-menu,[data-theme="dark"] .settings-content,[data-theme="dark"] dialog,[data-theme="dark"] .drawer,[data-theme="dark"] .go-alert{background:var(--panel)}
[data-theme="dark"] .icon-button,[data-theme="dark"] .pet-switcher,[data-theme="dark"] .button:not(.primary),[data-theme="dark"] .command,[data-theme="dark"] .switch-pet-option,[data-theme="dark"] .go-pet{color:var(--ink);background:#172329}
[data-theme="dark"] .map-source-pill,[data-theme="dark"] .coverage-picker,[data-theme="dark"] .go-map-status,[data-theme="dark"] .go-coverage{color:var(--ink);background:rgba(23,35,41,.94)}
[data-theme="dark"] .maplibregl-canvas{filter:brightness(.72) saturate(.78) contrast(1.08)}
[data-theme="dark"] .maplibregl-popup-content{color:var(--ink);background:#172329}
[data-theme="dark"] .go-language{background:rgba(255,255,255,.08)}
[data-theme="dark"] .go-language a[aria-current="page"]{color:#142127;background:#f3f5f4}
[data-theme="dark"] .go-head .theme-toggle{width:36px;height:36px;border:0;background:#172329;box-shadow:none}

/* Marketing night mode: every surface and action keeps an explicit contrast. */
[data-theme="dark"] .mk-hero,
[data-theme="dark"] .mk-page-hero,
[data-theme="dark"] .mk-product-hero,
[data-theme="dark"] .mk-how-hero{background:radial-gradient(circle at 82% 18%,rgb(var(--brand-primary-rgb, 63 116 130) / .16),transparent 30%),linear-gradient(145deg,#0d1519,#142329 66%,#172a32)}
[data-theme="dark"] .mk-hero:before,[data-theme="dark"] .mk-page-hero:after{border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .mk-proof{color:var(--muted);border-color:var(--line);background:rgba(23,35,41,.94)}
[data-theme="dark"] .mk-proof b,[data-theme="dark"] .mk-float strong,[data-theme="dark"] .mk-country-list strong{color:var(--ink)}
[data-theme="dark"] .mk-story,[data-theme="dark"] .mk-product-pain,[data-theme="dark"] .mk-how-journey,[data-theme="dark"] .mk-testimonials{background:var(--white)}
[data-theme="dark"] .mk-reassurance,[data-theme="dark"] .mk-product-proof,[data-theme="dark"] .mk-how-cards>li,[data-theme="dark"] .mk-testimonial-grid blockquote{background:var(--paper)}
[data-theme="dark"] .mk-privacy{background:linear-gradient(180deg,#0d1519,#172329)}
[data-theme="dark"] .mk-feature.light{background:linear-gradient(145deg,#172329,#1b2a30)}
[data-theme="dark"] .mk-feature.earth{background:linear-gradient(145deg,var(--brand-primary, #3f7482),var(--brand-primary, #3f7482))}
[data-theme="dark"] .mk-feature.earth h3,[data-theme="dark"] .mk-feature.earth>span,[data-theme="dark"] .mk-device-row i:nth-child(3){color:var(--ink)}
[data-theme="dark"] .mk-country-list article,[data-theme="dark"] .mk-tracker-facts article,[data-theme="dark"] .mk-product-hero-visual{border-color:transparent;background:#172329}
[data-theme="dark"] .mk-tracker-presale{border-color:var(--brand-primary, #3f7482);background:linear-gradient(135deg,var(--brand-primary, #3f7482),var(--brand-primary, #3f7482))}
[data-theme="dark"] .mk-tracker-presale>strong,[data-theme="dark"] .mk-tracker-facts strong,[data-theme="dark"] .mk-how-result{color:var(--ink)}
[data-theme="dark"] .mk-tracker-presale>small{color:#dff6f8}
[data-theme="dark"] .mk-how-result,[data-theme="dark"] .mk-alert-stack i{background:#22353d}
[data-theme="dark"] .mk-final{color:var(--ink);background:linear-gradient(135deg,var(--brand-primary, #3f7482),#26383e)}
[data-theme="dark"] .mk-final .mk-kicker,[data-theme="dark"] .mk-final h2{color:var(--ink)}
[data-theme="dark"] .mk-main-cta,[data-theme="dark"] .mk-tracker-presale>a,[data-theme="dark"] .public-cta{color:#fff!important;background:var(--brand-primary, #3f7482)}
[data-theme="dark"] .mk-main-cta:hover,[data-theme="dark"] .mk-tracker-presale>a:hover,[data-theme="dark"] .public-cta:hover{color:#fff!important;background:var(--brand-primary, #3f7482)}
[data-theme="dark"] .mk-text-link{color:#f3f5f4}
[data-theme="dark"] .mk-story-controls>button{color:#142127;background:#f3f5f4}
[data-theme="dark"] .mk-story-dots button span{background:#77878d}
[data-theme="dark"] .mk-story-dots button[aria-pressed="true"] span{background:var(--brand-primary, #3f7482)}
[data-theme="dark"] .mk-proof,[data-theme="dark"] .mk-steps li,[data-theme="dark"] .mk-country-list article,[data-theme="dark"] .mk-how-cards>li{border-color:var(--line)}
@media(max-width:1080px){.public-header .public-menu{margin-left:auto}.public-menu-theme{margin-left:auto}}
@media(max-width:560px){.theme-toggle:not(.public-menu-theme),.public-menu-theme{width:44px;min-width:44px;height:44px;padding:0}}
@media print{.theme-toggle{display:none!important}:root[data-theme="dark"]{--ink:#111;--muted:#444;--paper:#fff;--white:#fff;--panel:#fff;--line:#bbb}:root[data-theme="dark"] body,:root[data-theme="dark"] .legal-page{color:#111!important;background:#fff!important}}

/* premium.css */
/* MEO safety premium mineral design layer.
 * Cool neutral surfaces replace the previous beige range while preserving the
 * logo's navy and coral identity. Accessibility rules load after this file.
 */

body {
  text-rendering: optimizeLegibility;
}

:where(main, [role="main"]) {
  isolation: isolate;
}

:where(main, [role="main"]) :where(h1, h2, h3) {
  text-wrap: balance;
}

:where(main, [role="main"]) :where(p, li) {
  text-wrap: pretty;
}

.public-header {
  box-shadow: 0 10px 34px rgba(16, 45, 58, .055);
}

.public-primary a,
.public-signin,
.public-cta {
  letter-spacing: -.012em;
}

.public-newsletter {
  border: 0;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .18);
}

.public-footer nav a,
.public-cookie-link {
  padding-block: 3px;
  line-height: 1.45;
}

.public-dialog {
  border: 0;
}

.mk-hero {
  background:
    radial-gradient(circle at 84% 12%, var(--sky, #e4f0f5) 0%, transparent 36%),
    linear-gradient(180deg, var(--white, #fff) 0%, var(--paper, #f3f6f8) 100%);
}

.mk-hero h1 {
  line-height: .94;
  letter-spacing: -.058em;
}

.mk-section-head h2,
.mk-how h2,
.mk-benelux h2,
.mk-privacy h2,
.mk-final h2 {
  line-height: 1;
  letter-spacing: -.052em;
}

.mk-hero-copy > p,
.mk-section-head > p,
.mk-how-intro > p,
.mk-benelux > div > p,
.mk-privacy p,
.mk-final p {
  max-width: 68ch;
  line-height: 1.7;
}

.mk-feature,
.mk-country-list article,
.mk-story-card {
  border: 0;
  box-shadow: 0 20px 58px rgba(16, 45, 58, .09);
}

.mk-feature.light,
.mk-country-list article,
.mk-story {
  background: var(--white, #fff);
}

.mk-how {
  background: var(--navy, #102d3a);
}

.mk-feature.earth {
  background: linear-gradient(145deg, #dff6f8 0%, var(--brand-primary, #3f7482) 100%);
}

.mk-benelux {
  background: linear-gradient(145deg, #e4f0f5 0%, #f3f6f8 100%);
}

.mk-final {
  background: linear-gradient(135deg, #dff6f8 0%, #e4f0f5 100%);
}

.mk-text-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  
  
}

.auth-card,
.card,
.safe-card,
.device-card,
.pet-roster-card,
.profile-hero,
.settings-menu,
.settings-content,
.family-panel,
.admin-panel,
.admin-metrics article,
.vet-card,
.vet-form-shell {
  border: 0;
  box-shadow: 0 22px 64px rgba(16, 45, 58, .085);
}

.auth-card,
.card,
.device-card,
.pet-roster-card,
.profile-hero,
.settings-menu,
.settings-content {
  background: var(--white, var(--panel, #fff));
}

:where(.auth-story, .mk-section-head, .mk-how-intro, .family-hero, .admin-intro, .vet-section-head) > p {
  max-width: 68ch;
  line-height: 1.7;
}

@media (max-width: 560px) {
  .mk-hero h1 {
    font-size: calc(clamp(44px, 14vw, 56px) - 2.6667px);
    line-height: .98;
    letter-spacing: -.048em;
  }

  .mk-section-head h2,
  .mk-how h2,
  .mk-benelux h2,
  .mk-privacy h2,
  .mk-final h2 {
    font-size: calc(clamp(38px, 11vw, 48px) - 2.6667px);
    line-height: 1.03;
  }
}

@media (prefers-contrast: more) {
  .public-header {
    border-bottom: 2px solid var(--ink, #18323c);
    box-shadow: none;
  }

  .public-cta,
  .auth-card,
  .card,
  .mk-feature {
    box-shadow: none;
  }

  .public-footer nav a,
  .public-cookie-link {
    color: #fff;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mk-story-card img,
  .public-cta,
  .vet-button,
  .theme-toggle {
    transition: none !important;
  }
}

/* accessibility.css */
/* MEO readable-type floor: 12pt equivalent for screen interfaces. */
@media screen {
  :root {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    font-size: 16px !important;
    line-height: 1.5;
    max-width: 100%;
  }

  :where(main, header, footer, nav, section, article, aside, form, fieldset, dialog, div) {
    min-width: 0;
  }

  :where(img, picture, video) {
    max-width: 100%;
    height: auto;
  }

  :where(pre, code, .legal-table-scroll, .coverage-table, .price-structure, .admin-table-scroll) {
    max-width: 100%;
  }

  :where(pre, .legal-table-scroll, .coverage-table, .price-structure, .admin-table-scroll) {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  dialog {
    box-sizing: border-box;
    max-width: calc(100% - 24px);
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    overflow: auto;
    overscroll-behavior: contain;
  }

  /*
   * Keep the established heading hierarchy and code-native SVG icon sizing.
   * Everything else that can carry readable copy receives the 16px floor.
   */
  :where(body, body *)
    :not(:where(
      h1, h2, h3, h4, h5, h6,
      h1 *, h2 *, h3 *, h4 *, h5 *, h6 *,
      svg, svg *,
      [aria-hidden="true"], [aria-hidden="true"] *,
      script, style, link, meta
    )) {
    font-size: 16px !important;
  }

  :where(p, li, dt, dd, th, td, caption, figcaption, blockquote, address, small) {
    line-height: 1.5 !important;
  }

  :where(a, button, input, select, textarea, label, legend, summary, output, time) {
    line-height: 1.35 !important;
  }

  :where(button, select, textarea, summary, input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), [role="button"], [role="tab"], [role="radio"], [role="checkbox"]) {
    min-height: 44px;
    min-width: 44px;
  }

  :where(label:has(input[type="checkbox"]), label:has(input[type="radio"])) {
    min-height: 44px;
    align-items: center;
  }

  :where(input[type="checkbox"], input[type="radio"]) {
    min-width: 20px;
    min-height: 20px;
  }

  :where(p, li, dt, dd, th, td, small, label, a, button, output) {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
  }

  input::placeholder,
  textarea::placeholder {
    font-size: 16px !important;
    opacity: .72;
  }

  :where(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"]), [role="button"], [role="tab"], [role="radio"], [role="checkbox"]):focus-visible {
    outline: 3px solid #fff !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 6px #102d3a !important;
  }

  :where(input, select, textarea)[aria-invalid="true"] {
    border-width: 2px !important;
    border-style: solid !important;
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }

  :where([role="alert"], .auth-alert, .scan-error, .photo-error, .admin-step-up-error, .admin-reseller-flash.is-error) {
    border-inline-start: 4px solid currentColor !important;
  }

  :where(.admin-status, .status, .pill, .device-pill) {
    border: 1px solid currentColor;
  }

  :where(a[aria-current="page"], a[aria-current="true"]) {
    text-decoration: none !important;
    
    
  }

  :where(button[aria-pressed="true"], [role="tab"][aria-selected="true"], [role="radio"][aria-checked="true"]) {
    box-shadow: inset 0 0 0 2px currentColor;
  }

  :where(main, footer, dialog) :where(p, li, small, address) a[href]:not(.button):not(.public-cta):not(.auth-primary):not(.auth-secondary) {
    text-decoration: none !important;
    font-weight: 700;
  }

  /* Existing declarations that already use !important need equal-strength fixes. */
  .auth-legal-note,
  .auth-prototype-note,
  .maplibregl-ctrl-attrib {
    font-size: 16px !important;
  }

  /* The only pre-existing sub-16px heading is a plan-card heading. */
  .plan-card h3 {
    font-size: max(16px, calc(18px - 2.6667px)) !important;
    line-height: 1.25 !important;
  }

  .admin-gateway-evidence-grid .admin-alert h3 {
    font-size: max(16px, calc(16px - 2.6667px)) !important;
    line-height: 1.25 !important;
  }

  .admin-dashboard-compact .admin-alert h3 {
    font-size: max(16px, calc(16px - 2.6667px)) !important;
    line-height: 1.25 !important;
  }

  /* A counter is meaningful copy rather than a decorative glyph. */
  .coverage-effort li::before {
    font-size: 16px !important;
  }

  .rail-expanded .rail-action::after {
    font-size: 16px !important;
  }

  .rail-button[title]::after,.rail-action[title]::after {
    font-size: 16px !important;
  }

  /* Let formerly compact shells grow instead of clipping two-line labels. */
  .public-header-inner,
  .auth-nav,
  .go-head {
    height: auto !important;
  }

  .public-header-inner {
    min-height: 78px;
    padding-block: 10px;
  }

  .auth-nav {
    min-height: 86px;
  }

  .go-head {
    min-height: 72px;
  }

  .public-footer-social,
  .public-footer-bottom,
  .auth-footer,
  .page-head,
  .head-actions,
  .top-actions,
  .modal-actions {
    flex-wrap: wrap;
  }

  .public-newsletter form > div,
  .newsletter-field {
    min-height: 52px;
  }

  .public-newsletter button,
  .newsletter-field button {
    min-width: 108px;
    padding-inline: 14px;
  }

  .language-picker select,
  .language-picker button,
  .public-language a,
  .auth-language a {
    min-width: 44px;
    min-height: 44px;
  }

  .go-language a {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
  }

  :where(
    .public-primary a, .public-signin, .public-cta, .public-menu-panel a,
    .public-footer nav a, .public-cookie-link, .public-footer-social a,
    .auth-nav-actions > a, .auth-primary, .auth-secondary, .auth-provider,
    .go-logo, .go-locate, .rail-button, .rail-action, .icon-button, .avatar,
    .app-language-switcher select, .app-language-switcher button, .help-link, .site-footer a, .social-share a,
    .footer-link-button
  ) {
    min-width: 44px;
    min-height: 44px;
  }

  .pwa-notice {
    width: min(480px, calc(100% - 28px));
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
  }

  .pwa-notice .pwa-action {
    grid-column: 2;
    justify-self: start;
  }

  .pwa-notice .pwa-close {
    grid-column: 3;
    grid-row: 1;
  }

  .go-alert {
    grid-template-columns: 44px minmax(0, 1fr) !important;
  }

  .go-alert time {
    grid-column: 2;
    justify-self: start;
  }

  .go-nav b {
    width: auto;
    min-width: 22px;
    height: 22px;
    padding-inline: 5px;
  }

  .go-coverage select,
  .coverage-picker select {
    max-width: 190px !important;
  }

  .legal-table-scroll,
  .coverage-table,
  .price-structure {
    overscroll-behavior-inline: contain;
  }

  @media (max-width: 1080px) {
    .public-header-inner {
      min-height: 68px;
    }
  }

  @media (max-width: 720px) {
    .auth-nav,
    .auth-nav-actions,
    .go-head,
    .go-title,
    .go-section-head {
      flex-wrap: wrap;
    }

    .auth-nav-actions {
      justify-content: flex-end;
    }

    .go-head {
      height: auto !important;
    }

    .public-dialog,
    .auth-card,
    .modal-body,
    .usability-dialog {
      max-width: calc(100vw - 20px);
    }

    .pwa-notice {
      max-height: calc(100dvh - 20px);
      overflow: auto;
    }
  }

  @media (max-width: 560px) {
    .auth-nav {
      min-height: 72px;
    }

    .public-dialog,
    .auth-card,
    .modal-body {
      overflow-wrap: break-word;
      word-break: normal;
      hyphens: none;
    }

    .public-newsletter form > div,
    .newsletter-field {
      height: auto;
    }

    .pwa-notice {
      right: 10px;
      width: calc(100% - 20px);
    }
  }

  @media (max-width: 359px) {
    .go-language a {
      width: 44px;
    }

    .go-head {
      gap: 5px;
      padding-inline: 8px;
    }

    .go-head > a.go-logo {
      width: 68px;
    }
  }
}

.admin-animal-history-grid h5 {
    font-size: max(16px, calc(18px - 2.6667px)) !important;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-delay: 0s !important;
    transition-duration: .01ms !important;
  }
}

@media (forced-colors: active) {
  :where(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"]), [role="button"], [role="tab"], [role="radio"], [role="checkbox"]):focus-visible {
    outline: 3px solid Highlight !important;
    box-shadow: none !important;
  }

  :where(button, input, select, textarea, summary, [role="button"], [role="tab"], [role="radio"], [role="checkbox"], .admin-status, .status, .pill, .device-pill) {
    border: 1px solid ButtonText !important;
    forced-color-adjust: auto;
  }

  :where([aria-current="page"], [aria-selected="true"], [aria-pressed="true"], [aria-checked="true"]) {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }

  :where([role="alert"], .auth-alert, .scan-error, .photo-error, .admin-step-up-error, .admin-reseller-flash.is-error) {
    border-inline-start: 4px double CanvasText !important;
  }
}

/* Link states use colour, weight, surfaces and a strong keyboard focus ring.
 * Product copy deliberately has no underline or overline. */
html:root body :where(*, *::before, *::after) {
  text-decoration: none !important;
  text-decoration-line: none !important;
}
/* Keyboard users receive a visible first action only when it receives focus. */
.skip-link {
  position: fixed;
  top: max(12px, env(safe-area-inset-top));
  left: max(12px, env(safe-area-inset-left));
  z-index: 10000;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 16px;
  border-radius: 12px;
  background: #18323c;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 10px 30px rgba(15, 35, 43, 0.24);
  transform: translateY(calc(-100% - 32px));
  transition: transform 160ms ease;
}

/* Keep the keyboard shortcut out of the visual layout until it receives focus.
 * Clipping is deliberately combined with the off-canvas transform so a stale
 * browser stylesheet cannot expose the link as ordinary page copy. */
.skip-link:not(:focus):not(:focus-visible) {
  width: 1px;
  height: 1px;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.skip-link:focus,
.skip-link:focus-visible {
  width: auto;
  height: auto;
  min-height: 44px;
  padding: 10px 16px;
  overflow: visible;
  clip-path: none;
  white-space: normal;
  transform: translateY(0);
  outline: 3px solid var(--brand-primary, #3f7482);
  outline-offset: 3px;
}

/* usability.css */
.usability-toggle {
  min-width: 44px;
  min-height: 44px;
  padding: 0 11px;
  border: 0;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 0 0 auto;
  color: var(--ink, #18323c);
  background: var(--white, #ffffff);
  box-shadow: 0 7px 20px rgba(16, 45, 58, .1);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

/* Legal map attribution is metadata, not reading copy: keep it present and discreet. */
.meo-map-credits,.meo-map-credits :is(strong,span,a),
html[data-readability="comfort"] .meo-map-credits,
html[data-readability="comfort"] .meo-map-credits :is(strong,span,a),
html[data-readability="clear"] .meo-map-credits,
html[data-readability="clear"] .meo-map-credits :is(strong,span,a){font-size:calc(1px * 10)!important;line-height:1.15!important}

.usability-toggle:hover { box-shadow: 0 11px 26px rgba(16, 45, 58, .15); }
.usability-toggle:focus-visible { outline: 3px solid rgb(var(--brand-secondary-rgb, 236 122 68) / .52); outline-offset: 3px; }
.usability-toggle > b { font-size: 17px !important; letter-spacing: -.05em; }
.usability-toggle [data-usability-label] { font-size: 16px !important; }

.public-usability-fab {
  position: fixed;
  z-index: 170;
  left: max(22px, env(safe-area-inset-left));
  bottom: max(22px, env(safe-area-inset-bottom));
  min-height: 48px;
  padding-inline: 15px;
  border-radius: 999px;
  color: #fff;
  background: var(--navy, #102d3a);
  box-shadow: 0 14px 36px rgba(9, 12, 13, .24);
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.public-usability-fab:hover {
  background: var(--earth-action, var(--brand-primary, #3f7482));
  box-shadow: 0 17px 42px rgba(9, 12, 13, .3);
  transform: translateY(-2px);
}
.public-usability-fab img {
  width: 22px;
  height: 22px;
  filter: brightness(0) invert(1);
}
body:has(.public-cookie-banner:not([hidden])) .public-usability-fab { bottom: 132px; }

@media (max-width: 1199px) {
  .public-usability-fab { bottom: calc(82px + env(safe-area-inset-bottom)); }
  body:has(.public-cookie-banner:not([hidden])) .public-usability-fab { bottom: calc(214px + env(safe-area-inset-bottom)); }
}

.usability-dialog {
  box-sizing: border-box;
  width: min(540px, calc(100% - 32px));
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  padding: clamp(26px, 5vw, 42px);
  border: 0;
  border-radius: 30px;
  color: var(--ink, #18323c);
  background: var(--white, #ffffff);
  box-shadow: 0 36px 100px rgba(5, 19, 25, .36);
  overflow: auto;
  overscroll-behavior: contain;
}

.usability-dialog::backdrop { background: rgba(7, 20, 25, .68); backdrop-filter: blur(7px); }
.usability-dialog[open] { display: block; }
.usability-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 13px;
  color: var(--ink, #18323c);
  background: rgba(24, 50, 60, .08);
  font-size: 24px !important;
  cursor: pointer;
}
.usability-badge {
  width: 54px;
  height: 54px;
  border-radius: 17px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #102d3a;
  font-size: 21px !important;
  font-weight: 950;
}
.usability-dialog h2 { margin: 18px 48px 9px 0; font-size: calc(clamp(30px, 5vw, 42px) - 2.6667px); line-height: 1.05; letter-spacing: -.045em; }
.usability-dialog > p { margin: 0; color: var(--muted, #68747a); font-size: 16px !important; line-height: 1.6 !important; }
.usability-choices { margin: 25px 0 18px; display: grid; gap: 10px; }
.usability-choice {
  width: 100%;
  min-height: 78px;
  padding: 13px 15px;
  border: 2px solid transparent;
  border-radius: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px;
  color: var(--ink, #18323c);
  background: rgba(24, 50, 60, .065);
  text-align: left;
  cursor: pointer;
}
.usability-choice:hover { background: rgba(24, 50, 60, .11); }
.usability-choice.is-selected { border-color: currentColor; color: #fff; background: #102d3a; box-shadow: 0 13px 30px rgba(16, 45, 58, .2); }
.usability-choice strong,
.usability-choice span { grid-column: 1; }
.usability-choice.is-selected::after {
  content: '✓';
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  font-size: 22px;
  font-weight: 950;
}
.usability-choice strong { font-size: 18px !important; }
.usability-choice span { color: var(--muted, #68747a); font-size: 16px !important; line-height: 1.45 !important; }
.usability-choice.is-selected span { color: rgba(255, 255, 255, .76); }
.usability-dialog > small { display: block; color: var(--muted, #68747a); font-size: 16px !important; line-height: 1.5 !important; }

html[data-readability="comfort"] { --muted: #4d5c62; --line: #b9c7cd; }
html[data-readability="clear"] { --muted: #3e4c52; --line: #93a3aa; }

@media screen {
  html[data-readability="comfort"] body,
  html[data-readability="comfort"] :where(body, body *):not(:where(h1, h2, h3, h4, h5, h6, h1 *, h2 *, h3 *, h4 *, h5 *, h6 *, svg, svg *, [aria-hidden="true"], [aria-hidden="true"] *, script, style, link, meta)) {
    font-size: 18px !important;
  }
  html[data-readability="clear"] body,
  html[data-readability="clear"] :where(body, body *):not(:where(h1, h2, h3, h4, h5, h6, h1 *, h2 *, h3 *, h4 *, h5 *, h6 *, svg, svg *, [aria-hidden="true"], [aria-hidden="true"] *, script, style, link, meta)) {
    font-size: 20px !important;
  }
  html[data-readability="comfort"] :where(p, li, label, a, button, input, select, textarea, small),
  html[data-readability="clear"] :where(p, li, label, a, button, input, select, textarea, small) {
    line-height: 1.55 !important;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
  }
  html[data-readability="comfort"] :where(button, input:not([type="checkbox"]):not([type="radio"]), select, textarea, summary, [role="button"], [role="radio"]) { min-width: 50px; min-height: 50px; }
  html[data-readability="clear"] :where(button, input:not([type="checkbox"]):not([type="radio"]), select, textarea, summary, [role="button"], [role="radio"]) { min-width: 56px; min-height: 56px; }
  html[data-readability="comfort"] :where(label:has(input[type="checkbox"]), label:has(input[type="radio"])) { min-height: 50px; }
  html[data-readability="clear"] :where(label:has(input[type="checkbox"]), label:has(input[type="radio"])) { min-height: 56px; }
}

:root[data-theme="dark"] .usability-toggle:not(.public-usability-fab),
:root[data-theme="dark"] .usability-dialog { color: #f3f5f4; background: #172329; }
:root[data-theme="dark"] .public-usability-fab { color: #fff; background: var(--brand-primary, #3f7482); }
:root[data-theme="dark"] .usability-close,
:root[data-theme="dark"] .usability-choice { color: #f3f5f4; background: #223138; }
:root[data-theme="dark"] .usability-choice.is-selected { color: #fff; background: var(--brand-primary, #3f7482); }
:root[data-theme="dark"] .usability-choice.is-selected span { color: #fff; }

@media (max-width: 680px) {
  .auth-nav-actions .usability-toggle [data-usability-label],
  .top-actions .usability-toggle [data-usability-label],
  .go-head .usability-toggle [data-usability-label] { display: none; }
  .auth-nav-actions .usability-toggle,
  .top-actions .usability-toggle,
  .go-head .usability-toggle { width: 44px; padding: 0; }
  .public-usability-fab {
    left: max(14px, env(safe-area-inset-left));
    bottom: calc(82px + env(safe-area-inset-bottom));
    width: 48px;
    min-width: 48px;
    height: 48px;
    padding: 0;
  }
  .public-usability-fab [data-usability-label] { display: none; }
  body:has(.public-cookie-banner:not([hidden])) .public-usability-fab { bottom: calc(246px + env(safe-area-inset-bottom)); }
}

@media (max-width: 420px) {
  .usability-dialog { width: calc(100% - 20px); padding: 25px 20px; border-radius: 24px; }
  .usability-dialog h2 { margin-right: 40px; font-size: calc(30px - 2.6667px); }
  .usability-choice { min-height: 74px; padding: 13px 14px; }
}

/*
 * Keep the marketing hero's quiet secondary action clear of the persistent
 * 48 px accessibility control on narrow screens. The primary CTA retains the
 * full line and remains the first obvious action.
 */
@media (max-width: 560px) {
  .mk-actions .mk-text-link {
    width: calc(100% - 60px);
    min-height: 48px;
    margin-left: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .usability-dialog::backdrop { backdrop-filter: none; }
  .usability-toggle,
  .usability-choice,
  .usability-close { transition: none !important; }
}

@media (forced-colors: active) {
  .usability-toggle,
  .usability-close,
  .usability-choice,
  .usability-dialog {
    border: 1px solid ButtonText;
    box-shadow: none;
    forced-color-adjust: auto;
  }

  .usability-choice.is-selected {
    border: 3px double Highlight;
  }
}

@media print { .usability-toggle, .usability-dialog { display: none !important; } }

/* The mobile map toolbar is spatial navigation, not reading copy. Keep it
   compact even when the global readable-type floor or a readability mode is active. */
@media screen and (max-width:1199px){
  html :is(.map-route-fullscreen .map-data-toggle .segment,.map-route-fullscreen .map-layer-toggle .segment){font-size:14.5px!important;line-height:1.1!important;font-weight:500!important;min-height:32px!important;height:32px!important}
  html .map-route-fullscreen .map-data-toggle{min-height:38px!important;height:38px!important}
  html .map-route-fullscreen .map-layer-toggle{min-height:32px!important;height:32px!important}
  html .map-route-fullscreen .map-position-chevron{min-width:48px!important;width:48px!important;min-height:25px!important;height:25px!important;font-size:14.5px!important}
  html .map-route-fullscreen .map-latest-position :is(.eyebrow,strong,p){font-size:14.5px!important;line-height:1.35!important}
  html :is(.map-route-fullscreen .segmented,.map-route-fullscreen .map-position-chevron,.map-route-fullscreen .map-panel){border-color:transparent!important}
  html :is(.map-route-fullscreen .segment,.rail .rail-button,.rail .rail-action){text-align:center!important;justify-content:center!important}
}

/* language-picker.css */
/**
 * FR - Sélecteur linguistique commun, compact et utilisable sans JavaScript.
 * EN - Shared compact language picker with a complete non-JavaScript fallback.
 */
.language-picker {
  min-width: 0;
  margin: 0;
  padding: 3px;
  border: 1px solid var(--line, #d5e0e5);
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: var(--ink, #18323c);
  background: #fff;
  box-shadow: 0 7px 18px rgba(16, 45, 58, .06);
}

.language-picker select {
  min-width: 0;
  width: 154px;
  min-height: 44px;
  padding: 6px 30px 6px 10px;
  border: 0;
  border-radius: 9px;
  color: inherit;
  background-color: transparent;
  font: inherit;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
}

.language-picker button {
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 9px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--navy, var(--forest, #102d3a));
  font: inherit;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}

.language-picker select:focus-visible,
.language-picker button:focus-visible {
  outline: 3px solid var(--apricot, var(--brand-primary, #6e5367));
  outline-offset: 2px;
}

.language-picker button:hover {
  background: #183d4d;
}

.language-picker.is-enhanced button {
  display: none;
}

.language-picker.is-enhanced{position:relative;padding:0;border:0;background:transparent;box-shadow:none}.language-picker.is-enhanced select,.language-picker.is-enhanced>button[type="submit"]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.language-picker.is-enhanced .language-picker-trigger{position:relative;width:auto;min-width:184px;min-height:48px;padding:0 14px;border:1px solid var(--line,#d5e0e5);border-radius:15px;display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:8px;color:var(--ink,#18323c);background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(16,45,58,.1);font-size:16px;font-weight:850;text-align:left}.language-picker-globe{position:relative;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;color:#fff;background:var(--ink,#18323c)}.language-picker-globe::before{content:"";width:14px;height:14px;border:1.7px solid currentColor;border-radius:50%;background:linear-gradient(90deg,transparent 44%,currentColor 45% 55%,transparent 56%),linear-gradient(transparent 44%,currentColor 45% 55%,transparent 56%)}.language-picker-globe::after{content:"";position:absolute;width:6px;height:14px;border:1.4px solid currentColor;border-top-color:transparent;border-bottom-color:transparent;border-radius:50%}.language-picker-chevron{color:var(--muted,#5f6e76);font-size:20px;transition:transform .18s ease}.language-picker.is-open .language-picker-chevron{transform:rotate(180deg)}.language-picker.is-enhanced .language-picker-menu{position:absolute;z-index:520;top:calc(100% + 9px);right:0;width:276px;padding:8px;border:1px solid var(--line,#d5e0e5);border-radius:18px;color:var(--ink,#18323c);background:rgba(255,255,255,.98);box-shadow:0 24px 70px rgba(9,28,36,.2);backdrop-filter:blur(18px)}.language-picker.is-enhanced .language-picker-menu[hidden]{display:none}.language-picker.is-enhanced .language-picker-option{width:100%;min-height:48px;padding:7px 10px;border:0;border-radius:12px;display:grid;grid-template-columns:38px 1fr 22px;align-items:center;gap:9px;color:inherit;background:transparent;font:inherit;font-size:16px;font-weight:750;text-align:left}.language-picker.is-enhanced .language-picker-option:hover,.language-picker.is-enhanced .language-picker-option:focus-visible{color:var(--ink,#18323c);background:#edf3f5;outline:0}.language-picker-code{color:var(--muted,#5f6e76);font-weight:900}.language-picker-check{opacity:0;color:var(--earth-action,var(--brand-primary, #6e5367));font-size:18px}.language-picker-option[aria-selected="true"]{color:var(--ink,#18323c);background:#e8f8fa!important}.language-picker-option[aria-selected="true"] .language-picker-check{opacity:1}[data-theme="dark"] .language-picker.is-enhanced .language-picker-trigger,[data-theme="dark"] .language-picker.is-enhanced .language-picker-menu{color:#f3f5f4;border-color:rgba(255,255,255,.16);background:rgba(20,36,43,.98)}[data-theme="dark"] .language-picker-globe{color:#18323c;background:var(--brand-primary, #6e5367)}[data-theme="dark"] .language-picker.is-enhanced .language-picker-option:hover,[data-theme="dark"] .language-picker.is-enhanced .language-picker-option:focus-visible{color:#fff;background:#263c45}[data-theme="dark"] .language-picker-option[aria-selected="true"]{color:#fff;background:var(--brand-primary, #6e5367)!important}@media(max-width:560px){.language-picker.is-enhanced .language-picker-trigger{min-width:144px;padding-inline:10px}.language-picker.is-enhanced .language-picker-menu{position:fixed;top:auto;right:12px;bottom:12px;left:12px;width:auto;max-height:min(520px,calc(100dvh - 24px));overflow:auto;padding:10px;border-radius:22px}.language-picker.is-enhanced .language-picker-option{min-height:52px}}

/* Compact header control: the full language names remain available inside
   the menu while the persistent toolbar only exposes the active code. */
.language-picker.is-enhanced .language-picker-trigger{min-width:96px;min-height:44px;padding:0 10px;border-radius:14px;grid-template-columns:26px auto 14px;gap:7px;box-shadow:0 7px 18px rgba(16,45,58,.07);font-size:16px;letter-spacing:.04em}
.language-picker.is-enhanced .language-picker-menu{top:calc(100% + 8px);width:208px;padding:6px;border-radius:16px;box-shadow:0 20px 55px rgba(9,28,36,.18)}
.language-picker.is-enhanced .language-picker-option{min-height:44px;padding-block:5px;font-size:16px}
.language-picker-separator{height:1px;margin:6px 8px;background:var(--line,#d5e0e5)}
@media(max-width:560px){.language-picker.is-enhanced .language-picker-trigger{min-width:88px;padding-inline:8px}}

.rail-language-switcher{display:none}
.public-preferences-dock .language-picker.is-enhanced .language-picker-menu{top:auto;right:0;bottom:calc(100% + 8px)}
@media(max-width:899px){
  .rail-language-switcher{display:flex;width:100%;margin-top:auto;margin-bottom:8px}
  .rail-language-switcher .language-picker-trigger{width:100%;grid-template-columns:26px 1fr 14px}
  .rail-language-switcher .language-picker-menu{position:absolute;inset:auto 0 calc(100% + 8px) 0;width:100%;max-height:min(380px,55dvh);overflow:auto}
}
@media(max-width:560px){.public-preferences-dock .language-picker.is-enhanced .language-picker-menu{position:fixed;top:auto;right:8px;bottom:calc(154px + env(safe-area-inset-bottom));left:8px;width:auto;max-height:min(460px,calc(100dvh - 174px - env(safe-area-inset-bottom)))}}

[data-theme="dark"] .language-picker {
  color: #f3f5f4;
  background: #172329;
  border-color: rgba(255, 255, 255, .18);
}

[data-theme="dark"] .language-picker select {
  color-scheme: dark;
}

@media (max-width: 560px) {
  .language-picker {
    max-width: 100%;
  }

  .language-picker select {
    width: min(154px, calc(100vw - 132px));
  }
}

.public-menu .language-picker {
  width: 100%;
}

.public-menu .language-picker select {
  width: auto;
  flex: 1 1 auto;
}

.go-language select {
  width: 64px;
}

@media (max-width: 479px) {
  .go-head .language-picker {
    padding: 2px;
  }

  .go-head .language-picker select {
    width: 52px;
    padding-inline: 8px 22px;
  }
}

@media (max-width: 560px) {
  .auth-language select {
    width: min(110px, calc(100vw - 202px));
  }
}

@media (forced-colors: active) {
  .language-picker,
  .language-picker select,
  .language-picker button {
    border: 1px solid ButtonText;
    forced-color-adjust: auto;
  }
}

/* brand-palette.css */
/**
 * MEO Safety - backwards-compatible default palette.
 *
 * Named, immutable identities now live in brand-themes/*.css. This fallback
 * prevents an unpainted first frame before theme.js restores the saved choice.
 */
:root {
  --meo-brand-primary: #6e5367;
  --meo-brand-secondary: #c9a7a7;
}

/* brand-themes/meo-prune-rose-v1.css */
/**
 * MEO Safety — immutable colour identity: Prune & Rose, V1.
 * This file is append-only: publish a new -vN file instead of editing it.
 */
:root[data-brand-theme='meo-prune-rose-v1'] {
  --meo-brand-primary: #6e5367;
  --meo-brand-secondary: #c9a7a7;
  --meo-brand-on-primary: #ffffff;
  --meo-brand-on-action: #ffffff;
  --meo-brand-on-secondary: #3e2e3a;
  --meo-brand-logo-url: url('/assets/brand/oem/meo-logo-oem-6e5367-c9a7a7.svg?v=1');
  --meo-brand-mascot-url: url('/assets/brand/oem/meo-mascot-o-oem-6e5367-c9a7a7.svg?v=1');
}

/* brand-themes/meo-turquoise-navy-v1.css */
/**
 * MEO Safety — immutable colour identity: Turquoise & Navy, V1.
 * This file is append-only: publish a new -vN file instead of editing it.
 */
:root[data-brand-theme='meo-turquoise-navy-v1'] {
  --meo-brand-primary: #47bbd6;
  --meo-brand-secondary: #223452;
  --meo-brand-on-primary: #000000;
  --meo-brand-on-action: #000000;
  --meo-brand-on-secondary: #ffffff;
  --meo-brand-logo-url: url('/assets/brand/official/meo-logo.svg?v=1');
  --meo-brand-mascot-url: url('/assets/brand/oem/meo-mascot-o-oem-47bbd6-223452.svg?v=1');
}

/* brand-themes/meo-petroleum-orange-v1.css */
/**
 * MEO Safety — immutable colour identity: Bleu pétrole & orange · V1.
 * Generated as meo-petroleum-orange-v1; create a new -vN file instead of editing it.
 */
:root[data-brand-theme='meo-petroleum-orange-v1'] {
  --meo-brand-primary: #3f7482;
  --meo-brand-secondary: #ec7a44;
  --meo-brand-on-primary: #ffffff;
  --meo-brand-on-action: #ffffff;
  --meo-brand-on-secondary: #000000;
  --meo-brand-logo-url: url('/assets/brand/oem/meo-logo-oem-3f7482-ec7a44.svg?v=1');
  --meo-brand-mascot-url: url('/assets/brand/oem/meo-mascot-o-oem-3f7482-ec7a44.svg?v=1');
}

/* brand-theme.css */
/**
 * MEO Safety - canonical OEM/ODM theme.
 *
 * FR - Chaque identité versionnée fournit seulement deux couleurs et ses actifs.
 * Les variantes structurelles sont calculées ici sans réécrire cette feuille.
 * Les états de sécurité restent stables pour toutes les identités partenaires.
 * EN - Each versioned identity supplies only two colours and its assets.
 * Structural variants are calculated here without rewriting this stylesheet.
 * Safety states remain stable across every partner identity.
 */
@font-face {
  font-family: 'Lexend';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/Lexend-Vietnamese-Variable.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Lexend';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/Lexend-LatinExt-Variable.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lexend';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/Lexend-Latin-Variable.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* Named-theme inputs. Fallbacks prevent an unpainted frame while the saved
   * selection is restored from the closed local catalogue. */
  --brand-primary: var(--meo-brand-primary, #6e5367);
  --brand-secondary: var(--meo-brand-secondary, #c9a7a7);

  /* Calculated visual structure. Never replace these with copied hex values. */
  --brand-text: var(--meo-brand-reading, color-mix(in srgb, var(--brand-primary) 56%, black));
  --brand-background: color-mix(in srgb, var(--brand-secondary) 8%, white);
  --brand-surface: color-mix(in srgb, var(--brand-secondary) 2%, white);
  --brand-surface-tint: color-mix(in srgb, var(--brand-secondary) 7%, var(--brand-background));
  --brand-surface-strong: color-mix(in srgb, var(--brand-secondary) 15%, var(--brand-background));
  --brand-surface-emphasis: color-mix(in srgb, var(--brand-primary) 88%, black);
  --brand-surface-emphasis-strong: color-mix(in srgb, var(--brand-primary) 68%, black);
  --brand-surface-gradient: linear-gradient(145deg, var(--brand-surface), var(--brand-surface-tint));
  --brand-secondary-gradient: linear-gradient(145deg, var(--brand-secondary-soft), var(--brand-surface-strong));
  --brand-emphasis-gradient: linear-gradient(145deg, var(--brand-surface-emphasis), var(--brand-surface-emphasis-strong));
  --brand-alert: #d97706;
  --brand-alert-background: #fef3c7;
  --brand-positive: #2f7d52;
  --brand-positive-background: #e8f5ed;
  --brand-font: 'Lexend', 'Noto Sans', 'Noto Sans Devanagari', 'Noto Sans Greek', 'Inter', 'Open Sans', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --brand-logo-url: var(--meo-brand-logo-url, url('/assets/brand/oem/meo-logo-oem-6e5367-c9a7a7.svg?v=1'));
  --brand-mascot-url: var(--meo-brand-mascot-url, url('/assets/brand/oem/meo-mascot-o-oem-6e5367-c9a7a7.svg?v=1'));

  /* Derived automatically: partners never maintain copied RGB or dark values. */
  --brand-primary-rgb: from var(--brand-primary) r g b;
  --brand-secondary-rgb: from var(--brand-secondary) r g b;
  --brand-primary-dark: color-mix(in srgb, var(--brand-primary) 78%, black);
  --brand-primary-darker: color-mix(in srgb, var(--brand-primary) 62%, black);
  --brand-secondary-dark: color-mix(in srgb, var(--brand-secondary) 48%, black);
  --brand-secondary-hover: var(--meo-brand-secondary-hover, color-mix(in srgb, var(--brand-secondary) 82%, var(--brand-primary)));
  --brand-primary-soft: color-mix(in srgb, var(--brand-primary) 10%, var(--brand-background));
  --brand-secondary-soft: color-mix(in srgb, var(--brand-secondary) 18%, var(--brand-background));
  --brand-primary-border: color-mix(in srgb, var(--brand-primary) 42%, var(--brand-background));
  --brand-secondary-border: color-mix(in srgb, var(--brand-secondary) 38%, var(--brand-background));
  --brand-alert-dark: color-mix(in srgb, var(--brand-alert) 72%, black);
  --brand-muted: var(--meo-brand-reading-muted, color-mix(in srgb, var(--brand-text) 68%, white));
  --brand-line: color-mix(in srgb, var(--brand-primary) 18%, var(--brand-background));
  /* Complete semantic roles: every shell can be recoloured from the same two
   * inputs without copying a palette hex into component CSS. */
  --brand-reading: var(--meo-brand-reading, var(--brand-text));
  --brand-reading-muted: var(--meo-brand-reading-muted, var(--brand-muted));
  --brand-link: var(--meo-brand-link, var(--brand-primary-dark));
  --brand-link-hover: var(--meo-brand-link-hover, var(--brand-primary-darker));
  --brand-rail-background: var(--meo-brand-rail-background, color-mix(in srgb, var(--brand-primary) 58%, black));
  --brand-footer-background: var(--meo-brand-footer-background, color-mix(in srgb, var(--brand-primary) 42%, black));
  --brand-on-dark: var(--meo-brand-on-dark, white);
  --brand-on-dark-muted: var(--meo-brand-on-dark-muted, white);
  --brand-on-dark-accent: var(--meo-brand-on-dark-accent, white);
  --brand-dark-line: color-mix(in srgb, var(--brand-secondary) 22%, transparent);
  --brand-navigation-hover: var(--meo-brand-navigation-hover, color-mix(in srgb, var(--brand-secondary) 10%, var(--brand-rail-background)));
  --brand-navigation-active: var(--meo-brand-navigation-active, color-mix(in srgb, var(--brand-secondary) 18%, var(--brand-rail-background)));
  --brand-icon-surface: var(--brand-primary-soft);
  /* Tile and inline-SVG roles are derived once for every current and future
   * OEM identity. Semantic success, warning and danger variants opt out. */
  --brand-tile-surface: var(--meo-brand-tile-surface, color-mix(in srgb, var(--brand-secondary) 7%, var(--brand-surface)));
  --brand-tile-surface-hover: var(--meo-brand-tile-surface-hover, color-mix(in srgb, var(--brand-secondary) 13%, var(--brand-surface)));
  --brand-tile-border: color-mix(in srgb, var(--brand-primary) 24%, var(--brand-background));
  --brand-tile-shadow: 0 10px 28px color-mix(in srgb, var(--brand-primary) 11%, transparent);
  /* Reading is derived darker than primary-dark for bright OEM primaries;
   * this keeps monochrome tile glyphs at WCAG AA without palette exceptions. */
  --brand-tile-icon: var(--meo-brand-tile-icon, var(--brand-reading));
  --brand-tile-icon-surface: var(--meo-brand-tile-icon-surface, color-mix(in srgb, var(--brand-primary) 13%, var(--brand-surface)));
  --brand-tile-icon-border: color-mix(in srgb, var(--brand-primary) 26%, var(--brand-surface));
  --brand-tile-icon-emphasis: var(--brand-primary);
  --brand-tile-icon-on-emphasis: var(--brand-on-primary);
  --brand-action: var(--brand-primary);
  --brand-action-hover: var(--meo-brand-action-hover, var(--brand-primary-dark));
  --brand-on-primary: var(--meo-brand-on-primary, #ffffff);
  --brand-on-action: var(--meo-brand-on-action, var(--brand-on-primary));
  --brand-on-action-hover: var(--meo-brand-on-action-hover, var(--brand-on-action));
  --brand-on-secondary: var(--meo-brand-on-secondary, var(--brand-text));
  --brand-on-secondary-hover: var(--meo-brand-on-secondary-hover, var(--brand-on-secondary));
  --brand-heading: var(--meo-brand-heading, var(--brand-primary-dark));
  --brand-focus: var(--meo-brand-focus, var(--brand-primary-dark));
  --brand-cyan-halo: color-mix(in srgb, var(--brand-secondary) 18%, transparent);
  --brand-cold-shadow: 0 14px 36px color-mix(in srgb, var(--brand-primary) 16%, transparent);
  --brand-cold-shadow-soft: 0 6px 20px color-mix(in srgb, var(--brand-primary) 10%, transparent);
  --brand-focus-ring: 0 0 0 4px color-mix(in srgb, var(--brand-focus) 34%, transparent);

  /* Stable aliases keep PHP, PWA, Admin and React surfaces aligned. */
  --brand: var(--brand-primary) !important;
  --brand-dark: var(--brand-text) !important;
  --primary: var(--brand-primary) !important;
  --primary-dark: var(--brand-primary-dark) !important;
  --teal: var(--brand-primary) !important;
  --earth-action: var(--brand-action) !important;
  --mint2: var(--brand-primary) !important;
  --admin-earth: var(--brand-action) !important;
  --blog-accent: var(--brand-primary) !important;
  --blog-accent-dark: var(--brand-primary-dark) !important;

  --secondary: var(--brand-secondary) !important;
  --accent: var(--brand-secondary) !important;
  --success: var(--brand-positive) !important;
  --success-soft: var(--brand-positive-background) !important;
  --coral: var(--brand-alert-dark) !important;
  --apricot: var(--brand-secondary-soft) !important;
  --orange: var(--brand-secondary) !important;
  --warning: var(--brand-alert-dark) !important;
  --warning-soft: var(--brand-alert-background) !important;
  --alert-text: var(--brand-text);
  --alert-marker: var(--brand-alert);
  --alert-background: var(--brand-alert-background);
}

/* Accessibility-role completion for identities published before the v2 OEM
 * generator. The historical theme files remain immutable; future identities
 * receive the same roles directly in their own versioned stylesheet. */
:root[data-brand-theme='meo-prune-rose-v1'] {
  --meo-brand-reading:#3e2e3a;--meo-brand-reading-muted:#746971;--meo-brand-heading:#564150;
  --meo-brand-link:#564150;--meo-brand-link-hover:#443340;--meo-brand-on-action-hover:#ffffff;
  --meo-brand-on-secondary-hover:#3e2e3a;--meo-brand-secondary-hover:#b9989b;--meo-brand-focus:#6e5367;
  --meo-brand-rail-background:#493744;--meo-brand-navigation-hover:#5c4853;--meo-brand-navigation-active:#6a545e;
  --meo-brand-footer-background:#2e232b;--meo-brand-on-dark:#ffffff;--meo-brand-on-dark-muted:#ede1e1;--meo-brand-on-dark-accent:#d8c0c0;
  --meo-brand-tile-surface:#faf7f7;--meo-brand-tile-surface-hover:#f7f2f2;--meo-brand-tile-icon:#564150;--meo-brand-tile-icon-surface:#ebe7ea;
}
:root[data-brand-theme='meo-turquoise-navy-v1'] {
  --meo-brand-reading:#111111;--meo-brand-reading-muted:#545454;--meo-brand-heading:#111111;
  --meo-brand-link:#2c7485;--meo-brand-link-hover:#111111;--meo-brand-on-action-hover:#000000;
  --meo-brand-on-secondary-hover:#ffffff;--meo-brand-secondary-hover:#294c6a;--meo-brand-focus:#3792a7;
  --meo-brand-rail-background:#2f7b8d;--meo-brand-navigation-hover:#2d7084;--meo-brand-navigation-active:#2c697e;
  --meo-brand-footer-background:#1e4f5a;--meo-brand-on-dark:#ffffff;--meo-brand-on-dark-muted:#ffffff;--meo-brand-on-dark-accent:#ffffff;
  --meo-brand-tile-surface:#ecedf0;--meo-brand-tile-surface-hover:#dfe1e6;--meo-brand-tile-icon:#2c7485;--meo-brand-tile-icon-surface:#e4f3f7;
}
:root[data-brand-theme='meo-petroleum-orange-v1'] {
  --meo-brand-reading:#234149;--meo-brand-reading-muted:#4b636a;--meo-brand-heading:#315a65;
  --meo-brand-link:#315a65;--meo-brand-link-hover:#274851;--meo-brand-on-action-hover:#ffffff;
  --meo-brand-on-secondary-hover:#000000;--meo-brand-secondary-hover:#cd794f;--meo-brand-focus:#3f7482;
  --meo-brand-rail-background:#2a4d56;--meo-brand-navigation-hover:#475453;--meo-brand-navigation-active:#5c5951;
  --meo-brand-footer-background:#1a3137;--meo-brand-on-dark:#ffffff;--meo-brand-on-dark-muted:#f9d2bf;--meo-brand-on-dark-accent:#ffffff;
  --meo-brand-tile-surface:#fef3ee;--meo-brand-tile-surface-hover:#fdebe3;--meo-brand-tile-icon:#315a65;--meo-brand-tile-icon-surface:#e6eaeb;
}

/* Structural colours apply only in light mode. Explicit night mode keeps its
 * reviewed dark palette and therefore never receives dark text on dark cards. */
:root:not([data-theme='dark']) {
  --text: var(--brand-text) !important;
  --ink: var(--brand-text) !important;
  --ink-2: var(--brand-muted) !important;
  --muted: var(--brand-muted) !important;
  --background: var(--brand-background) !important;
  --bg: var(--brand-background) !important;
  --paper: var(--brand-background) !important;
  --surface-soft: var(--brand-background) !important;
  --soft: var(--brand-background) !important;
  --line: var(--brand-line) !important;
  --border: var(--brand-line) !important;
  --surface: var(--brand-surface) !important;
  --panel: var(--brand-surface) !important;
  --white: var(--brand-surface) !important;
  --shadow: var(--brand-cold-shadow) !important;
  --shadow-soft: var(--brand-cold-shadow-soft) !important;
  --sky: color-mix(in srgb, var(--brand-primary) 7%, var(--brand-background)) !important;
  /* Legacy PHP, Prototype and Superadmin aliases. They are deliberately kept
   * here instead of recolouring each historical stylesheet by hand. */
  --forest: var(--brand-rail-background) !important;
  --navy: var(--brand-primary-darker) !important;
  --panel: var(--brand-surface) !important;
  --prototype-footer-bg: var(--brand-footer-background) !important;
  --admin-ink: var(--brand-reading) !important;
  --admin-muted: var(--brand-reading-muted) !important;
  --admin-paper: var(--brand-background) !important;
  --admin-panel: var(--brand-surface) !important;
  --admin-navy: var(--brand-primary-darker) !important;
  --admin-sky: var(--brand-primary-soft) !important;
  --admin-line: var(--brand-line) !important;
  --admin-panel-border: 1px solid var(--brand-line) !important;
  --legal-ink: var(--brand-reading) !important;
  --legal-copy: var(--brand-reading-muted) !important;
  --legal-accent: var(--brand-primary) !important;
  --legal-accent-dark: var(--brand-primary-dark) !important;
  --legal-line: var(--brand-line) !important;
  --legal-paper: var(--brand-background) !important;
  --legal-white: var(--brand-surface) !important;
}

body,
button,
input,
select,
textarea {
  font-family: var(--brand-font) !important;
}

/* Route every standard light-surface reference through the reviewed coloured
 * SVG and version its URL so a palette update is visible immediately. */
img[src$='meo-logo.svg'],
img[src*='meo-logo.svg?'],
img[src$='MEO-logo.svg'],
img[src*='MEO-logo.svg?'],
img[src$='meo-logo-accessible.svg'],
img[src*='meo-logo-accessible.svg?'],
img[src*='/assets/brand/oem/meo-logo-oem-'] {
  content: var(--brand-logo-url);
}

/* Dark surfaces keep the same themed SVG source, then render it as a clean
 * white signature. The transparent lockup avoids the former white cartouche. */
.meo-lockup-on-dark {
  padding: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
  background: transparent !important;
}

.meo-lockup-on-dark > img {
  filter: brightness(0) invert(1) !important;
}

/* Keep the historic mascot untouched. The active OEM theme redirects image
 * and CSS-background consumers to its immutable palette-specific variant. */
img[src$='MEO-mascot-o.svg'],
img[src*='MEO-mascot-o.svg?'],
img[src*='/assets/brand/oem/meo-mascot-o-oem-'] {
  content: var(--brand-mascot-url);
}

:where(.pet-face,.pet-big,.pin,.onboard-art,.mini-mascot) {
  background-image: var(--brand-mascot-url) !important;
}

body {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.52;
}

:root:not([data-theme='dark']) body {
  color: var(--brand-text);
  background-color: var(--brand-background);
  background-image:
    radial-gradient(circle at 88% 4%, var(--brand-cyan-halo), transparent 24rem),
    linear-gradient(180deg, color-mix(in srgb, var(--brand-secondary) 5%, var(--brand-background)), var(--brand-background) 36rem);
  background-attachment: fixed;
}

/* Navy actions preserve strong white-text contrast on every viewport. */
:root:not([data-theme='dark']) :where(
  .public-cta,
  .public-newsletter button,
  .public-newsletter-dialog button[type='submit'],
  .public-cookie-save,
  .newsletter-flow-card button,
  .newsletter-flow-action,
  .price2 button,
  .price2-cta a,
  .price2-tracker a,
  .prototype-promo-dialog form button,
  .mk-live-offer > a,
  .mk-main-cta,
  .mk-tracker-presale > a,
  .auth-primary,
  .registration-card button[type='submit'],
  .contact-form button[type='submit'],
  .button.primary,
  .button[data-variant='primary'],
  .app-back-to-top,
  .back-top
) {
  color: var(--brand-on-action) !important;
  background: var(--brand-action) !important;
  border-color: var(--brand-action) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--brand-primary) 22%, transparent) !important;
}

:root:not([data-theme='dark']) :where(
  .public-cta,
  .public-newsletter button,
  .price2 button,
  .price2-cta a,
  .mk-main-cta,
  .mk-tracker-presale > a,
  .auth-primary,
  .registration-card button[type='submit'],
  .contact-form button[type='submit'],
  .button.primary,
  .button[data-variant='primary']
):hover {
  color: var(--brand-on-action-hover) !important;
  background: var(--brand-action-hover) !important;
  border-color: var(--brand-action-hover) !important;
}

:root:not([data-theme='dark']) :where(.status-success,.toast-success,.is-success,[data-status='success']) {
  color: var(--brand-text) !important;
  border-color: var(--brand-primary) !important;
  background: var(--brand-positive-background) !important;
}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid var(--brand-focus) !important;
  outline-offset: 3px;
  box-shadow: var(--brand-focus-ring) !important;
}

/* Calm structure: subtly pink surfaces, prune borders and diffuse shadows. */
:root:not([data-theme='dark']) :where(
  .card,
  .auth-card,
  .registration-card,
  .settings-panel,
  .settings-hub-content,
  .metric-card,
  .plan,
  .blog-latest-card,
  .blog-article-shell,
  .legal-card,
  .public-newsletter-dialog,
  .modal-content,
  .drawer
):not(.dark) {
  border-color: var(--brand-line) !important;
  background-color: var(--brand-surface-tint) !important;
  box-shadow: var(--brand-cold-shadow-soft) !important;
}

/* Selected navigation and primary actions use the deep prune identity. */
:root:not([data-theme='dark']) :where(
  .segment.active,
  .settings-hub-nav button.active,
  .settings-hub-nav a.active,
  .public-menu-links a[aria-current='page'],
  .tabs [aria-selected='true'],
  .rail-button.active,
  .bottom-nav a.active,
  .mobile-bottom-nav a.active
) {
  color: var(--brand-on-primary) !important;
  background: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

:root:not([data-theme='dark']) :where(
  .settings-hub-nav svg,
  .metric-card svg,
  .telemetry-gauge svg,
  .public-feature svg,
  .feature-icon,
  .card-icon
) {
  color: var(--brand-primary);
}

/* Important badges use the powdered-rose emotional accent. */
:root:not([data-theme='dark']) :where(.badge-accent,.tag-accent,.pill-accent,.is-important) {
  color: var(--brand-text) !important;
  border-color: var(--brand-secondary-border) !important;
  background: var(--brand-secondary-soft) !important;
}

/* Secondary actions stay visibly actionable without competing with the main
 * CTA. Dark prune text preserves AA contrast on powdered rose. */
:root:not([data-theme='dark']) :where(
  .button.secondary,
  .button[data-variant='secondary'],
  .auth-secondary,
  .public-signin,
  .secondary-action,
  .tracking-pause-toggle
) {
  color: var(--brand-on-secondary) !important;
  background: var(--brand-secondary) !important;
  border-color: var(--brand-secondary) !important;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--brand-primary) 12%, transparent) !important;
}

:root:not([data-theme='dark']) :where(
  .button.secondary,
  .button[data-variant='secondary'],
  .auth-secondary,
  .public-signin,
  .secondary-action,
  .tracking-pause-toggle
):hover {
  color: var(--brand-on-secondary-hover) !important;
  background: var(--brand-secondary-hover) !important;
  border-color: var(--brand-primary-border) !important;
}

:root:not([data-theme='dark']) :where(h1,h2,h3,.page-title,.section-title) {
  color: var(--brand-heading);
}

:root:not([data-theme='dark']) :where(input,select,textarea) {
  color: var(--brand-text);
  border-color: var(--brand-line);
  background: var(--brand-surface);
}

/* Orange is a marker, never the low-contrast paragraph colour on butter. */
:root:not([data-theme='dark']) :where(.alert, .warning, .auth-alert, [role='alert']) {
  color: var(--alert-text) !important;
  border-color: var(--alert-marker) !important;
  background-color: var(--alert-background) !important;
}

@media (max-width: 480px) {
  body { font-size: 15px; }
}

/* Professional typography hierarchy
 *
 * Lexend has a generous visual footprint: moderate sizes and weights create
 * more authority than oversized, ultra-bold copy. The scale below keeps one
 * clear editorial focus while making controls and supporting information calm.
 */
:where(h1,h2,h3,h4,h5,h6){font-weight:520!important;text-wrap:balance}
:where(h1,h2){letter-spacing:-.035em!important}
:where(h3,h4,h5,h6){letter-spacing:-.018em!important}
:where(p,li,dd,dt,small){font-weight:400}
:where(strong,b){font-weight:550}
:where(button,[role='button'],.button,summary,label,nav a){font-weight:520!important}
:where(.eyebrow,.kicker,.mk-kicker,.step-label,.legal-kicker,.settings-nav-kicker){font-size:.6875rem!important;font-weight:550!important;letter-spacing:.09em!important}

/* Marketing and editorial headings: confident, never billboard-sized. */
:where(.mk-hero,.mk-page-hero,.mk-product-hero-copy,.coverage-hero,.pricing-intro,.ulule-page) h1{
  font-size:calc(clamp(2.25rem,3.8vw,3.55rem) - 0.1667rem)!important;
  font-weight:540!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
}
:where(.mk-section-head,.mk-how,.mk-benelux,.mk-privacy,.mk-final,.mk-editorial-head,.mk-tracker-copy) h2{
  font-size:calc(clamp(1.75rem,2.8vw,2.65rem) - 0.1667rem)!important;
  font-weight:530!important;
  line-height:1.08!important;
  letter-spacing:-.034em!important;
}
:where(.mk-feature,.mk-editorial-card,.mk-tracker-facts,.tracker-purchase,.plan,.coverage-scale) h3{
  font-size:calc(clamp(1.1rem,1.5vw,1.45rem) - 0.1667rem)!important;
  font-weight:520!important;
  line-height:1.22!important;
}
:where(.mk-hero-copy>p,.mk-page-hero>p,.mk-page-hero p,.mk-editorial-head p,.mk-product-hero-copy>p,.coverage-hero p){
  font-size:clamp(.925rem,1vw,1rem)!important;
  line-height:1.58!important;
}

/* Blog, legal and authentication pages use a quieter reading scale. */
:where(.blog-hero,.blog-article-shell,.legal-hero) h1{
  font-size:calc(clamp(1.9rem,3.2vw,2.9rem) - 0.1667rem)!important;
  font-weight:540!important;
  line-height:1.06!important;
  letter-spacing:-.036em!important;
}
:where(.article-lead,.blog-article-shell>article>header p,.legal-hero-inner>p){font-size:1rem!important;line-height:1.6!important}
:where(.article-body,.blog-content,.legal-section-body){font-size:.98rem!important;line-height:1.64!important}
.auth-story h1{font-size:calc(clamp(2.2rem,4vw,2.95rem) - 0.1667rem)!important;font-weight:540!important;line-height:1.07!important;letter-spacing:-.035em!important}
.auth-card h2{font-size:calc(1.35rem - 0.1667rem)!important;font-weight:530!important;line-height:1.2!important}
:where(.auth-story>p,.auth-card>p){font-size:.95rem!important;line-height:1.55!important}

/* Product UI, dashboard and administrative surfaces. */
:where(.page-head,.settings-page>.page-head,.pet-hub-page>.page-head) h1{
  font-size:calc(clamp(1.55rem,2vw,1.95rem) - 0.1667rem)!important;
  font-weight:540!important;
  line-height:1.1!important;
  letter-spacing:-.032em!important;
}
:where(.page-head,.settings-section-head,.section-title)>p{font-size:.92rem!important;line-height:1.5!important}
:where(.card,.settings-hub-content,.settings-panel,.drawer,.modal-body){font-weight:400}
:where(.card,.settings-hub-content,.settings-panel,.drawer,.modal-body) :where(h2,h3,h4,strong,b){font-weight:520!important}
:where(.button,.segment,.rail-button,.rail-action,.notification-button,.settings-hub-nav button,.auth-primary,.auth-secondary,.auth-provider,.auth-login-tab,.public-cta,.public-primary a,.public-signin,.menu-button,.public-menu-toggle,.public-quick-menu,.public-cookie-link,.public-newsletter button,.language-picker-trigger,.public-menu-links>a,.public-menu-actions>a,.public-preference-action,.public-preferences-dock button,.public-preferences-dock select){
  font-size:.84375rem!important;
  font-weight:520!important;
  letter-spacing:-.005em;
}
:where(.button,.notification-button,.settings-hub-nav button,.auth-primary,.auth-secondary,.auth-provider,.public-cta,.public-primary a,.public-signin,.menu-button,.public-menu-links>a,.public-menu-actions>a,.public-preference-action){
  min-height:2.625rem!important;
  padding:.55rem .875rem!important;
  border-radius:.75rem!important;
  line-height:1.2!important;
}
:where(.segment,.auth-login-tab){min-height:2.25rem!important;padding:.45rem .7rem!important;line-height:1.15!important}
.public-header :where(nav a,.public-signin,.public-menu-links>a,.public-menu-actions>a){font-size:.84375rem!important;font-weight:500!important}
.public-dialog h2{font-size:clamp(1.3rem,2vw,1.6rem)!important;font-weight:530!important;line-height:1.15!important}
:where(.status,.tag,.badge,.pill,.live-status,.notification-badge){font-weight:540!important}
:where(.telemetry-gauge,.metric-card,.window-metrics,.battery-reading,.subscription-price,.price-summary) strong{font-weight:580!important}
:where(.telemetry-gauge,.metric-card,.window-metrics,.overview-window-card,.overview-status-card,.battery-reading) :where(span,b,small){font-weight:500!important}

@media(max-width:560px){
  :where(.mk-hero,.mk-page-hero,.mk-product-hero-copy,.coverage-hero,.pricing-intro,.ulule-page) h1{font-size:calc(clamp(1.85rem,8.2vw,2.35rem) - 0.1667rem)!important}
  :where(.mk-section-head,.mk-how,.mk-benelux,.mk-privacy,.mk-final,.mk-editorial-head,.mk-tracker-copy) h2{font-size:calc(clamp(1.55rem,6.5vw,2rem) - 0.1667rem)!important}
  :where(.blog-hero,.blog-article-shell,.legal-hero) h1{font-size:calc(clamp(1.75rem,7.5vw,2.2rem) - 0.1667rem)!important}
  .auth-story h1{font-size:calc(clamp(1.95rem,8.2vw,2.35rem) - 0.1667rem)!important}
  .auth-card h2{font-size:calc(1.25rem - 0.1667rem)!important}
  :where(.page-head,.settings-page>.page-head,.pet-hub-page>.page-head) h1{font-size:calc(clamp(1.5rem,6.3vw,1.75rem) - 0.1667rem)!important}
  :where(.button,.notification-button,.settings-hub-nav button,.auth-primary,.auth-secondary,.auth-provider,.public-cta,.public-primary a,.public-signin,.menu-button,.public-menu-actions>a,.public-preference-action){min-height:2.75rem!important}
}

/* Product page: compact professional type scale for Lexend. */
body.mk-page-product{font-size:.9rem!important}
body.mk-page-product .mk-product-hero-copy h1{font-size:calc(clamp(2.1rem,3.7vw,3.15rem) - 0.1667rem)!important;font-weight:540!important;line-height:1.05!important;letter-spacing:-.038em!important}
body.mk-page-product :is(.mk-section-head,.mk-privacy,.mk-final,.mk-ufoundme) h2{font-size:calc(clamp(1.55rem,2.3vw,2.2rem) - 0.1667rem)!important;font-weight:530!important;line-height:1.12!important;letter-spacing:-.03em!important}
body.mk-page-product :is(.mk-feature,.mk-tracker-facts) h3{font-size:max(16px, calc(clamp(1rem,1.15vw,1.2rem) - 0.1667rem))!important;font-weight:520!important;line-height:1.25!important}
body.mk-page-product :is(.mk-product-pain,.mk-product-proof,.mk-privacy,.mk-final) :is(p,li,small,span){font-size:.9rem!important;line-height:1.58!important}
body.mk-page-product .mk-tracker-facts article strong{font-size:.94rem!important;font-weight:540!important;line-height:1.35!important}
body.mk-page-product .mk-tracker-presale>strong{font-size:clamp(1.1rem,1.4vw,1.35rem)!important;font-weight:560!important}
body.mk-page-product .mk-tracker-presale>:is(p,small){font-size:.875rem!important}
body.mk-page-product :is(.mk-main-cta,.mk-text-link,.mk-tracker-presale>a){font-size:.84375rem!important;font-weight:520!important}
@media(max-width:560px){body.mk-page-product .mk-product-hero-copy h1{font-size:calc(clamp(1.9rem,8vw,2.25rem) - 0.1667rem)!important}body.mk-page-product :is(.mk-section-head,.mk-privacy,.mk-final,.mk-ufoundme) h2{font-size:calc(clamp(1.45rem,6.4vw,1.85rem) - 0.1667rem)!important}body.mk-page-product .mk-product-hero-copy>p{font-size:.9375rem!important}}

.meo-powered-by {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: inherit;
  font-size: .625rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
  opacity: .82;
}

.meo-powered-by > span { white-space: nowrap; }

.meo-powered-by > img {
  display: block;
  width: auto;
  height: 1.25rem;
  max-width: 2.4rem;
  object-fit: contain;
}

.meo-footer-signature {
  width: min(calc(100% - 48px), 1360px);
  margin: 18px auto 0;
  padding-top: 18px;
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  border-top: 1px solid rgb(255 255 255 / .12);
  color: rgb(255 255 255 / .72);
}

.meo-footer-signature .meo-powered-by--footer {
  gap: .65rem;
  font-size: .6875rem;
  opacity: 1;
}

.meo-footer-signature .meo-powered-by--footer > img {
  width: auto;
  min-width: 72px;
  max-width: 96px;
  height: 2.15rem;
}

@media (max-width: 560px) {
  .meo-footer-signature {
    width: calc(100% - 32px);
    justify-content: flex-start;
  }
}

/* Text fallback retained for the authentication card. */
.meo-powered-by strong {
  font-weight: 850;
  letter-spacing: 0;
  text-transform: none;
}

.auth-card > .meo-powered-by {
  display: flex;
  justify-content: center;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--border, color-mix(in srgb, var(--brand-primary) 18%, white));
  color: var(--muted, inherit);
}

/* Secondary text remains AA-readable on light surfaces. */
:where(.eyebrow, .kicker, .step-label, .mk-kicker, .price2-hero > span, .price2-simulator header span) {
  color: var(--brand-secondary-dark) !important;
}

/* On dark surfaces the exact secondary colour has ample contrast. */
:where(.public-footer, .auth-footer, .app-rail, .admin-sidebar, [data-theme="dark"])
  :where(.eyebrow, .kicker, .step-label, .mk-kicker) {
  color: var(--brand-on-dark-accent) !important;
}

/* Full OEM shell coverage -------------------------------------------------
 * These selectors deliberately live at the end of the canonical theme: the
 * theme endpoint is loaded after legacy, prototype and React stylesheets. */
:root:not([data-theme='dark']) :where(body, main, .app-main, .admin-main, .superadmin-main) {
  color: var(--brand-reading);
}

:root:not([data-theme='dark']) :where(
  .lead,
  .page-head > p,
  .section-heading > p,
  .settings-section-head > p,
  .card > p,
  .settings-panel > p,
  .help-card > p,
  .legal-card > p
) {
  color: var(--brand-reading-muted);
}

:root:not([data-theme='dark']) :where(main, .app-main, .admin-main, .superadmin-main)
  a:not(.button):not([class*='primary']):not([aria-current='page']) {
  color: var(--brand-link);
}

:root:not([data-theme='dark']) :where(main, .app-main, .admin-main, .superadmin-main)
  a:not(.button):not([class*='primary']):not([aria-current='page']):hover {
  color: var(--brand-link-hover);
}

:root:not([data-theme='dark']) :where(.app-rail, .rail, .admin-sidebar, .sidebar, .side-nav) {
  color: var(--brand-on-dark) !important;
  background: var(--brand-rail-background) !important;
  border-color: var(--brand-dark-line) !important;
}

:root:not([data-theme='dark']) :where(.app-rail, .rail, .admin-sidebar, .sidebar, .side-nav)
  :where(a, button, .rail-button, .rail-action, .nav-item) {
  color: var(--brand-on-dark-muted) !important;
  border-color: transparent !important;
}

:root:not([data-theme='dark']) .admin-sidebar :where(.admin-nav-block, .admin-sidebar-identity) {
  color: var(--brand-on-dark-muted) !important;
  background: transparent !important;
  border-color: var(--brand-dark-line) !important;
}

:root:not([data-theme='dark']) :where(.mobile-menu-open .rail, .mobile-menu-open.rail-expanded .rail) {
  color: var(--brand-on-dark) !important;
  background: var(--brand-rail-background) !important;
}

:root:not([data-theme='dark']) :where(.app-rail, .rail, .admin-sidebar, .sidebar, .side-nav)
  :where(a, button, .rail-button, .rail-action, .nav-item):hover {
  color: var(--brand-on-dark) !important;
  background: var(--brand-navigation-hover) !important;
}

:root:not([data-theme='dark']) :where(
  .rail-nav a.active,
  .rail-nav a[aria-current='page'],
  .rail-button.active,
  .admin-sidebar a.active,
  .admin-sidebar a[aria-current='page'],
  .sidebar a.active,
  .side-nav a.active
) {
  color: var(--brand-on-dark) !important;
  background: var(--brand-navigation-active) !important;
  box-shadow: inset 3px 0 0 var(--brand-on-dark-accent) !important;
}

:root:not([data-theme='dark']) :where(.public-footer, .app-footer, .site-footer, .auth-footer, .admin-footer, .superadmin-footer) {
  color: var(--brand-on-dark) !important;
  background: var(--brand-footer-background) !important;
  border-color: var(--brand-dark-line) !important;
}

:root:not([data-theme='dark']) :where(.public-footer, .app-footer, .site-footer, .auth-footer, .admin-footer, .superadmin-footer)
  :where(p, span, small, address, dd, dt, li, label, .muted, .app-footer-legal) {
  color: var(--brand-on-dark-muted) !important;
}

:root:not([data-theme='dark']) :where(.public-footer, .app-footer, .site-footer, .auth-footer, .admin-footer, .superadmin-footer)
  :where(h2, h3, h4, strong, b) {
  color: var(--brand-on-dark) !important;
}

:root:not([data-theme='dark']) :where(.public-footer, .app-footer, .site-footer, .auth-footer, .admin-footer, .superadmin-footer)
  :where(a, button:not([type='submit'])) {
  color: var(--brand-on-dark-accent) !important;
}

:root:not([data-theme='dark']) :where(.public-footer, .app-footer, .site-footer, .auth-footer, .admin-footer, .superadmin-footer)
  :where(a, button:not([type='submit'])):hover {
  color: var(--brand-on-dark) !important;
}

:root:not([data-theme='dark']) :where(
  .public-footer-share,
  .public-footer-publisher,
  .meo-footer-signature,
  .app-footer-legal,
  .site-footer hr
) {
  border-color: var(--brand-dark-line) !important;
}

:root:not([data-theme='dark']) :where(.public-footer-share button, .public-footer-share a, .app-footer-social a) {
  color: var(--brand-on-dark) !important;
  border-color: var(--brand-dark-line) !important;
  background: var(--brand-navigation-hover) !important;
}

/* Complete surface recolouring -------------------------------------------
 * Component styles may keep their historical geometry, but their flat fills,
 * cards, type, actions and footers must consume the semantic OEM roles. The
 * selectors intentionally exclude semantic success/warning/danger states. */
:root:not([data-theme='dark']) :where(main, .app-main, .admin-main, .superadmin-main) :where(
  .card,
  [class$='-card'],
  [class*='-card '],
  [class$='-panel'],
  [class*='-panel '],
  [class$='-tile'],
  [class*='-tile '],
  [class$='-box'],
  [class*='-box ']
):not(.dark):not(.is-featured):not(.alert):not(.warning):not(.danger):not(.is-success):not(.is-available):not(.is-warning):not(.is-critical):not(.is-unavailable):not([data-tone='dark']):not([data-status]) {
  color: var(--brand-reading) !important;
  border-color: var(--brand-tile-border) !important;
  background-color: var(--brand-tile-surface) !important;
  box-shadow: var(--brand-tile-shadow) !important;
}

/* Every visible tile icon follows the active OEM identity. The supported icon
 * system uses inline SVG with currentColor, so geometry stays untouched while
 * stroke and intentional filled shapes inherit the semantic tile role. */
:root:not([data-theme='dark']) :where(
  .tile-icon,
  .card-icon,
  .settings-card-icon,
  .setting-tile > span:first-child,
  .settings-tile > span:first-child,
  .summary-icon,
  .metric-icon,
  .telemetry-icon,
  .billing-summary-icon,
  .contact-card-icon,
  .onboarding-feature-icon,
  .event-icon,
  .safe-icon,
  .checkout-product-icon
):not(.is-success):not(.is-available):not(.is-warning):not(.is-critical):not(.is-unavailable):not([data-status]) {
  color: var(--brand-tile-icon) !important;
  border-color: var(--brand-tile-icon-border) !important;
  background: var(--brand-tile-icon-surface) !important;
}

:root:not([data-theme='dark']) :where(
  .tile-icon,
  .card-icon,
  .settings-card-icon,
  .setting-tile > span:first-child,
  .settings-tile > span:first-child,
  .summary-icon,
  .metric-icon,
  .telemetry-icon,
  .billing-summary-icon,
  .contact-card-icon,
  .onboarding-feature-icon,
  .event-icon,
  .safe-icon,
  .checkout-product-icon
):not(.is-success):not(.is-available):not(.is-warning):not(.is-critical):not(.is-unavailable):not([data-status]) svg {
  color: inherit !important;
  stroke: currentColor;
}

:root:not([data-theme='dark']) :where(
  .tile-icon,
  .card-icon,
  .settings-card-icon,
  .setting-tile > span:first-child,
  .settings-tile > span:first-child,
  .summary-icon,
  .metric-icon,
  .telemetry-icon,
  .billing-summary-icon,
  .contact-card-icon,
  .onboarding-feature-icon,
  .event-icon,
  .safe-icon,
  .checkout-product-icon
) svg [fill='currentColor'] {
  fill: currentColor !important;
}

/* Legacy tiles that still reference a local SVG through <img> cannot inherit
 * currentColor across the document boundary. Their icon surface therefore
 * uses the derived dark brand role and the monochrome asset is rendered white. */
:root:not([data-theme='dark']) :where(
  .tile-icon,
  .card-icon,
  .settings-card-icon,
  .setting-tile > span:first-child,
  .settings-tile > span:first-child,
  .summary-icon,
  .metric-icon,
  .billing-summary-icon,
  .contact-card-icon,
  .onboarding-feature-icon,
  .event-icon,
  .safe-icon,
  .checkout-product-icon
):not(.is-success):not(.is-available):not(.is-warning):not(.is-critical):not(.is-unavailable):not([data-status]):has(> img[src$='.svg'], > img[src*='.svg?']) {
  color: var(--brand-on-dark) !important;
  background: var(--brand-surface-emphasis) !important;
}

:root:not([data-theme='dark']) :where(
  .tile-icon,
  .card-icon,
  .settings-card-icon,
  .setting-tile > span:first-child,
  .settings-tile > span:first-child,
  .summary-icon,
  .metric-icon,
  .billing-summary-icon,
  .contact-card-icon,
  .onboarding-feature-icon,
  .event-icon,
  .safe-icon,
  .checkout-product-icon
):not(.is-success):not(.is-available):not(.is-warning):not(.is-critical):not(.is-unavailable):not([data-status]) > img[src$='.svg'],
:root:not([data-theme='dark']) :where(
  .tile-icon,
  .card-icon,
  .settings-card-icon,
  .setting-tile > span:first-child,
  .settings-tile > span:first-child,
  .summary-icon,
  .metric-icon,
  .billing-summary-icon,
  .contact-card-icon,
  .onboarding-feature-icon,
  .event-icon,
  .safe-icon,
  .checkout-product-icon
):not(.is-success):not(.is-available):not(.is-warning):not(.is-critical):not(.is-unavailable):not([data-status]) > img[src*='.svg?'] {
  filter: brightness(0) invert(1) !important;
}

:root:not([data-theme='dark']) :where(
  .tile-icon.is-emphasis,
  .card-icon.is-emphasis,
  .settings-card-icon.is-emphasis,
  .summary-icon.is-emphasis,
  .billing-summary-icon.is-emphasis,
  .contact-card-icon.is-emphasis
) {
  color: var(--brand-tile-icon-on-emphasis) !important;
  background: var(--brand-tile-icon-emphasis) !important;
}

@media (hover: hover) {
  :root:not([data-theme='dark']) :where(
    [class$='-tile'],
    [class*='-tile ']
  ):not(.alert):not(.warning):not(.danger):not(.is-success):not(.is-available):not(.is-warning):not(.is-critical):not(.is-unavailable):not([data-status]):hover {
    background-color: var(--brand-tile-surface-hover) !important;
  }
}

:root:not([data-theme='dark']) :where(main, .app-main, .admin-main, .superadmin-main) :where(
  .card,
  [class$='-card'],
  [class*='-card '],
  [class$='-panel'],
  [class*='-panel '],
  [class$='-tile'],
  [class*='-tile ']
):not(.dark):not(.is-featured):not(.alert):not(.warning):not(.danger):not(.is-success):not(.is-available):not(.is-warning):not(.is-critical):not(.is-unavailable):not([data-tone='dark']):not([data-status])
  :where(h1, h2, h3, h4, h5, h6, strong, b) {
  color: var(--brand-heading) !important;
}

:root:not([data-theme='dark']) :where(main, .app-main, .admin-main, .superadmin-main) :where(
  .card,
  [class$='-card'],
  [class*='-card '],
  [class$='-panel'],
  [class*='-panel '],
  [class$='-tile'],
  [class*='-tile ']
):not(.dark):not(.is-featured):not(.alert):not(.warning):not(.danger):not(.is-success):not(.is-available):not(.is-warning):not(.is-critical):not(.is-unavailable):not([data-tone='dark']):not([data-status])
  :where(p, li, dd, dt, small, .muted) {
  color: var(--brand-reading-muted) !important;
}

/* Marketing colour cards are explicit because their legacy backgrounds are
 * gradients and therefore cannot be replaced by background-color alone. */
:root:not([data-theme='dark']) :where(
  .mk-feature.light,
  .mk-product-hero,
  .mk-product-pain,
  .mk-product-proof,
  .mk-privacy,
  .price-option-card,
  .subscription-price-card,
  .tracker-price-card,
  .tracker-offer-price
) {
  color: var(--brand-reading) !important;
  border-color: var(--brand-line) !important;
  background: var(--brand-surface-gradient) !important;
}

:root:not([data-theme='dark']) :where(
  .mk-feature.earth,
  .mk-final,
  .final-cta,
  .price2-simulator,
  .price2-comparison,
  .plan.recommended,
  .plan-card.is-highlighted,
  .subscription-plan-card.is-highlighted
) {
  color: var(--brand-reading) !important;
  border-color: var(--brand-secondary-border) !important;
  background: var(--brand-secondary-gradient) !important;
}

:root:not([data-theme='dark']) :where(
  .mk-feature.dark,
  .mk-editorial,
  .mk-ufoundme,
  .shop-card.is-featured,
  .admin-card,
  [data-tone='dark']
) {
  color: var(--brand-on-dark) !important;
  border-color: var(--brand-dark-line) !important;
  background: var(--brand-emphasis-gradient) !important;
}

:root:not([data-theme='dark']) :where(
  .mk-feature.dark,
  .mk-editorial,
  .mk-ufoundme,
  .shop-card.is-featured,
  .admin-card,
  [data-tone='dark']
) :where(h1, h2, h3, h4, h5, h6, strong, b) {
  color: var(--brand-on-dark) !important;
}

:root:not([data-theme='dark']) :where(
  .mk-feature.dark,
  .mk-editorial,
  .mk-ufoundme,
  .shop-card.is-featured,
  .admin-card,
  [data-tone='dark']
) :where(p, li, dd, dt, small, .muted) {
  color: var(--brand-on-dark-muted) !important;
}

/* Shared secondary controls and the floating preference card also follow the
 * palette. Destructive actions keep their dedicated danger semantics. */
:root:not([data-theme='dark']) :where(
  .menu-button,
  .public-preference-action,
  .public-preferences-dock select,
  .public-preferences-dock .global-market,
  .public-preferences-dock .global-language,
  .button.secondary,
  .button[data-variant='secondary']
) {
  color: var(--brand-reading) !important;
  border-color: var(--brand-secondary-border) !important;
  background: var(--brand-secondary-soft) !important;
}

:root:not([data-theme='dark']) :where(.public-preferences-dock, .global-preferences) {
  color: var(--brand-reading) !important;
  border-color: var(--brand-line) !important;
  background: color-mix(in srgb, var(--brand-surface) 94%, transparent) !important;
  box-shadow: var(--brand-cold-shadow-soft) !important;
}

:root:not([data-theme='dark']) :where(
  .button:not(.secondary):not([data-variant='secondary']):not(.danger):not([data-variant='danger']),
  .tracker-buy-button,
  .plan-cta,
  .checkout-button,
  .skip-link
) {
  color: var(--brand-on-action) !important;
  border-color: var(--brand-action) !important;
  background: var(--brand-action) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--brand-primary) 22%, transparent) !important;
}

/* Final interaction fence: legacy component sheets may still declare white
 * hover text. These selectors execute after them and bind every common action
 * family to its independently calculated normal and hover foreground. */
:root:not([data-theme='dark']) :where(
  .button:not(.secondary):not(.button-secondary):not([data-variant='secondary']):not(.danger):not([data-variant='danger']),
  .auth-button:not(.secondary), .public-pwa-install, .calculator-submit,
  .family-primary, .family-invite button, .tracker-buy-button, .plan-cta,
  .checkout-button, .skip-link
):hover {
  color: var(--brand-on-action-hover) !important;
  border-color: var(--brand-action-hover) !important;
  background: var(--brand-action-hover) !important;
}

:root:not([data-theme='dark']) :where(
  .button-secondary, .auth-button.secondary, .family-secondary
) {
  color: var(--brand-reading) !important;
  border-color: var(--brand-secondary-border) !important;
  background: var(--brand-secondary-soft) !important;
}

:root:not([data-theme='dark']) :where(
  .button-secondary, .auth-button.secondary, .family-secondary
):hover {
  color: var(--brand-on-secondary-hover) !important;
  border-color: var(--brand-primary-border) !important;
  background: var(--brand-secondary-hover) !important;
}

:root:not([data-theme='dark']) :where(
  .auth-login-tab.is-active,
  .public-primary a.active,
  .public-primary a[aria-current='page'],
  .calculator-plan-options input:checked + span
) {
  color: var(--brand-on-primary) !important;
  border-color: var(--brand-primary) !important;
  background: var(--brand-primary) !important;
}

/* Every footer shell, including the prototype and public launch variants,
 * receives the same derived background and on-dark typography. */
:root:not([data-theme='dark']) :where(
  .prototype-footer,
  .public-footer,
  .app-footer,
  .site-footer,
  .auth-footer,
  .admin-footer,
  .superadmin-footer,
  .newsletter-flow-footer
) {
  color: var(--brand-on-dark) !important;
  border-color: var(--brand-dark-line) !important;
  background: var(--brand-footer-background) !important;
}

/* Versioned identity selector. It is a single two-choice control so colour
 * identity remains distinct from the adjacent day/night and readability tools. */
.brand-theme-picker {
  min-width: 10rem;
  display: grid;
  gap: .2rem;
  color: var(--brand-reading);
}

.brand-theme-picker > span {
  color: var(--brand-reading-muted);
  font-size: .625rem;
  font-weight: 650;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.brand-theme-picker select {
  width: 100%;
  min-height: 2.65rem;
  padding: 0 2rem 0 .75rem;
  border: 1px solid var(--brand-line);
  border-radius: .75rem;
  color: var(--brand-reading);
  background: var(--brand-surface-tint);
  font: inherit;
  font-size: .75rem;
  font-weight: 550;
}

.brand-theme-picker--compact {
  align-self: center;
}

@media (max-width: 560px) {
  .brand-theme-picker--compact {
    width: 100%;
    min-width: 0;
  }
}
