:root{--sidebar-width:252px;--safe-bottom:env(safe-area-inset-bottom,0px)}
html{overflow-x:hidden}
body{overflow-x:hidden;-webkit-tap-highlight-color:transparent}
button,a,select,input{touch-action:manipulation}
input,select,textarea{min-height:50px}
select{appearance:auto;cursor:pointer}
.city-select{width:100%;text-overflow:ellipsis}
.location-selects{display:grid;grid-template-columns:1fr;gap:8px;margin-top:7px}
.location-selects select{margin-top:0}
.time-selects>label{min-width:0}
.time-selects select{font-variant-numeric:tabular-nums}

/* 轻量进入动效 */
@keyframes rise-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes soft-fade{from{opacity:0}to{opacity:1}}
.page>.alert,.dashboard-head,.membership-hero,.form-layout,.report-head{animation:rise-in .42s cubic-bezier(.2,.8,.2,1) both}
.people-grid>*,.plan-grid>*,.stats>*{animation:rise-in .38s cubic-bezier(.2,.8,.2,1) both}
.people-grid>*:nth-child(2),.plan-grid>*:nth-child(2),.stats>*:nth-child(2){animation-delay:.05s}
.people-grid>*:nth-child(3),.plan-grid>*:nth-child(3),.stats>*:nth-child(3){animation-delay:.1s}
.person-card,.plan-card,.stats article,.button{will-change:transform;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.person-card:hover,.plan-card:hover{transform:translateY(-3px);border-color:rgba(180,138,60,.45);box-shadow:0 18px 42px rgba(23,59,43,.1)}

/* 后台左侧导航 */
.admin-menu-button{display:none;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700}
.admin-shell{min-height:calc(100vh - 76px)}
.admin-sidebar{position:fixed;left:0;top:76px;bottom:0;width:var(--sidebar-width);z-index:42;background:var(--primary);color:var(--ink);padding:30px 20px 22px;display:flex;flex-direction:column;box-shadow:14px 0 40px rgba(47,111,78,.12)}
.sidebar-heading{padding:2px 12px 24px;border-bottom:1px solid rgba(47,111,78,.16)}
.sidebar-heading small{display:block;color:var(--gold);font-size:10px;letter-spacing:2px}
.sidebar-heading strong{display:block;font-family:serif;font-size:24px;margin-top:6px}
.sidebar-nav{display:flex;flex-direction:column;gap:7px;padding-top:22px}
.sidebar-nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:10px;color:var(--ink-2);font-size:14px;transition:.2s ease}
.sidebar-nav a span{color:var(--gold);font-size:10px;font-variant-numeric:tabular-nums}
.sidebar-nav a:hover,.sidebar-nav a.active{background:#fff;color:var(--gold);transform:translateX(3px)}
.sidebar-nav a.active span{color:var(--gold)}
.sidebar-foot{margin-top:auto;border-top:1px solid rgba(47,111,78,.16);padding:18px 12px 0;display:flex;flex-direction:column;gap:8px}
.sidebar-foot a{color:var(--gold);font-size:12px}.sidebar-foot small{color:var(--muted);font-size:10px}
.admin-page{max-width:none;margin-left:var(--sidebar-width);padding-left:42px;padding-right:42px}
.is-admin>footer{margin-left:var(--sidebar-width)}
.sidebar-overlay{display:none}
.admin-form{max-width:1080px}
.admin-page .section-block{max-width:1280px}

/* 更稳健的内容宽度 */
.plan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.membership-hero{overflow:hidden;position:relative}
.membership-hero:after{content:"";position:absolute;width:290px;height:290px;border:1px solid rgba(220,196,135,.16);border-radius:50%;right:-90px;top:-100px;box-shadow:0 0 0 54px rgba(220,196,135,.035)}
.member-badge{position:relative;z-index:1}
.form-card{overflow:hidden}

@media(max-width:980px){
  .form-layout,.auth-shell{grid-template-columns:minmax(0,1fr) minmax(340px,460px);gap:40px}
  .form-layout h1,.auth-copy h1{font-size:44px}
  .admin-page{padding-left:28px;padding-right:28px}
}

@media(max-width:820px){
  body{padding-bottom:var(--safe-bottom)}
  .topbar{height:calc(64px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}
  .admin-menu-button{display:inline-flex;margin-left:auto;margin-right:10px}
  .admin-sidebar{top:calc(64px + env(safe-area-inset-top,0px));width:min(82vw,300px);transform:translateX(-105%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}
  body.sidebar-open{overflow:hidden}
  body.sidebar-open .admin-sidebar{transform:translateX(0)}
  .sidebar-overlay{display:block;position:fixed;inset:calc(64px + env(safe-area-inset-top,0px)) 0 0;background:rgba(12,28,20,.46);border:0;z-index:41;opacity:0;visibility:hidden;transition:.25s}
  body.sidebar-open .sidebar-overlay{opacity:1;visibility:visible}
  .admin-page{margin-left:0;padding-left:15px;padding-right:15px}
  .is-admin>footer{margin-left:0}
  .form-layout,.auth-shell{grid-template-columns:1fr;gap:18px;min-height:auto}
  .form-layout>section:first-child,.auth-copy{padding:7px 4px}
  .form-layout h1,.auth-copy h1{font-size:clamp(32px,10vw,42px);margin-bottom:10px}
  .form-layout>section:first-child p,.auth-copy p{font-size:14px;margin-bottom:0}
  .form-card,.auth-card,.admin-form{padding:24px 20px}
  .form-card label{margin:12px 0}
  .field-row.time-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  input,select,textarea{font-size:16px}
  .button{min-height:48px}
  .membership-hero{padding:29px 24px}
  .membership-hero h1{font-size:clamp(32px,9vw,40px)}
  .plan-grid{grid-template-columns:1fr}
  .plan-card{padding:24px}
  .plan-card p,.plan-card ul{min-height:0}
  .dashboard-head{gap:18px}
  .dashboard-head>.button{width:100%}
  .section-block{padding:22px 18px}
  .table-wrap{margin-left:-18px;margin-right:-18px;padding:0 18px;scrollbar-width:thin}
}

@media(max-width:430px){
  .page{padding-left:12px;padding-right:12px}
  .topbar{padding-left:12px;padding-right:12px}
  .brand{font-size:16px}.brand-mark{width:36px;height:36px}
  .form-card,.auth-card{padding:22px 17px;border-radius:15px}
  .stats{grid-template-columns:1fr 1fr;gap:10px}
  .stats article{padding:18px;min-height:100px}
  .stats strong{font-size:23px}
  .person-card{padding:20px}
  .report-head{padding:27px 21px}
  .report-card{padding:22px 16px}
  .pillars{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pillar b{font-size:22px;margin:6px 1px}
  .pillar small,.pillar span,.pillar em{font-size:10px}
}

@media(max-width:350px){
  .stats{grid-template-columns:1fr}
  .field-row.time-selects{grid-template-columns:1fr}
  .topbar nav{gap:7px}.nav-cta{padding:8px 12px}
}

@media(hover:none){
  .person-card:hover,.plan-card:hover,.button:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* 手机端紧凑排版 v1.22 */
@media(max-width:760px){
  body{font-size:14px;line-height:1.55}
  .page{padding:18px 12px 48px}
  .topbar{min-height:60px;height:calc(60px + env(safe-area-inset-top,0px));padding-left:12px;padding-right:12px}
  .brand{gap:7px;font-size:15px;letter-spacing:1px}.brand-logo{width:38px;height:38px}
  .site-menu-button,.admin-menu-button{padding:7px 11px;font-size:12px}
  .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:8px}
  .brand-hero{min-height:510px;padding:34px 18px;border-radius:20px}
  .brand-hero h1,.hero h1{font-size:38px;line-height:1.08;letter-spacing:1px;margin-bottom:16px}
  .brand-hero .hero-lead{font-size:11px;line-height:1.6}.hero p{font-size:14px;line-height:1.65;margin-block:8px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0}
  .hero-actions .button{min-width:0;width:100%;padding-inline:8px;white-space:nowrap}
  .brand-hero .trust-row{margin-top:26px;gap:3px;font-size:11px}
  .button{min-height:42px;padding:9px 14px;border-radius:8px;font-size:13px;line-height:1.2;white-space:nowrap}
  .button.small{min-height:34px;padding:6px 10px;font-size:11px}
  input,select,textarea{min-height:44px;padding:10px 11px;margin-top:5px;font-size:16px}
  textarea{min-height:92px}.captcha-row{grid-template-columns:minmax(0,1fr) 118px;gap:7px}.captcha-row img{width:118px;height:44px;margin-top:5px}
  .auth-card,.form-card,.admin-form,.booking-form{padding:20px 17px}.auth-card h2,.admin-form h2,.booking-form h2{font-size:24px;margin-bottom:14px}
  .auth-card label,.form-card label,.admin-form label{margin:10px 0;font-size:12px}
  .home-intro,.marketing-section,.home-journal,.process-band,.mentor-preview{margin:44px 0}
  .home-intro h2,.marketing-heading h2,.process-band h2,.mentor-preview h2,.booking-cta h2,.story-layout h2,.value-grid h2,.mentor-story h2{font-size:29px;line-height:1.25;margin:5px 0 13px}
  .home-intro p{font-size:14px;line-height:1.8}.marketing-heading{margin-bottom:17px;gap:8px}.marketing-heading a{font-size:12px}
  .service-showcase{gap:11px}.service-showcase article{padding:24px 20px;border-radius:16px}.service-showcase h3{font-size:23px;margin:30px 0 8px}.service-showcase p{font-size:13px;margin:0}
  .process-band{padding:28px 18px;border-radius:20px}.process-band ol{margin:27px 0;row-gap:12px}.process-band li{padding-top:15px;gap:8px;font-size:12px}.process-band li small{font-size:10px}
  .mentor-preview{padding:18px;gap:18px;border-radius:20px}.mentor-photo{height:300px}.mentor-preview p{font-size:13px}.credential-row{margin:16px 0;gap:5px}.credential-row span{padding:5px 8px;font-size:10px}
  .journal-grid{gap:11px}.journal-grid article{padding:21px 18px}.journal-grid h3,.journal-grid h2{font-size:20px;margin:10px 0}.journal-grid p{font-size:13px}
  .booking-cta{padding:24px 18px;gap:16px;border-radius:18px}.booking-cta h2{font-size:28px}.booking-cta p{font-size:13px}
  .booking-cta-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%;flex-direction:initial!important}.booking-cta-actions .button{width:100%!important;padding-inline:8px}
  .inner-hero{padding:35px 17px;margin-bottom:28px;border-radius:20px}.inner-hero h1{font-size:34px;line-height:1.12;margin-bottom:9px}.inner-hero p{font-size:14px;margin:0}
  .story-layout,.mentor-story,.booking-layout{gap:18px;margin:32px 0}.story-layout aside strong{font-size:29px}.story-layout p,.mentor-story p{font-size:14px;line-height:1.75}.lead-copy{font-size:17px!important}
  .value-grid,.expertise-grid{gap:11px;margin:42px 0}.value-grid article,.expertise-grid article{padding:22px 18px}.value-grid h2{font-size:23px}.quote-band{margin:44px 0;padding:35px 18px}.quote-band blockquote{font-size:24px;line-height:1.55}
  .business-list{gap:12px}.business-list article{padding:22px 18px;gap:10px}.business-list h2{font-size:27px}.business-list p{font-size:14px}.business-number{font-size:29px}
  .booking-copy{padding:0}.booking-copy h2{font-size:28px;margin:0 0 10px}.booking-copy p{font-size:14px}.booking-copy>small{margin-top:18px;padding:12px;font-size:11px}
  .booking-modes{grid-template-columns:repeat(3,1fr);gap:6px;margin:20px 0}.booking-modes span{padding:11px 3px;font-size:10px}.booking-modes b{font-size:18px}
  .dashboard-head,.membership-hero,.report-head{gap:13px;margin-bottom:22px}.dashboard-head h1{font-size:29px;margin-bottom:5px}.dashboard-head p{font-size:13px}.dashboard-head-actions{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;width:100%;flex-direction:initial!important}.dashboard-head-actions .button{width:100%;min-width:0;padding-inline:7px;font-size:12px}
  .stats{gap:8px;margin-bottom:16px}.stats article{min-height:88px;padding:15px}.stats strong{font-size:22px;margin-top:6px}.section-block{padding:18px 15px}.section-heading{margin-bottom:15px}.section-heading h2{font-size:23px}
  .consultation-list{gap:10px}.consultation-card{padding:18px}.consultation-card-head{gap:8px}.consultation-card h2{font-size:20px;margin:6px 0}.consultation-card h2 small{font-size:12px}.consultation-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px 0}.consultation-facts span{font-size:11px}.consultation-card p{font-size:13px;margin:11px 0}
  .manage-actions{grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 9px}.manage-actions .button{padding-inline:7px}
  .settings-list{padding:18px}.settings-list>div{padding:13px 0}.site-footer{padding:30px 15px;gap:5px}.site-footer strong{font-size:17px}.site-footer nav{gap:10px;font-size:11px}
}

@media(max-width:340px){
  .brand-hero h1,.hero h1{font-size:35px}.hero-actions,.booking-cta-actions,.manage-actions{grid-template-columns:1fr!important}.dashboard-head-actions{grid-template-columns:1fr}.booking-modes{grid-template-columns:1fr}.consultation-facts{grid-template-columns:1fr}
}

/* 账号、验证码和安全表单：手机端保持紧凑且不换行溢出 */
@media(max-width:600px){
  .auth-shell,.form-layout{gap:10px}
  .auth-copy,.form-layout>section:first-child{padding:2px 3px!important}
  .auth-copy .eyebrow,.form-layout>section:first-child .eyebrow{margin-bottom:5px;font-size:9px;letter-spacing:1.5px}
  .auth-copy h1,.form-layout h1{font-size:25px!important;line-height:1.18;margin:0 0 5px}
  .auth-copy p,.form-layout>section:first-child p{font-size:11px!important;line-height:1.55;margin:0}
  .auth-card,.form-card{padding:16px 14px!important;border-radius:13px}
  .auth-card h2,.form-card h2{font-size:21px!important;margin:0 0 9px}
  .auth-card label,.form-card label{margin:8px 0!important;font-size:11px!important}
  .auth-card input,.form-card input,.auth-card select,.form-card select{min-height:40px;padding:8px 10px;margin-top:4px;font-size:14px}
  .phone-verification-panel{margin:9px 0;padding:10px;border-radius:10px}
  .verification-ready{margin:7px 0;padding:8px 9px;font-size:10px;line-height:1.55}
  .captcha-row{grid-template-columns:minmax(0,1fr) 100px!important;gap:6px!important}
  .captcha-row img{width:100px!important;height:40px!important;margin-top:4px!important;border-radius:7px}
  .sms-code-row{grid-template-columns:minmax(0,1fr) 105px!important;gap:6px!important}
  .sms-code-row .button{width:105px;height:40px;min-height:40px;margin-top:4px;padding:5px 4px;font-size:11px;white-space:nowrap}
  .check{gap:5px!important;line-height:1.45}.check input{min-height:0;width:16px;height:16px;flex:0 0 16px}
  .auth-foot{margin-top:11px;font-size:12px}.auth-card>.subtle{margin:8px 0 0;font-size:10px}
  .auth-card .button.wide,.form-card .button.wide{min-height:40px;padding-block:8px;font-size:12px}
  .brand span{display:inline!important;max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;letter-spacing:1px}
  .login-auth-shell{gap:7px}
  .login-welcome{padding:0 3px!important}
  .login-welcome h1{font-size:25px!important;margin:0!important;line-height:1.2}
  .mentor-photo{height:520px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important}
  .mentor-photo img{width:138%!important;height:138%!important;max-width:none!important;object-fit:contain!important;object-position:center bottom!important}
  .mentor-headshot{width:min(100%,340px)!important;height:410px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
  .lotus-raster-about-left{left:-72px;top:-50px;width:185px;opacity:.1}
  .lotus-raster-about-right{right:-75px;bottom:-62px;width:220px;opacity:.14}
  .inner-hero:not(.mentor-hero):not(.about-hero):before{right:-70px;bottom:-65px;width:220px;height:190px;opacity:.12}
  .inner-hero:not(.mentor-hero):not(.about-hero):after{display:none}
  .booking-cta:not(.lotus-host):after{right:-72px;bottom:-60px;width:210px;height:180px;opacity:.1}
  .about-doc-founder figure,.about-doc-gallery figure{border-radius:11px}
  .about-doc-gallery img{height:100%;object-fit:contain}
}
