:root{--pine:#123b2d;--pine-2:#0a2c21;--ink:#17251f;--cream:#f4f0e6;--paper:#fbfaf6;--orange:#e66f3e;--line:#d8d5ca;--muted:#6e7771;--source-sans:"Source Han Sans SC","Noto Sans CJK SC","思源黑体","PingFang SC","Microsoft YaHei",sans-serif}
body,button,input,select{font-family:var(--source-sans)!important}body *{font-family:inherit!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{width:min(1180px,calc(100% - 48px));margin:0 auto}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.brand{display:flex;align-items:center;gap:11px;font-family:"STSong","Songti SC",serif;font-weight:700;font-size:19px;letter-spacing:.06em}.brand-mark{width:38px;height:38px;border-radius:50% 50% 44% 56%;display:grid;place-items:center;color:var(--cream);background:var(--pine);font-style:italic;font-family:Georgia,serif}.brand small{display:block;font:9px/1.2 Arial,sans-serif;letter-spacing:.22em;color:#758079;margin-top:3px}.nav nav{display:flex;gap:34px;font-size:14px}.nav nav a{position:relative}.nav nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--orange);transition:.25s}.nav nav a:hover:after{right:0}.nav-cta{border:1px solid var(--pine);padding:11px 17px;font-size:13px;font-weight:600}.nav-cta span{color:var(--orange);margin-left:8px}.hero{height:750px;position:relative;isolation:isolate;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('/images/tianmu-field-table.jpg') center 62%/cover;z-index:-3;transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,30,22,.88) 0%,rgba(7,34,25,.62) 48%,rgba(7,31,24,.16) 100%),linear-gradient(0deg,rgba(5,23,17,.45),transparent 46%);z-index:-2}.hero-content{padding-top:115px}.eyebrow{margin:0 0 22px;text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:700;color:var(--orange)}.eyebrow.light{color:#f6a881}.hero h1,.intro h2,.section-heading h2,.process h2,.discover h2,.join h2{font-family:"STSong","Songti SC",serif;font-weight:600;letter-spacing:-.035em}.hero h1{font-size:clamp(48px,5.5vw,76px);line-height:1.14;margin:0 0 24px;max-width:820px}.hero-lead{font-size:17px;line-height:1.9;color:rgba(255,255,255,.78);max-width:640px;margin:0}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:37px}.button{min-height:51px;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:0 25px;border:0;font-weight:700;font-size:14px;letter-spacing:.03em}.primary{background:var(--orange);color:white}.primary:hover{background:#cf5a2d}.text-link{font-size:14px;border-bottom:1px solid rgba(255,255,255,.48);padding:8px 0}.text-link span{margin-left:10px;color:#f5a37f}.proof-row{position:absolute;bottom:45px;display:flex;gap:60px}.proof-row div{display:flex;align-items:baseline;gap:12px}.proof-row strong{font:600 25px Georgia,serif}.proof-row span{font-size:12px;color:rgba(255,255,255,.62)}.hero-note{position:absolute;right:0;bottom:0;background:var(--cream);color:var(--ink);padding:16px 32px;font-size:11px;letter-spacing:.12em}.hero-note span{color:var(--orange);font-size:8px;margin-right:8px}.intro{padding:110px 0 105px;display:grid;grid-template-columns:1fr 1fr;gap:110px}.intro h2,.section-heading h2,.process h2,.discover h2,.join h2{font-size:47px;line-height:1.35;margin:0}.intro-copy{padding-top:35px}.intro-copy p{font-size:16px;line-height:2;color:#58655e;margin:0 0 26px}.intro-copy a{font-size:13px;font-weight:700;color:var(--pine);border-bottom:1px solid #8fa197;padding-bottom:7px}.intro-copy a span{color:var(--orange);margin-left:12px}.value-section{background:var(--cream);padding:105px 0 115px}.section-heading{text-align:center}.section-heading p:last-child{color:var(--muted);margin-top:16px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px}.value-card{background:var(--paper);padding:28px;min-height:430px;display:flex;flex-direction:column;position:relative}.card-number{font:italic 16px Georgia,serif;color:#9d9d93}.value-card h3{font:600 23px "STSong","Songti SC",serif;margin:28px 0 12px}.value-card>p{font-size:13px;line-height:1.9;color:#68736d;margin:0}.mini-story{height:152px;margin-top:25px;padding:24px;background:linear-gradient(rgba(10,39,30,.22),rgba(10,39,30,.78)),url('/images/tianmu-lake.jpg') center/cover;color:white;display:flex;flex-direction:column;justify-content:flex-end}.mini-story p{font-size:9px;letter-spacing:.2em;margin:0 0 5px}.mini-story strong{font-family:"STSong","Songti SC",serif;font-size:18px}.mini-story span{font-size:10px;margin-top:5px;color:#dbe0dd}.match-visual{height:152px;margin-top:25px;border:1px solid #ccd2c8;background:radial-gradient(circle,#f9f7ef 46%,transparent 47%),conic-gradient(var(--orange) 0 91%,#dfe1d8 91%);display:flex;flex-direction:column;align-items:center;justify-content:center}.match-visual span{font:600 31px Georgia,serif}.match-visual small{font-size:10px;letter-spacing:.12em;color:var(--muted)}.dark-card{background:var(--pine);color:white}.dark-card .card-number{color:#82a095}.dark-card>p{color:#b8c8c0}.lead-visual{height:152px;margin-top:25px;border:1px solid #365d4f;padding:20px;display:grid;grid-template-columns:1fr auto;align-items:end;background:linear-gradient(135deg,transparent 55%,rgba(230,111,62,.16))}.lead-visual span{font-size:10px;letter-spacing:.18em;color:#a7bbb2}.lead-visual strong{grid-row:1/3;grid-column:2;font:58px Georgia,serif;color:#f2a27f}.lead-visual small{font-size:10px;color:#95b7a8}.process{padding:110px 0;display:grid;grid-template-columns:.85fr 1.15fr;gap:110px}.process h2{font-size:42px}.steps article{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--line)}.steps article:last-child{border-bottom:1px solid var(--line)}.steps>article>span{font:italic 18px Georgia,serif;color:var(--orange)}.steps h3{margin:0 0 9px;font:600 21px "STSong","Songti SC",serif}.steps p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.discover{background:var(--pine-2);color:white;padding:105px 0 110px}.discover-head{display:flex;justify-content:space-between;align-items:end}.discover-head>p{max-width:310px;color:#adc0b7;font-size:14px;line-height:1.9}.camp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}.camp-card{height:430px;position:relative;overflow:hidden}.camp-card:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(5,21,16,.92))}.camp-card img{width:100%;height:100%;object-fit:cover;transition:.5s}.camp-card:hover img{transform:scale(1.04)}.camp-card>div{position:absolute;z-index:2;left:24px;bottom:24px}.camp-card p{font-size:10px;letter-spacing:.14em;color:#c4d0ca;margin:0 0 9px}.camp-card h3{font:600 24px "STSong","Songti SC",serif;margin:0 0 10px}.camp-card div span{font-size:11px;color:#e5b299}.score{position:absolute;z-index:2;top:18px;right:18px;background:rgba(12,35,27,.74);backdrop-filter:blur(8px);padding:10px;color:#bdcbc4;font:9px Arial}.score b{font:18px Georgia,serif;color:white;margin-right:2px}.outline{border:1px solid #547064;margin:42px auto 0;width:max-content;color:white;background:transparent}.join{padding:120px 0;display:grid;grid-template-columns:1fr 500px;gap:105px;align-items:start}.join-copy>p:not(.eyebrow){color:var(--muted);line-height:1.9;max-width:540px;margin:24px 0}.join ul{list-style:none;padding:0;margin:35px 0;display:grid;gap:13px}.join li{font-size:13px}.join li:before{content:"✓";display:inline-grid;place-items:center;background:#dfe9e2;color:var(--pine);width:20px;height:20px;border-radius:50%;margin-right:12px}.join-form{background:var(--cream);padding:36px 38px;display:grid;gap:18px}.join-form>div:first-child{position:relative;margin-bottom:8px}.form-kicker{color:var(--orange);font-size:10px;letter-spacing:.18em;margin:0 0 7px}.join-form h3{font:600 26px "STSong","Songti SC",serif;margin:0}.join-form>div:first-child>span{position:absolute;right:0;bottom:4px;color:var(--muted);font-size:10px}.join-form label{font-size:11px;font-weight:700;display:grid;gap:8px}.join-form input,.join-form select{border:1px solid #d4d0c5;background:var(--paper);padding:13px 14px;font-size:13px;outline:none;width:100%;height:46px}.join-form input:focus,.join-form select:focus{border-color:var(--pine)}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-button{width:100%;margin-top:4px}.join-form small{font-size:9px;line-height:1.7;color:#8a8d87;text-align:center}footer{background:#08251c;color:white;padding-top:70px}.footer-main{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:70px;padding-bottom:60px}.footer-brand .brand-mark{background:var(--orange)}.footer-main>div:first-child>p{max-width:300px;color:#92a59c;font-size:12px;line-height:1.8;margin-top:20px}.footer-main h4{font-size:11px;color:#e7eee9;margin:0 0 20px}.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:12px}.footer-main a,.footer-main p{font-size:11px;color:#92a59c;margin:0}.legal{border-top:1px solid #27443a;padding:18px 0 25px;display:flex;justify-content:space-between;font-size:9px;color:#70877d;letter-spacing:.08em}
.join-form input,.join-form select{padding-top:0!important;padding-bottom:0!important;line-height:44px}.select-control{position:relative;display:block}.join-form .select-control select{appearance:none;-webkit-appearance:none;padding-left:10px;padding-right:38px}.select-arrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:400;color:#68736d;line-height:1;pointer-events:none}.nav .header-brand-copy{display:inline-grid;grid-template-columns:max-content}.nav .header-brand-name,.nav .header-brand-copy small{grid-column:1}.nav .header-brand-copy small{width:0;min-width:100%;white-space:nowrap;text-align:justify;text-align-last:justify;letter-spacing:.08em}.brand-logo{width:42px;height:42px;display:block;flex:0 0 auto;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 0 0 1px rgba(18,59,45,.12)}.footer-brand .brand-logo{box-shadow:0 0 0 1px rgba(255,255,255,.22)}
.footer-brand-copy{display:inline-grid;grid-template-columns:max-content}.footer-brand-name,.footer-brand-copy small{grid-column:1}.footer-brand .footer-brand-name{color:#fff;font-size:19px;font-weight:700;line-height:normal;letter-spacing:.06em}.footer-brand-copy small{width:0;min-width:100%;white-space:nowrap;text-align:justify;text-align-last:justify;letter-spacing:.08em}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-status{min-height:18px;margin:-6px 0 0;text-align:center;font-size:11px;line-height:1.5}.form-status.is-success{color:#356640}.form-status.is-error{color:#a14c3b}.form-button:disabled{cursor:wait;opacity:.66}
.compact-form>div:first-child{margin-bottom:0}
.creator-button{background:#315b45;color:#fff}.creator-button:hover{background:#244735}
.mini-program-poster .poster-brand{width:max-content;display:flex;align-items:center}.mini-program-poster .poster-brand-copy{width:auto;min-width:0;margin:0 0 0 11px;display:inline-grid;grid-column:auto;grid-template-columns:max-content;text-align:left;letter-spacing:normal}.poster-brand-copy strong,.poster-brand-copy small{grid-column:1}.mini-program-poster .poster-brand-copy strong{color:#111;font-size:19px;line-height:1.2;letter-spacing:.06em}.poster-brand-copy small{width:0;min-width:100%;margin-top:3px;white-space:nowrap;text-align:justify;text-align-last:justify;color:#111;font-size:9px;line-height:1.2;letter-spacing:.08em}
.poster-modal-open{overflow:hidden}.mini-program-overlay.is-open{display:grid}.back-to-top{position:fixed;right:28px;bottom:28px;z-index:80;width:50px;height:50px;padding:0;border:1px solid rgba(18,59,45,.18);border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(18,59,45,.94);font-size:22px;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,background .2s ease;box-shadow:0 12px 30px rgba(7,35,26,.22)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:var(--orange)}.back-to-top:focus-visible{outline:2px solid var(--orange);outline-offset:4px}@media(max-width:600px){.back-to-top{right:18px;bottom:18px;width:46px;height:46px}}
.submit-modal-open{overflow:hidden}.submit-success-overlay{position:fixed;z-index:1200;inset:0;padding:24px;display:none;place-items:center;background:rgba(4,22,16,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.submit-success-overlay.is-visible{display:grid;animation:modal-fade-in .18s ease-out}.submit-success-dialog{width:min(390px,100%);padding:40px 36px 34px;border:7px solid #fff;text-align:center;background:var(--paper);box-shadow:0 28px 80px rgba(0,0,0,.3);animation:poster-rise .24s ease-out}.submit-success-mark{position:relative;width:54px;height:54px;margin:0 auto 20px;border:1px solid var(--pine);border-radius:50%;display:grid;place-items:center;background:var(--pine)}.submit-success-mark:before{width:11px;height:21px;border-right:3px solid #fff;border-bottom:3px solid #fff;content:"";transform:translateY(-2px) rotate(45deg)}.submit-success-dialog>p{margin:0;color:var(--orange);font-size:9px;font-weight:700;letter-spacing:.24em}.submit-success-dialog h2{margin:9px 0 10px;color:var(--pine);font-size:30px;line-height:1.3}.submit-success-dialog>span:not(.submit-success-mark){display:block;color:var(--muted);font-size:13px;line-height:1.7}.submit-success-dialog button{width:100%;height:48px;margin-top:26px;border:0;color:#fff;background:var(--orange);font-size:14px;font-weight:700;cursor:pointer}.submit-success-dialog button:hover{background:#cf5a2d}.submit-success-dialog button:focus-visible{outline:2px solid var(--pine);outline-offset:3px}
.nav{width:100%;height:auto;display:block}.nav-inner{height:82px;display:flex;align-items:center;justify-content:space-between}.nav .nav-mini-program{padding:0;color:inherit;background:transparent}.nav .nav-mini-program:hover{color:inherit}
@media(max-width:900px){.nav nav{display:none}.hero{height:720px}.hero-content{padding-top:90px}.proof-row{gap:25px}.proof-row div{display:block}.proof-row span{display:block;margin-top:5px}.intro,.process,.join{grid-template-columns:1fr;gap:42px}.intro{padding:80px 0}.intro-copy{padding-top:0}.value-grid{grid-template-columns:1fr}.value-card{min-height:0}.camp-grid{grid-template-columns:1fr 1fr}.camp-card:last-child{display:none}.join{padding:80px 0}.join-form{width:100%}.footer-main{grid-template-columns:2fr 1fr 1fr}.footer-main>div:last-child{display:none}}
@media(max-width:600px){.shell{width:min(100% - 32px,1180px)}.nav{height:68px}.nav-cta{padding:9px 11px}.brand{font-size:16px}.brand-logo{width:36px;height:36px}.hero{height:690px}.hero-content{padding-top:78px}.hero h1{font-size:42px}.hero-lead{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.proof-row{bottom:55px;left:16px;right:16px;gap:0;justify-content:space-between}.proof-row strong{font-size:20px}.proof-row span{font-size:9px;max-width:90px}.hero-note{display:none}.intro h2,.section-heading h2,.process h2,.discover h2,.join h2{font-size:34px}.value-section,.discover{padding:75px 0}.camp-grid{grid-template-columns:1fr}.camp-card{height:390px}.camp-card:last-child{display:block}.discover-head{display:block}.discover-head>p{margin-top:24px}.process{padding:75px 0}.join-form{padding:28px 20px}.two-fields{grid-template-columns:1fr}.join-form>div:first-child>span{display:none}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-main>div:first-child{grid-column:1/-1}.legal{display:block}.legal span{display:block;margin-top:6px}}
@media(max-width:600px){.nav-inner{height:68px}}
@media(max-width:600px){.footer-brand .footer-brand-name{font-size:16px}}
.legal-right{display:flex;align-items:center;gap:24px}.legal-right a{color:inherit;transition:color .2s ease}.legal-right a:hover{color:#a9beb4}@media(max-width:600px){.legal-right{margin-top:8px;align-items:flex-start;flex-direction:column;gap:7px}}

/* Keep the mobile hero in normal document flow when WeChat enlarges text. */
@media(max-width:600px){
  .hero{height:auto;min-height:690px}
  .hero-content{padding-top:78px;padding-bottom:48px}
  .hero-actions{width:100%}
  .proof-row{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin-top:38px;gap:16px}
  .proof-row div{min-width:0}
  .proof-row strong,.proof-row span{overflow-wrap:anywhere}
}

/* Product preview in the hero. */
.hero-content{position:relative;height:100%}
.hero-copy{position:relative;z-index:2;max-width:690px}
.hero-copy .hero-lead{max-width:610px}
.phone-showcase{position:absolute;z-index:3;top:82px;right:84px;width:clamp(225px,24vw,284px);text-align:center;container-type:inline-size}
.iphone-device{position:relative;width:100%;padding:7px;border:1px solid rgba(255,255,255,.32);border-radius:48px;background:#0d100f;box-shadow:0 35px 75px rgba(0,0,0,.42),0 0 0 1px rgba(0,0,0,.35);transform:rotate(0deg);transform-origin:50% 54%}
.iphone-device:before{position:absolute;inset:3px;border:1px solid rgba(255,255,255,.16);border-radius:44px;content:"";pointer-events:none;z-index:4}
.iphone-screen{position:relative;aspect-ratio:1284/2778;border-radius:41px;overflow:hidden;background:#f7f4ec}
.phone-slide{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center top;opacity:0;transform:scale(1.012);transition:opacity .65s ease,transform 4.6s ease;pointer-events:none}
.phone-slide.is-active{opacity:1;transform:scale(1)}
.dynamic-island{position:absolute;z-index:3;top:10px;left:50%;width:72px;height:18px;border-radius:20px;background:#080a09;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transform:translateX(-50%)}
.iphone-side-button{position:absolute;left:-4px;width:4px;border-radius:3px 0 0 3px;background:#232725;box-shadow:inset 0 1px rgba(255,255,255,.28)}
.iphone-side-button-top{top:112px;height:34px}.iphone-side-button-bottom{top:158px;height:60px}
/* Scale every piece of the iPhone shell with the device width. */
@supports(width:1cqw){
  .iphone-device{padding:2.465cqw;border-width:max(1px,.352cqw);border-radius:16.9cqw;box-shadow:0 12.324cqw 26.408cqw rgba(0,0,0,.42),0 0 0 max(1px,.352cqw) rgba(0,0,0,.35)}
  .iphone-device:before{inset:1.056cqw;border-width:max(1px,.352cqw);border-radius:15.493cqw}
  .iphone-screen{border-radius:14.437cqw}
  .dynamic-island{top:3.521cqw;width:25.352cqw;height:6.338cqw;border-radius:7.042cqw}
  .iphone-side-button{left:-1.408cqw;width:1.408cqw;border-radius:1.056cqw 0 0 1.056cqw}
  .iphone-side-button-top{top:39.437cqw;height:11.972cqw}
  .iphone-side-button-bottom{top:55.634cqw;height:21.127cqw}
}
.phone-pagination{position:relative;z-index:5;margin-top:27px;display:flex;align-items:center;justify-content:center;gap:9px;transform:none}
.phone-pagination button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.48);box-shadow:0 0 0 1px rgba(6,35,26,.12);cursor:pointer;transition:width .25s ease,background .25s ease,transform .25s ease}
.phone-pagination button.is-active{width:24px;background:var(--orange)}
.phone-pagination button:hover{transform:scale(1.18)}
.phone-pagination button:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:1100px) and (min-width:901px){
  .hero-copy{max-width:610px}
  .hero h1{font-size:clamp(48px,5.4vw,61px);max-width:590px}
  .hero-copy .hero-lead{max-width:540px}
  .phone-showcase{top:78px;right:50px;width:225px}
}
@media(min-width:901px){.hero-copy .hero-actions{margin-top:92px}}
@media(max-width:900px){.phone-showcase{display:none}.hero-copy{max-width:none}}
@media(prefers-reduced-motion:reduce){.phone-slide{transition:none}}

/* Keep the product carousel visible and in normal flow on mobile/tablet. */
@media(max-width:900px){
  .hero{height:auto;min-height:720px}
  .hero-content{height:auto;padding-bottom:48px}
  .phone-showcase{position:static;display:block;width:min(250px,62vw);margin:38px auto 0}
  .proof-row{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin-top:42px;gap:18px}
  .proof-row div{min-width:0}
  .proof-row strong,.proof-row span{overflow-wrap:anywhere}
}
@media(max-width:600px){
  .hero{min-height:690px}
  .hero-content{padding-bottom:44px}
  .phone-showcase{width:min(232px,66vw);margin-top:34px}
  .proof-row{margin-top:38px;gap:12px}
}

/* Three-device carousel, matching the interaction used by 护牙伙伴. */
.phone-showcase{right:-8px;width:clamp(440px,43vw,520px);container-type:normal;perspective:1400px}
.phone-carousel-viewport{min-height:610px;overflow:hidden;touch-action:pan-y}
.phone-carousel-stage{position:relative;width:100%;min-height:610px}
.phone-carousel-slide{position:absolute;inset:-14px 0 14px;display:grid;place-items:center;opacity:0;pointer-events:none;cursor:pointer;transition:transform .58s cubic-bezier(.22,.75,.2,1),opacity .4s ease,filter .4s ease;will-change:transform}
.phone-carousel-slide.is-active{z-index:3;opacity:1;transform:translateX(0) scale(1);filter:none}
.phone-carousel-slide.is-left{z-index:1;opacity:.88;transform:translateX(-24%) translateY(14px) scale(.78) rotate(-3deg);filter:saturate(.88)}
.phone-carousel-slide.is-right{z-index:1;opacity:.88;transform:translateX(24%) translateY(14px) scale(.78) rotate(3deg);filter:saturate(.88)}
.phone-carousel-slide.is-active .phone-device-scale,.phone-carousel-slide.is-left .phone-device-scale,.phone-carousel-slide.is-right .phone-device-scale{pointer-events:auto;cursor:pointer}
.phone-carousel-slide:focus-visible .iphone-device{outline:3px solid rgba(230,111,62,.72);outline-offset:4px}
.phone-device-scale{width:clamp(225px,22vw,270px);container-type:inline-size}
.phone-screen-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.phone-pagination{position:absolute;left:50%;bottom:0;margin-top:0;transform:translateX(-50%)}
@media(max-width:1100px) and (min-width:901px){
  .phone-showcase{right:0;width:440px}
  .phone-carousel-viewport,.phone-carousel-stage{min-height:505px}
  .phone-device-scale{width:225px}
  .phone-carousel-slide.is-left{transform:translateX(-23%) translateY(12px) scale(.78) rotate(-3deg)}
  .phone-carousel-slide.is-right{transform:translateX(23%) translateY(12px) scale(.78) rotate(3deg)}
}
@media(max-width:900px){
  .phone-showcase{width:100%;max-width:440px}
  .phone-carousel-viewport,.phone-carousel-stage{min-height:555px}
  .phone-device-scale{width:min(250px,62vw)}
}
@media(max-width:600px){
  .phone-showcase{width:100%;max-width:none}
  .phone-carousel-viewport,.phone-carousel-stage{min-height:510px}
  .phone-carousel-slide{inset:-10px 0 10px}
  .phone-device-scale{width:min(232px,66vw)}
  .phone-carousel-slide.is-left{transform:translateX(-24%) translateY(10px) scale(.7) rotate(-3deg)}
  .phone-carousel-slide.is-right{transform:translateX(24%) translateY(10px) scale(.7) rotate(3deg)}
}
@media(prefers-reduced-motion:reduce){.phone-carousel-slide{transition:none}}

.hero h1 {
  transform: translateX(-2px);
}

.nav nav {
  margin-left: auto;
}

.nav {
  position: sticky;
  z-index: 100;
  top: 0;
  background: rgba(251, 250, 246, 0.96);
  box-shadow: 0 1px 0 rgba(18, 59, 45, 0.1);
  backdrop-filter: blur(12px);
}

.nav-cta {
  margin-left: 50px;
}

.nav-cta-icon {
  width: 14px;
  height: 14px;
  margin-left: 8px;
  flex: 0 0 auto;
  color: var(--orange);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ghost-button {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.48);
  backdrop-filter: blur(8px);
}

.consumer-link {
  white-space: nowrap;
}

.destination-value-card {
  min-height: 455px;
}

.value-photo {
  position: relative;
  height: 180px;
  margin-top: 25px;
  overflow: hidden;
}

.value-photo::after {
  content: "";
  position: absolute;
  inset: 40% 0 0;
  background: linear-gradient(transparent, rgba(6, 28, 20, 0.7));
}

.value-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.86);
  transition: transform 500ms ease;
}

.destination-value-card:hover .value-photo img {
  transform: scale(1.035);
}

.value-photo span {
  position: absolute;
  z-index: 1;
  left: 18px;
  bottom: 15px;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.value-card-accent {
  color: #fff;
  background: var(--pine);
}

.value-card-accent .card-number {
  color: #82a095;
}

.value-card-accent > p {
  color: #b8c8c0;
}

.partner-intro {
  padding: 110px 0 115px;
}

.partner-heading {
  max-width: 760px;
  margin: 0 auto;
}

.partner-heading h2,
.join-heading h2 {
  margin: 0;
  font-size: 47px;
  line-height: 1.35;
  letter-spacing: -0.035em;
  font-weight: 600;
}

.partner-paths {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 58px;
}

.partner-path {
  position: relative;
  min-height: 410px;
  padding: 46px 48px;
  border: 1px solid var(--line);
  background: #fff;
}

.creator-path {
  color: #fff;
  background: var(--pine);
  border-color: var(--pine);
}

.path-number {
  position: absolute;
  top: 32px;
  right: 36px;
  color: #a3aaa5;
  font: italic 18px Georgia, serif;
}

.creator-path .path-number {
  color: #83a095;
}

.path-kicker {
  margin: 0 0 18px;
  color: var(--orange);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.partner-path h3 {
  max-width: 390px;
  margin: 0 0 18px;
  font-size: 29px;
  line-height: 1.45;
}

.partner-path > p:not(.path-kicker) {
  max-width: 450px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.9;
}

.creator-path > p:not(.path-kicker) {
  color: #b8c8c0;
}

.partner-path ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 30px 0 35px;
  padding: 0;
  list-style: none;
}

.partner-path li {
  padding: 8px 12px;
  color: #53625b;
  background: #f0f2ec;
  font-size: 11px;
}

.creator-path li {
  color: #c8d5cf;
  background: #244c3e;
}

.partner-path > a {
  padding-bottom: 6px;
  border-bottom: 1px solid currentColor;
  font-size: 13px;
  font-weight: 700;
}

.partner-path > a span {
  margin-left: 10px;
  color: var(--orange);
}

.process-summary {
  max-width: 390px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.9;
}

.process-title,
.creator-copy {
  align-self: center;
}

.creator-copy h2 {
  margin: 0;
  font-size: 42px;
  line-height: 1.35;
  letter-spacing: -0.035em;
  font-weight: 600;
}

.process-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 30px;
}

.process-action {
  width: max-content;
}

.process-letter-link {
  padding: 7px 0 5px;
  border-bottom: 1px solid rgba(18, 59, 45, 0.42);
  color: var(--pine);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.process-letter-link:hover {
  color: var(--orange);
  border-color: currentColor;
}

.creator-section {
  padding: 110px 0;
  background: #e7eadf;
}

.creator-layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 110px;
}

.revenue-note {
  margin: 34px 0 30px;
  padding: 24px 26px;
  color: #fff;
  background: var(--pine);
}

.revenue-note span {
  display: block;
  margin-bottom: 10px;
  color: #f4a07c;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.revenue-note strong {
  display: block;
  font-size: 15px;
  line-height: 1.7;
}

.revenue-note p {
  margin: 9px 0 0;
  color: #a9beb4;
  font-size: 11px;
  line-height: 1.7;
}

.creator-steps article {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 20px;
  padding: 24px 0;
  border-top: 1px solid var(--line);
}

.creator-steps article:last-child {
  border-bottom: 1px solid var(--line);
}

.creator-steps article > span {
  color: var(--orange);
  font: italic 18px Georgia, serif;
}

.creator-steps h3 {
  margin: 0 0 9px;
  font-size: 21px;
  font-weight: 600;
}

.creator-steps p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
}

.join-program {
  padding: 110px 0 120px;
}

.join-heading {
  max-width: 1000px;
  margin: 0 auto;
}

.join-heading h2 {
  white-space: nowrap;
}

.join-heading > p:last-child {
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
  white-space: nowrap;
}

.join-tracks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 58px;
}

.join-track {
  padding: 38px;
  background: var(--cream);
  scroll-margin-top: 98px;
}

.creator-join {
  background: #e7eadf;
  scroll-margin-top: 110px;
}

.join-track-copy {
  min-height: 228px;
}

.join-track-copy h3 {
  margin: 0 0 10px;
  font-size: 26px;
}

.join-track-copy > p:not(.form-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
}

.join-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.join-benefits li {
  padding: 7px 10px;
  color: #53625b;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(18, 59, 45, 0.08);
  font-size: 10px;
}

.compact-form {
  padding: 0;
  background: transparent;
}

.expanded-footer {
  grid-template-columns: 2fr repeat(4, 1fr);
  gap: 48px;
}

.mini-program-trigger {
  padding: 8px 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.mini-program-trigger:focus-visible,
.modal-close:focus-visible {
  outline: 2px solid var(--orange);
  outline-offset: 4px;
}

.footer-mini-trigger {
  width: max-content;
  padding: 0;
  border: 0;
  color: #92a59c;
  font-size: 11px;
  text-align: left;
}

.footer-mini-trigger:hover {
  color: #fff;
}

.mini-program-overlay {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: none;
  place-items: center;
  padding: 24px;
  background: rgba(4, 22, 16, 0.78);
  backdrop-filter: blur(10px);
  animation: modal-fade-in 180ms ease-out;
}

.mini-program-overlay:target {
  display: grid;
}

.mini-program-backdrop {
  position: absolute;
  inset: 0;
}

.mini-program-dialog {
  position: relative;
  z-index: 1;
  width: min(440px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.36);
  animation: poster-rise 240ms ease-out;
}

.modal-close {
  position: absolute;
  z-index: 3;
  top: 14px;
  right: 16px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 0 0 3px;
  border: 1px solid rgba(18, 59, 45, 0.18);
  border-radius: 50%;
  color: var(--pine);
  background: rgba(255, 255, 255, 0.84);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.mini-program-poster {
  position: relative;
  overflow: hidden;
  padding: 40px 42px 34px;
  color: var(--ink);
  background:
    radial-gradient(circle at 100% 0, rgba(230, 111, 62, 0.22), transparent 35%),
    linear-gradient(155deg, #fbfaf6 0%, #f0ecdf 100%);
  border: 8px solid #fff;
}

.mini-program-poster::before {
  content: "";
  position: absolute;
  right: -105px;
  bottom: -105px;
  width: 250px;
  height: 250px;
  border: 1px solid rgba(18, 59, 45, 0.12);
  border-radius: 50%;
  box-shadow: 0 0 0 24px rgba(18, 59, 45, 0.035), 0 0 0 55px rgba(18, 59, 45, 0.025);
}

.poster-brand {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: max-content;
  width: max-content;
}

.poster-brand-main {
  display: flex;
  align-items: center;
  gap: 11px;
}

.poster-brand img {
  width: 43px;
  height: 43px;
  border-radius: 50%;
  object-fit: cover;
}

.poster-brand strong,
.poster-brand span {
  display: block;
}

.poster-brand strong {
  font-size: 16px;
  letter-spacing: 0.04em;
}

.poster-brand span {
  grid-column: 1;
  width: 0;
  min-width: 100%;
  margin-top: 6px;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: 0.08em;
  white-space: nowrap;
  text-align: justify;
  text-align-last: justify;
}

.poster-kicker {
  margin: 34px 0 11px;
  color: var(--orange);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.24em;
}

.mini-program-poster h2 {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 31px;
  line-height: 1.38;
  letter-spacing: -0.025em;
}

.poster-copy {
  position: relative;
  z-index: 1;
  margin: 13px 0 22px;
  color: #65716a;
  font-size: 12px;
  line-height: 1.8;
}

.mini-program-code {
  position: relative;
  z-index: 1;
  width: 210px;
  margin: 0 auto;
  padding: 8px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(18, 59, 45, 0.12);
  border-radius: 50%;
  box-shadow: 0 12px 35px rgba(18, 59, 45, 0.08);
}

.mini-program-code img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 50%;
}

.scan-tip,
.poster-foot {
  position: relative;
  z-index: 1;
  display: block;
  text-align: center;
}

.scan-tip {
  margin-top: 15px;
  color: var(--pine);
  font-size: 12px;
}

.poster-foot {
  margin-top: 20px;
  color: #8c948f;
  font-size: 9px;
  letter-spacing: 0.08em;
}

@keyframes modal-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes poster-rise {
  from { opacity: 0; transform: translateY(14px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 900px) {
  .hero-actions { gap: 16px; }
  .partner-paths,
  .creator-layout,
  .join-tracks { grid-template-columns: 1fr; }
  .creator-layout { gap: 55px; }
  .creator-copy { order: -1; }
  .expanded-footer { grid-template-columns: 2fr 1fr 1fr; }
}

@media (max-width: 600px) {
  .nav-cta { font-size: 0; }
  .nav-cta::before { content: "加入"; font-size: 13px; }
  .nav-cta-icon { width: 13px; height: 13px; margin-left: 6px; }
  .process-actions { gap: 14px; }
  .process-letter-link { font-size: 12px; }
  .hero-actions { gap: 12px; }
  .ghost-button { min-height: 46px; }
  .consumer-link { margin-top: 2px; }
  .partner-intro,
  .creator-section,
  .join-program { padding: 75px 0; }
  .partner-heading h2,
  .creator-copy h2,
  .join-heading h2 { font-size: 34px; }
  .join-heading h2 { white-space: normal; }
  .join-heading > p:last-child { white-space: normal; }
  .partner-paths,
  .join-tracks { margin-top: 40px; }
  .partner-path,
  .join-track { padding: 30px 22px; }
  .join-track { scroll-margin-top: 84px; }
  .creator-join { scroll-margin-top: 96px; }
  .partner-path { min-height: 0; }
  .partner-path h3 { font-size: 25px; }
  .creator-layout { gap: 45px; }
  .join-track-copy { min-height: auto; margin-bottom: 28px; }
  .expanded-footer { grid-template-columns: 1fr 1fr; gap: 40px; }
  .expanded-footer > div:first-child { grid-column: 1 / -1; }
  .mini-program-overlay { padding: 12px; }
  .mini-program-dialog { max-height: calc(100vh - 24px); }
  .mini-program-poster { padding: 30px 24px 26px; border-width: 5px; }
  .poster-kicker { margin-top: 26px; }
  .mini-program-poster h2 { font-size: 27px; }
  .mini-program-code { width: 190px; }
}

/* The destination story leads; cooperation follows the traveller's experience. */
.story-home { --muted: #5e6d64; }
.story-home section[id] { scroll-margin-top: 100px; }
.story-home a:focus-visible, .story-home button:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; }
.story-home .nav nav { gap: 28px; }
.nav-open { margin-left: 36px; flex-shrink: 0; padding: 12px 18px; color: var(--pine); border: 1px solid #bdc7ba; font-size: 13px; font-weight: 600; transition: background .2s; }
.nav-open:hover { background: #e7eadf; }
.story-home .hero { height: auto; min-height: 770px; }
.story-home .hero-content { height: auto; min-height: 770px; padding-top: 104px; padding-bottom: 48px; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); column-gap: 60px; align-items: center; }
.story-home .hero-copy { max-width: 620px; }
.story-home .hero .eyebrow { text-transform: none; }
.story-home .hero-shade { background: linear-gradient(90deg, rgba(5,30,22,.91), rgba(7,34,25,.77) 48%, rgba(7,31,24,.4)), linear-gradient(0deg, rgba(5,23,17,.35), transparent 46%); }
.story-home .hero h1 { font-size: clamp(39px, 4.2vw, 57px); line-height: 1.35; letter-spacing: -.035em; margin-bottom: 18px; }
.hero-motto { font-size: clamp(18px, 1.9vw, 23px); font-weight: 500; letter-spacing: .04em; margin: 0 0 30px; color: #eee7d1; }
.story-home .hero-lead { font-size: 16px; line-height: 1.9; color: #f0f2e9; }
.hero-detail { max-width: 510px; font-size: 14px; line-height: 1.95; color: #cbd5cc; margin: 16px 0 0; }
.story-home .hero-actions { margin-top: 32px; gap: 28px; flex-direction: row; align-items: center; }
.story-home .mini-program-trigger.button.primary { padding: 0 25px; background: var(--orange); color: #fff; }
.story-home .mini-program-trigger.button.primary:hover { background: #cf5a2d; }
.hero-actions .button { min-width: 172px; }
.hero-actions .button span { color: inherit; }
.story-home .phone-showcase { position: relative; inset: auto; width: 100%; min-width: 0; container-type: normal; }
.story-home .phone-carousel-stage, .story-home .phone-carousel-viewport { min-height: 574px; }
.story-home .phone-device-scale { width: min(250px, 22vw); }
.story-home .phone-pagination { bottom: -4px; }
.hero-notes { grid-column: 1 / -1; display: flex; align-items: center; gap: 22px; margin-top: 36px; color: #c8d3c9; font-size: 11px; letter-spacing: .17em; }
.hero-notes i { width: 25px; height: 1px; background: #92a594; opacity: .6; }
.story-home .value-section { padding: 110px 0; }
.story-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: start; }
.story-intro h2, .advisor-copy h2, .hospitality h2 { margin: 0; font-size: clamp(32px, 3.4vw, 45px); font-weight: 600; line-height: 1.4; letter-spacing: -.035em; }
.story-side-note { font-size: 13px; line-height: 1.9; color: #758074; margin: 24px 0 0; }
.story-intro-copy { padding-top: 31px; }
.story-intro-copy p { margin: 0 0 20px; font-size: 15px; line-height: 2.05; color: #536357; }
.story-intro-copy p:last-child { margin-bottom: 0; color: var(--pine); }
.story-home .value-grid { margin-top: 64px; gap: 28px; }
.story-home .value-card { background: transparent; padding: 22px 0 0; border-top: 1px solid #c9cdbf; min-height: 0; }
.story-home .card-number { font-size: 11px; color: #667563; letter-spacing: .12em; }
.story-home .value-photo { margin-top: 20px; height: 210px; }
.story-home .value-photo::after { display: none; }
.story-home .value-card h3 { font-size: 21px; margin-top: 26px; }
.story-home .value-card > p { font-size: 14px; line-height: 1.95; color: #5b685e; }
.advisor-section { padding: 95px 0 68px; background: #183e30; color: #f8f6ec; overflow: hidden; }
.advisor-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 96px; align-items: center; }
.advisor-copy .eyebrow { color: #e9b18c; }
.advisor-copy > p:not(.eyebrow) { max-width: 545px; margin: 23px 0 0; color: #c6d3c7; font-size: 15px; line-height: 2; }
.advisor-copy .button { margin-top: 30px; }
.advisor-preview { position: relative; margin: 0; padding: 28px 0 0; text-align: center; }
.advisor-preview::before { content: ""; width: 360px; height: 360px; border-radius: 50%; border: 1px solid #4d6b56; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); opacity: .7; }
.advisor-preview::after { content: ""; width: 450px; height: 450px; border-radius: 50%; border: 1px solid #3c5d49; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.advisor-image-frame { position: relative; z-index: 1; width: 226px; margin: auto; padding: 6px; border: 1px solid #78907b; background: #173327; border-radius: 28px; box-shadow: 0 20px 50px #0b261d80; overflow: hidden; }
.advisor-image-frame img { display: block; width: 100%; border-radius: 21px; }
.advisor-preview figcaption { position: relative; z-index: 1; margin-top: 24px; color: #c2cbb8; font-size: 12px; letter-spacing: .12em; }
.product-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 68px; padding-top: 32px; border-top: 1px solid #46634e; }
.product-paths article { position: relative; padding-left: 36px; }
.product-paths article > span { position: absolute; left: 0; top: 4px; color: #c9a486; font-size: 11px; }
.product-paths h3 { margin: 0 0 12px; font-size: 18px; font-weight: 500; }
.product-paths p { margin: 0; font-size: 13px; line-height: 1.9; color: #bfcbbd; }
.hospitality { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; padding: 110px 0; align-items: center; }
.hospitality-scene { min-height: 430px; display: flex; align-items: flex-end; padding: 34px; color: #fff; background: linear-gradient(0deg, #163b2ba1, transparent 65%), url('/images/tianmu-field-table.jpg') center / cover; }
.hospitality-scene span { font-size: 23px; line-height: 1.7; font-weight: 500; letter-spacing: .08em; }
.hospitality h2 { font-size: clamp(30px, 3.2vw, 40px); }
.hospitality-copy > p:not(.eyebrow) { margin: 22px 0; color: var(--muted); font-size: 14px; line-height: 1.95; }
.hospitality-copy > p.benefit-note { font-size: 12px; color: #788174; }
.dark-text-link { display: inline-flex; align-items: center; gap: 24px; color: var(--pine); padding: 6px 0; border-bottom: 1px solid #99a28e; font-size: 14px; font-weight: 600; }
.dark-text-link span { color: #bc683c; }
.mini-program-arrow { width: 15px; height: 15px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.dark-text-link .mini-program-arrow { color: #bc683c; }
.story-home .process { border-top: 1px solid var(--line); gap: 88px; grid-template-columns: 1fr 1fr; }
.story-home .process-summary { max-width: 490px; font-size: 14px; }
.story-home .process-summary + .process-summary { margin-top: 15px; }
.story-home .process-actions { flex-wrap: wrap; gap: 18px 24px; }
.story-home .steps, .story-home .creator-steps { align-self: center; }
.story-home .steps article, .story-home .creator-steps article { padding: 28px 0; grid-template-columns: 36px 1fr; gap: 20px; }
.story-home .steps p, .story-home .creator-steps p { font-size: 14px; line-height: 1.9; }
.story-home .creator-layout { grid-template-columns: 1fr 1fr; gap: 88px; }
.story-home .creator-copy h2 { font-size: 40px; }
.story-home .join-heading h2, .story-home .join-heading > p:last-child { white-space: normal; }
.story-home .join-heading > p:last-child { font-size: 15px; line-height: 1.9; }
.story-home .join-track-copy { min-height: 206px; }
.story-home .join-track h3 { font-size: 25px; line-height: 1.55; }
.story-home .join-form label { font-size: 12px; line-height: 1.8; }
.story-home .join-form textarea { width: 100%; min-width: 0; border: 1px solid #d4d0c5; border-radius: 0; background: var(--paper); padding: 12px 14px; font: inherit; font-size: 13px; font-weight: 400; line-height: 1.8; resize: vertical; }
.story-home .join-form textarea:focus { outline: 1px solid var(--pine); }
.story-home .join-form small { font-size: 11px; }
.story-home .join-form input, .story-home .join-form select { min-width: 0; font-weight: 400; }
.story-home .footer-main { gap: 32px; }
.story-home .footer-main > div:last-child { display: flex; }
.story-home .footer-main > div:first-child > p { color: #bdcbbd; font-size: 13px; line-height: 2.1; }
.story-home .footer-main a, .story-home .footer-main p { color: #b1c0b2; }
.story-home .footer-main h4 { font-size: 12px; }
.story-home .legal { color: #9cac9d; }
.story-home .poster-kicker { font-size: 11px; }
@media (max-width: 1100px) {
  .story-home .hero-content { column-gap: 28px; }
  .story-home .nav nav { gap: 20px; font-size: 13px; }
  .nav-open { margin-left: 24px; }
  .story-intro, .advisor-layout, .hospitality, .story-home .process, .story-home .creator-layout { gap: 50px; }
  .story-home .process h2, .story-home .creator-copy h2 { font-size: 35px; }
  .story-home .join-track { padding: 30px; }
  .story-home .join-track h3 { font-size: 23px; }
}
@media (max-width: 900px) {
  .story-home .hero-content { grid-template-columns: 1fr; padding-top: 68px; padding-bottom: 40px; }
  .story-home .hero-copy { max-width: 640px; margin: 0 auto; width: 100%; }
  .story-home .hero h1 { font-size: 52px; }
  .story-home .hero-detail { max-width: 560px; }
  .story-home .phone-showcase { margin: 48px auto 0; max-width: 460px; }
  .story-home .phone-device-scale { width: 246px; }
  .story-home .phone-carousel-stage, .story-home .phone-carousel-viewport { min-height: 558px; }
  .hero-notes { justify-content: center; margin-top: 36px; }
  .story-intro { grid-template-columns: 1fr; gap: 25px; }
  .story-side-note { display: none; }
  .story-intro-copy { padding-top: 0; max-width: 680px; }
  .story-home .value-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .story-home .value-photo { height: 158px; }
  .story-home .value-card h3 { font-size: 18px; line-height: 1.6; }
  .advisor-layout { gap: 34px; }
  .advisor-copy h2 { font-size: 32px; }
  .advisor-image-frame { width: 210px; }
  .advisor-preview::before { width: 260px; height: 260px; }
  .advisor-preview::after { width: 330px; height: 330px; }
  .hospitality { gap: 35px; }
  .hospitality h2 { font-size: 30px; }
  .hospitality-scene { min-height: 450px; }
  .story-home .process, .story-home .creator-layout { grid-template-columns: 1fr; gap: 44px; }
  .story-home .process-summary { max-width: 680px; }
  .story-home .creator-copy { grid-row: 1; }
  .story-home .join-track-copy { min-height: 0; margin-bottom: 30px; }
  .story-home .footer-main { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .story-home .footer-main > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .story-home .shell { width: calc(100% - 40px); }
  .story-home section[id] { scroll-margin-top: 88px; }
  .nav-open { font-size: 11px; padding: 10px 12px; margin-left: 12px; }
  .story-home .header-brand-name { font-size: 15px; }
  .story-home .brand { gap: 8px; }
  .story-home .hero-content { padding-top: 54px; padding-bottom: 34px; }
  .story-home .hero h1 { font-size: clamp(31px, 8.65vw, 45px); line-height: 1.42; margin-bottom: 16px; }
  .story-home .hero .eyebrow { font-size: 10px; letter-spacing: .14em; margin-bottom: 20px; }
  .hero-motto { font-size: 17px; letter-spacing: .01em; margin-bottom: 26px; }
  .story-home .hero-lead { font-size: 14px; }
  .hero-detail { font-size: 13px; line-height: 2; margin-top: 14px; }
  .story-home .hero-actions { gap: 26px; margin-top: 28px; }
  .hero-actions .button { min-width: 159px; padding: 0 20px; }
  .story-home .phone-showcase { margin-top: 40px; }
  .story-home .phone-device-scale { width: min(226px, 60vw); }
  .story-home .phone-carousel-stage, .story-home .phone-carousel-viewport { min-height: min(514px, 137vw); }
  .hero-notes { margin-top: 34px; gap: 15px; font-size: 10px; }
  .story-home .value-section, .advisor-section, .story-home .creator-section { padding: 68px 0; }
  .story-intro h2, .advisor-copy h2, .hospitality h2, .story-home .process h2, .story-home .creator-copy h2, .story-home .join-heading h2 { font-size: clamp(29px, 7.7vw, 34px); line-height: 1.45; }
  .story-home .eyebrow { font-size: 10px; letter-spacing: .17em; margin-bottom: 17px; }
  .story-intro-copy p { font-size: 14px; }
  .story-home .value-grid { grid-template-columns: 1fr; gap: 40px; margin-top: 40px; }
  .story-home .value-photo { height: 205px; }
  .story-home .value-card h3 { font-size: 21px; margin: 22px 0 10px; }
  .advisor-layout { grid-template-columns: 1fr; gap: 44px; }
  .advisor-copy > p:not(.eyebrow) { font-size: 14px; }
  .advisor-preview { padding-top: 0; }
  .advisor-image-frame { width: 224px; }
  .advisor-preview::before { width: 280px; height: 280px; }
  .advisor-preview::after { width: 340px; height: 340px; }
  .product-paths { grid-template-columns: 1fr; margin-top: 44px; padding-top: 28px; gap: 28px; }
  .product-paths h3 { font-size: 17px; margin-bottom: 7px; }
  .hospitality { grid-template-columns: 1fr; padding: 68px 0; gap: 34px; }
  .hospitality-scene { min-height: 270px; padding: 26px; }
  .hospitality-scene span { font-size: 21px; }
  .story-home .process { padding: 68px 0; }
  .story-home .steps h3, .story-home .creator-steps h3 { font-size: 19px; }
  .story-home .steps article, .story-home .creator-steps article { grid-template-columns: 25px 1fr; gap: 12px; padding: 23px 0; }
  .story-home .process-letter-link { font-size: 12px; }
  .story-home .join-program { padding: 68px 0 80px; }
  .story-home .join-heading > p:last-child { font-size: 14px; }
  .story-home .join-track { padding: 28px 20px; }
  .story-home .join-track h3 { font-size: 21px; }
  .story-home .join-form input, .story-home .join-form select, .story-home .join-form textarea { font-size: 16px; }
  .story-home .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 24px; }
  .story-home .footer-main a { overflow-wrap: anywhere; }
  .story-home .legal { font-size: 10px; line-height: 1.8; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
