/* Art direction and reading rhythm for smaller screens. Desktop keeps its panorama. */
.hero-picture{position:absolute;inset:0;display:block}
.practice-controls{display:none}
@media (min-width:641px) and (max-width:1100px){
  .home-hero{display:block;min-height:660px}
  .hero-content{width:calc(100% - 64px);padding:48px 0 80px;z-index:2}
  .hero-content h1{font-size:48px;max-width:390px;line-height:1.02}
  .hero-content h1 br{display:none}
  .hero-content h1 span{font-size:37px;max-width:350px;line-height:1.08}
  .hero-content>p:not(.eyebrow){max-width:335px;font-size:16px}
  .hero-content .eyebrow{max-width:320px;font-size:10px}
  .hero-actions{max-width:340px;flex-direction:column;align-items:flex-start;gap:8px}
  .hero-actions a{pointer-events:auto;min-height:44px}
  .hero-picture{position:absolute;left:38%;top:0;right:0;bottom:0;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 25%)}
  .hero-image{position:absolute;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:55% bottom}
  .practice-copy{padding-inline:20px}.practice-copy h3{font-size:23px}
}
@media (max-width:640px){
  .wrap{width:calc(100% - 40px)}
  .nav-wrap{min-height:68px;gap:10px}.brand{font-size:16px;gap:8px}.brand-icon{width:42px;height:42px}.brand small{font-size:11px;margin-top:4px}
  .site-header nav{top:68px}.menu-toggle{padding:9px;min-width:44px;min-height:44px}
  .home-hero{display:flex;min-height:0;background:var(--paper)}
  .hero-content{padding:26px 0 0;z-index:2;order:1}
  .hero-content .eyebrow{font-size:9px;letter-spacing:.17em;line-height:1.6;margin-bottom:17px}
  .hero-content h1{font-size:clamp(36px,10.3vw,44px);line-height:1.02;letter-spacing:-.04em;margin-bottom:17px;max-width:370px}
  .hero-content h1 span{font-size:clamp(28px,7.7vw,33px);line-height:1.08;letter-spacing:-.035em;margin-top:14px;max-width:350px}
  .hero-content>p:not(.eyebrow){font-size:15px;line-height:1.55;max-width:360px;margin-bottom:0}
  .hero-actions{margin-top:20px;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
  .hero-actions .button{font-size:14px;padding:12px 23px;min-height:46px}
  .hero-actions .text-link{font-size:13px;min-height:44px}
  .hero-picture{position:relative;inset:auto;order:2;height:clamp(350px,107vw,460px);width:100%;margin-top:-42px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 20%)}
  .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;aspect-ratio:auto}
  .home-method{padding:33px 0 36px}.method-band{gap:16px}.method-band>div>h2{font-size:32px}.method-band>div>p:last-child{font-size:15px}
  .method-grid{gap:26px 20px}.method-item .art{height:124px}.method-item p{font-size:14px}
  .home-practices{padding-top:36px}.section-heading{gap:14px;margin-bottom:24px}.section-heading h2{font-size:33px}.section-heading>p{font-size:15px;line-height:1.6}
  .practice-panorama{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:0 0 0 20px;scroll-padding-left:20px}
  .practice-panorama::-webkit-scrollbar{display:none}
  .practice-panorama::after{content:'';flex:0 0 calc(14vw - 20px)}
  .practice-panorama .practice-tile{flex:0 0 86vw;min-width:0;scroll-snap-align:start;scroll-snap-stop:normal;border:0}
  .panorama-panel{aspect-ratio:1.15;background-size:400% auto}
  .practice-panorama .practice-copy{padding:19px 22px 20px 0;border:0;min-height:168px;position:relative}
  .practice-copy h3{font-size:28px;white-space:normal;margin-bottom:9px}.practice-copy p{font-size:15px;line-height:1.5;max-width:280px;margin-bottom:14px}
  .practice-controls{display:flex;align-items:center;justify-content:space-between;padding:8px 0 26px;gap:16px}
  .practice-hint{font-size:12px;color:var(--muted)}.practice-navigation{display:flex;align-items:center;gap:8px}
  .practice-navigation button{border:1px solid var(--line);background:transparent;width:44px;height:44px;border-radius:50%;font-size:21px;color:var(--ink)}
  .practice-navigation button:disabled{opacity:.3;cursor:default}.scene-position{min-width:40px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}
  .home-perspectives{padding:36px 0}.perspectives-band{grid-template-columns:1fr;gap:30px}.perspectives-band>div{grid-column:auto}
  .perspectives-band>div h2{font-size:34px;max-width:360px}.home-perspectives p{font-size:15px}.home-perspectives .text-link{font-size:14px;min-height:44px}
  .editorial-preview .art,.editorial-image{aspect-ratio:1.85;margin-bottom:15px}.editorial-preview h3{font-size:28px;max-width:350px}.editorial-preview{padding-top:24px;border-top:1px solid #ffffff30}
  .home-closing{min-height:0;background:none;display:block;position:relative}
  .home-closing::after{content:'';position:absolute;bottom:0;left:0;right:0;height:130px;background:url('assets/footer-landscape.webp') left bottom/200% auto no-repeat}
  .closing-content{display:block;padding:35px 0 150px;position:relative;z-index:1}
  .closing-content h2{font-size:30px;line-height:1.16;max-width:360px}.closing-content h2 br{display:none}.closing-content>div:last-child{margin-top:24px}
  .closing-content .button{width:100%;font-size:15px;min-height:48px}.closing-content>div:last-child>p{text-align:center;font-size:12px;white-space:normal}
  .site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.site-footer nav a{font-size:13px;min-height:44px;display:flex;align-items:center}.footer-meta{font-size:11px;gap:12px}
}
@media (max-width:359px){.brand{font-size:14px}.brand-icon{width:38px;height:38px}.hero-content .eyebrow{max-width:260px}.hero-content h1{font-size:36px}.hero-content h1 span{font-size:28px}}
@media (prefers-reduced-motion:reduce){.practice-panorama{scroll-behavior:auto}}
