/* Phone composition. Desktop keeps the original editorial layout. */
.mobile-copy,.mobile-program-title,.mobile-description,.program-tabs{display:none}
.program[hidden],.gallery-controls[hidden]{display:none}
.curriculum-details{border:0}
.curriculum-details>summary{display:none}
.small-result{display:none}
@media(max-width:760px){
  :root{--pad:20px;--muted:#6c625c}
  html{scroll-padding-top:84px}
  body{font-size:16px;line-height:1.6}
  .mobile-copy{display:block}
  .desktop-copy{display:none}
  .draft-strip{font-size:11px;letter-spacing:0;padding:5px 12px;gap:6px}
  .draft-divider{padding-inline:2px}
  .header{background:#f7f3ecfa}
  .header-inner{min-height:72px}
  .brand{gap:9px}
  .brand>span{font-size:21px}
  .brand small{font-size:10px;letter-spacing:.02em;text-transform:none;margin-top:3px}
  .menu-toggle{width:44px;height:44px;border-radius:8px;align-items:center}
  .header nav{font-size:16px}
  .header nav a{min-height:48px}
  .eyebrow{font-size:12px;letter-spacing:.06em}
  h1,h2,h3{letter-spacing:-.035em}
  h2{font-size:32px;line-height:1.16}
  .button{font-size:15px;min-height:52px;padding:13px 18px;border-radius:8px;gap:14px}
  .button:hover{transform:none}
  .text-link{font-size:15px;min-height:44px;gap:12px}
  .hero{display:block;padding-top:28px;padding-bottom:36px}
  .hero-copy{padding:0}
  .hero .eyebrow{font-size:12px;margin-bottom:14px;letter-spacing:.035em}
  .hero .line{display:none}
  .hero h1{font-size:clamp(32px,9.5vw,44px);line-height:1.12}
  .hero h1 em{font-style:normal}
  .teacher-intro{margin-top:22px}
  .teacher-intro img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 27%;border-radius:12px;background:#e6ddd0}
  .teacher-intro figcaption{margin-top:12px;line-height:1.5}
  .teacher-intro strong{display:block;font-size:16px;font-weight:600}
  .teacher-intro figcaption>span{font-size:13px;color:var(--muted)}
  .hero-lead{font-size:16px;line-height:1.6;margin-top:16px;max-width:none}
  .hero-actions{display:flex;gap:8px;margin-top:20px}
  .hero-actions .button{width:100%}
  .hero-actions .text-link{font-size:15px;border:0;justify-content:center;width:100%;margin:0}
  .hero-meta,.hero-sign,.hero-visual,.intro{display:none}
  .section{padding-block:40px}
  .section-head{gap:12px;margin-bottom:22px}
  .section-head .eyebrow{margin-bottom:10px;font-size:12px}
  .section-head>p{font-size:16px;line-height:1.6;padding:0;max-width:none}
  .section-head>p br{display:none}
  .works{border-top:1px solid var(--line)}
  .works .section-head>p{display:none}
  .work-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:5px 5px 7px;margin-inline:-5px}
  .work-grid::-webkit-scrollbar{display:none}
  .work,.work:last-child{flex:0 0 calc(100% - 22px);width:auto;margin:0;scroll-snap-align:start}
  .work-image{aspect-ratio:1/1;border-radius:12px}
  .work-image>img{object-position:center 35%}
  .image-open{width:44px;height:44px;border-radius:50%;bottom:12px;right:12px;font-size:23px}
  .work-caption{font-size:16px;line-height:1.4;margin-top:12px;gap:3px}
  .work-caption>span+span{font-size:13px}
  .gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:var(--muted);font-size:13px}
  .gallery-controls>div{display:flex;gap:8px}
  .gallery-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--red);font-size:22px;line-height:1}
  .gallery-controls button:disabled{opacity:.35;cursor:default}
  .works-foot{font-size:12px;line-height:1.5;gap:8px;padding-top:16px;margin-top:18px}
  .works-foot .text-link{font-size:14px}
  .programs{background:#f0e9e1;color:var(--ink)}
  .programs em{color:var(--red)}
  .programs .eyebrow{color:var(--red)}
  .programs .section-head>p{color:var(--muted)}
  .programs.is-compact .section-head>p{display:none}
  .desktop-program-title{display:none}
  .mobile-program-title{display:inline}
  .programs.is-compact .program-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
  .program-tabs button{min-width:0;min-height:52px;font-size:14px;line-height:1.3;padding:10px 8px;border:1px solid #cec3b8;border-radius:8px;background:transparent;color:var(--muted)}
  .program-tabs button[aria-selected="true"]{background:var(--red);color:var(--white);border-color:var(--red)}
  .program-grid{display:block}
  .program{padding:22px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:12px;margin-bottom:16px}
  .program-top{display:none}
  .program h3{font-size:29px;min-height:0;padding:0;line-height:1.15}
  .program h3 br{display:none}
  .native-name{font-size:13px;margin-block:7px 14px;color:var(--muted);opacity:1;letter-spacing:0}
  .desktop-description{display:none}
  .mobile-description{display:inline}
  .program-description{font-size:16px;line-height:1.5;min-height:0;max-width:none;opacity:1;color:var(--muted)}
  .curriculum{font-size:15px;line-height:1.5;margin:18px 0;padding:0}
  .curriculum-details{margin-top:14px}
  .curriculum-details>summary{display:flex;font-size:15px;min-height:48px;padding:10px 0;gap:12px;color:var(--red)}
  .curriculum-details .curriculum{margin:4px 0 16px}
  .curriculum li{padding:5px 0;border:0;gap:9px;align-items:start}
  .curriculum li::before{content:'✓';color:var(--red);opacity:1;flex-shrink:0}
  .program-result{margin-top:0;padding-top:16px;border-color:var(--line)}
  .program-result>span{font-size:12px;letter-spacing:.03em;color:var(--muted);opacity:1}
  .program-result p{font-size:24px;line-height:1.3;margin-top:6px}
  .program-result p br{display:none}
  .course-logistics{font-size:13px;line-height:1.5;color:var(--muted);opacity:1;margin:16px 0}
  .program .button{background:var(--red);color:var(--white);border-color:var(--red);width:100%}
  .program-source{color:var(--muted);font-size:12px;line-height:1.5;margin-top:0}
  .program-help{margin-top:24px;border-top:1px solid #d8cec3;padding-top:18px;font-size:16px}
  .program-help button{border:0;border-bottom:1px solid var(--red);padding-inline:0;background:none;color:var(--red);margin-top:3px}
  .about{background:var(--paper);padding-bottom:32px}
  .about-grid{display:block}
  .about-photo,.about-sign{display:none}
  .about-copy h2{font-size:32px}
  .about-copy .eyebrow{margin-bottom:10px}
  .about-lead{font-size:22px;line-height:1.4;margin-top:16px;margin-bottom:14px}
  .about-copy>p:not(.eyebrow):not(.about-lead){font-size:16px;line-height:1.6;margin-bottom:14px}
  .about-copy>p:not(.eyebrow):not(.about-lead):last-of-type{display:none}
  .about-copy p br{display:none}
  .choose{display:none}
  .faq{gap:22px;padding-top:32px}
  .faq-note{font-size:14px;line-height:1.6;margin-top:14px}
  .faq-note br{display:none}
  summary{font-size:16px;line-height:1.45;min-height:64px;padding-block:18px;gap:16px}
  details p{font-size:16px;line-height:1.6;padding:0 8px 20px 0}
  .closing{background:#eee3de;color:var(--ink);padding-block:36px}
  .closing .eyebrow{display:none}
  .closing h2{font-size:30px;line-height:1.2}
  .closing em{color:var(--red)}
  .closing .button{background:var(--red);color:var(--white);width:100%;margin-top:22px}
  .closing-note{color:var(--muted);font-size:13px;line-height:1.5;margin-top:16px}
  .footer{gap:16px;padding-block:28px}
  .footer>a:not(.brand),.footer>span{font-size:13px}
  dialog{border-radius:12px;max-height:calc(100dvh - 32px);padding:36px 20px 24px}
  .dialog-close{width:44px;height:44px}
  .inquiry h2{font-size:30px}
  .dialog-intro{font-size:16px;line-height:1.5}
  .inquiry label{font-size:15px}
  .inquiry select,.inquiry textarea{font-size:16px;min-height:48px;border-radius:6px}
  .demo-note{font-size:13px;line-height:1.5}
  .lightbox>p{font-size:14px}
}
@media(max-width:360px){
  :root{--pad:16px}
  html{scroll-padding-top:74px}
  .draft-strip{font-size:10px;gap:4px}
  .brand>span{font-size:19px}
  .brand small{font-size:9px}
  .hero{padding-top:24px}
  .hero h1{font-size:32px}
  .programs{padding-top:24px}
  .programs .section-head h2{font-size:28px}
  .programs .section-head{margin-bottom:16px}
  .programs.is-compact .program-tabs{margin-bottom:12px}
  .program{padding:16px}
  .program h3{font-size:24px}
  .native-name{margin-block:5px 6px}
  .curriculum-details{margin-top:8px}
  .curriculum-details>summary{min-height:44px}
  .program-result p{font-size:20px}
  .program-result{padding-top:12px}
  .full-result{display:none}
  .small-result{display:inline}
  .program-tabs button{font-size:13px}
}
