/* Phone layouts use document flow, rather than desktop floating elements. */
@media(max-width:900px){
 html{scroll-padding-top:20px}body{overflow-x:clip}
 .wrap{padding-inline:20px}
 .wrap>nav[aria-label="Utility navigation"],.inner-page nav[aria-label="Utility navigation"]{position:relative;inset:auto;height:auto;min-height:0;padding:20px 0;margin:0;display:flex;justify-content:flex-end;pointer-events:auto}
 nav .navlinks{position:static;inset:auto;width:auto;max-width:none;display:flex;flex-wrap:wrap;gap:14px;font:11px/1.5 "Inter",sans-serif;justify-content:flex-end}
 .split{display:block}
 .left{position:relative;inset:auto;width:100%;height:auto;min-height:0;padding:6px 0 32px}
 .left .index-nav{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;width:100%;padding:0;gap:8px 20px}
 .left .index-nav a,.left .index-nav a.logo{position:static;inset:auto;width:auto;margin:0;padding:0;font:600 clamp(38px,11vw,52px)/.98 Arial,sans-serif;letter-spacing:-.065em}
 .left .index-nav a.logo{grid-column:1/-1;margin-bottom:10px}
 .left .personal-images{position:relative;inset:auto;display:grid;grid-template-columns:82px minmax(0,1fr);gap:22px;width:100%;max-width:400px;margin:32px auto 0;padding:0;align-items:end}
 .left .personal-images .portrait-photo{position:static;width:100%;max-width:none;height:auto;margin:0;padding:0;transform:none}
 .left .personal-images .portrait-photo img{position:static;inset:auto;display:block;width:100%;height:auto;max-height:none;max-width:100%;aspect-ratio:3/4;object-fit:contain;margin:0;transform:none}
 .left .personal-images .molly-photo{position:static;width:82px;margin:0;padding:0;transform:none}
 .left .personal-images .molly-photo .laptop-photo{position:static;width:82px;height:auto;max-height:none;object-fit:contain;transform:none}
 .left .personal-images .molly-photo figcaption{width:100%;margin:10px 0 0;font:10px/1.5 monospace;text-align:left}
 .left .personal-images #molly-drag{position:absolute;inset:auto;left:-3px;top:8px;width:65px!important;height:auto;z-index:4}
 #molly-drag .cat{width:100%;height:auto;transform:none}
 .molly-move-hint,.portrait-resize{display:none!important}
 .movable-photo,#molly-drag img{touch-action:pan-y;cursor:auto}
 .content{width:100%;min-width:0;padding:30px 0 0;border-top:1px solid var(--line)}
 .intro h1{font:600 clamp(46px,13vw,62px)/.94 Arial,sans-serif;letter-spacing:-.065em;margin-bottom:28px}
 .intro p,.intro .lead,.project p,.project .detail p,#experience .aside,.job p,.education p,.contact-section p{font-size:16px;line-height:1.65;max-width:100%}
 .heading h2,.two h2,.contact-section h2,.etc-section h2,#experience .education h2{font-size:40px;line-height:1;letter-spacing:-.05em}
 .project summary{grid-template-columns:20px minmax(0,1fr) 24px;gap:10px}
 .project h3,.job h3,.education h3{font-size:25px;line-height:1.15}
 .project .detail{width:100%;max-width:100%;margin:20px 0 0;padding:16px}
 .system-overview ol{display:flex;flex-wrap:wrap}.system-overview li{min-width:0;overflow-wrap:anywhere}
 #contact .availability{white-space:normal;font-size:16px}
 .etc-links{display:grid;grid-template-columns:1fr;gap:0}.etc-links a{padding:20px 0;font-size:25px}
 .inner-page nav[aria-label="Utility navigation"]{display:block;padding-top:18px}
 .inner-page nav[aria-label="Utility navigation"] a.logo{position:static;inset:auto;display:block;font:600 44px/1 Arial,sans-serif;letter-spacing:-.065em;margin-bottom:20px;width:auto}
 .inner-page nav .navlinks{justify-content:flex-start}
 .inner-page>.wrap{padding-top:0}
 .etc-page-nav{position:relative;inset:auto;display:flex;flex-wrap:wrap;gap:12px 20px;margin:4px 0 24px;font-size:13px}
}

@media(max-width:900px){
 .left .index-nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-right:90px}
 .left .index-nav a.logo{margin-bottom:0}
 .left #molly-drag{position:absolute;inset:auto;left:auto;right:0;top:105px;width:75px!important;height:auto;z-index:4}
}
