:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17332d;background:#f5faf7}*{box-sizing:border-box}body{margin:0}.shell{max-width:1180px;margin:auto;padding:24px}.top{display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:800}.brand img{width:42px;height:42px}.pill,.btn{border:0;border-radius:999px;padding:11px 16px;font-weight:700}.btn{background:#0b6b5f;color:white;cursor:pointer}.btn.alt{background:#e4f2eb;color:#0b6b5f}.hero{margin-top:26px;padding:30px;border-radius:30px;background:linear-gradient(135deg,#0b6b5f,#158b76);color:white}.hero h1{font-size:clamp(32px,5vw,58px);line-height:1;margin:10px 0}.hero p{max-width:650px;font-size:18px;opacity:.92}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.card{background:white;border:1px solid #e4eee9;border-radius:22px;padding:20px;box-shadow:0 8px 30px #17332d0b}.card h3{margin:4px 0 8px}.metric{font-size:30px;font-weight:800}.section{margin-top:30px}.chips{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.chip{white-space:nowrap;background:white;border:1px solid #dbe9e2;padding:10px 14px;border-radius:999px}.nav{position:sticky;bottom:12px;margin:28px auto 0;max-width:620px;display:flex;justify-content:space-around;background:#fff;border:1px solid #dfeae5;border-radius:24px;padding:13px;box-shadow:0 14px 40px #17332d24}.auth{max-width:430px;margin:8vh auto;background:white;padding:28px;border-radius:28px}.auth input{width:100%;padding:14px;margin:7px 0;border:1px solid #d9e6e0;border-radius:14px}.muted{color:#698078}.offer{display:flex;justify-content:space-between;gap:14px;align-items:center}.badge{font-size:12px;font-weight:800;background:#eaf6b7;color:#486000;padding:7px 10px;border-radius:999px}@media(max-width:760px){.shell{padding:18px}.grid{grid-template-columns:1fr}.hero{padding:24px}.top .pill{display:none}}
.companion-card{display:flex;align-items:center;gap:18px;margin-top:20px;padding:20px 24px;background:linear-gradient(110deg,#e4faf1,#f8fffb);border:1px solid #bfe9d6;border-radius:24px}.companion-avatar{width:76px;height:76px;flex-shrink:0;display:grid;place-items:center;font-size:40px;background:white;border-radius:24px;box-shadow:0 10px 30px #0b6b5f17}.companion-copy{flex:1}.companion-label{font-size:10px;font-weight:900;letter-spacing:2px;color:#09816b}.companion-copy h2{margin:5px 0;font-size:22px}.companion-copy p{margin:0;color:#59746b;font-size:13px;line-height:1.5}.companion-overlay{position:fixed;inset:0;background:#0b2635b3;display:grid;place-items:center;z-index:10000;padding:16px}.companion-modal{position:relative;width:min(100%,550px);background:#fff;border-radius:28px;padding:30px;text-align:center;box-shadow:0 30px 80px #0004}.companion-modal h2{font-size:30px;margin:10px 0}.companion-modal>p{color:#607a72;line-height:1.6}.companion-close{position:absolute;top:13px;right:18px;border:0;background:#edf8f2;width:34px;height:34px;border-radius:50%;font-size:24px;cursor:pointer}.companion-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.companion-option{display:flex;flex-direction:column;align-items:center;gap:8px;background:#f3fbf7;border:2px solid #d8eee4;border-radius:20px;padding:20px 10px;cursor:pointer;color:#12382e}.companion-option:hover,.companion-option:focus{border-color:#07a98a;background:#e8faf2}.companion-option:disabled{opacity:.5;cursor:wait}.companion-face{font-size:54px}.companion-option strong{font-size:20px}.companion-option small{color:#617a72}@media(max-width:650px){.companion-card{flex-wrap:wrap;padding:16px}.companion-card>.btn{width:100%}.companion-avatar{width:58px;height:58px;font-size:32px}.companion-modal{padding:24px 16px}.companion-options{gap:8px}}

.confirmation-screen{text-align:center;max-width:510px;padding:38px 32px;box-shadow:0 18px 60px #17332d12}.confirmation-screen .brand{justify-content:center;margin-bottom:18px}.confirmation-symbol{font-size:58px;margin:16px 0}.confirmation-screen h1{font-size:clamp(30px,5vw,42px);line-height:1.12;margin:14px 0}.confirmation-screen p{line-height:1.65;color:#48665d}.confirmation-address{background:#e9f8f0;color:#0b6b5f!important;font-weight:800;overflow-wrap:anywhere;padding:13px;border-radius:14px}.confirmation-screen .btn{margin-top:14px}.auth .btn:disabled{opacity:.6;cursor:wait}

.welcome-shell{min-height:100vh;display:grid;place-items:center;padding:28px 14px;background:linear-gradient(145deg,#e8f8f1,#f7fbfa)}.welcome-panel{max-width:660px;width:100%;background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 20px 70px #0b6b5f19}.welcome-panel>.brand{padding:18px 26px}.welcome-robots{width:100%;display:block;max-height:310px;object-fit:cover;object-position:center 35%}.welcome-content{text-align:center;padding:30px 36px 38px}.welcome-content h1{font-size:clamp(32px,5vw,44px);line-height:1.1;margin:12px 0}.welcome-content h2{margin:24px 0 0}.welcome-content p{line-height:1.6;color:#58756c}.welcome-content .companion-options{margin-top:14px}@media(max-width:550px){.welcome-content{padding:24px 18px 30px}.welcome-robots{max-height:240px}}

/* Welli public landing */
.welli-public{color:#102f3d;background:#fff;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.public-header{max-width:1240px;margin:auto;min-height:88px;padding:16px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.public-logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:#0c3347;font-weight:900;font-size:34px;letter-spacing:-2px}.public-logo img{width:40px;height:40px}.public-heart{color:#0bb99b;font-size:21px;vertical-align:top;letter-spacing:0}.public-links{display:flex;gap:30px}.public-links a{color:#345762;text-decoration:none;font-size:14px;font-weight:650}.public-links a:hover,.public-text-link:hover{color:#009f86}.public-actions{display:flex;align-items:center;gap:16px}.public-signin,.auth-back,.auth-toggle{background:none;border:0;color:#164b54;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.public-button{background:#007f73;border:0;border-radius:999px;padding:15px 24px;color:#fff;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 10px 24px #007f731b}.public-button:hover{background:#00675e}.public-button-large{padding:19px 28px;font-size:16px}.public-hero{background:linear-gradient(118deg,#eafaf4 0%,#f4fffa 55%,#d5f4e9 100%);min-height:590px;padding:70px max(28px,calc((100vw - 1170px)/2));display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;overflow:hidden}.public-eyebrow{font-size:11px;font-weight:900;letter-spacing:2.1px;color:#008d7a}.public-hero h1{font-size:clamp(52px,6vw,84px);line-height:1.02;letter-spacing:-4px;margin:20px 0 22px;color:#0b344a}.public-hero h1 em,.public-section-heading h2 em{color:#00a98b;font-style:normal}.public-hero-copy>p{font-size:18px;line-height:1.7;max-width:510px;color:#4b6c6b}.public-hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.public-text-link{color:#0c4d52;text-decoration:none;font-weight:750;font-size:14px}.public-trust{font-size:12px;color:#5a7975;margin-top:35px}.public-hero-art{position:relative}.public-hero-art>img{width:100%;display:block;border-radius:35px;box-shadow:0 25px 60px #0b6b5f20;aspect-ratio:1.15;object-fit:cover}.public-float{position:absolute;background:#fff;box-shadow:0 12px 32px #0b6b5f20;padding:12px 16px;border-radius:999px;font-weight:800;font-size:12px}.public-float-top{right:-10px;top:18px}.public-float-bottom{left:-20px;bottom:20px}.public-category-section,.public-how,.public-everyone,.public-last{max-width:1170px;margin:0 auto;padding:92px 24px}.public-section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}.public-section-heading h2,.public-how h2,.public-everyone h2,.public-last h2{font-size:clamp(32px,4vw,49px);line-height:1.12;letter-spacing:-2px;color:#0b344a;margin:12px 0}.public-section-heading>p{color:#5d7775;max-width:270px;line-height:1.6}.public-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}.public-category{min-height:205px;border-radius:24px;padding:28px 22px}.public-category.fitness{background:#e3f8ed}.public-category.recovery{background:#e9f3ff}.public-category.outdoors{background:#f5f1df}.public-category.family{background:#f9eaf1}.public-category-icon{font-size:35px}.public-category h3{font-size:24px;margin:20px 0 5px;color:#0b344a}.public-category p{font-size:14px;line-height:1.5;color:#526b70;margin:0}.public-how{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.public-how-copy>h2{max-width:440px;margin-bottom:32px}.public-step{display:flex;gap:18px;margin-bottom:22px}.public-step>span{font-size:14px;font-weight:900;color:#00a98b}.public-step h3{margin:0 0 6px;color:#0b344a}.public-step p{margin:0;line-height:1.55;color:#5a7372;font-size:14px}.public-how-art img{width:100%;border-radius:30px;box-shadow:0 25px 50px #123d3b17}.public-everyone{text-align:center;max-width:none;background:#eaf9f2}.public-everyone>p{max-width:600px;margin:16px auto 26px;color:#597470;line-height:1.7}.public-audience{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.public-audience span{padding:12px 18px;border-radius:999px;background:#fff;color:#1d5755;font-weight:700;font-size:13px}.public-last{display:flex;align-items:center;justify-content:space-between;gap:30px}.public-last>div{max-width:650px}.public-last p{color:#58716e;line-height:1.6}.public-footer{background:#0b344a;color:#d1ebe6;padding:32px max(24px,calc((100vw - 1170px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.public-footer .public-logo{color:#fff}.public-footer>span{font-size:12px}.auth-back{margin-bottom:20px}.auth-toggle{display:block;margin:16px auto;text-decoration:underline}.auth .brand{margin-bottom:16px}@media(max-width:900px){.public-links{display:none}.public-hero{padding:55px 28px;gap:22px}.public-hero h1{letter-spacing:-2px}.public-category-grid{grid-template-columns:repeat(2,1fr)}.public-how{gap:30px}}@media(max-width:650px){.public-header{min-height:70px;padding:12px 18px}.public-logo{font-size:28px}.public-logo img{width:34px;height:34px}.public-actions{gap:10px}.public-actions .public-button{padding:12px 15px}.public-hero{grid-template-columns:1fr;padding:48px 20px;gap:40px}.public-hero h1{font-size:57px}.public-hero-art{margin:0 8px}.public-hero-art>img{aspect-ratio:1.3}.public-float-top{right:0}.public-float-bottom{left:0}.public-category-section,.public-how,.public-last{padding:58px 20px}.public-section-heading{display:block}.public-category-grid{gap:10px}.public-category{padding:20px 15px;min-height:180px}.public-category h3{font-size:21px}.public-how{grid-template-columns:1fr}.public-everyone{padding:60px 20px}.public-last{display:block}.public-last .public-button{margin-top:18px}.public-footer{flex-wrap:wrap;padding:28px 20px}.public-footer>span:last-child{width:100%}}

/* Landing page refinement */
.public-logo img{display:none}.public-logo{font-size:39px;letter-spacing:-2.8px}.public-hero{gap:52px}.public-hero-art{min-width:0}.public-hero-photo{border-radius:35px;overflow:hidden;aspect-ratio:1.2;box-shadow:0 25px 60px #0b6b5f20;position:relative}.public-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.public-hero-art>img{display:none}.public-hero-art .public-float-bottom{bottom:16px;left:12px}.public-search{display:flex;align-items:center;background:white;border:1px solid #cfeae1;border-radius:999px;padding:5px 5px 5px 22px;box-shadow:0 12px 28px #0b6b5f12;margin-top:26px;max-width:520px;gap:8px}.public-search input{border:0;outline:none;flex:1;min-width:0;font:inherit;font-size:14px;color:#0b344a;padding:12px 0}.public-search button{border:0;background:#008e7b;color:#fff;border-radius:999px;padding:14px 18px;font-weight:800;cursor:pointer}.public-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.public-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.public-quick button{border:1px solid #d1e9e0;border-radius:999px;padding:10px 14px;background:#fff;color:#175653;font-weight:750;cursor:pointer}.public-quick button:hover,.public-category:hover{border-color:#0bb99b;transform:translateY(-2px)}.public-category{border:2px solid transparent;cursor:pointer;transition:transform .2s,border-color .2s}.public-discovery{margin-top:28px;background:#f6fbf8;border:1px solid #d8ede3;border-radius:24px;padding:28px}.public-discovery h3{font-size:25px;margin:10px 0;color:#0b344a}.public-discovery>p{font-size:14px;color:#55736b;max-width:730px;line-height:1.6}.public-discovery-results{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}.public-preview{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #e3eee9;border-radius:20px;padding:20px}.public-preview-icon{font-size:30px}.public-preview h4{margin:0;color:#0b344a;font-size:19px}.public-preview p{font-size:13px;line-height:1.5;color:#5d7670}.public-preview small{font-size:11px;color:#078b76;font-weight:750}.public-no-results{grid-column:1/-1;padding:20px;color:#526c65}.public-partner-paths{max-width:1170px;margin:0 auto;padding:40px 24px 90px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.public-path-card{padding:40px;background:linear-gradient(135deg,#e8f8f1,#fff);border:1px solid #d4eee2;border-radius:26px}.public-path-card:nth-child(2){background:linear-gradient(135deg,#edf5ff,#fff)}.public-path-card h2{font-size:30px;color:#0b344a;letter-spacing:-1px}.public-path-card p{line-height:1.65;color:#59716e;max-width:450px;margin-bottom:28px}.public-path-card .public-button{text-decoration:none;display:inline-block}@media(max-width:900px){.public-discovery-results{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.public-logo{font-size:32px}.public-hero{gap:30px}.public-discovery{padding:20px 15px}.public-discovery-results{gap:8px}.public-preview{padding:14px}.public-partner-paths{grid-template-columns:1fr;padding:20px 20px 65px}.public-path-card{padding:26px}.public-search{padding-left:14px}.public-search button{padding:13px}.public-quick button{font-size:12px;padding:9px 12px}}

/* Companion selection uses existing branded Wella and Wells artwork. */
.companion-portrait{display:block;position:relative;width:140px;height:150px;overflow:hidden;border-radius:24px;background:#e8f8f1;flex-shrink:0}
.companion-portrait img{position:absolute;max-width:none;width:330px;height:auto;top:-38px}
.portrait-wella img{left:-3px}.portrait-wells img{left:-154px}
.companion-option[aria-pressed="true"]{border-color:#008b75;background:#e1f8ee;box-shadow:0 0 0 3px #008b7518}
.companion-option:focus-visible,.welcome-continue:focus-visible,#welcome-later:focus-visible{outline:3px solid #0b344a;outline-offset:4px}
.welcome-continue{margin-top:12px;min-width:220px;padding:15px 24px;font-size:16px}
.welcome-continue:disabled{opacity:.5;cursor:not-allowed}
.companion-avatar{overflow:hidden}.companion-avatar .companion-portrait{transform:scale(.51);flex-shrink:0}
@media(max-width:400px){.companion-portrait{width:115px;height:135px}.companion-option{padding:16px 5px}.companion-option small{font-size:12px}}

/* Dashboard readability and compact companion framing. */
.hero .chip{color:#17332d}
.companion-avatar{display:block;position:relative}
.companion-avatar>.companion-portrait{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;transform:none}
.companion-avatar .companion-portrait img{width:180px;height:auto;top:-21px}
.companion-avatar .portrait-wella img{left:-2px}
.companion-avatar .portrait-wells img{left:-84px}
@media(max-width:650px){.companion-avatar .companion-portrait img{width:140px;top:-17px}.companion-avatar .portrait-wells img{left:-65px}}

.launch-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.nav a{color:#17332d;text-decoration:none;font-weight:700;padding:8px}.section>.chips{flex-wrap:wrap;overflow:visible}@media(max-width:760px){.launch-summary{grid-template-columns:1fr}}

.location-filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:24px 0}.location-filters label{display:grid;gap:8px;font-weight:700;font-size:13px}.location-filters input,.location-filters select{font:inherit;padding:13px 16px;border:1px solid #cfdfd7;border-radius:14px;background:white;color:#17332d}.location-filters input{width:min(360px,80vw)}
.location-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.location-tile{border:1px solid #d6e7df;border-radius:24px;overflow:hidden;background:white;box-shadow:0 8px 25px #17332d08}.location-tile[hidden]{display:none}.location-art{aspect-ratio:365/340;background-image:url('/welli-franchise-bots.svg');background-size:420.82% 301.18%;background-repeat:no-repeat}.is-coming .location-art{filter:grayscale(1);opacity:.68}.is-coming{background:#f7f9f8}.location-copy{padding:20px}.location-copy h3{font-size:21px;margin:14px 0 6px}.location-copy>strong{font-size:14px;color:#477268}.location-copy p{font-size:13px;line-height:1.6;color:#5c726b}.location-status{display:inline-block;font-size:11px;font-weight:800;border-radius:999px;background:#e7eae8;color:#52615a;padding:8px 11px}.location-status.active{background:#dbf7e9;color:#066b4e}.location-address{min-height:42px}.location-pending{min-height:63px}.location-map{width:100%}.location-copy details{font-size:13px;margin:16px 0}.location-copy summary{cursor:pointer;font-weight:700}.location-map-section{scroll-margin-top:20px}.location-map-layout{display:grid;grid-template-columns:250px 1fr;gap:22px;background:white;padding:22px;border-radius:26px;border:1px solid #dae9e1}.map-location-list{display:grid;gap:8px;align-content:start}.map-select{display:grid;text-align:left;gap:7px;border:1px solid #dfebe4;background:#f7faf8;color:#26423a;border-radius:14px;padding:14px;cursor:pointer}.map-select small{color:#63766d}.map-select[aria-pressed="true"]{border-color:#098470;box-shadow:0 0 0 2px #09847020}.location-map-layout iframe{width:100%;height:390px;border:0;border-radius:20px;margin-top:18px;background:#edf4ef}.location-map-layout a{color:#087561;font-weight:700}.location-copy button:focus-visible,.map-select:focus-visible{outline:3px solid #147661;outline-offset:3px}
@media(max-width:1000px){.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.location-grid{grid-template-columns:1fr}.location-map-layout{grid-template-columns:1fr;padding:16px}.map-location-list{grid-template-columns:1fr 1fr}.location-map-layout iframe{height:310px}.location-art{max-height:none}}
