/* Mobile art direction: shared masthead, readable copy, one illustrated stage.
   This file owns mobile composition. Desktop layouts retain their own styles. */
/* The compact menu is also used by the tablet navigation. */
.menu-icon{display:block;width:20px;height:12px;border-block:1.5px solid currentColor;position:relative}
.menu-icon::after{content:'';position:absolute;top:4px;left:0;width:20px;border-top:1.5px solid currentColor}
.mobile-menu summary{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:44px;list-style:none}
.mobile-menu summary::after,.mobile-menu summary::marker,.mobile-menu summary::-webkit-details-marker{display:none;content:none}
@media(max-width:760px){
 :root{--gutter:22px;--mobile-title:42px;--mobile-section:32px}
 html[lang=zh-CN]{--mobile-title:36px;--serif:Georgia,'Songti SC','STSong','Noto Serif CJK SC',serif}
 html[lang=ko]{--mobile-title:34px}
 html[lang=zh-CN] :is(h1,h2,h3,em),html[lang=ko] :is(h1,h2,h3,em){letter-spacing:0}
 .nav,.header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:4px;height:72px;min-height:72px;padding:6px 16px!important;max-width:none;width:100%;margin:0}
 .nav>.brand,.header-row>.brand{flex:0 0 auto;width:128px;padding:0;margin:0}
 .nav .identity-logo,.site-header .identity-logo{width:128px;height:auto}
 .nav-right,.header-actions{display:flex;align-items:center;justify-content:flex-end;flex:none;gap:4px;width:auto;margin:0}
 .languages,.lang-switch{display:flex;align-items:center;gap:0!important}
 .languages button,.lang-switch button{flex:none;width:40px;min-width:40px;height:44px;padding:6px 2px!important;font-size:13px!important;font-weight:600;border:0!important}
 .languages button[lang=ko],.lang-switch button[lang=ko]{width:44px;min-width:44px}
 .languages button[aria-pressed=true],.lang-switch button[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
 .nav-links,.nav-cta,.desktop-nav,.header-start{display:none}
 .mobile-menu{display:block;position:static}
 .mobile-menu summary,.menu-toggle{display:flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:44px;min-height:44px;padding:0;background:transparent;color:var(--ink);border:0;cursor:pointer;list-style:none}
 .mobile-menu summary::after,.mobile-menu summary::marker,.mobile-menu summary::-webkit-details-marker{display:none;content:none}
 .menu-icon{display:block;width:20px;height:12px;border-block:1.5px solid currentColor;position:relative}
 .menu-icon::after{content:'';position:absolute;top:4px;left:0;width:20px;border-top:1.5px solid currentColor}
 .mobile-menu[open] .menu-icon,.menu-toggle[aria-expanded=true] .menu-icon{border:0;transform:rotate(45deg);height:20px}
 .mobile-menu[open] .menu-icon::before,.menu-toggle[aria-expanded=true] .menu-icon::before{content:'';position:absolute;top:0;left:9px;height:20px;border-left:1.5px solid currentColor}
 .mobile-menu[open] .menu-icon::after,.menu-toggle[aria-expanded=true] .menu-icon::after{top:9px}
 .nav .mobile-menu nav{position:absolute;left:0;right:0;top:72px;width:100%;min-width:0;padding:10px 22px 18px;box-shadow:0 8px 12px #10294018;border-bottom:1px solid #cfc5b6;z-index:40}
 .mobile-menu nav a,.mobile-nav a{display:flex;align-items:center;min-height:48px;padding:10px 0;font:500 16px/1.5 var(--sans);border-bottom:1px solid #d6cdbd}
 .mobile-nav{padding:10px 22px 18px}
 .mobile-nav[hidden]{display:none}
 button:focus-visible,summary:focus-visible{outline:2px solid var(--wine,var(--red));outline-offset:3px}
 /* One artwork; the copy sits on a stable navy field that blends into its sky. */
 .mobile-scene-intro{position:relative!important;top:auto!important;left:auto!important;transform:none!important;opacity:1!important;width:100%!important;max-width:none!important;padding:28px var(--gutter) 22px!important;background:#091b2c;color:#f5ecdd;pointer-events:auto}
 .mobile-scene-intro .eyebrow{font-size:13px;line-height:1.6;letter-spacing:.055em;margin:0 0 16px;max-width:none}
 html .mobile-scene-intro h1{font-size:var(--mobile-title)!important;line-height:1.14;max-width:none!important;letter-spacing:-.025em}
 html[lang=zh-CN] .mobile-scene-intro h1,html[lang=ko] .mobile-scene-intro h1{line-height:1.27;letter-spacing:0}
 html .mobile-scene-intro .scene-lead{font-size:17px!important;line-height:1.65!important;color:#e4e4df;margin:17px 0 0;max-width:40ch!important;width:100%}
 .mobile-scene-intro .scene-actions{display:flex;flex-direction:row;align-items:center;gap:12px 18px;flex-wrap:wrap;margin-top:21px;max-width:none!important}
 .mobile-scene-intro .button{min-height:48px;font-size:16px!important;padding:12px 16px}
 .mobile-scene-intro .text-link{font-size:16px!important;min-height:44px;display:inline-flex;align-items:center}
 .mobile-scene-intro .scene-meta{display:none}
 html .choreographed .flight-story,html.choreographed .flight-story,html .flight-repaired .flight-story,html .flight-story{height:clamp(260px,80vw,344px);min-height:0;max-height:none}
 html.choreographed .story-scene,html.flight-repaired .story-scene,html .story-scene{position:relative;height:100%;min-height:0;max-height:none;top:0}
 .scene-oil img,.scene-paper>.archive-sheet{object-position:center center}
 .scene-shade{background:linear-gradient(#091b2c 0%,#091b2c55 14%,transparent 32%);opacity:calc(1 - var(--archive));pointer-events:none}
 .scene-bottom{padding-inline:var(--gutter);bottom:12px;font-size:13px;z-index:6}
 .chapter-mark,.scene-bottom .chapter-mark{font-size:13px;letter-spacing:.035em;height:20px}
 .scroll-invitation,.story-count{display:none}
 .mobile-scene-outro{position:relative!important;top:auto!important;left:auto!important;width:100%!important;max-width:none!important;transform:none!important;opacity:1!important;padding:30px var(--gutter) 34px!important;background:#f5f0e5;color:#102940;pointer-events:auto}
 .mobile-scene-outro .eyebrow{font-size:13px;line-height:1.6;margin-bottom:12px}
 html .mobile-scene-outro h2{font-size:30px!important;line-height:1.28!important;max-width:none;letter-spacing:-.02em}
 html[lang=zh-CN] .mobile-scene-outro h2,html[lang=ko] .mobile-scene-outro h2{letter-spacing:0}
 html .mobile-scene-outro .scene-lead{font-size:17px!important;line-height:1.65!important;margin-top:16px;max-width:none;color:#405164}
 .mobile-scene-outro .button{min-height:48px;font-size:16px!important;margin-top:20px;padding:12px 16px}
 .statement-strip{display:none}
 /* Compact rhythm, without miniaturizing the useful text. */
 .paper-content>section.wrap,.section,.trophy-section,.journey-section .section,.at-penn-page .section{padding-block:38px}
 .section-head,.section-heading{gap:20px;margin-bottom:26px}
 html[lang=zh-CN] .paper-content .section-title,html .paper-content .section-title,html .section-title,html .section-heading h2,html .at-penn-page .section-heading h2,html .at-penn-year h2{font-size:var(--mobile-section);line-height:1.25}
 .eligibility .section-intro,.section-intro,.section-lead,.at-penn-page .section-lead{font-size:17px;line-height:1.65}
 .paper-content .value-grid{gap:24px}.paper-content .value-item{padding-block:18px}.value-item p{font-size:17px;line-height:1.65}
 .aid-crosslink{display:block;font-size:16px;line-height:1.6}.aid-crosslink a{display:inline-block;margin-top:8px}
 /* A human first: headline → portrait → short narrative in natural mobile order. */
 .profile-hero{grid-template-columns:1fr;gap:22px;padding-block:28px 36px}
 .profile-title{display:contents}
 .profile-title .eyebrow{grid-row:1;margin:0;font-size:13px}
 html .profile-title h1{grid-row:2;font:400 var(--mobile-title)/1.22 var(--serif);letter-spacing:-.025em;margin:-8px 0 0}
 html[lang=zh-CN] .profile-title h1,html[lang=ko] .profile-title h1{font-size:var(--mobile-title);letter-spacing:0;line-height:1.28}
 .profile-title .hero-lead{grid-row:4;font-size:17px;line-height:1.65;margin:0;max-width:none}
 .profile-title .text-link{grid-row:5;margin:0;min-height:44px;font-size:16px}
 .profile-collage{grid-row:3;position:relative;display:block;width:100%;max-width:440px;padding:0 0 12px;background:none}
 .profile-collage figure{padding:5px;border:1px solid #d6cdbd}
 .profile-main{width:72%;box-shadow:4px 4px 0 #183e61}
 .profile-main img{aspect-ratio:4/4.5;object-position:center 26%}
 .profile-stage{position:absolute;right:0;bottom:0;width:40%;margin:0;box-shadow:3px 3px 0 #982936}
 .profile-stage img{aspect-ratio:1;object-position:center top}
 .profile-collage figcaption{font-size:14px;line-height:1.4;padding:6px 1px 1px}
 .applicant-layout h2{font-size:30px}.applicant-layout p:not(.eyebrow){font-size:17px;line-height:1.65}
 .score-pair strong{font-size:64px}.degree-row{gap:20px}
 .achievement-header{padding:19px 16px;gap:12px}.achievement-header h3{font-size:22px}.achievement-header .eyebrow{font-size:13px;line-height:1.5}
 .achievement-total strong{font-size:34px}.achievement-total span{font-size:13px}
 .achievement-list>li{grid-template-columns:48px minmax(0,1fr);gap:3px 12px;padding:14px 14px;align-items:start}
 .achievement-list .logo-tile{width:48px;height:48px;padding:5px;grid-row:1/3}
 .achievement-list .logo-tile.logo-wharton,.achievement-list .logo-tile.logo-penn{padding:2px}
 html .achievement-copy h3{font-size:16px;line-height:1.4}.achievement-copy p{font-size:14px;line-height:1.5;margin-top:4px}
 .achievement-source{grid-column:2;display:flex;flex-direction:row;flex-wrap:wrap;gap:4px 12px;align-items:center;justify-content:space-between;margin:0}
 .achievement-source>span{font-size:13px}.achievement-source .source-link{font-size:14px;line-height:1.4;min-height:44px;display:inline-flex;align-items:center;text-align:left}
 .achievement-filters button{font-size:14px;min-height:44px}.achievement-toolbar{padding:12px}.achievement-toolbar>p{font-size:14px}
 .chapter-links a,.footer-links a,.footer-top>div>a,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
 .chapter h3{font-size:27px}.chapter-copy>p:not(.eyebrow){line-height:1.65}
 .review-card{padding:16px}.reviews .review-card blockquote{font-size:16px;line-height:1.65}.review-card .source-link{min-height:44px;display:inline-flex;align-items:center}
 .press-links{grid-template-columns:1fr}.press-links a{padding:14px 0;border-bottom:1px solid var(--line);min-height:44px}.press-links strong{font-size:21px}
 /* At Penn: the price follows the concise introduction within the first screen. */
 .at-penn-hero{padding:28px 0 34px}.at-penn-hero-grid{grid-template-columns:1fr;gap:24px}
 .at-penn-intro{padding:0}.at-penn-intro .eyebrow{font-size:13px;line-height:1.5;margin-bottom:16px}
 html .at-penn-intro h1{font-size:var(--mobile-title);line-height:1.2;letter-spacing:-.025em}
 html[lang=zh-CN] .at-penn-intro h1,html[lang=ko] .at-penn-intro h1{font-size:var(--mobile-title);letter-spacing:0;line-height:1.27}
 .at-penn-intro .hero-lead{font-size:17px;line-height:1.65;margin-top:17px;max-width:none}
 .at-penn-tag{font-size:14px;line-height:1.5;margin-top:17px;padding-top:13px}
 .at-penn-plan{padding:22px;box-shadow:none;border:1px solid #183e61;border-top:3px solid #c7a878}
 .at-penn-plan>.eyebrow{font-size:13px;margin-bottom:12px}.at-penn-price{font-size:52px;margin-top:12px}.at-penn-price>span{font-size:19px;padding-top:8px}
 html[lang=zh-CN] .at-penn-plan h2,html[lang=ko] .at-penn-plan h2,.at-penn-plan h2{font-size:24px;margin-top:16px}.at-penn-plan>p:not(.eyebrow,.at-penn-price,.at-penn-term,.at-penn-price-note){font-size:16px;line-height:1.6}
 .at-penn-cards h3,.funding-steps h3{font-size:26px}.at-penn-cards p,.funding-steps p{font-size:17px;line-height:1.65}
 /* Contact is an action, not another full-page brand reveal. */
 .paper-content>.closing.wrap,.closing{padding-block:32px}.closing>.shell,.closing-inner{gap:22px}
 html .at-penn-page .closing h2,html .paper-content .closing h2,html .closing h2{font-size:32px;line-height:1.25}.closing .eyebrow{font-size:13px;margin-bottom:14px}
 .closing p:not(.eyebrow){font-size:17px;line-height:1.6}
 .wechat-contact{gap:8px}.wechat-contact .wechat-id{font-size:21px;padding:10px 13px;min-height:48px}
 .wechat-contact .wechat-copy{min-height:48px;padding:10px 14px}
 .closing .wechat-contact .wechat-hint{font-size:14px;line-height:1.5;min-height:3em}
 .wechat-contact .contact-email{margin:0 0 8px;padding:0 0 16px;gap:6px}.wechat-contact .contact-email-address{font-size:24px}
 .site-footer,.footer{padding-block:24px}.footer .identity-logo,.site-footer .identity-logo{width:150px}
 .footer-top{gap:20px;padding-bottom:20px}.footer-bottom{gap:16px}.footer-bottom>div{gap:10px}
}
@media(max-width:359px){
 :root{--gutter:18px;--mobile-title:36px;--mobile-section:29px}
 html[lang=zh-CN]{--mobile-title:33px}html[lang=ko]{--mobile-title:31px}
 .nav,.header-row{padding-inline:12px!important}
 .nav>.brand,.header-row>.brand,.nav .identity-logo,.site-header .identity-logo{width:108px}
 .languages button,.lang-switch button{width:38px;min-width:38px}
 html .mobile-scene-intro .scene-lead,.at-penn-intro .hero-lead{font-size:16px!important}
 .mobile-scene-intro .scene-actions{gap:8px 14px}
 .mobile-scene-intro .button{padding-inline:13px}.mobile-scene-intro .text-link{font-size:15px!important}
 .wechat-contact .contact-email-address{font-size:22px}
 .at-penn-plan{padding:20px}.at-penn-price{font-size:48px}
 .achievement-header h3{font-size:20px}.achievement-list>li{padding-inline:12px;gap:3px 10px}
}
@media(min-width:410px) and (max-width:760px){:root{--gutter:24px;--mobile-title:44px}html[lang=zh-CN]{--mobile-title:40px}html[lang=ko]{--mobile-title:38px}}
