* { box-sizing:border-box; }
:root { color-scheme:light; --bg:#eae0c8; --text:#352e22; --muted:#6f624b; --accent:#654b33; --line:#c7b68e; --selected:#ded1ae; --gold:#9b783a; --paper:#f1e7d0; --ink-gold:#dfc37d; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body { margin:0; background:#252321; background-image:radial-gradient(ellipse at 60% 0%,#3a3530 0%,transparent 65%),repeating-linear-gradient(35deg,transparent 0 4px,#bfa98504 4px 5px); color:var(--text); font:17px/1.75 Georgia,'Times New Roman',serif; border-top:4px solid #b39350; }
a { color:var(--accent); text-underline-offset:4px; text-decoration-thickness:1px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,button:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
::selection { background:var(--selected); }
.skip { position:absolute; top:-100px; left:20px; padding:8px 12px; background:var(--paper); z-index:30; }
.skip:focus { top:12px; }
.layout { max-width:1190px; margin:0 auto; padding:38px 32px 55px; display:grid; grid-template-columns:226px minmax(0,1fr); gap:30px; align-items:start; }
.sidebar { position:sticky; top:28px; padding:25px 18px 23px; border:1px solid #a18851; outline:1px solid #675735; outline-offset:4px; background:linear-gradient(100deg,#302b27,#3a332e 50%,#2c2825); box-shadow:inset 0 0 0 4px #27231f,inset 0 0 0 5px #72613c,0 8px 30px #0004; color:#e9ddbd; font:13px/1.65 Arial,Helvetica,sans-serif; }
.identity { display:flex; flex-direction:column; gap:12px; align-items:center; text-decoration:none; color:#f0e1b7; font:26px/1.25 Georgia,serif; text-align:center; }
.identity img { width:76px; height:76px; image-rendering:pixelated; filter:drop-shadow(0 3px 0 #0006); }
.domain { display:block; font:10px/1.7 'Courier New',monospace; color:#c3b995; margin-top:8px; }
.sidebar-bio { margin:24px 0; padding:17px 0; border-top:1px solid #63594c; border-bottom:1px solid #63594c; font-size:12px; line-height:1.9; color:#d2c8b9; text-align:center; }
nav { display:grid; gap:7px; }
nav a { display:flex; align-items:center; gap:11px; text-decoration:none; color:#dbd5bc; padding:10px; border:1px solid #63594c; background:linear-gradient(#433b32,#332d27); box-shadow:inset 1px 1px #ffffff0a,inset -1px -1px #0003; font:14px/1.35 Georgia,serif; }
nav a span { width:19px; color:#cbb472; text-align:center; font:20px/1 Georgia,serif; }
nav a:hover { background:#4b4035; border-color:#b59a55; }
nav .current { background:linear-gradient(#ae9251,#8b703c); color:#fff2c7; border-color:#e2c57d; text-shadow:0 1px #0008; }
nav .current span { color:#fff0ba; }
.sidebar-bottom { margin-top:27px; padding-top:20px; border-top:1px solid #63594c; }
.social-links { display:flex; flex-wrap:wrap; gap:13px; justify-content:center; font-size:11px; }
.sidebar a { color:#e5d7ac; }
[hidden] { display:none!important; }
main { min-width:0; padding:0 38px 12px; background:var(--paper); background-image:radial-gradient(ellipse at 0 50%,#986d2410,transparent 70%),repeating-linear-gradient(0deg,transparent 0 3px,#765a2603 3px 4px); border:1px solid #b29860; outline:1px solid #706041; outline-offset:4px; box-shadow:0 12px 40px #0004,inset 0 0 45px #8c632113; }
.page-label { display:flex; align-items:center; gap:9px; color:var(--muted); font:10px/1.5 'Courier New',monospace; letter-spacing:1px; text-transform:uppercase; margin-bottom:12px; }
.little-crest { font:23px/1 Georgia,serif; color:var(--gold); }
h1 { margin:0 0 20px; font-size:42px; line-height:1.25; font-weight:400; letter-spacing:-1.2px; }
p { margin:0 0 20px; }
section { margin-top:38px; }
h2 { display:flex; align-items:center; gap:14px; font:400 23px/1.5 Georgia,serif; margin:0 0 20px; }
h2::after { content:''; flex:1; border-top:1px solid var(--line); border-bottom:1px solid var(--line); height:4px; }
.work-entry { margin-bottom:24px; }
.work-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:4px 18px; font:600 14px/1.5 Arial,Helvetica,sans-serif; }
.work-heading>span:last-child { font:10px/1.7 'Courier New',monospace; color:var(--muted); }
.work-entry p { font-size:15px; line-height:1.7; margin:7px 0 0; color:var(--muted); }
.section-note { color:var(--muted); font-size:14px; line-height:1.7; margin-top:-8px; }
.source-links { display:flex; flex-wrap:wrap; gap:16px; }
.source-links { margin-top:11px; font:11px/1.7 Arial,Helvetica,sans-serif; }
.dedication { margin-top:40px; text-align:center; color:var(--muted); }
.dedication-rule { display:flex; align-items:center; gap:16px; color:var(--gold); font-size:16px; }
.dedication-rule::before,.dedication-rule::after { content:''; flex:1; height:1px; background:var(--line); }
.dedication p { margin:10px 0 0; font-size:14px; font-style:italic; }
footer { display:flex; align-items:center; justify-content:space-between; margin-top:12px; padding:20px 0; font:10px/1.5 'Courier New',monospace; color:var(--muted); }
.error-page { max-width:650px; margin:100px auto; padding:24px; background:var(--paper); }
@media(max-width:850px) {
 .layout { grid-template-columns:180px minmax(0,1fr); padding:24px; gap:22px; }
}
@media(max-width:650px) {
 .layout { grid-template-columns:1fr; padding:16px 14px 30px; gap:22px; }
 .sidebar { position:static; padding:16px; }
 .identity { flex-direction:row; text-align:left; font-size:23px; gap:14px; }.identity img { width:48px; height:48px; }.domain { margin-top:2px; }
 .sidebar-bio { display:none; }
 nav { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:17px; }
 nav a { font-size:12px; padding:8px 5px; gap:5px; }nav a span { font-size:16px; width:15px; }
 .sidebar-bottom { margin-top:15px; padding-top:12px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
 h1 { font-size:36px; }body { font-size:16px; }h2 { font-size:21px; } section { margin-top:32px; }
}

/* Real organization marks replace the decorative illustration. */
main { padding-top:32px; }
.identity { align-items:flex-start; text-align:left; font-size:29px; padding:4px 4px 0; }
.affiliation-list { display:grid; gap:15px; text-align:left; }
.affiliation-list a { display:flex; align-items:center; gap:11px; text-decoration:none; color:#e5d7ac; font-size:11px; }
.affiliation-list a:hover span:last-child { text-decoration:underline; text-underline-offset:3px; }
.brand-icon { display:block; object-fit:contain; flex-shrink:0; }
.vora-mark { border-radius:7px; }
.brand-tile { display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; padding:6px; border-radius:4px; }
.brand-tile img { display:block; object-fit:contain; }
.aws-tile { background:transparent; }
.penn-tile { background:transparent; }
.affiliation-list .brand-icon { width:34px; height:34px; }
.affiliation-list .brand-tile { width:46px; min-height:34px; }
.affiliation-list .penn-tile img { width:36px; height:auto; }
.affiliation-list .aws-tile img { width:33px; height:auto; }
.affiliation-list .vora-mark { margin:0 6px; }
.organization { display:inline-flex; align-items:center; gap:12px; }
.work-heading { align-items:center; }
@media(max-width:650px) {
 main { padding-top:25px; }
 .identity { padding:0; font-size:26px; }
 .affiliation-list { display:flex; flex-wrap:wrap; gap:12px 18px; margin:17px 0 0; padding:14px 0 0; border-bottom:0; }
 .affiliation-list a { gap:7px; font-size:10px; }
 .affiliation-list .brand-tile { width:36px; min-height:28px; padding:4px; }
 .affiliation-list .brand-icon { width:28px; height:28px; }
 .affiliation-list .vora-mark { margin:0; }
 .affiliation-list .penn-tile img { width:28px; }
 .affiliation-list .aws-tile img { width:28px; }
}

/* Travel atlas: geographic boundaries and Jai's own destination list. */
.travel-atlas { border:1px solid var(--line); margin-top:22px; }
.atlas-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; padding:12px 15px; border-bottom:1px solid var(--line); font:11px/1.5 'Courier New',monospace; color:var(--muted); }
.atlas-toolbar label { display:flex; align-items:center; gap:8px; }
.atlas-toolbar select { max-width:210px; padding:6px; font:12px Georgia,serif; color:var(--text); background:var(--paper); border:1px solid var(--line); border-radius:0; }
.map-window { padding:12px; background:#e4dccc22; }
.travel-map { display:block; width:100%; height:auto; aspect-ratio:720/320; }
.map-country { fill:var(--line); stroke:var(--paper); stroke-width:.35; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.map-country.visited { fill:#8c6741; cursor:pointer; }
.map-island { fill:#8c6741; stroke:var(--paper); stroke-width:1; vector-effect:non-scaling-stroke; cursor:pointer; }
.travel-map .visited:hover,.travel-map .chosen { fill:#b48732; stroke:#735718; stroke-width:1; }
.map-selection { min-height:70px; display:flex; flex-direction:column; gap:3px; padding:12px 15px; border-top:1px solid var(--line); font-size:15px; }
.map-selection span { color:var(--muted); font-size:13px; }
.map-key { display:flex; justify-content:space-between; gap:12px; padding:0 15px 12px; font:10px/1.5 Arial,sans-serif; color:var(--muted); }
.map-key i { display:inline-block; width:8px; height:8px; background:#8c6741; margin-right:5px; }
.sidebar { max-height:calc(100vh - 55px); overflow-y:auto; scrollbar-width:thin; }
@media(max-width:650px) {
 .sidebar { max-height:none; overflow:visible; }
 .atlas-toolbar { padding:10px; font-size:10px; }
 .atlas-toolbar select { max-width:190px; }
 .travel-map { aspect-ratio:1.6; }
 .map-window { padding:7px; }
}

/* Warm charcoal, parchment, and antique gold. */
:root { --text:#302f27; --muted:#696757; --accent:#745638; --line:#d7ceb6; --selected:#e9dfc4; --gold:#98753a; --paper:#f8f4e9; }
body { background:#252321; background-image:radial-gradient(ellipse at 50% 0,#3d3630,transparent 80%); border-top:3px solid #aa8c52; line-height:1.8; }
.layout { max-width:1160px; grid-template-columns:215px minmax(0,1fr); padding-top:48px; gap:40px; }
.sidebar { padding:28px 20px 23px; background:#302b27; border-color:#7f704a; outline:none; box-shadow:inset 0 0 0 5px #302b27,inset 0 0 0 6px #625647; }
.identity { font-size:29px; font-weight:400; letter-spacing:-.5px; }
.domain { font-size:11px; letter-spacing:.4px; }
.sidebar-bio { margin:23px 0; border-color:#625647; }
nav { gap:4px; }
nav a { padding:10px 8px; background:transparent; border:1px solid transparent; box-shadow:none; font-size:14px; }
nav a:hover { background:#40372e; border-color:#796447; }
nav .current { background:#51422e; color:#f0dfab; border-color:#8e7b4e; text-shadow:none; box-shadow:inset 2px 0 #c5aa6d; }
nav a span { font-size:17px; }
.sidebar-bottom { border-color:#625647; margin-top:23px; }
main { padding:46px 46px 15px; background:var(--paper); border:1px solid #c2ad77; outline:none; box-shadow:0 14px 40px #0002; }
.page-label { margin-bottom:22px; font-size:10px; letter-spacing:1.5px; }
h1 { font-size:56px; line-height:1.12; margin-bottom:26px; font-weight:400; letter-spacing:-2px; }
main > p { font-size:18px; line-height:1.8; }
main > .personal-intro { font-size:15px; color:var(--muted); margin-top:23px; }
section { margin-top:48px; }
h2 { font-size:25px; gap:18px; margin-bottom:24px; letter-spacing:-.4px; }
h2::after { border-bottom:0; height:0; }
.work-heading { font-size:14px; }
.work-heading > span:last-child { font-size:11px; }
.work-entry { margin-bottom:29px; }
.work-entry p { line-height:1.85; margin-top:12px; }
.source-links { font-size:12px; gap:10px 20px; }
.section-note { font-size:15px; line-height:1.8; }
#outside p { font-size:16px; color:var(--muted); }
.travel-atlas { border-color:var(--line); }
.atlas-toolbar { font-size:11px; padding:15px; }
.map-window { background:#ebe3d455; padding:16px; }
a:focus-visible,button:focus-visible,select:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
@media(max-width:900px) {
 .layout { grid-template-columns:185px minmax(0,1fr); gap:24px; padding:30px 24px; }
 .sidebar { padding:24px 15px; }
 main { padding:34px 30px 15px; }
 h1 { font-size:48px; }
 .identity { font-size:26px; }
}
@media(max-width:650px) {
 .layout { grid-template-columns:1fr; gap:18px; padding:16px 14px 28px; }
 .sidebar { padding:20px; }
 .identity { font-size:27px; }
 nav { margin-top:18px; }
 nav a { font-size:12px; padding:9px 5px; }
 .sidebar-bottom { margin-top:15px; }
 main { padding:30px 23px 10px; }
 .page-label { margin-bottom:19px; font-size:9px; }
 h1 { font-size:43px; letter-spacing:-1.5px; }
 main > p { font-size:17px; }
 section { margin-top:38px; }
 h2 { font-size:24px; }
 .map-window { padding:8px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Transparent original marks, with contrast appropriate to each surface. */
.brand-tile { background:transparent; border-radius:0; padding:0; }
.sidebar .aws-tile img { filter:invert(1); }
main .penn-tile img { filter:brightness(0); }
.vora-tile { width:34px; height:34px; overflow:hidden; }
.vora-tile img.vora-mark { width:68px; height:68px; max-width:none; border-radius:0; flex-shrink:0; object-fit:contain; }
.affiliation-list .vora-tile { width:46px; height:34px; min-height:34px; }
.affiliation-list .vora-tile img.vora-mark { width:68px; height:68px; margin:0; }
main .vora-mark { filter:brightness(0); }
@media(max-width:650px) {
 .affiliation-list .vora-tile { width:36px; height:28px; min-height:28px; padding:0; }
 .affiliation-list .vora-tile img.vora-mark { width:56px; height:56px; }
}

.map-place:focus-visible { outline:none; }
.map-place:focus-visible .visited { stroke:var(--text); stroke-width:1.8; fill:var(--gold); }

/* Original writing: compact titles, readable prose and preserved verse. */
.poem { border-bottom:1px solid var(--line); scroll-margin-top:28px; }
.poem:first-of-type { border-top:1px solid var(--line); }
.poem summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 0; cursor:pointer; list-style:none; }
.poem summary::-webkit-details-marker { display:none; }
.poem summary h3 { margin:0; font:400 21px/1.5 Georgia,serif; color:var(--text); }
.poem summary:hover h3 { color:var(--accent); }
.poem summary:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.poem-toggle::before { content:'+'; font:20px/1 Georgia,serif; color:var(--gold); }
.poem[open] .poem-toggle::before { content:'−'; }
.poem-body { padding:0 0 24px; font-size:16px; line-height:1.9; overflow-wrap:break-word; }
.poem-byline { font:italic 13px/1.6 Georgia,serif; color:var(--muted); margin:0 0 24px; }
.poem-body p { margin:0 0 24px; }
.poem-body p:last-child { margin-bottom:0; }
.poem-body.verse p { white-space:pre-line; }
@media(max-width:650px) {
 .poem summary h3 { font-size:20px; }
 .poem-body { font-size:15px; line-height:1.85; }
}

/* Strategy-game frames: burgundy panels, brass bevels, and parchment. */
body { background-color:#211e1c; background-image:radial-gradient(ellipse at 50% 0,#47382c66,transparent 65%),repeating-linear-gradient(135deg,#ffffff02 0 1px,transparent 1px 5px); }
.layout { max-width:1210px; grid-template-columns:232px minmax(0,1fr); gap:30px; padding-top:36px; }
.sidebar { border:1px solid #c3a266; outline:1px solid #655138; outline-offset:4px; background:linear-gradient(110deg,#392827,#291f20 70%); box-shadow:inset 0 0 0 4px #201b19,inset 0 0 0 5px #84704b,0 10px 25px #0005; }
.identity { text-align:center; align-items:center; letter-spacing:.5px; }
nav { gap:8px; }
nav a { background:linear-gradient(#514237,#342a25); border:1px solid #8c7650; box-shadow:inset 1px 1px #d4ba7833,inset -1px -2px #0005,0 2px 2px #0003; padding:11px 10px; color:#eddfba; }
nav a:hover { background:linear-gradient(#6c5437,#453525); border-color:#c9aa64; }
nav .current { color:#fff0c7; border-color:#e0c383; background:linear-gradient(#a17c42,#70522d); box-shadow:inset 1px 1px #ffe4a666,inset -1px -2px #2b1c1599; text-shadow:0 1px #3c271c; }
main { border:1px solid #c3a266; outline:1px solid #655138; outline-offset:4px; background-image:radial-gradient(ellipse at 0 0,#ad813a0d,transparent 65%); box-shadow:inset 0 0 0 5px var(--paper),inset 0 0 0 6px var(--line),0 12px 40px #0005; }
h2 { color:var(--accent); font-variant:small-caps; letter-spacing:.3px; }
h2::after { border-top:1px solid var(--gold); border-bottom:1px solid var(--line); height:4px; }
.earlier-entry { padding:23px 0; border-bottom:1px solid var(--line); }
.earlier-entry:last-child { padding-bottom:0; border-bottom:0; }
.earlier-entry h3 { margin:0 0 10px; font:400 25px/1.5 Georgia,serif; }
.earlier-entry p { font-size:15px; line-height:1.8; color:var(--muted); margin-bottom:12px; }
.earlier-entry .project-lead { font-size:17px; color:var(--text); }
.work-heading > span:only-child { font:600 14px/1.5 Arial,sans-serif; color:var(--text); }
.travel-atlas { border:1px solid var(--gold); box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--line); }
.atlas-toolbar { background:var(--selected); }
.quiet-writing-link { margin-left:12px; color:var(--muted); }
.writing-page .back-link { font:12px/1.5 Georgia,serif; color:var(--muted); }
.writing-page #poems { margin-top:30px; }
.writing-page h1 { font-size:38px; margin-bottom:24px; }
@media(max-width:900px) {
 .layout { grid-template-columns:190px minmax(0,1fr); gap:24px; }
 nav a { font-size:13px; }
}
@media(max-width:650px) {
 .layout { grid-template-columns:1fr; padding-top:18px; gap:24px; }
 .identity { align-items:flex-start; text-align:left; }
 nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 nav a { font-size:13px; padding:10px; }
 footer { gap:12px; flex-wrap:wrap; }
}

/* Restored adventure-map header and optional pointer companion. */
.adventure-map { position:relative; margin:-30px -30px 30px; border:1px solid #b89a60; outline:1px solid #665031; outline-offset:3px; background:#302522; }
.landscape { display:block; width:100%; height:auto; aspect-ratio:3/1; object-fit:cover; }
.adventure-map figcaption { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:5px 16px; border-top:1px solid #b89a60; background:#382525; color:#e8d5aa; padding:10px 14px; font:11px/1.6 Georgia,serif; }
.adventure-map figcaption span { font-style:italic; color:#dbc38d; }
.map-pin { position:absolute; display:block; background:#302321ed; color:#f4e3b7; border:1px solid #ba9652; box-shadow:0 2px 5px #0008; padding:3px 9px; text-decoration:none; font:12px/1.5 Georgia,serif; }
.map-pin:hover { background:#785a32; color:#fff3d1; }
.pin-work { left:19%; top:49%; }.pin-projects { left:46%; top:64%; }.pin-personal { left:76%; top:48%; }
.friend-toggle { display:block; margin:10px auto 0; border:0; padding:0; background:none; color:#c7b89d; cursor:pointer; font:10px/1.5 'Courier New',monospace; }
.pointer-companion { position:fixed; top:0; left:0; width:32px; height:32px; pointer-events:none; z-index:25; opacity:0; contain:layout style; }
.pointer-companion.visible { opacity:1; }
.pointer-companion img { display:block; width:32px; height:32px; image-rendering:pixelated; }
.personal-page > h1 { margin:24px 0 30px; font-size:42px; }
.personal-page .back-link { font:12px/1.5 Georgia,serif; color:var(--muted); }
.personal-page #travel { margin-top:0; }
.personal-page #writing { margin:40px 0 25px; }
.personal-page #writing > h2 { font-size:21px; }
.writing-collection > summary { cursor:pointer; color:var(--muted); font:15px/1.7 Georgia,serif; padding:8px 0; }
.writing-collection > summary span { font-size:12px; margin-left:6px; }
.writing-collection[open] > summary { margin-bottom:15px; }
.writing-collection > summary:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
@media(max-width:900px) { .adventure-map { margin:-18px -18px 28px; } }
@media(max-width:650px) {
 .adventure-map { margin:-18px -11px 27px; }
 .landscape { aspect-ratio:2/1; }
 .adventure-map figcaption { padding:8px 10px; font-size:10px; }
 .map-pin { font-size:10px; padding:3px 6px; }
 .pin-work { left:10%; top:40%; }.pin-projects { left:36%; top:58%; }.pin-personal { left:73%; top:40%; }
 .friend-toggle { margin:0; }
 .personal-page > h1 { font-size:36px; }
}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse) { .pointer-companion { display:none; } }

/* One permanent parchment view, with Jai's original LinkedIn portrait. */
:root { color-scheme:light; }
.intro-heading { display:flex; align-items:center; gap:26px; margin:34px 0 26px; }
.portrait { display:block; width:132px; height:148px; flex:0 0 auto; object-fit:cover; object-position:center 35%; border-radius:4px; border:1px solid #a88a52; padding:4px; background:var(--paper); box-shadow:0 3px 12px #39291918; }
.intro-heading h1 { margin:0 0 13px; font-size:48px; }
.intro-heading p { margin:0; color:var(--muted); font:16px/1.7 Georgia,serif; max-width:29ch; }
.mobile-menu-toggle { display:none; }
@media(max-width:650px) {
 html { scroll-padding-top:18px; }
 .layout { padding:13px 12px 25px; gap:18px; }
 .sidebar { padding:16px; position:relative; top:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:12px; }
 .identity { font-size:25px; padding:0; }
 .domain { font-size:10px; }
 .mobile-menu-toggle { display:flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:8px 12px; border:1px solid #a68b59; background:linear-gradient(#514237,#342a25); color:#efdfb8; font:14px/1.4 Georgia,serif; cursor:pointer; box-shadow:inset 1px 1px #d4ba7833,inset -1px -2px #0005; }
 .sidebar-navigation { grid-column:1/-1; }
 .sidebar[data-menu-open="false"] .sidebar-navigation { display:none; }
 .sidebar .affiliation-list { margin-top:14px; gap:10px 15px; }
 .sidebar-bottom { justify-content:flex-start; }
 .social-links { justify-content:flex-start; gap:20px; }
 .social-links a { display:inline-flex; align-items:center; min-height:44px; font-size:12px; }
 nav a { min-height:44px; }
 main { padding:24px 22px 10px; }
 .adventure-map { margin:-12px -10px 25px; }
 .landscape { aspect-ratio:2.2/1; }
 .map-pin { min-height:44px; display:flex; align-items:center; justify-content:center; padding:5px 8px; }
 .pin-work { left:8%; top:35%; }.pin-projects { left:33%; top:54%; }.pin-personal { left:73%; top:35%; }
 .adventure-map figcaption { font-size:10px; line-height:1.6; gap:2px 12px; }
 .intro-heading { gap:16px; margin:27px 0 22px; }
 .portrait { width:86px; height:104px; padding:3px; }
 .intro-heading h1 { font-size:34px; letter-spacing:-1px; margin-bottom:10px; }
 .intro-heading p { font-size:14px; line-height:1.55; }
 main > p { font-size:16px; line-height:1.8; }
 .work-heading { row-gap:9px; }
 .work-heading > span:last-child:not(:only-child) { font-size:10px; }
 .source-links { gap:2px 18px; }
 .source-links a { display:inline-flex; align-items:center; min-height:38px; }
 .atlas-toolbar { padding:10px; }
 .atlas-toolbar label { width:100%; justify-content:space-between; }
 .atlas-toolbar select { font-size:16px; min-height:44px; max-width:calc(100% - 65px); }
 .writing-collection > summary { padding:12px 0; }
 .poem summary { min-height:54px; }
 .personal-page > h1 { margin:22px 0 27px; }
 footer { padding-top:23px; }
}
@media(max-width:360px) {
 .intro-heading { gap:12px; }
 .portrait { width:74px; height:94px; }
 .intro-heading h1 { font-size:30px; }
 .intro-heading p { font-size:13px; }
 .map-pin { font-size:9px; padding:4px 6px; }
}

/* A concise founder introduction, with the personal map kept in view. */
.founder-page .intro-heading { margin:0 0 23px; gap:24px; }
.founder-page .portrait { width:92px; height:108px; padding:3px; }
.founder-page .intro-heading h1 { font-size:44px; letter-spacing:-1.3px; margin-bottom:9px; }
.founder-page .intro-heading p { max-width:none; font-size:16px; }
.current-work { margin-top:0; }
.current-work > p { margin:0; font-size:18px; line-height:1.75; }
.intro-links { display:flex; flex-wrap:wrap; align-items:baseline; gap:7px 22px; margin-top:15px; font:13px/1.7 Arial,Helvetica,sans-serif; }
.email-contact { color:var(--muted); overflow-wrap:anywhere; }
.founder-page > .founder-background { font-size:14px; color:var(--muted); margin:19px 0 0; }
.founder-page .adventure-map { margin:30px 0 0; outline:none; }
.founder-page .landscape { aspect-ratio:4/1; object-position:center 48%; }
.founder-page .adventure-map figcaption { padding:7px 11px; font-size:10px; }
.founder-page .pin-work { left:17%; top:35%; }
.founder-page .pin-projects { left:44%; top:51%; }
.founder-page .pin-personal { left:76%; top:33%; }
.founder-page #projects { margin-top:36px; }
.founder-page #projects > .work-entry { margin-bottom:0; padding-bottom:22px; border-bottom:1px solid var(--line); }
.founder-page #projects .work-heading { font:400 23px/1.5 Georgia,serif; }
.founder-page .earlier-entry { padding:20px 0; }
.founder-page .earlier-entry h3 { font-size:23px; margin-bottom:7px; }
.personal-note { margin-top:28px; font-size:14px; color:var(--muted); }
.founder-page .personal-note p { font-size:14px; margin-bottom:8px; }
.personal-note > a { display:inline-block; padding:4px 0; }
@media(max-width:650px) {
 .founder-page .intro-heading { margin:4px 0 22px; gap:16px; }
 .founder-page .portrait { width:76px; height:90px; }
 .founder-page .intro-heading h1 { font-size:34px; }
 .founder-page .intro-heading p { font-size:14px; line-height:1.6; }
 .current-work > p { font-size:16px; line-height:1.8; }
 .intro-links { margin-top:9px; gap:0 16px; font-size:12px; }
 .intro-links > a,.email-contact { display:inline-flex; align-items:center; min-height:44px; }
 .email-contact { gap:5px; flex-wrap:wrap; }
 .founder-page > .founder-background { font-size:13px; margin-top:11px; }
 .founder-page .adventure-map { margin:25px 0 0; }
 .founder-page .landscape { aspect-ratio:2.5/1; }
 .founder-page .adventure-map figcaption { gap:2px 8px; padding:6px 8px; }
 .founder-page .pin-work { left:6%; top:22%; }
 .founder-page .pin-projects { left:32%; top:40%; }
 .founder-page .pin-personal { left:71%; top:22%; }
 .founder-page #projects { margin-top:28px; }
}
@media(max-width:360px) {
 .founder-page .intro-heading { gap:12px; }
 .founder-page .portrait { width:62px; height:78px; }
 .founder-page .intro-heading h1 { font-size:30px; }
 .founder-page .intro-heading p { font-size:13px; }
}

/* One reading column: contact, about, and selected work. */
.single-column { background:var(--paper); border:0; }
.single-column .layout { display:block; width:100%; max-width:none; padding:30px 24px 32px; }
.single-column main { padding:0; background:transparent; border:0; outline:0; box-shadow:none; }
.single-column .intro-heading { align-items:flex-start; justify-content:space-between; gap:24px; margin:0 0 25px; }
.single-column .intro-copy { min-width:0; }
.single-column .intro-heading h1 { font-size:40px; margin:0 0 9px; }
.single-column .intro-heading p { max-width:none; }
.single-column .intro-heading .founder-role { font-size:15px; color:var(--text); }
.single-column .portrait { width:105px; height:126px; margin-top:3px; border:0; padding:0; box-shadow:none; }
.inline-brand { display:inline-flex; align-items:center; gap:5px; vertical-align:middle; }
.inline-brand .vora-tile { width:17px; height:20px; }
.inline-brand .vora-tile .vora-mark { width:38px; height:38px; }
.inline-brand .penn-tile { width:35px; }
.inline-brand .penn-tile img { width:35px; }
.inline-brand .aws-tile img { width:27px; }
.single-column .intro-heading .email-contact { font:13px/1.6 Arial,sans-serif; margin-top:12px; color:var(--muted); }
.contact-links { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:8px; font:13px/1.7 Arial,sans-serif; }
.single-column h2 { font-size:23px; margin-bottom:11px; }
.single-column h2::after { content:none; }
.single-column .current-work > p { font-size:16px; line-height:1.75; }
.single-column .current-work .background-line { font-size:14px; margin-top:10px; color:var(--muted); }
.single-column .founder-page .adventure-map { margin:23px 0 0; border:0; outline:0; background:transparent; }
.single-column .founder-page .landscape { height:clamp(160px,17vw,230px); aspect-ratio:auto; }
.single-column .founder-page .adventure-map figcaption { padding:5px 0; border:0; background:transparent; color:var(--muted); }
.single-column .adventure-map figcaption span { color:inherit; }
.single-column .travel-atlas { border:0; box-shadow:none; }
.single-column .founder-page #projects { margin-top:24px; }
.selected-work { padding:0; margin:0; list-style:none; }
.selected-work li { margin:0 0 13px; font-size:15px; line-height:1.7; }
.selected-work strong { font-weight:600; color:var(--text); }
.selected-work a { font-size:13px; }
.project-refs { white-space:nowrap; }
.single-column .personal-note { margin-top:24px; }
.single-column .personal-note p { font-size:15px; line-height:1.7; }
.single-column .friend-toggle { margin:0; color:var(--muted); min-height:32px; }
.single-column .personal-page > h1 { margin-top:18px; }
@media(max-width:650px) {
 .single-column .layout { padding:24px 16px 25px; }
 .single-column .intro-heading { gap:14px; margin:0 0 22px; }
 .single-column .intro-heading h1 { font-size:34px; }
 .single-column .portrait { width:76px; height:94px; }
 .single-column .intro-heading .founder-role { font-size:13px; }
 .single-column .intro-heading .email-contact { font-size:12px; line-height:1.8; display:block; }
 .contact-links { font-size:13px; gap:0 17px; margin-top:1px; }
 .contact-links a { display:inline-flex; align-items:center; min-height:38px; }
 .single-column .founder-page .landscape { height:auto; aspect-ratio:2.8/1; }
 .single-column .founder-page .pin-work { top:20%; }
 .single-column .founder-page .pin-projects { top:30%; }
 .single-column .founder-page .pin-personal { top:20%; }
 .single-column h2 { font-size:22px; }
 .selected-work li { font-size:15px; }
}
@media(max-width:400px) {
 .single-column .intro-heading { display:grid; grid-template-columns:minmax(0,1fr) 68px; gap:0 12px; }
 .single-column .intro-copy { display:contents; }
 .single-column .intro-heading h1 { grid-column:1; grid-row:1; font-size:32px; margin-top:8px; }
 .single-column .intro-heading .founder-role { grid-column:1; grid-row:2; align-self:start; }
 .single-column .portrait { grid-column:2; grid-row:1/3; width:68px; height:84px; }
 .single-column .intro-heading .email-contact { grid-column:1/-1; margin-top:13px; }
 .single-column .contact-links { grid-column:1/-1; }
}

/* Linked project names and explanations share one compact reading flow. */
.selected-code { margin:0; padding:0; list-style:none; }
.selected-code li { margin:0 0 14px; font-size:15px; line-height:1.7; color:var(--text); }
.selected-code li:last-child { margin-bottom:0; }
.selected-code .code-reference { font-size:13px; }
