:root{--green:#123e30;--gold:#bb9450;--paper:#f7f7f1}.site-brand{display:flex;align-items:center;gap:12px;color:var(--green);padding-bottom:28px}.site-brand>img{width:52px;height:52px;object-fit:contain}.site-brand strong{display:block;font:700 25px Georgia,serif;letter-spacing:-.5px}.site-brand span{display:block;font-size:8px;letter-spacing:1.6px;margin-top:4px;font-weight:600}.life aside{background:#fffffc}.life .side-label{font-size:8px;line-height:1.5;letter-spacing:1.2px}.life header{background:#fffffc}.life .hero{background:linear-gradient(125deg,#0e372a,#1e523b);border:1px solid #244f36;min-height:330px}.life .hero h2{font-family:Georgia,serif;font-size:50px;letter-spacing:-1.2px}.hero-seal{width:220px;height:220px;object-fit:contain;filter:drop-shadow(0 14px 30px #07190e55)}.hero-brand-scene{position:relative;display:grid;place-items:center}.hero-brand-scene:before{content:'';position:absolute;width:280px;height:280px;border:1px solid #d8bf752b;border-radius:50%}.hero-brand-scene:after{content:'MIELI · KEHO · SYDÄN · ARKI';position:absolute;bottom:0;font-size:9px;letter-spacing:2.3px;color:#dccb9c}.life .concept{border-radius:17px;padding:26px;min-height:330px;background:white}.life .concept h3{margin-top:20px;font-size:21px;letter-spacing:-.5px}.life .concept-top{order:0}.concept-logo{width:72px;height:72px;object-fit:contain;margin-top:14px;align-self:flex-start;filter:drop-shadow(0 3px 2px #393a1d15)}.life .concept p{font-size:13px;line-height:1.8;max-width:340px}.life .concept .number{font:600 9px Arial,sans-serif;letter-spacing:1.3px}.life .concept .favorite{border:1px solid #dfe3dc;border-radius:50%;width:34px;height:34px;font-size:21px;line-height:30px}.life .concept .text-link{font-size:12px;display:flex;justify-content:space-between}.life .panel{background:#fffffd;border-radius:13px}.life .metrics article{border-radius:13px}.life .quick-card{background:white!important;border:1px solid #e0e3d9;border-radius:13px}.quick-card .quick-logo{width:50px;height:50px;object-fit:contain}.life .quick-card>span{display:none}.brand-note{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);margin-top:36px;padding-top:26px}.brand-note p{font-size:12px;margin:0;max-width:600px}.brand-note a{font-size:12px;white-space:nowrap;font-weight:600}.privacy-link{display:inline-block;margin-top:12px;font-size:10px;color:var(--muted)}.bottom-nav,.menu-toggle{display:none}.module-title-logo{width:65px;height:65px;float:left;margin:3px 16px 10px 0;object-fit:contain}.life .page-heading h1{font-family:Georgia,serif;letter-spacing:-1px;font-weight:500}.life .form-grid{clear:both}.story-page{background:#f7f7f1;color:var(--ink);margin:0}.story-header{height:100px;border-bottom:1px solid #e1e4db;padding:0 max(30px,calc((100vw - 1150px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.story-header .site-brand{padding:0}.story-main{max-width:1120px;padding:65px 30px;margin:auto}.story-main>h1{font:500 clamp(40px,5vw,72px)/1.13 Georgia,serif;letter-spacing:-2px;margin:25px 0}.story-main h1 em{color:#77734d;font-weight:400}.story-main .lead{max-width:640px;font-size:18px;line-height:1.9}.story-brands{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:70px 0}.story-brands article{border:1px solid #dce0d2;padding:38px;border-radius:16px;background:#eef1e6}.story-brands article>img{width:80px;height:80px;display:block;margin-bottom:30px}.story-brands h2{font:500 29px Georgia,serif;margin:18px 0}.story-section{padding:35px 0;border-top:1px solid #dfe3d8;margin-top:35px}.story-section>h2{font:500 clamp(28px,3.5vw,44px)/1.2 Georgia,serif;margin:20px 0}.story-section>p{max-width:780px;font-size:16px}.story-section blockquote{font:400 25px/1.7 Georgia,serif;color:var(--green);border-left:2px solid var(--gold);padding-left:26px;margin:35px 0;max-width:800px}.story-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin:30px 0}.story-grid h3{font-family:Georgia,serif;font-weight:500;font-size:23px}.story-grid p{font-size:14px}.final-invite{padding:45px;background:#eaf0e2;border:0;border-radius:16px}.story-footer{max-width:1150px;margin:auto;padding:30px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #dfe3d8;font-size:11px;color:var(--muted)}.privacy-main{max-width:850px}.privacy-main h1{font-size:48px}.privacy-main h2{margin-top:35px;font:500 26px Georgia,serif}.privacy-main p{font-size:15px}@media(max-width:1100px){.life .hero h2{font-size:43px}.hero-seal{width:175px;height:175px}.hero-brand-scene:before{width:220px;height:220px}.hero-brand-scene:after{font-size:8px;letter-spacing:1.4px}.life .concept{padding:23px}}@media(max-width:760px){.life{padding-bottom:78px}.life aside{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--line)}.site-brand{padding:0;gap:10px}.site-brand>img{width:43px;height:43px}.site-brand strong{font-size:24px}.site-brand span{font-size:7px;letter-spacing:1.5px}.menu-toggle{display:block;width:40px;height:40px;border:1px solid #dde2d8;border-radius:50%;background:white;font-size:20px;color:var(--green)}.life .mobile-nav,.life .mobile-nav-label{display:none}.life nav#primary-nav{display:none;width:100%;margin-top:16px;overflow:visible}.life nav#primary-nav.is-open{display:grid;grid-template-columns:1fr 1fr}.life nav#primary-nav a{font-size:12px;white-space:normal}.life header{height:45px;padding:0 20px;font-size:10px;border-bottom:0;background:var(--paper)}.header-actions .avatar{width:28px;height:28px;font-size:9px}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fffffff5;border-top:1px solid #e1e4dc;padding:9px 4px calc(9px + env(safe-area-inset-bottom));z-index:20;backdrop-filter:blur(16px)}.bottom-nav a{display:flex;align-items:center;flex-direction:column;gap:5px;font-size:9px;color:#7a8077;padding:4px 0;position:relative}.bottom-nav a.active{color:var(--green);font-weight:700}.bottom-nav a.active:before{content:'';width:23px;height:3px;border-radius:2px;background:var(--gold);position:absolute;top:-10px}.bottom-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}.life .hero{grid-template-columns:1fr;min-height:0;padding:29px}.life .hero h2{font-size:38px}.hero-brand-scene{display:none}.life main{padding:20px 18px 30px}.life .grid{grid-template-columns:1fr 1fr;gap:12px}.life .concept{min-height:350px;padding:18px 16px}.concept-logo{width:59px;height:59px}.life .concept h3{font-size:17px;line-height:1.25;margin-top:19px;overflow-wrap:anywhere}.life .concept small{font-size:9px}.life .concept p{font-size:11px;line-height:1.75}.life .concept .number{font-size:7px;letter-spacing:.6px;max-width:78px;line-height:1.5}.life .concept .favorite{width:28px;height:28px;font-size:18px;line-height:25px;flex:none}.life .concept .text-link{font-size:10px}.brand-note{display:block}.brand-note a{display:inline-block;margin-top:15px}.life footer{font-size:8px;line-height:1.6}.life .page-heading h1{font-size:34px}.story-header{height:85px;padding:0 20px}.story-header>.btn{max-width:145px;font-size:10px;padding:10px 12px}.story-main{padding:40px 23px}.story-main>h1{font-size:42px;letter-spacing:-1px}.story-main .lead{font-size:16px}.story-brands{grid-template-columns:1fr;margin:40px 0}.story-brands article{padding:29px}.story-grid{grid-template-columns:1fr 1fr;gap:20px}.story-section>p{font-size:14px}.story-section blockquote{font-size:21px}.story-footer{flex-wrap:wrap;padding:25px 23px;font-size:10px}.final-invite{padding:30px}.privacy-main h1{font-size:40px}#notice:not(:empty){bottom:95px;left:18px;right:18px;font-size:12px}}
.site-brand>img,.hero-seal,.concept-logo,.quick-logo,.module-title-logo,.story-brands article>img{border-radius:50%}
@media(max-width:760px){.life aside{position:sticky;top:0;z-index:30}.life .bottom-nav{display:grid;overflow:visible;gap:0}.life .bottom-nav a{padding:4px 0;border-radius:0;background:transparent;font-size:9px;white-space:normal}}

/* Native date controls must fit their cards in iPhone Safari. */
form,fieldset,.form-grid,.two-columns>*{min-width:0;max-width:100%}
.field{min-width:0;max-width:100%;box-sizing:border-box}
input[type=date],input[type=time],input[type=datetime-local]{appearance:none;-webkit-appearance:none;display:block;width:100%;min-width:0;max-width:100%;min-height:44px;box-sizing:border-box}
input::-webkit-date-and-time-value{text-align:left;min-height:1.5em}
input::-webkit-datetime-edit{padding:0;min-width:0}
.app-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.app-shortcuts a{font-size:12px}
.app-is-open{overflow:hidden}.app-is-open>.bottom-nav,.app-is-open>aside,.app-is-open .shell>header,.app-is-open .shell>footer{display:none!important}
.app-viewer{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:var(--paper)}
.app-viewer-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;height:auto;min-height:58px;padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top));border-bottom:1px solid var(--line);background:#fffffd}
.app-viewer-header strong{font-size:14px;min-width:0;text-align:center;overflow-wrap:anywhere}.app-viewer-header .btn{min-height:44px;padding:10px 12px;font-size:12px;flex:none}
.application-frame{display:block;width:100%;min-height:0;flex:1;border:0;background:var(--paper)}
@media(max-width:760px){input.field,select.field,textarea.field{font-size:16px}.app-viewer-header{padding-inline:8px}.app-viewer-header strong{font-size:12px}.app-viewer-header .btn{padding-inline:10px}}

.life nav.app-shortcuts{display:flex;flex-direction:row;flex-wrap:wrap}.life nav.app-shortcuts a{font-size:12px}

/* The founder's supplied Hyvinn marks in the home cards and main menu. */
.site-brand>img{border-radius:50%}
.life #primary-nav a{gap:10px}
.life #primary-nav .nav-logo{display:block;flex:none;width:28px;height:28px;object-fit:contain;border-radius:50%}
.life #primary-nav a>span{min-width:0;line-height:1.3}
.life .branded-empty .empty-logo{display:block;width:88px;height:88px;object-fit:contain;border-radius:50%;margin:2px auto 14px;filter:drop-shadow(0 4px 7px #183e3214)}
.life .branded-empty p{margin-bottom:0}
@media(max-width:760px){.life #primary-nav .nav-logo{width:26px;height:26px}.life #primary-nav a{gap:8px}.life .branded-empty .empty-logo{width:80px;height:80px}}

.catalog-empty{grid-column:1/-1;text-align:center;padding:12px 0 24px}
