@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: contact.css */
/**
 * @file Presentation layer for contact.
 *
 * Mobile-first responsive styling only; preserve touch targets, fluid containment and the seven-breakpoint contract.
 */

:root{--ink:#1c142d;--purple:#4f357d;--paper:#fffdfb;--line:#e5deea;--muted:#665f70;--soft:#f4eff9}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 82% 24%,#eee6fa 0,transparent 34%),#faf8fc;color:var(--ink);font-family:Arial,Helvetica,sans-serif}.ufm-contact-head{min-height:84px;padding:16px clamp(20px,5vw,76px);display:flex;align-items:center;gap:22px;background:var(--paper);border-bottom:1px solid var(--line)}.ufm-contact-head>a:first-child{margin-right:auto}.ufm-contact-head img{width:168px}.ufm-contact-head nav{display:flex;gap:6px}.ufm-contact-head nav a{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted);font-size:.76rem;text-decoration:none}.ufm-contact-head nav a.active{background:var(--ink);color:#fff}.back-link{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;color:var(--ink);text-decoration:none}main{padding:clamp(42px,7vh,82px) 22px}main>section{width:min(1100px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,.86fr) minmax(380px,1fr);gap:clamp(30px,6vw,72px)}.eyebrow{margin:0 0 16px;color:var(--purple);font-size:.75rem;letter-spacing:.14em;font-weight:700}h1{margin:0;font-size:clamp(2.2rem,4.5vw,4.2rem);line-height:1.02;letter-spacing:-.04em}.lead{margin:22px 0 0;color:var(--muted);font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.58}.contact-intro aside{margin-top:30px;padding:22px;display:grid;gap:7px;border-radius:20px;background:var(--soft)}.contact-intro aside span{color:var(--muted)}.contact-intro aside a{margin-top:8px;color:var(--purple);font-weight:700;text-decoration:none}.contact-form-wrap{padding:clamp(24px,4vw,42px);background:#fffdfb;border:1px solid var(--line);border-radius:26px}.contact-form-wrap form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form-wrap label{display:grid;gap:8px;font-size:.9rem}.message-field{grid-column:1/-1}.contact-form-wrap input,.contact-form-wrap select,.contact-form-wrap textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid #cfc5d7;border-radius:13px;background:#fff;color:var(--ink);font:inherit;font-weight:400}.contact-form-wrap textarea{min-height:150px;resize:vertical}.contact-form-wrap :is(input,select,textarea):focus{outline:3px solid rgba(79,53,125,.18);border-color:var(--purple)}.contact-form-wrap button{grid-column:1/-1;min-height:52px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:inherit;font-weight:700;cursor:pointer}.contact-form-wrap button:hover{background:var(--purple)}.privacy-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:.82rem}.privacy-note a{color:var(--purple)}.hp{position:absolute;left:-9999px}.form-status{margin:0 0 20px;padding:14px 16px;border-radius:14px}.form-status.success{background:#e9f6f0;color:#166b4b}.form-status.error{background:#faebef;color:#9b2943}@media(max-width:900px){main>section{grid-template-columns:1fr}.contact-intro,.contact-form-wrap{max-width:700px}}@media(max-width:680px){.ufm-contact-head{min-height:72px;padding:12px 16px;gap:10px}.ufm-contact-head img{width:134px}.ufm-contact-head nav{margin-left:auto}.ufm-contact-head nav a{width:36px;height:36px}.back-link{display:none}main{padding:36px 15px 84px}.contact-form-wrap{padding:24px 18px}.contact-form-wrap form{grid-template-columns:1fr}.message-field,.contact-form-wrap button,.privacy-note{grid-column:1}}
/* Only launch-ready site languages are exposed in the public contact header. */
.ufm-contact-head nav a:nth-child(n + 3){display:none}
.contact-intro aside address{margin:0;color:var(--muted);font-size:.9rem;font-style:normal;line-height:1.45}.contact-intro aside strong a,.contact-intro aside>strong+a{margin-top:0}.contact-intro aside>strong+a{font-weight:500}.contact-intro aside span+a{margin-top:8px}
.contact-intro aside>a[href^="tel:"]{margin-top:0;font-size:.9rem;font-weight:500;line-height:1.45}.contact-intro aside>a[href^="tel:"]::before{font-weight:600}.ufm-contact-page:lang(fr) .contact-intro aside>a[href^="tel:"]::before{content:"Appelez-nous\202f: "}.ufm-contact-page:lang(nl) .contact-intro aside>a[href^="tel:"]::before{content:"Bel ons: "}.ufm-contact-page:lang(en) .contact-intro aside>a[href^="tel:"]::before{content:"Call us: "}.ufm-contact-page:lang(de) .contact-intro aside>a[href^="tel:"]::before{content:"Rufen Sie uns an: "}.ufm-contact-page:lang(it) .contact-intro aside>a[href^="tel:"]::before{content:"Chiamaci: "}.ufm-contact-page:lang(es) .contact-intro aside>a[href^="tel:"]::before{content:"Llámanos: "}.ufm-contact-page:lang(pt) .contact-intro aside>a[href^="tel:"]::before{content:"Ligue-nos: "}
.contact-audience{grid-column:1/-1;margin:0;padding:0;border:0;min-width:0}.contact-audience legend{margin:0 0 8px;padding:0;font-size:.9rem}.contact-audience-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact-audience-options label{min-height:52px;padding:10px 14px;display:flex;align-items:center;gap:10px;border:1px solid #cfc5d7;border-radius:13px;background:#fff;cursor:pointer;font-weight:600}.contact-audience-options label:has(input:checked){border-color:var(--purple);background:var(--soft);box-shadow:inset 0 0 0 1px var(--purple)}.contact-audience-options input{width:20px;min-height:20px;margin:0;padding:0;accent-color:var(--purple);flex:0 0 20px}.contact-audience-options label:has(input:focus-visible){outline:3px solid rgba(79,53,125,.18);outline-offset:2px}@media(max-width:479px){.contact-audience-options{grid-template-columns:1fr}}

/* source: auth-public-shell.css */
/** @file Shared public shell for the UFoundMe! Login and Register journeys. */
.auth-page-ufoundme .ufm-auth-public-header{height:74px;min-height:74px;padding:0 clamp(20px,4vw,64px);position:sticky;top:0;z-index:120;display:flex;align-items:center;gap:12px;border-bottom:1px solid #251a3d14;background:#fffdfbf2;backdrop-filter:blur(16px)}
.auth-page-ufoundme .ufm-auth-public-header .auth-logo{width:158px;margin-right:auto}
.ufm-auth-language{height:48px;padding:4px;display:flex;align-items:center;gap:2px;border:1px solid #ddd5de;border-radius:999px;background:#fff}
.ufm-auth-language a{min-width:42px;min-height:40px;padding:0 8px;display:grid;place-items:center;border-radius:999px;color:#625b6c;text-decoration:none;font-size:.72rem;font-weight:650}
.ufm-auth-language a[aria-current]{color:#fff;background:#28183b}
.ufm-auth-account a,.ufm-auth-cart,.ufm-auth-menu{min-height:48px;padding:0 16px;border:1px solid #ddd5de;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#171327;background:#fff;text-decoration:none;font:650 .78rem Inter,system-ui,sans-serif;white-space:nowrap}
.ufm-auth-account a{color:#fff;border-color:#28183b;background:#28183b}
.ufm-auth-cart img,.ufm-auth-menu img{width:18px;height:18px}
.ufm-auth-menu{width:48px;padding:0;color:#fff;border-color:#000;background:#000;cursor:pointer}
.ufm-auth-menu img{filter:invert(1)}.ufm-auth-menu span{display:none}
.ufm-auth-menu-sheet{font-family:Inter,system-ui,sans-serif}
.auth-page-ufoundme:has(.registration-shell) .registration-card{border-color:#ddd5de;background:#fffdfb;box-shadow:0 18px 55px #17132712}
.auth-page-ufoundme:has(.registration-shell) .registration-card .auth-primary{background:#28183b;box-shadow:none}
.auth-page-ufoundme:has(.registration-shell) .registration-card .auth-primary:hover{background:#513580}
.auth-page-ufoundme:has(.registration-shell) .ufm-registration-consent,.auth-page-ufoundme:has(.registration-shell) .auth-trust-note{border-color:#ded6e7;background:#f6f2fa}

/* The seven-language selector and account CTA move into the hamburger before
   they can compress the logo or escape the viewport. Every item remains
   available in the menu sheet on tablets and phones. */
@media(max-width:1199px){
  .auth-page-ufoundme .ufm-auth-public-header .ufm-auth-language,
  .auth-page-ufoundme .ufm-auth-public-header .ufm-auth-account{display:none}
  .auth-page-ufoundme .ufm-auth-public-header .auth-logo{margin-right:auto}
}
@media(max-width:767px){
  .auth-page-ufoundme .ufm-auth-public-header .ufm-auth-cart{width:44px;min-width:44px;padding:0}
  .auth-page-ufoundme .ufm-auth-public-header .ufm-auth-cart span{display:none}
}

/* 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}}

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