/* One mobile layout layer; desktop keeps the original visual identity. */
@media (max-width:820px){
  html{scrollbar-gutter:auto;scroll-padding-top:76px}
  body{font-size:14px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .taf-site{overflow:clip!important;background:#fbf7ec!important}
  .taf-site .taf-nav{display:flex!important;flex-wrap:nowrap!important;gap:12px!important;min-height:58px!important;padding:7px 14px!important;position:sticky!important;top:0!important;z-index:20000!important;border-bottom:1px solid #ffffff20}
  .taf-site .taf-brand{order:0!important;flex:1;min-width:0!important;max-width:none!important;font-size:14px!important;text-align:start;line-height:1.5!important}
  .taf-site .taf-menu-toggle{order:1!important;display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px!important;height:44px!important;flex:none!important}
  .taf-menu-toggle i{display:block;width:20px;height:2px;background:#f1ce80}
  .taf-drawer.taf-links{width:min(350px,88vw)!important;max-width:88vw!important;padding:12px 14px max(18px,env(safe-area-inset-bottom))!important;gap:2px!important}
  .taf-menu-close{position:sticky;top:0;z-index:3;background:#073e35;align-self:flex-start;margin-bottom:6px;width:44px;height:44px}
  .taf-drawer .taf-lang{position:static!important;order:0!important;align-self:flex-end;margin:-50px 0 12px!important;padding:2px!important;flex:none}
  .taf-lang button{min-width:44px!important;min-height:44px!important;height:44px!important;font-size:11px!important}
  .taf-drawer.taf-links a{font-size:14px!important;min-height:44px!important;padding:7px 10px!important;line-height:1.65!important}
  .taf-site .taf-hero{min-height:0!important;padding:28px 18px 26px!important;background-position:42% center!important}
  .taf-site .taf-hero h1{font-size:26px!important;line-height:1.5!important;margin:8px 0 10px!important}
  .taf-site .taf-hero p{font-size:14px!important;line-height:1.85!important;margin:0!important}
  .taf-kicker,.taf-badge{font-size:11px!important}
  .taf-hero .taf-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:16px!important}
  .taf-hero .taf-actions .taf-hero-join{grid-column:1/-1}
  .taf-btn,.taf-hero-join{display:flex!important;align-items:center;justify-content:center;text-align:center;min-width:0;min-height:44px!important;padding:8px 10px!important;font-size:13px!important;border-radius:6px!important;line-height:1.6!important}
  .taf-main{width:100%;padding:26px 14px!important}
  .taf-main>section{scroll-margin-top:76px;padding-inline:0!important}
  .taf-title{margin-bottom:14px!important;text-align:start!important}
  .taf-title h2,.taf-acc-title,.taf-pan-head h2,.taf-project h2,.taf-donate h2,.unit-wrap h2,.lib-section-head h2{font-size:21px!important;line-height:1.6!important;margin:0 0 6px!important}
  .taf-title p,.taf-card p,.taf-act p,.taf-box p,.unit-wrap p,.lib-info p{font-size:13px!important;line-height:1.85!important;margin-block:6px!important}
  .taf-grid,.taf-actgrid,.taf-contact,.taf-video-grid,.taf-donate-card,.taf-step-list,.unit-intro{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .taf-grid>*,.taf-actgrid>*,.taf-contact>*,.taf-unitgrid>*,.taf-video-grid>*,.unit-intro>*,.unit-acts>*,.lib-info>*{min-width:0;overflow-wrap:anywhere}
  .taf-unitgrid,.taf-project-cats,.unit-acts,.unit-facts,.lib-info{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .taf-card,.taf-act,.taf-box,.taf-unit,.unit-acts article,.lib-info article{padding:14px!important;border-radius:8px!important;box-shadow:none!important}
  .taf-card h3,.taf-act h3,.taf-box h3,.unit-acts h3,.lib-info h3{font-size:16px!important;line-height:1.65!important;margin:0 0 6px!important}
  .taf-unit{font-size:13px!important;min-height:58px;display:flex;flex-direction:column;justify-content:center;align-items:center}
  .taf-unit small{font-size:11px!important}
  .taf-join-unit::before{display:none!important}
  .taf-units,.taf-activities,.taf-gallery,.taf-contact,.taf-videos{margin-top:28px!important}
  .taf-media{margin:28px 0!important;padding:18px 14px!important;border-radius:8px!important}
  .taf-social{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
  .taf-social a{font-size:12px!important;padding:8px!important;min-height:44px;display:grid;place-items:center}
  .taf-project,.taf-donate,.taf-panorama,.taf-plans,.taf-access-map{width:calc(100% - 28px)!important;max-width:100%!important;margin:20px auto!important;border-radius:8px!important}
  .taf-main .taf-project,.taf-main .taf-donate,.taf-main .taf-panorama,.taf-main .taf-plans,.taf-main .taf-access-map{width:100%!important}
  .taf-project,.taf-donate,.taf-panorama{padding:18px 14px!important;box-shadow:none!important}
  .taf-acc{width:calc(100% - 28px)!important;margin:20px auto!important;padding:14px!important;box-shadow:none!important;border-radius:8px!important}
  .taf-main .taf-acc{width:100%!important}
  .taf-acc-head{gap:8px;flex-wrap:wrap}
  .taf-acc-list{grid-template-columns:minmax(0,1fr)!important;gap:6px!important}
  .taf-acc-item summary{min-height:46px!important;padding:8px!important;gap:8px!important}
  .taf-acc-name{font-size:13px!important;line-height:1.7!important}
  .taf-acc-num{font-size:11px!important;min-width:26px!important;width:26px!important;height:26px!important}
  .taf-acc-body,.taf-acc-distance{font-size:12px!important;line-height:1.9!important}
  .taf-plans{padding:0!important}
  .taf-plans-intro{position:static!important;transform:none!important;width:100%!important;margin-bottom:8px;padding:10px!important;min-height:0!important}
  .taf-plans-intro::before{display:none!important}
  .taf-plan-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-radius:8px!important}
  .taf-plan-tabs button{font-size:12px!important;min-height:44px!important;padding:8px!important}
  .taf-plan-panels>article.active{padding:12px!important}
  .taf-bank{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
  .taf-bank code{display:block;font-size:14px!important;overflow-wrap:anywhere;direction:ltr}
  .taf-video-frame,.unit-video-frame{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:16/9}
  .taf-video-frame iframe,.unit-video-frame iframe{width:100%!important;height:100%!important}
  .taf-slider{margin-inline:0!important;padding:0 0 10px!important;gap:10px!important}
  .taf-slide{flex-basis:86%!important;min-height:200px!important;border-radius:8px!important}
  .taf-caption{padding:14px!important}
  .taf-caption h3{font-size:17px!important}
  .taf-caption p{font-size:12px!important}
  .taf-access-map{padding:10px!important;background:#073e35!important;color:white!important}
  .taf-v3-summary{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:8px!important;margin:0!important;border-radius:6px!important}
  .taf-v3-summary h2{font-size:16px!important;line-height:1.65!important}
  .taf-v3-toggle{min-width:0!important;padding:8px 10px!important;min-height:44px!important;font-size:12px!important}
  .taf-v3-map{height:auto!important;min-height:0!important;margin-top:8px;border-radius:6px!important}
  .taf-v3-viewport{height:320px!important;height:min(52svh,360px)!important;min-height:240px}
  .taf-v3-mapbar{inset:8px 8px auto;gap:6px;align-items:flex-start}
  .taf-v3-place{max-width:calc(100% - 100px)!important;min-width:0;padding:8px!important}
  .taf-v3-place strong{font-size:11px!important;overflow-wrap:anywhere}
  .taf-v3-place span{display:none}
  .taf-v3-controls{gap:4px;flex:none}
  .taf-v3-controls button{width:44px!important;min-height:44px!important}
  .taf-v3-hint{font-size:11px!important;max-width:calc(100% - 20px);white-space:normal;text-align:center}
  .taf-v3-heading{display:block!important}
  .taf-v3-heading h2{font-size:18px!important}
  .taf-v3-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .taf-v3-item{min-width:0;padding:8px!important;font-size:12px!important}
  .taf-pan-head{display:block!important;margin-bottom:12px!important}
  .taf-pan-head p{font-size:12px!important;line-height:1.8!important}
  .taf-pan-live{display:inline-flex;margin-top:6px;font-size:11px!important}
  .taf-pan-stage,.lib-360-stage{height:260px!important;min-height:260px!important;border-radius:8px!important}
  .taf-pan-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;max-height:none!important;margin-top:8px!important}
  .taf-pan-tabs button{min-width:0;min-height:44px!important;font-size:11px!important;line-height:1.7!important;padding:8px!important;white-space:normal;border-radius:6px!important}
  .taf-pan-hint,.lib-pan-hint{font-size:10px!important;max-width:50%!important;right:8px!important;bottom:8px!important;padding:6px!important}
  .taf-pan-full,.lib-pan-full{left:8px!important;right:auto!important;bottom:8px!important;min-height:44px;max-width:45%;font-size:11px!important}
  .taf-lightbox{padding:12px!important}
  .taf-lightbox img{max-height:65dvh!important}
  .taf-account-access{position:static!important;width:max-content!important;max-width:calc(100% - 28px)!important;margin:14px auto!important;min-height:44px;box-shadow:none!important;font-size:12px!important}
  .taf-footer,.unit-footer{padding:18px 14px!important;font-size:11px!important}
  .unit-nav,.lib-nav{position:relative!important;inset:auto!important;display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:18px!important;padding:0!important}
  .unit-nav span,.lib-nav span{display:flex;flex-wrap:wrap;gap:6px}
  .unit-nav b,.lib-nav b{font-size:13px!important;flex:1}
  .unit-nav a,.lib-nav a{display:inline-flex;align-items:center;min-height:44px!important;padding:6px 8px!important;font-size:12px!important}
  .unit-nav .taf-lang,.lib-nav .taf-lang{position:static!important;flex-basis:100%;width:max-content;margin:0!important;justify-content:flex-start;box-shadow:none}
  .unit-hero,.lib-hero{display:block!important;min-height:0!important;padding:16px 16px 22px!important}
  .unit-hero h1,.lib-hero h1{font-size:27px!important;line-height:1.5!important;margin-block:8px!important}
  .unit-lead,.lib-hero p{font-size:13px!important;line-height:1.9!important}
  .unit-portrait{width:160px!important;margin:16px auto 0!important}
  .unit-portrait img{border-radius:8px!important}
  .unit-portrait::before{display:none!important}
  .unit-wrap,.lib-wrap{padding:24px 14px!important;scroll-margin-top:76px}
  .unit-bio,.unit-quote{padding:14px!important;border-radius:8px!important;box-shadow:none!important}
  .unit-facts{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .unit-facts b,.unit-facts span{font-size:11px!important;line-height:1.7!important}
  .unit-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .unit-gallery img{width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover;border-radius:6px!important}
  .unit-cta{margin:16px 14px!important;padding:18px 14px!important;border-radius:8px!important}
  .unit-cta h2{font-size:20px!important}
  .unit-cta a,.lib-btn,.lib-load-more{display:inline-flex;align-items:center;justify-content:center;min-height:44px!important;font-size:12px!important;padding:8px 12px!important;margin:4px!important}
  .lib-hero-copy{padding:0!important}
  .lib-actions{display:flex;flex-wrap:wrap;gap:6px}
  .lib-section-head{display:block!important}
  .lib-searchbox{padding:10px!important;border-radius:8px!important}
  .lib-search-icon{display:none}
  .lib-searchbox input{width:100%;min-width:0;min-height:44px;font-size:16px!important}
  .lib-books{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
  .lib-books article{padding:12px!important;border-radius:6px!important}
  .lib-books h3{font-size:15px!important;line-height:1.7!important}
  .lib-books p,.lib-books span{font-size:12px!important}
  .future360-nav{inset:8px 10px auto!important;flex-wrap:wrap;gap:6px}
  .future360-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:12px!important}
  .future360-copy{right:12px!important;left:12px!important;bottom:86px!important;max-width:none!important;padding:12px!important;max-height:32dvh;overflow:auto}
  .future360-copy h1{font-size:23px!important;line-height:1.5!important}
  .future360-copy p{font-size:12px!important;line-height:1.8!important}
  .future360-controls{right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
  .future360-full{left:12px!important;right:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;min-height:44px}
  .future360-help{left:12px!important;right:auto!important;bottom:62px!important;min-height:44px}
  .future360-guide{max-height:90dvh;overflow-y:auto}
  .taf-pan-stage.taf-pan-pseudo-full,.lib-360-stage.lib-pan-fullscreen{height:100dvh!important;min-height:100dvh!important;max-height:none!important;border-radius:0!important}
  .taf-pan-stage.taf-pan-pseudo-full .taf-pan-full{bottom:auto!important;top:max(10px,env(safe-area-inset-top))!important}
}
@media (max-width:1024px){
  .join-shell{display:block!important;min-height:100dvh!important}
  .join-story{min-height:0!important;padding:16px!important;gap:10px!important}
  .join-back{margin:0!important;width:max-content;font-size:12px!important;min-height:44px;align-items:center}
  .join-brand{margin-top:0!important}
  .join-brand small{font-size:11px!important}
  .join-brand h1{font-size:25px!important;line-height:1.5!important;margin:8px 0!important}
  .join-brand p{display:block!important;font-size:13px!important;line-height:1.8!important;margin:0!important}
  .join-points,.join-quote,.join-grain,.join-story::before,.join-story::after{display:none!important}
  .join-panel{display:block!important;padding:16px!important}
  .join-card{width:100%!important;max-width:540px!important;margin:0 auto!important;padding:18px!important;border-radius:8px!important;box-shadow:none!important}
  .join-head{display:block!important;margin-bottom:16px!important}
  .join-head h2{font-size:21px!important;margin:0 0 4px!important}
  .join-head p{font-size:12px!important;line-height:1.8!important}
  .join-story .taf-lang{position:static!important;align-self:flex-end;margin:0!important;order:-1;box-shadow:none}
  .taf-auth-form{gap:10px}
  .taf-auth-form label{font-size:13px!important}
  .taf-auth-form input:not([type=checkbox]),.taf-auth-form select,.join-field input,.join-field select,.join-field textarea{font-size:16px!important;min-width:0;min-height:44px!important;padding:8px 10px!important}
  .taf-auth-form input[type=checkbox]{width:20px!important;height:20px!important;min-height:20px!important;accent-color:#073e35}
  .taf-auth-form button{min-height:44px!important;padding:8px 12px!important;font-size:13px!important}
  .taf-auth-status{font-size:12px!important;line-height:1.8!important;overflow-wrap:anywhere}
  #taf-phone,#taf-code{direction:ltr;text-align:left}
}
@media (max-width:360px){
  .taf-site .taf-hero h1{font-size:23px!important}
  .taf-hero .taf-actions,.unit-acts,.lib-info,.taf-v3-list{grid-template-columns:minmax(0,1fr)!important}
  .taf-main{padding-inline:10px!important}
  .taf-v3-summary{grid-template-columns:minmax(0,1fr)!important}
}
@media (max-height:500px) and (orientation:landscape){
  .future360-copy{max-height:30dvh;padding:8px!important}
  .future360-copy p{display:none}
}
