/* Revision preserves Formula v1 components, real photographs and local fonts. */
.demo-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:36px;padding:8px 24px;background:#e8e1d6;color:#514d46;font:500 11px/1.4 var(--text);border-bottom:1px solid #d9d0c3}.demo-toolbar a{text-underline-offset:3px;font-weight:700}.demo-toolbar span:nth-child(2){margin-left:auto}
.hero .visual img{height:660px;top:0}.hero .visual{height:690px}.hero .visual .circ{top:70px}.hero .visual .dot.a{top:450px}.hero h1{font-size:52px}.hero .ctas .btn{font-size:15px;padding:0 23px}.facts .wrap{grid-template-columns:repeat(4,1fr)}
.bf-intro{padding-top:88px}.bf-banner{border-radius:32px;background:var(--accent);color:var(--on-dark);padding:44px 48px;display:flex;justify-content:space-between;gap:30px;margin-bottom:80px;overflow:hidden}.bf-banner h2{font:600 34px/1.25 var(--display);letter-spacing:-1px;margin:17px 0}.bf-banner p{max-width:540px;color:var(--on-dark-soft);font-size:16px}.bf-banner .badge{background:var(--sage-soft)}.bf-mark{font:600 112px/1 var(--display);letter-spacing:-9px;color:var(--sage-on-dark);align-self:center;text-align:center;flex:none}.bf-mark span{font:700 11px var(--text);letter-spacing:.12em;display:block;margin-top:13px}
.goal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.goal-choice{padding:22px;text-align:left;border-radius:24px;border:1px solid var(--rule);background:var(--white);font:500 14px/1.5 var(--text);color:var(--ink);cursor:pointer;position:relative;min-height:180px;transition:background .16s,transform .16s}.goal-choice strong{display:block;font-size:18px;line-height:1.3;margin:17px 0 8px}.goal-choice small{display:block;color:var(--ink-soft);font-size:12px}.goal-choice .goal-icon{width:42px;height:42px;border-radius:14px;background:var(--lilac-soft);display:grid;place-items:center}.goal-choice .goal-icon svg{width:22px;height:22px;fill:none}.goal-choice.active{background:var(--sage-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.goal-choice:hover{transform:translateY(-2px)}.goal-choice.active::after{content:'✓';position:absolute;right:18px;top:18px;background:var(--accent);color:white;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:12px}
.route-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:44px 0 24px}.route-heading h3{font:600 25px/1.35 var(--display);letter-spacing:-.6px}.route-heading p{font-size:14px;color:var(--ink-soft);margin-top:9px}.route-heading .count{font-size:12px;color:var(--ink-soft);white-space:nowrap}
.package-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.package-card{border:1px solid var(--rule);border-radius:28px;background:white;padding:32px;display:flex;flex-direction:column;position:relative}.package-card.long{background:var(--sage-soft)}.package-card h3{font:600 22px/1.35 var(--display);letter-spacing:-.5px;margin:20px 0 18px}.package-card ul{list-style:none;font-size:15px;display:grid;gap:10px;margin:4px 0 18px}.package-card li{padding-left:20px;position:relative}.package-card li::before{content:'•';position:absolute;left:2px;color:var(--sage);font-size:20px;line-height:1}.package-card .bundle-note{font-size:12px;background:rgba(251,247,241,.8);border-radius:12px;padding:12px 14px;margin-bottom:25px}.package-price{display:flex;justify-content:space-between;gap:20px;align-items:end;border-top:1px solid var(--rule);padding-top:25px;margin-top:auto}.package-price b{font:600 32px/1 var(--display);letter-spacing:-1px}.package-price span{font-size:12px;color:var(--ink-soft);display:block;margin-top:8px}.package-card .btn{margin-top:26px;min-height:50px;font-size:15px}.package-card .route-duration{font-size:12px;color:var(--ink-soft);margin-top:15px}.package-dialog{border:0;border-radius:30px;width:calc(100% - 32px);max-width:760px;max-height:90vh;margin:auto;padding:38px;background:var(--bg);color:var(--ink);box-shadow:var(--shadow-2)}.package-dialog::backdrop{background:rgba(38,48,42,.5);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:18px;top:16px;width:42px;height:42px;border:1px solid var(--rule);border-radius:50%;font:400 25px var(--text);background:var(--white);color:var(--ink);cursor:pointer}.detail-kicker{font:700 11px var(--text);text-transform:uppercase;letter-spacing:.13em;color:var(--sage);margin:10px 44px 17px 0}.detail-title{font:600 28px/1.3 var(--display);letter-spacing:-.8px;max-width:610px;margin-bottom:22px}.detail-price{font:600 35px/1.15 var(--display);margin-bottom:8px}.detail-duration{color:var(--ink-soft);font-size:13px}.detail-path{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:28px 0}.detail-path span{font:700 11px var(--text);border-radius:999px;background:var(--sage-soft);padding:7px 10px}.detail-path i{font-style:normal;color:var(--mute)}.detail-path .current{background:var(--accent);color:white}.component-list{list-style:none;display:grid;gap:10px;margin:24px 0}.component-list li{border-radius:16px;background:white;padding:16px 18px;display:flex;gap:14px;align-items:center;font-size:14px}.component-list .num{font:600 22px var(--display);color:var(--sage);width:25px;flex:none}.component-list small{font-size:11px;color:var(--ink-soft);display:block;margin-top:5px}.detail-sub{font:700 17px var(--text);margin:25px 0 10px}.terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.terms-grid div{padding:16px;background:white;border-radius:14px}.terms-grid b{display:block;font-size:13px}.terms-grid span{display:block;font-size:12px;color:var(--ink-soft);margin-top:6px}.next-note{background:var(--sage-soft);border-radius:20px;padding:22px;margin:20px 0;font-size:14px}.next-note p+p{margin-top:12px}.detail-actions{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}.detail-actions .btn{font-size:14px;min-height:48px}.local-note{font-size:12px;color:var(--ink-soft);margin-top:18px}.footer{padding:48px 0;background:var(--dark);color:var(--on-dark)}.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer .logo{color:var(--on-dark)}.footer p,.footer a:not(.logo){font-size:13px}.empty-catalog{padding:30px;border:1px dashed var(--rule);border-radius:20px;color:var(--ink-soft)}
/* Keep the entire seated photograph inside the original sage/cream card. */
.about .pic{height:auto;min-width:0;display:grid;place-items:center;padding:20px}
.about .pic img{position:static;inset:auto;width:100%;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform:none}
/* Original miniapp surfaces retained; host chrome is only an explicitly labelled mock. */
body[data-surface=miniapp]{background:#e7e4df}.device-host{max-width:480px;margin:auto;background:var(--bg);min-height:100vh;box-shadow:0 0 0 1px #d9d3c9}.mini-demo{max-width:640px;margin:auto;flex-wrap:wrap;justify-content:center;text-align:center;gap:6px 16px;min-height:50px;font-size:10px}.mini-demo div{display:flex;gap:14px;align-items:center}.mini-demo a{padding:7px 4px;display:inline-flex;min-height:30px;align-items:center}.host-chrome{height:62px;display:flex;align-items:center;gap:15px;padding:9px 17px;background:var(--bg);border-bottom:1px solid var(--rule)}.host-chrome b{font:700 15px var(--text);display:block}.host-chrome small{font:500 10px var(--text);color:var(--ink-soft);display:block;margin-top:4px}.host-close{font-size:30px;line-height:1;color:var(--accent);text-decoration:none;width:30px;text-align:center}.host-menu{margin-left:auto;color:var(--ink-soft);letter-spacing:2px}.host-max .host-chrome{border-bottom:2px solid var(--sage-soft)}.app{padding-bottom:100px}.hcard .pill{font-size:10px}.mini-bf{margin:18px 16px 0;display:flex;align-items:center;gap:16px;text-align:left;width:calc(100% - 32px);border:0;border-radius:22px;background:var(--accent);padding:18px 20px;color:var(--on-dark);cursor:pointer}.mini-bf b{font:600 17px/1.3 var(--display);display:block}.mini-bf span{font:500 12px/1.45 var(--text);opacity:.8;display:block;margin-top:7px}.mini-bf .bf-day{font:600 39px/1 var(--display);opacity:1;flex:none}.mini-bf .bf-day small{display:block;font:700 8px var(--text);letter-spacing:.1em;margin-top:7px}.mini-goals{padding:0 16px;display:grid;gap:10px}.mini-goals .goal-choice{min-height:100px;padding:17px 17px 17px 72px;border-radius:20px}.mini-goals .goal-icon{position:absolute;left:17px;top:19px;width:38px;height:38px}.mini-goals .goal-choice strong{font-size:16px;margin:0 20px 7px 0}.mini-goals .goal-choice small{font-size:12px}.mini-package-list{padding:0 16px;display:grid;gap:16px}.mini-package-list .package-card{padding:24px;border-radius:24px}.mini-package-list .package-card h3{font-size:18px}.mini-package-list .package-card ul{font-size:13px;gap:8px}.mini-package-list .package-price b{font-size:26px}.mini-package-list .package-card .btn{font-size:13px;min-height:46px}.mini-detail{padding:0 16px}.mini-detail .detail-title{font-size:23px;margin-top:10px}.mini-detail .detail-price{font-size:30px}.mini-detail .terms-grid{grid-template-columns:1fr}.mini-detail .component-list{margin-top:20px}.mini-detail .component-list li{padding:14px}.mini-detail .detail-actions .btn{width:100%}.mini-step-label{font:700 10px var(--text);color:var(--sage);letter-spacing:.08em;text-transform:uppercase;margin:6px 16px 14px}.read-only-access{margin:10px 16px;background:white;border-radius:24px;padding:28px 22px;box-shadow:var(--shadow-1)}.read-only-access h2{font:600 21px/1.35 var(--display);margin:18px 0 13px}.read-only-access p{font-size:14px;color:var(--ink-soft)}.read-only-access .ic{margin:0}.access-list{padding:0 16px}.access-list .li{cursor:default}.mini-back{border:0;background:white;color:var(--accent);width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:23px;flex:none}.app .bar{gap:12px}.app .bar h1{font-size:19px;letter-spacing:-.5px}.main{bottom:max(16px,env(safe-area-inset-bottom));font-size:14px}.main[hidden]{display:none}.mono{font-family:ui-monospace,monospace;font-size:11px;overflow-wrap:anywhere}
/* The member path carries forward the shown C concept, with conditional service scope. */
.member-path{background:var(--sage-soft)}.journey-steps{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;gap:12px;margin:36px 0 20px}.journey-step{width:100%;height:100%;min-height:134px;text-align:left;border:1px solid rgba(59,74,64,.14);border-radius:22px;background:rgba(255,255,255,.45);padding:20px;color:var(--ink);cursor:pointer;transition:background .2s}.journey-step span{display:block;font:600 28px var(--display);color:var(--sage);margin-bottom:17px}.journey-step b{font:700 13px/1.45 var(--text)}.journey-step.active{background:var(--accent);color:var(--on-dark)}.journey-step.active span{color:#c7d3bc}.journey-panel{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;padding:35px;border-radius:26px;background:var(--bg)}.journey-panel h3{font:600 24px/1.4 var(--display);margin:12px 0}.journey-panel p{font-size:14px;line-height:1.8;color:var(--ink-soft)}.journey-panel aside{border-left:1px solid var(--rule);padding-left:28px}.journey-panel aside b{font:700 14px var(--text);display:block;margin:7px 0 13px}
@media(max-width:820px){.journey-steps{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:12px}.journey-steps li{flex:0 0 150px;scroll-snap-align:start}.journey-panel{grid-template-columns:1fr;gap:22px;padding:25px}.journey-panel aside{padding:20px 0 0;border-left:0;border-top:1px solid var(--rule)}.journey-panel h3{font-size:21px}}
/* The review is deliberately separate from the client flow. */
.review-wrap{max-width:1120px;margin:auto;padding:42px 28px}.review-wrap h1{font:600 35px/1.3 var(--display);letter-spacing:-1px;max-width:850px}.review-wrap h2{font:600 23px var(--display);margin:44px 0 22px}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.review-card{background:white;border:1px solid var(--rule);border-radius:22px;padding:24px}.review-card h3{font:700 17px var(--text);margin-bottom:13px}.review-card p,.review-card ul{font-size:13px;color:var(--ink-soft);margin-top:10px}.review-card ul{padding-left:18px}.review-card a{font-size:13px}.review-warning{border-radius:20px;background:#f5e4d3;padding:22px;color:#73502c;margin-top:24px;font-size:14px}.review-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.review-links .btn{font-size:13px;min-height:45px}.data-label{font:700 10px var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--sage)}.review-table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden;font-size:12px}.review-table th,.review-table td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top}.review-table th{background:var(--sage-soft)}
@media(max-width:1000px){.hero h1{font-size:44px}.goal-grid{grid-template-columns:repeat(2,1fr)}.hero .visual img{height:620px}.hero .visual{height:650px}.top .wrap{gap:20px}.top nav{gap:15px}}
@media(max-width:820px){.hero .visual img{height:100%;max-height:none;object-fit:contain}.hero .visual{height:450px}.hero h1{font-size:37px}.bf-banner{padding:32px;margin-bottom:55px}.bf-banner h2{font-size:28px}.bf-mark{font-size:80px}.package-card{padding:25px}.package-card h3{font-size:19px}.facts .wrap{grid-template-columns:repeat(2,1fr)}.footer .wrap{flex-wrap:wrap}.demo-toolbar span:nth-child(2){display:none}}
@media(max-width:600px){.demo-toolbar{font-size:9px;padding:7px 14px;gap:10px}.hero h1{font-size:32px}.hero .visual{height:345px}.hero .visual img{height:100%;width:auto;top:0;object-fit:contain}.bf-intro{padding-top:55px}.bf-banner{border-radius:24px;padding:26px;display:block;margin-bottom:50px}.bf-banner h2{font-size:27px}.bf-mark{display:none}.bf-banner p{font-size:14px}.goal-grid{gap:9px}.goal-choice{padding:17px;min-height:178px;border-radius:20px}.goal-choice strong{font-size:15px}.goal-choice small{font-size:11px}.goal-choice .goal-icon{width:35px;height:35px}.goal-choice.active::after{right:12px;top:12px}.route-heading{display:block;margin-top:30px}.route-heading h3{font-size:21px}.route-heading .count{display:block;margin-top:10px}.package-pair{grid-template-columns:1fr;gap:18px}.package-card h3{font-size:20px}.package-dialog{padding:27px 22px}.detail-title{font-size:23px}.terms-grid{grid-template-columns:1fr}.footer .wrap{display:grid}.review-wrap{padding:28px 18px}.review-wrap h1{font-size:26px}.review-grid{grid-template-columns:1fr}.review-table{font-size:10px}.review-table th,.review-table td{padding:10px 8px}.mini-demo{font-size:9px}.mini-demo span:nth-child(2){display:block}}
/* Restore the original lavender decoration inside the mobile hero viewport. */
.mini-back{width:44px;height:44px}.host-close{display:grid;place-items:center;width:44px;height:44px;flex:none}
@media(max-width:820px){.hero .visual .dot.a{top:270px}}
@media(max-width:600px){.hero .visual .dot.a{top:210px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
