/* V21: a coherent lunch scene, measured type and an explicit product chapter. */
@font-face{font-family:'SUIT';src:url('fonts/SUIT-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
/* Website colors follow DiaryColorRoles in mobile/lib/src/design/app_theme.dart. */
:root{--sans:'SUIT',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Hiragino Kaku Gothic ProN',sans-serif}
h1,h2{font-weight:520;letter-spacing:-.047em}h3{font-weight:600}
.header{height:96px}.desktop-nav{font-size:14px}.header-end{gap:24px}.header-cta{font-size:13px}
.button{font-size:15px;font-weight:650;border-radius:7px;padding-inline:27px}.text-link{font-size:15px;font-weight:550}
.hero{display:block;padding-top:33px;padding-bottom:88px}
.hero-top{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:end;padding-bottom:57px}
.hero h1{font-size:clamp(68px,6.15vw,89px);font-weight:530;line-height:1.13;letter-spacing:-.053em}
.hero h1>span+span{font-weight:530;color:var(--accent)}
.hero-intro{margin:0 0 7px;justify-self:end;width:380px;max-width:100%}
.hero-body{font-size:16px;line-height:1.85;font-weight:430;letter-spacing:-.02em}
.hero-actions{gap:28px;margin-top:26px}
.launch-note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:16px}.store-link:disabled{cursor:default}
.hero-visual{height:553px;max-width:none;margin:0 0 20px;border-radius:12px;background:var(--hero-mat)}
.hero-scene{inset:0 auto 0 0;width:86%;height:100%;border-radius:12px 0 0 12px}
.hero-scene img{object-position:35% 38%}
.hero-app-mat{top:-26px;right:4.5%}
.hero-phone{--device-width:280px;border-radius:36px;background:#24262b;border-color:#55585f;box-shadow:0 26px 45px -25px #0b0c0ea8}
.hero-phone .device-screen{border-radius:31px}
.hero>.demo-caption{margin:30px 0 0;text-align:right}
.people{padding-block:28px 104px}
.people-top{grid-template-columns:1.25fr 1fr;gap:88px;align-items:end}
.people h2{font-size:49px;line-height:1.22;font-weight:540}
.people-intro{max-width:430px;justify-self:end;padding-bottom:5px}.body-copy{font-size:16px;line-height:1.9;letter-spacing:-.018em}
.people-gallery{grid-template-columns:1fr 1fr 1fr;gap:24px;margin-top:43px;align-items:start}
.group-photo{min-width:0}.group-photo img{height:338px;border-radius:5px;object-fit:cover;object-position:50% 50%}
.group-photo-couple{padding-top:0}.group-photo-family img{object-position:50% 43%}.group-photo-hiking img{object-position:40% 50%}
.group-photo figcaption{padding-top:15px}.group-photo strong{font-size:17px;font-weight:550;letter-spacing:-.02em}
/* The app's charcoal surface gives the product section contrast without a new brand color. */
.experience{--paper:#0b0c0e;--ink:#f5f5f7;--muted:#a7a9b0;--line:#34363b;--accent:#d9dade;padding-block:90px;background:#0b0c0e;color:var(--ink)}
html[data-theme=dark] .experience{background:#191a1e}
.experience-layout{grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.experience-copy{order:1;max-width:480px}.experience h2{font-size:57px;font-weight:490;line-height:1.19;letter-spacing:-.047em}
.experience .body-copy{margin-top:25px;color:var(--muted)}
.experience-stage{order:2;position:relative;padding:0;background:transparent;border-radius:0;width:440px;max-width:100%;justify-self:center}
html[data-theme=dark] .experience-stage{background:transparent}
.experience-device{--device-width:288px;border-radius:37px;box-shadow:0 28px 44px -25px #0b0c0eb0}
.experience-device .device-screen{border-radius:32px}
.experience-stage>.demo-caption{color:var(--muted);padding:0 20px}
.stage-tabs{margin-top:37px;gap:24px;border-color:var(--line)}
.stage-tab{padding-block:19px}.stage-text strong{font-size:20px;font-weight:550}
.stage-tab[aria-selected=true]:after{height:2px;background:var(--ink)}.stage-summary{font-size:15px;line-height:1.9;min-height:5.7em;margin-top:22px;max-width:440px}
.privacy{padding-block:85px 83px;grid-template-columns:1fr 1.25fr;gap:85px;border-top:0}
.privacy h2{font-size:38px;font-weight:540;line-height:1.26}.privacy .body-copy{margin-top:22px}
.privacy-details{display:grid;grid-template-columns:1fr 1fr;gap:31px;align-content:center}
.privacy-details>div+div{margin:0;padding:0 0 0 31px;border-top:0;border-left:1px solid var(--line)}
.privacy-details h3{font-size:18px;font-weight:600}.privacy-details p{font-size:15px;line-height:1.8;margin-top:12px}
.faq{padding-block:61px 99px;grid-template-columns:.85fr 1fr;gap:100px}.faq h2{font-size:39px;font-weight:540}.faq-list{border-top:0}summary{font-size:16px;padding-block:24px}details>p{font-size:15px}
.closing{padding-block:74px 78px;background:var(--closing-bg);color:var(--ink)}
.closing>.section-wrap{grid-template-columns:1.35fr 1fr;gap:100px;align-items:center}
.closing h2{font-size:67px;font-weight:510;line-height:1.16;letter-spacing:-.047em}
.closing-action{justify-self:end;min-width:320px}.closing-action p{font-size:16px;line-height:1.9;color:var(--muted)}
.closing .button{margin-top:26px;background:var(--accent);color:var(--paper)}.closing .button:hover{background:var(--button-hover)}
.footer{background:var(--closing-bg);color:var(--ink);padding-bottom:27px}
.footer-top{border-top:1px solid var(--line);padding-top:21px;gap:27px}.footer-brand{width:60px;padding:10px;flex:none}
.footer-brand .brand-dark{display:none}html[data-theme=dark] .footer-brand .brand-dark{display:block}html[data-theme=dark] .footer-brand .brand-light{display:none}
.footer-top>p{margin-left:auto;color:var(--muted)}.footer-top>.languages{margin-left:20px}.footer-bottom{padding-top:19px;color:var(--muted);justify-content:flex-end;text-align:right}
html[lang=en] .hero h1{font-size:clamp(61px,5.9vw,85px);letter-spacing:-.045em}
html[lang=ja] .hero h1{font-size:clamp(43px,4.3vw,62px);line-height:1.3;font-weight:500}
html[lang=ja] .people h2{font-size:42px}html[lang=ja] .experience h2{font-size:44px}html[lang=ja] .closing h2{font-size:49px}
@media(max-width:1150px){
 .hero-top{grid-template-columns:1.3fr 1fr;gap:40px;padding-bottom:48px}.hero h1{font-size:68px}.hero-intro{width:335px}.hero-body{font-size:15px}
 .hero-visual{height:486px}.hero-phone{--device-width:246px;border-radius:33px}.hero-phone .device-screen{border-radius:28px}.hero-app-mat{right:4%;top:-21px}.hero-scene{width:86%}
 .people h2{font-size:43px}.people-gallery{gap:22px}.group-photo img{height:290px}.people-top{gap:50px}.people-intro{max-width:350px}
 .experience{padding-block:75px}.experience-layout{gap:66px}.experience h2{font-size:48px}.experience-stage{width:380px;padding-block:0;border-radius:0}.experience-device{--device-width:262px}
 .privacy{gap:55px}.privacy-details{gap:24px}.privacy-details>div+div{padding-left:24px}.privacy h2{font-size:34px}
 .closing h2{font-size:58px}.closing>.section-wrap{gap:60px}.closing-action{min-width:290px}
 html[lang=en] .hero h1{font-size:61px}html[lang=ja] .hero h1{font-size:44px}
}
@media(min-width:761px) and (max-width:900px){
 .header{height:84px}.hero{padding-top:28px;padding-bottom:70px}.hero-top{grid-template-columns:1.25fr 1fr;gap:32px;padding-bottom:41px}
 .hero h1{font-size:54px}.hero-body{font-size:14px}.hero-body br{display:none}.hero-actions{gap:19px;margin-top:20px}.hero .button{padding-inline:18px}
 .hero-visual{height:412px}.hero-phone{--device-width:218px;border-radius:30px}.hero-phone .device-screen{border-radius:25px}.hero-app-mat{right:3%;top:-20px}
 .people h2{font-size:36px}.people-top{gap:40px}.people-gallery{gap:17px}.group-photo img{height:242px}.group-photo strong{font-size:16px}.people{padding-bottom:76px}
 .experience-layout{gap:42px}.experience-stage{width:310px;padding-block:0;border-radius:0}.experience-device{--device-width:235px;border-radius:32px}.experience-device .device-screen{border-radius:27px}
 .experience h2{font-size:39px}.stage-text strong{font-size:17px}.stage-tabs{gap:15px}.stage-summary{font-size:14px;min-height:7.6em}
 .privacy{grid-template-columns:1fr 1fr;gap:45px;padding-block:60px}.privacy h2{font-size:32px}.privacy-details{display:block}.privacy-details>div+div{margin-top:20px;padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}
 .faq{gap:45px}.closing h2{font-size:48px}.closing>.section-wrap{gap:35px}.closing-action{min-width:0}.footer-top>p{display:none}.footer-top>.languages{margin-left:auto}
 html[lang=en] .hero h1{font-size:49px}html[lang=ja] .hero h1{font-size:35px}html[lang=ja] .experience h2{font-size:32px}html[lang=ja] .people h2{font-size:31px}html[lang=ja] .closing h2{font-size:36px}
}
@media(max-width:760px){
 .header{height:76px}.hero{padding-top:30px;padding-bottom:56px}.hero-top{display:block;padding:0}
 .hero h1{font-size:clamp(44px,12.5vw,72px);line-height:1.17;font-weight:540;letter-spacing:-.05em}.hero h1>span+span{font-weight:540}
 .hero-intro{width:100%;margin:24px 0 0}.hero-body{font-size:14px;line-height:1.85}.hero-body br{display:block}.hero-actions{gap:26px;margin-top:23px}.hero .button{font-size:14px;padding-inline:22px}.hero .text-link{font-size:14px}
 .hero-visual{height:565px;margin:35px 0 0;border-radius:8px;background:transparent}
 .hero-scene{inset:0 0 auto;width:100%;height:281px;border-radius:8px}.hero-scene img{object-position:33% 46%}
 .hero-app-mat{top:169px;right:6%}.hero-phone{--device-width:200px;border-radius:24px;padding:3px;box-shadow:0 17px 30px -14px #0b0c0e70}.hero-phone .device-screen{border-radius:20px}
 .hero>.demo-caption{margin:24px 0 0;font-size:10px}
 .people{padding-block:22px 62px}.people-top{display:block}.people h2{font-size:36px;line-height:1.24;font-weight:550}
 .people-intro{margin-top:22px;max-width:none;width:100%;padding:0}.people .body-copy{font-size:14px;line-height:1.85}.people .body-copy br{display:none}
 .people-gallery{grid-template-columns:1fr 1fr;gap:24px 15px;margin-top:29px}.group-photo-family{grid-column:1/-1}.group-photo-family img{height:auto;aspect-ratio:1.6;object-position:50% 44%}
 .group-photo-couple,.group-photo-hiking{padding:0}.group-photo-couple img,.group-photo-hiking img{height:auto;aspect-ratio:.87}.group-photo-couple img{object-position:51% center}.group-photo-hiking img{object-position:35% center}.group-photo figcaption{padding-top:11px}.group-photo strong{font-size:15px}
 .experience{padding-block:51px 50px}.experience-layout{display:flex;flex-direction:column;gap:28px;align-items:stretch}.experience-copy{order:1;max-width:none}
 .experience h2{font-size:39px;line-height:1.2}.experience .body-copy{font-size:14px;margin-top:22px}.stage-tabs{margin-top:22px;gap:25px}.stage-tab{padding-block:17px}.stage-text strong{font-size:17px}
 .stage-summary{font-size:14px;min-height:5.7em;line-height:1.9;margin-top:20px}
 .experience-stage{order:2;width:100%;padding:0;border-radius:0}.experience-device{--device-width:257px;border-radius:33px}.experience-device .device-screen{border-radius:28px}
 .privacy{display:block;padding-block:51px 52px}.privacy h2{font-size:32px}.privacy .body-copy{font-size:14px;margin-top:20px}.privacy-details{display:block;margin-top:31px}.privacy-details>div+div{margin-top:21px;padding:21px 0 0;border-left:0;border-top:1px solid var(--line)}.privacy-details h3{font-size:17px}.privacy-details p{font-size:14px;margin-top:10px}
 .faq{display:block;padding-block:40px 53px}.faq h2{font-size:31px}.faq-list{margin-top:24px}summary{font-size:15px;padding-block:21px}details>p{font-size:14px}
 .closing{padding-block:47px 48px}.closing>.section-wrap{display:block}.closing h2{font-size:44px;line-height:1.18;font-weight:520}.closing-action{min-width:0;width:100%;margin-top:24px}.closing-action p{font-size:14px}.closing .button{margin-top:24px;font-size:14px}
 .footer-top{display:grid;grid-template-columns:1fr auto;gap:8px 10px;padding-top:17px}.footer-brand{grid-column:1;grid-row:1;width:54px;padding:9px}.footer-top>span{grid-column:1;grid-row:2}.footer-top>p{grid-column:1;grid-row:3;margin:0;font-size:10px}.footer-top>.languages{grid-column:2;grid-row:1/4;margin:0}.footer-bottom{padding-top:18px}
 html[lang=en] .hero h1{font-size:clamp(40px,11vw,66px)}html[lang=ja] .hero h1{font-size:clamp(29px,9vw,52px);line-height:1.32}
 html[lang=en] .people h2{font-size:35px}html[lang=en] .experience h2{font-size:38px}html[lang=ja] .people h2{font-size:32px}html[lang=ja] .experience h2{font-size:32px}html[lang=ja] .closing h2{font-size:31px}
}
@media(max-width:360px){
 .header{height:72px}.hero{padding-top:27px}.hero h1{font-size:41px}.hero-body{font-size:13px}.hero .button{font-size:13px;padding-inline:19px}.hero .text-link{font-size:13px}.hero-actions{gap:23px}
 .hero-visual{height:490px;margin-top:33px}.hero-scene{height:238px}.hero-app-mat{top:132px;right:5%}.hero-phone{--device-width:174px;border-radius:23px}.hero-phone .device-screen{border-radius:19px}
 .people h2{font-size:32px}.experience h2{font-size:35px}.experience-stage{padding-block:0;border-radius:0}.experience-device{--device-width:229px;border-radius:31px}.experience-device .device-screen{border-radius:26px}.stage-text strong{font-size:16px}.closing h2{font-size:39px}
 html[lang=en] .hero h1{font-size:35px}html[lang=ja] .hero h1{font-size:27px}html[lang=ja] .people h2{font-size:29px}html[lang=ja] .experience h2{font-size:28px}html[lang=ja] .closing h2{font-size:28px}
}

@media(prefers-reduced-motion:no-preference){.stage-tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 240ms cubic-bezier(.22,.61,.36,1)}.stage-tab[aria-selected=true]:after{transform:scaleX(1)}}
@media(max-width:360px){.footer-top{grid-template-columns:1fr}.footer-top>.languages{grid-column:1;grid-row:4;justify-self:start;margin-top:7px}.footer .languages a{min-width:44px}}

/* A quiet, readable home for support and policy links. */
.footer{font-size:12px}.footer-top>p{font-size:11px}.footer-bottom{justify-content:space-between;gap:16px 28px;align-items:center;text-align:left;flex-wrap:wrap}.footer-links{display:flex;align-items:center;gap:4px 24px;flex-wrap:wrap}.footer-links a,.footer-bottom>a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;padding-block:10px}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.footer-links a[aria-current]{color:var(--ink)}.footer-bottom>a{margin-left:auto}
@media(max-width:760px){.footer-links{gap:4px 20px}.footer-top>p{font-size:11px}.footer-bottom{gap:6px 20px;padding-top:12px}.footer-links a,.footer-bottom>a{font-size:11px}}
