/* Shared public chrome: landing, login and password recovery. */
:root{--public-plum:#512d45;--public-rose:#b27c8c;--public-cream:#faf7f3;--public-line:#ded3d9;--public-body:#51464d}
body .public-header,#service .public-header{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:none;min-height:100px;height:auto;padding:20px max(24px,calc((100vw - 1200px)/2));background:var(--public-cream);border-bottom:1px solid var(--public-line);flex-shrink:0}
body .public-brand,#service .public-brand{display:inline-block;flex-shrink:0;color:var(--public-plum);font-family:Georgia,'Hiragino Mincho ProN','Yu Mincho',serif;font-size:30px;font-weight:400;letter-spacing:-1px;text-decoration:none;line-height:1.2;margin:0}
body .public-brand i,#service .public-brand i{color:var(--public-rose);font-weight:400}
body .public-brand small,#service .public-brand small{display:block;font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Yu Gothic',sans-serif;font-size:14px;font-weight:400;letter-spacing:.03em;line-height:1.5;max-width:none;margin-top:8px;color:var(--public-plum)}
.public-links{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap}
.public-links a{color:var(--public-plum);font-size:14px;text-decoration:none;line-height:1.5}
.public-links a:hover{text-decoration:underline;text-underline-offset:5px}
.public-links .public-about{border:1px solid var(--public-line);padding:12px 16px;border-radius:5px}
.public-links .public-cta{color:#fff;background:var(--public-plum);padding:12px 16px;border-radius:5px}
body .public-footer,#service .public-footer{width:100%;max-width:none;padding:32px 24px;margin:0;background:var(--public-cream);border-top:1px solid var(--public-line);text-align:center;font-size:14px;color:var(--public-body);line-height:1.7;flex-shrink:0}
.public-footer .public-brand small{display:none!important}
.public-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px}
.public-footer p{font-size:14px;margin:14px 0 0}
.public-footer a{color:var(--public-plum);text-underline-offset:4px}
.public-footer .public-brand{font-size:26px}
.public-header a:focus-visible,.public-footer a:focus-visible{outline:3px solid var(--public-rose);outline-offset:4px}
body:has(#workspace:not([hidden])) .public-links,body:has(#workspace:not([hidden])) .public-footer{display:none}
body.recovery-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--public-cream)}
.recovery-page main{width:100%;max-width:760px;margin:0 auto;padding:48px 24px;flex:1;display:flex;align-items:center}
.recovery-page .panel{width:100%;padding:32px;border-color:var(--public-line)}
.recovery-page h1{font-size:clamp(23px,4vw,30px);line-height:1.5;margin:0 0 24px}
.recovery-page form{padding:0;border:0;box-shadow:none;background:none}
.recovery-page label,.recovery-page p{font-size:16px;line-height:1.8}
.recovery-page .help{font-size:14px;color:var(--public-body)}
.recovery-page .primary{background:var(--public-plum);width:100%;margin-top:12px}
.recovery-page #message:empty{display:none}
#service .public-header{position:sticky;top:0;z-index:30}
#service .service-section{padding:64px 0}
#service .service-hero{min-height:620px;padding:58px 0}
#service .service-hero h1{font-size:clamp(32px,3.5vw,48px);max-width:660px}
#service .service-hero-copy{font-size:16px;line-height:1.85;max-width:580px}
#service .service-section p,#service .benefit-card p,#service .usecase-shift p,#service .onboard-step p{font-size:16px;line-height:1.8}
#service :is(.sync-micro,.sync-note,.screen-note,.section-label,.specific-before,.optional-note,.price-note,.price-value span,.price-badge,.preview-source,.preview-head span,.preview-safe,.fit-item span,.sync-hero-tags span,.hero-image-note,.onboard-step span,.usecase-card small){font-size:14px}
#service .section-lead{margin-bottom:30px}
#service .role-benefits{display:grid;grid-template-columns:1fr 1fr;gap:48px}
#service .role-benefits article{border-top:1px solid var(--public-line);padding-top:16px}
#service .role-benefits h3{color:var(--public-plum);font-size:23px}
#service .role-benefits ul{padding-left:22px;line-height:2;font-size:16px}
#service .flow-core{flex-direction:column}
#service .shared-info{text-align:center;color:var(--public-plum);padding:16px;border-bottom:1px solid var(--public-line)}
#service .screen-pair figure{max-width:340px;flex:1}
#service .screen-pair figure:nth-child(2){margin-top:0}
#service .screen-role{grid-template-columns:1fr 1fr;gap:48px;padding:32px 0}
#service .screen-callout{font-size:14px;margin:0 0 14px;text-align:center;color:var(--public-plum);font-weight:600}
#service .price-details{margin:20px 0}
#service .price-details>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--public-line)}
#service .price-details dt{font-weight:600;color:var(--public-plum)}
#service .price-details dd{margin:0;line-height:1.8;font-size:16px}
#service .trust-links a{font-size:14px;color:var(--public-plum);text-underline-offset:4px}
#service .onboard-steps{grid-template-columns:repeat(3,1fr);gap:30px}
#service .sync-sticky{display:none}
#service .sync-legal-grid p{color:var(--public-body)}
#service .public-footer p{font-size:14px}
@media(max-width:1050px){#service .public-header{flex-wrap:wrap;gap:16px}#service .public-links{justify-content:flex-start;gap:16px}#service section[id]{scroll-margin-top:170px}}
@media(max-width:760px){
 body .public-header,#service .public-header{padding:18px 20px;gap:16px;flex-wrap:wrap;min-height:0}
 body .public-brand,#service .public-brand{font-size:28px}
 .public-links{justify-content:flex-start;gap:14px}
 #service .public-header{position:relative}
 #service .public-links .public-cta{display:none}
 #service section[id]{scroll-margin-top:24px}
 #service .service-section{padding:40px 0}
 #service .service-hero{min-height:0;padding:36px 0}
 #service .service-hero h1{font-size:30px;line-height:1.5}
 #service .service-hero-grid{gap:32px}
 #service .service-preview{margin:0 auto}
 #service .service-actions{align-items:stretch}
 #service .service-actions a{justify-content:center;width:100%;font-size:16px;padding:15px}
 #service .role-benefits,#service .screen-role,#service .onboard-steps{grid-template-columns:1fr;gap:24px}
 #service .screen-pair figure{max-width:340px;width:100%}
 #service .price-details>div{grid-template-columns:1fr;gap:6px}
 #service .sync-sticky:not([hidden]){display:flex}
 #service .public-footer{padding-bottom:110px}
 .recovery-page main{padding:28px 16px}.recovery-page .panel{padding:24px 20px}
 body:has(#login-view:not([hidden]))>main{padding-top:30px;padding-bottom:30px}
}
body .public-header>a.public-brand{font-size:30px;color:var(--public-plum);text-decoration:none}
#service .service-hero h1 span,#service .service-hero h1 em{display:inline-block}
@media(max-width:760px){body .public-header>a.public-brand{font-size:28px}#service .service-hero h1{font-size:28px}}
body .public-header .public-links a{font-size:14px}
#service .service-kicker,#service .preview-booking small,#service .usecase-card header span,#service .entry-form .optional-note{font-size:14px}
body.dashboard-app:has(#workspace:not([hidden]))>.public-header{height:var(--shell-header);min-height:var(--shell-header);padding:12px 28px;flex-wrap:nowrap}
body.dashboard-app:has(#workspace:not([hidden]))>.public-header .public-brand{font-size:26px}
body.dashboard-app:has(#workspace:not([hidden]))>.public-header .public-brand small{font-size:10px}
.signup-complete{width:min(720px,calc(100% - 32px));margin:48px auto;color:#322c30;line-height:1.9}.signup-complete h1{font-size:28px}.signup-complete h2{margin-top:32px;font-size:21px}.signup-complete li{margin:12px 0}
#result{color:#382d33!important;font-weight:600}
body.recovery-page main.signup-complete{display:block;max-width:720px;width:calc(100% - 32px);padding:32px 0;min-height:0}
.mail-notice{padding:28px;border:1px solid var(--line,#ded3d8);border-radius:16px;background:#fffdfb}.mail-notice h2{margin-top:0;font-size:24px}.mail-notice p{line-height:1.9}.mail-notice button{min-height:44px;margin-top:16px}.mail-notice:focus{outline:2px solid #b27c8c;outline-offset:4px}#access-explanation{font-weight:400;line-height:1.8}
