/* Hyvinn's shared rainbow family. Functional colours and opaque app bars remain explicit. */
html[data-hyvinn-visual]{--v-ink:#153e36;--v-muted:#4e6861;--v-accent:#1a7057;--v-soft:#e1f3e8;--v-tint:#c4e9d7;--v-glow:#9ed9c0;--v-paper:#fbfdfb;--v-line:#c8dfd5;--v-on:#fff;--ink:var(--v-ink)!important;--muted:var(--v-muted)!important;--green:var(--v-accent)!important;--soft:var(--v-soft)!important;--line:var(--v-line)!important;--hyvinn222-ink:var(--v-ink)!important;--hyvinn222-muted:var(--v-muted)!important;--hyvinn222-accent:var(--v-accent)!important;--hyvinn222-on-accent:#fff!important;--hyvinn222-bg:#f4faf7!important;--hyvinn222-bg2:var(--v-soft)!important;--hyvinn222-paper:#fff!important;--hyvinn222-surface2:#f7fcf9!important;--hyvinn222-soft:var(--v-soft)!important;--hyvinn222-soft2:var(--v-tint)!important;--hyvinn222-line:var(--v-line)!important;--hyvinn222-field:#fff!important;--hyvinn222-field-line:#b3d0c4!important;--hyvinn222-chrome:#fff!important;color-scheme:light}
html[data-hyvinn-visual=mieli]{--v-accent:#1a7057;--v-soft:#e1f3e8;--v-tint:#c4e9d7;--v-glow:#9ed9c0}
html[data-hyvinn-visual=keho]{--v-accent:#3157a7;--v-soft:#e7edff;--v-tint:#d2defb;--v-glow:#aebff0;--v-line:#c6d5ed}
html[data-hyvinn-visual=sydan]{--v-accent:#994564;--v-soft:#fbe8ef;--v-tint:#f2cddd;--v-glow:#e6abc4;--v-line:#e8c7d4}
html[data-hyvinn-visual=arki]{--v-accent:#865b13;--v-soft:#fff2d6;--v-tint:#f7e0a7;--v-glow:#ecc66b;--v-line:#e7d6af}
html[data-hyvinn-visual=valmennus]{--v-accent:#176d70;--v-soft:#e1f5f3;--v-tint:#bee7e2;--v-glow:#8ed5d0;--v-line:#bdded9}
html[data-hyvinn-visual],html[data-hyvinn-visual] body{background:radial-gradient(ellipse at 95% 2%,var(--v-tint),transparent 44%),linear-gradient(150deg,#fbfdfb,var(--v-soft) 65%,#fff9ed)!important;color:var(--v-ink)!important}
html[data-hyvinn-visual] body{--accent:var(--v-accent)!important;--soft:var(--v-soft)!important;--app-accent:var(--v-accent)!important;--app-soft:var(--v-soft)!important}
html[data-hyvinn-visual] [hidden]{display:none!important}
html[data-hyvinn-visual] :is(input,textarea,select){accent-color:var(--v-accent)}
html[data-hyvinn-visual] :is(a,button,summary,input,textarea,select):focus-visible{outline:3px solid #317e92;outline-offset:4px}
html[data-hyvinn-visual] body[data-one-app-page]>.header{background:#fff!important;border-bottom:1px solid #d6e4dd;box-shadow:0 4px 22px #1b51440a}
.visual-colour-line{position:fixed;top:var(--hyvinn-native-header-height,var(--hyvinn222-header-height,0px));left:0;right:0;height:4px;z-index:151;pointer-events:none;background:linear-gradient(90deg,#23755d,#28a8aa 27%,#355db6 53%,#d7a343 76%,#d78497)}
.one-app-nav{background:#fff!important;border-color:#d6e4dd;box-shadow:0 -5px 30px #1649380c}
.one-app-nav>a{border:1px solid transparent;gap:3px;color:#526c63}
.one-app-nav>a[aria-current=page]{color:#1b6451;background:#e6f4ed;border-color:#c9e6d7}
.one-app-nav .visual-nav-logo{width:30px;height:30px;object-fit:contain;background:transparent;filter:drop-shadow(0 3px 3px #173d3912)}
.one-app-nav>a>span{font-size:10px;font-weight:700}
.visual-home{max-width:1232px;margin:auto;padding:25px 24px 0;scroll-margin-top:calc(var(--one-app-header-height,84px) + 12px)}
.visual-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center;position:relative;isolation:isolate;overflow:hidden;padding:40px 45px;border-radius:31px;background:radial-gradient(ellipse at 85% 15%,#4caf99 0%,transparent 42%),radial-gradient(ellipse at 40% 120%,#2d8971 0%,transparent 63%),#105f50;color:#fff;box-shadow:0 20px 50px #175f4b19}
.visual-hero:after{content:"";position:absolute;left:-60px;bottom:-190px;width:420px;height:300px;border:1px solid #a4e0b92e;border-radius:50%;z-index:-1;transform:rotate(-20deg)}
.visual-eyebrow{font:750 10px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:1.8px;color:var(--v-accent);margin:0 0 12px}
.visual-hero .visual-eyebrow{color:#cbebd7;text-transform:uppercase}
.visual-hero h1{font:700 clamp(38px,4.8vw,61px)/1.08 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-2.4px;margin:0 0 20px;color:#fff}
.visual-hero h1 em{color:#f1d68a;font-family:Georgia,"Times New Roman",serif;font-weight:400}
.visual-hero-copy>p:not(.visual-eyebrow){font-size:16px;line-height:1.8;color:#daece4;max-width:420px;margin:0 0 24px}
.visual-hero-actions{display:flex;align-items:center;gap:21px;flex-wrap:wrap}
.visual-primary{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:12px 21px;border:1px solid #f3dc9d;border-radius:13px;background:#f2d38a;color:#24483b;font-size:13px;font-weight:750;text-decoration:none;box-shadow:0 6px 15px #0b41381c}
.visual-primary:hover{background:#ffe4a4}
.visual-plus{display:flex;flex-direction:column;gap:4px;font-size:10px;letter-spacing:1px;color:#e0eee4;text-decoration:none}
.visual-plus strong{font-size:15px;letter-spacing:0;color:#fff}
.visual-hero-art{position:relative;min-height:295px;display:grid;place-items:center;isolation:isolate}
.visual-main-logo{width:260px;height:260px;object-fit:contain;filter:drop-shadow(0 20px 18px #052d3c42);animation:visual-float 10s ease-in-out infinite}
.visual-orbit{position:absolute;border:1px solid #bbebda4d;border-radius:50%;z-index:-1}
.orbit-one{width:290px;height:290px;background:radial-gradient(ellipse,#f5db8d27,transparent 65%)}
.orbit-two{width:350px;height:235px;transform:rotate(-28deg)}
.visual-floating{position:absolute;object-fit:contain;filter:drop-shadow(0 8px 7px #052d3c30)}
.floating-heart{width:84px;height:84px;right:-8px;bottom:8px;transform:rotate(8deg)}
.floating-mind{width:72px;height:72px;left:0;top:0;transform:rotate(-12deg)}
.visual-spark{width:9px;height:9px;position:absolute;transform:rotate(45deg);background:#f5d98b;border-radius:2px}
.spark-one{top:16px;right:33px}.spark-two{bottom:25px;left:30px;width:5px;height:5px;background:#cbe9d5}
.visual-moment{padding:35px 0 20px;scroll-margin-top:calc(var(--one-app-header-height,84px) + 20px)}
.visual-moment-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:21px}
.visual-moment-heading h2,.visual-week-panel h2{font:700 29px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-1px;margin:0;color:#193e35}
.visual-moment-heading>p{font-size:13px;color:#647c70;margin:0 0 3px}
.visual-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.visual-choices button{--choice:#e1f3e8;--choice-line:#a8ceba;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:129px;padding:14px 8px 15px;border:1.5px solid transparent;border-radius:21px;background:#ffffffb3;color:#244c3e;cursor:pointer;box-shadow:0 6px 16px #234f3910;transition:transform .18s,background .18s,border-color .18s}
.visual-choices button:nth-child(2){--choice:#e5ecff;--choice-line:#a3b9e9}.visual-choices button:nth-child(3){--choice:#fbe5ee;--choice-line:#d99bb6}.visual-choices button:nth-child(4){--choice:#fff0cf;--choice-line:#d1ad60}.visual-choices button:nth-child(5){--choice:#def4f1;--choice-line:#8ecbc5}
.visual-choices button[aria-pressed=true]{background:var(--choice);border-color:var(--choice-line);box-shadow:0 8px 20px #294f3912}
.visual-choices button:hover{background:var(--choice);transform:translateY(-3px)}
.visual-choices button img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 3px 3px #173d3912)}
.visual-choices button>span{font-size:14px;font-weight:750;line-height:1.3}.visual-choices button>small{font-size:10px;line-height:1.4;color:#526a5f}
.visual-picks{margin-top:19px;padding:23px;border:1px solid #d6e4dc;border-radius:22px;background:#ffffffb5}
.visual-picks-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}
.visual-picks-intro p{font-size:13px;color:#425f52;line-height:1.6;margin:0}.visual-picks-intro>a{font-size:11px;font-weight:700;color:#245d4c;text-underline-offset:4px;white-space:nowrap;min-height:32px;display:flex;align-items:center}
.visual-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.visual-pick{display:flex;align-items:center;gap:14px;min-width:0;padding:17px 14px;background:linear-gradient(125deg,#f0f7ee,#e6f0e4);border:1px solid #d8e5d4;border-radius:17px;color:#153e36;text-decoration:none;transition:transform .18s,box-shadow .18s}
.visual-picks[data-tone=arki] .visual-pick{background:linear-gradient(125deg,#fff7e7,#f8e9bd);border-color:#ebd9aa}.visual-picks[data-tone=keho] .visual-pick{background:linear-gradient(125deg,#f1f4ff,#dce6ff);border-color:#cbd9f5}.visual-picks[data-tone=sydan] .visual-pick{background:linear-gradient(125deg,#fff1f6,#f7dce7);border-color:#efd0dd}.visual-picks[data-tone=valmennus] .visual-pick{background:linear-gradient(125deg,#edfafa,#cdece7);border-color:#bbded7;grid-column:1/-1}
.visual-pick:hover{transform:translateY(-3px);box-shadow:0 8px 18px #1e574315}.visual-pick img{width:68px;height:68px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 4px 4px #173d3912)}
.visual-pick-copy{min-width:0;flex:1}.visual-pick-copy small{display:block;font-size:9px;line-height:1.5;color:#526b5e;margin-bottom:6px}.visual-pick-copy strong{font-size:14px;line-height:1.4;letter-spacing:-.3px;display:block;overflow-wrap:anywhere}.visual-pick-open{display:none;font-size:11px;font-weight:750}
.visual-week-panel{display:grid;grid-template-columns:1fr 1.25fr;gap:24px 40px;align-items:center;padding:30px 33px;margin:12px 0 0;background:linear-gradient(120deg,#ebf6f0,#e1f0f0 60%,#e9eef8);border:1px solid #c8e1d4;border-radius:25px}
.visual-week-panel h2{font-size:25px;margin-bottom:13px}.visual-week-panel p:not(.visual-eyebrow){font-size:13px;line-height:1.7;color:#4f6d61;margin:0 0 10px}.visual-week-panel>div>small{font-size:10px;color:#627a6e}.visual-week-panel .visual-eyebrow{font-size:9px;margin-bottom:9px}.visual-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.visual-week-day{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;font-size:10px;color:#557064}.visual-week-day>span:first-child{text-transform:uppercase;font-size:9px;font-weight:700}.visual-week-day>strong{width:43px;height:43px;display:grid;place-items:center;border:1px solid #b6d7c7;background:#f8fdf9;border-radius:15px;font:700 20px/1 system-ui;color:#91afa0}.visual-week-day.has-moment>strong{background:#23755d;color:#fff;border-color:#23755d;box-shadow:0 5px 12px #21745126}.visual-week-day.is-today>strong{outline:2px solid #92b7a3;outline-offset:3px}.visual-week-day>small{font-size:9px;white-space:nowrap}.visual-week-dots{min-height:6px;display:flex;justify-content:center;gap:2px;flex-wrap:wrap}.visual-week-dots i{width:4px;height:4px;border-radius:50%;background:#23755d}.visual-week-dots i[data-tone=keho]{background:#355db6}.visual-week-dots i[data-tone=sydan]{background:#bc668b}.visual-week-dots i[data-tone=arki]{background:#bd8b2d}.visual-week-dots i[data-tone=valmennus]{background:#229b99}.visual-week-panel .visual-week-foot{grid-column:1/-1;font-size:10px;text-align:center;margin:0;padding-top:4px}
/* The five sections and every tool keep their own colour and emblem. */
html[data-hyvinn-visual] body[data-one-app-page]:not([data-one-app-page=hyvinn]) .suite-hero{max-width:1184px;margin:24px auto 0;padding:34px 40px;border-radius:29px;background:radial-gradient(ellipse at 95% 0%,var(--v-glow),transparent 65%),linear-gradient(125deg,#fff,var(--v-soft));border:1px solid var(--v-line);box-shadow:0 13px 36px #214f3711;gap:30px}
html[data-hyvinn-visual] .suite-hero h1{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:750;letter-spacing:-2px;color:var(--v-accent);font-size:clamp(38px,5vw,65px)}
html[data-hyvinn-visual] .suite-aside{display:flex;flex-direction:column;align-items:center;background:#ffffff80;padding:18px 22px;border-color:#ffffffa6;box-shadow:0 10px 25px #233d3010;border-radius:25px}
html[data-hyvinn-visual] .suite-mark{width:155px;height:155px;object-fit:contain;background:transparent;margin:0 0 5px;filter:drop-shadow(0 12px 8px #193a2e1c)}
html[data-hyvinn-visual] .suite-aside p{margin:7px 0;color:var(--v-accent);font-weight:650}.suite-aside .small{display:none}
html[data-hyvinn-visual] .suite-subnav a{background:#fff;border-color:var(--v-line);color:var(--v-accent);font-weight:650}
html[data-hyvinn-visual] .app-card{position:relative;overflow:hidden;border-radius:24px;padding:25px;border-color:var(--v-line);background:linear-gradient(145deg,#fff,var(--v-soft));box-shadow:0 10px 24px #234f3910;transition:transform .18s,box-shadow .18s}
html[data-hyvinn-visual] .app-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px #234f3919}
html[data-hyvinn-visual] .app-card .app-icon{width:88px;height:88px;flex:0 0 88px;border:0;background:transparent;object-fit:contain;border-radius:0;filter:drop-shadow(0 7px 6px #193a2e1c)}
html[data-hyvinn-visual] .app-heading h3{font-size:22px;line-height:1.2;color:var(--v-ink);letter-spacing:-.6px}.app-card .status{font-size:11px;color:#4d695b}.app-card .card-actions{border-color:#1f6a4220;padding-top:12px}
html[data-hyvinn-visual] .app-card .open-app{width:100%;background:var(--v-accent);color:#fff;border-radius:12px;justify-content:center;min-height:45px;font-size:12px;text-align:center}
html[data-hyvinn-visual] .product-card{--v-accent:#1b6b50;--v-soft:#e7f6ec;--v-line:#c1dfcc;background:radial-gradient(ellipse at 100% 0%,#c0e8d2,transparent 80%),#edf8ef;padding:26px;min-height:270px}
.product-card[data-product-card=keho]{--v-accent:#3157a7!important;--v-line:#c5d5f1!important;background:radial-gradient(ellipse at 100% 0%,#c6d7fd,transparent 80%),#ecf2ff!important}.product-card[data-product-card=sydan]{--v-accent:#994564!important;--v-line:#e4bfd1!important;background:radial-gradient(ellipse at 100% 0%,#f0c5d9,transparent 80%),#fdf0f5!important}.product-card[data-product-card=arki]{--v-accent:#865b13!important;--v-line:#e3d09b!important;background:radial-gradient(ellipse at 100% 0%,#f3d68e,transparent 80%),#fff6df!important}.product-card[data-product-card=valmennus]{--v-accent:#176d70!important;--v-line:#b5dcd6!important;background:radial-gradient(ellipse at 100% 0%,#b2e2de,transparent 80%),#e7f8f5!important}
html[data-hyvinn-visual] .product-card .app-card-top{flex-direction:column;align-items:start;gap:17px}.product-card .app-heading h3{font-size:28px!important}.product-card>p{color:#455f53;font-size:14px}.product-card .app-icon{width:105px!important;height:105px!important;flex-basis:105px!important}.product-card .status{font-weight:650;color:#4e685b}
body[data-one-app-page=hyvinn] #suite-results .app-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:17px}body[data-one-app-page=hyvinn] .product-card{grid-column:span 2}body[data-one-app-page=hyvinn] .product-card:nth-child(4),body[data-one-app-page=hyvinn] .product-card:nth-child(5){grid-column:span 3}
html[data-hyvinn-visual] .suite-plan{border-color:var(--v-line);box-shadow:0 12px 34px #234f3910;border-radius:25px;background:linear-gradient(120deg,#fff 48%,var(--v-soft));padding:28px}
html[data-hyvinn-visual] .plan-phases button[aria-pressed=true],html[data-hyvinn-visual] .plan-save{background:var(--v-accent);color:#fff;border-color:var(--v-accent);box-shadow:0 4px 12px #234f3912}
html[data-hyvinn-visual] .week-day strong{width:36px;height:36px;border-radius:12px;background:#fff;border-color:var(--v-line)}
html[data-hyvinn-visual] .week-day.done strong{background:var(--v-accent);color:#fff;border-color:var(--v-accent);box-shadow:0 4px 12px #234f391a}
.visual-success{display:flex;align-items:center;gap:13px;margin-bottom:28px;border:1px solid var(--v-line);border-radius:17px;padding:16px 13px;background:var(--v-soft);animation:visual-bloom .35s ease-out}
.visual-success img{width:58px;height:58px;object-fit:contain}.visual-success strong{display:block;font-size:16px;color:var(--v-accent);margin-bottom:5px}.visual-success span{font-size:12px;line-height:1.6;color:var(--v-muted)}
html[data-hyvinn-visual] .suite-banner{background:linear-gradient(120deg,#d7eee4,#e5efdf 50%,#f6e9c6);border:1px solid #c4ded0}
html[data-hyvinn-visual] .simple-card{background:linear-gradient(135deg,#fff,var(--v-soft));border-color:var(--v-line);box-shadow:0 12px 30px #234f3910}
/* Individual tool artwork survives SPA view changes because it is decorative CSS. */
html[data-hyvinn-visual-tool] main:before{content:"";display:block;width:126px;height:126px;margin:14px 0 25px;border-radius:33px;background-image:var(--v-logo),radial-gradient(ellipse at 40% 30%,#ffffff, var(--v-tint));background-size:102px 102px,cover;background-repeat:no-repeat;background-position:center;box-shadow:0 10px 25px #1b4d3512;border:1px solid var(--v-line);transform:rotate(-3deg)}
html[data-hyvinn-visual-tool] :is(.card,.panel,.surface,.exercise-card,.step-card,.entry-card,.path-card,.topic-card,.recipe-card,.record-card,.goal-card,.metric,.program-card,.training-card,.day-card){border-color:var(--v-line)!important;box-shadow:0 10px 28px #1b4d3510!important}
html[data-hyvinn-visual-tool] :is(.hero-card,.welcome-card,.intro-card,.tool-intro){background:linear-gradient(130deg,#fff,var(--v-soft))!important;border-color:var(--v-line)!important}
html[data-hyvinn-visual-tool] :is(.tool-logo,.approved-app-logo){filter:drop-shadow(0 5px 5px #173d391a)}
html[data-hyvinn-visual-tool] :is(.card,.panel,.exercise-card,.step-card){border-radius:23px!important}
html[data-hyvinn-visual] #hyvinn-native-membership{background:radial-gradient(ellipse at 90% 0%,#bee2d2,transparent 65%),#f0f8f3!important}
html[data-hyvinn-visual] #hyvinn-native-membership *{color:#173f35!important}
html[data-hyvinn-visual] #hyvinn-native-membership .native-app-identity{padding:18px;background:#ffffffa6;border:1px solid #cfdfd4;border-radius:20px}
html[data-hyvinn-visual] #hyvinn-native-membership .native-app-identity img{width:80px;height:80px;border-radius:17px;object-fit:contain}
html[data-hyvinn-visual] #hyvinn-native-membership .native-member-card{background:linear-gradient(135deg,#fff,#edf7ee);border-color:#c3ddcc;box-shadow:0 15px 40px #1f5e3d16;border-radius:26px}
html[data-hyvinn-visual] #hyvinn-native-membership button.native-member-primary{background:#1c7055!important;color:#fff!important;border-color:#1c7055!important;border-radius:13px}
html[data-hyvinn-visual] #hyvinn-native-membership button.native-member-primary *{color:#fff!important}
html[data-hyvinn-visual] #hyvinn-native-membership .native-member-plan.selected{background:#e1f2e7!important;border-color:#318365!important}
@keyframes visual-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@keyframes visual-bloom{from{opacity:.6;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@media(max-width:1050px){.visual-hero{padding:32px}.visual-main-logo{width:230px;height:230px}.visual-hero-art{min-height:265px}.orbit-one{width:250px;height:250px}.orbit-two{width:290px;height:205px}.visual-pick-grid{gap:10px}.visual-pick{gap:9px;padding:15px 10px;flex-direction:column;text-align:center;align-items:center}.visual-pick img{width:74px;height:74px}.visual-pick-copy strong{font-size:14px}.visual-week-panel{gap:25px;padding:25px}.visual-week{gap:5px}.visual-week-day>strong{width:37px;height:37px}.visual-floating.floating-heart{width:65px;height:65px;right:-4px}.visual-floating.floating-mind{width:60px;height:60px}.visual-moment-heading>p{font-size:12px}}
@media(max-width:760px){.visual-home{padding:17px 18px 0}.visual-hero{grid-template-columns:1fr;gap:0;padding:27px 25px 15px;border-radius:25px}.visual-hero-copy{position:relative;z-index:1}.visual-hero h1{font-size:42px;letter-spacing:-1.8px;margin-bottom:17px}.visual-hero-copy>p:not(.visual-eyebrow){font-size:14px;max-width:410px;line-height:1.75;margin-bottom:20px}.visual-hero .visual-eyebrow{font-size:9px;letter-spacing:1.3px}.visual-hero-actions{gap:20px}.visual-primary{font-size:12px;min-height:47px;padding:12px 17px}.visual-plus strong{font-size:14px}.visual-hero-art{min-height:180px;max-width:300px;width:100%;justify-self:center;margin-top:12px}.visual-main-logo{width:180px;height:180px;animation:none}.orbit-one{width:180px;height:180px}.orbit-two{width:240px;height:150px}.visual-floating.floating-heart{width:60px;height:60px;right:0;bottom:6px}.visual-floating.floating-mind{width:55px;height:55px;left:6px;top:9px}.spark-one{right:25px;top:10px}.spark-two{left:30px;bottom:15px}.visual-moment{padding-top:28px}.visual-moment-heading{display:block;margin-bottom:17px}.visual-moment-heading>p{margin:10px 0 0}.visual-moment-heading h2{font-size:25px}.visual-eyebrow{font-size:8px;letter-spacing:1.2px}.visual-choices{gap:6px}.visual-choices button{padding:9px 3px;min-height:91px;border-radius:15px;gap:6px}.visual-choices button img{width:42px;height:42px}.visual-choices button>span{font-size:10px}.visual-choices button>small{display:none}.visual-picks{padding:16px 13px;margin-top:14px;border-radius:18px}.visual-picks-intro{gap:10px;margin-bottom:12px;align-items:start}.visual-picks-intro p{font-size:11px;max-width:210px}.visual-picks-intro>a{font-size:10px;min-height:32px}.visual-pick-grid{gap:8px}.visual-pick{padding:14px 5px 12px;gap:10px;border-radius:14px}.visual-pick img{width:64px;height:64px}.visual-pick-copy small{font-size:8px;line-height:1.4;margin-bottom:6px}.visual-pick-copy strong{font-size:11px;letter-spacing:-.2px}.visual-week-panel{display:block;padding:24px 20px;border-radius:21px;margin-top:5px}.visual-week-panel h2{font-size:25px}.visual-week-panel p:not(.visual-eyebrow){font-size:12px}.visual-week-panel>div>small{font-size:9px}.visual-week{margin-top:25px;gap:5px}.visual-week-day>strong{width:33px;height:36px;border-radius:12px;font-size:18px}.visual-week-day>span:first-child,.visual-week-day>small{font-size:8px}.visual-week-panel .visual-week-foot{font-size:10px;margin-top:14px}html[data-hyvinn-visual] body[data-one-app-page]:not([data-one-app-page=hyvinn]) .suite-hero{margin:18px 18px 0;padding:25px;display:grid;grid-template-columns:1fr 90px;gap:12px;border-radius:24px;align-items:center}html[data-hyvinn-visual] .suite-hero h1{font-size:38px;letter-spacing:-1.4px;margin-bottom:15px}html[data-hyvinn-visual] .suite-hero .intro{font-size:13px;line-height:1.8}html[data-hyvinn-visual] .suite-aside{display:block;padding:0;border:0;background:none;box-shadow:none}html[data-hyvinn-visual] .suite-aside p{display:none}html[data-hyvinn-visual] .suite-mark{width:94px;height:94px;margin:0}html[data-hyvinn-visual] .suite-hero .eyebrow{font-size:8px;letter-spacing:1px}html[data-hyvinn-visual] .suite-hero .primary-link{font-size:11px}html[data-hyvinn-visual] .app-card{padding:21px}.app-card .app-card-top{gap:17px}html[data-hyvinn-visual] .app-card .app-icon{width:76px;height:76px;flex-basis:76px}html[data-hyvinn-visual] .app-heading h3{font-size:23px}.app-card .status{font-size:10px}body[data-one-app-page=hyvinn] #suite-results .app-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body[data-one-app-page=hyvinn] .product-card{grid-column:span 1!important;min-height:0;padding:19px 16px!important}body[data-one-app-page=hyvinn] .product-card:nth-child(5){grid-column:1/-1!important}html[data-hyvinn-visual] .product-card .app-card-top{gap:14px}.product-card .app-icon{width:82px!important;height:82px!important;flex-basis:82px!important}.product-card .app-heading h3{font-size:23px!important}.product-card .status{font-size:10px;line-height:1.6}.product-card>p{font-size:12px!important}.product-card .open-app{font-size:11px!important}.product-card .card-actions{padding-top:12px}html[data-hyvinn-visual] .suite-plan{padding:21px;border-radius:23px}html[data-hyvinn-visual] .week-day strong{width:30px;height:33px;border-radius:11px}.visual-success{padding:14px 12px;margin-bottom:23px}.visual-success img{width:48px;height:48px}.visual-success strong{font-size:15px}.visual-success span{font-size:11px}html[data-hyvinn-visual-tool] main:before{width:100px;height:100px;background-size:82px 82px,cover;border-radius:28px;margin:12px 0 22px}html[data-hyvinn-visual] #hyvinn-native-membership .native-app-identity img{width:68px;height:68px}}
@media(max-width:360px){.visual-home{padding-inline:14px}.visual-hero{padding-inline:21px}.visual-hero h1{font-size:38px}.visual-hero-actions{gap:14px}.visual-primary{padding-inline:14px;font-size:11px}.visual-choices{gap:4px}.visual-choices button img{width:37px;height:37px}.visual-choices button>span{font-size:9px}.visual-pick img{width:54px;height:54px}.visual-pick-copy strong{font-size:10px}.visual-picks-intro p{font-size:10px}.visual-week-panel{padding-inline:16px}.visual-week{gap:3px}.visual-week-day>strong{width:29px;height:32px}.visual-moment-heading h2{font-size:23px}html[data-hyvinn-visual] body[data-one-app-page]:not([data-one-app-page=hyvinn]) .suite-hero{padding:21px;grid-template-columns:1fr 65px}html[data-hyvinn-visual] .suite-mark{width:70px;height:70px}html[data-hyvinn-visual] .suite-hero h1{font-size:33px}.product-card .app-heading h3{font-size:21px!important}}
@media(prefers-reduced-motion:reduce){html[data-hyvinn-visual]{scroll-behavior:auto}.visual-main-logo,.visual-success{animation:none!important}html[data-hyvinn-visual] *,html[data-hyvinn-visual] *:before{transition:none!important}.visual-choices button:hover,.visual-pick:hover,html[data-hyvinn-visual] .app-card:hover{transform:none}}
@media print{html[data-hyvinn-visual],html[data-hyvinn-visual] body{background:#fff!important;color:#153e36!important}.visual-hero{background:#fff!important;border:1px solid #aacdb9;box-shadow:none}.visual-hero h1,.visual-hero h1 em,.visual-hero p{color:#153e36!important}.visual-hero-art,.visual-choices,.visual-colour-line,html[data-hyvinn-visual-tool] main:before{display:none!important}.visual-week-panel,.app-card{break-inside:avoid;box-shadow:none!important}}

/* One compact return bar, measured so it never covers the tool content. */
#suite-tool-return{position:fixed;inset:0 0 auto;z-index:600;box-sizing:border-box;display:flex;align-items:center;gap:12px;min-height:56px;padding:calc(6px + env(safe-area-inset-top,0px)) max(12px,calc((100vw - 1184px)/2)) 6px;background:#fff;border-bottom:1px solid #c8dfd5;box-shadow:0 3px 15px #153e3608;font:600 13px/1.3 system-ui}
#suite-tool-return .suite-tool-brand{display:flex;align-items:center;gap:7px;flex:1;min-width:0;min-height:44px;color:#153e36;text-decoration:none}
#suite-tool-return .suite-tool-brand img{display:block;width:28px;height:28px;flex:none;object-fit:contain}
#suite-tool-return .suite-tool-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#suite-tool-return .suite-tool-actions{display:flex;flex:none;gap:6px}
#suite-tool-return .suite-tool-actions a{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:6px 10px;border:1px solid #c8dfd5;border-radius:10px;color:#153e36;background:#fff;text-decoration:none;white-space:nowrap}
html.has-tool-return body{padding-top:calc(var(--suite-return-height,57px) + var(--suite-base-top,0px))!important}
html.has-tool-return{scroll-padding-top:calc(var(--suite-return-height,57px) + 12px)!important}
html.has-tool-return [data-suite-offset-header]{top:var(--suite-return-height,57px)!important}
html.has-tool-return .visual-colour-line{top:calc(var(--suite-return-height,57px) - 3px);z-index:601;height:3px}
html.has-tool-return main :is(h1,h2,h3,[id]){scroll-margin-top:calc(var(--suite-return-height,57px) + 12px)!important}
html[data-hyvinn-visual-tool=valmennus].has-tool-return .shell>.topbar{display:none}
html[data-hyvinn-visual-tool=valmennus].has-tool-return .sidebar{top:var(--suite-return-height,57px);height:calc(100dvh - var(--suite-return-height,57px))}

@media(max-width:760px){
 #suite-tool-return{gap:8px;padding-inline:10px;font-size:12px}
 #suite-tool-return .suite-tool-actions{gap:4px}
 #suite-tool-return .suite-tool-actions a{padding-inline:8px;font-size:12px}
 html[data-hyvinn-visual] body[data-one-app-page]>.header{min-height:calc(56px + env(safe-area-inset-top,0px));padding:calc(6px + env(safe-area-inset-top,0px)) 12px 6px;gap:8px}
 html[data-hyvinn-visual] body[data-one-app-page]>.header .brand{gap:7px;min-width:0}
 html[data-hyvinn-visual] body[data-one-app-page]>.header .brand img{width:28px;height:28px;object-fit:contain}
 html[data-hyvinn-visual] body[data-one-app-page]>.header .brand>span{font-size:19px;line-height:1.1}
 html[data-hyvinn-visual] body[data-one-app-page]>.header .brand small{font-size:7px;letter-spacing:1px;margin-top:4px}
 html[data-hyvinn-visual] body[data-one-app-page]>.header .header-link,html[data-hyvinn-visual] body[data-one-app-page]>.header summary{font-size:11px;padding:6px 8px}
 html[data-hyvinn-visual] .suite-header-right{gap:5px}
 html[data-hyvinn-visual] body[data-one-app-page]:not([data-one-app-page=hyvinn]) .suite-hero{margin:12px 12px 0;padding:16px;grid-template-columns:minmax(0,1fr) 48px;gap:10px;border-radius:18px}
 html[data-hyvinn-visual] .suite-hero h1{font-size:28px;letter-spacing:-.9px;margin-bottom:10px}
 html[data-hyvinn-visual] .suite-mark{width:48px;height:48px}
 html[data-hyvinn-visual] .suite-hero .intro{font-size:13px;line-height:1.6}
 html[data-hyvinn-visual] .app-card{padding:16px;border-radius:18px}
 html[data-hyvinn-visual] .app-card .app-card-top{gap:10px;flex-direction:row;align-items:center}
 html[data-hyvinn-visual] .app-card .app-icon{width:40px!important;height:40px!important;flex:0 0 40px!important}
 html[data-hyvinn-visual] .app-card .app-heading h3{font-size:19px!important}
 html[data-hyvinn-visual] .product-card .app-icon{width:40px!important;height:40px!important;flex-basis:40px!important}
 html[data-hyvinn-visual] .product-card .app-heading h3{font-size:18px!important}
 .visual-hero{padding:22px 18px 14px}
 .visual-hero h1{font-size:32px;letter-spacing:-1px}
 .visual-hero-art{min-height:112px;max-width:190px;margin-top:8px}
 .visual-main-logo{width:96px;height:96px}
 .orbit-one{width:108px;height:108px}.orbit-two{width:146px;height:92px}
 .visual-floating.floating-heart,.visual-floating.floating-mind{width:28px;height:28px}
 .visual-choices button{min-height:70px;padding:8px 3px}
 .visual-choices button img{width:28px;height:28px}
 .visual-pick img{width:40px;height:40px}
 .visual-success img{width:32px;height:32px}
 .one-app-nav .visual-nav-logo{width:24px;height:24px}
 .one-app-nav{padding-top:6px}
 .one-app-nav a{min-height:44px}
 html[data-hyvinn-visual-tool] main:before{width:40px;height:40px;background-size:32px 32px,cover;border-radius:12px;margin:0 0 12px;transform:none}
 html[data-hyvinn-visual-tool] header img{max-width:32px;max-height:32px;object-fit:contain}
 html[data-hyvinn-visual-tool] .tool-hero img{width:40px;height:40px}
 html[data-hyvinn-visual-tool=valmennus] main:before{display:none}
 html[data-hyvinn-visual-tool=valmennus] main{padding:18px 16px 24px}
 html[data-hyvinn-visual-tool=valmennus] .view-head{margin-bottom:16px}
 html[data-hyvinn-visual-tool=valmennus] .view-head h1{font-size:26px;line-height:1.2}
 html[data-hyvinn-visual-tool=valmennus] .view-head p:not(.eyebrow){font-size:14px;line-height:1.6;margin-top:10px}
 html[data-hyvinn-visual-tool=valmennus] .view-head .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:8px}
 html[data-hyvinn-visual-tool=valmennus] .foundation{padding:14px;gap:10px;margin-top:16px}
 html[data-hyvinn-visual-tool=valmennus] .foundation h3{font-size:14px;line-height:1.4}
 html[data-hyvinn-visual-tool=valmennus] .foundation p{font-size:12px;line-height:1.6}
 html[data-hyvinn-visual-tool=valmennus] .annual-months{margin:16px 0;gap:8px}
 html[data-hyvinn-visual-tool=valmennus] .annual-months button{min-height:76px;padding:11px}
 html[data-hyvinn-visual-tool=valmennus] .annual-months button.active{padding:10px}
 html[data-hyvinn-visual-tool=valmennus] .annual-months strong{font-size:13px}
 html[data-hyvinn-visual-tool=valmennus] .dialog-header{padding:14px 16px;gap:10px}
 html[data-hyvinn-visual-tool=valmennus] .dialog-header h2{font-size:20px}
 html[data-hyvinn-visual-tool=valmennus] .dialog-body{padding:14px 16px}
 html[data-hyvinn-visual-tool=valmennus] .menu-list{gap:3px}
 html[data-hyvinn-visual-tool=valmennus] .menu-list .nav-link{min-height:44px;padding:8px 10px;font-size:14px}
 html[data-hyvinn-visual][data-hyvinn-edition] .hyvinn222-header{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;padding:calc(5px + env(safe-area-inset-top,0px)) 10px 5px!important;min-height:56px;border-top-width:2px}
 html[data-hyvinn-visual][data-hyvinn-edition] .hyvinn222-header-row{gap:6px}
 html[data-hyvinn-visual][data-hyvinn-edition] .hyvinn222-brand{gap:6px;flex:1;min-width:0}
 html[data-hyvinn-visual][data-hyvinn-edition] .hyvinn222-brand img{width:28px!important;height:28px!important;max-width:28px;max-height:28px}
 html[data-hyvinn-visual][data-hyvinn-edition] .hyvinn222-brand-copy{min-width:0;overflow:hidden}
 html[data-hyvinn-visual][data-hyvinn-edition] .hyvinn222-brand strong{font-size:13px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 html[data-hyvinn-visual][data-hyvinn-edition] .hyvinn222-brand small{display:none}
 html[data-hyvinn-visual][data-hyvinn-edition] .hyvinn222-header .hyvinn222-menu-button{width:44px;height:44px;padding:10px;border-radius:10px}
 html[data-hyvinn-visual][data-hyvinn-edition] .hyvinn222-return{grid-column:auto!important;min-width:0}
 html[data-hyvinn-visual][data-hyvinn-edition] .hyvinn222-support{grid-column:1/-1}
}
@media print{#suite-tool-return{display:none!important}html.has-tool-return body{padding-top:0!important}}
/* Older embedded suites must not hide the shared navigation. */
html[data-hyvinn-visual][data-hyvinn-edition] #hyvinn222-header{display:grid!important}
html[data-hyvinn-visual][data-hyvinn-edition] #hyvinn222-header #hyvinn-return{display:block!important}
@media print{html[data-hyvinn-visual][data-hyvinn-edition] #hyvinn222-header{display:none!important}}
@media(max-width:760px){
 html[data-hyvinn-visual-tool=ruokis] .day-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
 html[data-hyvinn-visual-tool=ruokis] .day-row .day{min-width:0;width:100%;padding-inline:2px}
 html[data-hyvinn-visual-tool=ruokis] .day-row .day small{font-size:10px}
}
@media(max-width:760px){
 .hyvinn-language-status{min-width:0;max-width:100%;box-sizing:border-box}
 .hyvinn-language-status :is(label,select){min-width:0;max-width:100%;box-sizing:border-box}
 .hyvinn-language-status select{width:100%}
}

/* Compact menu on every main page, including the home screen. */
html[data-hyvinn-visual] .suite-menu>summary{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;box-sizing:border-box;color:var(--green)}
html[data-hyvinn-visual] .suite-menu>summary svg{display:block;width:22px;height:22px}
html[data-hyvinn-visual] .suite-menu>nav{top:calc(100% + 8px);min-width:min(260px,calc(100vw - 36px));max-width:calc(100vw - 36px);max-height:calc(100dvh - var(--one-app-header-height,76px) - 100px);overflow-y:auto;box-sizing:border-box}
.visual-free{color:#e0eee4;font-size:13px;line-height:1.5}
