/* This layer affects phones only. The original desktop presentation is kept. */
.mobile-menu,.mobile-only,.mobile-image-open{display:none}
@media (max-width:1000px){
  html{scroll-padding-top:84px}
  .scroll-hint,.slide-nav{display:none!important}
  .deck-shell,.deck-viewport{height:auto;overflow:visible}
  .deck-container{height:auto;display:block;transform:none!important}
  .deck-container .slide{display:flex;flex-direction:column;height:auto;min-height:0;overflow:hidden;padding:0 0 40px;background:#0b140e;border-bottom:1px solid #c8974d38}
  .deck-container .slide:nth-child(even){background:#0e1912}
  .deck-container .slide-bg{position:relative;inset:auto;z-index:0;display:block;width:calc(100% - 32px);height:auto;margin:20px 16px 0;border-radius:14px;object-fit:contain;order:0}
  .deck-container .veil,.deck-container .bottom-mark{display:none}
  .deck-container .slide-inner{width:calc(100% - 40px);height:auto;min-height:0;margin:0 auto;padding:28px 0 0!important;order:1}
  .deck-container .copy-block,.deck-container .extra-copy,.deck-container .slide-seasons .extra-copy,.deck-container .slide-roadmap .extra-copy{padding-top:0;max-width:100%}
  .deck-container .slide h2{margin:0 0 20px;font-size:clamp(2rem,8.5vw,2.75rem);line-height:1.08;letter-spacing:-.035em;overflow-wrap:break-word}
  .deck-container .slide .lead,.deck-container .slide .copy,.hero-copy{max-width:100%;font-size:1rem;line-height:1.65;color:#ded4c3}
  .deck-container .slide .eyebrow{margin:0 0 14px;font-size:.75rem;line-height:1.5;letter-spacing:.06em;color:#d2ae70}
  .deck-container .slide h2 br,.hero-lead br,.roadmap-call h3 br{display:none}
  .site-header{position:sticky;top:0;left:auto;z-index:20;display:flex;gap:12px;width:100%;height:68px;padding:0 16px;transform:none;background:#07100bf5;backdrop-filter:blur(12px);border-bottom:1px solid #c8974d40}
  .site-header .brand{gap:9px;min-width:0}
  .site-header .brand>img{width:28px;height:36px}
  .site-header .brand b{font-size:1rem;letter-spacing:.1em}
  .site-header .brand small,.site-header>nav,.site-header .locked{display:none}
  .mobile-menu{display:block;margin-left:auto}
  .mobile-menu summary{display:flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;color:#e1c38f;cursor:pointer;list-style:none;font-size:.8rem}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary::after{content:'⌄';font-size:1rem}
  .mobile-menu[open] summary::after{content:'×'}
  .mobile-menu nav{position:absolute;top:calc(100% + 8px);right:12px;left:12px;display:grid;gap:4px;max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain;padding:12px;border:1px solid var(--line);border-radius:14px;background:#0b140e;box-shadow:0 16px 48px #0009}
  .mobile-menu:not([open]) nav{display:none}
  .mobile-menu nav button{min-height:48px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:#e0d2ba;text-align:left;font-size:.875rem;line-height:1.5;cursor:pointer}
  .mobile-menu nav button:hover,.mobile-menu nav button:focus-visible{background:#c8974d20}
  :is(button,a,summary,input):focus-visible{outline:2px solid #e6bf78;outline-offset:3px}
  /* The cover keeps its original landscape and gold type. */
  .deck-container .slide-hero{position:relative;background:#07100b}
  .deck-container .slide-hero .slide-bg{position:absolute;top:0;left:0;width:100%;height:470px;margin:0;border-radius:0;object-fit:cover;object-position:62% center;z-index:-2}
  .deck-container .slide-hero .hero-veil{display:block;inset:0 0 auto;height:480px;background:linear-gradient(180deg,#07100b05 0%,#07100b66 25%,#07100be8 62%,#07100b 95%);z-index:-1}
  .deck-container .slide-hero .slide-inner{padding-top:170px!important}
  .hero-inner h1{font-size:clamp(2.75rem,12vw,4.3rem);line-height:1;letter-spacing:-.04em}
  .hero-lead{margin:20px 0;font-size:1.3rem;line-height:1.4;color:#f0e2c9}
  .hero-copy{margin:0}
  .slide-hero .facts{display:grid;grid-template-columns:1fr;width:100%;max-width:100%;gap:10px;margin:26px 0}
  .fact{gap:16px;min-width:0;min-height:76px;padding:14px 16px;background:#101c14e6}
  .fact b{font-size:1.3rem}.fact small{font-size:.875rem;line-height:1.4}
  .actions{display:flex;flex-direction:column;gap:12px;width:100%;margin-top:24px}
  .action{width:100%;max-width:100%;min-width:0;min-height:56px;gap:16px;padding:16px 18px;font-size:1rem;letter-spacing:.035em;line-height:1.3}
  .thesis-grid,.why-grid,.quick-facts,.slide-territory .territory-facts,.feature-cards.four,.feature-cards.five,.feature-cards.three{position:static;display:grid;grid-template-columns:1fr;width:100%;max-width:100%;gap:12px;margin:24px 0 0}
  .thesis-card,.slide-investment .thesis-card,.why-grid article,.feature-cards article,.feature-cards.three article{min-width:0;min-height:0;padding:20px}
  .thesis-card h3{font-size:1.6rem;margin:8px 0}
  .thesis-card p,.feature-cards small{font-size:.9rem;line-height:1.6}
  .feature-cards article,.feature-cards.five article{font-size:1rem;line-height:1.5}
  .feature-cards.five article{flex-direction:row;align-items:center;justify-content:flex-start;gap:16px;padding:18px}
  .feature-cards b{font-size:1.1rem;line-height:1.4}
  .benefits{position:static;display:grid;grid-template-columns:1fr;gap:16px;margin-top:24px}
  .benefits span,.benefits span+span{min-width:0;padding:0;border:0;font-size:.9rem;line-height:1.5}
  .slide-investment .quote-card--potential{position:static;display:flex;width:100%;min-height:0;margin:24px 0 0;padding:22px}
  .slide-investment .quote-card--potential .quote-note{font-size:.875rem;line-height:1.6}
  .slide-investment .quote-card--potential strong{margin-top:20px;font-size:1.3rem}
  .slide-territory .caption{margin:24px 0 16px;font-size:.95rem;line-height:1.5}
  .slide-territory .territory-facts{margin-top:0}
  .slide-territory .territory-facts article{gap:12px;min-height:96px;padding:16px}
  .slide-territory .territory-facts b{white-space:normal}
  .slide-territory .territory-facts small{font-size:.875rem;line-height:1.5}
  .slide-territory .territory-road{padding:18px;gap:12px;align-items:flex-start}
  .slide-territory .territory-road .sprite{display:none}
  .slide-territory .territory-road .road-times{font-size:1.4rem;line-height:1.3}
  .zone-note,.destination,.extra-quote,.season-note,.next-step{width:100%;max-width:100%;min-width:0;overflow-wrap:break-word}
  .zoning-label{position:static;width:100%;max-width:100%;margin:20px 0 0;font-size:.875rem}
  .zone-note{margin-top:24px;font-size:.95rem;line-height:1.6}
  .slide-big-idea .idea-steps{width:100%;max-width:100%;margin:26px 0;padding:0 0 0 42px;gap:14px}
  .slide-big-idea .idea-steps li{display:block;min-height:0}
  .slide-big-idea .idea-steps li>span{position:static;inset:auto;display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:12px}
  .slide-big-idea .idea-steps li>span b{white-space:normal;font-size:1rem;line-height:1.45}
  .slide-big-idea .idea-steps li>span small{font-size:.875rem;line-height:1.5}
  .slide-big-idea .idea-steps .extra-icon{display:none}
  .slide-big-idea .idea-steps li::before{left:-42px;width:32px;height:32px;font-size:1.2rem}
  .slide-big-idea .idea-steps li:not(:last-child)::after{left:-26px;height:calc(100% + 14px)}
  .flow-cards{display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px}
  .flow-cards>b{display:none}
  .flow-cards article{min-height:84px;min-width:0;flex-direction:row;gap:16px;justify-content:flex-start;padding:18px;text-align:left;font-size:1rem;line-height:1.5}
  .deck-container .slide .extra-quote{width:100%;max-width:100%;margin-top:24px;padding:20px;gap:14px;font-size:1.4rem;line-height:1.35}
  .extra-quote .extra-icon{flex:0 0 36px;width:36px;height:36px}
  .slide-event .extra-quote{padding-left:30px}
  .slide-event .extra-quote::before{left:14px}
  .attention{font-size:.875rem;line-height:1.6}
  .demand-box,.slide-traffic .traffic-quote{position:static;width:100%;max-width:100%;margin-top:24px;padding:20px}
  .demand-box p{font-size:.95rem;line-height:1.5}
  .slide-traffic .traffic-quote{gap:12px;font-size:1.4rem;line-height:1.4}
  .slide-traffic .traffic-quote .extra-icon{width:36px;height:36px;flex-basis:36px}
  .slide-traffic .traffic-quote span{padding-left:12px;min-height:0}
  .slide-seasons .lead,.slide-seasons .season-note{margin-top:24px}
  .slide-seasons .season-divider{margin-top:28px;max-width:100%}
  .season-note{font-size:1rem;line-height:1.6}
  .next-step{padding:20px;gap:12px}
  .next-step .extra-icon{display:none}
  .slide-window .next-step--growth small{font-size:.95rem;line-height:1.6}
  .slide-roadmap .roadmap-intro::before,.slide-roadmap .roadmap-call::after{display:none}
  .slide-roadmap .roadmap-call{margin-top:32px;padding-top:24px}
  .roadmap-call h3{font-size:2rem;line-height:1.15}
  .contact-dialog--project[open]{display:block;width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto}
  .contact-dialog--project .contact-photo{height:220px;min-height:0;max-height:30dvh}
  .contact-dialog--project .contact-content{padding:24px 20px;min-width:0}
  .contact-dialog--project h2{font-size:2.3rem;line-height:1.1}
  .contact-details dd{overflow-wrap:anywhere}
  .contact-cta{width:100%;gap:12px;font-size:1rem;line-height:1.4}
  .dialog-close{min-width:44px;min-height:44px;z-index:3;border-radius:50%;background:#07100be6}
  .video-dialog,.video-dialog video{max-height:calc(100dvh - 24px)}
  body:has(.gate){overflow:auto}
  .gate{width:calc(100% - 32px);min-height:100svh}
  .gate-main{padding:24px 0 72px}
  .gate-card{margin-top:0;padding:24px 20px}
  .gate-card h1{font-size:2.4rem;line-height:1.05}
  .gate-card .intro{font-size:1rem;line-height:1.6}
  .gate-card input{font-size:16px}
}

/* Diagram labels are real text on small screens, not scaled pixels. */
@media (max-width:1000px){
  .mobile-only{display:block}
  .mobile-experiences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0 0;padding:0;list-style:none}
  .mobile-experiences li{display:flex;align-items:center;min-height:64px;padding:14px;border:1px solid var(--line);border-radius:12px;color:#ede0c8;font-size:1rem;line-height:1.45;background:#111e15}
  .mobile-seasons{display:grid;gap:12px;margin:24px 0}
  .mobile-seasons>div{padding:20px;border:1px solid var(--line);border-radius:14px;background:#111e15}
  .mobile-seasons dt{margin-bottom:8px;color:#e3be7d;font-family:var(--display);font-size:1.8rem;line-height:1.1}
  .mobile-seasons dd{margin:0;color:#ded4c3;font-size:1rem;line-height:1.65}
  .mobile-roadmap{display:grid;gap:16px;margin:28px 0 0;padding:0;list-style:none;counter-reset:stage}
  .mobile-roadmap li{position:relative;padding:20px 20px 20px 64px;border:1px solid var(--line);border-radius:14px;background:#111e15;counter-increment:stage}
  .mobile-roadmap li::before{position:absolute;top:20px;left:16px;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--gold);border-radius:50%;color:#e3be7d;content:counter(stage)}
  .mobile-roadmap h3{font-family:var(--ui);font-size:1rem;font-weight:500;line-height:1.5;color:#eee0c8;letter-spacing:0}
  .mobile-roadmap p{margin:10px 0 0;font-size:.95rem;line-height:1.65;color:#ded4c3}
  .stage-state{display:inline-block;margin-top:14px;padding:4px 10px;border-radius:20px;background:#b1c17518;color:#d2de9a;font-size:.8rem;line-height:1.5}
  .stage-state--progress{background:#c8974d20;color:#e3be7d}
  .deck-container :is(.slide-traffic,.slide-seasons,.slide-roadmap)>.slide-bg{display:none}
  .mobile-image-open{display:block;order:0;width:calc(100% - 40px);min-height:44px;margin:12px 20px 0;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#111e15;color:#e3be7d;font-size:.875rem;line-height:1.5;cursor:pointer}
  :is(.slide-traffic,.slide-seasons,.slide-roadmap)>.mobile-image-open{order:2;margin-top:24px}
  .mobile-image-dialog[open]{display:flex;flex-direction:column;width:calc(100% - 16px);max-width:none;height:calc(100dvh - 16px);max-height:none;margin:auto;padding:0;border:1px solid var(--line);border-radius:12px;background:#07100b;color:#e3be7d;overflow:hidden}
  .mobile-image-dialog::backdrop{background:#000c}
  .mobile-image-tools{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border-bottom:1px solid var(--line)}
  .mobile-image-tools button{flex:1;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#111e15;color:#eee0c8;font-size:.875rem}
  .mobile-image-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
  .mobile-image-scroll img{display:block;width:100%;height:auto;max-width:none}
  .mobile-image-scroll.is-zoomed img{width:1600px}
  .mobile-image-hint{padding:0 12px;font-size:.875rem;line-height:1.5}
}
