/* Phase 5 public landing. Existing chooser, dialogs and illustrative scene retain their controllers. */
@font-face{font-family:Inter;src:url('/static/design-fonts/Inter-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url('/static/design-fonts/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
body.design-public{--ink:#223b45;--muted:#53685e;--blue:#315d70;--cream:#f6f8f4;--soft:#eaf0f3;--line:#dbe4df;--red:#a54842;background:#f6f8f4;color:#223b45;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}
body.design-public :is(h1,h2,h3){font-family:Manrope,Inter,sans-serif}
body.design-public :is(a,button,summary):focus-visible{outline-color:#315d70}
body.design-public>header{max-width:1440px;margin:auto;padding:22px 40px;min-height:88px;gap:32px;background:transparent;border-bottom:1px solid #dbe4df;box-shadow:none}
body.design-public .logo{width:145px;flex-shrink:0;background:transparent}
body.design-public header nav{gap:24px;font-size:13px;font-weight:550}
body.design-public header nav svg{display:none}
body.design-public .utility{gap:18px;font-size:13px}
body.design-public .emergency{min-height:46px;padding:12px 16px;border:1px solid #a54842;background:#a54842;border-radius:11px;color:white;font-size:13px;box-shadow:none}
body.design-public .emergency:hover{background:#873d37;border-color:#873d37}
body.design-public .btn{min-height:48px;padding:12px 18px;border:1px solid #315d70;border-radius:11px;background:#315d70;color:white;font-size:14px;font-weight:600;box-shadow:none;white-space:normal}
body.design-public .btn:hover{background:#244b5d}
body.design-public .choice-hero{max-width:1360px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:auto auto auto;gap:36px 48px;padding:62px 40px 36px;align-items:center}
body.design-public .choice-intro{grid-row:1;grid-column:1;container-type:inline-size}
body.design-public .choice-intro .eyebrow{font-size:11px;letter-spacing:.12em;font-weight:700;margin-bottom:20px;color:#315d70}
body.design-public .choice-intro h1{max-width:none;font-size:clamp(24px,8.2cqw,58px);line-height:1.2;letter-spacing:-.035em;font-weight:650}
body.design-public .choice-intro h1 .design-heading-line{display:block;white-space:nowrap;color:#223b45;font:inherit;letter-spacing:inherit;line-height:inherit;margin:0}
body.design-public .choice-intro h1 .design-heading-line+span{color:#315d70}
body.design-public .design-hero-tagline{max-width:42ch;margin-top:23px;color:#53685e;font-size:16px;line-height:1.8}
body.design-public .choice-product{grid-column:2;grid-row:1;position:relative;display:block;align-self:center;width:100%;max-width:none;min-height:0;margin:0;aspect-ratio:3/2;border-radius:24px;background:#eee9df;overflow:hidden}
body.design-public .choice-product>.sharp-product{position:absolute;inset:0;width:100%;height:100%;border-radius:24px;background:#eee9df}
body.design-public .scene-fallback{display:block;width:100%;height:100%;object-fit:contain}
body.design-public .chooser{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:0;width:100%;margin:10px 0 0;border:1px solid #dbe4df;border-radius:22px;background:#fff;overflow:hidden;box-shadow:none}
body.design-public .choice-buttons{display:grid;grid-template-columns:1fr;border-right:1px solid #dbe4df;background:#f0f4f1}
body.design-public .choice-buttons button{min-width:0;min-height:69px;padding:17px 22px;border:0;border-bottom:1px solid #dbe4df;background:transparent;color:#223b45;gap:13px;font-size:14px;font-weight:600;line-height:1.5;text-align:left}
body.design-public .choice-buttons button:last-child{border-bottom:0}
body.design-public .choice-buttons button.active{color:#315d70;background:#eaf0f3;box-shadow:inset 4px 0 #315d70}
body.design-public .choice-buttons button:not(.active):hover{background:#eaf0f3}
body.design-public .choice-buttons .choice-number{display:none}
body.design-public .choice-buttons .choice-icon{display:inline-flex;background:transparent;color:inherit}
body.design-public .choice-buttons .choice-icon svg{width:21px;height:21px}
body.design-public #choice-panel{padding:29px 33px;min-height:0;background:#fff}
body.design-public #choice-panel.equal-panels{grid-template-rows:repeat(3,auto);row-gap:20px;align-content:center}
body.design-public .choice-content{grid-row:1/span 3}
body.design-public #choice-panel .choice-summary{display:block;grid-row:1;min-width:0}
body.design-public #choice-panel .account-action{grid-row:2;min-width:0}
body.design-public #choice-panel .choice-content>.note{grid-row:3}
body.design-public #choice-panel .eyebrow{font-size:11px;letter-spacing:.08em;margin-bottom:10px;color:#315d70}
body.design-public #choice-panel h2{font-size:30px;line-height:1.22;color:#223b45}
body.design-public #choice-panel p:not(.eyebrow){color:#53685e;font-size:14px;line-height:1.75;margin:12px 0 0}
body.design-public #choice-panel .note{font-size:12px!important;color:#53685e;line-height:1.7}
body.design-public #choice-panel .btn{font-size:13px;min-height:48px}
body.design-public .service-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
body.design-public .service-info-link{font-size:12px;min-height:44px;color:#315d70}
body.design-public .existing-account{font-size:12px;min-height:44px;color:#53685e}
body.design-public .existing-account strong{color:#315d70}
body.design-public .account-hint{font-size:12px!important}
body.design-public .hero-features{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;border-bottom:1px solid #dbe4df;padding:0 0 28px;margin:0}
body.design-public .hero-features li,body.design-public .hero-features li:first-child{min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#53685e;font-size:11px;font-weight:500;line-height:1.5}
body.design-public .hero-features svg{color:#315d70;width:19px;height:19px}
body.design-public .section{max-width:1280px;padding:54px 40px;margin-inline:auto}
body.design-public .teaser{grid-template-columns:1fr 1.1fr;gap:64px}
body.design-public .teaser h2{color:#223b45;font-size:39px;line-height:1.18}
body.design-public .teaser .eyebrow{font-size:11px}
body.design-public .teaser p:not(.eyebrow){font-size:14px;line-height:1.8}
body.design-public .teaser .note{font-size:12px!important}
body.design-public .life-photo img{height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:22px}
body.design-public .vet-strip{max-width:1200px;margin:20px auto 15px;padding:30px 34px;gap:28px;border:1px solid #dfc6c0;border-radius:22px;background:#f9eeeb}
body.design-public .vet-strip strong{font-size:24px;color:#873d37}
body.design-public .vet-strip p{font-size:14px;line-height:1.7;color:#53685e;font-weight:400}
body.design-public .vet-strip .vet-note{font-size:12px;color:#53685e}
body.design-public .faqs{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;padding-block:60px}
body.design-public .faq-overview h2{font-size:34px;color:#223b45;line-height:1.2}
body.design-public .faq-intro{font-size:14px;line-height:1.8}
body.design-public .faq-photo img{border-radius:20px}
body.design-public .faq-questions{border-color:#dbe4df}
body.design-public .faq-questions summary{min-height:64px;font-size:14px;color:#223b45;padding:19px 28px 19px 0;line-height:1.6}
body.design-public .faq-questions details{border-color:#dbe4df}
body.design-public .faq-questions details p{font-size:13px;line-height:1.8;color:#53685e}
body.design-public footer{max-width:1440px;margin:auto;padding:44px 40px 25px;background:#fff;border-top:1px solid #dbe4df;gap:32px}
body.design-public footer :is(a,button){min-height:44px;font-size:12px}
body.design-public footer p{font-size:12px;color:#53685e}
body.design-public .store-mark{background:#fff;border-color:#dbe4df;color:#315d70}
body.design-public dialog{border:1px solid #dbe4df;border-radius:22px;background:#fff;color:#223b45;max-width:calc(100vw - 32px);box-shadow:0 20px 80px #223b452b}
body.design-public dialog::backdrop{background:#223b4566}
body.design-public .service-step-number{background:#eaf0f3;color:#315d70}
body.design-public .service-info-note{background:#eef3f0;color:#53685e;border-color:#dbe4df}
@media(max-width:1100px){body.design-public>header{padding-inline:28px;gap:22px}body.design-public header nav{gap:15px;font-size:12px}body.design-public .utility{gap:12px}body.design-public .choice-hero{padding:44px 28px 28px;gap:28px 32px}body.design-public .section{padding-inline:28px}body.design-public .vet-strip{margin-inline:28px}body.design-public .hero-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px}body.design-public .teaser,body.design-public .faqs{gap:35px}}
@media(max-width:850px){body.design-public>header nav{display:none}body.design-public .mobile-menu{display:block}body.design-public .utility{margin-left:auto}body.design-public .choice-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}body.design-public #choice-panel{padding:24px}body.design-public #choice-panel h2{font-size:26px}body.design-public .teaser h2{font-size:31px}body.design-public .faq-overview h2{font-size:28px}body.design-public .faqs{grid-template-columns:1fr;gap:28px}body.design-public .faq-photo{max-width:400px}}
@media(max-width:650px){
 body.design-public>header{padding:12px 16px;min-height:72px;gap:12px;flex-wrap:wrap}
 body.design-public .logo{width:118px}
 body.design-public .utility{gap:10px;min-width:0}
 body.design-public .utility>.login-link{display:none}
 body.design-public .utility>.emergency{display:none}
 body.design-public .mobile-menu summary{min-width:44px;min-height:44px;padding:10px;border:1px solid #dbe4df;border-radius:11px;color:#315d70;font-size:12px}
 body.design-public .mobile-menu>div{max-width:calc(100vw - 32px);background:#fff;border-color:#dbe4df}
 body.design-public .mobile-access{display:flex;gap:10px;padding:10px 16px;border-bottom:1px solid #dbe4df;background:#fff}
 body.design-public .mobile-access>a{flex:1;justify-content:center;min-height:44px;font-size:12px;border-radius:10px}
 body.design-public .mobile-access .access-login{color:#315d70;border-color:#c4d2ca;background:#eaf0f3}
 body.design-public .choice-hero{grid-template-columns:minmax(0,1fr);padding:32px 16px 20px;gap:26px}
 body.design-public .choice-intro{grid-row:1;grid-column:1}
 body.design-public .choice-intro h1{font-size:clamp(23px,8.2cqw,42px)}
 body.design-public .choice-intro .eyebrow{font-size:10px;margin-bottom:16px}
 body.design-public .design-hero-tagline{font-size:14px;margin-top:17px}
 body.design-public .choice-product{grid-column:1;grid-row:2;width:100%;max-width:490px;margin:auto;aspect-ratio:3/2;border-radius:18px}
 body.design-public .choice-product>.sharp-product{border-radius:18px}
 body.design-public .chooser{grid-column:1;grid-row:3;grid-template-columns:minmax(0,1fr);margin:0;border-radius:18px}
 body.design-public .choice-buttons{grid-template-columns:repeat(2,minmax(0,1fr));border:0;border-bottom:1px solid #dbe4df}
 body.design-public .choice-buttons button{min-height:75px;font-size:12px;gap:8px;padding:13px 11px;border-bottom:1px solid #dbe4df}
 body.design-public .choice-buttons button:nth-child(odd){border-right:1px solid #dbe4df}
 body.design-public .choice-buttons button:nth-child(n+3){border-bottom:0}
 body.design-public .choice-buttons button>span:last-child{display:none}
 body.design-public .choice-buttons button.active{box-shadow:inset 0 -3px #315d70}
 body.design-public #choice-panel{padding:23px 20px}
 body.design-public #choice-panel h2{font-size:26px}
 body.design-public #choice-panel p:not(.eyebrow){font-size:13px}
 body.design-public .hero-features{grid-column:1;grid-row:4;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding-bottom:23px}
 body.design-public .hero-features li{font-size:11px}
 body.design-public .section{padding:35px 20px}
 body.design-public .teaser{display:grid;grid-template-columns:minmax(0,1fr);gap:25px}
 body.design-public .teaser h2{font-size:32px}
 body.design-public .vet-strip{margin:10px 16px;padding:25px 21px;display:flex;flex-direction:column;align-items:stretch;gap:20px;border-radius:18px}
 body.design-public .vet-strip .emergency{justify-content:center}
 body.design-public .faqs{padding-block:38px}
 body.design-public footer{padding:30px 20px 20px;grid-template-columns:1fr;gap:22px}
 body.design-public footer>div:first-child{grid-column:auto}
 body.design-public .service-dialog-actions{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){body.design-public *{scroll-behavior:auto}}
