@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=IM+Fell+English:ital@0;1&display=swap');

:root{--ink:#191712;--paper:#e8dec8;--paper2:#d7c8a8;--red:#8b2f2a;--green:#33463b;--gold:#a78545;--black:#12110e;--muted:#716957;--line:#8d8067;--cream:#f1ead9}*{box-sizing:border-box}html{background:#17150f}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;background-image:linear-gradient(rgba(70,55,30,.035) 1px,transparent 1px);background-size:100% 7px}.top-rule{height:8px;background:repeating-linear-gradient(90deg,var(--red) 0 70px,var(--paper) 70px 76px,var(--green) 76px 146px,var(--paper) 146px 152px)}a{color:inherit}.site-header{position:relative;z-index:10;display:flex;align-items:center;gap:30px;padding:18px clamp(18px,4vw,60px);border-bottom:2px solid var(--ink);background:#ded1b7}.brand img{width:170px;filter:brightness(0)}.nav{margin-left:auto;display:flex;align-items:center;gap:18px;font-family:'Courier New',monospace;font-size:12px;text-transform:uppercase;font-weight:700}.nav a{text-decoration:none}.nav a:hover{text-decoration:underline;text-decoration-thickness:2px}.nav details{position:relative}.nav summary{cursor:pointer;list-style:none}.more-menu{position:absolute;right:0;top:28px;width:190px;background:var(--cream);border:2px solid var(--ink);box-shadow:6px 6px 0 rgba(25,23,18,.3);padding:10px;display:grid;gap:10px}.menu-button{display:none;background:none;border:1px solid var(--ink);font:700 12px 'Courier New',monospace;padding:8px}.hero{min-height:560px;padding:80px clamp(22px,8vw,120px);position:relative;background:radial-gradient(circle at 80% 20%,rgba(139,47,42,.12),transparent 28%),linear-gradient(120deg,#e9dfca,#d7c6a5)}.hero:after{content:'ARCHIVE / FIELD NOTES / RECORDINGS';position:absolute;right:3vw;top:80px;writing-mode:vertical-rl;font:700 11px 'Courier New',monospace;letter-spacing:.2em;color:#786e5c}.hero-stamp,.page-head>span,.file-label,.section-label,.clipping span,.article-mast>span{font:700 11px 'Courier New',monospace;letter-spacing:.13em;color:var(--red)}.hero h1,.page-head h1,.article-mast h1{font-size:clamp(56px,10vw,130px);line-height:.82;letter-spacing:-.06em;margin:32px 0;max-width:1050px}.lede{font-size:clamp(20px,2.5vw,30px);line-height:1.35;max-width:760px}.status-note{width:min(520px,90%);margin:55px 0 0 8%;padding:22px 26px;background:#f3ead5;border:1px solid #95866b;box-shadow:5px 7px 0 rgba(60,45,20,.18);transform:rotate(-1deg)}.status-note span,.status-note small{font:700 10px 'Courier New',monospace;letter-spacing:.1em}.status-note p{font-size:19px}.desk-grid{max-width:1400px;margin:auto;padding:60px clamp(20px,5vw,70px);display:grid;grid-template-columns:repeat(12,1fr);gap:28px;background:#2a271f;background-image:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:35px 35px}.paper,.tape,.map-card,.folder{padding:28px;box-shadow:8px 9px 0 rgba(0,0,0,.22)}.paper{background:#eee5d2;color:#211e18;border:1px solid #a99a7c}.feature{grid-column:span 7;transform:rotate(-.3deg)}.feature img{width:100%;aspect-ratio:16/8;object-fit:cover;filter:sepia(.2) contrast(.95)}.note{grid-column:span 5;align-self:start;transform:rotate(.6deg)}.tape{grid-column:span 5;background:#191a18;color:#e7e0cf;border:2px solid #090a09}.tape>span{font:700 11px 'Courier New';color:#d65b52}.tape img{width:100%;aspect-ratio:16/9;object-fit:cover;margin:15px 0;filter:saturate(.7) contrast(1.08)}.map-card{grid-column:span 7;background:#c5b88f;color:#1d211b;border:2px solid #4b5846;background-image:repeating-linear-gradient(0deg,transparent 0 24px,rgba(40,70,45,.08) 25px)}.small{grid-column:span 5}.folder{grid-column:span 7;background:#b49a68;color:#201a10;border-top:22px solid #927747}.desk-grid h2{font-size:clamp(28px,3vw,48px);margin:12px 0}.arrow{font:700 12px 'Courier New',monospace;text-transform:uppercase;letter-spacing:.05em}.coords{font:700 12px 'Courier New',monospace;margin:20px 0}.page-head{padding:70px clamp(22px,8vw,120px) 50px;border-bottom:1px solid var(--line);background:#ded1b7}.page-head h1{font-size:clamp(55px,9vw,110px)}.page-head p{max-width:780px;font-size:21px;line-height:1.5}.article-list,.journal-list,.project-files,.library-empty,.catalog-placeholder,.link-directory,.tickets,.contact-sheets,.two-col{max-width:1200px;margin:auto;padding:55px clamp(20px,4vw,50px)}.clipping{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:35px;background:#f1e8d4;border-block:2px solid var(--ink);padding:25px}.clipping img{width:100%}.clipping h2{font-size:44px;margin:12px 0}.article-mast{padding:80px max(20px,calc((100% - 900px)/2));background:#d9caaa;border-bottom:2px solid var(--ink)}.article-mast h1{font-size:clamp(50px,8vw,100px)}.prose{max-width:850px;margin:55px auto;padding:0 25px;font-size:19px;line-height:1.75}.prose img{max-width:100%;height:auto}.prose h2,.prose h3{line-height:1.1;margin-top:2em}.prose .entry-header,.prose .entry-meta,.prose .entry-kicker,.prose .entry-deck,.prose .entry-tags{display:none}.journal-entry{max-width:800px;margin:0 auto 45px;padding:30px 40px;background:#f0e7d5;border-left:4px solid var(--red);box-shadow:5px 5px 0 rgba(0,0,0,.1)}.journal-date{font:700 11px 'Courier New';letter-spacing:.12em}.journal-entry h2{font-size:42px}.journal-entry details summary{cursor:pointer;font:700 12px 'Courier New';text-transform:uppercase}.journal-entry details p{font-size:18px;line-height:1.7}.map-paper{max-width:1250px;margin:55px auto;padding:20px;background:#d4c39f;border:1px solid #8d7d5d;box-shadow:8px 8px 0 rgba(0,0,0,.15);transform:rotate(-.15deg)}.map-title{display:flex;justify-content:space-between;align-items:end;padding:12px}.map-title span{font:700 11px 'Courier New';color:var(--red)}.map-title h2{font-size:48px;margin:4px 0}.map-title p{font-size:13px}#travel-map{height:560px;border:2px solid #332e23;filter:sepia(.2) saturate(.8)}.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}.place-card,.van-sheet{background:#eee5d2;border:1px solid #a99a7c;padding:28px}.place-card span{font:700 10px 'Courier New';color:var(--red)}.van-sheet{align-self:start;background:#d8c7a5}.van-sheet dl{display:grid;grid-template-columns:130px 1fr;border-top:1px solid #8d8067}.van-sheet dt,.van-sheet dd{padding:12px 0;border-bottom:1px solid #a89a7d;margin:0}.van-sheet dt{font:700 10px 'Courier New'}.prototype-note{font-style:italic;color:#665d4c}.project-files{display:grid;grid-template-columns:1fr 1fr;gap:35px}.project-files .big{display:block;min-height:320px;text-decoration:none}.project-files span{font:700 11px 'Courier New'}.project-files b{font:700 11px 'Courier New'}.empty-file{max-width:900px;margin:70px auto;padding:80px;text-align:center;border:2px dashed #7f735c;font:700 14px 'Courier New'}.channel-tabs{max-width:1300px;margin:35px auto 10px;padding:0 20px;display:flex;gap:10px;flex-wrap:wrap}.channel-tab{background:#d4c5a8;border:1px solid #716650;padding:12px 16px;text-align:left;cursor:pointer}.channel-tab b,.channel-tab span{display:block}.channel-tab span{font:10px 'Courier New';margin-top:4px}.channel-tab.active{background:#25231d;color:#eee4cf}.video-grid{max-width:1300px;margin:auto;padding:25px 20px 70px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.video-card a{text-decoration:none}.video-frame{position:relative;background:#171717;border:8px solid #282822;padding:3px;box-shadow:3px 5px 0 rgba(0,0,0,.25)}.video-frame img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;filter:saturate(.8)}.video-frame span{position:absolute;right:8px;bottom:8px;background:#111;color:#eee;padding:3px 5px;font:10px 'Courier New'}.video-card h3{font-size:18px;margin:10px 0 5px}.video-card p{font:10px 'Courier New';color:#675f50}.catalog-card,.catalog-placeholder{background:#e7dcc5;border:2px solid #302b21;padding:35px;box-shadow:8px 8px 0 #9f8e6c}.catalog-card span,.catalog-placeholder span{font:700 11px 'Courier New';color:var(--red)}.link-directory{display:grid;grid-template-columns:1fr 1fr;gap:12px}.link-row{display:flex;align-items:center;gap:15px;padding:16px;background:#e9dfcb;border-bottom:1px solid #8d8067;text-decoration:none}.link-row img{width:26px;height:26px;filter:grayscale(1) contrast(2)}.link-row span{display:grid}.link-row small{font:11px 'Courier New';color:#6b6252}.link-row i{margin-left:auto}.tickets,.contact-sheets{display:grid;gap:18px}.support-ticket,.contact-sheets a{display:grid;grid-template-columns:180px 1fr auto;gap:20px;padding:24px;background:#e7dcc5;border:1px solid #8d8067;text-decoration:none}.support-ticket span,.contact-sheets span{font:700 11px 'Courier New';color:var(--red)}.about-sheet{max-width:850px;margin:60px auto;padding:45px;background:#e9dfca;border:1px solid #998a6d;box-shadow:8px 8px 0 rgba(0,0,0,.12)}.about-sheet img{width:230px;filter:brightness(0)}.about-sheet h2{font-size:42px}.about-sheet p{font-size:19px;line-height:1.65}.lost{min-height:65vh;padding:100px clamp(20px,10vw,150px);background:#25231d;color:#eee4cf}.lost span{font:700 11px 'Courier New';color:#c35c52}.lost h1{font-size:clamp(60px,10vw,120px);line-height:.9;max-width:900px}footer{background:#181712;color:#ddd2bd;padding:45px clamp(20px,5vw,70px);display:grid;grid-template-columns:1fr auto;gap:30px;border-top:8px solid #8b2f2a}footer p{max-width:500px;color:#aaa08d}.footer-links{display:flex;gap:18px;flex-wrap:wrap}footer small{grid-column:1/-1;font:10px 'Courier New';letter-spacing:.1em;color:#8f8676}.legal main{display:block}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#e8dec8;color:#191712}.leaflet-popup-content{font-family:Georgia,serif}.jp-pin{width:18px;height:18px;border-radius:50% 50% 50% 0;background:#8b2f2a;border:2px solid #f0e6d1;transform:rotate(-45deg);box-shadow:2px 2px 4px #333}@media(max-width:1100px){.nav{gap:10px;font-size:10px}.video-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.menu-button{display:block;margin-left:auto}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#ded1b7;border-bottom:2px solid #191712;padding:18px;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav details{width:100%}.more-menu{position:static;width:100%;box-shadow:none;margin-top:10px}.hero{padding-top:55px}.hero:after{display:none}.feature,.note,.tape,.map-card,.small,.folder{grid-column:1/-1}.clipping,.two-col,.project-files{grid-template-columns:1fr}.video-grid{grid-template-columns:repeat(2,1fr)}.link-directory{grid-template-columns:1fr}.support-ticket,.contact-sheets a{grid-template-columns:1fr}.site-header{padding:14px 18px}.brand img{width:145px}}@media(max-width:520px){.hero h1,.page-head h1{font-size:52px}.video-grid{grid-template-columns:1fr}.desk-grid{padding:30px 15px}.paper,.tape,.map-card,.folder{padding:20px}#travel-map{height:430px}.journal-entry{padding:22px}.clipping h2{font-size:34px}}
/* Prototype 02 — dark archive / night-road revision */
:root{--ink:#e7ddc8;--paper:#181713;--paper2:#242019;--red:#a3483f;--green:#39483e;--gold:#9d814e;--black:#0d0d0b;--muted:#9a907c;--line:#514a3d;--cream:#26231d}
html{background:#090a08}
body{background:#11110e;color:var(--ink);background-image:linear-gradient(rgba(225,210,175,.018) 1px,transparent 1px);background-size:100% 7px}
.top-rule{height:6px;background:repeating-linear-gradient(90deg,#7e302b 0 70px,#11110e 70px 76px,#2f4037 76px 146px,#11110e 146px 152px)}
.site-header{background:#12130f;border-bottom:1px solid #544b3d;box-shadow:0 8px 30px rgba(0,0,0,.28)}
.brand img{filter:invert(88%) sepia(12%) saturate(400%) brightness(92%)}
.nav a,.nav summary{color:#d8cdb8}.nav a:hover{color:#f2e8d3;text-decoration-color:#a3483f}.more-menu{background:#1d1b17;border:1px solid #655a48;box-shadow:8px 8px 20px rgba(0,0,0,.5)}
.menu-button{color:#e7ddc8;border-color:#655a48}
.hero{background:radial-gradient(circle at 78% 18%,rgba(126,48,43,.18),transparent 26%),radial-gradient(circle at 20% 80%,rgba(47,64,55,.16),transparent 30%),linear-gradient(125deg,#15140f,#0d0e0c 68%,#17130f);border-bottom:1px solid #39342b}
.hero:after{color:#746a58}.hero-stamp,.page-head>span,.file-label,.section-label,.clipping span,.article-mast>span{color:#c05b50}
.lede{color:#bfb49f}.status-note{background:#211e18;color:#ded3be;border:1px solid #655a48;box-shadow:8px 10px 22px rgba(0,0,0,.4)}
.status-note small{color:#8e8574}
.desk-grid{background:#0e0f0d;background-image:linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px),radial-gradient(circle at 25% 10%,rgba(126,48,43,.07),transparent 24%);background-size:35px 35px,auto}
.paper{background:#1d1b17;color:#e1d6c0;border:1px solid #51493b;box-shadow:8px 9px 20px rgba(0,0,0,.35)}
.feature img{filter:sepia(.35) saturate(.6) brightness(.68) contrast(1.12)}
.tape{background:#090a09;color:#ddd3bf;border:1px solid #403b32;box-shadow:8px 9px 24px rgba(0,0,0,.48)}
.tape img{filter:saturate(.55) brightness(.68) contrast(1.18)}
.map-card{background:#1c211b;color:#d8d1bc;border:1px solid #4c5a4d;background-image:repeating-linear-gradient(0deg,transparent 0 24px,rgba(103,130,104,.055) 25px);box-shadow:8px 9px 22px rgba(0,0,0,.4)}
.folder{background:#302718;color:#e0d1b4;border:1px solid #57482f;border-top:20px solid #5b4528;box-shadow:8px 9px 22px rgba(0,0,0,.42)}
.page-head{background:linear-gradient(120deg,#171610,#10110e);border-bottom:1px solid #51493b}.page-head p{color:#b9af9c}
.article-list,.journal-list,.project-files,.library-empty,.catalog-placeholder,.link-directory,.tickets,.contact-sheets,.two-col{color:#ddd3bf}
.clipping{background:#191813;border-block:1px solid #625947}.clipping img{filter:sepia(.3) saturate(.6) brightness(.72)}
.article-mast{background:linear-gradient(120deg,#201b14,#12120f);border-bottom:1px solid #5b5140}
.prose{color:#d8ceba}.prose a{color:#d29b70}
.journal-entry{background:#1c1a16;border-left:3px solid #943d35;box-shadow:6px 8px 18px rgba(0,0,0,.3)}
.journal-date{color:#b8aa91}
.map-paper{background:#1d211b;border:1px solid #4c594a;box-shadow:8px 10px 25px rgba(0,0,0,.45)}
#travel-map{border-color:#090a08;filter:sepia(.35) saturate(.55) brightness(.72) contrast(1.08)}
.place-card,.van-sheet{background:#1b1915;border:1px solid #51493b;color:#ddd3bf}.van-sheet{background:#1b1e18}.van-sheet dl{border-top-color:#51493b}.van-sheet dt,.van-sheet dd{border-bottom-color:#3f3a31}
.prototype-note{color:#938a78}.empty-file{border-color:#5d5547;color:#aaa08d}
.channel-tab{background:#1c1a16;color:#d8ceba;border:1px solid #51493b}.channel-tab.active{background:#352b20;color:#f0e4cc;border-color:#846947}.video-frame{background:#080908;border-color:#1d1d19;box-shadow:4px 7px 18px rgba(0,0,0,.5)}.video-frame img{filter:saturate(.65) brightness(.72) contrast(1.12)}.video-card p{color:#8f8677}
.catalog-card,.catalog-placeholder{background:#1b1915;border:1px solid #574f40;box-shadow:8px 8px 20px rgba(0,0,0,.35)}
.link-row{background:#191814;border-bottom:1px solid #413c33}.link-row img{filter:grayscale(1) invert(.85)}.link-row small{color:#8f8677}
.support-ticket,.contact-sheets a{background:#1a1814;border:1px solid #4d4639}.about-sheet{background:#1a1814;border:1px solid #554d3f;box-shadow:8px 8px 22px rgba(0,0,0,.4)}.about-sheet img{filter:invert(.85) sepia(.1)}
.lost{background:radial-gradient(circle at 70% 20%,rgba(126,48,43,.13),transparent 30%),#0c0d0b;color:#e7ddc8}
footer{background:#090a08;color:#d3c8b4;border-top:5px solid #713029}footer p{color:#8f8677}footer small{color:#6f685c}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#1b1915;color:#ddd3bf}.jp-pin{background:#943d35;border-color:#d9cdb5}
@media(max-width:820px){.nav{background:#12130f;border-bottom:1px solid #544b3d}}

/* PROTOTYPE 03 — dense personal-web / archive layout. Intentionally rejects oversized hero conventions. */
body{background:#11120f;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px);background-size:100% 8px;color:#d8ceba}
.top-rule{height:3px;background:#713029}
.site-header{padding:10px clamp(14px,3vw,42px);gap:20px;background:#0c0d0b;border-bottom:1px solid #51493b;position:sticky;top:0}
.brand img{width:128px;filter:invert(.87) sepia(.12)}
.nav{gap:14px;font-size:10px;letter-spacing:.04em}.nav a{color:#cfc5b2}.nav a:hover{color:#f1e5cd}.more-menu{top:22px;background:#171712;color:#d8ceba;border:1px solid #5b5140;box-shadow:4px 5px 0 #080907}
.menu-button{color:#d8ceba;border-color:#625947}

/* Home is an information-rich personal homepage, not a landing page. */
.home-intro{max-width:1280px;margin:auto;padding:26px clamp(18px,4vw,52px) 18px;border-bottom:1px solid #3d392f;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:42px;align-items:start}
.home-intro .eyebrow,.compact-label{font:700 10px 'Courier New',monospace;letter-spacing:.13em;color:#a95b4f;text-transform:uppercase}
.home-intro h1{font-size:31px;letter-spacing:-.025em;margin:6px 0 8px;color:#eee4d0;font-weight:normal}.home-intro p{font-size:16px;line-height:1.55;margin:0;max-width:720px;color:#bdb3a0}
.now-line{border-left:2px solid #7d3b32;padding-left:16px}.now-line b{display:block;font:700 10px 'Courier New';letter-spacing:.12em;color:#b8a27d;margin-bottom:7px}.now-line p{font-size:14px;color:#d4cab7}.now-line small{font:10px 'Courier New';color:#756e62}
.home-index{max-width:1280px;margin:auto;padding:26px clamp(18px,4vw,52px) 50px;display:grid;grid-template-columns:repeat(12,1fr);gap:26px 32px}.home-panel{border-top:1px solid #625947;padding-top:10px;min-width:0}.home-panel h2{font-size:23px;font-weight:normal;margin:7px 0 8px;color:#e4dac6}.home-panel p{font-size:14px;line-height:1.5;color:#a9a08f;margin:7px 0 10px}.home-panel .meta{font:10px 'Courier New';color:#7f776a;text-transform:uppercase}.home-panel a.more{font:700 10px 'Courier New';color:#c79a72;text-transform:uppercase;text-decoration:none}.home-panel a.more:hover{text-decoration:underline}.home-panel img{width:100%;display:block;margin:8px 0 10px;filter:saturate(.62) brightness(.76) contrast(1.08)}
.home-blog{grid-column:span 5}.home-journal{grid-column:span 4}.home-reading{grid-column:span 3}.home-video{grid-column:span 5}.home-travel{grid-column:span 4}.home-projects{grid-column:span 3}.home-video .thumb{position:relative}.home-video .thumb:before{content:'● REC';position:absolute;z-index:2;top:8px;left:9px;background:#0a0a08cc;color:#b9564d;padding:3px 5px;font:700 9px 'Courier New'}
.mini-map{height:115px;border:1px solid #454b40;background:repeating-linear-gradient(0deg,#171b16 0 19px,#1c211b 20px);position:relative;margin:8px 0 10px}.mini-map:after{content:'ST. AUGUSTINE  •  29.9012° N / 81.3124° W';position:absolute;left:10px;bottom:9px;font:9px 'Courier New';color:#9fac95}

/* Compact page identity: a heading, not a billboard. */
.page-head{max-width:1280px;margin:auto;padding:24px clamp(18px,4vw,52px) 18px;background:transparent;border-bottom:1px solid #494337}.page-head>span{font-size:9px}.page-head h1{font-size:34px;line-height:1;margin:7px 0 5px;letter-spacing:-.025em;font-weight:normal;color:#eee4d0}.page-head p{font-size:14px;line-height:1.45;margin:0;max-width:720px;color:#a99f8d}
.article-list,.journal-list,.project-files,.library-empty,.catalog-placeholder,.link-directory,.tickets,.contact-sheets,.two-col{padding-top:28px;padding-bottom:45px}.clipping{grid-template-columns:260px 1fr;gap:25px;padding:18px;background:#151510}.clipping h2{font-size:30px;font-weight:normal}.clipping p{font-size:14px;line-height:1.55}.clipping img{max-height:190px;object-fit:cover}
.article-mast{max-width:1000px;margin:auto;padding:32px 28px 24px;background:transparent;border-bottom:1px solid #51493b}.article-mast h1{font-size:42px;line-height:1.05;letter-spacing:-.025em;margin:10px 0 8px;font-weight:normal}.prose{margin-top:35px}
.journal-entry{max-width:900px;margin-bottom:22px;padding:22px 28px;box-shadow:none;border-left:2px solid #713029}.journal-entry h2{font-size:27px;font-weight:normal;margin:8px 0}
.map-paper{max-width:1200px;margin:28px auto;padding:12px;transform:none;box-shadow:none;background:#171b16}.map-title{padding:7px 8px}.map-title h2{font-size:27px;font-weight:normal;margin:2px 0}.map-title p{font-size:10px}#travel-map{height:440px}.two-col{padding-top:12px}.place-card,.van-sheet{padding:20px}.place-card h2,.van-sheet h2{font-size:25px;font-weight:normal}
.project-files{gap:18px}.project-files .big{min-height:190px}.paper,.tape,.map-card,.folder{box-shadow:none}.empty-file{margin-top:35px;padding:45px}
.channel-tabs{margin-top:22px}.channel-tab{padding:8px 11px}.video-grid{padding-top:14px;grid-template-columns:repeat(5,1fr);gap:18px}.video-frame{border-width:4px;box-shadow:none}.video-card h3{font-size:14px;line-height:1.25}.video-card p{font-size:9px}
.catalog-card,.catalog-placeholder{box-shadow:none;padding:25px}.link-directory{grid-template-columns:repeat(3,1fr);gap:1px}.link-row{padding:12px}.support-ticket,.contact-sheets a{padding:16px}.about-sheet{margin-top:30px;padding:30px;box-shadow:none}.about-sheet h2{font-size:29px}.about-sheet p{font-size:16px}
footer{padding:26px clamp(18px,4vw,52px);border-top:2px solid #713029}footer p{font-size:12px;margin:6px 0}.footer-links{font-size:12px}
@media(max-width:1100px){.video-grid{grid-template-columns:repeat(4,1fr)}.home-blog,.home-video{grid-column:span 6}.home-journal,.home-travel{grid-column:span 6}.home-reading,.home-projects{grid-column:span 6}}
@media(max-width:820px){.site-header{position:relative}.nav{background:#0c0d0b}.home-intro{grid-template-columns:1fr;gap:20px}.home-index{grid-template-columns:1fr}.home-panel,.home-blog,.home-journal,.home-reading,.home-video,.home-travel,.home-projects{grid-column:1}.video-grid{grid-template-columns:repeat(2,1fr)}.link-directory{grid-template-columns:1fr}.page-head h1{font-size:30px}.clipping{grid-template-columns:1fr}.article-mast h1{font-size:34px}}

/* ================================================================
   PROTOTYPE 04 — THE STRANGE OLD HOUSE
   Dark American traveller's study + mystery library + curiosities.
   Deliberately avoids both giant modern hero design and tiny retro UI.
   ================================================================ */
:root{--p4-ink:#e6dcc8;--p4-dim:#b7aa94;--p4-dark:#100e0b;--p4-wall:#18130f;--p4-wood:#24170f;--p4-wood2:#382417;--p4-paper:#cbbd9d;--p4-paper-dark:#a99570;--p4-brass:#9e824c;--p4-brass2:#c0a46b;--p4-wine:#612c2d;--p4-green:#263b31;--p4-line:#5f503b}
html{background:#0a0907}
body{font-size:18px;background:
 radial-gradient(ellipse at 12% 5%,rgba(151,112,57,.08),transparent 27%),
 radial-gradient(ellipse at 88% 25%,rgba(78,33,31,.10),transparent 30%),
 repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,transparent 1px 47px),
 linear-gradient(#17120e,#100e0b 70%);color:var(--p4-ink);font-family:Georgia,'Times New Roman',serif;letter-spacing:.005em}
body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.26;background-image:radial-gradient(rgba(220,193,146,.08) .7px,transparent .7px);background-size:5px 5px;mix-blend-mode:screen}
.top-rule{height:7px;background:linear-gradient(90deg,#40201e 0 18%,#9e824c 18% 18.4%,#1b3027 18.4% 49%,#9e824c 49% 49.4%,#40201e 49.4% 82%,#9e824c 82% 82.4%,#1b3027 82.4%)}
.site-header{position:sticky;top:0;padding:15px clamp(18px,4vw,64px);background:linear-gradient(#17110d,#0e0c09);border-bottom:1px solid #715d3f;box-shadow:0 8px 24px rgba(0,0,0,.35);gap:30px}
.site-header:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:#2f271d}
.brand img{width:158px;filter:invert(.88) sepia(.18) brightness(.92)}
.nav{gap:20px;font:700 12px Georgia,'Times New Roman',serif;letter-spacing:.055em;text-transform:uppercase}.nav a,.nav summary{color:#d8ccb6}.nav a:hover,.nav summary:hover{color:#c8a76c;text-decoration:none}.more-menu{top:29px;background:#18120e;border:1px solid #806a47;box-shadow:7px 8px 20px #000;padding:14px}.menu-button{font-family:Georgia,serif;font-size:12px;color:#d8ccb6;border-color:#806a47}

/* shared headings: substantial, old-book scale, never billboard scale */
.page-head{max-width:1320px;margin:0 auto;padding:40px clamp(22px,5vw,72px) 25px;background:transparent;border-bottom:0;position:relative}
.page-head:after{content:'✦';display:block;color:#806a47;font-size:13px;margin-top:18px;letter-spacing:.5em;border-bottom:1px solid #4a3c2b;line-height:1px;text-indent:18px}
.page-head>span,.file-label,.section-label,.clipping span,.article-mast>span,.compact-label{font:700 11px 'Courier New',monospace;letter-spacing:.12em;color:#ad8b55;text-transform:uppercase}
.page-head h1{font-size:clamp(38px,4.3vw,58px);line-height:1.03;margin:8px 0 8px;color:#eee2cc;font-weight:normal;letter-spacing:-.025em;text-shadow:0 2px 0 #000}
.page-head p{font-size:17px;line-height:1.6;max-width:760px;color:#bdb09a;margin:0}

/* homepage: old study, comfortable scale, irregular but readable */
.home-intro{max-width:1320px;margin:0 auto;padding:42px clamp(22px,5vw,72px) 32px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:56px;border-bottom:0;position:relative}
.home-intro:after{content:'';position:absolute;left:5%;right:5%;bottom:0;height:6px;border-top:1px solid #6e593a;border-bottom:1px solid #33291e;background:linear-gradient(90deg,transparent,#5d472d 15%,#a1844e 50%,#5d472d 85%,transparent)}
.home-intro .eyebrow{font:700 11px 'Courier New',monospace;letter-spacing:.14em;color:#a98a58}.home-intro h1{font-size:clamp(42px,5vw,68px);line-height:.98;letter-spacing:-.035em;margin:10px 0 14px;color:#efe3cd;font-weight:normal;text-shadow:0 3px 0 #000}.home-intro p{font-size:19px;line-height:1.65;max-width:760px;color:#c5b9a4}
.now-line{position:relative;border:1px solid #6e5a3d;border-left:5px solid #6b3030;padding:23px 25px 20px;background:linear-gradient(145deg,#2b2117,#1a1510);box-shadow:10px 12px 22px rgba(0,0,0,.28);transform:rotate(.35deg)}
.now-line:before{content:'CURRENT NOTE';position:absolute;right:17px;top:-9px;background:#15100c;color:#a88a59;border:1px solid #69563a;padding:3px 7px;font:700 9px 'Courier New';letter-spacing:.12em}.now-line b{font:700 10px 'Courier New';letter-spacing:.12em;color:#c4a466}.now-line p{font-size:16px;line-height:1.55;color:#ddd1bd}.now-line small{font:10px 'Courier New';color:#8f826e}
.home-index{max-width:1320px;margin:0 auto;padding:42px clamp(22px,5vw,72px) 70px;display:grid;grid-template-columns:repeat(12,1fr);gap:38px 44px;position:relative}
.home-panel{border:0;padding:0;min-width:0;position:relative}.home-panel:before{content:'';display:block;width:46px;height:2px;background:#8f7447;margin-bottom:11px}.home-panel h2{font-size:clamp(25px,2.5vw,36px);line-height:1.08;font-weight:normal;margin:9px 0 10px;color:#e8dcc7}.home-panel p{font-size:16px;line-height:1.62;color:#b7aa95;margin:8px 0 13px}.home-panel .meta{font:10px 'Courier New';color:#8f826e;text-transform:uppercase}.home-panel a.more{font:700 11px Georgia,serif;color:#c4a46c;text-transform:none;letter-spacing:.035em;text-decoration:none;border-bottom:1px solid #695536;padding-bottom:2px}.home-panel a.more:hover{color:#ead5ac;border-color:#b99a62}.home-panel img{width:100%;display:block;margin:11px 0 14px;filter:saturate(.68) brightness(.72) sepia(.08) contrast(1.08);border:7px solid #2a2016;outline:1px solid #69563b;box-shadow:7px 9px 18px rgba(0,0,0,.28)}
.home-blog{grid-column:span 7}.home-journal{grid-column:span 5;padding:24px 28px;background:linear-gradient(145deg,#201914,#16120e);border:1px solid #4f412e;align-self:start}.home-reading{grid-column:span 4}.home-video{grid-column:span 8}.home-travel{grid-column:span 7}.home-projects{grid-column:span 5;padding:22px 25px;border-left:3px solid #4b5c48;background:rgba(29,38,31,.35)}
.home-video .thumb:before{content:'● REC';top:15px;left:15px;background:#0b0907d9;color:#a9433e;padding:4px 7px;font:700 10px 'Courier New'}.mini-map{height:185px;border:8px solid #281e15;outline:1px solid #715d3f;background:linear-gradient(rgba(19,33,25,.86),rgba(19,33,25,.86)),repeating-linear-gradient(0deg,#2b3a2e 0 19px,#1c2a21 20px);box-shadow:7px 9px 18px rgba(0,0,0,.28)}.mini-map:before{content:'✣';position:absolute;right:20%;top:24%;font-size:38px;color:#8e6c40;opacity:.75}.mini-map:after{left:12px;bottom:11px;font-size:10px;color:#c0b391}

/* content areas: fewer cards, more pages / shelves / framed objects */
.article-list,.journal-list,.project-files,.library-empty,.catalog-placeholder,.link-directory,.tickets,.contact-sheets,.two-col{max-width:1240px;padding:34px clamp(22px,4vw,50px) 70px}
.clipping{grid-template-columns:minmax(280px,420px) 1fr;gap:38px;padding:28px 0;background:transparent;border-top:1px solid #66533a;border-bottom:1px solid #30271d}.clipping img{max-height:270px;object-fit:cover;border:8px solid #251c13;outline:1px solid #725e40;box-shadow:8px 10px 20px #080706}.clipping h2{font-size:clamp(31px,3.4vw,46px);font-weight:normal;color:#e8dcc7;margin:10px 0}.clipping p{font-size:17px;line-height:1.65;color:#b9ad98}
.article-mast{max-width:980px;margin:0 auto;padding:48px 28px 30px;background:transparent;border-bottom:1px solid #5d4b34}.article-mast h1{font-size:clamp(42px,5vw,64px);line-height:1.02;letter-spacing:-.03em;color:#eee2cd;font-weight:normal}.prose{max-width:820px;margin:44px auto 70px;font-size:19px;line-height:1.82;color:#d4c8b4}.prose h2,.prose h3{color:#eadcc4}.prose a{color:#d0ad70}
.journal-list{max-width:1000px}.journal-entry{max-width:880px;margin:0 0 34px;padding:30px 36px;background:linear-gradient(100deg,#1c1712,#15110e);border:1px solid #50422f;border-left:4px solid #6d3331;box-shadow:8px 9px 20px rgba(0,0,0,.2)}.journal-entry:nth-child(even){margin-left:auto;border-left-color:#4a624f}.journal-entry h2{font-size:34px;color:#e7dbc5}.journal-entry details p{font-size:18px;line-height:1.75;color:#c8bca8}.journal-date{color:#a88a59}
.map-paper{max-width:1240px;margin:35px auto 30px;padding:17px;background:linear-gradient(145deg,#2c2116,#17130e);border:1px solid #7b6542;outline:5px solid #17110d;box-shadow:0 14px 28px #080706;transform:none}.map-title{padding:12px 12px 15px}.map-title h2{font-size:36px;color:#e4d6bd}.map-title p{font-size:12px;color:#a99c86}#travel-map{height:520px;border:1px solid #806c49;filter:sepia(.3) saturate(.72) brightness(.78) contrast(1.08)}
.two-col{grid-template-columns:1.15fr .85fr;gap:48px}.place-card,.van-sheet{padding:30px;background:rgba(29,24,18,.74);border:1px solid #574934;color:#d8ccb8}.place-card h2,.van-sheet h2{font-size:32px;color:#e7dac2}.van-sheet{background:linear-gradient(145deg,#272016,#1a1510);border-top:4px solid #3f5a49}.van-sheet dl{border-color:#5b4d38}.van-sheet dt,.van-sheet dd{border-color:#493d2d}.van-sheet dt{color:#ad915e}
.project-files{grid-template-columns:1.2fr .8fr;gap:40px}.project-files .big{min-height:280px}.paper,.folder{background:linear-gradient(145deg,#2a2118,#1b1611);color:#ddd0ba;border:1px solid #68563a;box-shadow:9px 11px 20px rgba(0,0,0,.25)}.folder{border-top:10px solid #64452d}.tape{background:#0e0e0c}.map-card{background:#202a21;color:#d6d0b9;border-color:#51654f}.empty-file{border:1px dashed #6b593e;color:#a99a82;background:rgba(28,22,16,.4);font-size:15px}
.channel-tabs{max-width:1240px;margin:25px auto 8px;padding:0 22px}.channel-tab{background:#1a1510;color:#cfc2ad;border:1px solid #554630;padding:11px 15px;font-family:Georgia,serif}.channel-tab.active{background:#3a2b1d;color:#f0e3ca;border-color:#9b7e4c}.video-grid{max-width:1240px;padding:25px 22px 70px;grid-template-columns:repeat(4,1fr);gap:28px 24px}.video-frame{border:7px solid #211912;outline:1px solid #5e4d36;box-shadow:6px 8px 14px #080706}.video-frame img{filter:saturate(.7) brightness(.78)}.video-card h3{font-size:17px;color:#dfd2bc}.video-card p{font-size:10px;color:#897e6c}
.catalog-card,.catalog-placeholder{background:linear-gradient(145deg,#241c14,#17120e);color:#d9cdb7;border:1px solid #715d3e;box-shadow:8px 10px 18px rgba(0,0,0,.22);padding:34px}.library-empty{max-width:980px}.link-directory{grid-template-columns:repeat(2,1fr);gap:12px}.link-row{padding:17px 19px;background:#19140f;border:1px solid #493c2c;color:#d7cbb5}.link-row:hover{background:#231b13;border-color:#806a47}.link-row img{filter:grayscale(1) invert(.8) sepia(.25)}.link-row small{color:#897e6c}.support-ticket,.contact-sheets a{padding:22px;background:#19140f;color:#d8ccb7;border:1px solid #51432f}.support-ticket:hover,.contact-sheets a:hover{background:#251c14}.about-sheet{max-width:900px;margin:38px auto 75px;padding:42px 48px;background:linear-gradient(145deg,#251d15,#17120e);border:1px solid #6e593d;box-shadow:11px 13px 26px #080706}.about-sheet img{filter:invert(.85) sepia(.2)}.about-sheet h2{font-size:40px;color:#e7dbc4}.about-sheet p{font-size:18px;line-height:1.75;color:#c6baa6}
.lost{background:radial-gradient(circle at 30% 30%,#332319,#100d0a 55%);color:#e9ddc7}.lost h1{font-size:clamp(48px,7vw,82px)}
footer{background:linear-gradient(#100d0a,#080706);color:#d1c4ad;padding:38px clamp(22px,5vw,70px);border-top:1px solid #806943;box-shadow:0 -8px 25px rgba(0,0,0,.2)}footer:before{content:'✦  ✦  ✦';color:#715d3d;letter-spacing:.8em;font-size:10px}footer p{font-size:14px;color:#918572}.footer-links{font-size:14px}.footer-links a{color:#c4b79f}footer small{font-size:10px;color:#776d5f}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#1c1712;color:#ded1ba}.jp-pin{background:#7b3936;border-color:#cbbd9f}
@media(max-width:1100px){.video-grid{grid-template-columns:repeat(3,1fr)}.home-blog,.home-video{grid-column:span 7}.home-journal,.home-travel{grid-column:span 5}.home-reading{grid-column:span 5}.home-projects{grid-column:span 7}}
@media(max-width:820px){body{font-size:17px}.site-header{position:relative}.nav{background:#100d0a;padding:20px}.home-intro{grid-template-columns:1fr;gap:30px;padding-top:32px}.home-intro h1{font-size:45px}.home-index{grid-template-columns:1fr;padding-top:34px}.home-panel,.home-blog,.home-journal,.home-reading,.home-video,.home-travel,.home-projects{grid-column:1}.home-journal,.home-projects{padding:20px}.page-head{padding-top:30px}.page-head h1{font-size:39px}.clipping{grid-template-columns:1fr}.two-col,.project-files{grid-template-columns:1fr}.video-grid{grid-template-columns:repeat(2,1fr)}.link-directory{grid-template-columns:1fr}#travel-map{height:430px}}
@media(max-width:520px){.video-grid{grid-template-columns:1fr}.home-intro h1{font-size:39px}.page-head h1{font-size:36px}.home-panel h2{font-size:29px}.journal-entry{padding:24px}.article-mast h1{font-size:39px}}

/* =====================================================================
   PROTOTYPE 05 — PERSONAL MAXIMALISM / THE ROOM
   The environment is dark and old; the objects are allowed to be modern,
   colorful, mismatched, useful, and personal.
   ===================================================================== */
:root{--room:#100d0a;--wood:#21160f;--wood2:#342216;--lamp:#d5ad68;--ivory:#e7dcc5;--dust:#9b8d77;--wine:#6e2d31;--moss:#35483b;--paper-warm:#d8c7a4}
body{background:var(--room);background-image:radial-gradient(circle at 18% 8%,rgba(124,82,39,.18),transparent 24%),radial-gradient(circle at 86% 38%,rgba(91,42,34,.13),transparent 28%),repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,transparent 1px 7px);color:var(--ivory);font-size:17px}
.top-rule{height:4px;background:#745b36;box-shadow:0 1px #15100c,0 2px #a2814d}
.site-header{background:linear-gradient(#1c130e,#110d0a);border-bottom:1px solid #5e472d;padding:14px clamp(18px,4vw,58px);box-shadow:0 8px 24px rgba(0,0,0,.28)}
.brand img{width:175px;filter:invert(.87) sepia(.22) saturate(.75)}
.nav{font-family:Georgia,'Times New Roman',serif;font-size:14px;text-transform:none;font-weight:normal;gap:20px;color:#cbbda6}.nav a:hover{color:#f0dfbd;text-decoration:none;border-bottom:1px solid #9e7d4c}.more-menu{background:#18110d;color:#d8cab3;border:1px solid #6d5335;box-shadow:8px 10px 25px #000;padding:14px}
.page-head{max-width:1240px;margin:0 auto;padding:38px clamp(22px,4vw,50px) 24px;background:transparent;border-bottom:1px solid #493725}.page-head>span{color:#9d8052}.page-head h1{font-size:clamp(34px,4vw,52px);color:#eee1c9;text-shadow:none}.page-head p{font-size:18px;color:#b9ad99}.article-list,.journal-list,.project-files,.library-empty,.catalog-placeholder,.link-directory,.tickets,.contact-sheets,.two-col{margin-top:0}
/* Do not antique the user's real media. */
.home-panel img,.video-frame img,.clipping img,.tape img{filter:none}

/* Homepage as an eclectic room rather than a component grid. */
.room-home{max-width:1450px;margin:0 auto;padding:0 clamp(18px,4vw,58px) 70px}.room-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:54px;align-items:center;padding:46px 0 38px;border-bottom:1px solid #4b3825;position:relative}.room-intro:after{content:'';position:absolute;bottom:-4px;left:0;width:42%;height:7px;background:linear-gradient(90deg,#6d4c2c,#a17c47,#382718,transparent)}.intro-copy .eyebrow,.object-tag{font:700 10px 'Courier New',monospace;letter-spacing:.13em;color:#ad8c58}.intro-copy h1{font-size:clamp(46px,5.4vw,76px);font-weight:normal;line-height:.95;margin:8px 0 14px;color:#eee1ca;letter-spacing:-.035em}.intro-copy p{max-width:760px;font-size:19px;line-height:1.65;color:#c6baa6;margin:0}.quick-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px}.quick-links a{color:#d6bd8c;text-decoration:none;border-bottom:1px solid #665035;padding-bottom:2px}.desk-note{background:#d5c39e;color:#241c13;padding:23px 27px 20px;box-shadow:8px 10px 25px #050403;transform:rotate(-1deg);position:relative}.desk-note:before{content:'';position:absolute;width:58px;height:17px;background:rgba(180,158,111,.55);top:-8px;left:42%;transform:rotate(2deg)}.desk-note span{font:700 10px 'Courier New';letter-spacing:.1em;color:#713b32}.desk-note p{font-size:16px;line-height:1.55;margin:10px 0}.desk-note small{font-style:italic;color:#5f5443}
.room-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:46px 42px;padding:52px 0 40px;align-items:start}.object{min-width:0;position:relative}.object h2{font-weight:normal;line-height:1.05}.object p{line-height:1.6}.object a{color:inherit}.writing-sheet{grid-column:span 7;background:#d9c8a5;color:#211a12;padding:18px 18px 26px;box-shadow:10px 14px 30px #050403;transform:rotate(-.25deg)}.writing-sheet:after{content:'';position:absolute;inset:7px;border:1px solid rgba(73,52,30,.35);pointer-events:none}.writing-sheet>img{width:48%;float:left;margin:8px 25px 12px 0;filter:none;border:1px solid #5b4831}.writing-sheet .object-tag{color:#783a32}.writing-copy h2{font-size:clamp(30px,3.4vw,48px);margin:7px 0}.writing-copy p{font-size:16px}.writing-copy a{font-weight:bold}.writing-copy .meta{font:10px 'Courier New';color:#6d5b44}.monitor{grid-column:span 5;background:#151515;border:12px solid #292723;border-bottom-width:20px;border-radius:5px;padding:7px;box-shadow:11px 16px 28px #030303, inset 0 0 0 1px #4b4943;transform:rotate(.3deg)}.monitor:after{content:'';position:absolute;width:58px;height:6px;background:#34312c;bottom:-14px;left:calc(50% - 29px);border-radius:4px}.monitor-bar{display:flex;justify-content:space-between;font:700 9px 'Courier New';padding:3px 4px 8px;color:#a7a7a1}.monitor-bar span:first-child{color:#e4524d}.monitor>img{width:100%;display:block;filter:none}.monitor-caption{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:11px 6px 4px;color:#eee}.monitor-caption b{font-size:16px}.monitor-caption small{grid-column:1;color:#96938d}.monitor-caption a{grid-row:1/3;grid-column:2;align-self:center;color:#d9b46f;text-decoration:none}.journal-page{grid-column:span 5;background:#efe6d3;color:#252019;padding:30px 34px 25px;box-shadow:9px 11px 22px #050403;transform:rotate(.45deg);background-image:repeating-linear-gradient(0deg,transparent 0 29px,rgba(79,96,111,.12) 30px)}.journal-page:before{content:'';position:absolute;left:24px;top:0;bottom:0;border-left:1px solid rgba(135,56,54,.28)}.journal-page>*{position:relative}.journal-page h2{font-size:32px;margin:12px 0}.journal-page p{font-size:16px}.journal-page .scribble{display:block;width:120px;max-height:55px;object-fit:contain;margin:18px 0 0 auto;filter:brightness(.25) sepia(.5)}.map-board{grid-column:span 7;min-height:320px;padding:31px 34px;background:#263328;color:#e3dbc8;border:9px solid #3b291b;outline:1px solid #775a35;box-shadow:10px 13px 27px #050403;overflow:hidden}.map-board:before,.map-lines{content:'';position:absolute;inset:0;opacity:.22;background-image:linear-gradient(35deg,transparent 47%,#9ab18e 48% 49%,transparent 50%),linear-gradient(-18deg,transparent 44%,#b6a478 45% 46%,transparent 47%);background-size:120px 90px,180px 130px}.map-board>*{position:relative}.map-board .pin{position:absolute;width:13px;height:13px;border-radius:50%;background:#a23d39;right:24%;top:31%;box-shadow:0 0 0 5px rgba(162,61,57,.18)}.map-board h2{font-size:39px;margin:35px 0 6px}.map-board p{max-width:520px;color:#c8c4af}.coords{font:700 10px 'Courier New';color:#b9a46d}.map-board a{color:#e0c183}.bookshelf{grid-column:span 7;padding:26px 28px 29px;background:linear-gradient(90deg,#26170f,#3b2416 50%,#21130d);border:1px solid #5e3e27;box-shadow:9px 13px 26px #050403}.bookshelf h2{font-size:36px;margin:17px 0 5px}.bookshelf p{color:#c8baa4}.bookshelf a{color:#d8ba80}.book-spines{height:105px;display:flex;align-items:end;gap:5px;border-bottom:10px solid #160d09;padding:0 12px;box-shadow:inset 0 -3px #5b3821}.book-spines i{display:block;width:34px;height:82px;background:#61332e;border:1px solid #211}.book-spines i:nth-child(2){height:96px;width:27px;background:#34493c}.book-spines i:nth-child(3){height:72px;width:42px;background:#9a7844}.book-spines i:nth-child(4){height:91px;width:31px;background:#273c52}.book-spines i:nth-child(5){height:78px;width:36px;background:#6e5731}.book-spines i:nth-child(6){height:101px;width:25px;background:#552a34}.project-scrap{grid-column:span 5;padding:28px 30px;background:#211b16;border:1px solid #54483b;border-top:5px solid #574638;box-shadow:7px 10px 20px #050403}.project-scrap:after{content:'WORKBENCH';position:absolute;right:16px;bottom:12px;font:700 9px 'Courier New';color:#5d5549;letter-spacing:.15em}.project-scrap h2{font-size:38px;margin:15px 0 6px}.project-scrap p{color:#bdb2a0}.project-scrap a{color:#d5b77d}.room-bottom{border-top:1px solid #493724;margin-top:15px;padding:28px 0 0;display:flex;gap:24px;flex-wrap:wrap;align-items:center;color:#a99b86}.room-bottom span{font:700 10px 'Courier New';letter-spacing:.12em;color:#765f40;margin-right:10px}.room-bottom a{color:#c7b79e;text-decoration:none}.room-bottom a:hover{color:#f0dfbf}

/* Interior pages stay part of the same room but content gets its own identity. */
.clipping img,.video-frame img{filter:none}.video-frame{border-color:#292723;outline-color:#514c43}.video-card h3{font-size:18px}.catalog-card,.catalog-placeholder{background:#2a1b12;border-color:#60452d}.map-paper{background:#2a1c12}.journal-entry{background:#efe6d3;color:#282119;border-color:#8b7859;box-shadow:9px 12px 24px #050403}.journal-entry h2{color:#2b2118}.journal-entry details p{color:#332a20}.journal-date{color:#7a4037}.about-sheet{background:#251a13}.link-row,.support-ticket,.contact-sheets a{background:#1d1611}
footer{background:#090706;border-top-color:#493724}
@media(max-width:900px){.room-intro{grid-template-columns:1fr;gap:30px}.room-grid{grid-template-columns:1fr}.writing-sheet,.monitor,.journal-page,.map-board,.bookshelf,.project-scrap{grid-column:1;transform:none}.writing-sheet>img{float:none;width:100%;margin:10px 0 18px}.room-home{padding-inline:22px}}
@media(max-width:520px){.intro-copy h1{font-size:44px}.room-intro{padding-top:32px}.room-grid{gap:30px}.writing-sheet,.journal-page,.map-board,.bookshelf,.project-scrap{padding:23px}.map-board{border-width:6px}.room-bottom{gap:16px}}

/* =====================================================================
   PROTOTYPE 06 — VICTORIAN GOTHIC PERSONAL STUDY
   The house is old, ornate and dark. John's actual life remains current.
   ===================================================================== */
:root{
  --gothic-black:#090807;--gothic-wood:#160f0c;--gothic-walnut:#281812;
  --gothic-red:#5b2029;--gothic-green:#1f352d;--gothic-brass:#a47d43;
  --gothic-gold:#c09a5c;--gothic-ivory:#e8dcc4;--gothic-muted:#a99b84;
  --gothic-line:#5f472e;--sidebar:272px
}
html{background:var(--gothic-black)}
body{background:
 radial-gradient(circle at 75% 0,rgba(96,35,43,.14),transparent 28%),
 radial-gradient(circle at 45% 80%,rgba(40,72,57,.09),transparent 35%),
 repeating-linear-gradient(90deg,rgba(192,154,92,.018) 0 1px,transparent 1px 10px),
 #0e0b09;color:var(--gothic-ivory);min-height:100vh}
.top-rule{position:fixed;z-index:30;left:0;top:0;width:var(--sidebar);height:7px;background:linear-gradient(90deg,#35131a,#a47d43,#1d322a,#a47d43,#35131a);box-shadow:0 1px #050403}
.site-header{position:fixed;z-index:25;left:0;top:0;bottom:0;width:var(--sidebar);height:100vh;padding:44px 30px 28px;display:flex;flex-direction:column;align-items:stretch;gap:26px;background:
 linear-gradient(rgba(12,8,6,.22),rgba(12,8,6,.55)),
 repeating-linear-gradient(90deg,transparent 0 25px,rgba(255,255,255,.014) 26px,transparent 27px 53px),
 linear-gradient(90deg,#120c09,#271711 48%,#130c09);border:0;border-right:1px solid #65472e;box-shadow:8px 0 30px rgba(0,0,0,.48)}
.site-header:before,.site-header:after{content:'✦';display:block;position:absolute;left:28px;right:28px;text-align:center;color:#8d6a3b;font-size:18px;line-height:18px;border-top:1px solid #5e452d;border-bottom:1px solid #2e2017;padding:8px 0}
.site-header:before{top:112px}.site-header:after{bottom:24px}
.brand{display:block;text-align:center;padding-bottom:30px;margin-bottom:16px}.brand img{width:185px;max-width:100%;filter:invert(.9) sepia(.28) saturate(.8) drop-shadow(0 2px 3px #000)}
.nav{margin:0;display:flex;flex-direction:column;align-items:stretch;gap:0;font-family:Georgia,'Times New Roman',serif;font-size:16px;color:#d8cab3}
.nav>a,.nav>details>summary{display:block;padding:10px 14px;border-bottom:1px solid rgba(164,125,67,.18);text-decoration:none;position:relative}
.nav>a:before,.nav>details>summary:before{content:'◆';font-size:6px;color:#8f6b3d;margin-right:10px;vertical-align:middle}
.nav>a:hover,.nav>details>summary:hover{background:linear-gradient(90deg,rgba(91,32,41,.35),transparent);color:#f1e2c6;border-bottom-color:#745534}
.nav details{position:relative}.nav summary{list-style:none}.more-menu{position:static;width:auto;background:#0e0a08;border:1px solid #4e3926;border-top:0;box-shadow:inset 0 8px 15px rgba(0,0,0,.25);padding:7px 10px 9px 27px;display:grid;gap:0}.more-menu a{padding:7px 5px;color:#bcae99;text-decoration:none;font-size:14px}.more-menu a:hover{color:#e8d7b8}.menu-button{display:none}
main,body>footer{margin-left:var(--sidebar)}
main{min-height:70vh}
body>footer{background:#080605;border-top:1px solid #4c3523;padding:32px clamp(24px,5vw,70px);position:relative}
body>footer:before{content:'❦';position:absolute;top:-14px;left:50%;padding:0 12px;background:#0a0706;color:#9d7540;font-size:22px}

/* Gothic page headings: titles, not billboard slogans. */
.page-head{max-width:none;margin:0;padding:44px clamp(28px,6vw,82px) 28px;background:linear-gradient(90deg,rgba(38,21,17,.86),rgba(18,13,10,.45)),radial-gradient(circle at 90% 20%,rgba(91,32,41,.16),transparent 25%);border-bottom:1px solid #5a4029;position:relative;overflow:hidden}
.page-head:after{content:'✦  ❦  ✦';position:absolute;right:5vw;top:28px;color:#725333;letter-spacing:.55em;font-size:13px;opacity:.9}
.page-head>span{font:700 10px 'Courier New',monospace;letter-spacing:.16em;color:#a9844d}.page-head h1{font-size:clamp(36px,4.2vw,56px);line-height:1;margin:11px 0 10px;color:#f0e2c8;font-weight:normal;letter-spacing:-.025em}.page-head p{max-width:760px;margin:0;color:#b9ab95;font-size:17px;line-height:1.55}

/* Homepage: a room, now with a stronger Gothic architectural frame. */
.room-home{max-width:1500px;margin:0 auto;padding:0 clamp(30px,5vw,76px) 80px}
.room-intro{grid-template-columns:1.3fr .7fr;gap:60px;padding:55px 0 44px;border-bottom:1px solid #5a4029}.room-intro:before{content:'';position:absolute;left:-18px;top:28px;bottom:28px;width:5px;border-left:1px solid #7b5937;border-right:1px solid #382619}.room-intro:after{width:46%;height:3px;bottom:-2px;background:linear-gradient(90deg,#5b2029,#b0874b,#1f352d,transparent)}
.intro-copy .eyebrow,.object-tag{color:#b58c51}.intro-copy h1{font-size:clamp(52px,6vw,82px);font-weight:normal;color:#f1e3c9;text-shadow:0 2px 8px #000;letter-spacing:-.045em;margin:9px 0 15px}.intro-copy h1:after{content:' ❦';font-size:.35em;color:#9b7440;vertical-align:middle;margin-left:12px}.intro-copy p{font-size:19px;color:#c9bba6}.quick-links a{color:#d3b176;border-bottom-color:#6e5032}
.desk-note{background:#d7c5a1;color:#211911;border:1px solid #735d3f;box-shadow:10px 14px 35px #030201;padding:25px 29px}.desk-note:after{content:'JP';position:absolute;right:17px;bottom:13px;width:34px;height:34px;border:1px solid #713c3e;border-radius:50%;display:grid;place-items:center;font:700 11px Georgia;color:#713c3e;transform:rotate(-8deg)}
.room-grid{gap:54px 46px;padding-top:58px}.object:before{pointer-events:none}
.writing-sheet{border:1px solid #7f6846;box-shadow:12px 16px 36px #030201}.writing-sheet:before{content:'❧';position:absolute;right:17px;top:11px;color:#755b3b;font-size:25px;z-index:2}.monitor{border-color:#302b28;box-shadow:12px 17px 35px #020201,0 0 0 1px #5a4937}.journal-page{border:1px solid #8a7656;box-shadow:11px 15px 30px #030201}.map-board{background:#1c3029;border:11px solid #2d1a12;outline:1px solid #9a7440;box-shadow:13px 17px 36px #020201}.map-board:after{content:'✦';position:absolute;right:22px;bottom:16px;color:#b18a4f;font-size:28px}.bookshelf{border:1px solid #76502f;box-shadow:12px 16px 34px #020201;background:linear-gradient(90deg,#1b100b,#382015 48%,#180e0a)}.project-scrap{border:1px solid #5d4632;border-top:4px double #9d7844;background:linear-gradient(145deg,#1d1713,#17110e)}
.room-bottom{border-top:1px solid #533b27;position:relative;padding-top:34px}.room-bottom:before{content:'❦';position:absolute;top:-13px;left:50%;background:#0e0b09;padding:0 13px;color:#8c673a;font-size:20px}

/* Interior content — Victorian room, contemporary objects. */
.article-list,.journal-list,.project-files,.library-empty,.catalog-placeholder,.link-directory,.tickets,.contact-sheets,.two-col{max-width:1220px;padding-top:48px}
.clipping{background:#d9c9aa;color:#211a13;border:1px solid #745d3d;box-shadow:9px 12px 28px #020201;position:relative}.clipping:after{content:'❦';position:absolute;right:18px;bottom:11px;color:#755d3e}.clipping h2{font-size:38px}
.article-mast{margin-left:var(--sidebar);padding-top:65px;background:linear-gradient(120deg,#cbb994,#e1d3b8);position:relative}.article-mast:after{content:'❦';position:absolute;right:7%;bottom:22px;color:#765d3c;font-size:28px}.article-mast h1{font-size:clamp(42px,6vw,72px);letter-spacing:-.04em}
.prose{color:#e0d5c1;font-size:18px}.prose a{color:#d0a965}.prose h2,.prose h3{color:#f0e0c4}
.journal-entry{background:#e4d7be;color:#282018;border-left:3px solid #672b32;box-shadow:9px 12px 28px #020201;position:relative}.journal-entry:after{content:'❧';position:absolute;right:18px;top:12px;color:#866b48;font-size:22px}
.map-paper{background:#20150f;border:1px solid #775838;box-shadow:11px 14px 31px #020201;transform:none}.map-title h2{color:#e8d8ba}.map-title p{color:#ad9f89}#travel-map{border:4px double #8e6a3e;filter:sepia(.16) brightness(.82) saturate(.85)}
.place-card,.van-sheet{background:#d9c9aa;color:#211a13;border:1px solid #775e3d;box-shadow:7px 9px 20px #020201}.van-sheet{background:#c9b58e}
.project-files .paper,.catalog-card,.catalog-placeholder{background:#21150f;color:#e1d4bf;border:1px solid #6e4d30;box-shadow:8px 11px 25px #020201}.empty-file{border-color:#684d31;color:#a99b84}
.channel-tabs{padding-top:10px}.channel-tab{background:#17110e;color:#c6b8a2;border:1px solid #59422d}.channel-tab.active{background:#4e2028;color:#f0dfc2;border-color:#a27b44}.video-frame{box-shadow:7px 10px 24px #020201}.video-card p{color:#948875}
.link-row,.support-ticket,.contact-sheets a{background:linear-gradient(90deg,#17110e,#211610);border:1px solid #493522;color:#d8cab5}.link-row:hover,.support-ticket:hover,.contact-sheets a:hover{background:linear-gradient(90deg,#251714,#1c1510);border-color:#755535}.link-row small{color:#948875}.link-row img{filter:grayscale(1) brightness(1.8) sepia(.25)}
.about-sheet{background:linear-gradient(145deg,#1b120e,#251812);border:1px solid #5e432b;box-shadow:10px 14px 30px #020201}

@media(max-width:1050px){:root{--sidebar:230px}.site-header{padding-inline:22px}.nav{font-size:15px}.brand img{width:165px}.room-grid{gap:38px 30px}.article-mast{margin-left:var(--sidebar)}}
@media(max-width:820px){
 :root{--sidebar:0px}.top-rule{position:fixed;width:100%;height:4px}.site-header{position:sticky;top:0;width:100%;height:auto;min-height:64px;padding:12px 18px;display:flex;flex-direction:row;align-items:center;background:#130d0a;border-right:0;border-bottom:1px solid #63472e}.site-header:before,.site-header:after{display:none}.brand{padding:0;margin:0}.brand img{width:145px}.menu-button{display:block;margin-left:auto;color:#d9c8ac;border:1px solid #6e5135;background:#17100c;padding:8px 11px}.nav{display:none;position:absolute;left:0;right:0;top:63px;background:#100b09;border-bottom:1px solid #684b30;padding:10px 18px 18px;box-shadow:0 12px 30px #000}.nav.open{display:flex}.nav>a,.nav>details>summary{padding:9px 10px}.more-menu{background:#0b0807}main,body>footer,.article-mast{margin-left:0}.room-home{padding-inline:24px}.room-intro{grid-template-columns:1fr}.page-head{padding-top:35px}.page-head:after{display:none}
}
@media(max-width:520px){.intro-copy h1{font-size:46px}.page-head h1{font-size:38px}.page-head p{font-size:16px}.clipping h2{font-size:31px}}

/* =====================================================================
   PROTOTYPE 07 — BLACKENED VICTORIAN STUDY
   Keeps Prototype 06's layout. Removes decorative glyphs and strips the
   red/green/gold theme back to charcoal, blackened walnut, pewter and ivory.
   Real content is allowed to provide its own color.
   ===================================================================== */
:root{
  --gothic-black:#070707;--gothic-wood:#101010;--gothic-walnut:#191817;
  --gothic-red:#392a2d;--gothic-green:#252927;--gothic-brass:#77736b;
  --gothic-gold:#aaa49a;--gothic-ivory:#e5e1d9;--gothic-muted:#aaa59c;
  --gothic-line:#45433f
}
html{background:#050505}
body{background:
 radial-gradient(circle at 78% 5%,rgba(255,255,255,.035),transparent 26%),
 repeating-linear-gradient(90deg,rgba(255,255,255,.009) 0 1px,transparent 1px 12px),
 #0b0b0b;color:#e5e1d9}
.top-rule{background:linear-gradient(90deg,#1b1a19,#85817a,#252525,#85817a,#1b1a19);box-shadow:0 1px #000}
.site-header{background:
 linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.58)),
 repeating-linear-gradient(90deg,transparent 0 25px,rgba(255,255,255,.012) 26px,transparent 27px 53px),
 linear-gradient(90deg,#0b0b0b,#1b1918 48%,#0a0a0a);
 border-right-color:#45413c;box-shadow:8px 0 30px rgba(0,0,0,.55)}
.brand img{filter:invert(.9) grayscale(1) brightness(.96) drop-shadow(0 2px 3px #000)}
.nav{color:#d4d0c8}.nav>a,.nav>details>summary{border-bottom-color:rgba(170,164,154,.13)}
.nav>a:before,.nav>details>summary:before{content:'';display:none}
.nav>a:hover,.nav>details>summary:hover{background:linear-gradient(90deg,rgba(255,255,255,.055),transparent);color:#f3f0e9;border-bottom-color:#595650}
.more-menu{background:#0d0d0d;border-color:#3e3c38;box-shadow:inset 0 8px 15px rgba(0,0,0,.3)}.more-menu a{color:#bbb7af}.more-menu a:hover{color:#f0ede7}
.site-header:before,.site-header:after,.page-head:after,body>footer:before,.intro-copy h1:after,.writing-sheet:before,.map-board:after,.room-bottom:before,.clipping:after,.article-mast:after,.journal-entry:after,footer:before{content:'' !important;display:none !important}

.page-head{background:linear-gradient(90deg,rgba(29,28,27,.88),rgba(12,12,12,.5)),radial-gradient(circle at 90% 20%,rgba(255,255,255,.025),transparent 25%);border-bottom-color:#3f3d39}
.page-head>span,.file-label,.section-label,.clipping span,.article-mast>span,.compact-label,.object-tag,.intro-copy .eyebrow{color:#aaa49a}
.page-head h1,.intro-copy h1{color:#f0ede7;text-shadow:0 2px 8px #000}.page-head p,.intro-copy p{color:#bcb8b0}
.room-intro{border-bottom-color:#403e3a}.room-intro:before{border-left-color:#56534e;border-right-color:#262522}.room-intro:after{background:linear-gradient(90deg,#333230,#a09b92,#4c4b48,transparent)}
.quick-links a{color:#d1ccc3;border-bottom-color:#55514b}
.desk-note{background:#cbc5b8;color:#1b1a18;border-color:#68645e;box-shadow:10px 14px 35px #000}.desk-note:after{display:none}
.room-grid{gap:54px 46px}.writing-sheet,.journal-page{border-color:#68645e;box-shadow:12px 16px 36px #000}.monitor{border-color:#292929;box-shadow:12px 17px 35px #000,0 0 0 1px #484641}.map-board{background:#202221;border-color:#171514;outline-color:#625f59;box-shadow:13px 17px 36px #000}.bookshelf{border-color:#47433f;box-shadow:12px 16px 34px #000;background:linear-gradient(90deg,#0d0d0d,#201e1d 48%,#0c0c0c)}.project-scrap{border-color:#45413d;border-top-color:#77726a;background:linear-gradient(145deg,#171717,#0f0f0f)}.room-bottom{border-top-color:#3e3b37}

.now-line{border-color:#504d47;border-left-color:#68645e;background:linear-gradient(145deg,#1b1a19,#101010)}.now-line:before{background:#0d0d0d;color:#aaa49a;border-color:#4b4843}.now-line b{color:#c7c2b9}.now-line p{color:#ddd9d1}.now-line small{color:#969189}
.home-panel:before{background:#77736b}.home-panel h2{color:#e9e5dd}.home-panel p{color:#b7b2aa}.home-panel .meta{color:#918c84}.home-panel a.more{color:#cbc6bd;border-bottom-color:#55514b}.home-panel a.more:hover{color:#fff;border-color:#aaa49a}.home-journal{background:linear-gradient(145deg,#171717,#0e0e0e);border-color:#3e3c38}.home-projects{border-left-color:#555650;background:rgba(255,255,255,.018)}
.home-video .thumb:before{content:'REC';color:#d7d2ca;background:#090909d9}.mini-map{border-color:#181716;outline-color:#4e4b46;background:linear-gradient(rgba(27,29,28,.86),rgba(27,29,28,.86)),repeating-linear-gradient(0deg,#252725 0 19px,#1c1e1d 20px)}.mini-map:before{content:'';display:none}.mini-map:after{color:#bbb6ad}

.clipping{background:#d0cabd;color:#1c1b19;border-color:#615d56;box-shadow:9px 12px 28px #000}.clipping img{border-color:#1b1a19;outline-color:#595650;box-shadow:8px 10px 20px #000}
.article-mast{background:linear-gradient(120deg,#bcb6aa,#d5d0c5);border-bottom-color:#55514b}.article-mast h1{color:#1a1917;text-shadow:none}.article-mast>span{color:#55514b}.prose{color:#d9d5cd}.prose h2,.prose h3{color:#f0ede7}.prose a{color:#cbc6bd}
.journal-entry{background:#d6d0c4;color:#211f1c;border-color:#615d56;border-left-color:#68645e;box-shadow:9px 12px 28px #000}.journal-entry:nth-child(even){border-left-color:#85817a}.journal-entry h2{color:#24221f}.journal-entry details p{color:#34312d}.journal-date{color:#5d5953}
.map-paper{background:#151515;border-color:#55514b;box-shadow:11px 14px 31px #000}.map-title h2{color:#e7e3db}.map-title p{color:#aaa59c}#travel-map{border-color:#65615a;filter:brightness(.78) saturate(.75) contrast(1.06)}
.place-card,.van-sheet{background:#cbc5b9;color:#1d1c19;border-color:#625e57;box-shadow:7px 9px 20px #000}.van-sheet{background:#bbb5aa;border-top-color:#68645e}.van-sheet dl,.van-sheet dt,.van-sheet dd{border-color:#817c73}.van-sheet dt{color:#4d4a45}
.project-files .paper,.catalog-card,.catalog-placeholder,.paper,.folder{background:linear-gradient(145deg,#181818,#0f0f0f);color:#dcd8d0;border-color:#494641;box-shadow:8px 11px 25px #000}.folder{border-top-color:#5e5a54}.map-card{background:#202120;color:#d6d2ca;border-color:#555650}.empty-file{border-color:#514e49;color:#aaa59c}
.channel-tab{background:#121212;color:#c4c0b8;border-color:#403d39}.channel-tab.active{background:#302e2c;color:#f2efe8;border-color:#77736b}.video-frame{border-color:#181818;outline-color:#44413d;box-shadow:7px 10px 24px #000}.video-card h3{color:#ddd9d1}.video-card p{color:#918c84}
.link-row,.support-ticket,.contact-sheets a{background:linear-gradient(90deg,#111,#191817);border-color:#3c3935;color:#d4d0c8}.link-row:hover,.support-ticket:hover,.contact-sheets a:hover{background:linear-gradient(90deg,#1d1c1b,#151515);border-color:#65615a}.link-row small{color:#918c84}.link-row img{filter:grayscale(1) brightness(1.8)}
.about-sheet{background:linear-gradient(145deg,#131313,#1c1b1a);border-color:#45423e;box-shadow:10px 14px 30px #000}.about-sheet img{filter:invert(.86) grayscale(1)}
.lost{background:radial-gradient(circle at 30% 30%,#242321,#080808 55%)}
body>footer,footer{background:linear-gradient(#090909,#050505);border-top-color:#403d39;color:#cfcbc3}footer p{color:#8f8a82}.footer-links a{color:#c5c0b7}footer small{color:#77736d}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#171717;color:#dedad2}.jp-pin{background:#5f5c57;border-color:#c6c1b8}

/* Let the content itself supply color. */
.home-panel img,.video-frame img,.feature img,.clipping img{filter:none}
@media(max-width:820px){.site-header{background:#0d0d0d;border-bottom-color:#48453f}.menu-button{color:#d9d5cd;border-color:#57534d;background:#141414}.nav{background:#0b0b0b;border-bottom-color:#48453f}.more-menu{background:#080808}}

/* =====================================================================
   PROTOTYPE 08 — DARK SURFACES / HIGHER CONTRAST
   Keep the Prototype 07 structure and neutral Victorian palette, but remove
   the remaining bright paper cards. Content surfaces now live in graphite,
   blackened walnut and soft charcoal with consistent ivory typography.
   ===================================================================== */
:root{
  --surface-0:#0b0b0b;
  --surface-1:#111110;
  --surface-2:#171716;
  --surface-3:#1d1c1a;
  --surface-warm:#1b1815;
  --surface-line:#45423d;
  --text-main:#e7e3dc;
  --text-soft:#bbb6ae;
  --text-muted:#918c84;
}

/* Homepage objects: no bright paper floating in the dark room. */
.desk-note,
.writing-sheet,
.journal-page,
.home-journal,
.home-projects{
  background:linear-gradient(145deg,var(--surface-3),var(--surface-1)) !important;
  color:var(--text-main) !important;
  border-color:var(--surface-line) !important;
  box-shadow:10px 14px 30px rgba(0,0,0,.52) !important;
}
.desk-note{transform:rotate(-.35deg)}
.desk-note p,.writing-sheet p,.journal-page p,.home-journal p,.home-projects p{color:var(--text-soft) !important}
.desk-note span,.desk-note small,.writing-sheet span,.journal-page span{color:var(--text-muted) !important}
.writing-sheet h2,.journal-page h2,.desk-note h2,.home-journal h2,.home-projects h2{color:var(--text-main) !important}

/* Blog/listing surfaces. */
.clipping{
  background:linear-gradient(145deg,#1b1a18,#111110) !important;
  color:var(--text-main) !important;
  border-color:#4a4742 !important;
}
.clipping h2{color:var(--text-main) !important}
.clipping p{color:var(--text-soft) !important}
.clipping span{color:#aaa59d !important}

/* Article title area should feel like part of the room, not a white sheet. */
.article-mast{
  background:linear-gradient(110deg,#1c1b19,#101010 72%) !important;
  border-bottom-color:#46433e !important;
}
.article-mast h1{color:#f0ede7 !important;text-shadow:0 2px 8px #000 !important}
.article-mast>span{color:#aaa59d !important}

/* Journal entries: dark notebook pages with readable type. */
.journal-entry,
.journal-entry:nth-child(even){
  background:linear-gradient(145deg,#1c1b19,#111110) !important;
  color:var(--text-main) !important;
  border-color:#4b4843 !important;
  border-left-color:#706c65 !important;
}
.journal-entry h2{color:var(--text-main) !important}
.journal-entry details p{color:#c9c4bb !important}
.journal-date{color:#9e9990 !important}

/* Travel records and van sheet. */
.place-card,.van-sheet{
  background:linear-gradient(145deg,#1c1b19,#111110) !important;
  color:var(--text-main) !important;
  border-color:#4b4843 !important;
}
.place-card h2,.van-sheet h2{color:var(--text-main) !important}
.place-card p,.van-sheet p,.place-card dd,.van-sheet dd{color:#c7c2b9 !important}
.place-card span,.van-sheet dt{color:#9f9a91 !important}
.van-sheet dl,.van-sheet dt,.van-sheet dd{border-color:#403d39 !important}

/* Reading / catalog / generic content cards. */
.catalog-card,.catalog-placeholder,.paper,.folder,.project-files .paper{
  background:linear-gradient(145deg,#1a1918,#101010) !important;
  color:var(--text-main) !important;
  border-color:#48453f !important;
}
.catalog-card p,.catalog-placeholder p,.paper p,.folder p{color:var(--text-soft) !important}
.catalog-card span,.catalog-placeholder span,.paper span,.folder span{color:#9e9990 !important}

/* About and utility surfaces use the same tonal family. */
.about-sheet{
  background:linear-gradient(145deg,#191817,#101010) !important;
  color:var(--text-main) !important;
}
.about-sheet h2{color:var(--text-main) !important}
.about-sheet p{color:#c7c2b9 !important}

/* Keep form-like/link rows dark and improve contrast. */
.link-row,.support-ticket,.contact-sheets a{
  background:linear-gradient(90deg,#141414,#1b1a19) !important;
  color:#ddd9d1 !important;
}
.link-row small,.support-ticket small,.contact-sheets small{color:#9d9890 !important}

/* Slightly soften the page headings so the dark cards do not merge into them. */
.page-head{background:linear-gradient(90deg,#1a1918,#101010 72%,#0d0d0d) !important}

/* Inputs/summary-like pieces should never inherit dark text from old paper styles. */
.desk-note a,.writing-sheet a,.journal-page a,.journal-entry a,.place-card a,.van-sheet a,.catalog-card a,.catalog-placeholder a,.about-sheet a{color:#d8d3ca}


/* =====================================================================
   PROTOTYPE 10 — LINKS ICONS + MERCH ALIGNMENT
   ===================================================================== */

/* Platform marks should read clearly against the dark directory rows. */
.link-row img{
  width:28px !important;
  height:28px !important;
  object-fit:contain;
  filter:none !important;
  opacity:.92;
}

/* The merch placeholder belongs to the same left content line as the page
   heading rather than floating as a centered card in the content area. */
.catalog-placeholder{
  width:auto !important;
  max-width:900px !important;
  margin:48px clamp(28px,6vw,82px) 72px !important;
  padding:32px !important;
}

@media(max-width:820px){
  .catalog-placeholder{
    margin:30px 24px 55px !important;
    padding:24px !important;
  }
}

/* =====================================================================
   PROTOTYPE 11 — PERSONAL IDENTITY PASS
   Prototype 10 remains the visual baseline. This pass adds John's real
   monogram, signature, favicon and a quieter, more personal Right Now note.
   ===================================================================== */
.brand{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  gap:7px;
  text-decoration:none;
  padding:0 0 24px !important;
  margin:0 0 10px !important;
}
.brand .brand-mark{
  width:92px !important;
  height:108px;
  object-fit:contain;
  filter:invert(.88) grayscale(1) brightness(.98) !important;
  opacity:.94;
  drop-shadow:none;
}
.brand .brand-name{
  font-family:Georgia,'Times New Roman',serif;
  font-size:22px;
  line-height:1;
  letter-spacing:.02em;
  color:#e4e0d8;
}
.brand small{
  font:700 8px 'Courier New',monospace;
  letter-spacing:.18em;
  color:#817d76;
}

/* The status note should feel like a note from John, not another card. */
.personal-note{
  position:relative;
  transform:rotate(-.25deg) !important;
  border-left:3px solid #69655f !important;
  padding:24px 28px 22px !important;
}
.personal-note .note-heading{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:20px;
  padding-bottom:10px;
  margin-bottom:14px;
  border-bottom:1px solid #3f3d39;
}
.personal-note .note-heading span,
.personal-note .note-heading time{
  font:700 10px 'Courier New',monospace;
  letter-spacing:.13em;
  color:#aaa59d !important;
}
.personal-note .note-heading time{font-weight:400;color:#7f7b74 !important}
.personal-note p{font-size:19px;line-height:1.55;margin:0 0 13px !important;color:#d9d5cd !important}
.personal-note small{font:italic 13px Georgia,'Times New Roman',serif !important;color:#8f8a82 !important;letter-spacing:0 !important}

/* The handwritten signature belongs to the human About page, not everywhere. */
.about-signoff{
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid #3e3b37;
}
.about-signoff img{
  display:block;
  width:min(390px,72%) !important;
  height:auto;
  filter:invert(.88) grayscale(1) brightness(.98) !important;
  opacity:.9;
}

@media(max-width:1050px){
  .brand .brand-mark{width:78px !important;height:91px}
  .brand .brand-name{font-size:20px}
}
@media(max-width:820px){
  .brand{flex-direction:row;gap:10px;padding:0 !important;margin:0 !important}
  .brand .brand-mark{width:34px !important;height:40px}
  .brand .brand-name{font-size:19px}
  .brand small{display:none}
  .personal-note .note-heading{align-items:flex-start;flex-direction:column;gap:5px}
  
}

/* =====================================================================
   PROTOTYPE 12 — ANTIQUE GOLD / WARM IVORY IDENTITY PASS
   Keeps Prototype 11 structure and dark surfaces. The user's finished seal
   becomes the sidebar identity anchor; antique gold and warm ivory replace
   the stark monochrome accents without reintroducing bright cards.
   ===================================================================== */
:root{
  --jp-ivory:#e8dcc3;
  --jp-ivory-soft:#d7c9ad;
  --jp-gold:#b29768;
  --jp-gold-bright:#c8aa73;
  --jp-bronze:#786342;
  --jp-bronze-dark:#4f402c;
  --jp-muted:#a99d88;
}
body{color:var(--jp-ivory)}
.top-rule{background:linear-gradient(90deg,#18130e 0%,#4e402c 22%,#b29768 50%,#4e402c 78%,#18130e 100%);box-shadow:0 1px #050403,0 2px rgba(178,151,104,.12)}
.site-header{border-right-color:#5b4a32;box-shadow:8px 0 30px rgba(0,0,0,.62),inset -1px 0 rgba(178,151,104,.08)}
.brand .brand-mark{width:132px !important;height:132px !important;object-fit:contain;filter:drop-shadow(0 3px 8px #000) !important;opacity:.96}
.brand .brand-name{color:var(--jp-ivory) !important}.brand small{color:#9e8968 !important}
.nav{color:#d8ccb6}.nav>a,.nav>details>summary{border-bottom-color:rgba(178,151,104,.16)}
.nav>a:hover,.nav>details>summary:hover{color:#f2e7d1;border-bottom-color:var(--jp-gold);background:linear-gradient(90deg,rgba(178,151,104,.09),transparent)}
.more-menu{border-color:#59482f}.more-menu a{color:#cbbda5}.more-menu a:hover{color:#f0dfbf}
.page-head{border-bottom-color:#4d402e}.page-head>span,.file-label,.section-label,.clipping span,.article-mast>span,.compact-label,.object-tag,.intro-copy .eyebrow{color:var(--jp-gold)}
.page-head h1,.intro-copy h1,.home-panel h2,.prose h2,.prose h3{color:var(--jp-ivory)}
.page-head p,.intro-copy p,.home-panel p{color:#c7baa3}.quick-links a,.home-panel a.more,.monitor-caption a,.map-board a,.bookshelf a,.project-scrap a,.prose a{color:var(--jp-gold-bright)}
.quick-links a,.home-panel a.more{border-bottom-color:#6a573b}.quick-links a:hover,.home-panel a.more:hover{color:#f2e5cb;border-color:var(--jp-gold-bright)}
.room-intro,.room-bottom{border-color:#4b3d2b}.room-intro:after{background:linear-gradient(90deg,#5d492f,var(--jp-gold),#5a4933,transparent)}
.now-line{border-color:#4e4335;border-left-color:var(--jp-gold);background:linear-gradient(145deg,#1b1814,#10100f)}.now-line:before{color:var(--jp-gold);border-color:#55462f}.now-line b{color:#d8c8aa}.now-line p{color:#e5d9c3}.now-line small{color:#9f927d}
.personal-note{border-left-color:var(--jp-gold) !important}.personal-note .note-heading{border-bottom-color:#51432f}.personal-note .note-heading span{color:var(--jp-gold) !important}.personal-note .note-heading time{color:#9f917b !important}.personal-note p{color:#e4d7c0 !important}.personal-note small{color:#a99b84 !important}
.home-panel:before{background:var(--jp-gold)}.home-journal{border-color:#4c4031}.home-projects{border-left-color:#655239}.object-tag{color:var(--jp-gold) !important}
.link-row,.support-ticket,.contact-sheets a{border-color:#493d2d;color:#ddd0b9}.link-row:hover,.support-ticket:hover,.contact-sheets a:hover{border-color:#776344;background:linear-gradient(90deg,#201a14,#171512)}.link-row small{color:#a49782}.link-row img{filter:sepia(.5) saturate(.65) brightness(1.65) contrast(.9)}
.channel-tab{border-color:#4b4032;color:#cdbfa8}.channel-tab.active{background:#2a241c;color:#f0e2c8;border-color:var(--jp-gold)}
.video-card h3{color:#e4d8c1}.video-card p{color:#9f927d}.video-frame{outline-color:#544633}
.catalog-card,.catalog-placeholder,.project-files .paper,.paper,.folder{border-color:#504330;color:#ded2bb}.folder{border-top-color:#776344}.empty-file{border-color:#66543a;color:#aa9c86}
.map-paper{border-color:#5d4d35}.map-title h2{color:#e6dac3}.map-title p{color:#aa9d88}#travel-map{border-color:#756143}.place-card,.van-sheet{border-color:#746248}.jp-pin{background:var(--jp-gold);border-color:#eadfc9}
.about-sheet{border-color:#554631}.about-signoff{border-top-color:#51432f}.about-signoff img{filter:invert(.84) sepia(.25) saturate(.7) brightness(1.05) !important}
body>footer,footer{border-top-color:#57482f;color:#d9cdb7}footer p{color:#9e917d}.footer-links a{color:#cbbca3}footer small{color:#857966}
@media(max-width:1050px){.brand .brand-mark{width:105px !important;height:105px !important}}
@media(max-width:820px){.site-header{border-bottom-color:#5b4a32}.brand .brand-mark{width:42px !important;height:42px !important}.brand .brand-name{color:var(--jp-ivory) !important}.menu-button{color:#dfd2bb;border-color:#69563a}.nav{border-bottom-color:#5b4a32}}

/* =====================================================================
   PROTOTYPE 13 — WARM GOTHIC TYPE + RESPONSIVE POLISH
   More antique-gold/ivory hierarchy, stronger title typography, corrected
   identity alignment, and a full responsive pass from wide desktop to phone.
   ===================================================================== */
:root{
  --jp-ivory:#eadfc8;
  --jp-ivory-soft:#d4c5aa;
  --jp-gold:#b89a62;
  --jp-gold-bright:#d0b477;
  --jp-gold-dim:#8d754f;
  --jp-bronze:#6f5a3c;
  --jp-line:#54452f;
  --jp-body:#c9c0b1;
  --title-font:Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;
  --body-font:Georgia,Times New Roman,serif;
}
html{font-size:16px;overflow-x:hidden}
body{overflow-x:hidden;font-family:var(--body-font);color:var(--jp-body)}
img,svg,video,iframe{max-width:100%}

/* Identity block: keep every element in its own lane and centered. */
.brand{
  width:100%;
  min-width:0;
  display:grid !important;
  grid-template-columns:1fr;
  justify-items:center;
  align-items:center;
  gap:8px !important;
  padding:0 0 22px !important;
  margin:0 0 8px !important;
  text-align:center;
  text-decoration:none !important;
}
.brand .brand-mark{display:block;width:min(142px,78%) !important;height:auto !important;aspect-ratio:1/1;object-fit:contain;margin:0 auto 3px}
.brand .brand-name{display:block;width:100%;font-family:var(--title-font);font-size:23px;line-height:1.05;letter-spacing:.025em;color:var(--jp-ivory) !important;text-decoration:none !important;white-space:nowrap}
.brand small{display:block;width:100%;font:700 8px/1.3 'Courier New',monospace;letter-spacing:.2em;color:var(--jp-gold-dim) !important;text-align:center;white-space:nowrap}

/* Typography: body stays calm; titles and navigation carry the flavor. */
h1,h2,h3,.brand-name,.map-title h2,.clipping h2,.journal-entry h2,.about-sheet h2,.video-card h3{font-family:var(--title-font)}
.page-head h1,.intro-copy h1,.article-mast h1{
  color:var(--jp-ivory) !important;
  font-family:var(--title-font);
  font-weight:400;
  letter-spacing:-.035em;
  text-shadow:0 2px 12px #000,0 0 24px rgba(184,154,98,.05);
}
.page-head h1:after,.article-mast h1:after{content:'';display:block;width:clamp(58px,8vw,110px);height:1px;margin-top:14px;background:linear-gradient(90deg,var(--jp-gold-bright),rgba(184,154,98,.08))}
.object h2,.clipping h2,.journal-entry h2,.about-sheet h2,.map-title h2,.video-card h3{
  color:var(--jp-ivory) !important;
  font-weight:400;
}
.object h2{letter-spacing:-.018em}
.writing-copy h2,.journal-page h2,.map-board h2,.bookshelf h2,.project-scrap h2{color:#eee0c4 !important}
.object-tag,.page-head>span,.article-mast>span,.section-label,.file-label,.compact-label,.journal-date,.place-card span,.support-ticket span,.contact-sheets span,.catalog-card span,.catalog-placeholder span{
  color:var(--jp-gold) !important;
}
.quick-links a,.writing-copy a,.journal-page a,.monitor-caption a,.map-board a,.bookshelf a,.project-scrap a,.prose a,.room-bottom a,.footer-links a{color:var(--jp-gold-bright) !important}
.nav>a,.nav>details>summary{color:#d7c8ae}.nav>a:hover,.nav>details>summary:hover{color:#f0dfbf}

/* Warm framing without turning cards into tan paper again. */
.page-head{background:linear-gradient(100deg,#1d1914,#11100e 72%,#0c0c0b) !important;border-bottom:1px solid var(--jp-line) !important}
.room-intro{border-bottom-color:var(--jp-line) !important}
.room-intro:after{background:linear-gradient(90deg,var(--jp-bronze),var(--jp-gold-bright),rgba(184,154,98,.12),transparent) !important}
.writing-sheet,.journal-page,.home-journal,.project-scrap,.bookshelf,.map-board,.monitor,.catalog-card,.catalog-placeholder,.about-sheet,.place-card,.van-sheet,.link-row,.support-ticket,.contact-sheets a{box-shadow:0 16px 36px rgba(0,0,0,.34)}
.writing-sheet,.journal-page,.catalog-card,.catalog-placeholder,.about-sheet,.place-card,.van-sheet{border-color:#5c4c36 !important}
.personal-note{border-left-color:var(--jp-gold-bright) !important;box-shadow:0 14px 30px rgba(0,0,0,.28)}
.personal-note .note-heading span{color:var(--jp-gold-bright) !important}

/* Wide displays: stop content from becoming over-stretched. */
.room-home{width:min(100%,1600px);padding-inline:clamp(28px,4.5vw,82px)}
.article-list,.journal-list,.project-files,.library-empty,.link-directory,.tickets,.contact-sheets,.two-col,.channel-tabs,.video-grid{width:min(100%,1320px)}
.prose{width:min(100%,900px)}

/* Laptop / compact desktop. */
@media(max-width:1280px){
  :root{--sidebar:244px}
  .site-header{padding:34px 24px 24px;gap:18px}
  .brand .brand-mark{width:min(122px,72%) !important}
  .brand .brand-name{font-size:21px}
  .nav{font-size:15px}
  .nav>a,.nav>details>summary{padding:8px 12px}
  .room-grid{gap:34px 28px}
  .room-intro{gap:38px}
  .video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:1050px){
  :root{--sidebar:218px}
  .site-header{padding:30px 20px 22px}
  .brand .brand-mark{width:106px !important}
  .brand .brand-name{font-size:19px}
  .brand small{font-size:7px;letter-spacing:.16em}
  .nav{font-size:14px}
  .room-intro{grid-template-columns:1fr;gap:26px}
  .personal-note{width:min(620px,100%)}
  .writing-sheet,.map-board,.bookshelf{grid-column:span 7}
  .monitor,.journal-page,.project-scrap{grid-column:span 5}
  .two-col{grid-template-columns:1fr}
  .link-directory{grid-template-columns:1fr}
  .support-ticket,.contact-sheets a{grid-template-columns:140px minmax(0,1fr) auto}
}

/* Tablet and mobile switch to a top navigation bar. */
@media(max-width:820px){
  :root{--sidebar:0px}
  .top-rule{left:0;width:100%;height:4px}
  .site-header{position:sticky;top:0;left:auto;bottom:auto;width:100%;height:auto;min-height:68px;padding:10px 16px;display:flex;flex-direction:row;align-items:center;gap:12px;border-right:0;border-bottom:1px solid var(--jp-line);background:linear-gradient(90deg,#0b0a08,#17130e,#0b0a08)}
  .brand{width:auto;display:flex !important;flex-direction:row;justify-content:flex-start;gap:10px !important;padding:0 !important;margin:0 !important}
  .brand .brand-mark{width:44px !important;height:44px !important;margin:0;flex:0 0 44px}
  .brand .brand-name{width:auto;font-size:19px;white-space:nowrap}
  .brand small{display:none}
  .menu-button{display:block;margin-left:auto;color:var(--jp-ivory);border:1px solid var(--jp-bronze);background:#13100c;padding:8px 11px}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - 68px);overflow:auto;background:#0d0b09;border-bottom:1px solid var(--jp-line);padding:10px 16px 16px;box-shadow:0 16px 34px #000;z-index:50}
  .nav.open{display:flex}
  .nav>a,.nav>details>summary{padding:10px 12px;font-size:15px}
  .more-menu{background:#0a0907;border-color:#4d3e2a}
  main,body>footer,.article-mast{margin-left:0 !important}
  .room-home{padding-inline:clamp(18px,5vw,34px);padding-bottom:55px}
  .room-intro{padding-top:34px}
  .room-grid{display:grid;grid-template-columns:1fr;gap:28px;padding-top:38px}
  .writing-sheet,.monitor,.journal-page,.map-board,.bookshelf,.project-scrap{grid-column:1 !important;transform:none !important;width:100%}
  .writing-sheet>img{width:44%;margin-right:20px}
  .page-head{padding:34px clamp(20px,5vw,38px) 28px}
  .page-head h1{font-size:clamp(38px,8vw,54px)}
  .article-mast{padding:45px clamp(20px,6vw,48px) 34px}
  .clipping{grid-template-columns:1fr;gap:24px}
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .project-files{grid-template-columns:1fr}
  #travel-map{height:min(62vh,520px)}
  .map-title{align-items:flex-start;gap:8px;flex-direction:column}
  body>footer{grid-template-columns:1fr;padding:32px 24px}.footer-links{gap:14px 18px}
}

@media(max-width:600px){
  .intro-copy h1{font-size:clamp(44px,14vw,60px)}
  .intro-copy p,.page-head p{font-size:16px}
  .quick-links{gap:10px 16px}
  .writing-sheet{padding:15px 15px 23px}
  .writing-sheet>img{float:none;width:100%;margin:7px 0 20px}
  .writing-copy h2,.journal-page h2,.map-board h2,.bookshelf h2,.project-scrap h2{font-size:clamp(29px,9vw,38px)}
  .monitor{border-width:8px;border-bottom-width:15px}
  .monitor-caption{grid-template-columns:1fr}.monitor-caption a{grid-row:auto;grid-column:1;margin-top:8px}
  .journal-page,.map-board,.bookshelf,.project-scrap{padding:24px 22px}
  .video-grid{grid-template-columns:1fr;padding-inline:18px}
  .link-directory,.tickets,.contact-sheets,.two-col,.project-files,.journal-list,.article-list{padding-inline:18px}
  .support-ticket,.contact-sheets a{grid-template-columns:1fr;gap:8px;padding:20px}.support-ticket>*:last-child,.contact-sheets a>*:last-child{justify-self:start}
  .catalog-placeholder{margin:28px 18px 48px !important;padding:22px !important}
  .about-sheet{margin:34px 18px;padding:28px 23px}.about-sheet h2{font-size:34px}.about-sheet p{font-size:17px}
  .journal-entry{padding:24px 22px}.journal-entry h2{font-size:32px}
  .map-paper{margin:34px 14px;padding:12px}#travel-map{height:58vh;min-height:360px}
  .room-bottom{gap:13px 18px}
}

@media(max-width:390px){
  .site-header{padding-inline:12px}.brand .brand-mark{width:38px !important;height:38px !important;flex-basis:38px}.brand .brand-name{font-size:17px}.menu-button{font-size:10px;padding:7px 9px}
  .room-home{padding-inline:15px}.personal-note{padding:20px !important}.personal-note p{font-size:17px !important}
  .page-head{padding-inline:17px}.page-head h1{font-size:36px}.article-mast{padding-inline:17px}.article-mast h1{font-size:38px}
  .prose{padding-inline:18px;font-size:17px}.map-board{min-height:280px}.coords{font-size:9px}
}

/* =====================================================================
   PROTOTYPE 14 — SCALE + TYPOGRAPHY PASS
   Larger identity mark, more comfortable reading sizes, and a more
   characterful but still locally available Gothic/editorial type hierarchy.
   ===================================================================== */
:root{
  --display-font:'Baskerville','Baskerville Old Face','Iowan Old Style','Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;
  --heading-font:Garamond,'EB Garamond','Cormorant Garamond','Baskerville','Palatino Linotype',Georgia,serif;
  --body-font:Georgia,'Times New Roman',serif;
  --label-font:'Courier New',Courier,monospace;
}
html{font-size:17px}
body{font-size:1rem;line-height:1.58}

/* The seal is an identity asset, not a tiny logo. */
.brand{gap:10px !important;padding-bottom:24px !important}
.brand .brand-mark{width:clamp(158px,13vw,190px) !important;max-width:88% !important;margin-bottom:5px !important}
.brand .brand-name{font-family:var(--display-font) !important;font-size:27px !important;line-height:1.08;letter-spacing:.035em;color:#f0e1c3 !important}
.brand small{font-family:var(--label-font) !important;font-size:10px !important;line-height:1.35;letter-spacing:.18em;color:#b99a65 !important}

/* Distinct jobs for distinct typefaces. */
.page-head h1,.intro-copy h1,.article-mast h1,.lost h1{font-family:var(--display-font) !important}
h2,h3,.object h2,.clipping h2,.journal-entry h2,.about-sheet h2,.map-title h2,.video-card h3,.catalog-card h2,.catalog-placeholder h2{font-family:var(--heading-font) !important}
.nav,.more-menu{font-family:var(--heading-font) !important}
.nav>a,.nav>details>summary{font-size:17px;letter-spacing:.025em}
.more-menu a{font-size:15px}
.object-tag,.page-head>span,.article-mast>span,.section-label,.file-label,.compact-label,.journal-date,.place-card span,.support-ticket span,.contact-sheets span,.catalog-card span,.catalog-placeholder span,.coords,.video-card p,.link-row small{font-family:var(--label-font) !important}

/* Raise the floor on text that had become too small. */
.page-head p{font-size:18px !important;line-height:1.62}
.intro-copy p{font-size:20px !important;line-height:1.58}
.object p,.home-panel p,.writing-copy p,.journal-page p,.map-board p,.bookshelf p,.project-scrap p{font-size:17px;line-height:1.62}
.object-tag,.page-head>span,.article-mast>span,.section-label,.file-label,.compact-label,.journal-date,.place-card span,.support-ticket span,.contact-sheets span,.catalog-card span,.catalog-placeholder span{font-size:11px !important;line-height:1.4}
.video-card h3{font-size:20px !important;line-height:1.28}
.video-card p,.link-row small{font-size:12px !important;line-height:1.4}
.link-row b{font-family:var(--heading-font);font-size:18px;font-weight:600;color:#e7d9bf}
.quick-links a,.room-bottom a,.footer-links a{font-size:15px}
footer p{font-size:15px;line-height:1.55}footer small{font-size:11px}
.prose{font-size:19px !important;line-height:1.78}
.prose h2{font-size:36px}.prose h3{font-size:27px}
.journal-entry details p,.about-sheet p{font-size:18px !important;line-height:1.72}

/* More typographic flavor through warm title treatment, not more clutter. */
.page-head h1,.intro-copy h1,.article-mast h1{color:#f2e2c1 !important;text-shadow:0 2px 12px #000,0 0 30px rgba(208,180,119,.08)}
.object h2,.clipping h2,.journal-entry h2,.about-sheet h2,.map-title h2,.video-card h3{color:#ead8b7 !important}
.object h2::first-letter,.journal-entry h2::first-letter,.about-sheet h2::first-letter{color:#d0b477}

/* Keep the enlarged identity usable on shorter laptop displays. */
@media(max-height:850px) and (min-width:821px){
  .site-header{padding-top:22px;padding-bottom:18px;gap:10px}
  .brand{padding-bottom:13px !important;margin-bottom:2px !important;gap:5px !important}
  .brand .brand-mark{width:132px !important}
  .brand .brand-name{font-size:23px !important}
  .brand small{font-size:8px !important}
  .nav>a,.nav>details>summary{padding:6px 12px;font-size:15px}
}
@media(max-width:1280px){
  .brand .brand-mark{width:150px !important}
  .brand .brand-name{font-size:24px !important}
  .nav>a,.nav>details>summary{font-size:16px}
}
@media(max-width:1050px){
  html{font-size:16.5px}
  .brand .brand-mark{width:132px !important}
  .brand .brand-name{font-size:22px !important}
  .brand small{font-size:8px !important}
  .nav>a,.nav>details>summary{font-size:15px}
}
@media(max-width:820px){
  html{font-size:16px}
  .brand{display:grid !important;grid-template-columns:58px auto !important;grid-template-rows:auto auto;column-gap:13px !important;row-gap:1px !important;justify-content:start;justify-items:start;padding:0 !important;margin:0 !important;text-align:left}
  .brand .brand-mark{grid-row:1/3;grid-column:1;width:54px !important;max-width:none !important;margin:0 !important}
  .brand .brand-name{grid-column:2;grid-row:1;width:auto;font-size:21px !important;align-self:end}
  .brand small{grid-column:2;grid-row:2;width:auto;font-size:8px !important;align-self:start;text-align:left}
  .page-head p,.intro-copy p{font-size:17px !important}
  .object p,.home-panel p,.writing-copy p,.journal-page p,.map-board p,.bookshelf p,.project-scrap p{font-size:16px}
}
@media(max-width:520px){
  .brand{grid-template-columns:50px minmax(0,1fr) !important;column-gap:10px !important}
  .brand .brand-mark{width:48px !important}
  .brand .brand-name{font-size:19px !important}
  .brand small{font-size:7px !important;letter-spacing:.13em}
  .prose{font-size:18px !important}
  .video-card h3{font-size:19px !important}
}


/* =====================================================================
   PROTOTYPE 15 — PERSONAL LIBRARY TYPOGRAPHY
   A restrained two-family webfont pass: IM Fell English is reserved for
   identity and major display moments; Cormorant Garamond handles editorial
   headings/navigation. Body copy stays deliberately quiet and readable.
   ===================================================================== */
:root{
  --display-font:'IM Fell English','Baskerville Old Face',Baskerville,Georgia,serif;
  --heading-font:'Cormorant Garamond',Garamond,'EB Garamond',Georgia,serif;
  --body-font:Georgia,'Times New Roman',serif;
}
body{font-family:var(--body-font)}

/* Major display moments: enough character to feel old and personal without
   turning every line of the interface into a costume font. */
.brand .brand-name,
.intro-copy h1,
.page-head h1,
.article-mast h1,
.lost h1{
  font-family:var(--display-font) !important;
  font-weight:400 !important;
  letter-spacing:.005em !important;
  font-variant-ligatures:common-ligatures;
}
.brand .brand-name{font-size:30px !important;letter-spacing:.025em !important}
.intro-copy h1{letter-spacing:-.012em !important}
.page-head h1,.article-mast h1{letter-spacing:-.018em !important}

/* Editorial layer. Cormorant has more period character than the previous
   system Garamond stack, but remains clean at card/navigation sizes. */
h2,h3,.object h2,.clipping h2,.journal-entry h2,.about-sheet h2,
.map-title h2,.video-card h3,.catalog-card h2,.catalog-placeholder h2,
.link-row b,.nav,.more-menu,.room-bottom a,.footer-links a{
  font-family:var(--heading-font) !important;
}
.object h2,.clipping h2,.journal-entry h2,.about-sheet h2,.map-title h2{
  font-weight:500 !important;
  letter-spacing:.006em;
}
.writing-copy h2,.journal-page h2,.map-board h2,.bookshelf h2,.project-scrap h2{
  font-size:clamp(34px,3.2vw,48px) !important;
  line-height:1.02 !important;
}
.nav>a,.nav>details>summary{
  font-family:var(--heading-font) !important;
  font-size:18px;
  font-weight:600;
  letter-spacing:.045em;
}
.more-menu a{font-family:var(--heading-font) !important;font-size:17px;font-weight:600}
.quick-links a{font-family:var(--heading-font);font-size:17px;font-weight:600;letter-spacing:.02em}

/* Small typographic details add flavor without ornamental graphics. */
.page-head>span,.article-mast>span,.object-tag,.section-label,.file-label,
.compact-label,.journal-date{
  letter-spacing:.16em !important;
}
.page-head h1:after,.article-mast h1:after{
  height:2px !important;
  background:linear-gradient(90deg,#d2b77d,#8e754e 55%,rgba(184,154,98,0)) !important;
}
.prose>p:first-of-type::first-letter{
  float:left;
  font-family:var(--display-font);
  font-size:3.9em;
  line-height:.76;
  padding:.08em .11em 0 0;
  color:#d0b477;
}
.prose h2{font-family:var(--heading-font) !important;font-weight:500;font-size:39px}
.prose h3{font-family:var(--heading-font) !important;font-weight:600;font-size:29px;color:#d8c39d}
.about-sheet h2,.journal-entry h2{font-size:clamp(35px,4vw,46px) !important}
footer b{font-family:var(--display-font);font-size:22px;font-weight:400;letter-spacing:.04em;color:#e9d8b7}

/* Preserve legibility at compact sizes; the ornate face is never used for
   dense copy or tiny labels. */
@media(max-width:1050px){
  .brand .brand-name{font-size:25px !important}
  .nav>a,.nav>details>summary{font-size:16px}
}
@media(max-width:820px){
  .brand .brand-name{font-size:22px !important}
  .nav>a,.nav>details>summary{font-size:17px}
  .writing-copy h2,.journal-page h2,.map-board h2,.bookshelf h2,.project-scrap h2{font-size:clamp(31px,8vw,40px) !important}
}
@media(max-width:520px){
  .brand .brand-name{font-size:20px !important}
  .prose>p:first-of-type::first-letter{font-size:3.3em}
}

/* Prototype 17: compact legal page */
.legal-compact{max-width:1120px;margin:0 auto;padding:0 clamp(24px,4vw,64px) 72px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.legal-compact .legal-block{margin:0;padding:26px 28px;background:linear-gradient(145deg,rgba(28,25,20,.88),rgba(14,14,13,.94));border:1px solid rgba(169,149,110,.28)}.legal-compact .legal-block:last-child{grid-column:1/-1}.legal-compact .legal-block h2{margin:.15rem 0 .7rem}.legal-compact .legal-block p{margin:.55rem 0}.page-intro{max-width:780px;font-size:1.08rem;line-height:1.7;color:var(--muted)}.legal-updated{font-family:var(--mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}@media(max-width:760px){.legal-compact{grid-template-columns:1fr;padding:0 20px 52px}.legal-compact .legal-block:last-child{grid-column:auto}.legal-compact .legal-block{padding:22px 20px}}

/* Build 02.2 generated-content compatibility */
.catalog-grid{width:min(100%,1200px);margin:auto;padding:55px clamp(20px,4vw,50px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.catalog-card{min-width:0;overflow:hidden}
.catalog-card>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;margin:0 0 18px}
.project-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.project-files .folder{position:relative;inset:auto;width:auto;min-width:0;transform:none;margin:0}
.article-list .clipping{margin-bottom:34px}
.article-list .clipping>img{aspect-ratio:16/9;object-fit:cover;max-height:360px}
@media(max-width:900px){.catalog-grid,.project-files{grid-template-columns:1fr}.article-list .clipping{grid-template-columns:1fr}.article-list .clipping>img{max-height:none}}

/* Launch accessibility polish */
.skip-link{position:fixed;left:12px;top:12px;z-index:9999;padding:10px 14px;background:#e5d9bd;color:#111;text-decoration:none;transform:translateY(-160%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #c6a867;outline-offset:4px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* Build 03.1 managed images */
.journal-image,.project-image{display:block;width:100%;max-height:520px;object-fit:cover;margin:0 0 22px;border:1px solid rgba(214,178,94,.22)}
.project-image{width:min(100% - 40px,1100px);margin:0 auto 45px}

/* Build 03.2 reading cover fix — show complete portrait book artwork */
.reading-card .book-cover{width:100%;height:420px;display:flex;align-items:center;justify-content:center;margin:0 0 22px;padding:14px;background:rgba(0,0,0,.18);overflow:hidden}
.reading-card .book-cover img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;margin:0}
@media(max-width:900px){.reading-card .book-cover{height:min(520px,120vw)}}
