@layer tokens, base, components, responsive, overrides, utilities;
@layer tokens {
/* source: official-theme.css */
/**
 * @file Presentation layer for official theme.
 *
 * Mobile-first responsive styling only; preserve touch targets, fluid containment and the seven-breakpoint contract.
 */

/**
 * UFoundMe! official visual identity.
 * This is the single production theme. Components consume these tokens only.
 */
:root{
  --ufm-brand-primary:#4b3575;
  --ufm-brand-secondary:#251a3d;
  --ufm-brand-coral:#ff704d;
  --ufm-brand-apricot:#ffb36b;
  --ufm-ink:#171327;
  --ufm-icon-color:#333333;
  --ufm-cream:#faf8fc;
  --ufm-primary-soft:#eee9f6;
  --ufm-secondary-soft:#e2daf0;
  --ufm-brand-gradient:linear-gradient(135deg,#5b4388,#251a3d);
  --theme-a:#4b3575;
  --theme-b:#251a3d;
  --coral:#4b3575;
  --orange:#4b3575;
  --brand-primary:#4b3575;
  --earth-action:#251a3d;
  --ufm-weight-regular:400;
  --ufm-weight-medium:500;
  --ufm-weight-semibold:590;
  --ufm-weight-heading:620;
  --ufm-shadow-raised:0 6px 18px rgba(37,26,61,.07);
  --ufm-shadow-overlay:0 16px 42px rgba(37,26,61,.16);
}

/* One neutral icon contract across public, account and Studio surfaces.
   Brand marks, flags, photos and illustrations are intentionally excluded. */
:where(button,a,summary,[role="button"]) > :where(svg,i),
:where(.ufm-icon,.icon-glyph){
  color:var(--ufm-icon-color);
}

:where(button,a,summary,[role="button"]) > svg{
  fill:currentColor;
}

/* Professional editorial calibration — v1.32.
   UFoundMe! stays playful through colour, illustration and rounded geometry;
   hierarchy now comes from rhythm and contrast rather than heavy type/shadows. */
body{font-weight:var(--ufm-weight-regular)}
body :is(h1,h2,h3,h4){font-weight:var(--ufm-weight-heading)}
body :is(p,li,dd,dt,small,label,input,select,textarea){font-weight:var(--ufm-weight-regular)}
body strong{font-weight:var(--ufm-weight-semibold)}
body :is(button,.primary,.secondary,.outline,.nav-cta){font-weight:var(--ufm-weight-semibold)}

/* Marketing hierarchy: expressive, but no longer poster-sized. */
.hero :is(h1,.hero-promise){font-size:clamp(2.6rem,3.9vw,3.85rem);font-weight:600;line-height:1;letter-spacing:-.048em}
.principle-copy h1,.chat-principle-copy h1,.view-heading h1{font-size:clamp(2.35rem,3.4vw,3.4rem);font-weight:600;line-height:1.03;letter-spacing:-.044em}
.help-head h1{font-size:clamp(2.1rem,3vw,3rem);font-weight:600;letter-spacing:-.04em}
.kicker,.eyebrow,.view .kicker{font-weight:620;letter-spacing:.11em}
.hero-copy>p:not(.kicker),.principle-copy>p:not(.kicker),.chat-principle-copy>p:not(.kicker){font-weight:400}
.topbar>nav a,.account-actions>a,.account-actions>button{font-weight:560}

/* Quiet surfaces: borders and spacing carry structure; shadows are exceptional. */
:is(.hero-price,.principle-steps li,.chat-benefits article,.help-questions,.help-answer,.first-year-offer,
  .product-card,.summary,.pet-card,.empty,.account-card,.pet-form,.studio-shell,.studio-editor,
  .owner-office>section[data-panel],.auth-card,.story-points>span,.legal-page article,
  .legal-page aside>nav,.meo-tracker-promo,.security-card,.portal-shortcut){box-shadow:none}
:is(.primary,.secondary,.outline,.nav-cta,.auth-primary,.auth-secondary,.auth-provider,
  .topbar>nav a,.layout-filters button,.studio-themes>button,.tabs button){box-shadow:none}
:is(.photo-dialog,.qr-dialog,.cart,.ufm-bo-cart,.profile-menu>div,.mobile-menu-sheet)[open],
:is(.photo-dialog,.qr-dialog,.profile-menu>div,.mobile-menu-sheet){box-shadow:var(--ufm-shadow-overlay)}

/* Cards and controls use medium emphasis instead of visual shouting. */
.product-copy h3,.section-heading h2,.section-title h2,.owner-pet-card h3{font-weight:610}
.product-copy strong,.hero-price strong,.first-year-offer strong{font-weight:610}
.product-copy button,.cart-panel form button,.cart-trigger,.continue{font-weight:600}
.brand-chip,.service-pill,.status,.studio-card>span{font-weight:620}
.principle-steps strong,.chat-benefits strong,.help-list button,.legal-page aside>nav a{font-weight:580}

/* Authentication and Studio share the same calmer product language. */
.auth-page-ufoundme .auth-story h1,
.auth-page-ufoundme:has(.registration-shell) .registration-story h1{font-size:clamp(2.3rem,3.65vw,3.2rem);font-weight:600;line-height:1.05;letter-spacing:-.044em}
.auth-page-ufoundme .auth-card{box-shadow:none}
.auth-page-ufoundme .auth-login-tab{font-weight:560}
.auth-page-ufoundme .auth-login-tab.is-active{box-shadow:none}
.auth-page-ufoundme .auth-primary{box-shadow:none;font-weight:600}
.auth-page-ufoundme .story-points b,.auth-page-ufoundme .register-points b{font-weight:580}
.welcome h1,.studio-page .welcome h1{font-weight:610;letter-spacing:-.038em}
main :is(h1,h2,h3){font-weight:610;letter-spacing:-.03em}main h1{font-size:clamp(2rem,4vw,3.5rem)}main h2{font-size:clamp(1.35rem,2.4vw,2rem)}main h3{font-size:clamp(1.05rem,1.7vw,1.35rem)}
.tabs button,.studio-steps button,.studio-editor label,.pet-form label{font-weight:560}
.studio-steps button b,.studio-themes>button>span strong{font-weight:620}
.studio-phone{box-shadow:var(--ufm-shadow-raised)}

/* Legal content is editorial reading, not promotional display. */
.legal-page h1{font-size:clamp(2.1rem,2.9vw,3rem);font-weight:600;line-height:1.05;letter-spacing:-.04em}
.legal-page article h2{font-size:clamp(2rem,3vw,2.9rem);font-weight:600;line-height:1.07;letter-spacing:-.04em}
.legal-page article h3{font-weight:620}
.legal-page aside>p,.legal-page article>header p{font-weight:620}
.legal-page article section p{font-weight:400;line-height:1.72}
.legal-back,.contact{font-weight:600}

/* Hover uses colour and a crisp border, never a floating-card effect. */
:is(.primary,.nav-cta,.auth-primary,.product-copy button,.cart-panel form button,.contact):hover,
:is(.primary,.nav-cta,.auth-primary,.product-copy button,.cart-panel form button,.contact):focus-visible{transform:none;box-shadow:none}
:is(.secondary,.outline,.auth-secondary,.auth-provider):hover,
:is(.secondary,.outline,.auth-secondary,.auth-provider):focus-visible{transform:none;box-shadow:none;border-color:var(--ufm-brand-primary)}

@media(max-width:1279px){
  .hero :is(h1,.hero-promise){font-size:clamp(2.45rem,5.1vw,3.8rem)}
  .principle-copy h1,.chat-principle-copy h1,.view-heading h1{font-size:clamp(2.25rem,4.7vw,3.35rem)}
}
@media(max-width:767px){
  .hero :is(h1,.hero-promise){font-size:clamp(2.15rem,8.8vw,3rem);line-height:1.02}
  .principle-copy h1,.chat-principle-copy h1,.view-heading h1{font-size:clamp(2rem,8.2vw,2.8rem);line-height:1.04}
  .auth-page-ufoundme .auth-story h1,.auth-page-ufoundme:has(.registration-shell) .registration-story h1{font-size:clamp(2rem,8vw,2.7rem)}
}
@media(max-width:599px){
  .hero :is(h1,.hero-promise){font-size:clamp(1.95rem,9.7vw,2.55rem)}
  .hero .actions{width:100%;max-width:20rem;grid-template-columns:1fr}
  .hero .actions>*{width:100%;min-height:44px;white-space:normal;text-align:center}
  .hero .actions .primary{padding-inline:1rem}
  .legal-page h1{font-size:clamp(1.9rem,10vw,2.45rem)}
  .legal-page article h2{font-size:clamp(1.85rem,9vw,2.35rem)}
}

/* Font files are declared once by php-inter.css. */
html body{font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font-family:inherit}

.hero{background:linear-gradient(135deg,#faf8fc,#fff 56%,#eee9f6)}
.hero h1 em{color:#fff;background:var(--ufm-brand-primary);padding:0 .08em;border-radius:.12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.kicker i,.steps button.active span,.cart-trigger b,.mobile-cart-trigger b{background:var(--ufm-brand-primary)}
.aura-one{background:#d9cdee}.aura-two{background:#b7a5d5}
.cart-product-icon,.layout-floating-menu>i,.pet-avatar,.account-card>span{background:var(--ufm-brand-gradient)}
.proof-privacy,.proof-eu,.scenario{background:var(--ufm-primary-soft)}
.proof-privacy:before,.proof-eu:before,.scenario h2 span,.reasons li:before{color:var(--ufm-brand-primary)}
.chat-principle,.help-view{background:linear-gradient(145deg,#faf8fc,#fff 52%,#eee9f6)}
.chat-suggestions button,.chat-demo-phone .primary,.scan-content>.primary,.chat-form button,.tabs b,.owner-chat form button{border-color:var(--ufm-brand-primary);color:#fff;background:var(--ufm-brand-primary)}
.chat-suggestions button:hover,.chat-suggestions button:focus-visible,.chat-suggestions button[aria-pressed="true"]{border-color:var(--ufm-brand-secondary);color:#fff;background:var(--ufm-brand-secondary)}
.chat-suggestions button:disabled{border-color:#d7d0df;color:#756e7d;background:#eeeaf2;cursor:not-allowed}
.bubble.owner,.messages .sent{background:var(--ufm-brand-secondary)}
.layout-filters button.active,.layout-floating-menu>b{background:var(--ufm-ink)}

.auth-page-ufoundme{
  --ufm-coral:var(--ufm-brand-coral);
  --ufm-pink:var(--ufm-brand-primary);
  --brand-primary:var(--ufm-brand-primary);
  --brand-primary-rgb:75 53 117;
  --earth-action:var(--ufm-brand-secondary);
  --forest:var(--ufm-brand-secondary);
  --ink:var(--ufm-ink);
  --paper:var(--ufm-cream);
  --line:#ded7e9;
  background:radial-gradient(circle at 8% 22%,#ffb36b2e 0 10%,transparent 30%),radial-gradient(circle at 91% 20%,#ff704d1c 0 9%,transparent 29%),linear-gradient(140deg,#faf8fc,#fff 50%,#eee9f6)
}
.auth-page-ufoundme::before{background:linear-gradient(120deg,transparent 32%,#4b357508 32% 61%,#ff704d08 61%)}
.auth-page-ufoundme .auth-nav{border-bottom:1px solid #251a3d12;background:#fffdfbd9;backdrop-filter:blur(18px)}
.auth-page-ufoundme .auth-shell{max-width:74rem;grid-template-columns:minmax(23rem,1.04fr) minmax(25rem,.96fr);gap:clamp(2.5rem,6vw,5.5rem)}
.auth-page-ufoundme .kicker,.auth-page-ufoundme .step-label{color:var(--ufm-brand-coral)}
.auth-page-ufoundme .auth-story h1::first-line{color:var(--ufm-brand-primary)}
.auth-page-ufoundme .story-points>span{border-color:#4b35751a;background:#ffffffd9;box-shadow:0 .6rem 1.8rem #251a3d0a}
.auth-page-ufoundme .auth-card{border:1px solid #4b35752b;background:#fffefced;box-shadow:0 2rem 5rem #251a3d1d}
.auth-page-ufoundme .auth-card::before{background:linear-gradient(90deg,var(--ufm-brand-coral),var(--ufm-brand-apricot),var(--ufm-brand-primary))}
.auth-page-ufoundme .auth-card h2{margin-top:0;color:var(--ufm-brand-secondary)}
.auth-page-ufoundme .auth-login-tabs{border-color:#4b357526;background:#f4f0f7}
.auth-page-ufoundme .auth-login-tab{color:#675e70}
.auth-page-ufoundme .auth-login-tab.is-active{color:var(--ufm-brand-secondary);border-color:transparent;background:linear-gradient(135deg,var(--ufm-brand-coral),var(--ufm-brand-apricot));box-shadow:0 .55rem 1.2rem #ff704d24}
.auth-page-ufoundme .auth-login-tab.is-active img{filter:none}
.auth-page-ufoundme .auth-login-tab.is-active .auth-tab-google,.auth-page-ufoundme .auth-login-tab.is-active .auth-tab-password{color:var(--ufm-brand-secondary)}
.auth-page-ufoundme .auth-login-panel{border-color:#4b357514;background:#fff}
/* Authentication panels size to their active content. The shared MEO base
   reserves a fixed provider area; UFoundMe! instead keeps the sign-in card
   compact so its primary action remains visually connected to the field. */
.auth-page-ufoundme .auth-login-panel{min-height:0}
.auth-page-ufoundme .auth-primary{color:#fff;background:var(--ufm-brand-secondary);box-shadow:0 .75rem 1.8rem #251a3d24}
.auth-page-ufoundme .auth-primary:hover{background:var(--ufm-brand-primary)}
.auth-page-ufoundme .auth-email-primary .auth-submit-with-help:has(>.auth-primary:only-child){grid-template-columns:minmax(0,1fr)}
.auth-page-ufoundme .auth-secondary,.auth-page-ufoundme .auth-provider{border-color:#4b357530;background:#fff}
.auth-page-ufoundme .auth-provider:hover{border-color:var(--ufm-brand-coral)}
.auth-page-ufoundme .auth-card input:focus{border-color:var(--ufm-brand-primary);box-shadow:0 0 0 4px #4b35752e}
.auth-page-ufoundme .ufm-registration-consent,.auth-page-ufoundme .auth-trust-note{background:var(--ufm-primary-soft)}
.auth-page-ufoundme .ufm-registration-consent a{background:var(--ufm-brand-primary)}
.auth-page-ufoundme .auth-switch a{color:var(--ufm-brand-secondary)}
.auth-page-ufoundme .ufm-auth-scene{background:linear-gradient(145deg,var(--ufm-brand-apricot),var(--ufm-brand-coral) 48%,var(--ufm-brand-primary))}
.auth-page-ufoundme .ufm-auth-scene::before{display:none;content:none}
.auth-page-ufoundme .ufm-auth-scene{height:18rem}
.auth-page-ufoundme .ufm-auth-phone{transition:transform .2s ease}
.auth-page-ufoundme .ufm-auth-phone-dog{left:39%;z-index:2;transform:translateX(-50%) rotate(-6deg)}
.auth-page-ufoundme .ufm-auth-phone-cat{left:66%;bottom:-2.5rem;z-index:1;background:#faf8fc;transform:translateX(-50%) rotate(7deg) scale(.91)}
.auth-page-ufoundme .ufm-auth-phone-cat>img{border-color:#e2daf0;object-position:center 24%}
.auth-page-ufoundme .ufm-auth-phone-cat b{background:var(--ufm-brand-primary)}
.auth-page-ufoundme .ufm-auth-badge{right:auto;left:9%;bottom:1.35rem;z-index:3;transform:rotate(-11deg)}
/* UFoundMe! authentication has its own restrained navigation. The shared MEO
   market/theme dock and its scroll control must never appear on this surface. */
.auth-page-ufoundme .auth-preferences-dock,.auth-page-ufoundme .auth-scroll-top{display:none}
html:has(.auth-page-ufoundme) .auth-shell{padding-bottom:clamp(2rem,5vw,4.5rem)}

@media(max-width:55.99rem){.auth-page-ufoundme .auth-shell{grid-template-columns:1fr}.auth-page-ufoundme .ufm-auth-phone-dog{left:40%}.auth-page-ufoundme .ufm-auth-phone-cat{left:65%}}
@media(max-width:35rem){.auth-page-ufoundme .ufm-auth-scene{height:11rem}.auth-page-ufoundme .ufm-auth-phone-dog{left:39%}.auth-page-ufoundme .ufm-auth-phone-cat{left:64%;bottom:-2.5rem}.auth-page-ufoundme .ufm-auth-badge{left:5%;bottom:.7rem}}

/* Register responsive contract — seven deliberate bands, fluid before fixed.
   Story and form remain separate chunks; the form always owns the available width. */
.auth-page-ufoundme:has(.registration-shell){overflow-x:hidden}
.auth-page-ufoundme:has(.registration-shell) .auth-nav{width:100%;min-width:0}
.auth-page-ufoundme:has(.registration-shell) .auth-brand-navigation{min-width:0}
.auth-page-ufoundme:has(.registration-shell) .registration-shell{width:min(74rem,calc(100% - 2.5rem));max-width:none;grid-template-columns:minmax(0,1fr) minmax(25rem,29rem);gap:clamp(2rem,5vw,5rem);align-items:start;margin-inline:auto;padding:clamp(1.5rem,4vh,3.5rem) 0 clamp(2.5rem,6vh,5rem)}
.auth-page-ufoundme:has(.registration-shell) :is(.registration-story,.registration-card,.registration-form,.registration-form>*,.story-points>span){min-width:0;max-width:100%}
.auth-page-ufoundme:has(.registration-shell) .registration-story{padding:clamp(.5rem,2vw,1.25rem) 0 0}
.auth-page-ufoundme:has(.registration-shell) .registration-story h1{max-width:12ch;font-size:clamp(2.65rem,4.4vw,4rem);line-height:1;overflow-wrap:anywhere}
.auth-page-ufoundme:has(.registration-shell) .registration-story>p{max-width:38rem}
.auth-page-ufoundme:has(.registration-shell) .register-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.auth-page-ufoundme:has(.registration-shell) .register-points>span{min-height:4.3rem;padding:.7rem;border:1px solid #4b35751a;border-radius:1rem;align-items:center}
.auth-page-ufoundme:has(.registration-shell) .register-points b{overflow-wrap:anywhere;font-size:.72rem;line-height:1.35}
.auth-page-ufoundme:has(.registration-shell) .ufm-auth-scene{width:100%;height:14rem;margin-top:1.1rem;overflow:hidden;border-radius:1.5rem}
.auth-page-ufoundme:has(.registration-shell) .registration-card{width:100%;padding:clamp(1.5rem,3vw,2.25rem);overflow:hidden}
.auth-page-ufoundme:has(.registration-shell) .ufm-registration-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.auth-page-ufoundme:has(.registration-shell) .ufm-registration-form>*{grid-column:auto}
.auth-page-ufoundme:has(.registration-shell) .ufm-registration-form>:is(.ufm-registration-consent,.auth-trust-note,.auth-primary){grid-column:1/-1}
.auth-page-ufoundme:has(.registration-shell) .ufm-registration-form :is(input,select,textarea,button){max-width:100%}
.auth-page-ufoundme:has(.registration-shell) :is(.ufm-registration-consent,.auth-trust-note,.auth-switch){overflow-wrap:anywhere}

@media(min-width:1600px){
  .auth-page-ufoundme:has(.registration-shell) .registration-shell{width:min(78rem,calc(100% - 6rem));grid-template-columns:minmax(0,1fr) minmax(27rem,30rem);gap:5.5rem}
}
@media(min-width:1440px) and (max-width:1599px){
  .auth-page-ufoundme:has(.registration-shell) .registration-shell{width:min(74rem,calc(100% - 5rem));grid-template-columns:minmax(0,1fr) minmax(26rem,29rem);gap:4.5rem}
}
@media(min-width:1280px) and (max-width:1439px){
  .auth-page-ufoundme:has(.registration-shell) .registration-shell{width:min(70rem,calc(100% - 4rem));grid-template-columns:minmax(0,1fr) minmax(25rem,28rem);gap:3.25rem}
  .auth-page-ufoundme:has(.registration-shell) .registration-story h1{font-size:clamp(2.75rem,4.1vw,3.6rem)}
}
@media(min-width:1024px) and (max-width:1279px){
  .auth-page-ufoundme:has(.registration-shell) .registration-shell{width:min(62rem,calc(100% - 3rem));grid-template-columns:minmax(0,1fr) minmax(24rem,26rem);gap:2rem}
  .auth-page-ufoundme:has(.registration-shell) .registration-story h1{font-size:clamp(2.45rem,4.4vw,3.15rem)}
  .auth-page-ufoundme:has(.registration-shell) .register-points{grid-template-columns:1fr}
  .auth-page-ufoundme:has(.registration-shell) .register-points>span{min-height:0}
  .auth-page-ufoundme:has(.registration-shell) .ufm-auth-scene{height:12rem}
  .auth-page-ufoundme:has(.registration-shell) .ufm-registration-form{grid-template-columns:1fr}
  .auth-page-ufoundme:has(.registration-shell) .ufm-registration-form>*{grid-column:1}
}
@media(min-width:768px) and (max-width:1023px){
  .auth-page-ufoundme:has(.registration-shell) .registration-shell{width:min(44rem,calc(100% - 2.5rem));grid-template-columns:1fr;gap:1.5rem;padding-top:2rem}
  .auth-page-ufoundme:has(.registration-shell) .registration-story{text-align:center}
  .auth-page-ufoundme:has(.registration-shell) .registration-story h1,.auth-page-ufoundme:has(.registration-shell) .registration-story>p{margin-inline:auto}
  .auth-page-ufoundme:has(.registration-shell) .register-points{grid-template-columns:repeat(3,minmax(0,1fr))}
  .auth-page-ufoundme:has(.registration-shell) .ufm-auth-scene{height:12rem;margin-inline:auto}
  .auth-page-ufoundme:has(.registration-shell) .registration-card{margin:0}
}
@media(min-width:480px) and (max-width:767px){
  .auth-page-ufoundme:has(.registration-shell) .auth-nav{padding-inline:1rem}
  .auth-page-ufoundme:has(.registration-shell) .registration-shell{width:min(38rem,calc(100% - 2rem));grid-template-columns:1fr;gap:1rem;padding:1.25rem 0 2.5rem}
  .auth-page-ufoundme:has(.registration-shell) .registration-story{padding-inline:.25rem}
  .auth-page-ufoundme:has(.registration-shell) .registration-story h1{font-size:clamp(2.25rem,8vw,2.85rem)}
  .auth-page-ufoundme:has(.registration-shell) .register-points{grid-template-columns:1fr}
  .auth-page-ufoundme:has(.registration-shell) .register-points>span{min-height:0}
  .auth-page-ufoundme:has(.registration-shell) .ufm-auth-scene{display:none}
  .auth-page-ufoundme:has(.registration-shell) .registration-card{padding:1.5rem}
  .auth-page-ufoundme:has(.registration-shell) .ufm-registration-form{grid-template-columns:1fr}
  .auth-page-ufoundme:has(.registration-shell) .ufm-registration-form>*{grid-column:1}
}
@media(max-width:479px){
  .auth-page-ufoundme:has(.registration-shell) .auth-nav{height:auto;min-height:4rem;padding:.6rem .75rem;gap:.5rem}
  .auth-page-ufoundme:has(.registration-shell) .auth-brand-navigation{gap:.45rem}
  .auth-page-ufoundme:has(.registration-shell) .auth-logo.auth-logo-ufoundme{width:7.25rem;flex:0 0 auto}
  .auth-page-ufoundme:has(.registration-shell) .auth-back-to-site{min-width:0;padding:.45rem;font-size:.62rem;white-space:normal}
  .auth-page-ufoundme:has(.registration-shell) .auth-nav-help{width:2.5rem;min-width:2.5rem;padding:0}
  .auth-page-ufoundme:has(.registration-shell) .auth-nav-help span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .auth-page-ufoundme:has(.registration-shell) .registration-shell{width:calc(100% - 1.25rem);grid-template-columns:1fr;gap:.75rem;padding:1rem 0 2rem}
  .auth-page-ufoundme:has(.registration-shell) .registration-story{padding:.25rem}
  .auth-page-ufoundme:has(.registration-shell) .registration-story h1{font-size:clamp(2rem,11vw,2.45rem)}
  .auth-page-ufoundme:has(.registration-shell) .registration-story>p{font-size:.82rem;line-height:1.5}
  .auth-page-ufoundme:has(.registration-shell) .register-points,.auth-page-ufoundme:has(.registration-shell) .ufm-auth-scene{display:none}
  .auth-page-ufoundme:has(.registration-shell) .registration-card{padding:1.25rem;border-radius:1.25rem}
  .auth-page-ufoundme:has(.registration-shell) .ufm-registration-form{grid-template-columns:1fr}
  .auth-page-ufoundme:has(.registration-shell) .ufm-registration-form>*{grid-column:1}
  .auth-page-ufoundme:has(.registration-shell) .ufm-registration-consent{align-items:flex-start}
}

body:has(.summary),body:has(main>aside){background:var(--ufm-cream)}
.summary .kicker,main>aside>p,article>header>p{color:var(--ufm-brand-primary)}
.summary .secure{background:var(--ufm-primary-soft)}
.summary .actions .primary,.contact,.partner-head~.hero aside,.paw{background:var(--ufm-brand-gradient)}
.chat-page .mine,.chat-panel form button{background:var(--ufm-brand-primary)}
.chat-avatar{background:var(--ufm-primary-soft)}

@media(forced-colors:active){*{--ufm-brand-primary:CanvasText;--ufm-brand-secondary:Highlight}}

/* Authentication — official UFoundMe! identity: deep purple, never MEO teal
   and no decorative orange. A field owns one border in every interaction. */
.auth-page-ufoundme{background:radial-gradient(circle at 12% 18%,#8f76c21f,transparent 28%),radial-gradient(circle at 86% 82%,#d9ceec55,transparent 32%),linear-gradient(135deg,#fbf9fd,#f2eef8)}
.auth-page-ufoundme::before{background:linear-gradient(120deg,transparent 34%,#4b357508 34% 63%,#251a3d08 63%)}
.auth-page-ufoundme .kicker,.auth-page-ufoundme .step-label{color:var(--ufm-brand-primary)}
.auth-page-ufoundme .auth-card::before{display:none}
.auth-page-ufoundme .auth-card :is(input,select,textarea){border:1px solid #cbc2d6;outline:0;box-shadow:none;background:#fff}
.auth-page-ufoundme .auth-card :is(input,select,textarea):is(:focus,:focus-visible){border-color:#60439a;outline:0;box-shadow:none;background:#fbf9ff}
.auth-page-ufoundme .auth-login-tab.is-active{color:#fff;border-color:#4b3575;background:#4b3575;box-shadow:0 .5rem 1.15rem #251a3d2b}
.auth-page-ufoundme .auth-login-tab.is-active img{filter:brightness(0) invert(1)}
.auth-page-ufoundme .auth-login-tab.is-active :is(.auth-tab-google,.auth-tab-password){color:#fff}
.auth-page-ufoundme .auth-login-tab:not(.is-active):hover{color:#251a3d;background:#e8e0f1}
.auth-page-ufoundme .auth-primary{background:#251a3d;box-shadow:0 .7rem 1.6rem #251a3d25}
.auth-page-ufoundme .auth-primary:hover,
.auth-page-ufoundme .auth-primary:focus-visible{
  color:#fff;
  background:#60439a;
  box-shadow:0 .9rem 2rem #4b357538;
  transform:translateY(-2px)
}
.auth-page-ufoundme .auth-primary:active{
  color:#fff;
  background:#4b3575;
  box-shadow:0 .45rem 1.1rem #4b35752f;
  transform:translateY(0)
}
.auth-page-ufoundme :is(.auth-secondary,.auth-provider){border-color:#cfc6d9;color:#251a3d;background:#fff}
.auth-page-ufoundme :is(.auth-secondary,.auth-provider):hover{border-color:#60439a;background:#eee8f6;box-shadow:0 .55rem 1.15rem #251a3d16;transform:translateY(-1px)}
.auth-page-ufoundme :is(.auth-switch a,label a):hover{color:#60439a;text-decoration:underline;text-underline-offset:.2em}
.auth-page-ufoundme .ufm-auth-scene{background:linear-gradient(145deg,#b8a5d8,#60439a 52%,#251a3d)}

/* Operational shipping selector: inherits the official brand surface. */
.shipping-picker{margin:18px 0;padding:16px;border:1px solid #5135802b;border-radius:16px;background:#f8f5fc}
.shipping-picker>label{display:block;margin-bottom:9px;color:#513580;font-size:.72rem;font-weight:800}
.shipping-picker>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.shipping-picker select,.shipping-picker button{min-height:46px;border:1px solid #51358038;border-radius:12px;font:inherit}
.shipping-picker select{width:100%;padding:0 12px;background:#fff;color:#171327}
.shipping-picker button{padding:0 18px;background:#513580;color:#fff;font-size:.72rem;font-weight:850;cursor:pointer}
.shipping-picker button:hover{background:#21172f}
.summary dl .grand-total{margin-top:14px;padding-top:13px;border-top:1px solid #17132718;font-size:1.05rem;font-weight:900}
@media(max-width:479px){.shipping-picker>div{grid-template-columns:1fr}.shipping-picker button{width:100%}}
/* Form copy stays calm and readable; hierarchy belongs to headings/actions. */
:where(form label,form legend,form input,form select,form textarea,form option,form output){font-weight:400}:where(form input,form textarea)::placeholder{font-weight:400}

/* Login confirmation — one calm decision surface, without decorative noise. */
.auth-page-ufoundme .auth-shell:not(.registration-shell){
  width:min(72rem,calc(100% - 3rem));
  min-height:clamp(38rem,calc(100svh - 9rem),48rem);
  margin-inline:auto;
  padding:clamp(2rem,5vh,4.5rem) 0;
  align-items:center
}
.auth-page-ufoundme .auth-story h1{max-width:11ch;font-size:clamp(2.6rem,4.4vw,4.25rem);line-height:1.02;letter-spacing:-.045em}
.auth-page-ufoundme .auth-story>p{max-width:36rem;color:#625b69;font-size:1rem;line-height:1.65}
.auth-page-ufoundme .story-points{gap:.65rem;align-items:stretch}
.auth-page-ufoundme .story-points>span{
  min-height:3.9rem;height:100%;padding:.8rem 1rem;
  display:flex;align-items:flex-start;justify-content:flex-start;
  align-content:flex-start;align-self:stretch;
  border-radius:1rem;text-align:left;box-shadow:none
}
/* Registration benefits: the pictogram is a real reading anchor, not a faint
 * decoration. One shared rule covers every locale and existing breakpoint. */
.auth-page-ufoundme:has(.registration-shell) .register-points>span{
  gap:.75rem;border-color:#4b357536;background:#fff
}
.auth-page-ufoundme:has(.registration-shell) .register-points .story-point-icon{
  width:42px;height:42px;flex:0 0 42px;border-radius:12px;
  color:#3b2864;background:#eee9f6
}
.auth-page-ufoundme:has(.registration-shell) .register-points .story-point-icon svg{
  width:24px;height:24px;stroke-width:2.25
}
.auth-page-ufoundme .auth-card{width:100%;max-width:31rem;margin-inline:auto;padding:clamp(1.7rem,3vw,2.5rem);border-color:#d9d2e2;background:#fff;box-shadow:0 1rem 2.5rem #251a3d12}
.auth-page-ufoundme .auth-card>h2{font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.15;letter-spacing:-.025em;color:#251a3d}
.auth-page-ufoundme .auth-card>h2+p{margin-top:.45rem;color:#68616f;line-height:1.55}
.auth-page-ufoundme .auth-alert.success{border:1px solid #6f56a538;border-left:3px solid #60439a;background:#f2eef8;color:#251a3d}
.auth-page-ufoundme .auth-alert{position:relative;margin-block:1rem;padding:var(--ufm-auth-alert-padding,1rem 1rem 1rem 2.85rem);border:1px solid transparent;border-left-width:3px;border-radius:.9rem;color:#251a3d;font-size:.9rem;line-height:1.5}
.auth-page-ufoundme .auth-alert::before{width:1.35rem;height:1.35rem;position:absolute;top:1rem;left:.9rem;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:.76rem;font-weight:850;content:'i'}
.auth-page-ufoundme .auth-alert.success{border-color:#6f56a538;border-left-color:#60439a;background:#f2eef8}.auth-page-ufoundme .auth-alert.success::before{background:#60439a;content:'✓'}
.auth-page-ufoundme .auth-alert.warning{border-color:#d9952738;border-left-color:#bf7612;background:#fff7e8;color:#5b3b10}.auth-page-ufoundme .auth-alert.warning::before{background:#bf7612;content:'!'}
.auth-page-ufoundme .auth-alert.error{border-color:#c8475238;border-left-color:#b6323e;background:#fff0f1;color:#6b2028}.auth-page-ufoundme .auth-alert.error::before{background:#b6323e;content:'×'}
.auth-page-ufoundme .auth-magic-sent{width:min(50rem,calc(100% - 2rem));min-height:calc(100svh - 74px);grid-template-columns:1fr;align-content:center;padding-block:2rem}
.auth-page-ufoundme .auth-magic-sent .auth-story{display:none}
.auth-page-ufoundme .auth-magic-sent .auth-card{max-width:48rem;position:relative;overflow:hidden;padding:clamp(1.5rem,4vw,2.75rem)}
.auth-page-ufoundme .ufm-magic-sent-mark{display:grid;place-items:center;width:3rem;height:3rem;margin:0 0 1.25rem;border-radius:50%;color:#fff;background:#4b3575;font-size:1.25rem;line-height:1}
.auth-page-ufoundme .auth-magic-sent .auth-alert.success{--ufm-auth-alert-padding:1rem 1.1rem;margin-top:1.4rem;border-radius:.9rem;font-size:.92rem;line-height:1.55}
.auth-page-ufoundme .auth-magic-sent .auth-alert.success::before{content:none}
.auth-page-ufoundme .ufm-magic-destination{margin-top:1rem;padding:.85rem 1rem;border:1px solid #04313c24;border-radius:.9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#edf5f5;color:#04313c}
.auth-page-ufoundme .ufm-magic-destination span{font-size:.76rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.auth-page-ufoundme .ufm-magic-destination strong{min-width:0;font-size:.98rem;overflow-wrap:anywhere}
.auth-page-ufoundme .ufm-magic-guidance{margin-top:1rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:.8rem}
.auth-page-ufoundme :is(.ufm-magic-next,.ufm-magic-recovery){padding:1rem;border:1px solid #ded7e6;border-radius:1rem}
.auth-page-ufoundme .ufm-magic-recovery{background:#faf8fc}
.auth-page-ufoundme :is(.ufm-magic-next,.ufm-magic-recovery) h3{margin:0 0 .65rem;color:#251a3d;font-size:.98rem;line-height:1.25}
.auth-page-ufoundme :is(.ufm-magic-next ol,.ufm-magic-recovery ul){margin:0;padding-left:1.3rem;display:grid;gap:.45rem;color:#625b69;font-size:.82rem;line-height:1.4}
.auth-page-ufoundme .ufm-magic-next li::marker{color:#04313c;font-weight:800}
.auth-page-ufoundme .ufm-magic-recovery>p{margin:.75rem 0 0;color:#6e6575;font-size:.76rem;line-height:1.4}
.auth-page-ufoundme .ufm-magic-actions{margin-top:.85rem;display:grid;grid-template-columns:1fr 1fr;gap:.55rem;align-items:stretch}
.auth-page-ufoundme .ufm-magic-actions form{display:flex;min-width:0}
.auth-page-ufoundme .ufm-magic-actions :is(.auth-secondary,.auth-text-action){width:100%;height:100%;min-height:44px;margin:0;padding:.65rem .75rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.78rem;line-height:1.2}
.auth-page-ufoundme .ufm-magic-support{padding-top:.7rem;border-top:1px solid #e6e0eb}
.auth-page-ufoundme .ufm-magic-support a{color:#04313c;font-weight:750}
.auth-page-ufoundme .auth-magic-sent .auth-login-tabs{margin-top:1.5rem}
.auth-page-ufoundme .auth-magic-sent .auth-login-panel{min-height:0}
@media(max-width:699px){.auth-page-ufoundme .ufm-magic-guidance{grid-template-columns:1fr}.auth-page-ufoundme .ufm-magic-destination{align-items:flex-start;flex-direction:column;gap:.25rem}.auth-page-ufoundme .ufm-magic-actions{grid-template-columns:1fr}}
.auth-page-ufoundme :is(.auth-primary,.auth-secondary,.auth-text-action,.auth-provider){min-height:48px}
.auth-page-ufoundme:has(.auth-code-input) .auth-card{max-width:30rem}
.auth-page-ufoundme:has(.auth-code-input) .auth-private-email{
  margin:0 0 1rem;padding:1rem;border-radius:.9rem;
  display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;
  background:#f2eef8;color:#45355f;line-height:1.45
}
.auth-page-ufoundme:has(.auth-code-input) .auth-private-email span{font-size:.82rem;color:#716783}
.auth-page-ufoundme:has(.auth-code-input) .auth-private-email strong{
  max-width:100%;color:#352650;font-size:1rem;font-weight:700;
  overflow-wrap:anywhere;word-break:normal
}
.auth-page-ufoundme:has(.auth-code-input) .auth-otp-form{grid-template-columns:1fr}
.auth-page-ufoundme:has(.auth-code-input) .auth-otp-form>*{grid-column:1/-1}
.auth-page-ufoundme:has(.auth-code-input) .auth-otp-form label{display:grid;gap:.45rem}
.auth-page-ufoundme:has(.auth-code-input) .auth-otp-form label small{max-width:34ch;line-height:1.45}
.auth-page-ufoundme:has(.auth-code-input) .auth-code-input{width:100%;height:60px;padding-inline:.65rem;border-color:#cfc4dc;font-size:clamp(1.35rem,5vw,1.75rem);letter-spacing:.2em}
.auth-page-ufoundme:has(.auth-code-input) .auth-otp-actions{margin-top:1rem;gap:.65rem;align-items:stretch}
.auth-page-ufoundme:has(.auth-code-input) .auth-otp-actions form{display:flex;min-width:0}
.auth-page-ufoundme:has(.auth-code-input) .auth-otp-actions .auth-secondary{
  width:100%;height:100%;margin:0;padding:.75rem 1rem;border-radius:.9rem;
  display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25
}
.auth-page-ufoundme .ufm-otp-no-mail{margin:.85rem 0 0;padding:.8rem .9rem;border-radius:.8rem;background:#f7f4fa;color:#625b69;font-size:.78rem;line-height:1.45}
.auth-page-ufoundme .ufm-otp-no-mail a{color:#04313c;font-weight:750}
.auth-page-ufoundme .ufm-help-button{width:48px;min-width:48px;padding:0;right:18px}
.auth-page-ufoundme .ufm-help-button span{display:none}
.auth-page-ufoundme .ufm-readability-button{width:48px;min-width:48px;padding:0;right:76px}
.auth-page-ufoundme .ufm-readability-button span{display:none}
.auth-page-ufoundme .ufm-help-button{display:none}
.auth-page-ufoundme .ufm-readability-button{top:10px;right:66px;bottom:auto}
.auth-page-ufoundme .auth-magic-sent .ufm-auth-scene{filter:saturate(.78)}

/* Login method selector — one stable row at every width.  The three methods
 * are deliberately chunked as a segmented control; labels never wrap and
 * the tap target remains at least 48px high. */
.auth-page-ufoundme .auth-login-tabs.auth-login-tabs-three{
  grid-template-columns:minmax(7.2rem,1.2fr) minmax(5.8rem,.9fr) minmax(6.5rem,1fr);
  gap:.4rem;
  padding:.38rem;
  border-radius:1.15rem
}
.auth-page-ufoundme .auth-login-tabs-three .auth-login-tab{
  min-width:0;
  min-height:48px;
  padding:.65rem .55rem;
  border-radius:.85rem;
  font-size:clamp(.76rem,.72rem + .16vw,.88rem);
  line-height:1;
  white-space:nowrap
}
.auth-page-ufoundme .auth-login-tab>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-page-ufoundme .auth-login-help-ticker{display:none}

/* Login/register do not use the fixed marketing bottom navigation. Keep the
 * shared footer comfortably separated from the form without reserving its
 * full mobile safe zone or reproducing the large empty ending. */
.auth-page-ufoundme:has(.auth-shell) .ufm-footer{
  --ufm-footer-safe-zone:20px;
  padding-top:clamp(30px,4vw,40px)
}
.auth-page-ufoundme:has(.auth-shell) .ufm-footer-trust,
.auth-page-ufoundme:has(.auth-shell) .ufm-footer-europe{margin-top:20px}
.auth-page-ufoundme:has(.auth-shell) .ufm-footer-bottom{margin-top:15px}
@media(max-width:767px){
  .auth-page-ufoundme:has(.auth-shell) .ufm-footer{
    --ufm-footer-safe-zone:calc(18px + env(safe-area-inset-bottom));
    padding-bottom:var(--ufm-footer-safe-zone)
  }
}

/* Mouse/trackpad users get progressive disclosure without adding another
 * permanent line to the sign-in card. Focus-visible mirrors hover for keyboard. */
@media(min-width:1024px) and (hover:hover) and (pointer:fine){
  /* Tooltips belong to the tab controls, but must be allowed to paint beyond
   * the rounded sign-in card. A high z-index alone cannot escape clipping. */
  .auth-page-ufoundme .auth-card:has(.auth-login-tabs){overflow:visible;position:relative;z-index:2}
  .auth-page-ufoundme .auth-login-tabs{position:relative;z-index:3;overflow:visible}
  .auth-page-ufoundme .auth-login-tab[data-login-help]::after{
    width:max-content;max-width:min(18rem,calc(100vw - 2rem));padding:.58rem .72rem;position:absolute;z-index:30;left:50%;bottom:calc(100% + .65rem);border-radius:.65rem;color:#fff;background:#251a3d;box-shadow:0 .65rem 1.5rem #251a3d2b;content:attr(data-login-help);font-size:.76rem;font-weight:520;line-height:1.35;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,.25rem);transition:opacity .16s ease,transform .16s ease
  }
  .auth-page-ufoundme .auth-login-tab[data-login-help]::before{position:absolute;z-index:31;left:50%;bottom:calc(100% + .35rem);border:.34rem solid transparent;border-top-color:#251a3d;content:"";opacity:0;pointer-events:none;transform:translateX(-50%);transition:opacity .16s ease}
  .auth-page-ufoundme .auth-login-tab[data-login-help]:is(:hover,:focus-visible)::after{opacity:1;transform:translate(-50%,0)}
  .auth-page-ufoundme .auth-login-tab[data-login-help]:is(:hover,:focus-visible)::before{opacity:1}
  .auth-page-ufoundme .auth-login-tab[data-login-help]:first-child::after{left:0;transform:translateY(.25rem)}
  .auth-page-ufoundme .auth-login-tab[data-login-help]:first-child:is(:hover,:focus-visible)::after{transform:none}
  .auth-page-ufoundme .auth-login-tab[data-login-help]:first-child::before{left:2rem}
  .auth-page-ufoundme .auth-login-tab[data-login-help]:last-child::after{right:0;left:auto;transform:translateY(.25rem)}
  .auth-page-ufoundme .auth-login-tab[data-login-help]:last-child:is(:hover,:focus-visible)::after{transform:none}
  .auth-page-ufoundme .auth-login-tab[data-login-help]:last-child::before{right:2rem;left:auto;transform:none}
}

/* Authentication guidance must remain readable at a glance. */
@media(max-width:767px){
  .auth-page-ufoundme .auth-login-help-ticker{height:auto;margin:-.25rem 0 .75rem;display:block;overflow:visible;color:#716a78;font-size:.82rem;line-height:1.45;white-space:normal;mask-image:none}
  .auth-page-ufoundme .auth-login-help-ticker span{width:auto;display:block;padding-left:0;animation:none;transform:none}
}
@media(prefers-reduced-motion:reduce){
  .auth-page-ufoundme .auth-login-help-ticker{height:auto;white-space:normal;mask-image:none}
  .auth-page-ufoundme .auth-login-help-ticker span{width:auto;padding-left:0;animation:none;transform:none}
}

@media(min-width:1600px){.auth-page-ufoundme .auth-shell:not(.registration-shell){width:min(76rem,calc(100% - 6rem))}}
@media(min-width:1440px) and (max-width:1599px){.auth-page-ufoundme .auth-shell:not(.registration-shell){width:min(72rem,calc(100% - 5rem))}}
@media(min-width:1280px) and (max-width:1439px){.auth-page-ufoundme .auth-shell:not(.registration-shell){width:min(68rem,calc(100% - 4rem));gap:3.25rem}}
@media(min-width:1024px) and (max-width:1279px){.auth-page-ufoundme .auth-shell:not(.registration-shell){width:min(61rem,calc(100% - 3rem));grid-template-columns:minmax(0,1fr) minmax(23rem,26rem);gap:2rem}.auth-page-ufoundme .auth-story h1{font-size:clamp(2.45rem,4.3vw,3.3rem)}}
@media(min-width:768px) and (max-width:1023px){.auth-page-ufoundme .auth-shell:not(.registration-shell){width:min(42rem,calc(100% - 2.5rem));grid-template-columns:1fr;min-height:0;gap:1.5rem;align-items:start}.auth-page-ufoundme .auth-story{text-align:center}.auth-page-ufoundme .auth-story h1,.auth-page-ufoundme .auth-story>p{margin-inline:auto}.auth-page-ufoundme .story-points{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-page-ufoundme .ufm-auth-scene{height:13rem}.auth-page-ufoundme .auth-card{max-width:34rem}}
@media(min-width:600px) and (max-width:767px){.auth-page-ufoundme .auth-shell:not(.registration-shell){width:min(36rem,calc(100% - 2rem));grid-template-columns:1fr;min-height:0;gap:1.25rem;padding:1.5rem 0 2.5rem}.auth-page-ufoundme .auth-story h1{font-size:clamp(2.2rem,8vw,2.8rem)}.auth-page-ufoundme .story-points{grid-template-columns:1fr}.auth-page-ufoundme .ufm-auth-scene{height:12rem}.auth-page-ufoundme .auth-card{padding:1.5rem}}
@media(max-width:479px){.auth-page-ufoundme .auth-shell:not(.registration-shell){width:calc(100% - 1.25rem);grid-template-columns:1fr;min-height:0;gap:1rem;padding:1.1rem 0 2rem}.auth-page-ufoundme .auth-story h1{font-size:clamp(2rem,10vw,2.45rem)}.auth-page-ufoundme .auth-story>p{font-size:.9rem}.auth-page-ufoundme .story-points,.auth-page-ufoundme .ufm-auth-scene{display:none}.auth-page-ufoundme .auth-card{padding:1.25rem;border-radius:1.25rem}.auth-page-ufoundme .auth-login-tabs.auth-login-tabs-three{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr) minmax(0,1fr);gap:.25rem;padding:.28rem}.auth-page-ufoundme .auth-login-tabs-three .auth-login-tab{min-width:0;padding:.65rem .2rem;font-size:clamp(.64rem,3vw,.72rem);white-space:nowrap}.auth-page-ufoundme .auth-login-tabs-three .auth-login-tab :is(img,.auth-tab-google,.auth-tab-password){display:none}.auth-page-ufoundme .ufm-magic-sent-mark{width:2.65rem;height:2.65rem}}
@media(max-width:359px){.auth-page-ufoundme .auth-login-tab :is(img,.auth-tab-google,.auth-tab-password){display:none}.auth-page-ufoundme .auth-login-tab{font-size:.67rem;line-height:1.15}.auth-page-ufoundme .auth-magic-sent .auth-card{padding-inline:1rem}.auth-page-ufoundme .auth-alert.success{font-size:.86rem}}
@media(max-width:479px){.auth-page-ufoundme:has(.auth-code-input) .auth-code-input{height:58px;font-size:1.35rem;letter-spacing:.16em}.auth-page-ufoundme:has(.auth-code-input) .auth-otp-actions{grid-template-columns:1fr}.auth-page-ufoundme:has(.auth-code-input) .auth-otp-actions button{width:100%}}

/* Login responsive: action first, illustration second, with no artificial empty panel. */
@media(max-width:1023px){
  .auth-page-ufoundme .ufm-auth-public-header{height:68px;min-height:68px;padding-inline:16px}
  .auth-page-ufoundme .ufm-auth-public-header .auth-logo{width:clamp(106px,24vw,140px)}
  .auth-page-ufoundme .ufm-auth-language,.auth-page-ufoundme .ufm-auth-account{display:none}
  .auth-page-ufoundme .ufm-auth-cart{margin-left:auto}
  .auth-page-ufoundme .ufm-auth-menu-sheet{top:76px;right:8px;left:max(8px,calc(100vw - 430px));max-height:calc(100dvh - 84px);overflow:auto}
  .auth-page-ufoundme .auth-shell:not(.registration-shell){align-content:start}
  .auth-page-ufoundme .auth-shell:not(.registration-shell)>.auth-card{order:1}
  .auth-page-ufoundme .auth-shell:not(.registration-shell)>.auth-story{order:2}
  .auth-page-ufoundme .auth-login-panel{min-height:0}
  .auth-page-ufoundme .auth-card{max-width:34rem}
  .auth-page-ufoundme .auth-login-tab{min-height:48px}
  .auth-page-ufoundme .auth-primary,.auth-page-ufoundme .auth-secondary,.auth-page-ufoundme .auth-provider{min-height:48px}
}
@media(min-width:768px) and (max-width:1023px){
  .auth-page-ufoundme .auth-shell:not(.registration-shell){padding:2rem 0 3rem;gap:2rem}
  .auth-page-ufoundme .auth-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.8fr);align-items:center;gap:1.5rem;text-align:left}
  .auth-page-ufoundme .auth-story>.kicker,.auth-page-ufoundme .auth-story>h1,.auth-page-ufoundme .auth-story>p,.auth-page-ufoundme .story-points{grid-column:1}
  .auth-page-ufoundme .auth-story h1,.auth-page-ufoundme .auth-story>p{margin-inline:0}
  .auth-page-ufoundme .story-points{grid-template-columns:1fr}
  .auth-page-ufoundme .ufm-auth-scene{grid-column:2;grid-row:1/5;width:100%;height:14rem;margin:0}
}
@media(max-width:767px){
  .auth-page-ufoundme .ufm-auth-public-header{height:64px;min-height:64px;padding-inline:10px}
  .auth-page-ufoundme .ufm-auth-cart{width:48px;padding:0}.auth-page-ufoundme .ufm-auth-cart span{display:none}
  .auth-page-ufoundme .ufm-auth-menu-sheet{top:70px;right:6px;left:6px;max-height:calc(100dvh - 78px)}
  .auth-page-ufoundme .auth-shell:not(.registration-shell){padding-top:1rem}
  .auth-page-ufoundme .auth-card{padding:1.25rem;border-radius:1.25rem}
  .auth-page-ufoundme .auth-card>h2{font-size:1.35rem}
  .auth-page-ufoundme .auth-login-tabs{margin-bottom:1rem}
  .auth-page-ufoundme .auth-switch{margin-top:1rem}
}
@media(max-width:479px){
  .auth-page-ufoundme .auth-story{padding:1rem .35rem 0;text-align:left}
  .auth-page-ufoundme .auth-story .kicker{display:none}
  .auth-page-ufoundme .auth-story h1{max-width:13ch;margin:0;font-size:1.85rem}
  .auth-page-ufoundme .auth-story>p{margin:.75rem 0 0;font-size:.88rem;line-height:1.55}
  .auth-page-ufoundme .auth-login-tab{padding-inline:.2rem;font-size:.72rem;white-space:nowrap}
  .auth-page-ufoundme .auth-login-tab :is(img,.auth-tab-google,.auth-tab-password){flex:0 0 auto}
}
/* Global professional finish: calmer hierarchy, fluid text and resilient layouts. */
:where(body.auth-page-ufoundme, body.eshop-page, body.catalog-page, body.public-card-body, body.chat-surface, body.legal-page, body:has(.owner-office), body:has(.studio-page), body:has(.view.active)) :is(h1, h2, h3, h4) {
  font-weight: 620;
}

:where(body.auth-page-ufoundme, body.eshop-page, body.catalog-page, body.public-card-body, body.chat-surface, body.legal-page, body:has(.owner-office), body:has(.studio-page), body:has(.view.active)) :is(strong, b) {
  font-weight: 600;
}

:where(body.auth-page-ufoundme, body.eshop-page, body.catalog-page, body.public-card-body, body.chat-surface, body.legal-page, body:has(.owner-office), body:has(.studio-page), body:has(.view.active)) :is(button, .button, .btn, .primary, .secondary, [role="button"]) {
  font-weight: 560;
}

:where(body.auth-page-ufoundme, body.eshop-page, body.catalog-page, body.public-card-body, body.chat-surface, body.legal-page, body:has(.owner-office), body:has(.studio-page), body:has(.view.active)) :is(label, legend) {
  font-weight: 520;
}

:where(body.auth-page-ufoundme, body.eshop-page, body.catalog-page, body.public-card-body, body.chat-surface, body.legal-page, body:has(.owner-office), body:has(.studio-page), body:has(.view.active)) :is(.kicker, .eyebrow, .step-label, .product-type) {
  font-weight: 600;
}

:where(body.auth-page-ufoundme, body.eshop-page, body.catalog-page, body.public-card-body, body.chat-surface, body.legal-page, body:has(.owner-office), body:has(.studio-page), body:has(.view.active)) :is(main, section, article, aside, header, footer, nav, form, fieldset, div, span, p, a, button, label) {
  min-width: 0;
}

:where(body.auth-page-ufoundme, body.eshop-page, body.catalog-page, body.public-card-body, body.chat-surface, body.legal-page, body:has(.owner-office), body:has(.studio-page), body:has(.view.active)) :is(h1, h2, h3, h4, p, a, button, label, legend, li, dt, dd, small, strong, b) {
  overflow-wrap: anywhere;
}

:where(body.eshop-page, body.catalog-page) :is(.product-price strong, .grand-total dd, .first-year-offer strong),
:where(body.public-card-body, body:has(.studio-page)) :is(.studio-card h1, .studio-card h3, .public-card h1),
:where(body.auth-page-ufoundme, body.legal-page) [aria-current="page"] {
  font-weight: 650;
}
/* Balanced landscape-tablet / compact-desktop hero.
   The copy remains the primary reading block while the product keeps enough
   room to look intentional instead of compressing either column. */
@media (min-width: 1024px) and (max-width: 1279px) {
  /* Canonical T6 footer: brand information above three stable link columns.
     This keeps long translations readable without a fourth compressed column. */
  .ufm-footer{padding-top:34px}
  .ufm-footer .ufm-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,4vw,44px);row-gap:24px}
  .ufm-footer .ufm-footer-brand{grid-column:1/-1;display:grid;grid-template-columns:190px minmax(0,1fr) minmax(240px,.9fr);grid-template-rows:auto auto;column-gap:28px;row-gap:5px;align-items:start}
  .ufm-footer .ufm-footer-brand>a:first-child{grid-column:1;grid-row:1;margin:0}
  .ufm-footer .ufm-footer-brand>p{grid-column:2;grid-row:1}
  .ufm-footer .ufm-footer-brand>small{grid-column:2;grid-row:2}
  .ufm-footer .ufm-footer-brand>.ufm-footer-contact{grid-column:3;grid-row:1/3;margin:0}
  .ufm-footer .ufm-footer-brand>.ufm-footer-social{grid-column:1;grid-row:2;margin-top:2px}
  .ufm-footer .ufm-footer-grid>nav{gap:5px}
  .ufm-footer .ufm-footer-grid>nav a{display:flex;align-items:center;min-height:36px}
  .ufm-footer .ufm-footer-trust,.ufm-footer .ufm-footer-europe{margin-top:22px}
  .ufm-footer .ufm-footer-bottom{margin-top:14px;padding-top:13px}

  body:has(.hero.active) .hero {
    padding-inline: clamp(36px, 4.5vw, 58px);
    grid-template-columns: minmax(0, 1.05fr) minmax(410px, .95fr);
    column-gap: clamp(28px, 3.5vw, 46px);
  }

  body:has(.hero.active) .hero-copy {
    width: 100%;
    max-width: 590px;
    align-self: start;
  }

  body:has(.hero.active) .hero .hero-promise {
    max-width: 13.5ch;
    font-size: clamp(3rem, 4.7vw, 4.15rem);
    line-height: .96;
    letter-spacing: -.06em;
  }

  body:has(.hero.active) .hero-copy > p:not(.kicker) {
    max-width: 48ch;
    margin-block: 20px;
    font-size: .94rem;
    line-height: 1.62;
  }

  body:has(.hero.active) .hero-how {
    margin-block: 18px;
    padding-block: 14px;
  }

  body:has(.hero.active) .hero-how ol {
    gap: 10px;
  }

  body:has(.hero.active) .hero-how li {
    min-height: 74px;
    padding: 10px;
    align-content: center;
  }

  body:has(.hero.active) .hero .actions {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(142px, .65fr);
    gap: 10px;
  }

  body:has(.hero.active) .hero .actions > * {
    width: 100%;
    min-height: 48px;
    justify-content: center;
  }

  body:has(.hero.active) .hero .proof {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, max-content));
    gap: 8px 16px;
  }

  body:has(.hero.active) .hero-product {
    width: 100%;
    min-width: 0;
    align-self: start;
  }

  body:has(.hero.active) .hero-visual {
    width: 100%;
    min-height: 500px;
  }
}
/* Accessible floors without visually inflating decorative content. */
.brand-pronunciation {
  font-size: max(0.75rem, 12px);
  font-weight: 400;
}

.mobile-app-nav > button :is(span, strong),
.mobile-app-nav > button {
  color: #5b5362;
  font-size: max(0.75rem, 12px);
}

.preview-intro {
  color: #6f234a;
}

@media (pointer: coarse) {
  :where(.language-switcher a, .ufm-universal-languages a, .action-world, .action-spanish-flag) {
    min-width: var(--ufm-touch-target);
    min-height: var(--ufm-touch-target);
  }

  .ufm-footer nav a {
    position: relative;
  }

  .ufm-footer nav a::before {
    position: absolute;
    inset: 50% -8px auto;
    min-height: var(--ufm-touch-target);
    content: "";
    transform: translateY(-50%);
  }
}
/* The QR journey belongs to the same calm visual family as the home view. */
.view.qr-principle {
  background:
    radial-gradient(circle at 82% 24%, rgba(217, 205, 238, .48), transparent 28%),
    linear-gradient(135deg, #faf8fc, #fff 56%, #eee9f6);
}

/* Registration actions keep a consistent 44 px target at every breakpoint. */
.auth-page-ufoundme:has(.registration-shell) .ufm-registration-consent-row {
  position: relative;
}

.auth-page-ufoundme:has(.registration-shell) .ufm-registration-consent-row > label {
  padding-right: 3.45rem;
}

.auth-page-ufoundme:has(.registration-shell) .ufm-registration-terms-help {
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  position: absolute;
  top: 50%;
  right: .45rem;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
}

.auth-page-ufoundme:has(.registration-shell) .auth-switch a {
  min-height: 2.75rem;
}

/* Keep the critical two-step registration free from overlapping global docks. */
.auth-page-ufoundme:has(.registration-shell) :is(.gdpr-alert, .ufm-readability-button, .ufm-back-to-top, .ufm-help-button) {
  display: none;
}

/* source: php-inter.css */
/**
 * @file Presentation layer for php inter.
 *
 * Mobile-first responsive styling only; preserve touch targets, fluid containment and the seven-breakpoint contract.
 */

/** UFoundMe! typography authority. Inter is self-hosted and split by script so
 * a Latin page never downloads the complete multilingual variable font. */
@font-face{font-family:"Inter";src:url("/ufoundme/assets/fonts/InterUFM-Latin-Regular.woff2") format("woff2");font-style:normal;font-weight:100 599;font-display:optional;unicode-range:U+0000-024F,U+1E00-1EFF,U+20AC,U+2122,U+2190-2199,U+2713,U+2715,U+2717,U+2718,U+271A,U+2753,U+2764,U+2B05-2B07,U+FFFD}
@font-face{font-family:"Inter";src:url("/ufoundme/assets/fonts/InterUFM-Latin-Bold.woff2") format("woff2");font-style:normal;font-weight:600 900;font-display:optional;unicode-range:U+0000-024F,U+1E00-1EFF,U+20AC,U+2122,U+2190-2199,U+2713,U+2715,U+2717,U+2718,U+271A,U+2753,U+2764,U+2B05-2B07,U+FFFD}
:root{--ufm-font-primary:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-primary:var(--ufm-font-primary)}
html{font-family:var(--ufm-font-primary);font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--ufm-font-primary);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:inherit}

/* The first promise is visible before any interaction and must never wait for
   a font download. Platform UI fonts keep the same neutral grotesque voice. */
.hero .hero-promise{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* Covers legacy UFoundMe! surfaces that previously declared Lexend or Arial. */
body.auth-page-ufoundme,body.eshop-page,body.catalog-page,body.public-card-body,body.chat-surface,body.legal-page,body.ufm-ulule,body:has(.owner-office),body:has(.studio-page),body:has(.ufm-contact-head){font-family:var(--ufm-font-primary)}
body.auth-page-ufoundme *,body:has(.owner-office) *{box-sizing:border-box}
body.auth-page-ufoundme :is(button,input,select,textarea),body.eshop-page :is(button,input,select,textarea),body.catalog-page :is(button,input,select,textarea),body.public-card-body :is(button,input,select,textarea),body.chat-surface :is(button,input,select,textarea),body.legal-page :is(button,input,select,textarea),body:has(.owner-office) :is(button,input,select,textarea),body:has(.studio-page) :is(button,input,select,textarea){font-family:inherit}
body.auth-page-ufoundme .auth-logo.auth-logo-ufoundme{display:block;min-width:0;flex:0 0 auto}
body.auth-page-ufoundme .auth-logo.auth-logo-ufoundme img{width:100%;max-width:100%;height:auto}
body.auth-page-ufoundme .auth-nav,body.auth-page-ufoundme .auth-brand-navigation{min-width:0;max-width:100%}
body.auth-page-ufoundme .auth-brand-navigation{flex:1 1 auto}
body.auth-page-ufoundme .auth-shell,body.auth-page-ufoundme .auth-card{min-width:0;max-width:100%;box-sizing:border-box}
body.auth-page-ufoundme .auth-card>*{min-width:0;max-width:100%}
body.auth-page-ufoundme .ufm-auth-scene{max-width:100%;overflow:clip;contain:paint}
@media(max-width:359px){body.auth-page-ufoundme .auth-logo.auth-logo-ufoundme{width:7rem}body.auth-page-ufoundme .auth-card{width:100%;padding-inline:1rem}body.auth-page-ufoundme .auth-nav{width:100%;padding-inline:.875rem}}

/* iOS zooms focused controls whose computed text size is below 16 px. Keep
   data entry stable on every public and authenticated UFoundMe! surface. */
@media(max-width:767px){
  body.auth-page-ufoundme :is(input,select,textarea),
  body.eshop-page :is(input,select,textarea),
  body.catalog-page :is(input,select,textarea),
  body.public-card-body :is(input,select,textarea),
  body.chat-surface :is(input,select,textarea),
  body.legal-page :is(input,select,textarea),
  body:has(.owner-office) :is(input,select,textarea),
  body:has(.studio-page) :is(input,select,textarea),
  body:has(.ufm-contact-head) :is(input,select,textarea){font-size:16px}
}

}
@layer base {
/* source: eshop.css */
/**
 * @file Presentation layer for eshop.
 *
 * Mobile-first responsive styling only; preserve touch targets, fluid containment and the seven-breakpoint contract.
 */
.eshop-page .skip-link:not(:focus):not(:focus-visible){position:fixed;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.eshop-page .skip-link:focus,.eshop-page .skip-link:focus-visible{position:fixed;z-index:13020;top:8px;left:8px;width:auto;height:auto;padding:12px 16px;overflow:visible;clip:auto;clip-path:none;border-radius:10px;color:#fff;background:#171327;font-weight:800}

@font-face{font-family:Inter;src:url('/ufoundme/assets/fonts/InterVariable.woff2')}*{box-sizing:border-box}html{font-family:Inter,system-ui;color:#1d1529;background:#faf8fb}body{margin:0;background:radial-gradient(circle at 80% 10%,#ffb08732,transparent 25%),#faf8fb}.shop-header{height:78px;padding:0 max(20px,5vw);display:flex;align-items:center;gap:24px;position:sticky;top:0;z-index:20;border-bottom:1px solid #26173716;background:#fffdfbea;backdrop-filter:blur(16px)}.shop-header>a{margin-right:auto}.shop-header>a img{width:160px;display:block}.shop-header nav{display:flex;gap:5px}.shop-header nav a{width:36px;height:36px;display:grid;place-items:center;border:1px solid #26173718;border-radius:50%;color:#6d6672;text-decoration:none;font-size:.68rem;font-weight:750}.shop-header nav a.active{color:#fff;background:#28183b}.cart-trigger{min-height:44px;padding:0 12px;border:1px solid #28183b22;border-radius:99px;display:flex;align-items:center;gap:8px;color:#28183b;background:#fff;font:700 .72rem Inter;cursor:pointer}.cart-trigger img{width:18px}.cart-trigger b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#5c3886}main{width:min(1280px,calc(100% - 40px));margin:auto;padding:clamp(48px,7vw,92px) 0}.hero{max-width:790px;margin-bottom:68px}.kicker{margin:0 0 10px;color:#ff7059;font-size:.68rem;font-weight:850;letter-spacing:.12em}.hero h1{margin:0;font-size:clamp(2.8rem,7vw,6.5rem);line-height:.96;letter-spacing:-.065em}.hero>p:last-child{max-width:660px;color:#6d6672;font-size:clamp(.95rem,1.4vw,1.15rem);line-height:1.65}.catalog{margin:56px 0}.section-heading{margin-bottom:22px}.section-heading h2{margin:0;font-size:clamp(1.7rem,3vw,2.7rem);letter-spacing:-.04em}.section-heading small{display:block;margin-top:8px;color:#756d7b}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.digital-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:840px}.product-card{min-width:0;overflow:hidden;border:1px solid #28183b18;border-radius:26px;background:#fff;box-shadow:0 18px 48px #28183b0d}.product-visual{height:270px;padding:18px;display:grid;place-items:center;background:#f4eff8}.product-visual img{width:100%;height:100%;object-fit:contain}.service-visual img{width:105px;height:105px;padding:24px;border-radius:32px;background:#fff}.product-copy{padding:22px}.brand-chip{display:inline-block;padding:5px 9px;border-radius:99px;color:#fff;background:#28183b;font-size:.58rem;font-weight:800;letter-spacing:.1em}.product-copy h3{min-height:2.5em;margin:10px 0 6px;font-size:1.18rem}.product-copy p{min-height:3em;margin:0;color:#756d7b;font-size:.8rem;line-height:1.5}.product-copy footer{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.product-copy strong{font-size:1.22rem}.product-copy button,.cart-panel form button{min-height:44px;padding:0 17px;border:0;border-radius:99px;color:#fff;background:#28183b;font:750 .72rem Inter;cursor:pointer;transition:.2s}.product-copy button:hover,.cart-panel form button:hover{background:#ff7059;transform:translateY(-2px)}.back{display:inline-flex;margin-top:24px;color:#28183b;font-weight:750}.cart{width:min(500px,100%);height:100%;max-height:none;margin:0 0 0 auto;padding:0;border:0;background:transparent}.cart::backdrop{background:#20132a99;backdrop-filter:blur(5px)}.cart-panel{min-height:100%;padding:30px;display:flex;flex-direction:column;background:#fff}.cart-panel>header{display:flex;justify-content:space-between;align-items:start}.cart-panel h2{margin:0;font-size:2rem}.cart-panel>header button{width:42px;height:42px;border:0;border-radius:50%;font-size:1.5rem;cursor:pointer}.cart-empty{padding:22px;border-radius:16px;color:#756d7b;background:#f7f4f8}.cart-lines{display:grid;gap:10px}.cart-lines article{padding:15px;display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #28183b18;border-radius:16px}.cart-lines article>div:first-child{display:grid;gap:5px}.cart-lines small{color:#756d7b}.stepper{display:flex;align-items:center;gap:9px}.stepper button{width:30px;height:30px;border:0;border-radius:50%;cursor:pointer}.cart-panel>footer{margin-top:auto;padding-top:24px;border-top:1px solid #28183b18}.cart-panel>footer>div{display:flex;justify-content:space-between;font-size:1.15rem}.cart-panel>footer>small{display:block;margin:8px 0 18px;color:#756d7b}.cart-panel form button{width:100%}.cart-panel form button:disabled{opacity:.4;cursor:not-allowed}.continue{width:100%;margin-top:10px;padding:12px;border:0;color:#28183b;background:transparent;font:700 .72rem Inter;cursor:pointer}
@media(max-width:1023px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid .product-card:last-child{grid-column:1/-1}.digital-grid .product-card:last-child{grid-column:auto}.shop-header nav{display:none}.badge-transparency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-transparency-grid .payment-facts{grid-column:1/-1}}
@media(max-width:767px){.shop-header{height:68px;padding:0 14px;gap:8px}.shop-header>a img{width:126px}.cart-trigger span{display:none}main{width:min(100% - 24px,1280px);padding-top:38px}.hero{margin-bottom:42px}.hero h1{font-size:clamp(2.45rem,14vw,4rem)}.catalog{margin:42px 0}.product-grid,.digital-grid{grid-template-columns:1fr}.product-grid .product-card:last-child{grid-column:auto}.product-visual{height:230px}.product-copy h3,.product-copy p{min-height:0}.cart-panel{padding:20px 15px}}
.first-year-offer{max-width:760px;margin:24px 0 0;padding:16px 20px;display:grid;gap:4px;border:1px solid #d9d0e7;border-radius:18px;background:#fff;box-shadow:0 12px 30px #2b1d4610}.first-year-offer strong{color:#3f286d;font-size:1rem}.first-year-offer span{color:#6e6875;font-size:.9rem;line-height:1.45}
:where(form label,form legend,form input,form select,form textarea,form option,form output){font-weight:400}:where(form input,form textarea)::placeholder{font-weight:400}
.product-price{display:grid;gap:3px}.product-price small{color:#6f6877;font-size:.68rem;font-weight:500}.product-price strong{font-size:1.05rem;line-height:1.25}

/* Restored focused catalogue: two textual offers, no product illustrations. */
.digital-grid{max-width:840px;grid-template-columns:repeat(2,minmax(0,1fr))}
.product-card{overflow:visible;border-color:#dcd5e3;border-radius:20px;box-shadow:none}
.product-card-badge{display:grid;grid-template-columns:minmax(118px,.58fr) minmax(0,1.42fr);align-items:stretch}
.product-badge-visual{min-width:0;margin:0;padding:18px;display:grid;place-items:center;overflow:hidden;border-radius:19px 0 0 19px;background:linear-gradient(145deg,#f7f2fa,#fff)}
.product-badge-visual img{width:auto;max-width:100%;height:214px;display:block;object-fit:contain}
.product-copy{min-height:230px;padding:28px;display:flex;flex-direction:column}
.product-type{min-height:0;margin:0 0 18px;color:#5c3886;font-size:.7rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase}
.product-copy h3{min-height:0;margin:0 0 8px;font-size:1.3rem;font-weight:620}
.product-copy>p:not(.product-type){min-height:3em;margin:0;color:#756d7b;font-size:.88rem;line-height:1.55}
.product-copy footer{margin-top:auto;padding-top:28px;border-top:1px solid #eee9f1}
.product-copy button,.cart-panel form button{font-weight:650;transition:background .16s ease}
.product-copy button:hover,.cart-panel form button:hover{background:#5c3886;transform:none}
@media(max-width:767px){.digital-grid{grid-template-columns:1fr}.product-copy{min-height:210px;padding:22px}}
@media(max-width:767px){.product-card-badge{grid-template-columns:minmax(104px,.45fr) minmax(0,1.55fr)}.product-badge-visual{padding:14px}.product-badge-visual img{height:190px}}

/* Mobile-first catalogue finish: fluid width, calm hierarchy and tactile controls. */
main{width:calc(100% - clamp(24px,6vw,96px));max-width:1680px}
.hero{max-width:none;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:end;gap:clamp(28px,5vw,88px);margin-bottom:clamp(48px,6vw,84px)}
.hero-copy{max-width:760px}
.hero h1{max-width:14ch;font-size:clamp(2.45rem,5vw,4.8rem);line-height:1.02;letter-spacing:-.055em}
.hero-copy>p:last-child{margin:20px 0 0;max-width:62ch;font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.65}
.first-year-offer{width:100%;max-width:none;margin:0;padding:clamp(20px,2.2vw,30px);grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;border-radius:22px;box-shadow:none}
.first-year-offer>div{display:grid;gap:6px}.first-year-offer strong{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.35}
.first-year-offer a{width:100%;min-height:48px;padding:0 clamp(14px,3vw,20px);border:0;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;background:#28183b;font:650 .78rem/1.25 Inter;text-align:center;text-decoration:none;white-space:nowrap}.first-year-offer a:hover{background:#5c3886}
.digital-grid{width:100%;max-width:none;gap:clamp(16px,2vw,28px)}
.product-copy{min-height:250px;padding:clamp(22px,2.5vw,34px)}.product-copy h3{font-size:clamp(1.2rem,1.6vw,1.48rem);line-height:1.3}.product-copy>p:not(.product-type){font-size:clamp(.9rem,1vw,1rem);line-height:1.65}
.product-copy button,.cart-panel form button,.continue{min-height:48px}:where(button,a,input,select,textarea):focus-visible{outline:3px solid #ff7059;outline-offset:3px}
@media(max-width:1023px){.hero{grid-template-columns:1fr;align-items:start}.hero-copy,.first-year-offer{max-width:820px}.eshop-page .hero-copy{order:1;grid-row:auto}.eshop-page .first-year-offer{order:2;grid-row:auto}.eshop-page .hero>.ufm-purchase-assurance{order:3;grid-column:1;grid-row:auto}.eshop-page:has(.gdpr-alert:not([hidden])){--ufm-readability-bottom:calc(142px + env(safe-area-inset-bottom))}}
@media(max-width:767px){main{width:calc(100% - 28px);padding:40px 0 72px}.hero{gap:26px;margin-bottom:52px}.hero h1{font-size:clamp(2.2rem,9vw,3.8rem)}.first-year-offer{grid-template-columns:1fr;padding:20px}.first-year-offer a{width:100%}.digital-grid{grid-template-columns:1fr}.product-copy{min-height:0}.product-copy footer{align-items:flex-end;flex-wrap:wrap}.product-copy button{min-width:170px}}
@media(max-width:599px){.shop-header{padding-inline:12px}.shop-header>a img{width:116px}.shop-header nav a{width:44px;height:44px}.cart-trigger{min-width:46px;justify-content:center}main{width:calc(100% - 22px);padding-top:30px}.hero h1{font-size:clamp(2.05rem,11vw,3rem);letter-spacing:-.045em}.section-heading h2{font-size:1.65rem}.product-copy{padding:20px}.product-copy footer{display:grid;grid-template-columns:1fr}.product-copy button{width:100%}.cart-panel{padding:18px 12px}.cart-panel h2{font-size:1.55rem}.eshop-page .badge-transparency{padding:16px}.badge-transparency-grid{grid-template-columns:1fr}.badge-transparency-grid .payment-facts{grid-column:auto}.badge-transparency-grid article{padding:15px}}
@media(max-width:479px){.product-card-badge{grid-template-columns:1fr}.product-badge-visual{min-height:180px;border-radius:19px 19px 0 0}.product-badge-visual img{height:170px}.product-card-badge .product-copy{padding-top:18px}}
@media(max-width:389px){.shop-header>a img{width:105px}.hero h1{font-size:1.95rem}.first-year-offer,.product-copy{padding:17px}.badge-facts dl div{grid-template-columns:1fr;gap:2px}.badge-facts dd{text-align:left}}
@media(min-width:1024px) and (max-width:1279px){main{width:calc(100% - 56px)}.hero{grid-template-columns:minmax(0,1fr) minmax(330px,.8fr)}}
@media(min-width:1280px) and (max-width:1759px){main{width:calc(100% - 72px)}}
@media(min-width:1760px){main{width:calc(100% - 112px)}.digital-grid{gap:32px}}
@media(hover:none){.product-copy button:hover,.cart-panel form button:hover,.first-year-offer a:hover{background:#28183b}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none}}

/* e-Shop header contract --------------------------------------------------
   The catalogue now consumes the same seven-band header and hamburger as the
   marketing surface. Cart remains the sole shop-specific immediate action. */
.eshop-page .shop-header{position:sticky;top:0;z-index:120;isolation:isolate}
.eshop-page .shop-brand{display:flex;align-items:center;min-height:48px}
.eshop-page .shop-brand img{height:auto}
.eshop-page .cart-trigger{position:relative;z-index:2;min-width:104px;min-height:48px;justify-content:center;font-family:Inter,sans-serif;font-size:.78rem}
.eshop-page .mobile-cart-trigger{margin-left:auto}
.eshop-page .desktop-cart-trigger{width:auto;min-width:92px;position:absolute;right:calc(clamp(28px,4vw,64px) + 410px);display:inline-flex}
.eshop-page>.ufm-global-controls{font-family:Inter,sans-serif}
.eshop-page .hero{align-items:start}
.eshop-page .hero h1{max-width:13ch;font-weight:640}
.eshop-page .first-year-offer,.eshop-page .product-card{background:#fffdfb}
.eshop-page .digital-grid{max-width:760px;grid-template-columns:minmax(0,1fr)}
.eshop-page .activation-information{max-width:760px;margin-top:18px;padding:20px 22px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;align-items:start;border:1px solid #dcd5e3;border-radius:18px;background:#f4f0f7;color:#3e3449}
.eshop-page .activation-information>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#04313c;font-weight:750}
.eshop-page .activation-information .product-type{margin:0 0 6px;color:#04313c}
.eshop-page .activation-information h3{margin:0 0 5px;font-size:1rem;line-height:1.35}
.eshop-page .activation-information p:last-child{margin:0;color:#6e6875;font-size:.82rem;line-height:1.55}
.eshop-page .product-copy strong{white-space:nowrap}
.eshop-page .ufm-readability-button{right:auto;left:18px}
.eshop-page .back{min-height:48px;margin-left:130px;align-items:center}
@media(max-width:1279px){.eshop-page .cart-trigger{min-width:44px}.eshop-page .cart-trigger span{display:none}.eshop-page .desktop-cart-trigger{display:none}}
@media(max-width:767px){.eshop-page main{padding-top:34px}.eshop-page .hero{gap:22px}.eshop-page .hero h1{max-width:16ch;font-weight:630}}
@media(max-width:599px){
  .eshop-page .hero h1{font-size:clamp(2rem,10.5vw,2.75rem)}
  .eshop-page .first-year-offer strong{font-size:1rem}
  .eshop-page .activation-information{padding:17px;grid-template-columns:36px minmax(0,1fr);gap:12px}
  .eshop-page .activation-information>span{width:36px;height:36px}
}
/* Font files are declared by php-inter.css, loaded after this sheet. */

/* Positioning: three familiar alternatives, then two service states. */
.eshop-page .positioning{width:min(1180px,calc(100% - 48px));margin:0 auto clamp(54px,7vw,92px);display:grid;gap:22px}
.positioning>header{max-width:760px}.positioning>header h2{margin:.25rem 0 .55rem;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.12;letter-spacing:-.035em}.positioning>header p:last-child{margin:0;color:#635c69;font-size:1.06rem;line-height:1.65}
.positioning-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.positioning-comparison article,.positioning-plans article{padding:clamp(22px,2.6vw,32px);border:1px solid #ded8e4;border-radius:22px;background:#fff}.positioning-comparison h3,.positioning-plans h3{margin:0 0 10px;color:#1d1529;font-size:1.16rem;line-height:1.35}.positioning-comparison p{margin:0;color:#625b69;font-size:1rem;line-height:1.65}
.positioning-plans-heading{margin-top:20px}.positioning-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.positioning-plans article.is-protection{color:#fff;border-color:#352052;background:linear-gradient(145deg,#241735,#513580)}.positioning-plans .is-protection :is(.product-type,h3){color:#fff}.positioning-plans ul{margin:16px 0 0;padding:0;display:grid;gap:10px;list-style:none}.positioning-plans li{position:relative;padding-left:1.55rem;font-size:1rem;line-height:1.5}.positioning-plans li::before{content:'✓';position:absolute;left:0;font-weight:900;color:#14876f}.positioning-plans .is-protection li::before{color:#baf2dc}
.cat-fit-note{padding:20px 24px;border-radius:18px;background:#fff4ec;color:#312839}.cat-fit-note strong{font-size:1.06rem}.cat-fit-note p{margin:.45rem 0 0;max-width:900px;font-size:1rem;line-height:1.65;color:#675e68}.cat-fit-note small{display:block;margin-top:.7rem;font-size:.94rem;line-height:1.55;color:#3d3542;font-weight:700}
@media(max-width:767px){.eshop-page .positioning{width:min(100% - 28px,1180px)}.positioning-comparison,.positioning-plans{grid-template-columns:1fr}}
@media(max-width:767px){
  .eshop-page .badge-transparency-grid{grid-template-columns:1fr}
  .eshop-page .badge-transparency-grid .payment-facts{grid-column:auto}
}
.sales-channel-note{width:100%;padding:clamp(18px,2vw,26px);border:1px solid #dcd5e3;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff}.sales-channel-note>div{max-width:52rem}.sales-channel-note strong{font-size:1.05rem;color:#352052}.sales-channel-note p{margin:.35rem 0 0;color:#625a69;line-height:1.6}.sales-channel-note>a{flex:0 0 auto;min-height:44px;padding:0 18px;border-radius:999px;display:inline-flex;align-items:center;color:#fff;background:#513580;font-weight:800;text-decoration:none}@media(max-width:720px){.sales-channel-note{align-items:flex-start;flex-direction:column}.sales-channel-note>a{width:100%;justify-content:center}}
@media(max-width:479px){.eshop-page .back{margin-left:60px}}
@media(pointer:coarse){
  .eshop-page :where(.cart-trigger,.first-year-offer a,.product-copy button,.continue,.mobile-menu-sheet a,.mobile-menu-sheet button){min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
}
.stepper button {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
}

@media (pointer: coarse) {
  .stepper button {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
  }
}

/* Optional gift preparation stays a single, calm decision inside the Caddy. */
.cart-gift-option{margin:18px 0;padding:16px;border:1px solid #5135802b;border-radius:16px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;color:#1d1529;background:#f7f3fa;cursor:pointer}
.cart-gift-option input{width:20px;height:20px;margin:2px 0 0;accent-color:#513580}
.cart-gift-option span{min-width:0;display:grid;gap:5px}.cart-gift-option strong{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:.9rem}.cart-gift-option strong b{color:#513580;font-size:.78rem}.cart-gift-option small{color:#6f6878;font-size:.76rem;line-height:1.45}
.cart-gift-option:has(input:disabled){opacity:.48;cursor:not-allowed}.cart-gift-option:has(input:checked){border-color:#51358066;background:#f0e9f7;box-shadow:0 8px 22px #35205212}
@media(max-width:359px){.cart-gift-option{padding:13px}.cart-gift-option strong{display:grid}}

/* Product transparency: facts first, then the purchase action. */
.eshop-page .badge-transparency{width:100%;margin:0 0 22px;padding:clamp(18px,2.4vw,28px);border:1px solid #dcd5e3;border-radius:22px;background:#fffdfb}
.badge-transparency>header{max-width:58rem;margin-bottom:18px}.badge-transparency>header h3{margin:0;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.25;letter-spacing:-.025em}
.badge-transparency-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.badge-transparency-grid article{min-width:0;padding:18px;border:1px solid #e7e1eb;border-radius:16px;background:#faf8fb}.badge-transparency-grid h4{margin:0 0 12px;color:#04313c;font-size:.92rem}.badge-transparency-grid strong{display:block;margin-bottom:8px;font-size:.84rem;line-height:1.4}.badge-transparency-grid :is(p,li,small,dt,dd){font-size:.76rem;line-height:1.48}.badge-transparency-grid p{margin:9px 0;color:#514b58}.badge-transparency-grid small{display:block;color:#756d7b}.badge-transparency-grid ul{margin:0;padding-left:1.05rem;color:#514b58}.badge-transparency-grid li+li{margin-top:5px}.badge-facts dl{margin:0}.badge-facts dl div{padding:7px 0;display:grid;grid-template-columns:minmax(7rem,.9fr) minmax(0,1.1fr);gap:10px;border-top:1px solid #e7e1eb}.badge-facts dl div:first-child{border-top:0}.badge-facts dt{color:#756d7b}.badge-facts dd{margin:0;color:#1d1529;font-weight:720;text-align:right}.badge-facts dl div:last-child dd{color:#04313c;font-weight:850}

/* Readable commercial information ---------------------------------------
   Buying facts are decision content, never fine print. Keep a 16 px floor
   and enough vertical rhythm for scanning at the 1200–1300 px breakpoint. */
.eshop-page{font-size:16px}
.eshop-page .kicker,.eshop-page .product-type{font-size:.8rem;line-height:1.45}
.eshop-page .hero-copy>p:last-child{font-size:clamp(1.08rem,1.3vw,1.22rem);line-height:1.7}
.eshop-page .first-year-offer span{font-size:1rem;line-height:1.6}
.eshop-page .first-year-offer a,.eshop-page .product-copy button,.eshop-page .cart-panel form button,.eshop-page .continue{font-size:.9rem;line-height:1.35}
.eshop-page .product-copy>p:not(.product-type){font-size:1rem;line-height:1.7}
.eshop-page .activation-information h3{font-size:1.12rem;line-height:1.4}
.eshop-page .activation-information p:last-child{font-size:1rem;line-height:1.65}
.eshop-page .badge-transparency{padding:clamp(24px,2.8vw,36px)}
.eshop-page .badge-transparency>header{margin-bottom:24px}
.eshop-page .badge-transparency>header h3{font-size:clamp(1.5rem,2vw,1.85rem);line-height:1.25}
.eshop-page .badge-transparency-grid{gap:16px}
.eshop-page .badge-transparency-grid article{padding:clamp(20px,2vw,26px)}
.eshop-page .badge-transparency-grid h4{margin-bottom:16px;font-size:1.12rem;line-height:1.35}
.eshop-page .badge-transparency-grid strong{margin-bottom:10px;font-size:1rem;line-height:1.5}
.eshop-page .badge-transparency-grid :is(p,li,small,dt,dd){font-size:1rem;line-height:1.65}
.eshop-page .badge-transparency-grid p{margin:12px 0}
.eshop-page .badge-transparency-grid ul{padding-left:1.25rem}
.eshop-page .badge-transparency-grid li+li{margin-top:8px}
.eshop-page .badge-facts dl div{padding:11px 0;gap:14px}
@media(max-width:599px){
  .eshop-page .badge-transparency{padding:20px}
  .eshop-page .badge-transparency-grid article{padding:20px}
  .eshop-page .badge-transparency-grid :is(p,li,small,dt,dd){font-size:1rem}
}

/* source: mobile-first.css */
/**
 * @file Presentation layer for mobile first.
 *
 * Mobile-first responsive styling only; preserve touch targets, fluid containment and the seven-breakpoint contract.
 */

/* UFoundMe! mobile-first layout authority.
   Base = small touch screen. Enhancements are added progressively for
   tablets and desktops. This file must remain the last stylesheet loaded. */

:root{
  --ufm-header-h:60px;
  --ufm-dock-h:68px;
  --ufm-safe-bottom:calc(var(--ufm-dock-h) + env(safe-area-inset-bottom));
}

html,body{max-width:100%;overflow-x:clip}
[hidden]{display:none}
body *,body *::before,body *::after{min-width:0}
button,a,input,select,textarea{touch-action:manipulation}
button,a,[role="button"]{-webkit-tap-highlight-color:transparent}

/* Header: the logo, cart and black menu are the only persistent landmarks
   on mobile and tablet. Explicit positioning prevents injected account
   controls from pushing them outside the viewport. */
.topbar{
  width:100%;height:var(--ufm-header-h);min-height:var(--ufm-header-h);
  padding:0 8px;position:fixed;top:0;right:0;left:0;z-index:110;
  display:flex;align-items:center;background:#fffdfb;
}
main{padding-top:var(--ufm-header-h)}
/* The shop header is fixed too, but its opening hero needs a visible reading
   gap in addition to the header reserve. Keep that gap fluid so the kicker
   never touches or slips behind the header at any of the seven widths. */
.eshop-page main{
  padding-top:calc(var(--ufm-header-h) + clamp(30px,3.5vw,54px));
}
.view{scroll-margin-top:var(--ufm-header-h)}
.topbar>.logo{display:flex;align-items:center;margin:0;position:relative;z-index:2}
.topbar>.logo img{width:clamp(96px,31vw,126px);height:auto;display:block}
.topbar>nav,.topbar>.account-actions,.topbar>.compact-header-actions{display:none}
.topbar>.mobile-cart-trigger{
  width:64px;min-width:64px;height:44px;min-height:44px;
  padding:0 8px;position:absolute;right:60px;top:8px;
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  overflow:visible;border:1px solid #ddd5de;border-radius:999px;background:#fff;
}
.topbar>.mobile-cart-trigger>img{
  width:19px;min-width:19px;max-width:19px;height:19px;
  flex:0 0 19px;display:block;object-fit:contain;
  opacity:1;visibility:visible;filter:none;
}
.topbar>.mobile-cart-trigger>b{
  min-width:22px;width:auto;height:22px;padding:0 5px;
  flex:0 0 auto;position:relative;display:grid;place-items:center;
  border-radius:999px;color:#fff;background:#513580;font-size:.58rem;line-height:1;
}
.topbar>.mobile-cart-trigger span{display:none}
.topbar>.wide-menu-trigger{
  width:44px;min-width:44px;height:44px;min-height:44px;
  padding:0;position:absolute;right:8px;top:8px;
  display:inline-flex;align-items:center;justify-content:center;border:1px solid #000;
  border-radius:50%;color:#fff;background:#000;
}
.topbar>.wide-menu-trigger span{display:none}
.topbar>.wide-menu-trigger img{width:18px;height:18px;filter:invert(1)}

/* Mobile home: one calm reading path. Never place the product beside copy. */
.hero.active{
  width:100%;height:auto;min-height:0;max-height:none;
  padding:24px 16px calc(210px + env(safe-area-inset-bottom));
  display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto;gap:28px;
  align-items:start;align-content:start;overflow:visible;
}
.hero.active>.hero-copy{
  grid-column:1;grid-row:1;width:100%;max-width:680px;
  margin:0 auto;text-align:left;align-self:start;
}
.hero.active .kicker{margin:0 0 12px;font-size:.68rem;line-height:1.35;letter-spacing:.14em}
.hero.active .hero-promise{
  max-width:20ch;margin:0;font-size:clamp(2rem,10.5vw,2.75rem);
  line-height:1.08;letter-spacing:-.035em;
}
.hero.active .hero-copy>p:not(.kicker){max-width:58ch;margin:16px 0;font-size:1rem;line-height:1.58}
.hero.active .hero-how{margin:18px 0;padding:15px 0}
.hero.active .hero-how>strong{font-size:.72rem;letter-spacing:.1em}
.hero.active .hero-how ol{margin-top:10px;display:grid;grid-template-columns:1fr;gap:8px}
.hero.active .hero-how li{
  min-height:58px;padding:10px 12px;display:grid;
  grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;
}
.hero.active .hero-how li::before{width:32px;height:32px}
.hero.active .hero-how span{font-size:.84rem;line-height:1.3}
.hero.active .hero-how small{font-size:.72rem;line-height:1.35}
.hero.active .actions{display:grid;grid-template-columns:1fr;gap:9px}
.hero.active .actions>*{width:100%;min-height:48px;justify-content:center}
.hero.active .actions .primary{height:auto;padding-block:12px;white-space:normal;text-align:center;line-height:1.2}
.hero.active .proof{gap:8px 12px;margin-top:16px}
.hero.active>.hero-product{
  grid-column:1;grid-row:2;width:100%;max-width:680px;
  margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);
  gap:14px;align-items:start;
}
.hero.active .hero-visual{
  width:100%;min-height:455px;margin:0 auto;
  display:grid;place-items:center;overflow:visible;transform:none;
}
.hero.active .hero-visual .visual-phone{width:238px;min-height:430px}
.hero.active .hero-visual .pet-preview{min-height:410px}
.hero.active .hero-visual .real-badge{width:74px;left:calc(50% - 156px);bottom:52px}
.hero.active .hero-price{
  width:100%;max-width:680px;margin:0;padding:17px;
  display:grid;grid-template-columns:1fr 1px 1fr;gap:12px;
}
.hero.active .hero-price>header{grid-column:1/-1}
.hero.active .hero-price strong{overflow-wrap:anywhere}

/* Floating UI: one collision-free rail. Content gets an equivalent bottom
   reserve, so the privacy notice and app dock never conceal the last CTA. */
.mobile-app-nav{
  width:100%;max-width:none;height:var(--ufm-dock-h);
  right:0;bottom:0;left:0;border-radius:0;z-index:100;
  padding-bottom:env(safe-area-inset-bottom);
}
.mobile-app-nav>button{min-width:0;min-height:52px}
.mobile-app-nav img{filter:brightness(0) saturate(100%) invert(20%);opacity:1}
.mobile-app-nav>button.active img{filter:brightness(0) saturate(100%) invert(20%)}
.ufm-utility-toggle,.ufm-help-button{display:none}
.ufm-readability-button{
  width:auto;min-width:112px;height:48px;padding:0 14px 0 8px;
  right:auto;bottom:var(--ufm-readability-bottom,calc(var(--ufm-safe-bottom) + 12px));left:12px;
  display:flex;border:1px solid #ddd5de;border-radius:999px;z-index:88;
}
.layout-floating-menu{
  width:48px;min-width:48px;height:48px;right:12px;
  bottom:calc(var(--ufm-safe-bottom) + 12px);left:auto;padding:4px;
  display:grid;grid-template-columns:1fr;border-radius:50%;z-index:107;
}
.layout-floating-menu>i{width:38px;height:38px;border-radius:50%}
.layout-floating-menu>span,.layout-floating-menu>b{display:none}
body.ufm-utility-open .layout-floating-menu{opacity:0;visibility:hidden;pointer-events:none}
.site-footer{padding-bottom:calc(220px + env(safe-area-inset-bottom))}

/* Compact phones: keep labels readable and shorten the visual before adding
   a second column. */
@media(max-width:359px){
  .hero.active{padding-right:12px;padding-left:12px}
  .hero.active .hero-promise{font-size:1.92rem}
  .hero.active .hero-visual .visual-phone{width:218px}
  .hero.active .hero-visual .real-badge{left:calc(50% - 144px)}
  .hero.active .hero-price{grid-template-columns:1fr}
  .hero.active .hero-price>i{width:100%;height:1px}
}

.mobile-sheet-tools{padding-top:13px;border-top:1px solid #e6e1dc;display:grid;gap:9px}
.mobile-sheet-tools h2{margin:0;color:#665e70;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}
.mobile-sheet-tools>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mobile-sheet-tools :is(a,button){
  min-height:48px;padding:9px 11px;border:1px solid #e6e1dc;border-radius:14px;display:flex;align-items:center;gap:9px;
  color:#171327;background:#fff;text-align:left;text-decoration:none;font:750 .7rem/1.25 Lexend,system-ui,sans-serif;
}
.mobile-sheet-tools :is(a,button):hover,.mobile-sheet-tools :is(a,button):focus-visible{border-color:#513580;background:#f7f3fb;outline:0}
.mobile-sheet-tools img{width:19px;height:19px}.mobile-sheet-tools .menu-aa{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#513580;font-size:.58rem}
.mobile-sheet-account-priority{
  order:-1;padding:10px;border:1px solid #e4dce8;border-radius:18px;
  background:#f8f4fa;
}
.mobile-menu-sheet>header{order:-2}
.mobile-sheet-account-priority :is(a,button){min-height:48px;font-size:.72rem}
.mobile-sheet-account-priority .primary{background:#171327;color:#fff}

/* Optical alignment of the real five-cent coin with its daily-price label. */
.hero.active .hero-price>div:last-child>span{
  width:max-content;max-width:100%;display:inline-flex;
  align-items:center;justify-content:flex-start;gap:10px;
  line-height:1.35;
}
.hero.active .hero-price>div:last-child>span>.daily-price-coin{
  align-self:center;margin-block:0;vertical-align:middle;
}

/* Large phone. */
@media(min-width:360px){
  .hero.active{padding-right:20px;padding-left:20px}
}

/* Small tablet: remain one-column. This eliminates the old 600 px squeezed
   phone/price composition. */
@media(min-width:600px){
  :root{--ufm-header-h:64px}
  .topbar{padding:0 16px}.topbar>.logo img{width:140px}
  .topbar>.mobile-cart-trigger{right:68px;top:10px}
  .topbar>.wide-menu-trigger{right:16px;top:10px}
  .hero.active{padding:30px clamp(28px,6vw,56px) calc(88px + env(safe-area-inset-bottom));gap:30px}
  .hero.active .hero-promise{font-size:clamp(2.5rem,7vw,3.2rem)}
  .hero.active .hero-how ol{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero.active .hero-how li{grid-template-columns:30px minmax(0,1fr);padding:9px}
  .hero.active .hero-visual{min-height:500px}
  .hero.active .hero-visual .visual-phone{width:270px;min-height:480px}
  .hero.active .hero-visual .pet-preview{min-height:460px}
  .hero.active .hero-visual .real-badge{left:calc(50% - 190px)}
}

/* Portrait tablet: preserve the decision context before the product proof.
   The two regions stay full-width and the actions can use the available room. */
@media(min-width:768px) and (max-width:1023px){
  .hero.active{grid-template-rows:auto auto;gap:0}
  .hero.active>.hero-copy{grid-row:1}
  .hero.active>.hero-product{grid-row:2}
  .hero.active .actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero.active .hero-visual{min-height:470px}
  .hero.active .hero-visual .visual-phone{width:270px;min-height:460px}
}

/* Landscape tablet: introduce the first two-column composition. */
@media(min-width:1024px){
  :root{--ufm-header-h:68px}
  .topbar{padding:0 20px}.topbar>.logo img{width:148px}
  .topbar>.mobile-cart-trigger{right:72px;top:12px}
  .topbar>.wide-menu-trigger{right:20px;top:12px}
  .hero.active{
    padding:clamp(34px,5vh,62px) clamp(32px,5vw,72px) calc(210px + env(safe-area-inset-bottom));
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
    grid-template-rows:auto;gap:clamp(28px,5vw,70px);align-items:center;
  }
  .hero.active>.hero-copy{grid-column:1;grid-row:1;max-width:700px}
  .hero.active>.hero-product{grid-column:2;grid-row:1;max-width:560px}
  .hero.active .hero-promise{font-size:clamp(2.55rem,4vw,3.7rem)}
  .hero.active .hero-visual{min-height:500px}
  .hero.active .hero-price{max-width:520px}
  .site-footer{padding-bottom:calc(210px + env(safe-area-inset-bottom))}
}

/* Desktop: bottom navigation is removed and the document returns to normal
   flow. The compact black menu remains a visible, reliable entry point. */
@media(min-width:1024px){
  :root{--ufm-header-h:74px;--ufm-dock-h:0px}
  .topbar{height:var(--ufm-header-h);min-height:var(--ufm-header-h);padding:0 clamp(28px,4vw,64px)}
  .topbar>.logo img{width:158px}
  .topbar>.mobile-cart-trigger{display:none}
  .topbar>.wide-menu-trigger{right:clamp(28px,4vw,64px);top:15px}
  .mobile-app-nav{display:none}
  .hero.active{padding-bottom:56px}
  .ufm-readability-button{right:auto;bottom:18px;left:18px}
  .layout-floating-menu{right:18px;bottom:18px}
  .site-footer{padding-bottom:150px}
}

/* Wide desktop can expose the route navigation, but only after enough room
   exists for every label and account action. */
@media(min-width:1760px){
  .topbar{display:grid;grid-template-columns:180px 92px minmax(690px,1fr) minmax(320px,390px);gap:15px}
  .topbar>.logo{grid-column:1}.topbar>.wide-menu-trigger{grid-column:2;position:static;width:auto;min-width:88px;border-radius:999px}
  .topbar>.wide-menu-trigger span{display:inline}
  .topbar>nav{grid-column:3;display:flex;align-items:center;justify-content:center;gap:clamp(9px,.75vw,15px)}
  .topbar>nav a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;font-size:.7rem}
}

/* The language/account capsule is injected independently from the header.
   Reserve its complete width so the black hamburger can never sit underneath
   it on compact and standard desktop widths. */
@media(min-width:1280px) and (max-width:1439px){
  .topbar>.wide-menu-trigger{right:calc(28px + 380px)}
}
@media(min-width:1440px) and (max-width:1759px){
  .topbar>.wide-menu-trigger{right:calc(clamp(28px,4vw,64px) + 400px)}
}
@media(min-width:1024px) and (max-width:1279px){
  /* Landscape tablets have three independent trailing controls. Keeping the
     account/language capsule before cart and menu prevents the 1 100 px
     collision without hiding authentication or reducing touch targets. */
  html body:has(>.topbar)>.ufm-global-controls{
    top:7px;right:168px;left:auto;transform:none;
  }
  .topbar>.mobile-cart-trigger{right:76px}
  .topbar>.wide-menu-trigger{right:20px}

  /* Keep one stable first-screen product scale throughout the official
     landscape-tablet range. The previous vw clamps made the same composition
     54 px taller at 1279 px than at 1024 px. */
  body:has(.hero.active) .hero.active .hero-visual .visual-phone{width:306px;min-height:558px}
  body:has(.hero.active) .hero.active .hero-visual .pet-preview{min-height:525px}
}
@media(min-width:768px) and (max-width:1023px){
  body:has(.ufm-global-controls:not(.ufm-guest-controls)) .ufm-global-controls{right:124px}
}
@media(max-width:767px){
  .ufm-readability-button{width:48px;min-width:48px;padding:0;justify-content:center}
  .ufm-readability-button>span{display:none}
  body:has(.ufm-global-controls:not(.ufm-guest-controls)) .ufm-global-controls{right:124px;left:auto;transform:translateY(-50%)}
}

/* SOME marks live on a dark surface. Force a single high-contrast white
   treatment regardless of the original SVG fill colour. */
html body .ufm-footer-social-actions button img{
  opacity:1;
  filter:brightness(0) saturate(100%) invert(100%);
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}

/* Badge route: one message, three short proofs and an explicit next action. */
.principle-view[data-view="badge"]{overflow:hidden}
.principle-view[data-view="badge"] .principle-copy{max-width:650px}
.principle-view[data-view="badge"] .badge-promise{max-width:13ch;font-size:clamp(2.1rem,5vw,3.65rem);line-height:1.02;text-wrap:balance}
.principle-view[data-view="badge"] .badge-promise span{display:block}
.principle-view[data-view="badge"] .principle-copy>p:not(.kicker){max-width:58ch;margin-block:18px 22px}
.principle-view[data-view="badge"] .principle-steps{gap:10px;margin-bottom:22px}
.principle-view[data-view="badge"] .principle-steps li{min-height:64px;padding:12px 16px;grid-template-columns:1fr}
.principle-view[data-view="badge"] .principle-steps strong{font-weight:650}
.badge-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;width:100%}
.badge-actions .primary{grid-column:1/-1}
.badge-actions>button{white-space:normal;text-align:center}
.badge-action-link{border-color:#4b2e83;color:#4b2e83}
.badge-stage .principle-badge{animation:ufmBadgePlay 5.5s ease-in-out infinite;transform-origin:50% 18%;will-change:transform,filter}
.badge-price-card{min-width:138px;gap:2px;border:1px solid #eadfe9;box-shadow:none}
.badge-price-card small{color:#4b2e83;font-size:.875rem;font-weight:650;letter-spacing:.06em}
.badge-price-card strong{line-height:1.1}
.badge-price-card span{font-size:.875rem;font-weight:500;color:#4b2e83}
@keyframes ufmBadgePlay{0%,100%{filter:drop-shadow(0 16px 18px rgba(23,19,39,.18));transform:rotate(-7deg) translateY(0) scale(1.3)}50%{filter:drop-shadow(0 24px 24px rgba(23,19,39,.27));transform:rotate(-3deg) translateY(-10px) scale(1.33)}}

@media(max-width:599px){
  .principle-view[data-view="badge"]{padding:26px 14px calc(var(--ufm-dock-h) + 28px);grid-template-columns:minmax(0,1fr);gap:20px}
  .principle-view[data-view="badge"] .principle-copy{display:contents}
  .principle-view[data-view="badge"] .principle-copy>.kicker{order:1;margin-bottom:-8px}
  .principle-view[data-view="badge"] .badge-promise{order:2}
  .principle-view[data-view="badge"] .principle-copy>p:not(.kicker){order:3;margin-block:-4px 0}
  .principle-view[data-view="badge"] .principle-visual{order:4;width:100%}
  .principle-view[data-view="badge"] .principle-steps{order:5;width:100%}
  .principle-view[data-view="badge"] .badge-actions{order:6;width:100%}
  .principle-view[data-view="badge"] .badge-promise{font-size:clamp(2rem,10vw,2.55rem)}
  .principle-view[data-view="badge"] .principle-steps li{min-height:58px}
  .badge-actions>button{width:100%;padding-inline:14px;font-size:1rem}
  .principle-view[data-view="badge"] .principle-visual{min-height:360px;transform:none}
  .badge-stage .principle-badge{width:180px}
  .badge-price-card{right:14px;bottom:14px}
}

/* QR route on small phones: show the scannable proof immediately after the
   promise, before the explanatory steps and purchase actions. */
@media(max-width:599px){
  .qr-principle{padding:26px 14px calc(var(--ufm-dock-h) + 28px);grid-template-columns:minmax(0,1fr);align-items:start;gap:20px}
  .qr-principle .principle-copy{display:contents}
  .qr-principle .principle-copy>.kicker{order:1;margin-bottom:-8px}
  .qr-principle .principle-copy>h1{order:2;font-size:clamp(2rem,10vw,2.55rem);line-height:1.02}
  .qr-principle .principle-copy>p:not(.kicker){order:3;margin-block:-4px 0}
  .qr-principle .qr-demo-stage{order:4;width:100%;min-height:0;padding:8px 0;transform:none}
  .qr-principle .demo-qr-card{width:min(250px,82vw)}
  .qr-principle .principle-steps{order:5;width:100%}
  .qr-principle .purchase-actions{order:6;width:100%}
}
@media(min-width:600px) and (max-width:767px){
  .principle-view[data-view="badge"]{padding:34px 24px calc(var(--ufm-dock-h) + 38px);gap:28px}
  .principle-view[data-view="badge"] .principle-visual{min-height:450px;transform:none}
}
@media(min-width:768px) and (max-width:1279px){
  .principle-view[data-view="badge"]{padding:36px clamp(30px,5vw,58px) calc(var(--ufm-dock-h) + 42px);grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:clamp(28px,4vw,54px)}
  .principle-view[data-view="badge"] .principle-visual{min-height:480px;transform:none}
}
@media(min-width:1280px){
  .principle-view[data-view="badge"]{grid-template-columns:minmax(420px,.95fr) minmax(520px,1.05fr);gap:clamp(54px,6vw,94px);padding-block:clamp(44px,6vh,70px)}
  .principle-view[data-view="badge"] .principle-visual{min-height:520px}
}
@media(prefers-reduced-motion:reduce){.badge-stage .principle-badge{animation:none;transform:rotate(-7deg) scale(1.3)}}

/* iPhone 14 and neighbouring 390 px phones. The owner row previously gave
   the name almost no inline space, which made it grow vertically and distorted
   the handset. The price components also need a single-column reading order. */
@media(min-width:360px) and (max-width:767px){
  .hero.active{padding-bottom:calc(var(--ufm-dock-h) + 20px + env(safe-area-inset-bottom))}
  .site-footer{padding-bottom:calc(var(--ufm-dock-h) + 28px + env(safe-area-inset-bottom))}
  .hero.active .hero-visual{min-height:500px}
  .hero.active .hero-visual .visual-phone{width:232px;min-height:422px;padding:10px;border-radius:38px}
  .hero.active .hero-visual .pet-preview{min-height:400px;padding:25px 12px 12px}
  .hero.active .hero-visual .pet-preview footer{min-height:58px;margin-top:auto;padding:8px;grid-template-columns:32px minmax(64px,1fr) auto;gap:6px;align-items:center}
  .hero.active .hero-visual .pet-preview footer .avatar{width:32px;height:32px}
  .hero.active .hero-visual .pet-preview footer span:nth-child(2){min-width:0}
  .hero.active .hero-visual .pet-preview footer small{font-size:.42rem;line-height:1.15;white-space:nowrap}
  .hero.active .hero-visual .pet-preview footer strong{font-size:.68rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero.active .hero-visual .pet-preview footer button{padding:6px 0;font-size:.5rem;line-height:1.2;white-space:nowrap}
  .hero.active .hero-visual .real-badge{width:72px;left:calc(50% - 151px);bottom:46px}
  .hero.active .hero-price{grid-template-columns:minmax(0,1fr);gap:0;padding:16px}
  .hero.active .hero-price>header{grid-column:1;margin-bottom:2px}
  .hero.active .hero-price>i{display:none}
  .hero.active .hero-price>div{min-width:0;padding:13px 0;border:0;border-bottom:1px solid #e2dcd6}
  .hero.active .hero-price>div:last-child{padding:13px 0 0;border:0}
  .hero.active .hero-price small,.hero.active .hero-price strong,.hero.active .hero-price>div>span{justify-content:flex-start}
  .hero.active .hero-price>header strong{font-size:.88rem;line-height:1.4;overflow-wrap:normal;word-break:normal;white-space:normal}
  .hero.active .hero-price>div>strong{font-size:1.45rem;overflow-wrap:normal;word-break:normal;white-space:nowrap}
  .hero.active .hero-price>div>strong em{font-size:.72rem}
  .hero.active .hero-price>div>span{min-height:0;font-size:.68rem}
  .hero.active .daily-price-coin{width:44px;height:44px;flex-basis:44px}
}

/* Phones, including large 600-767 px handsets, read and can act on the promise
   before secondary proof. display:contents keeps one semantic card in the DOM
   while the visual order remains independent from the accessible source order.
   The tablet composition starts explicitly at 768 px. */
@media(max-width:767px){
  .hero.active{display:flex;align-items:stretch;flex-direction:column}
  .hero.active>.hero-copy,.hero.active>.hero-product{display:contents}
  .hero.active>.hero-copy>.kicker{order:1}
  .hero.active>.hero-copy>.hero-promise{order:2}
  .hero.active>.hero-copy>p:not(.kicker){order:3}
  .hero.active>.hero-copy>.actions{order:4;width:100%}
  .hero.active>.hero-copy>.hero-how{order:5;width:100%}
  .hero.active .hero-visual{order:6;width:100%;min-height:480px;margin:4px auto 8px}
  .hero.active>.hero-copy>.ufm-purchase-assurance.is-home{order:7;width:100%}
  .hero.active>.hero-copy>.proof{order:8;width:100%}
  .hero.active .hero-price{order:9;width:100%;margin:12px 0 0}
  .hero.active>.hero-meo-promo{order:10;width:100%}
  .hero.active .hero-visual .visual-phone{width:min(224px,calc(100vw - 72px));min-height:408px;padding:9px;border-width:7px;border-radius:36px;transform:rotate(-.6deg);box-shadow:0 24px 55px #40304d2b}
  .hero.active .hero-visual .visual-phone .visual-island{width:76px;height:17px}
  .hero.active .hero-visual .pet-preview{min-height:390px;padding-top:24px;border-radius:27px}
  .hero.active .hero-visual .pet-preview footer{min-height:58px;margin-top:auto;padding:8px;grid-template-columns:32px minmax(58px,1fr) auto;gap:6px;align-items:center}
  .hero.active .hero-visual .pet-preview footer .avatar{width:32px;height:32px}
  .hero.active .hero-visual .pet-preview footer span:nth-child(2){min-width:0}
  .hero.active .hero-visual .pet-preview footer small{font-size:.42rem;line-height:1.15;white-space:nowrap}
  .hero.active .hero-visual .pet-preview footer strong{font-size:.68rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero.active .hero-visual .pet-preview footer button{padding:6px 0;font-size:.5rem;line-height:1.2;white-space:nowrap}

  /* The owner row must remain a three-part control inside the narrow phone.
     Explicit intrinsic sizing prevents WebKit/Chrome from shrinking the owner
     name to one character per line when text scaling or stale theme rules are
     present. */
  .hero.active .hero-visual .pet-preview footer{
    width:100%;box-sizing:border-box;overflow:hidden;
    grid-template-columns:32px minmax(0,1fr) max-content;
  }
  .hero.active .hero-visual .pet-preview footer>span:nth-of-type(2){
    width:auto;min-width:0;max-width:none;
    display:flex;align-items:flex-start;justify-content:center;
    flex-direction:column;overflow:hidden;
    word-break:keep-all;overflow-wrap:normal;
  }
  .hero.active .hero-visual .pet-preview footer>span:nth-of-type(2)>small,
  .hero.active .hero-visual .pet-preview footer>span:nth-of-type(2)>strong{
    width:100%;max-width:100%;display:block;
    word-break:keep-all;overflow-wrap:normal;white-space:nowrap;
  }
  .hero.active .hero-visual .pet-preview footer button{
    width:auto;min-width:max-content;max-width:none;
    word-break:keep-all;overflow-wrap:normal;
  }
  .hero.active .hero-visual .real-badge{width:68px;left:calc(50% - 145px);bottom:44px}
  .hero.active .hero-visual .aura-one{width:260px;height:260px}
  .hero.active .hero-visual .aura-two{width:116px;height:116px}
  .hero.active .hero-price{grid-template-columns:minmax(0,1fr);gap:0;padding:16px}
  .hero.active .hero-price>header{grid-column:1;margin-bottom:2px}
  .hero.active .hero-price>i{display:none}
  .hero.active .hero-price>div{min-width:0;padding:13px 0;border:0;border-bottom:1px solid #e2dcd6}
  .hero.active .hero-price>div:last-child{padding:13px 0 0;border:0}
  .hero.active .hero-price small,.hero.active .hero-price strong,.hero.active .hero-price>div>span{justify-content:flex-start}
  .hero.active .hero-price>header strong{font-size:.88rem;line-height:1.4;white-space:normal}
  .hero.active .hero-price>div>strong{font-size:1.45rem;overflow-wrap:normal;word-break:normal;white-space:nowrap}
  .hero.active .hero-price>div>strong em{font-size:.72rem}
  .hero.active .hero-price>div>span{min-height:0;font-size:.68rem}
  .hero.active .daily-price-coin{width:44px;height:44px;flex-basis:44px}
}
@media(max-width:359px){
  .hero.active{padding-bottom:calc(var(--ufm-dock-h) + 16px + env(safe-area-inset-bottom))}
  .site-footer{padding-bottom:calc(var(--ufm-dock-h) + 24px + env(safe-area-inset-bottom))}
  .hero.active .hero-visual{min-height:460px}
  .hero.active .hero-visual .visual-phone{width:min(214px,calc(100vw - 64px))}
  .hero.active .hero-visual .real-badge{left:calc(50% - 137px)}
}

/* Mobile home composition: promise, lead, action, explanation, product, proof.
   The explicit assurance order prevents its unclassified flex item from
   defaulting to order 0 and appearing above the main heading. */
@media(max-width:767px){
  .hero.active{grid-template-rows:auto auto auto auto auto auto auto auto;gap:0}
  .hero.active>.hero-copy,.hero.active>.hero-product{display:contents}
  .hero.active .kicker,.hero.active .hero-promise,.hero.active .hero-copy>p:not(.kicker),
  .hero.active .hero-visual,.hero.active .hero-how,.hero.active .actions,
  .hero.active .proof,.hero.active .hero-price{grid-column:1;width:100%;max-width:680px;margin-right:auto;margin-left:auto}
  .hero.active .kicker{grid-row:1}
  .hero.active .hero-promise{grid-row:2}
  .hero.active .hero-copy>p:not(.kicker){grid-row:3;margin-bottom:8px}
  .hero.active .actions{grid-row:4}
  .hero.active .hero-how{grid-row:5;margin-top:10px}
  .hero.active .hero-visual{
    grid-row:6;min-height:414px;margin-top:2px;margin-bottom:8px;
    position:relative;isolation:isolate;border:1px solid #e8dfeb;border-radius:32px;
    background:radial-gradient(circle at 50% 45%,#fff 0 28%,#f5eef9 62%,#fff7f2 100%);
    box-shadow:inset 0 1px #fff,0 18px 45px #34204412;
  }
  .hero.active .hero-visual::after{width:128px;height:20px;bottom:15px;left:50%;z-index:-1;position:absolute;border-radius:50%;background:#30203c24;filter:blur(10px);content:"";transform:translateX(-50%)}
  .hero.active .hero-visual .visual-phone{
    width:min(238px,calc(100vw - 82px));min-height:398px;padding:8px;
    border-width:7px;border-radius:34px;box-shadow:0 22px 44px #30203c31,0 4px 10px #30203c1f;
    transform:rotate(-1.2deg);transform-origin:center 72%;
  }
  .hero.active .hero-visual .visual-island{width:82px;height:18px;top:3px;border-radius:0 0 12px 12px}
  .hero.active .hero-visual .pet-preview{min-height:382px;padding:24px 12px 11px;border-radius:25px}
  .hero.active .hero-visual .pet-preview>img{width:104px;height:104px;margin:12px auto 7px;border-width:5px;box-shadow:0 8px 20px #30203c25}
  .hero.active .hero-visual .pet-preview h2{font-size:1.75rem;line-height:1}
  .hero.active .hero-visual .pet-preview footer{padding:8px;border-radius:14px}
  .hero.active .hero-visual .real-badge{width:70px;left:calc(50% - 150px);bottom:42px;z-index:4;filter:drop-shadow(0 12px 13px #30203c3b);transform:rotate(-8deg)}
  .hero.active .hero-visual .aura-one{width:260px;height:260px;opacity:.65}.hero.active .hero-visual .aura-two{width:116px;height:116px;opacity:.72}
  .hero.active .hero-visual .fub-illustrative-note{top:12px;z-index:6;max-width:calc(100% - 30px);white-space:normal;text-align:center}
  .hero.active .ufm-purchase-assurance.is-home{grid-row:7}
  .hero.active .proof{grid-row:8}
  .hero.active .hero-price{grid-row:9;margin-top:18px}
}
@media(max-width:359px){
  .hero.active .hero-visual{min-height:390px;border-radius:26px}
  .hero.active .hero-visual .visual-phone{width:min(216px,calc(100vw - 72px));min-height:374px}
  .hero.active .hero-visual .pet-preview{min-height:358px}
  .hero.active .hero-visual .real-badge{width:64px;left:calc(50% - 137px);bottom:38px}
}

/* Intrinsic owner-row safety at every width. The preview itself becomes narrow
   on some desktop and tablet compositions, so viewport-only rules are not
   sufficient: the component must protect its own readable columns. */
.hero.active .hero-visual .pet-preview footer{
  width:100%;box-sizing:border-box;overflow:hidden;
  grid-template-columns:34px minmax(48px,1fr) max-content;
}
.hero.active .hero-visual .pet-preview footer>span:nth-of-type(2){
  width:auto;min-width:0;max-width:none;
  display:flex;align-items:flex-start;justify-content:center;
  flex-direction:column;overflow:hidden;
  word-break:keep-all;overflow-wrap:normal;
}
.hero.active .hero-visual .pet-preview footer>span:nth-of-type(2)>small,
.hero.active .hero-visual .pet-preview footer>span:nth-of-type(2)>strong{
  width:100%;max-width:100%;display:block;
  overflow:hidden;text-overflow:ellipsis;
  word-break:keep-all;overflow-wrap:normal;white-space:nowrap;
}
.hero.active .hero-visual .pet-preview footer button{
  width:auto;min-width:max-content;max-width:none;padding-inline:2px;
  font-size:clamp(.45rem,1vw,.58rem);word-break:keep-all;
  overflow-wrap:normal;white-space:nowrap;
}

/* The DESIGN control belongs exclusively to the home illustration. It is no
   longer a global floating utility and therefore cannot cover page content. */
.hero.active .hero-visual>.layout-illustration-cta{
  width:156px;min-width:156px;max-width:156px;height:auto;
  padding:7px;position:absolute;z-index:9;
  right:0;top:auto;bottom:-124px;left:auto;
  display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:5px 7px;
  overflow:visible;border:1px solid #ddd6cf;border-radius:16px;
  color:#171327;background:#fffdfbf2;box-shadow:0 10px 26px #1713271c;
  text-align:left;transform:none;backdrop-filter:blur(10px);
}
.hero.active .hero-visual>.layout-illustration-cta>i{
  width:34px;height:34px;border-radius:10px;grid-column:1;grid-row:1;
}
.hero.active .hero-visual>.layout-illustration-cta>span{
  min-width:0;grid-column:2;grid-row:1;display:grid;gap:1px;
}
.hero.active .hero-visual>.layout-illustration-cta small{display:none}
.hero.active .hero-visual>.layout-illustration-cta strong{
  overflow:hidden;text-overflow:ellipsis;font-size:.65rem;line-height:1.2;white-space:nowrap;
}
.hero.active .hero-visual>.layout-illustration-cta>b{
  min-height:42px;padding:7px;grid-column:1/-1;grid-row:2;
  display:flex;align-items:center;justify-content:center;border-radius:11px;
  color:#fff;background:#171327;font-size:.64rem;line-height:1.2;text-align:center;
}
.hero.active .hero-visual>.layout-illustration-cta:hover{border-color:#513580;transform:none}
body.ufm-utility-open .hero.active .hero-visual>.layout-illustration-cta{opacity:1;visibility:visible;pointer-events:auto}
.hero.active .hero-visual:has(>.layout-illustration-cta:not([hidden])){margin-bottom:136px}

@media(max-width:359px){
  .hero.active .hero-visual>.layout-illustration-cta{
    width:146px;min-width:146px;max-width:146px;right:-2px;
  }
  .hero.active .hero-visual>.layout-illustration-cta>b{font-size:.6rem}
}

@media(min-width:600px){
  .hero.active .hero-visual>.layout-illustration-cta{
    width:188px;min-width:188px;max-width:188px;padding:9px;
    right:8px;grid-template-columns:40px minmax(0,1fr);gap:7px 9px;border-radius:18px;
  }
  .hero.active .hero-visual>.layout-illustration-cta>i{width:40px;height:40px;border-radius:11px}
  .hero.active .hero-visual>.layout-illustration-cta small{display:block;font-size:.48rem;line-height:1.2;letter-spacing:.08em}
  .hero.active .hero-visual>.layout-illustration-cta strong{font-size:.72rem}
  .hero.active .hero-visual>.layout-illustration-cta>b{min-height:44px;font-size:.68rem}
}

@media(min-width:768px){
  .hero.active .hero-visual:has(>.layout-illustration-cta:not([hidden])){margin-bottom:0}
  .hero.active .hero-visual>.layout-illustration-cta{right:-2px;top:50%;bottom:auto;transform:translateY(-50%)}
  .hero.active .hero-visual>.layout-illustration-cta:hover{transform:translateY(-50%)}
}

@media(min-width:1024px) and (max-width:1279px){
  .hero.active .hero-visual>.layout-illustration-cta{
    width:122px;min-width:122px;max-width:122px;right:-60px;
    grid-template-columns:34px minmax(0,1fr);padding:7px;
  }
  .hero.active .hero-visual>.layout-illustration-cta>i{width:34px;height:34px}
  .hero.active .hero-visual>.layout-illustration-cta small{display:none}
}

@media(min-width:1280px){
  .hero.active .hero-visual>.layout-illustration-cta{right:-70px}
}

/* The DESIGN selector is contextual, not a global utility. app.js mounts it
   inside the home illustration and marks it hidden on every other route. Keep
   that hidden state authoritative even though the compact control has its own
   display declaration above. */
.layout-illustration-cta[hidden]{display:none}
body:not(:has(.hero[data-view="accueil"].active)) .layout-illustration-cta{display:none}

/* Studio on a small phone: put the interactive proof immediately after the
   promise. The QR/NFC tabs are the two clear entry points; the animated phone
   then demonstrates the selected gesture before details and purchase. */
@media(max-width:599px){
  .studio[data-view="studio"]:has(.action-journey){
    width:100%;height:auto;min-height:0;
    padding:24px 14px calc(var(--ufm-dock-h) + 28px + env(safe-area-inset-bottom));
    display:grid;grid-template-columns:minmax(0,1fr);
    align-items:start;align-content:start;gap:16px;
    overflow:visible;text-align:left;
  }
  .studio[data-view="studio"]>.action-heading,
  .studio[data-view="studio"]>.action-heading>div,
  .studio[data-view="studio"]>.action-demo-shell,
  .studio[data-view="studio"] .action-journey{display:contents}
  .studio[data-view="studio"] .action-heading .kicker{order:1;margin:0 0 -7px}
  .studio[data-view="studio"] .action-heading h1{
    order:2;max-width:13ch;margin:0;
    font-size:clamp(2rem,10vw,2.55rem);line-height:1.04;
    letter-spacing:-.04em;text-align:left;text-wrap:balance;
  }
  .studio[data-view="studio"] .action-heading>div>p:last-child{
    order:4;max-width:58ch;margin:0;
    font-size:.96rem;line-height:1.55;text-align:left;
  }
  .studio[data-view="studio"] .action-method-tabs{
    order:3;width:100%;margin:2px 0 0;justify-self:stretch;
  }
  .studio[data-view="studio"] .action-video-panel{
    order:5;width:100%;min-width:0;margin:0;
  }
  .studio[data-view="studio"] .action-stage{
    order:6;width:100%;min-height:438px;margin:0;
    justify-self:center;overflow:hidden;border:1px solid #e7dfe9;
    border-radius:28px;background:linear-gradient(145deg,#fffdfb,#f2edf7);
  }
  .studio[data-view="studio"] .action-stage::before{width:310px;height:310px}
  .studio[data-view="studio"] .action-phone{width:228px;height:418px}
  .studio[data-view="studio"] .action-steps{
    order:5;width:100%;margin:0;
    grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;
  }
  .studio[data-view="studio"] .action-steps li{
    min-height:58px;padding:9px;grid-template-columns:1fr;
    text-align:left;
  }
  .studio[data-view="studio"] .action-steps li strong{font-size:.72rem}
  .studio[data-view="studio"] .action-heading>.primary{
    order:7;width:100%;min-height:50px;margin:0;
  }
}

@media(max-width:359px){
  .studio[data-view="studio"]:has(.action-journey){padding-inline:12px}
  .studio[data-view="studio"] .action-stage{min-height:406px;border-radius:24px}
  .studio[data-view="studio"] .action-phone{width:212px;height:390px}
  .studio[data-view="studio"] .action-steps{grid-template-columns:1fr}
}

/* Small-phone routing invariant.
   Highly specific presentation rules can assign `display` with.
   This final selector guarantees that a routed view marked hidden never leaks
   into another page. The router removes `hidden` and adds `.active` only to
   the requested view. */
html.js body main > section.view[hidden],
html.js body main > section.view:not(.active){
  display:none;
}
.no-js-notice{max-width:72rem;margin:1rem auto;padding:1rem 1.25rem;border:1px solid #ded6e7;border-radius:1rem;color:#251a3d;background:#fff;box-shadow:0 .5rem 1.5rem #251a3d12;font-weight:700}

/* Small-phone application dock.
   Reassert the complete fixed-position contract in the last-loaded stylesheet
   so no responsive override can put the dock back into normal document flow. */
@media(max-width:599px){
  :root{--ufm-small-dock-h:calc(68px + env(safe-area-inset-bottom))}
  html body .mobile-app-nav{
    width:100vw;max-width:100vw;
    height:var(--ufm-small-dock-h);min-height:var(--ufm-small-dock-h);
    margin:0;
    padding:6px max(4px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));
    position:fixed;inset:auto 0 0 0;z-index:1000;
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
    border-radius:0;transform:translate3d(0,0,0);
    isolation:isolate;contain:layout paint style;
  }
  html body .mobile-app-nav[hidden]{display:none}
  html body main{padding-bottom:var(--ufm-small-dock-h)}
  html body .site-footer{padding-bottom:calc(var(--ufm-small-dock-h) + 28px)}
}

/* source: header-responsive-v3.css */
/**
 * @file Presentation layer for header responsive v3.
 *
 * Mobile-first responsive styling only; preserve touch targets, fluid containment and the seven-breakpoint contract.
 */

/* UFoundMe! header v4 — seven non-overlapping viewport bands.
   Languages, owner profile and cart remain visible; routes collapse early. */
.topbar{width:100%;max-width:100vw}.topbar>*,.topbar>.logo img,.compact-header-actions{min-width:0}.topbar>.logo img{height:auto}.mobile-app-nav[hidden],.mobile-menu-sheet[hidden]{display:none}

/* Compact actions are shared by every collapsed desktop band. Their complete
   geometry lives here so no intermediate viewport can expose raw SVG sizes. */
.compact-cart-trigger,.compact-menu-trigger{height:46px;min-height:46px;max-height:46px;padding:0 14px;border:1px solid #ddd5de;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;color:#171327;background:#fff;font:750 .72rem Lexend,system-ui,sans-serif;line-height:1;white-space:nowrap;cursor:pointer}
.compact-cart-trigger img,.compact-menu-trigger img{width:18px;height:18px;min-width:18px;max-width:18px;object-fit:contain}
.compact-cart-trigger b{min-width:21px;height:21px;padding:0 5px;border-radius:99px;display:grid;place-items:center;color:#fff;background:#513580;font-size:.55rem}
.compact-menu-trigger{min-width:96px;color:#fff;background:#171327;border-color:#171327}
.compact-menu-trigger img{filter:invert(1)}
.compact-cart-trigger:hover{border-color:#513580;background:#f7f3fb}.compact-menu-trigger:hover{background:#513580;border-color:#513580}
.wide-menu-trigger{display:none}

/* Shared progressive-enhancement shell. Page-specific styles must not be
   required for the hamburger to render or remain usable. */
.mobile-menu-sheet{width:440px;max-width:calc(100vw - 12px);max-height:calc(100svh - 104px);padding:20px;position:fixed;z-index:95;top:92px;right:clamp(34px,4vw,100px);bottom:auto;left:auto;overflow:auto;border:1px solid #17132718;border-radius:24px;display:grid;gap:16px;background:#fff;box-shadow:0 28px 80px #17132738}
.mobile-menu-sheet>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.mobile-menu-sheet>header a{display:flex;align-items:center}.mobile-menu-sheet>header img{width:145px;height:auto}.mobile-menu-sheet>header button{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:50%;display:grid;place-items:center;background:#f2efeb;font-size:1.25rem}
.mobile-sheet-routes{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mobile-sheet-routes>*{min-height:62px;padding:11px;border:0;border-radius:16px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;color:#171327;background:#f6f3ef;text-align:left;text-decoration:none;font:800 .7rem Lexend,sans-serif}.mobile-sheet-routes img{width:20px;height:20px}.mobile-sheet-routes b{font-size:.8rem}.compact-only-route{display:grid}
.mobile-sheet-account{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mobile-sheet-account a,.mobile-sheet-account button{min-height:46px;padding:0 13px;border:1px solid #e6e1dc;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#171327;background:#fff;text-align:center;text-decoration:none;font:800 .68rem Lexend,sans-serif}.mobile-sheet-account .primary{border:0;color:#fff;background:#171327}
.mobile-sheet-tools{min-width:0;padding-top:12px;border-top:1px solid #e6e1dc;display:grid;gap:9px}.mobile-sheet-tools h2{margin:0;color:#665e70;font:800 .65rem/1.2 Lexend,sans-serif;letter-spacing:.1em;text-transform:uppercase}.mobile-sheet-tools>div{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-sheet-tools :is(a,button){min-width:0;min-height:48px;padding:9px 11px;border:1px solid #e6e1dc;border-radius:14px;display:flex;align-items:center;gap:9px;color:#171327;background:#fff;text-align:left;text-decoration:none;font:750 .7rem/1.25 Lexend,sans-serif;overflow-wrap:anywhere}.mobile-sheet-tools :is(a,button):hover,.mobile-sheet-tools :is(a,button):focus-visible{border-color:#513580;background:#f7f3fb;outline:0}.mobile-sheet-tools img{width:19px;height:19px;flex:0 0 19px}.mobile-sheet-tools .menu-aa{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#513580;font-size:.58rem}
.mobile-sheet-languages{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.mobile-sheet-languages a{min-height:42px;padding:0;border:1px solid #ddd5de;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#171327;background:#fff;text-decoration:none;font-size:.64rem;font-weight:800}.mobile-sheet-languages a[aria-current]{color:#fff;background:#171327}
body.mobile-menu-open{overflow:hidden}

@media(min-width:1760px){
  .mobile-menu-sheet{width:440px;max-height:calc(100svh - 104px);padding:20px;position:fixed;z-index:95;top:92px;right:clamp(34px,4vw,100px);bottom:auto;left:auto;overflow:auto;border:1px solid #17132718;border-radius:24px;display:grid;gap:16px;background:#fff;box-shadow:0 28px 80px #17132738}
  .mobile-menu-sheet>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.mobile-menu-sheet>header a{display:flex;align-items:center}.mobile-menu-sheet>header img{width:145px;height:auto}.mobile-menu-sheet>header button{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:50%;display:grid;place-items:center;background:#f2efeb;font-size:1.25rem}
  .mobile-sheet-routes{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mobile-sheet-routes>*{min-height:62px;padding:11px;border:0;border-radius:16px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;color:#171327;background:#f6f3ef;text-align:left;text-decoration:none;font:800 .7rem Lexend,sans-serif}.mobile-sheet-routes img{width:20px;height:20px}.mobile-sheet-routes b{font-size:.8rem}.compact-only-route{display:grid}
  .mobile-sheet-account{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mobile-sheet-account a,.mobile-sheet-account button{min-height:46px;padding:0 13px;border:1px solid #e6e1dc;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#171327;background:#fff;text-align:center;text-decoration:none;font:800 .68rem Lexend,sans-serif}.mobile-sheet-account .primary{border:0;color:#fff;background:#171327}
  .mobile-sheet-languages{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.mobile-sheet-languages a{min-height:42px;padding:0;border:1px solid #ddd5de;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#171327;background:#fff;text-decoration:none;font-size:.64rem;font-weight:800}.mobile-sheet-languages a[aria-current]{color:#fff;background:#171327}
  body.mobile-menu-open{overflow:hidden}
}

/* 1 — ultra-wide desktop. Full routes, with a real reserved column for the
   universal language/account controls injected at the right. */
@media(min-width:2000px){
  .topbar{height:82px;min-height:82px;padding:0 clamp(48px,5vw,100px);display:grid;grid-template-columns:190px 96px minmax(780px,1fr) minmax(360px,430px);align-items:center;gap:18px}
  .topbar>.logo{margin:0;grid-column:1;justify-self:start}.topbar>.logo img{width:165px}
  .wide-menu-trigger{grid-column:2;min-width:92px;min-height:46px;padding:0 14px;border:1px solid #171327;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:#171327;font:750 .7rem/1 Lexend,system-ui,sans-serif;cursor:pointer}.wide-menu-trigger img{width:18px;height:18px;filter:invert(1)}.wide-menu-trigger:hover,.wide-menu-trigger:focus-visible{border-color:#513580;background:#513580;outline:3px solid #51358024;outline-offset:2px}
  .topbar>nav{grid-column:3;display:flex;align-self:stretch;align-items:center;justify-content:center;gap:clamp(12px,.9vw,20px)}
  .topbar>nav a{min-height:44px;padding:0 2px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:var(--ufm-header-font-size);line-height:1.25}
  .topbar>.account-actions,.compact-header-actions,.mobile-cart-trigger,.mobile-app-nav{display:none}
}

/* 2 — wide desktop. Full routes remain readable, but spacing tightens. */
@media(min-width:1760px) and (max-width:1999px){
  .topbar{height:76px;min-height:76px;padding:0 clamp(34px,4vw,70px);display:grid;grid-template-columns:180px 92px minmax(690px,1fr) minmax(320px,390px);align-items:center;gap:15px}
  .topbar>.logo{margin:0;grid-column:1;justify-self:start}.topbar>.logo img{width:158px}
  .wide-menu-trigger{grid-column:2;min-width:88px;min-height:44px;padding:0 12px;border:1px solid #171327;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#fff;background:#171327;font:750 .66rem/1 Lexend,system-ui,sans-serif;cursor:pointer}.wide-menu-trigger img{width:17px;height:17px;filter:invert(1)}.wide-menu-trigger:hover,.wide-menu-trigger:focus-visible{border-color:#513580;background:#513580;outline:3px solid #51358024;outline-offset:2px}
  .topbar>nav{grid-column:3;display:flex;align-items:center;justify-content:center;gap:clamp(9px,.75vw,15px)}
  .topbar>nav a{min-height:44px;padding:0 1px;display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--ufm-header-font-size)}
  .topbar>.account-actions,.compact-header-actions,.mobile-cart-trigger,.mobile-app-nav{display:none}
}

/* 3 — desktop. Routes collapse before they can squeeze or overlap. */
@media(min-width:1440px) and (max-width:1759px){
  .topbar{height:74px;min-height:74px;padding:0 clamp(28px,4vw,64px);display:grid;grid-template-columns:180px minmax(230px,1fr) minmax(330px,390px);align-items:center;gap:18px}
  .topbar>.logo{margin:0;grid-column:1;justify-self:start}.topbar>.logo img{width:158px}.topbar>nav,.topbar>.account-actions{display:none}
  .compact-header-actions{grid-column:2;display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:9px;margin:0}.mobile-cart-trigger,.mobile-app-nav{display:none}
  .mobile-menu-sheet{top:84px;right:clamp(28px,4vw,64px);bottom:auto;left:auto}
}

/* 4 — compact desktop, including the 1336 CSS-pixel viewport in the report. */
@media(min-width:1280px) and (max-width:1439px){
  .topbar{height:72px;min-height:72px;padding:0 28px;display:grid;grid-template-columns:170px minmax(220px,1fr) minmax(300px,340px);align-items:center;gap:16px}
  .topbar>.logo{margin:0;grid-column:1;justify-self:start}.topbar>.logo img{width:154px}.topbar>nav,.topbar>.account-actions{display:none}
  .compact-header-actions{grid-column:2;display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:8px;margin:0}.compact-cart-trigger,.compact-menu-trigger{font-size:.72rem}.mobile-cart-trigger,.mobile-app-nav{display:none}
  .mobile-menu-sheet{top:80px;right:28px;bottom:auto;left:auto}
}

/* 5 — landscape tablet. Bottom app navigation; cart sits to the left of the
   persistent language/profile cluster instead of underneath it. */
@media(min-width:1024px) and (max-width:1279px){
  .topbar{height:66px;min-height:66px;padding:0 18px;position:sticky;display:flex;align-items:center;justify-content:flex-start}
  .topbar>.logo{margin:0}.topbar>.logo img{width:145px}.topbar>nav,.topbar>.account-actions,.compact-header-actions{display:none}
  /* Reserve the complete 254 px account/language capsule and its gutter. */
  .wide-menu-trigger{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;position:absolute;right:438px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #171327;border-radius:50%;color:#fff;background:#171327;cursor:pointer}.wide-menu-trigger img{width:18px;height:18px;filter:invert(1)}.wide-menu-trigger span{display:none}.wide-menu-trigger:hover,.wide-menu-trigger:focus-visible{border-color:#513580;background:#513580;outline:3px solid #51358024;outline-offset:2px}
  .mobile-cart-trigger{position:absolute;right:359px;display:inline-flex;align-items:center;min-width:44px;min-height:44px}.mobile-app-nav{display:none}
}

/* 6 — portrait tablet. The universal controls are compact at this threshold. */
@media(min-width:768px) and (max-width:1023px){
  .topbar{height:64px;min-height:64px;padding:0 16px;position:sticky;display:flex;align-items:center;justify-content:flex-start}
  .topbar>.logo{margin:0}.topbar>.logo img{width:140px}.topbar>nav,.topbar>.account-actions,.compact-header-actions{display:none}
  .wide-menu-trigger{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;position:absolute;right:16px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #171327;border-radius:50%;color:#fff;background:#171327;cursor:pointer}.wide-menu-trigger img{width:18px;height:18px;filter:invert(1)}.wide-menu-trigger span{display:none}.wide-menu-trigger:hover,.wide-menu-trigger:focus-visible{border-color:#513580;background:#513580;outline:3px solid #51358024;outline-offset:2px}
  .mobile-cart-trigger{position:absolute;right:68px;display:inline-flex;align-items:center;min-width:44px;min-height:44px}.mobile-app-nav{display:grid;width:100%;right:0;left:0;border-radius:0}
}

/* 7 — phones. Logo, cart and language/profile remain separate touch targets. */
@media(max-width:767px){
  .topbar{height:60px;min-height:60px;padding:0 8px;display:flex;align-items:center;justify-content:flex-start}.topbar>.logo{margin:0}.topbar>.logo img{width:clamp(100px,27vw,126px)}
  .topbar>nav,.topbar>.account-actions,.compact-header-actions{display:none}.wide-menu-trigger{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;position:absolute;right:8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #171327;border-radius:50%;color:#fff;background:#171327}.wide-menu-trigger img{width:18px;height:18px;filter:invert(1)}.wide-menu-trigger span{display:none}.mobile-cart-trigger{position:absolute;right:60px;display:inline-flex;min-width:44px;min-height:44px;padding:0 8px}.mobile-cart-trigger span{display:none}.mobile-app-nav{display:grid;width:100%;right:0;left:0;border-radius:0}
  .mobile-app-nav>button{min-width:0;overflow:hidden}.mobile-app-nav>button>span{font-size:clamp(.6rem,2.1vw,.69rem);line-height:1.2}
}
@media(max-width:359px){.topbar>.logo img{width:96px}.mobile-cart-trigger{right:58px}.wide-menu-trigger{right:6px}}

/* Auth and contact shells inherit legacy document widths. Anchor their menu
   to the viewport explicitly so it cannot drift past the right edge. */
@media(min-width:768px) and (max-width:1023px){
  .auth-page-ufoundme .mobile-menu-sheet{width:min(520px,calc(100vw - 32px));max-width:calc(100vw - 32px);right:16px;left:auto}
}
@media(max-width:767px){
  .auth-page-ufoundme .mobile-menu-sheet{width:auto;max-width:none;right:12px;left:12px}
}
.mobile-wall-of-fame{display:none}

/* Shared collision guard. */
@media(max-width:1999px){.topbar>*{min-width:0}.compact-header-actions button,.mobile-cart-trigger{flex:0 0 auto}.mobile-menu-sheet{max-width:calc(100vw - 12px)}}

/* Brand contract: on every tablet and phone page the header menu is the
   stable black landmark. Hover must not recolour it or reduce contrast. */
@media(max-width:1279px){
  .wide-menu-trigger,
  .wide-menu-trigger:hover,
  .wide-menu-trigger:active,
  .wide-menu-trigger[aria-expanded="true"]{color:#fff;border-color:#000;background:#000}
  .wide-menu-trigger:focus-visible{color:#fff;border-color:#000;background:#000;outline:3px solid #51358038;outline-offset:2px}
}

/* Large phones: the navigation sheet belongs to the header, not to the
   bottom bar. It opens directly below the 60 px header and scrolls internally. */
@media(min-width:480px) and (max-width:767px){
  .mobile-menu-sheet{
    width:auto;max-width:none;max-height:calc(100svh - 148px - env(safe-area-inset-bottom));
    top:68px;right:12px;bottom:auto;left:12px;
    overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
    border-radius:22px;transform:none;
  }
}
.mobile-sheet-tools-title{margin:0;color:#665e70;font:800 .65rem/1.2 Lexend,Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}

}
@layer components {
/* source: title-overview.css */
/**
 * @file Presentation layer for title overview.
 *
 * Mobile-first responsive styling only; preserve touch targets, fluid containment and the seven-breakpoint contract.
 */

/* UFoundMe! title hierarchy: one idea per title, readable on every surface. */
:root{--ufm-title-xl:clamp(2.05rem,3.45vw,3.35rem);--ufm-title-lg:clamp(1.7rem,2.65vw,2.55rem);--ufm-title-md:clamp(1.25rem,1.75vw,1.7rem)}
:where(.hero,.principle-view,.chat-principle,.studio,.help-view,.test-studio,.layouts,.dashboard,.legal-page main,.catalog-page,.ufm-ulule) h1{max-width:15ch;text-wrap:balance;line-height:1.02;letter-spacing:-.045em}
.hero .hero-promise{max-width:13ch;font-size:var(--ufm-title-xl);line-height:1.04}
.hero .hero-promise-statement{max-width:22ch;font-size:clamp(2.15rem,3.25vw,3.35rem);line-height:1.08;letter-spacing:-.04em}
.principle-copy :is(h1,h2),.chat-principle-copy :is(h1,h2),.action-heading :is(h1,h2){max-width:13ch;font-size:var(--ufm-title-xl);line-height:1.02}
.view-heading :is(h1,h2),.test-studio-head :is(h1,h2),.help-head :is(h1,h2){max-width:15ch;font-size:var(--ufm-title-lg);line-height:1.04}
.dashboard .welcome h1,.studio-page .welcome h1,.legal-page h1,.catalog-page h1{font-size:var(--ufm-title-lg);line-height:1.05}
.legal-page article h2,.dashboard .section-title h2,.studio-editor h2{font-size:var(--ufm-title-md);line-height:1.08;text-wrap:balance}
.ufm-ulule .ulule-hero h1{max-width:14ch;font-size:var(--ufm-title-xl);line-height:1.02}
.ufm-ulule :is(.join-panel,.how,.truth,.community,.final-cta) h2{font-size:var(--ufm-title-lg);line-height:1.05;text-wrap:balance}
@media(max-width:1023px){:root{--ufm-title-xl:clamp(2.05rem,9vw,3rem);--ufm-title-lg:clamp(1.8rem,7.5vw,2.55rem);--ufm-title-md:clamp(1.4rem,5.5vw,1.9rem)}:where(.hero,.principle-view,.chat-principle,.studio,.help-view,.test-studio,.layouts,.dashboard,.legal-page main,.catalog-page,.ufm-ulule) h1{max-width:13ch;letter-spacing:-.035em}.hero .hero-promise-statement{max-width:19ch;font-size:clamp(1.9rem,7.2vw,2.7rem)}}
@media(max-width:800px){:root{--ufm-title-xl:clamp(1.85rem,7.8vw,2.65rem);--ufm-title-lg:clamp(1.55rem,6.4vw,2.15rem);--ufm-title-md:clamp(1.2rem,4.8vw,1.6rem)}:where(.principle-copy,.chat-principle-copy,.action-heading,.view-heading,.test-studio-head,.help-head) h2{letter-spacing:-.035em}}
@media(max-width:380px){:root{--ufm-title-xl:clamp(1.9rem,9.7vw,2.45rem);--ufm-title-lg:clamp(1.65rem,8.2vw,2.15rem)}:where(.hero,.principle-view,.chat-principle,.studio,.help-view,.test-studio,.layouts,.dashboard,.legal-page main,.catalog-page,.ufm-ulule) h1{max-width:12ch}}

/* source: footer.css */
/**
 * @file Presentation layer for footer.
 *
 * Mobile-first responsive styling only; preserve touch targets, fluid containment and the seven-breakpoint contract.
 */

.ufm-footer{--ufm-footer-safe-zone:22px;position:relative;padding:40px max(24px,5vw) var(--ufm-footer-safe-zone);display:grid;grid-template-columns:minmax(0,1fr);column-gap:16px;color:#d9d4e3;background:#171327}
.ufm-footer::before{content:attr(data-release);position:absolute;top:18px;right:max(24px,5vw);color:#d9d4e3;font-size:.62rem;line-height:1;letter-spacing:.06em;opacity:.42;font-variant-numeric:tabular-nums}
.ufm-footer-grid{width:min(1320px,100%);margin:auto;display:grid;grid-template-columns:minmax(280px,1.45fr) repeat(3,minmax(150px,.72fr));gap:clamp(34px,5vw,78px)}
.ufm-footer-brand,.ufm-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}
.ufm-footer-brand>a:first-child{display:inline-flex;margin-bottom:7px}.ufm-footer-brand img{width:190px;max-width:100%;height:auto;display:block;filter:brightness(0) invert(1)}
.ufm-footer p{max-width:410px;margin:0;color:#b8b1c2;font-size:.9rem;line-height:1.65}.ufm-footer small{color:#938b9e;font-size:.78rem;line-height:1.5}.ufm-footer strong{margin-bottom:5px;color:#fff;font-size:.9rem;letter-spacing:.01em}
.ufm-footer a{max-width:100%;color:#d0c9d7;text-decoration:none;font-size:.86rem;line-height:1.45;overflow-wrap:anywhere}.ufm-footer a:hover,.ufm-footer a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}.ufm-footer-mail{margin-top:7px;color:#ff8b73;font-weight:750}
.ufm-footer-contact{margin-top:7px;display:grid;gap:4px}.ufm-footer-contact .ufm-footer-mail{margin-top:0}.ufm-footer-contact span{color:#b8b1c2;font-size:.78rem;line-height:1.45}.ufm-footer-contact span b{margin:0;color:#d9d4e3;font-size:inherit;font-weight:600}.ufm-footer-contact span a{font-size:inherit}.ufm-footer-contact address{max-width:410px;color:#b8b1c2;font-size:.78rem;font-style:normal;line-height:1.45;overflow-wrap:anywhere}
.ufm-footer-social{display:grid;gap:7px;margin-top:8px}.ufm-footer-social>strong{margin:0;font-size:.78rem;color:#b8b1c2}.ufm-footer-social-actions{display:flex;flex-wrap:wrap;gap:7px}.ufm-footer-social button,.ufm-footer-social-actions>a{width:42px;height:42px;padding:0;display:grid;place-items:center;border:1px solid #ffffff24;border-radius:50%;color:#fff;background:#ffffff0d;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.ufm-footer-social button:hover,.ufm-footer-social button:focus-visible,.ufm-footer-social-actions>a:hover,.ufm-footer-social-actions>a:focus-visible{transform:translateY(-2px);border-color:#ff8b73;background:#5b3a8e;outline:3px solid #ff8b7333;outline-offset:2px;text-decoration:none}.ufm-footer-social button.is-done{background:#2bab79;border-color:#2bab79}.ufm-footer-social button img,.ufm-footer-social-actions>a img{width:17px;height:17px;filter:brightness(0) invert(1)}.ufm-footer-social output{min-height:1em;color:#7fe0b0;font-size:.72rem;font-weight:750}
.ufm-footer-trust{width:100%;max-width:652px;margin:28px 0 0;justify-self:end;padding:13px 15px;display:flex;align-items:center;gap:11px;border:1px solid #ffffff1a;border-radius:15px;background:#ffffff0a}.ufm-footer-trust img{width:22px;height:22px;filter:brightness(0) invert(1);opacity:.9}.ufm-footer-trust span{display:grid;gap:2px;min-width:0;flex:1;color:#a9a2b1;font-size:.76rem}.ufm-footer-trust span strong{margin:0;font-size:.8rem}.ufm-footer-trust>a{font-weight:750;white-space:nowrap}
.ufm-footer-europe{width:100%;max-width:652px;margin:28px 0 0;justify-self:start;padding:13px 15px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #ffffff18;border-radius:15px;background:#ffffff08}.ufm-footer-europe img{width:42px;height:28px;flex:0 0 auto;border-radius:4px;box-shadow:0 3px 12px #0005}.ufm-footer-europe p{max-width:920px;color:#c9c3d0;font-size:.76rem;line-height:1.4;text-align:left}
.ufm-footer-ai-disclosure{box-sizing:border-box;width:min(1320px,100%);margin:18px auto 0;padding:13px 16px;grid-column:1/-1;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:13px;border:1px solid #ffffff18;border-radius:15px;color:#b8b1c2;background:#ffffff08}.ufm-footer-ai-mark{box-sizing:border-box;width:40px;height:40px;border:1px solid #ffffff40;border-radius:50%;display:grid;place-items:center;color:#fff;background:#563b88;font-size:.72rem;font-weight:800;letter-spacing:.05em}.ufm-footer-ai-disclosure p{max-width:none;font-size:.78rem;line-height:1.45}
.ufm-footer-bottom{width:min(1320px,100%);margin:18px auto 0;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #ffffff1b;color:#8d8593;font-size:.72rem}.ufm-footer-bottom>a{font-size:.72rem;font-weight:750}
.ufm-footer-copyright{display:inline-flex;align-items:baseline;gap:.5rem;white-space:nowrap}.ufm-footer-release{color:#d9d4e3;font:inherit;font-size:.66rem;letter-spacing:.04em;opacity:1;font-variant-numeric:tabular-nums}
.ufm-footer-seller{display:grid;gap:3px;text-align:center}.ufm-footer-seller b{font-weight:500}.ufm-footer-seller small{font:inherit}.ufm-footer-seller a{color:inherit;text-underline-offset:3px}
@media(max-width:1023px){.ufm-footer-grid{grid-template-columns:1.2fr repeat(2,.8fr)}.ufm-footer-grid>nav:last-child{grid-column:2/4}}
@media(max-width:1279px){.ufm-footer{--ufm-footer-safe-zone:calc(32px + env(safe-area-inset-bottom))}}
@media(max-width:767px){.ufm-footer{--ufm-footer-safe-zone:calc(32px + env(safe-area-inset-bottom));padding:36px 24px var(--ufm-footer-safe-zone)}.ufm-footer-grid{grid-template-columns:1fr 1fr;gap:28px 24px}.ufm-footer-brand{grid-column:1/-1}.ufm-footer-grid>nav:last-child{grid-column:auto}.ufm-footer-trust{align-items:flex-start;flex-wrap:wrap}.ufm-footer-trust span{min-width:calc(100% - 40px)}.ufm-footer-bottom{display:grid;gap:6px}}
@media(max-width:679px){.ufm-footer-grid{grid-template-columns:1fr}.ufm-footer-brand,.ufm-footer-grid>nav:last-child{grid-column:auto}.ufm-footer p,.ufm-footer a{font-size:.88rem}.ufm-footer-social button,.ufm-footer-social-actions>a{width:44px;height:44px}.ufm-footer-trust span{min-width:0;width:calc(100% - 40px)}.ufm-footer-trust>a{margin-left:36px}}
@media(max-width:679px){.ufm-footer-ai-disclosure{grid-template-columns:36px minmax(0,1fr);gap:11px;padding:12px 13px}.ufm-footer-ai-mark{width:36px;height:36px;font-size:.68rem}.ufm-footer-ai-disclosure p{font-size:.76rem}}
/* Large smartphones: keep the brand block full width, then expose the three
   navigation families side by side. Small phones remain deliberately stacked. */
@media(min-width:600px) and (max-width:767px){
  .ufm-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px;row-gap:34px}
  .ufm-footer-brand{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);grid-template-rows:auto auto auto;column-gap:32px;row-gap:7px;align-items:start;padding:18px;border:1px solid #ffffff14;border-radius:20px;background:#ffffff06}
  .ufm-footer-brand>a:first-child{grid-column:1;grid-row:1;margin:0;padding:0}
  .ufm-footer-brand>p{grid-column:1;grid-row:2}
  .ufm-footer-brand>small{grid-column:1;grid-row:3}
  .ufm-footer-brand>.ufm-footer-contact{grid-column:2;grid-row:1/3;margin:0}
  .ufm-footer-brand>.ufm-footer-social{grid-column:2;grid-row:3;margin:4px 0 0}
  .ufm-footer-grid>nav:last-child{grid-column:auto}
  .ufm-footer nav{gap:5px}
  .ufm-footer nav strong{font-size:.82rem;line-height:1.25}
  .ufm-footer nav a{display:flex;align-items:center;min-height:44px;font-size:.78rem;line-height:1.25}
}
@media(min-width:768px) and (max-width:1023px){
  .ufm-footer-grid{grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(0,.8fr));gap:clamp(14px,2vw,28px)}
  .ufm-footer-grid>nav:last-child{grid-column:auto}
}
@media(min-width:768px){
  .ufm-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ufm-footer-grid,.ufm-footer-bottom{grid-column:1/-1}
  .ufm-footer-trust{grid-column:1}
  .ufm-footer-europe{grid-column:2}
}
/* Small phones: compact, thumb-friendly navigation. Only the utility ellipsis
   remains above the bottom application bar, so no large floating-control moat
   is required below the legal content. */
@media(max-width:599px){
  .ufm-footer{--ufm-footer-safe-zone:calc(28px + env(safe-area-inset-bottom));padding:32px 18px var(--ufm-footer-safe-zone)}
  .ufm-footer-brand>a:first-child{margin-bottom:5px;padding:7px;border-radius:11px}
  .ufm-footer-brand img{width:164px}
  .ufm-footer-grid{grid-template-columns:1fr;gap:20px}
  .ufm-footer-grid>nav,.ufm-footer-grid>nav:last-child{grid-column:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 8px;padding:13px;border:1px solid #ffffff17;border-radius:16px;background:#ffffff08}
  .ufm-footer-grid>nav strong{grid-column:1/-1;margin:0 0 2px;font-size:.8rem}
  .ufm-footer-grid>nav a{min-width:0;min-height:44px;padding:8px 9px;display:flex;align-items:center;border:1px solid #ffffff12;border-radius:11px;background:#ffffff08;font-size:.72rem;line-height:1.25}
  .ufm-footer-grid>nav a:hover,.ufm-footer-grid>nav a:focus-visible{background:#ffffff14;text-decoration:none}
  .ufm-footer-europe{align-items:flex-start;justify-content:flex-start}
  .ufm-footer-europe p{text-align:left;font-size:.76rem}
  .ufm-footer-trust,.ufm-footer-europe{margin-top:18px}
  .ufm-footer-bottom{margin-top:14px;padding-top:13px}
}
.ufm-footer-brand>a:first-child{padding:8px;border-radius:12px;background:transparent}.ufm-footer-brand img{filter:brightness(0) invert(1)}

/* Same five navigation chunks as the Home. Links remain functional before JS. */
.ufm-public-bottom-nav{display:none}
@media(max-width:1279px){
  body:has(.ufm-public-bottom-nav){padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  body:has(.ufm-public-bottom-nav) .mobile-menu-sheet{
    width:min(680px,calc(100% - 24px));max-width:680px;max-height:calc(100svh - 96px);
    margin:0;padding:18px;position:fixed;z-index:13010;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));left:auto;top:auto;
    display:grid;grid-template-columns:minmax(0,1fr);gap:14px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
    border:1px solid #ded7e2;border-radius:24px;color:#171327;background:#fffdfa;box-shadow:0 24px 70px #17132735;
    font-family:Inter,system-ui,sans-serif
  }
  body:has(.ufm-public-bottom-nav) .mobile-menu-sheet[hidden]{display:none}
  body:has(.ufm-public-bottom-nav) .mobile-menu-sheet>header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px}
  body:has(.ufm-public-bottom-nav) .mobile-menu-sheet>header>a{min-width:0;max-width:calc(100% - 58px);display:inline-flex}
  body:has(.ufm-public-bottom-nav) .mobile-menu-sheet>header>a>img{width:145px;max-width:100%;height:auto;max-height:48px;display:block;object-fit:contain;object-position:left center}
  body:has(.ufm-public-bottom-nav) .mobile-menu-sheet>header>button{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;color:#171327;background:#f3efec;font:500 1.2rem/1 Inter,system-ui,sans-serif;cursor:pointer}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-account{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px;border:1px solid #e5dfe7;border-radius:17px;background:#f8f4fa}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-account a{min-width:0;min-height:48px;padding:10px 12px;display:flex;align-items:center;justify-content:center;border:1px solid #ded7e2;border-radius:14px;color:#171327;background:#fff;text-align:center;text-decoration:none;font-size:.8rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-account a.primary{border-color:#171327;color:#fff;background:#171327}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-routes{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-routes a{min-width:0;min-height:56px;padding:9px 11px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid #e7e1de;border-radius:14px;color:#171327;background:#f7f4f1;text-decoration:none;font-size:.78rem;font-weight:700;line-height:1.25}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-routes img{width:22px;max-width:22px;height:22px;max-height:22px;display:block;object-fit:contain;opacity:.8}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-routes span{min-width:0;overflow-wrap:anywhere}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-routes b{font-size:1rem;font-weight:600}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-languages{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-languages a{min-width:0;min-height:44px;display:grid;place-items:center;border:1px solid #ded7e2;border-radius:12px;color:#514a59;background:#fff;text-decoration:none;font-size:.76rem;font-weight:750}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-languages a[aria-current=page]{border-color:#171327;color:#fff;background:#171327}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-tools{min-width:0;padding-top:12px;border-top:1px solid #e6e1dc;display:grid;gap:9px}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-tools h2{margin:0;color:#665e70;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-tools>div{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-tools :is(a,button){min-width:0;min-height:48px;padding:9px 11px;display:flex;align-items:center;gap:9px;border:1px solid #e6e1dc;border-radius:14px;color:#171327;background:#fff;text-align:left;text-decoration:none;font:700 .74rem/1.25 Inter,system-ui,sans-serif;overflow-wrap:anywhere}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-tools img{width:20px;max-width:20px;height:20px;max-height:20px;display:block;object-fit:contain}
  body:has(.ufm-public-bottom-nav) .mobile-sheet-tools .menu-aa{width:26px;min-width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#513580;font-size:.6rem}
  .ufm-public-bottom-nav{width:100%;height:calc(68px + env(safe-area-inset-bottom));padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));position:fixed;z-index:10020;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;border:0;border-top:1px solid #17132714;border-radius:0;background:#fffdfaf2;box-shadow:0 -12px 34px #17132714;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
  .ufm-public-bottom-nav>a,.ufm-public-bottom-nav>button{width:100%;height:54px;min-width:0;min-height:54px;padding:5px 3px;border:0;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;overflow:hidden;color:#77717d;background:transparent;font:750 .69rem/1.1 Inter,system-ui,sans-serif;text-decoration:none}
  .ufm-public-bottom-nav img{width:19px;max-width:19px;height:19px;max-height:19px;display:block;object-fit:contain;opacity:.72;filter:brightness(0) saturate(100%) invert(20%)}
  .ufm-public-bottom-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ufm-public-bottom-nav .active{color:#171327;background:#fbe5df}.ufm-public-bottom-nav .active img{opacity:1}
  .ufm-public-bottom-nav>a:focus-visible,.ufm-public-bottom-nav>button:focus-visible{outline:3px solid #ff806666;outline-offset:-3px}
}

/* Shared floating-utility contract.
   header-menu.js mounts this control on every public page that exposes the
   footer tools.  Its geometry must therefore live with the shared footer,
   not only in the marketing-page bundle.  Explicit maxima keep an unstyled
   SVG from participating in document flow as a full-width button. */
.ufm-utility-toggle{
  position:fixed;z-index:10023;right:18px;bottom:calc(92px + env(safe-area-inset-bottom));
  width:48px;min-width:48px;max-width:48px;height:48px;min-height:48px;max-height:48px;
  margin:0;padding:0;display:grid;place-items:center;overflow:hidden;
  border:1px solid rgba(255,255,255,.48);border-radius:50%;
  color:#fff;background:rgba(37,26,61,.66);box-shadow:0 5px 18px rgba(27,18,45,.16);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:background-color .18s ease,transform .18s ease,opacity .18s ease;
}
.ufm-utility-toggle svg{width:19px;max-width:19px;height:19px;max-height:19px;display:block;fill:currentColor}
.ufm-utility-toggle:focus-visible{outline:3px solid #ff8066;outline-offset:3px}
.ufm-utility-toggle:active{transform:scale(.96)}
body.ufm-utility-ready .ufm-help-button,
body.ufm-utility-ready .ufm-readability-button{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px) scale(.94);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}
body.ufm-utility-ready.ufm-utility-open .ufm-help-button,
body.ufm-utility-ready.ufm-utility-open .ufm-readability-button{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
body.ufm-utility-open .ufm-utility-toggle{background:rgba(37,26,61,.92)}
body.ufm-utility-ready.ufm-utility-open .ufm-help-button{right:18px;bottom:calc(150px + env(safe-area-inset-bottom))}
body.ufm-utility-ready.ufm-utility-open .ufm-readability-button{right:18px;bottom:calc(208px + env(safe-area-inset-bottom))}
@media(hover:hover){.ufm-utility-toggle:hover{background:rgba(37,26,61,.88);transform:translateY(-1px)}}
@media(max-width:1279px){
  .ufm-utility-toggle{right:16px;bottom:calc(84px + env(safe-area-inset-bottom))}
  body.ufm-utility-ready.ufm-utility-open .ufm-help-button{right:16px;bottom:calc(140px + env(safe-area-inset-bottom))}
  body.ufm-utility-ready.ufm-utility-open .ufm-readability-button{right:16px;bottom:calc(196px + env(safe-area-inset-bottom))}
}
@media(max-width:767px){
  .ufm-utility-toggle{right:12px}
  body.ufm-utility-ready.ufm-utility-open .ufm-help-button,
  body.ufm-utility-ready.ufm-utility-open .ufm-readability-button{right:12px}
}
@media(prefers-reduced-motion:reduce){.ufm-utility-toggle,body.ufm-utility-ready .ufm-help-button,body.ufm-utility-ready .ufm-readability-button{transition:none}}

/* Two stable edge actions: reading comfort belongs on the left; navigation
   back to the document start belongs on the right.  This replaces the
   ambiguous ellipsis tray without moving either action between pages. */
.ufm-utility-toggle{display:none}
.ufm-readability-button,
body.ufm-utility-ready .ufm-readability-button,
body.ufm-utility-ready.ufm-utility-open .ufm-readability-button{
  top:auto;right:auto;bottom:calc(14px + env(safe-area-inset-bottom));left:18px;
  opacity:1;visibility:visible;pointer-events:auto;transform:none;
}
.ufm-back-to-top{
  position:fixed;z-index:88;right:18px;bottom:calc(14px + env(safe-area-inset-bottom));
  min-width:48px;height:48px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid rgba(255,255,255,.48);border-radius:999px;color:#fff;
  background:rgba(37,26,61,.82);box-shadow:0 5px 18px rgba(27,18,45,.16);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  font:650 13px/1 Inter,system-ui,sans-serif;text-decoration:none;
}
.ufm-back-to-top span{font-size:22px;line-height:1}.ufm-back-to-top b{font:inherit;white-space:nowrap}
.ufm-back-to-top:hover,.ufm-back-to-top:focus-visible{color:#fff;background:#4b3575;outline:3px solid rgba(255,139,115,.34);outline-offset:3px}
.ufm-readability-button,.ufm-back-to-top,.gdpr-alert{translate:0 var(--ufm-footer-stop-shift,0px)}
@media(max-width:1279px){
  .ufm-readability-button,body.ufm-utility-ready .ufm-readability-button,body.ufm-utility-ready.ufm-utility-open .ufm-readability-button{left:12px;bottom:calc(82px + env(safe-area-inset-bottom))}
  .ufm-back-to-top{right:12px;bottom:calc(82px + env(safe-area-inset-bottom));width:48px;padding:0;border-radius:50%}
  .ufm-back-to-top b{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
@media(max-width:679px){
  .ufm-readability-button,body.ufm-utility-ready .ufm-readability-button,body.ufm-utility-ready.ufm-utility-open .ufm-readability-button{bottom:calc(72px + env(safe-area-inset-bottom))}
  .ufm-back-to-top{bottom:calc(72px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.ufm-back-to-top{scroll-behavior:auto}}
.ufm-footer-social-actions>a img,.ufm-footer-social-actions>a svg{width:17px;height:17px;display:block;opacity:1;filter:brightness(0) saturate(100%) invert(100%)}
.auth-page-ufoundme:has(.registration-shell) .ufm-back-to-top{display:none}

/* source: universal-controls.css */
/**
 * @file Presentation layer for universal controls.
 *
 * Mobile-first responsive styling only; preserve touch targets, fluid containment and the seven-breakpoint contract.
 */

.ufm-global-controls{position:fixed;z-index:12000;top:10px;right:max(14px,calc((100vw - 1540px)/2));max-width:calc(100vw - 16px);min-height:54px;padding:5px;display:flex;align-items:center;gap:8px;border:1px solid #e4dce6;border-radius:999px;color:#171327;background:#fffdfbf2;box-shadow:0 12px 38px #17132718;backdrop-filter:blur(16px);font:750 13px/1.1 Arial,sans-serif}.ufm-global-controls *{box-sizing:border-box}.ufm-universal-languages{display:flex;align-items:center;gap:3px}.ufm-universal-languages a{width:36px;height:36px;display:grid;place-items:center;border:1px solid #e4dce6;border-radius:50%;color:#6f6978;text-decoration:none;font-size:11px}.ufm-universal-languages a[aria-current=page]{border-color:#251a3d;color:#fff;background:#251a3d;box-shadow:0 5px 14px #251a3d33}.ufm-login,.ufm-create,.ufm-studio-link{min-height:38px;padding:0 13px;display:flex;align-items:center;border-radius:999px;color:#251a3d;text-decoration:none;white-space:nowrap}.ufm-create,.ufm-studio-link{color:#fff;background:#251a3d}.ufm-owner-menu{position:relative}.ufm-owner-menu summary{min-height:42px;padding:2px 8px 2px 2px;display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer}.ufm-owner-menu summary::-webkit-details-marker{display:none}.ufm-owner-menu summary>img,.ufm-owner-menu summary>span{width:38px;height:38px;min-width:38px;max-width:38px;max-height:38px;display:grid;place-items:center;border-radius:50%;object-fit:cover;color:#fff;background:linear-gradient(135deg,#ff704d,#ffb347);font-weight:900}.ufm-owner-menu summary b{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ufm-owner-menu summary i{font-style:normal}.ufm-owner-menu>div{position:absolute;right:0;top:calc(100% + 9px);width:min(250px,calc(100vw - 16px));max-height:min(520px,calc(100dvh - 86px));padding:8px;overflow:auto;overscroll-behavior:contain;border:1px solid #e4dce6;border-radius:17px;background:#fff;box-shadow:0 22px 60px #17132725}.ufm-owner-menu>div a{min-height:42px;padding:8px 11px;display:flex;align-items:center;gap:10px;border-radius:10px;color:#171327;text-decoration:none}.ufm-owner-menu>div a:hover,.ufm-owner-menu>div a:focus{background:#f5f0fa}.ufm-owner-menu>div img{width:18px;height:18px;object-fit:contain;opacity:.72}.ufm-owner-menu hr{margin:5px;border:0;border-top:1px solid #e4dce6}.ufm-owner-menu .ufm-logout{color:#a22a38}.topbar .language-switcher,.dash-head>.dash-languages,.dash-head .profile-menu,body>header:not(.topbar):not(.dash-head)>nav[aria-label=Language]{display:none}body:has(.ufm-global-controls) .topbar .account-actions>a[href*="login.php"],body:has(.ufm-global-controls) .topbar .account-actions>.nav-cta{display:none}@media(max-width:900px){.ufm-global-controls{top:7px;right:8px;min-height:48px}.ufm-global-controls .ufm-login,.ufm-global-controls .ufm-create,.ufm-studio-link,.ufm-owner-menu summary b,.ufm-owner-menu summary i{display:none}.ufm-universal-languages a{width:32px;height:32px}.ufm-owner-menu summary{padding:0}.ufm-owner-menu>div{position:fixed;top:62px;right:8px;width:min(290px,calc(100vw - 16px))}}@media(max-width:480px){.ufm-global-controls{left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 16px)}.ufm-universal-languages a{width:30px;height:30px}.ufm-owner-menu summary>img,.ufm-owner-menu summary>span{width:34px;height:34px;min-width:34px;max-width:34px;max-height:34px}.ufm-owner-menu>div{top:58px}}

/* EU24 selector: one compact decision in the header, full searchable list on demand. */
.ufm-language-menu{position:relative}.ufm-language-menu>summary{min-width:62px;min-height:42px;padding:0 9px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;list-style:none;cursor:pointer}.ufm-language-menu>summary::-webkit-details-marker{display:none}.ufm-language-menu>summary img{width:17px;height:17px}.ufm-language-menu>summary b{font-size:11px}.ufm-language-menu>summary i{font-style:normal;color:#777080}.ufm-language-menu[open]>summary{color:#fff;background:#251a3d}.ufm-language-menu[open]>summary img{filter:brightness(0) invert(1)}
.ufm-language-menu>div{position:absolute;right:0;top:calc(100% + 10px);width:min(420px,calc(100vw - 20px));padding:16px;border:1px solid #ded6e7;border-radius:22px;background:#fff;box-shadow:0 28px 80px #1713272b}.ufm-language-menu header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ufm-language-menu header strong{font-size:16px}.ufm-language-menu header small{padding:5px 8px;border-radius:999px;color:#51347f;background:#f0ebf7;font-size:10px}.ufm-language-menu label{height:42px;padding:0 12px;display:flex;align-items:center;gap:8px;border:1px solid #ded6e7;border-radius:12px;background:#faf9fb}.ufm-language-menu input{min-width:0;width:100%;border:0;outline:0;background:transparent;font:inherit}
.ufm-language-menu .ufm-universal-languages{max-height:min(55vh,430px);margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:5px;overflow:auto;overscroll-behavior:contain}.ufm-language-menu .ufm-universal-languages>a,.ufm-language-menu .ufm-universal-languages>span{width:auto;height:42px;padding:0 10px;border:1px solid transparent;border-radius:11px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:5px;color:#171327;background:#fff;text-decoration:none;font-size:12px}.ufm-language-menu .ufm-universal-languages b{font-size:10px;color:#665e70}.ufm-language-menu .ufm-universal-languages a:hover,.ufm-language-menu .ufm-universal-languages a:focus-visible{border-color:#51347f;background:#f4eff9;outline:0}.ufm-language-menu .ufm-universal-languages a[aria-current=page]{border-color:#251a3d;color:#fff;background:#251a3d;box-shadow:none}.ufm-language-menu .ufm-universal-languages a[aria-current=page] b{color:#fff}.ufm-language-menu .ufm-universal-languages .is-pilot{opacity:.55}.ufm-language-menu .ufm-universal-languages .is-pilot i::after{content:'…';font-style:normal}.ufm-language-menu .ufm-universal-languages [hidden]{display:none}
@media(max-width:900px){.ufm-language-menu>summary{min-width:44px;padding:0 7px}.ufm-language-menu>summary i{display:none}.ufm-language-menu>div{position:fixed;top:62px;right:8px}}
@media(max-width:480px){.ufm-language-menu>div{top:58px;right:8px;left:8px;width:auto}.ufm-language-menu .ufm-universal-languages{grid-template-columns:1fr 1fr}}

/* Header-axis contract: the connected controls share the header's vertical
   centre and right gutter instead of being positioned from an arbitrary top. */
.ufm-global-controls{top:37px;right:clamp(28px,4vw,70px);transform:translateY(-50%)}
@media(min-width:2000px){.ufm-global-controls{top:41px;right:clamp(48px,5vw,100px)}}
@media(min-width:1024px) and (max-width:1279px){.ufm-global-controls{top:33px;right:80px}}
@media(max-width:1023px){.ufm-global-controls{top:33px;right:18px;min-height:48px}.ufm-global-controls .ufm-login,.ufm-global-controls .ufm-create,.ufm-global-controls .ufm-studio-link,.ufm-owner-menu summary b,.ufm-owner-menu summary i{display:none}.ufm-owner-menu summary{padding:0}.ufm-owner-menu>div{position:fixed;top:62px;right:8px;width:min(290px,calc(100vw - 16px))}}
@media(min-width:768px) and (max-width:1023px){
  /* On tablet the complete language catalogue is already available in the
     navigation sheet. A guest pill must not collapse into an empty 12px bar. */
  .ufm-global-controls.ufm-guest-controls{display:none}
  .ufm-global-controls:has(.ufm-owner-menu){right:120px;min-width:48px;width:auto}
}
@media(max-width:767px){.ufm-global-controls.ufm-guest-controls{display:none}}
@media(min-width:768px) and (max-width:1100px){.ufm-global-controls.ufm-guest-controls{display:none}}
@media(max-width:767px){.ufm-global-controls{top:7px;right:8px;transform:none}.ufm-owner-menu>div{position:absolute;top:calc(100% + 9px);right:0;left:auto;width:min(290px,calc(100vw - 16px))}}
@media(max-width:480px){.ufm-global-controls{left:auto;right:6px}}
/* Server-rendered navigation is the baseline, including script/network failure.
   Native details keeps keyboard/touch support without a second JS controller. */
.ufm-native-navigation{position:relative;z-index:1;box-sizing:border-box;width:min(960px,calc(100% - 32px));margin:16px auto;padding:0;border:1px solid #ded5e5;border-radius:18px;color:#21182f;background:#fff;font:500 1rem/1.5 Inter,system-ui,sans-serif}
.ufm-native-navigation>summary{min-height:48px;padding:12px 20px;box-sizing:border-box;cursor:pointer;font-weight:750}
.ufm-native-navigation>div{padding:0 16px 16px;max-height:60svh;overflow:auto;overscroll-behavior:contain}
.ufm-native-navigation nav{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;border-top:1px solid #e8e1ec}
.ufm-native-navigation .ufm-native-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.ufm-native-navigation a{box-sizing:border-box;display:flex;align-items:center;min-height:44px;min-width:0;max-width:100%;padding:10px 12px;border-radius:10px;background:#f5f1f8;color:#302144;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ufm-native-navigation p{margin:8px 0 16px;overflow-wrap:anywhere}
.ufm-native-navigation p a{display:inline-flex;margin-top:8px}
.ufm-native-navigation :is(a,summary):focus-visible{outline:3px solid #634296;outline-offset:3px}
html:not(.ufm-navigation-ready) body:has(.ufm-native-navigation) :is([data-mobile-menu],.mobile-app-nav){display:none}
html.js:not(.ufm-views-ready) #main-content>.view:not([hidden]){display:grid;scroll-margin-top:110px}
html:has(.ufm-native-navigation:not([hidden])){scroll-behavior:auto}
html:not(.ufm-navigation-ready) body:has(.ufm-native-navigation)>:is(.topbar,.ufm-auth-public-header){position:relative;inset:auto}
html:not(.ufm-navigation-ready) body:has(.ufm-native-navigation)>.ufm-global-controls{position:absolute}
@media(pointer:coarse){.ufm-global-controls :where(a,summary,button){touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ufm-universal-languages a{width:44px;height:44px;min-width:44px;min-height:44px}.ufm-login,.ufm-create,.ufm-studio-link,.ufm-owner-menu summary{min-height:44px}.ufm-owner-menu summary>img,.ufm-owner-menu summary>span{width:40px;height:40px}.ufm-owner-menu>div a{min-height:48px}.ufm-language-menu .ufm-universal-languages>a,.ufm-language-menu .ufm-universal-languages>span{height:48px;min-height:48px}}

/* Bounded menu-only correction after real 1.45.65 browser observations.
   Preserve the existing two-column route order and all native/no-JS styles. */
.mobile-menu-sheet .mobile-sheet-routes>a.mobile-wall-of-fame{display:grid}
.mobile-menu-sheet>header>a{display:flex;align-items:center;min-width:44px;min-height:44px}
.mobile-menu-sheet .mobile-sheet-languages>a{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px}

/* source: public-header-contract.css */
/**
 * @file Shared public-header contract.
 *
 * Marketing, shop and legal pages use different semantic wrappers, but they
 * must expose the same visual axis, gutters and touch geometry.  Keep this
 * file loaded after page-specific styles so a section cannot reintroduce a
 * competing header height or an arbitrary control offset.
 */
:root{--ufm-public-header-height:74px;--ufm-public-gutter:clamp(16px,4vw,64px);--ufm-brand-lockup-width:clamp(132px,11vw,168px)}
:where(body>header,.topbar,.legal-header,.shop-header,.shop-checkout-header,.ufm-auth-public-header,.ufm-contact-head,.partner-head,.dash-head){
  height:var(--ufm-public-header-height);
  min-height:var(--ufm-public-header-height);
  padding-block:0;
  padding-inline:var(--ufm-public-gutter);
  align-items:center;
  border-bottom:1px solid #251a3d14;
  background:#fffdfbf2;
  backdrop-filter:blur(16px);
}
:where(body>header>a:first-child,.topbar .logo,.legal-brand,.shop-brand,.shop-checkout-header>a:first-child,.ufm-auth-public-header .auth-logo,.ufm-contact-head>a:first-child,.partner-head>a:first-child,.dash-head>a:first-child){
  width:var(--ufm-brand-lockup-width);
  min-width:var(--ufm-brand-lockup-width);
  max-width:var(--ufm-brand-lockup-width);
  min-height:48px;display:flex;
  flex:0 0 var(--ufm-brand-lockup-width);
  align-items:center;justify-content:center;
}
/* Canonical UFoundMe! brand lockup: every section reuses the Home logo and
   its discreet pronunciation instead of rebuilding a page-specific mark. */
.ufm-brand-lockup{
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  line-height:1;
  text-decoration:none;
}
.ufm-brand-lockup>.brand-pronunciation{
  display:block;
  width:100%;
  flex:0 0 auto;
  color:#77717d;
  font-family:Inter,system-ui,sans-serif;
  font-size:clamp(10px,.72vw,12px);
  font-weight:400;
  line-height:1;
  letter-spacing:.045em;
  text-align:center;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
}
/* Legacy section headers keep their semantic links, but receive the exact
   same visible lockup until their markup is migrated to the shared class. */
:where(.shop-brand,.legal-brand,.ufm-auth-public-header .auth-logo,.ufm-contact-head>a:first-child,.partner-head>a:first-child,.dash-head>a:first-child):not(.ufm-brand-lockup){
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  line-height:1;
  text-decoration:none;
}
:where(.shop-brand,.legal-brand,.ufm-auth-public-header .auth-logo,.ufm-contact-head>a:first-child,.partner-head>a:first-child,.dash-head>a:first-child):not(.ufm-brand-lockup)::after{
  content:"[juː faʊnd miː]";
  display:block;
  width:100%;
  color:#77717d;
  font-family:Inter,system-ui,sans-serif;
  font-size:clamp(10px,.72vw,12px);
  font-weight:400;
  line-height:1;
  letter-spacing:.045em;
  text-align:center;
  white-space:nowrap;
}
:where(body>header>a:first-child,.topbar .logo,.legal-brand,.shop-brand,.shop-checkout-header>a:first-child,.ufm-auth-public-header .auth-logo,.ufm-contact-head>a:first-child,.partner-head>a:first-child,.dash-head>a:first-child)>img{
  width:100%;max-width:100%;height:auto;display:block;flex:0 0 auto;
}
body>.ufm-global-controls{
  top:calc(var(--ufm-public-header-height)/2);
  right:var(--ufm-public-gutter);
  transform:translateY(-50%);
}

/* Medium desktop/tablet-landscape header ownership.
   The shop legacy markup exposes both standalone controls and the compact
   cart/menu group.  Only the compact group may be visible in this band. */
@media(min-width:1280px) and (max-width:1759px){
  .shop-header>.wide-menu-trigger,
  .shop-header>.desktop-cart-trigger{display:none}
  .shop-header>.compact-header-actions{display:flex}
}
.mobile-menu-sheet{z-index:13010}
.mobile-menu-sheet>header{position:relative;z-index:1}

/* A 1 100 px viewport cannot safely hold logo, account capsule, cart and
   hamburger in one row.  Authentication remains the first group in the menu;
   the header keeps only its two immediate actions. */
@media(min-width:768px) and (max-width:1199px){
  body>.ufm-global-controls.ufm-guest-controls{display:none}
  body>.ufm-global-controls.ufm-owner-controls{right:164px}
  body:has(>.topbar)>.ufm-global-controls.ufm-owner-controls{top:calc(var(--ufm-public-header-height)/2)}
  .topbar>.mobile-cart-trigger{right:80px}
  .topbar>.wide-menu-trigger{right:20px}
  .legal-header .legal-back{margin-left:auto}
  .shop-header .cart-trigger{margin-left:auto}
}

@media(max-width:767px){
  :root{--ufm-public-header-height:68px;--ufm-public-gutter:12px;--ufm-brand-lockup-width:clamp(112px,34vw,138px)}
  :where(body>header,.topbar,.legal-header,.shop-header,.shop-checkout-header,.ufm-auth-public-header,.ufm-contact-head,.partner-head,.dash-head){gap:10px}
  .ufm-brand-lockup>.brand-pronunciation{font-size:10px}
  body>.ufm-global-controls.ufm-guest-controls{display:none}
  body>.ufm-global-controls.ufm-owner-controls{top:7px;right:124px;transform:none}
  body>.ufm-global-controls.ufm-owner-controls .ufm-owner-menu>div{position:absolute;top:calc(100% + 9px);right:-117px;left:auto;width:min(290px,calc(100vw - 16px))}
  .legal-header .legal-back{margin-left:auto}
  .shop-header .cart-trigger{margin-left:auto}
  .legal-page main::before{inset:var(--ufm-public-header-height) 0 0}
}

@media(pointer:coarse){
  :where(body>header,.topbar,.legal-header,.shop-header,.shop-checkout-header,.ufm-auth-public-header,.ufm-contact-head,.partner-head,.dash-head) :where(a,button,summary){
    min-width:44px;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  }
}

/* Final specificity fence: page styles may describe their internal header
   content, but cannot redefine the public shell height. */
body>:is(header.topbar,header.legal-header,header.shop-header,header.shop-checkout-header,header.ufm-auth-public-header,header.ufm-contact-head,header.partner-head,header.dash-head),
body>header:first-child{height:var(--ufm-public-header-height);min-height:var(--ufm-public-header-height);padding-block:0;align-items:center}
body.legal-page>header.legal-header{height:var(--ufm-public-header-height);min-height:var(--ufm-public-header-height);padding-block:0;align-items:center}

/* Open-menu contrast contract: navigation symbols, arrows and labels are
   rendered as true black on their light surfaces in every responsive range. */
.mobile-menu-sheet :is(.mobile-sheet-routes,.mobile-sheet-tools,.mobile-sheet-account,.mobile-sheet-languages) :is(a,button),
.mobile-menu-sheet :is(.mobile-sheet-routes,.mobile-sheet-tools,.mobile-sheet-account,.mobile-sheet-languages) :is(span,b),
.mobile-menu-sheet .mobile-sheet-tools h2{
  color:#000;
}
.mobile-menu-sheet :is(.mobile-sheet-routes,.mobile-sheet-tools) img{
  filter:brightness(0);
  opacity:1;
}
.mobile-menu-sheet .mobile-test-now{
  color:#000;
  background:#f6f3ef;
}
.mobile-menu-sheet .mobile-test-now img{filter:brightness(0)}
.mobile-menu-sheet .mobile-wall-of-fame{
  color:#000;
  background:color-mix(in srgb,#04313c 15%,#fff);
}
.mobile-menu-sheet .mobile-wall-of-fame img{filter:brightness(0)}
.mobile-menu-sheet .mobile-sheet-tools .menu-aa{
  color:#000;
  border:1px solid #000;
  background:#fff;
}
.mobile-menu-sheet .mobile-sheet-account .primary,
.mobile-menu-sheet .mobile-sheet-languages a[aria-current]{
  color:#000;
  border:1px solid #000;
  background:#fff;
}

/* source: gdpr-alert.css */
/**
 * @file Shared, mobile-first privacy notice.
 *
 * This file is loaded after page styles and therefore owns the complete visual
 * contract. Keep the notice compact, centred and clear of persistent navigation.
 */
.gdpr-alert {
  position: fixed;
  right: auto;
  bottom: calc(72px + env(safe-area-inset-bottom));
  left: 50%;
  z-index: 88;
  width: auto;
  max-width: calc(100vw - 20px);
  min-height: 52px;
  margin: 0;
  padding: 4px 5px 4px 11px;
  border: 1px solid #d9d2df;
  border-radius: 999px;
  display: grid;
  grid-template-columns: 20px auto 44px;
  align-items: center;
  gap: 8px;
  color: #251a3d;
  background: rgb(255 255 255 / 96%);
  box-shadow: 0 12px 34px rgb(37 26 61 / 18%);
  backdrop-filter: blur(16px);
  transform: translateX(-50%);
  font: 600 14px/1.3 Inter, system-ui, sans-serif;
}

.gdpr-alert[hidden] { display: none; }
/* Fixed notices need a matching document reserve: the last actionable band
   can therefore scroll completely above the notice instead of sitting under it. */
body:has(> .gdpr-alert:not([hidden])) main::after {
  width: 100%; height: calc(74px + env(safe-area-inset-bottom)); display: block; content: '';
}
.gdpr-alert > img { width: 20px; height: 20px; }
.gdpr-alert > span { display: none; }

.gdpr-alert > a {
  min-width: 0;
  color: inherit;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
}

.gdpr-alert > button {
  position: static;
  width: 44px;
  height: 44px;
  min-width: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #251a3d;
  background: #eee9f2;
  transform: none;
  cursor: pointer;
  touch-action: manipulation;
}

.gdpr-alert > button:hover,
.gdpr-alert > button:focus-visible {
  color: #fff;
  background: #4b3575;
  outline: 3px solid rgb(255 139 115 / 34%);
  outline-offset: 2px;
}

/* Tablet widths retain the compact centred form: the product price occupies
   the lower-right quadrant on landscape tablets and must stay unobscured. */
@media (min-width: 680px) {
  .gdpr-alert {
    bottom: calc(82px + env(safe-area-inset-bottom));
    width: auto;
    padding: 4px 5px 4px 11px;
    border-radius: 999px;
    grid-template-columns: 20px auto 44px;
    gap: 10px;
    left: 50%;
  }
  .finder-start form { padding:24px; }
}

/* Desktop has no persistent bottom navigation. */
@media (min-width: 1280px) {
  .gdpr-alert {
    bottom: 14px;
    left: 50%;
    width: min(620px, calc(100vw - 32px));
    padding: 7px 7px 7px 14px;
    border-radius: 16px;
    grid-template-columns: 20px minmax(0, 1fr) auto 44px;
  }
  .gdpr-alert > span { display:block;min-width:0;overflow:hidden;color:#4f465e;font-size:12px;font-weight:450;line-height:1.25;text-overflow:ellipsis;white-space:nowrap; }
  .gdpr-alert > span strong { color:#251a3d;font-weight:650; }
  body:has(> .gdpr-alert:not([hidden])) main::after { height: 72px; }
}

/* Authentication already explains privacy in the journey itself. Keep this
   notice available without masking the form or the brand story. */
.auth-page-ufoundme .gdpr-alert {
  right: auto;
  /* Share the same responsive baseline as readability and back-to-top.
     footer-share.js then applies one common stop shift to all three. */
  bottom: calc(82px + env(safe-area-inset-bottom));
  left: 50%;
  width: auto;
  max-width: calc(100vw - 20px);
  grid-template-columns: 20px auto 44px;
  transform: translateX(-50%);
}
.auth-page-ufoundme .gdpr-alert > span { display: none; }
.auth-page-ufoundme .gdpr-alert { min-height:48px;padding-left:9px;gap:6px; }
.auth-page-ufoundme .gdpr-alert > a { font-size:12px; }
.auth-page-ufoundme .gdpr-alert > button { width:44px;height:44px;min-width:44px; }
@media (min-width:480px) {
  .auth-page-ufoundme .gdpr-alert { min-height:52px;padding-left:11px;gap:8px; }
  .auth-page-ufoundme .gdpr-alert > a { font-size:14px; }
  .auth-page-ufoundme .gdpr-alert > button { width:44px;height:44px;min-width:44px; }
}
@media (max-width:679px) {
  .auth-page-ufoundme .gdpr-alert {
    bottom: calc(72px + env(safe-area-inset-bottom));
  }
}
@media (min-width:1280px) {
  .auth-page-ufoundme .gdpr-alert {
    bottom: calc(14px + env(safe-area-inset-bottom));
  }
}

/* Finder dialog styles share this small stylesheet but are independent from
   the notice above. */
.finder-start { width: min(460px, calc(100% - 28px)); padding: 0; border: 0; border-radius: 24px; color: #251a3d; }
.finder-start::backdrop { background: rgb(23 19 39 / 53%); backdrop-filter: blur(7px); }
.finder-start form { padding: 19px; display: grid; gap: 13px; }
.finder-start form > button:first-child { width: 44px; height: 44px; justify-self: end; border: 0; border-radius: 50%; }
.finder-start small { letter-spacing: .1em; }
.finder-start h2, .finder-start p { margin: 0; }
.finder-start label { display: grid; gap: 7px; font-weight: 650; }
.finder-start textarea { min-height: 110px; padding: 12px; border: 1px solid #d9d2df; border-radius: 14px; resize: vertical; }
.finder-start [data-error] { color: #a32635; }
.auth-page-ufoundme:has(.registration-shell) .gdpr-alert { display: none; }

/* P1: keep purchase in its own row. This shared component is also loaded on
   non-home surfaces: do not depend on a deferred marketing/navigation bundle
   to separate the notice from an actionable purchase bar. */
body #layouts .sticky-action {
  bottom: calc(86px + env(safe-area-inset-bottom));
  max-width: calc(100vw - 24px);
}
body #layouts { padding-bottom: 180px; }
/* The footer's last links must be scrollable above persistent controls. */
body:has(> .gdpr-alert) .ufm-footer {
  padding-bottom: calc(96px + env(safe-area-inset-bottom));
}
body:has(#layouts.active):has(> .gdpr-alert) .ufm-footer {
  padding-bottom: calc(208px + env(safe-area-inset-bottom));
}
@media (max-width:1279px) {
  /* Answers grow with their translated content. A viewport-height editor
     placed its last actions underneath the fixed mobile navigation. */
  body #aide.help-view {
    height: auto;
    min-height: calc(100svh - 68px);
    padding-bottom: 236px;
    grid-template-rows: auto auto;
    align-content: start;
    overflow: visible;
  }
  body #aide .help-shell { align-items: start; }
  body #aide .help-questions { max-height: 340px; }
  body #aide .help-answer { max-height: none; overflow: visible; }
  body #aide .help-answer>div { margin-top: 24px; }
  body #layouts .sticky-action { bottom: calc(158px + env(safe-area-inset-bottom)); }
  body #layouts { padding-bottom: 250px; }
  body:has(> .gdpr-alert) .ufm-footer {
    padding-bottom: calc(168px + env(safe-area-inset-bottom));
  }
  body:has(#layouts.active):has(> .gdpr-alert) .ufm-footer {
    padding-bottom: calc(280px + env(safe-area-inset-bottom));
  }
}
@media (max-width:767px) {
  body #aide .help-shell { grid-template-rows: minmax(130px,220px) auto; }
}
@media (max-width:1023px) {
  /* Choosing a design must never remove the purchase action on a phone.
     Keep the chosen design and the two actions as separate readable rows. */
  body #layouts .sticky-action {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 8px;
    padding: 10px;
  }
  body #layouts .sticky-action>span,
  body #layouts .sticky-action>span>span { min-width: 0; }
  body #layouts .sticky-action strong { overflow-wrap: anywhere; }
  body #layouts .sticky-action>div {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    width: 100%;
  }
  body #layouts .sticky-action>div :is(.primary,.secondary) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 48px;
    height: auto;
    padding: 8px;
    font-size: .8rem;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  body #layouts { padding-bottom: 320px; }
  body:has(#layouts.active):has(> .gdpr-alert) .ufm-footer {
    padding-bottom: calc(320px + env(safe-area-inset-bottom));
  }
}
/* A contained reader is progressive enhancement only. Both scroll regions
   remain siblings; the answer's actions keep their native document order. */
@media (max-width:1279px) and (min-height:700px) {
  html.ufm-floating-layout-ready body #aide.help-view {
    height: var(--ufm-help-available,calc(100svh - 286px));
    min-height: 0;
    padding-bottom: 14px;
    grid-template-rows: auto minmax(0,1fr);
    overflow: hidden;
  }
  html.ufm-floating-layout-ready body #aide .help-shell {
    min-height: 0;
    align-items: stretch;
  }
  html.ufm-floating-layout-ready body #aide .help-questions {
    min-height: 0;
    max-height: none;
    overflow: hidden;
  }
  html.ufm-floating-layout-ready body #aide .help-answer {
    min-height: 0;
    max-height: none;
    overflow: auto;
    scroll-padding-block: 12px;
  }
  html.ufm-floating-layout-ready body #aide :is(a,button):focus-visible {
    outline: 2px solid #4b3575;
    outline-offset: 2px;
  }
}
@media (max-width:1023px) and (min-height:700px) {
  html.ufm-floating-layout-ready body #aide .help-shell {
    grid-template-rows: minmax(110px,.4fr) minmax(0,.6fr);
  }
}
@media (max-width:599px) {
  html:not(.ufm-mobile-utility-active) body .gdpr-alert {
    bottom: calc(132px + env(safe-area-inset-bottom));
  }
  html:not(.ufm-mobile-utility-active):has(.gdpr-alert:not([hidden])) body #layouts .sticky-action {
    bottom: calc(208px + env(safe-area-inset-bottom));
  }
  html.ufm-mobile-utility-active body #layouts .sticky-action {
    bottom: calc(var(--ufm-mobile-utility-dock-h) + 12px);
  }
  html.ufm-mobile-utility-active:has(.gdpr-alert:not([hidden])) body #layouts .sticky-action {
    bottom: calc(var(--ufm-mobile-utility-dock-h) + 76px);
  }
  body:has(> .gdpr-alert) .ufm-footer {
    padding-bottom: calc(224px + env(safe-area-inset-bottom));
  }
  body:has(#layouts.active):has(> .gdpr-alert) .ufm-footer {
    padding-bottom: calc(376px + env(safe-area-inset-bottom));
  }
  body #layouts { padding-bottom: 376px; }
}
/* P1b: no-JS marketing tools stay in flow. */
html[data-ufm-css-bundle="marketing"]:not(.js) body #layouts .sticky-action {
  position: static;
  inset: auto;
  width: calc(100% - 32px);
  max-width: 1240px;
  margin: 20px auto;
  transform: none;
  translate: none;
}
html[data-ufm-css-bundle="marketing"]:not(.js) body .gdpr-alert {
  position: static;
  inset: auto;
  width: fit-content;
  max-width: calc(100% - 32px);
  margin: 16px auto;
  transform: none;
  translate: none;
}
html[data-ufm-css-bundle="marketing"]:not(.js) body .ufm-back-to-top {
  position: static;
  inset: auto;
  width: max-content;
  max-width: calc(100% - 32px);
  margin: 16px auto;
  transform: none;
  translate: none;
}
/* End P1b no-JS marketing flow. */
/* End P1 floating clearance. */

/* P1 eShop utilities: in-flow. */
body.eshop-page > .gdpr-alert {
  position: static;
  inset: auto;
  width: fit-content;
  max-width: calc(100% - 32px);
  margin: 16px auto;
  transform: none;
  translate: none;
}
body.eshop-page > .gdpr-alert > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
body.eshop-page > .ufm-back-to-top {
  position: static;
  inset: auto;
  width: max-content;
  max-width: calc(100% - 32px);
  margin: 16px auto;
  transform: none;
  translate: none;
}
body.eshop-page > nav.mobile-app-nav.ufm-public-bottom-nav {
  position: static;
  inset: auto;
  margin-block: 16px;
  transform: none;
  translate: none;
}
/* End P1 eShop utilities. */

/* source: readability.css */
/**
 * @file Presentation layer for readability.
 *
 * Mobile-first responsive styling only; preserve touch targets, fluid containment and the seven-breakpoint contract.
 */

.ufm-readability-button{box-sizing:border-box;width:max-content;max-width:calc(100vw - 24px);min-width:112px;height:48px;padding:0 14px 0 8px;position:fixed;z-index:88;top:auto;left:18px;right:auto;bottom:calc(14px + env(safe-area-inset-bottom));border:1px solid #e6e1dc;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;color:#251a3d;background:#fff;box-shadow:0 10px 28px #251a3d24;font:700 .7rem Lexend,system-ui;line-height:1}
.ufm-readability-button:hover,.ufm-readability-button:focus-visible{color:#fff;background:#4b3575;outline:0;transform:translateY(-2px)}.ufm-readability-button b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#4b3575;font-size:.7rem}.ufm-readability-button:hover b{color:#251a3d;background:#fff}.ufm-readability-button span{white-space:nowrap}
.ufm-readability{width:min(580px,calc(100% - 28px));padding:0;border:0;border-radius:24px;color:#251a3d;background:#fff;font-family:Lexend,system-ui;box-shadow:0 30px 90px #251a3d55}.ufm-readability::backdrop{background:#17132799;backdrop-filter:blur(5px)}.ufm-readability form{padding:28px;position:relative}.ufm-readability .close{width:38px;height:38px;position:absolute;right:18px;top:18px;border:0;border-radius:50%;background:#f2eff4;font-size:1.3rem}.ufm-readability form>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#4b3575;font-weight:700}.ufm-readability h2{margin:14px 48px 22px 0;font-size:1.7rem}.ufm-readability [role="radiogroup"]{display:grid;gap:9px}.ufm-readability [data-profile]{min-height:70px;padding:13px 16px;border:1px solid #e6e1dc;border-radius:15px;display:grid;gap:3px;color:#251a3d;background:#fff;text-align:left}.ufm-readability [data-profile] span{color:#716b7a;font-size:.78rem}.ufm-readability [data-profile].selected{border-color:#4b3575;background:#f5f2f8;box-shadow:inset 4px 0 #4b3575}.ufm-readability form>small{margin-top:16px;display:block;color:#716b7a}
/* Complete edge geometry also applies when this component is loaded outside
   a CSS layer. Never inherit a left edge while supplying a competing right. */
@media(max-width:1279px){.ufm-readability-button{left:12px;right:auto;bottom:calc(82px + env(safe-area-inset-bottom))}}
@media(max-width:679px){.ufm-readability-button{bottom:calc(72px + env(safe-area-inset-bottom))}}
html[data-ufm-readability="comfort"] body{font-size:17px;line-height:1.65}html[data-ufm-readability="clear"] body{font-size:19px;line-height:1.72}html[data-ufm-readability="comfort"] :is(p,li,label,summary),html[data-ufm-readability="clear"] :is(p,li,label,summary){letter-spacing:.005em}html[data-ufm-readability="clear"]{filter:contrast(1.08)}
@media(max-width:520px){.ufm-readability-button{width:48px;min-width:48px;padding:0}.ufm-readability-button span{display:none}.ufm-readability form{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){.ufm-readability-button{transition:none}}
.auth-page-ufoundme:has(.registration-shell) .ufm-readability-button{display:none}

/* P1 eShop utilities: in-flow. */
body.eshop-page > .ufm-readability-button {
  position: static;
  inset: auto;
  max-width: calc(100% - 32px);
  margin: 16px auto;
  transform: none;
  translate: none;
}
/* End P1 eShop utilities. */

/* source: local-help.css */
/** @file Calm, mobile-first onboarding using the seven official width bands. */
.ufm-help-button{width:48px;min-width:48px;height:48px;min-height:48px;padding:0;position:fixed;z-index:88;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));border:1px solid #ffffff2e;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;background:#251a3d;box-shadow:0 14px 38px #20173538;font:700 .78rem Inter,system-ui;line-height:1;transition:bottom .2s ease,transform .15s ease,background .15s ease}
.ufm-help-button:hover,.ufm-help-button:focus-visible{background:#513580;transform:translateY(-2px);outline:3px solid #8d72be42}
.ufm-help-button b{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#7556ad;font-size:.9rem}
.ufm-help-button span{display:none;white-space:nowrap}

.ufm-help{--guide:#60439a;--guide-soft:#f1ebfa;width:min(100% - 20px,920px);max-height:calc(100dvh - 20px);padding:0;border:0;border-radius:26px;color:#201735;background:#fff;font-family:Inter,system-ui;box-shadow:0 36px 110px #2017355c;overflow:auto}
.ufm-help[data-phase="1"]{--guide:#c85d48;--guide-soft:#fff0eb}
.ufm-help[data-phase="2"]{--guide:#187b90;--guide-soft:#e9f7fa}
.ufm-help[data-phase="3"]{--guide:#248665;--guide-soft:#eaf8f1}
.ufm-help::backdrop{background:#171327a8;backdrop-filter:blur(7px)}
.ufm-help form{min-height:min(690px,calc(100dvh - 20px));padding:24px 20px;position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:linear-gradient(145deg,#fff 0 58%,var(--guide-soft) 150%)}
.ufm-help .close{width:44px;height:44px;position:absolute;z-index:2;right:14px;top:14px;border:0;border-radius:50%;display:grid;place-items:center;color:#251a3d;background:#f2eff4;font-size:1.3rem;cursor:pointer}
.ufm-help .close:hover,.ufm-help .close:focus-visible{color:#fff;background:var(--guide);outline:3px solid color-mix(in srgb,var(--guide) 24%,transparent)}

.ufm-help header{padding-right:48px;display:grid;gap:16px}
.ufm-help header>div:first-child{min-width:0}
.ufm-help header small{color:var(--guide);font-size:.69rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ufm-help h2{margin:8px 0 5px;font-size:clamp(1.7rem,7vw,2.35rem);line-height:1.05;letter-spacing:-.04em}
.ufm-help header p,.ufm-help article p{color:#675f70}
.ufm-help header p{margin:0;font-size:.94rem;line-height:1.55}
.ufm-help-chips{display:flex;flex-wrap:wrap;gap:8px;align-content:start}
.ufm-help-chips span{min-height:38px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--guide) 18%,#e5dfea);border-radius:13px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;color:#51485c;background:#fff;box-shadow:0 8px 24px #251a3d0a;font-size:.68rem;line-height:1.25}
.ufm-help-chips img{width:20px;height:20px;display:block;object-fit:contain;opacity:.82}
.ufm-help-chips strong{font-size:inherit;font-weight:750}

.ufm-help-progress{margin:20px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;color:var(--guide);font-size:.7rem;font-weight:800}
.ufm-help-progress>span{height:8px;border-radius:99px;display:block;background:#eae5ed;overflow:hidden}
.ufm-help-progress>span:after{width:var(--p);height:100%;border-radius:inherit;display:block;content:"";background:linear-gradient(90deg,var(--guide),color-mix(in srgb,var(--guide) 62%,#f7b25b));transition:width .25s ease}
.ufm-help-progress output{min-width:48px;font:800 .7rem Inter,system-ui;text-align:right}

.ufm-help-layout{min-height:0;display:grid;gap:14px}
.ufm-help-phases{margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;list-style:none}
.ufm-help-phases li{min-width:0;min-height:68px;padding:8px 4px;border:1px solid transparent;border-radius:14px;display:grid;place-items:center;gap:5px;color:#746d7b;background:#f5f2f6;text-align:center;transition:background .2s ease,color .2s ease,transform .2s ease}
.ufm-help-phases li b{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:#655d6d;background:#fff;font-size:.68rem;box-shadow:0 4px 12px #251a3d0a}
.ufm-help-phases li span{max-width:100%;display:grid;gap:2px;font-size:.61rem;font-weight:750;line-height:1.2;overflow-wrap:anywhere}
.ufm-help-phases li em{color:inherit;font-size:.53rem;font-style:normal;font-weight:650;opacity:.68}
.ufm-help-phases li[data-state="done"]{color:#39735f;background:#edf7f2}
.ufm-help-phases li[data-state="done"] b{color:#fff;background:#4c9a7e}
.ufm-help-phases li[aria-current]{border-color:color-mix(in srgb,var(--guide) 24%,#fff);color:#fff;background:var(--guide);box-shadow:0 10px 24px color-mix(in srgb,var(--guide) 22%,transparent);transform:translateY(-1px)}
.ufm-help-phases li[aria-current] b{color:var(--guide)}

.ufm-help article{min-height:270px;padding:22px;border:1px solid color-mix(in srgb,var(--guide) 14%,#e8e2ed);border-radius:22px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#fff,var(--guide-soft));box-shadow:inset 0 1px #fff,0 18px 50px #251a3d0b}
.ufm-help-card-head{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.ufm-help-icon{width:58px;height:58px;flex:0 0 58px;border-radius:18px;display:grid;place-items:center;color:#fff;background:var(--guide);box-shadow:0 12px 26px color-mix(in srgb,var(--guide) 24%,transparent)}
.ufm-help-icon img{width:27px;height:27px;display:block;filter:brightness(0) invert(1)}
.ufm-help-step-number{color:color-mix(in srgb,var(--guide) 14%,#fff);font-size:clamp(3.4rem,9vw,5.8rem);font-weight:850;line-height:.8;letter-spacing:-.08em;user-select:none}
.ufm-help article>small{color:var(--guide);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.ufm-help article h3{max-width:24ch;margin:10px 0 8px;font-size:clamp(1.25rem,4vw,1.6rem);line-height:1.18;letter-spacing:-.02em}
.ufm-help article p{max-width:62ch;margin:0;font-size:.95rem;line-height:1.66}

.ufm-help footer{margin-top:16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.ufm-help footer button{min-width:108px;min-height:48px;padding:0 18px;border:1px solid #ddd5e2;border-radius:14px;color:#251a3d;background:#fff;font:750 .79rem Inter,system-ui;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.ufm-help footer button:hover:not(:disabled),.ufm-help footer button:focus-visible{transform:translateY(-1px);box-shadow:0 9px 22px #251a3d17}
.ufm-help footer button:disabled{opacity:.36;cursor:not-allowed}
.ufm-help footer .primary{min-width:120px;border-color:transparent;color:#fff;background:var(--guide)}
.ufm-help-footer-status{color:#746d7b;font-size:.68rem;font-weight:750;text-align:center}

body:has(.layout-floating-menu:not([hidden])) .ufm-help-button{bottom:calc(136px + env(safe-area-inset-bottom))}
body:has(.layouts:not([hidden])) .ufm-help-button{bottom:calc(138px + env(safe-area-inset-bottom))}

@media(min-width:360px){.ufm-help{width:min(100% - 28px,920px)}.ufm-help form{padding:25px 22px}.ufm-help-phases li span{font-size:.64rem}.ufm-help article{min-height:260px}}
@media(min-width:480px){.ufm-help-button{width:auto;min-width:112px;padding:0 15px 0 8px}.ufm-help-button span{display:block}.ufm-help form{padding:28px}.ufm-help header{grid-template-columns:minmax(0,1fr) minmax(210px,.7fr);align-items:end}.ufm-help-chips{justify-content:flex-end}.ufm-help-chips span{max-width:250px}.ufm-help article{padding:26px}.ufm-help-phases li{padding:10px 6px}.ufm-help-phases li span{font-size:.68rem}}
@media(min-width:680px){.ufm-help{width:min(920px,calc(100% - 40px));border-radius:30px}.ufm-help form{min-height:650px}.ufm-help-layout{grid-template-columns:220px minmax(0,1fr);gap:18px}.ufm-help-phases{grid-template-columns:1fr;align-content:start;gap:8px}.ufm-help-phases li{min-height:58px;padding:8px 12px;grid-template-columns:30px minmax(0,1fr);justify-items:start;text-align:left}.ufm-help-phases li span{width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;font-size:.74rem;overflow-wrap:normal}.ufm-help-phases li em{font-size:.59rem}.ufm-help article{min-height:330px;padding:30px}.ufm-help article p{font-size:1rem}}
@media(min-width:768px){.ufm-help-button{right:18px}.ufm-help form{padding:34px}.ufm-help h2{font-size:2.4rem}.ufm-help-layout{grid-template-columns:232px minmax(0,1fr)}.ufm-help footer{margin-left:250px}}
@media(min-width:1024px){.ufm-help-button{bottom:18px}body:has(.layout-floating-menu:not([hidden])) .ufm-help-button{bottom:112px}body:has(.layouts:not([hidden])) .ufm-help-button{bottom:112px}.ufm-help{width:min(960px,calc(100% - 56px))}.ufm-help form{min-height:660px}}
@media(min-width:1280px){.ufm-help{width:960px}.ufm-help article p{font-size:1.02rem}.ufm-help footer button{font-size:.84rem}}
@media(max-width:679px){.ufm-help-footer-status{display:none}}
@media(max-width:479px){.ufm-help form{min-height:calc(100dvh - 20px)}.ufm-help header{padding-right:40px}.ufm-help-chips span{flex:1 1 140px}.ufm-help article{justify-content:flex-start}.ufm-help-step-number{font-size:3.6rem}.ufm-help footer{position:sticky;bottom:-25px;padding:12px 0 max(0px,env(safe-area-inset-bottom));background:linear-gradient(0deg,#fff 72%,transparent)}.ufm-help footer button{min-width:0}}
@media(max-width:1199px) and (min-width:521px){body:has(.layout-floating-menu:not([hidden])) .ufm-help-button{bottom:calc(176px + env(safe-area-inset-bottom))}}
@media(pointer:coarse){.ufm-help :is(button,[role="button"]){min-width:44px;min-height:44px;touch-action:manipulation}}
@media(prefers-reduced-motion:reduce){.ufm-help-progress>span:after,.ufm-help-button,.ufm-help-phases li,.ufm-help footer button{transition:none}}
@media(forced-colors:active){.ufm-help-phases li[aria-current],.ufm-help-icon,.ufm-help footer .primary{border:2px solid ButtonText}.ufm-help-icon img{filter:none}}
.auth-page-ufoundme:has(.registration-shell) .ufm-help-button{display:none}

/* source: bandeau-reassurance.css */
/** @file Compact proof strip shared by all purchase steps. */
.ufm-purchase-assurance>.ufm-assurance-item{min-width:0;min-height:52px;padding:9px 11px;border:1px solid #ded7e5;border-radius:14px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;background:#fffdfb}
.ufm-purchase-assurance{width:100%;margin:14px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px;color:#251a3d;font-family:Inter,system-ui,sans-serif}.ufm-purchase-assurance article{min-width:0;min-height:52px;padding:9px 11px;border:1px solid #ded7e5;border-radius:14px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;background:#fffdfb}.ufm-purchase-assurance img{width:20px;height:20px;opacity:.75}.ufm-purchase-assurance span{min-width:0;display:grid;gap:1px}.ufm-purchase-assurance strong{font-size:14px;font-weight:650;line-height:1.2}.ufm-purchase-assurance small{color:#6b6472;font-size:12px;line-height:1.25}.ufm-purchase-assurance a{min-width:44px;min-height:44px;display:grid;place-items:center;color:#4b3575;text-decoration:none}.ufm-purchase-assurance time{padding:5px 7px;border-radius:999px;background:#04313c;color:#fff;font-size:12px;font-weight:750}.ufm-purchase-assurance .ufm-preorder-assurance{border-color:#f0b9a9;background:#fff2ed}.ufm-purchase-assurance .ufm-preorder-assurance img{opacity:1}.ufm-purchase-assurance.is-eshop{grid-column:1/-1}

}
@layer responsive {
}
@layer overrides {
/* source: experience.css */
/**
 * @file Presentation layer for experience.
 *
 * Mobile-first responsive styling only; preserve touch targets, fluid containment and the seven-breakpoint contract.
 */

@font-face{font-family:Inter;src:url('/ufoundme/assets/fonts/InterVariable.woff2') format('woff2');font-display:swap}:root{--ufm-ink:#171327;--ufm-purple:#4b2e83;--ufm-coral:#ff704d;--ufm-apricot:#ffb347;--ufm-line:#e8dfda;--ufm-shadow:0 24px 70px #271b3b14;--ufm-radius:26px}
body:not(:has(>.topbar)){color:var(--ufm-ink);background:radial-gradient(circle at 8% 12%,#ff704d14,transparent 28%),radial-gradient(circle at 91% 76%,#d9c8ff36,transparent 31%),linear-gradient(135deg,#fffaf5,#f8f4ff);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}body:not(:has(>.topbar)) button,body:not(:has(>.topbar)) input,body:not(:has(>.topbar)) textarea,body:not(:has(>.topbar)) select{font:inherit}body:not(:has(>.topbar)) :focus-visible{outline:3px solid #ff704d55;outline-offset:3px}
body:not(:has(>.topbar)) .primary,body:not(:has(>.topbar)) .auth-primary{border:0;color:#fff;background:linear-gradient(120deg,var(--ufm-ink),#32234c);box-shadow:0 12px 28px #17132720;transition:transform .18s ease,box-shadow .18s ease}body:not(:has(>.topbar)) .primary:hover,body:not(:has(>.topbar)) .auth-primary:hover{transform:translateY(-2px);box-shadow:0 17px 34px #1713272b}body:not(:has(>.topbar)) .secondary,body:not(:has(>.topbar)) .auth-secondary{border-color:var(--ufm-line);background:#fff;transition:border-color .18s ease,transform .18s ease}body:not(:has(>.topbar)) .secondary:hover,body:not(:has(>.topbar)) .auth-secondary:hover{border-color:#ff704d88;transform:translateY(-1px)}
.dash-head{border-bottom-color:#1713270d;background:#fffdfbd9;backdrop-filter:blur(18px)}.dashboard.owner-office,.dashboard.studio-page{width:min(1240px,100%);min-height:calc(100svh - 76px);padding-top:clamp(38px,7vh,78px);padding-bottom:90px}.welcome{min-height:150px;padding:28px 31px;display:flex;justify-content:center;flex-direction:column;border:1px solid #ffffffb8;border-radius:var(--ufm-radius);overflow:hidden;background:radial-gradient(circle at 90% 20%,#ffb34745,transparent 24%),radial-gradient(circle at 75% 130%,#ff704d36,transparent 35%),linear-gradient(120deg,#fff,#fbf5ff);box-shadow:var(--ufm-shadow)}.welcome::before{width:8px;height:8px;margin-bottom:9px;border-radius:50%;background:var(--ufm-coral);content:''}.welcome p{color:var(--ufm-purple);font-size:.72rem}.welcome h1{max-width:800px;margin:4px 0 0;font-size:clamp(2.1rem,4.4vw,4rem);line-height:1;letter-spacing:-.055em}.service-pill{padding:9px 13px;border-radius:999px;font-size:.65rem;font-weight:850}.service-pill.is-active{color:#087250;background:#dcf5e9}.service-pill.is-locked{color:#92520c;background:#fff0d8}
.owner-office>.tabs{width:100%;margin:16px 0 22px;padding:7px;gap:4px;border:1px solid #e8e0ea;background:#f2edf6d9;box-shadow:0 9px 26px #1713270c}.owner-office>.tabs button{min-height:46px;justify-content:center;flex:1;padding:10px 14px}.owner-office>.tabs button.active{color:#fff;background:var(--ufm-purple);box-shadow:0 8px 20px #4b2e8330}.owner-office>.tabs button.active img{filter:brightness(0) invert(1)}.owner-office>section[data-panel]{min-height:360px;padding:clamp(20px,3vw,34px);border:1px solid #ffffffc9;border-radius:var(--ufm-radius);background:#ffffffd9;box-shadow:var(--ufm-shadow);backdrop-filter:blur(14px)}.section-title{align-items:center}.section-title h2{font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.04em}.section-title p{max-width:65ch;line-height:1.65}.owner-pet-card,.account-card,.security-card,.thread,.badge-claim{border-color:#eadfe6;box-shadow:0 11px 30px #1713270a}.owner-pet-card:hover,.thread:hover{border-color:#ff704d70;transform:translateY(-2px);box-shadow:0 17px 36px #17132712}.owner-pet-card,.thread{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.status{width:max-content;padding:5px 8px;border-radius:999px;background:#fff0e8}.status.on{background:#dcf5e9}.empty{border:1px dashed #d7cadb;background:linear-gradient(135deg,#fff,#faf5ff)}
.adoption-path{margin:14px 0 0;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #eadfe4;border-radius:20px;background:#fffdfbd9;box-shadow:0 12px 32px #1713270b}.adoption-path>div>small{display:block;margin-bottom:8px;color:#746c79;font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.adoption-path ol{margin:0;padding:0;display:flex;align-items:center;gap:9px;list-style:none}.adoption-path li{display:flex;align-items:center;gap:7px;color:#918a95;font-size:.7rem;font-weight:750}.adoption-path li+li::before{width:25px;height:1px;margin-right:2px;background:#ddd4df;content:''}.adoption-path li b{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#eee8ef}.adoption-path li.done{color:#087250}.adoption-path li.done b{color:#087250;background:#dcf5e9}.adoption-path li.done b::after{content:'✓';font-size:.7rem}.adoption-path li.done b{font-size:0}.adoption-path li.current{color:var(--ufm-purple)}.adoption-path li.current b{color:#fff;background:var(--ufm-coral);box-shadow:0 0 0 5px #ff704d14}.adoption-path>.primary{min-width:210px;min-height:52px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;text-decoration:none}.adoption-path>.primary small{font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;opacity:.68}
.studio-shell{margin-top:18px;border:1px solid #e4d8df;border-radius:30px;box-shadow:0 30px 85px #271b3b1b;background:#fff}.studio-steps{padding:8px;background:#f5eff6}.studio-steps button{min-height:58px;border:0;border-radius:16px;background:transparent}.studio-steps button b{transition:background .18s,color .18s}.studio-steps button.active{color:var(--ufm-purple);background:#fff;box-shadow:0 8px 22px #271b3b10}.studio-steps button.active b{color:#fff;background:var(--ufm-coral)}.studio-editor{background:#fffdfb}.studio-editor h2{max-width:16ch;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.04;letter-spacing:-.05em}.studio-editor .eyebrow{color:var(--ufm-coral)}.studio-editor input,.studio-editor textarea,.studio-editor select{border-color:#ddd2d9;background:#fff}.studio-editor input:focus,.studio-editor textarea:focus,.studio-editor select:focus{border-color:var(--ufm-coral);box-shadow:0 0 0 4px #ff704d12}.studio-preview{background:radial-gradient(circle at 50% 45%,#fff 0,#f5edf7 45%,#eee7e2 100%)}.studio-phone{filter:drop-shadow(0 28px 32px #251a3d26)}.studio-actions{border-top-color:#ece3e7;background:#fffdfb}
.auth-shell{min-height:100svh;background:radial-gradient(circle at 12% 15%,#ff704d24,transparent 26%),radial-gradient(circle at 86% 80%,#d8c4ff45,transparent 31%),linear-gradient(135deg,#fffaf4,#f8f4ff)}.auth-story{align-self:center}.auth-story h1{max-width:13ch;line-height:.96;letter-spacing:-.055em}.auth-card{position:relative;overflow:hidden;border:1px solid #eadde4;border-radius:30px;background:#fffdfbf2;box-shadow:0 30px 85px #271b3b1c}.auth-card::before{height:6px;position:absolute;inset:0 0 auto;background:linear-gradient(90deg,var(--ufm-coral),var(--ufm-apricot),var(--ufm-purple));content:''}.auth-card input{border-color:#dfd4da;background:#fff}.auth-card input:focus{border-color:var(--ufm-coral);box-shadow:0 0 0 4px #ff704d12}.auth-login-tabs{padding:5px;border-radius:16px;background:#f3edf5}.auth-login-tab{border-radius:12px}.auth-login-tab.is-active{background:#fff;box-shadow:0 7px 18px #17132710}.auth-provider{border-radius:15px}
.summary,body>main>article{border-color:#eadfe4;background:#fffdfbea;box-shadow:var(--ufm-shadow)}.summary .lines article{transition:transform .18s,border-color .18s}.summary .lines article:hover{border-color:#ff704d70;transform:translateX(3px)}.chat-page{background:radial-gradient(circle at 12% 20%,#ff704d1f,transparent 26%),radial-gradient(circle at 85% 78%,#d8c4ff40,transparent 30%),#fffaf5}.chat-phone{box-shadow:0 30px 90px #251a3d22}
@media(max-width:1000px){.owner-office>.tabs button{flex:0 0 auto}.dashboard.owner-office,.dashboard.studio-page{padding-top:72px}.welcome{min-height:135px}.owner-office>section[data-panel]{padding:20px}.adoption-path{align-items:stretch;flex-direction:column}.adoption-path>.primary{width:100%}}@media(max-width:700px){.dashboard.owner-office,.dashboard.studio-page{padding:68px 12px 90px}.welcome{padding:22px;border-radius:22px}.welcome h1{font-size:2.15rem}.owner-office>.tabs{border-radius:15px}.owner-office>section[data-panel]{min-height:0;border-radius:22px}.section-title{align-items:flex-start}.studio-shell{border-radius:22px}.studio-steps{position:sticky;z-index:8;top:58px}.auth-card{border-radius:24px}.adoption-path ol{align-items:flex-start;flex-direction:column}.adoption-path li+li::before{width:1px;height:13px;margin:0 0 0 12px}.adoption-path li+li{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.primary,.secondary,.owner-pet-card,.thread,.summary .lines article{transition:none}}
.welcome h1{font-size:clamp(1.7rem,2.65vw,2.55rem);font-weight:610;line-height:1.08;letter-spacing:-.035em}.studio-editor h2{max-width:22ch;font-size:clamp(1.15rem,1.6vw,1.45rem);font-weight:610;line-height:1.2;letter-spacing:-.025em}@media(max-width:700px){.welcome h1{font-size:1.7rem}}

/* source: professional-polish.css */
/** UFoundMe! shared professional finish for public and authentication surfaces. */
:root{
  --ufm-pro-text:#1d1828;--ufm-pro-muted:#686270;
  --ufm-pro-line:rgba(37,26,61,.14);--ufm-pro-line-strong:rgba(37,26,61,.24);
  --ufm-pro-surface:#fff;--ufm-pro-surface-soft:#f7f4f9;
  --ufm-pro-radius-sm:.75rem;--ufm-pro-radius-md:1rem;--ufm-pro-radius-lg:1.5rem;
  --ufm-pro-shadow:0 1rem 2.75rem rgba(37,26,61,.09);
  --ufm-pro-focus:0 0 0 .22rem rgba(75,53,117,.22);
}
html{color:var(--ufm-pro-text);background:#fbfafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{color:var(--ufm-pro-text);line-height:1.55}
:where(h1,h2,h3){text-wrap:balance}
:where(p,li,dd,.lead){text-wrap:pretty}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:.125rem solid var(--ufm-brand-primary,#4b3575);outline-offset:.18rem;box-shadow:var(--ufm-pro-focus)}
:where(button,.button,.primary,.secondary,.outline,.nav-cta,.auth-primary,.auth-secondary,.auth-provider){min-height:2.875rem;border-radius:.8rem;font-weight:620;letter-spacing:-.006em;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}
:where(a.primary,a.secondary,a.button,a.nav-cta){display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
:where(.primary,.nav-cta,.auth-primary){border:1px solid var(--ufm-brand-secondary,#251a3d);color:#fff;background:var(--ufm-brand-secondary,#251a3d)}
:where(.primary,.nav-cta,.auth-primary):hover{border-color:var(--ufm-brand-primary,#4b3575);background:var(--ufm-brand-primary,#4b3575)}
:where(.secondary,.outline,.auth-secondary,.auth-provider){border:1px solid var(--ufm-pro-line-strong);color:var(--ufm-pro-text);background:rgba(255,255,255,.94)}
:where(.secondary,.outline,.auth-secondary,.auth-provider):hover{border-color:var(--ufm-brand-primary,#4b3575);background:var(--ufm-pro-surface-soft)}
:where(input,select,textarea){min-height:2.875rem;border:1px solid var(--ufm-pro-line-strong);border-radius:var(--ufm-pro-radius-sm);color:var(--ufm-pro-text);background:#fff}
:where(input,select,textarea)::placeholder{color:#8a8490;opacity:1}
:where(.topbar,.auth-nav,.legal-header,.shop-header){border-bottom:1px solid var(--ufm-pro-line);background:rgba(255,255,255,.92);box-shadow:0 .35rem 1.5rem rgba(37,26,61,.035);backdrop-filter:saturate(135%) blur(1rem)}
:where(.hero-copy,.principle-copy,.chat-principle-copy,.section-heading,.auth-story,.registration-story)>:where(p,.lead):not(.kicker,.eyebrow){max-width:42rem;color:var(--ufm-pro-muted);line-height:1.7}
:where(.product-card,.auth-card,.registration-card,.contact-form-wrap,.legal-page article,.wall-gallery,.wall-upload,.hero-price,.first-year-offer){border:1px solid var(--ufm-pro-line);background:rgba(255,255,255,.96);box-shadow:var(--ufm-pro-shadow)}
:where(.product-card,.auth-card,.registration-card,.contact-form-wrap,.wall-gallery,.wall-upload){border-radius:var(--ufm-pro-radius-lg)}
:where(.product-card,.auth-card,.registration-card,.wall-gallery,.wall-upload) :where(h2,h3){color:var(--ufm-pro-text)}
:where(.product-card,.auth-card,.registration-card,.wall-gallery,.wall-upload) :where(p,small){color:var(--ufm-pro-muted)}
.product-card{overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.product-card:hover{border-color:var(--ufm-pro-line-strong);box-shadow:0 1.25rem 3.25rem rgba(37,26,61,.12);transform:translateY(-.125rem)}
:where(.proof,.story-points,.register-points,.credibility-grid,.chat-benefits){gap:clamp(.65rem,1.25vw,1rem)}
:where(.story-points>span,.register-points>span,.credibility-grid>article,.chat-benefits>article,.chat-benefits>.chat-benefit){border:1px solid var(--ufm-pro-line);border-radius:var(--ufm-pro-radius-md);background:rgba(255,255,255,.88)}
.legal-page article{max-width:54rem}
.legal-page article section+section{margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--ufm-pro-line)}
.legal-page article section p{max-width:72ch;color:#514b58}
.ufm-footer{border-top:1px solid rgba(255,255,255,.09)}
.ufm-footer :where(a,button){transition:color .16s ease,border-color .16s ease,background-color .16s ease}
.gdpr-alert{border:1px solid var(--ufm-pro-line);box-shadow:0 .8rem 2.5rem rgba(37,26,61,.14)}

/* Social actions form two readable chunks: official profiles, then sharing.
   Override the generic button radius so every icon keeps one circular shape. */
.ufm-footer-social-actions { gap:8px;align-items:center; }
.ufm-footer-social-actions>a,
.ufm-footer-social-actions>button {
  width:44px;
  height:44px;
  min-height:44px;
  border-radius:50%;
}
.ufm-footer-social-actions>a {
  border-color:rgba(255,139,115,.42);
  background:rgba(91,58,142,.38);
}
.ufm-footer-social-actions>a:nth-of-type(2) { margin-inline-end:8px; }
.ufm-footer-social-actions :is(img,svg) {
  width:18px;
  height:18px;
  object-fit:contain;
}
@media(max-width:63.99rem){:where(.hero,.auth-shell,.registration-shell){gap:clamp(1.75rem,5vw,3.5rem)}:where(.product-grid,.products){gap:1rem}}
@media(max-width:47.99rem){:root{--ufm-pro-radius-lg:1.2rem;--ufm-pro-shadow:0 .7rem 2rem rgba(37,26,61,.075)}:where(.hero,.principle,.chat-principle,.help-view,main){scroll-margin-top:4.5rem}:where(.actions,.purchase-actions,.auth-submit-with-help){align-items:stretch}:where(.actions,.purchase-actions)>:where(a,button){min-height:3rem}.product-card:hover{transform:none}}

/* Landscape tablet / compact desktop (from 1200 px): the help view otherwise
   combines a mobile dock with a desktop-sized two-column canvas. Give long
   translated questions enough measure and let the answer card size to content.
   Keep the same contract above this range to avoid breakpoint cliffs. */
@media (min-width:1200px) {
  .help-view {
    height:auto;
    min-height:calc(100svh - 64px - 68px);
    padding:28px clamp(28px,3.2vw,42px) 108px;
    align-content:start;
    overflow:visible;
  }
  .help-head {
    grid-template-columns:minmax(0,1fr) minmax(330px,390px);
    gap:24px;
  }
  .help-shell {
    grid-template-columns:minmax(430px,.92fr) minmax(0,1.08fr);
    align-items:start;
    gap:18px;
  }
  .help-questions {
    max-height:calc(100svh - 250px);
    padding:20px 18px;
  }
  .help-list button {
    min-height:52px;
    padding:10px 14px;
    font-size:clamp(.88rem,1.15vw,.96rem);
    line-height:1.28;
  }
  .help-answer {
    min-height:390px;
    max-height:calc(100svh - 250px);
    align-self:start;
    overflow:auto;
  }
  .help-answer>h2 { font-size:clamp(1.65rem,2.55vw,2rem); }
  .help-answer>div { margin-top:28px; }
}

@media (min-width:1280px) {
  .help-view {
    min-height:calc(100svh - 74px);
    padding-bottom:42px;
  }
}

@media (min-width:1200px) and (max-width:1279px) {
  .help-questions,
  .help-answer { max-height:calc(100svh - 300px); }
}
@media(prefers-reduced-motion:reduce){:where(*,::before,::after){scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}
@media(forced-colors:active){:where(.primary,.secondary,.outline,.auth-primary,.auth-secondary,.auth-provider,.product-card){border:1px solid CanvasText}}

/* source: eshop-native-purchase.css */
/* Native purchase component only; no changes to the surrounding shop layout. */
.eshop-page .shop-quick-buy{margin:22px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}
.eshop-page .shop-quick-buy .shop-quick-price{flex-basis:100%;margin:0;color:#352052;font-size:1.1rem;line-height:1.5;font-weight:750}
.eshop-page .shop-quick-buy button{min-height:48px;padding:12px 22px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:20px;background:#28183b;color:#fff;font:700 1rem/1.4 Inter,sans-serif;cursor:pointer}
.eshop-page .shop-quick-buy button:hover{background:#513580}
.eshop-page .shop-quick-buy a{min-height:44px;display:inline-flex;align-items:center;color:#513580;font-size:.95rem;line-height:1.4;text-underline-offset:4px}
@media(max-width:767px){
 .eshop-page .shop-quick-buy{margin-top:18px}
 .eshop-page .shop-quick-buy button{width:100%;padding-inline:16px;justify-content:space-between}
 .eshop-page .shop-quick-buy a{max-width:100%;overflow-wrap:anywhere}
}

}
@layer utilities {
}
@layer utilities { [hidden] { display:none !important; } }
