/* Scoped to the public product story; game controls and private route stay separate. */
.marketing-root{--marketing-ink:#384638;--marketing-muted:#5e6c5a;--marketing-olive:#405b3c;--marketing-rose:#965647;--marketing-line:#d8decf;--marketing-paper:#fbf8f3;color:var(--marketing-ink);font-family:var(--sans,'Manrope',Arial,sans-serif);font-size:16px;line-height:1.65;overflow-wrap:anywhere}
.marketing-root *{box-sizing:border-box}
.marketing-root h1,.marketing-root h2,.marketing-root h3,.marketing-root h4{font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-weight:500;line-height:1.08;letter-spacing:-.025em;text-wrap:balance;color:var(--marketing-ink)}
.marketing-root p{margin:0}
.marketing-root button,.marketing-root a{font:inherit;touch-action:manipulation}
.marketing-root button:focus-visible,.marketing-root a:focus-visible,.marketing-root summary:focus-visible,.marketing-route-detail:focus-visible{outline:3px solid var(--marketing-olive);outline-offset:5px}
.marketing-root h2:focus{outline:none}
.marketing-kicker{font-size:11px;font-weight:700;letter-spacing:.13em;line-height:1.7;color:var(--marketing-olive)}
.marketing-hero{max-width:1240px;margin:0 auto;padding:48px 0 56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:70px;align-items:center}
.marketing-hero-copy{min-width:0;padding:6px 0}
.marketing-product{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;margin-bottom:24px}
.marketing-product-name{font-size:17px;font-weight:700;letter-spacing:.025em}
.marketing-project{font-size:12px;color:var(--marketing-muted)}
.marketing-hero .marketing-kicker{margin-bottom:16px}
.marketing-title{margin:0 0 22px;font-size:clamp(48px,5.4vw,76px)}
.marketing-title-first{display:block;font-family:var(--sans,'Manrope',Arial,sans-serif);font-size:clamp(23px,2.25vw,30px);font-weight:500;line-height:1.4;letter-spacing:-.025em;margin-bottom:8px;max-width:510px}
.marketing-title-em{display:block;font-weight:400;color:var(--marketing-rose)}
.marketing-description{font-size:17px;line-height:1.8;color:var(--marketing-muted);max-width:520px}
.marketing-hero-actions{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:26px 0 14px}
.marketing-button{display:inline-flex;min-height:50px;max-width:100%;align-items:center;justify-content:center;text-align:center;gap:12px;border:1px solid transparent;border-radius:999px;font-weight:600;font-size:15px;line-height:1.45;padding:16px 25px;cursor:pointer;transition:background .2s,box-shadow .2s,translate .2s;white-space:normal;text-decoration:none}
.marketing-button-primary{background:var(--marketing-olive);border-color:var(--marketing-olive);color:#fffdf6;box-shadow:0 8px 20px #405b3c16}
.marketing-button-primary:hover{background:#30472e;box-shadow:0 10px 25px #405b3c25;translate:0 -2px}
.marketing-button-text{border-radius:5px;background:transparent;color:var(--marketing-ink);padding:10px 0;min-height:44px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;font-weight:500}
.marketing-button-text:hover{color:var(--marketing-rose)}
.marketing-micro{font-size:12px;line-height:1.75;color:var(--marketing-muted);max-width:440px}
.marketing-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:30px 0 0;max-width:500px}
.marketing-fact{padding:0 18px;border-left:1px solid var(--marketing-line)}
.marketing-fact:first-child{padding-left:0;border-left:0}
.marketing-fact:last-child{padding-right:0}
.marketing-fact dt{font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-size:39px;font-weight:500;line-height:1.1;color:var(--marketing-olive)}
.marketing-fact dd{font-size:11px;line-height:1.6;margin:5px 0 0;color:var(--marketing-muted)}
.marketing-scene.visual{align-self:stretch;position:relative;min-width:0;width:100%;min-height:610px;height:auto;max-height:750px;border-radius:250px 250px 24px 24px;overflow:hidden;background:#dce1cf;box-shadow:0 30px 65px #34432b12}
.marketing-scene-image{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.marketing-scene.visual:after{inset:45% 0 0;background:linear-gradient(transparent,#1f3029a8);z-index:1}
.marketing-scene-tag{position:absolute;z-index:3;top:37px;left:50%;translate:-50% 0;max-width:85%;width:max-content;padding:10px 17px;border:1px solid #ffffffb8;border-radius:50px;background:#fbf8eeed;backdrop-filter:blur(8px);font-size:12px;line-height:1.5;color:#43513b;text-align:center}
.marketing-scene-caption{position:absolute;z-index:3;bottom:155px;left:36px;right:30px;color:#fffdf5;font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-size:clamp(35px,3.3vw,48px);line-height:1.12;letter-spacing:-.02em;text-shadow:0 2px 15px #1b231c38}
.marketing-scene-caption span,.marketing-scene-caption em{display:block}
.marketing-scene-caption em{font-weight:400}
.marketing-next-note{position:absolute;z-index:3;bottom:24px;left:24px;right:24px;border:1px solid #ffffff91;border-radius:16px;padding:15px 18px 15px 58px;background:#fbf8f3ed;backdrop-filter:blur(10px);box-shadow:0 10px 24px #20332214;color:var(--marketing-ink)}
.marketing-next-icon{position:absolute;left:17px;top:18px;width:27px;height:27px;border:1px solid #bac8ac;border-radius:50%;display:grid;place-items:center;font-size:18px;color:var(--marketing-olive)}
.marketing-next-label{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--marketing-olive)}
.marketing-next-note p{font-size:13px;line-height:1.65;margin-top:3px}
.marketing-story{max-width:1120px;margin:10px auto 90px;padding-top:54px;border-top:1px solid var(--marketing-line);scroll-margin-top:24px}
.marketing-section-heading{max-width:780px;margin-bottom:32px}
.marketing-section-heading h2{font-size:clamp(38px,4.1vw,56px);margin:12px 0 18px;max-width:750px}
.marketing-section-intro{font-size:17px;line-height:1.85;color:var(--marketing-muted);max-width:690px}
.marketing-route-example{position:relative;background:#f2f1e7;border:1px solid #d4dbc9;border-radius:26px;padding:30px 34px 24px;box-shadow:0 15px 35px #34432b08}
.marketing-example-label{display:inline-block;font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--marketing-olive);background:#e0e8d5;border:1px solid #c8d3ba;padding:6px 10px;border-radius:6px;line-height:1.6}
.marketing-example-disclosure{font-size:12px;line-height:1.7;color:var(--marketing-muted);margin-top:9px!important;max-width:770px}
.marketing-example-goal{margin:24px 0 18px;max-width:820px}
.marketing-small-label{font-size:11px;font-weight:600;color:var(--marketing-muted)}
.marketing-example-goal h3{font-size:clamp(29px,3.4vw,43px);margin:5px 0 12px;max-width:810px}
.marketing-example-goal p{font-size:16px;line-height:1.8;color:var(--marketing-muted);max-width:790px}
.marketing-example-hint{font-size:13px;color:var(--marketing-olive);margin-bottom:12px!important;font-weight:600}
.marketing-route-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;border:1px solid #d4dbc9;border-radius:15px;padding:6px;background:#e8ecdf}
.marketing-route-tab{display:flex;gap:7px;align-items:center;justify-content:center;min-width:0;min-height:54px;background:transparent;border:1px solid transparent;border-radius:10px;color:#526344;font-size:13px!important;font-weight:600;line-height:1.4;padding:10px 5px;cursor:pointer;transition:background .15s,color .15s}
.marketing-route-tab:hover{background:#f5f7ef}
.marketing-route-tab.is-active{color:#fffdf5;background:var(--marketing-olive);border-color:var(--marketing-olive);box-shadow:0 4px 8px #405b3c15}
.marketing-tab-number{font-size:10px;font-weight:500;opacity:.75;font-variant-numeric:tabular-nums}
.marketing-route-detail{background:#fffdf7;border:1px solid #dbe1d1;border-radius:17px;margin-top:16px;padding:24px 26px;min-height:330px}
.marketing-detail-top{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:6px}
.marketing-stage-number{font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-size:33px;line-height:1;color:#6d7f5c}
.marketing-sample-status{font-size:11px;line-height:1.5;color:#4b6140;background:#eef2e5;border:1px solid #d9e3c8;border-radius:30px;padding:5px 11px}
.marketing-route-detail h4{font-size:33px;margin:8px 0 22px}
.marketing-stage-entries{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin:0}
.marketing-stage-entries>div:first-child{grid-column:1/-1;padding-bottom:18px;border-bottom:1px solid #e5e9dd}
.marketing-stage-entries dt{font-size:11px;font-weight:700;letter-spacing:.025em;color:var(--marketing-olive);margin-bottom:5px}
.marketing-stage-entries dd{font-size:16px;line-height:1.8;margin:0;color:var(--marketing-ink)}
.marketing-stage-entries>div:first-child dd{font-size:18px;line-height:1.7;max-width:810px}
.marketing-example-footer{font-size:12px;line-height:1.8;color:var(--marketing-muted);margin-top:15px!important}
.marketing-bridge{display:flex;gap:35px;align-items:center;justify-content:space-between;margin:24px 4px 0;padding:6px 0 26px;border-bottom:1px solid var(--marketing-line)}
.marketing-bridge>div{max-width:665px}
.marketing-bridge h3{font-size:29px;margin:0 0 9px}
.marketing-bridge p{font-size:16px;line-height:1.8;color:var(--marketing-muted)}
.marketing-bridge>.marketing-button{flex-shrink:0;max-width:310px}
.marketing-principles{margin-top:72px}
.marketing-principles>h2{font-size:clamp(34px,3.8vw,48px);max-width:750px;margin:12px 0 28px}
.marketing-principle-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.marketing-principle{border-top:1px solid #c9d3bd;padding-top:20px}
.marketing-principle-number{font-size:11px;letter-spacing:.08em;font-weight:600;color:var(--marketing-olive)}
.marketing-principle h3{font-size:30px;margin:14px 0 12px}
.marketing-principle p{font-size:16px;line-height:1.85;color:var(--marketing-muted)}
.marketing-creator{display:grid;grid-template-columns:95px minmax(0,1fr);gap:32px;margin:72px 0;padding:34px;background:#efece3;border:1px solid #e2dfd3;border-radius:20px}
.marketing-creator-mark{width:88px;height:100px;display:grid;place-items:center;font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-size:52px;color:var(--marketing-olive);background:#e5e7d8;border:1px solid #bdc7aa;border-radius:50px 50px 6px 6px}
.marketing-creator h2{font-size:clamp(31px,3.3vw,43px);margin:9px 0 15px}
.marketing-creator p:not(.marketing-kicker){font-size:16px;line-height:1.85;max-width:825px}
.marketing-creator-legal{margin-top:15px!important;font-size:13px!important;color:var(--marketing-muted)}
.marketing-inline-link{display:inline-flex;align-items:center;min-height:44px;margin-top:5px;text-decoration:underline;text-underline-offset:4px;font-size:13px!important;font-weight:600;color:var(--marketing-olive)}
.marketing-boundary{font-size:12px!important;margin-top:10px!important;color:var(--marketing-muted)}
.marketing-faq{max-width:880px;margin:0 auto}
.marketing-faq>h2{font-size:43px;margin:0 0 22px}
.marketing-faq-item{border-top:1px solid var(--marketing-line)}
.marketing-faq-item:last-child{border-bottom:1px solid var(--marketing-line)}
.marketing-faq-item summary{position:relative;list-style:none;padding:20px 42px 20px 0;min-height:64px;cursor:pointer;font-size:16px;font-weight:500;line-height:1.6}
.marketing-faq-item summary::-webkit-details-marker{display:none}
.marketing-faq-item summary:after{content:'+';position:absolute;right:8px;top:17px;font-size:25px;font-weight:400;line-height:1.2;color:var(--marketing-olive)}
.marketing-faq-item[open] summary:after{content:'−'}
.marketing-faq-item>p{font-size:16px;line-height:1.9;color:var(--marketing-muted);padding:0 36px 24px 0;max-width:800px}
.marketing-preview-end{max-width:1040px;margin:48px auto 80px}
.marketing-preview-intro{max-width:780px;margin:0 auto 43px;text-align:center}
.marketing-preview-intro h1{font-size:clamp(40px,4.7vw,62px);margin:16px 0 24px}
.marketing-preview-intro .marketing-description{max-width:710px;margin:0 auto}
.marketing-payment-status{border:1px solid #d7dfce;background:#edf1e5;color:#4e6343;font-size:14px;line-height:1.8;text-align:left;padding:14px 18px;border-radius:12px;margin-top:20px!important}
.marketing-preview-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 22px;margin-top:24px}
.marketing-preview-sample-heading{font-size:34px;text-align:center;margin:0 0 20px}
@media(min-width:1450px){.marketing-hero{gap:85px}.marketing-title{font-size:79px}}
@media(max-width:1350px){.marketing-hero{margin-left:5%;margin-right:5%;gap:45px}.marketing-story{margin-left:7%;margin-right:7%}.marketing-preview-end{margin-left:7%;margin-right:7%}}
@media(max-width:1050px){.marketing-hero{gap:30px;padding-top:36px}.marketing-project{font-size:11px}.marketing-title{font-size:62px}.marketing-title-first{font-size:24px}.marketing-description{font-size:16px}.marketing-hero-actions{display:grid;gap:9px;justify-items:start}.marketing-scene.visual{min-height:630px}.marketing-scene-caption{font-size:38px;left:27px;right:24px}.marketing-scene-tag{font-size:11px}.marketing-fact{padding:0 11px}.marketing-fact dt{font-size:34px}.marketing-fact dd{font-size:10px}.marketing-next-note{left:17px;right:17px;padding-left:50px}.marketing-next-icon{left:13px}.marketing-bridge{align-items:flex-start;gap:25px}.marketing-bridge>.marketing-button{max-width:250px}.marketing-principle-rows{gap:23px}.marketing-principle h3{font-size:28px}.marketing-route-tab{font-size:12px!important}.marketing-tab-number{display:none}.marketing-creator{padding:28px}}
@media(max-width:740px){.marketing-hero{grid-template-columns:minmax(0,1fr);margin:0 7%;padding:30px 0 38px;gap:30px}.marketing-product{margin-bottom:21px;gap:5px 15px}.marketing-title{font-size:clamp(50px,8vw,66px);max-width:600px;margin-bottom:20px}.marketing-title-first{font-size:24px;max-width:570px}.marketing-description{max-width:580px;font-size:17px;line-height:1.8}.marketing-hero-actions{display:flex;gap:8px 20px;margin-top:22px}.marketing-facts{max-width:570px;margin-top:26px}.marketing-fact{padding:0 18px}.marketing-fact dt{font-size:37px}.marketing-fact dd{font-size:11px}.marketing-scene.visual{height:500px;min-height:500px;max-width:570px;justify-self:center;border-radius:250px 250px 22px 22px}.marketing-scene-caption{font-size:45px;bottom:147px;left:30px}.marketing-scene-tag{font-size:12px}.marketing-next-note{left:23px;right:23px;bottom:22px;padding:15px 18px 15px 58px}.marketing-next-icon{left:17px}.marketing-story{margin-top:0;padding-top:36px;margin-bottom:58px}.marketing-section-heading{margin-bottom:25px}.marketing-section-heading h2{font-size:41px;margin-top:10px}.marketing-section-intro{font-size:16px}.marketing-route-example{padding:23px 21px 20px;border-radius:22px}.marketing-example-goal{margin-top:20px}.marketing-example-goal h3{font-size:34px}.marketing-example-goal p{font-size:15px}.marketing-route-tabs{gap:3px;padding:4px;border-radius:13px}.marketing-route-tab{font-size:11px!important;padding:10px 3px;min-height:52px;border-radius:9px}.marketing-route-detail{padding:20px;min-height:405px}.marketing-route-detail h4{font-size:31px;margin-bottom:19px}.marketing-stage-entries{grid-template-columns:1fr;gap:16px}.marketing-stage-entries>div:first-child{padding-bottom:15px}.marketing-stage-entries>div:first-child dd{font-size:17px}.marketing-stage-entries dd{font-size:15px}.marketing-bridge{display:block;margin-top:24px;padding-bottom:25px}.marketing-bridge>.marketing-button{max-width:100%;margin-top:19px}.marketing-bridge h3{font-size:30px}.marketing-principles{margin-top:46px}.marketing-principles>h2{font-size:39px;margin-bottom:24px}.marketing-principle-rows{grid-template-columns:1fr;gap:23px}.marketing-principle{display:grid;grid-template-columns:34px 1fr;gap:0 12px;padding-top:17px}.marketing-principle-number{grid-row:1/3;padding-top:8px}.marketing-principle h3{font-size:30px;margin:0 0 9px}.marketing-principle p{font-size:16px}.marketing-creator{grid-template-columns:minmax(0,1fr);gap:19px;margin:46px 0;padding:25px}.marketing-creator-mark{width:55px;height:65px;font-size:34px;border-radius:32px 32px 4px 4px}.marketing-creator h2{font-size:37px}.marketing-creator p:not(.marketing-kicker){font-size:16px}.marketing-faq>h2{font-size:39px}.marketing-faq-item summary{font-size:16px;padding-top:18px;padding-bottom:18px}.marketing-faq-item>p{font-size:16px;padding-right:12px}.marketing-preview-end{margin-top:32px;margin-bottom:56px}.marketing-preview-intro h1{font-size:44px}.marketing-preview-intro .marketing-description{font-size:17px}.marketing-preview-sample-heading{font-size:32px}}
@media(max-width:420px){.marketing-root{line-height:1.7}.marketing-kicker{font-size:10px;letter-spacing:.09em}.marketing-hero{margin-left:6%;margin-right:6%;padding-top:24px}.marketing-product-name{font-size:16px}.marketing-project{font-size:10px}.marketing-product{margin-bottom:18px;gap:4px 11px}.marketing-title-first{font-size:22px;line-height:1.4;margin-bottom:7px}.marketing-title{font-size:51px;line-height:1.04;margin-bottom:18px}.marketing-description{font-size:16px;line-height:1.85}.marketing-hero-actions{display:grid;justify-items:stretch;gap:4px;margin-top:20px}.marketing-button{font-size:15px;min-height:50px;padding:15px 19px}.marketing-button-text{min-height:44px;padding:10px 3px;font-size:14px}.marketing-micro{font-size:11px;line-height:1.8}.marketing-facts{margin-top:22px}.marketing-fact{padding:0 12px}.marketing-fact dt{font-size:33px}.marketing-fact dd{font-size:10px;line-height:1.7}.marketing-scene.visual{height:445px;min-height:445px;border-radius:190px 190px 20px 20px}.marketing-scene-tag{top:26px;padding:9px 13px;font-size:10px}.marketing-scene-caption{font-size:36px;left:24px;right:20px;bottom:142px}.marketing-next-note{left:17px;right:17px;bottom:18px;padding:13px 13px 13px 46px;border-radius:13px}.marketing-next-icon{left:12px;top:17px;width:24px;height:24px;font-size:17px}.marketing-next-label{font-size:10px}.marketing-next-note p{font-size:12px}.marketing-story{margin-left:6%;margin-right:6%}.marketing-section-heading h2{font-size:37px}.marketing-route-example{padding:20px 15px 17px}.marketing-example-label{font-size:9px;letter-spacing:.075em;padding:5px 8px}.marketing-example-disclosure{font-size:11px}.marketing-example-goal h3{font-size:32px;line-height:1.1}.marketing-example-goal p{font-size:14px;line-height:1.85}.marketing-example-hint{font-size:12px}.marketing-route-tabs{gap:2px;padding:3px}.marketing-route-tab{font-size:10px!important;min-height:48px;padding:9px 2px}.marketing-route-detail{padding:18px 16px;min-height:470px}.marketing-route-detail h4{font-size:30px}.marketing-stage-entries dt{font-size:10px}.marketing-stage-entries dd{font-size:15px;line-height:1.8}.marketing-stage-entries>div:first-child dd{font-size:16px}.marketing-example-footer{font-size:11px}.marketing-bridge h3{font-size:29px}.marketing-bridge p{font-size:16px}.marketing-bridge>.marketing-button{width:100%;margin-top:17px}.marketing-principles>h2{font-size:36px}.marketing-creator{padding:22px}.marketing-creator h2{font-size:33px}.marketing-creator-legal{font-size:12px!important}.marketing-boundary{font-size:12px!important}.marketing-faq>h2{font-size:36px}.marketing-faq-item summary{padding-right:35px;font-size:16px}.marketing-preview-end{margin-left:6%;margin-right:6%}.marketing-preview-intro{text-align:left;margin-bottom:32px}.marketing-preview-intro h1{font-size:40px}.marketing-preview-intro .marketing-description{font-size:16px}.marketing-payment-status{font-size:14px;padding:13px 15px}.marketing-preview-actions{display:grid;justify-content:stretch;gap:4px;margin-top:18px}.marketing-preview-sample-heading{text-align:left;font-size:30px}}
@media(prefers-reduced-motion:reduce){.marketing-root *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.marketing-button-primary:hover{translate:none}}
@media(max-width:740px){.marketing-example-goal p,.marketing-stage-entries dd{font-size:16px}.marketing-route-tab{font-size:12px!important;min-height:58px}}
@media print{.marketing-hero,.marketing-bridge,.marketing-creator,.marketing-faq,.marketing-preview-actions{display:none!important}.marketing-story{margin:0;padding:0;border:0}.marketing-route-example{box-shadow:none;background:white;break-inside:avoid}.marketing-route-tabs{display:none}}
/* Keep the invitation and its action in view on a small phone. */
@media(max-width:560px){body:is([data-view='home'],[data-view='preview'])>.top{display:grid;grid-template-columns:minmax(0,1fr) 90px;height:auto;min-height:116px;gap:7px 10px!important;padding:12px 0;margin-left:6%;margin-right:6%}body:is([data-view='home'],[data-view='preview'])>.top>.brand{grid-column:1;grid-row:1;min-width:0;max-width:none}body:is([data-view='home'],[data-view='preview'])>.top>.language-switch{grid-column:2;grid-row:1;width:90px}body:is([data-view='home'],[data-view='preview'])>.top>.account-entry{grid-column:1;grid-row:2;justify-self:start;min-height:44px;font-size:12px;padding:9px 14px}body:is([data-view='home'],[data-view='preview'])>.top>#privacy{grid-column:2;grid-row:2;width:90px;min-height:44px;white-space:normal;text-align:right;font-size:11px;line-height:1.35}body:is([data-view='home'],[data-view='preview'])>.top>.header-nav{display:none}}
@media(max-width:420px){.marketing-title{font-size:42px}.marketing-title-first{font-size:21px}.marketing-description{line-height:1.75}.marketing-hero{padding-top:20px}.marketing-product{margin-bottom:15px}}
@media(max-width:560px){body[data-view='home'] .sound-controls .sound-toggle,body[data-view='preview'] .sound-controls .sound-toggle{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:0}body[data-view='home'] .sound-controls .sound-toggle::before,body[data-view='preview'] .sound-controls .sound-toggle::before{content:'♫';font:20px/1 Arial,sans-serif}}

body[data-view='preview']>.top .header-nav{display:none}
