/* Interiors: minimalist, editorial, and deliberately distinct from a sales landing page. */
.wordmark::after { content:"."; color:var(--accent); }
.page-interior { min-height:100vh; }
.page-interior main { min-height:calc(100svh - 145px); }
.page-top { padding-top:clamp(69px,9vw,128px); padding-bottom:clamp(62px,8vw,105px); }
.page-top .container { max-width:var(--max); }
.page-top-inner { max-width:860px; }
.page-top h1 { font-size:clamp(2.85rem,6.3vw,5.5rem); line-height:1.055; letter-spacing:-.058em; margin:15px 0 21px; }
.page-top .page-intro { max-width:690px; color:var(--text-secondary); font-size:clamp(1.13rem,1.65vw,1.38rem); line-height:1.63; }
.page-top .page-intro + .page-intro { margin-top:15px; }
.page-eyebrow { color:var(--text-muted); font-size:.73rem; font-weight:600; text-transform:uppercase; letter-spacing:.15em; }
.page-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:28px; }
.page-actions .btn { gap:10px; }
.text-link { display:inline-flex; gap:8px; align-items:center; font-size:.96rem; font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.text-link:hover { color:var(--accent); }
.handsome-link { color:var(--text); text-decoration:underline dotted var(--text-muted); font-weight:600; text-underline-offset:4px; transition:color .2s,text-decoration-color .2s; }
.handsome-link:hover { color:var(--accent); text-decoration-color:var(--accent); }
.handsome-link.is-pending { cursor:help; }
.section-divider { border-top:1px solid var(--border); }
.editorial-section { padding-block:clamp(64px,8vw,106px); }
.editorial-section h2 { font-size:clamp(2rem,4vw,3.2rem); line-height:1.13; letter-spacing:-.045em; }
.editorial-section .section-lead { color:var(--text-secondary); font-size:1.06rem; max-width:610px; margin-top:15px; }
.split-section { display:grid; grid-template-columns:minmax(200px,.85fr) minmax(0,1.5fr); gap:clamp(34px,7vw,120px); align-items:start; }
.split-section .small-notice { margin-top:18px; font-size:.9rem; color:var(--text-muted); }
.prose { max-width:690px; }
.prose p { color:var(--text-secondary); font-size:1.12rem; line-height:1.8; }
.prose p + p { margin-top:19px; }
.prose p strong { color:var(--text); }
.prose .big-line { color:var(--text); font-size:clamp(1.22rem,2.1vw,1.6rem); line-height:1.55; font-weight:500; }
.section-note { color:var(--text-muted); font-size:.88rem; line-height:1.6; }
.rounded-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin-top:34px; }
.mini-panel { border:1px solid var(--border); border-radius:18px; padding:26px 27px; background:#fff; min-height:175px; }
.mini-panel .panel-num { color:var(--accent); font-size:.76rem; letter-spacing:.08em; }
.mini-panel h3 { font-size:1.28rem; margin-top:17px; letter-spacing:-.025em; }
.mini-panel p { margin-top:8px; color:var(--text-secondary); font-size:.97rem; }
.timeline-stack { display:grid; margin-top:32px; }
.timeline-step { display:grid; grid-template-columns:160px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--border); }
.timeline-step:first-child { border-top:1px solid var(--border); }
.timeline-step .years { color:var(--text-muted); font-size:.92rem; }
.timeline-step strong { font-size:1.12rem; }
.timeline-step p { margin-top:5px; color:var(--text-secondary); }
.route-card { display:flex; gap:32px; align-items:center; justify-content:space-between; padding:clamp(28px,5vw,50px); border:1px solid #edd8cb; border-radius:21px; background:#fff9f5; }
.route-card h2 { font-size:clamp(1.6rem,3.2vw,2.6rem); margin-top:8px; }
.route-card p { max-width:540px; margin-top:12px; color:var(--text-secondary); }
.route-card .btn { flex:none; gap:8px; }
.lower-section { padding-bottom:clamp(70px,9vw,125px); }
/* Writing and article archive */
.writing-wordmark { font-weight:600; letter-spacing:-.085em; }
.writing-wordmark span { color:var(--accent); }
.topic-list { margin:24px 0 0; padding:0; list-style:none; max-width:820px; }
.topic-list li { display:grid; grid-template-columns:52px 1fr 24px; align-items:center; gap:14px; padding:19px 0; border-bottom:1px solid var(--border); }
.topic-list li:first-child { border-top:1px solid var(--border); }
.topic-list .index-no { color:var(--text-muted); font-size:.84rem; }
.topic-list .topic-name { font-size:clamp(1.11rem,2vw,1.4rem); font-weight:500; }
.topic-list .topic-mark { color:var(--accent); }
.archive-empty { display:flex; gap:23px; align-items:flex-start; max-width:750px; background:var(--canvas-soft); border-radius:18px; border:1px solid var(--border); padding:31px 32px; margin-top:30px; }
.archive-empty .empty-symbol { width:44px; height:44px; display:grid; place-items:center; flex:none; border:1px solid var(--border); border-radius:12px; background:#fff; font-size:1.3rem; }
.archive-empty strong { font-size:1.13rem; }
.archive-empty p { color:var(--text-secondary); margin-top:5px; }
/* Consuming */
.filter-controls { display:flex; flex-wrap:wrap; gap:7px; margin-top:29px; }
.filter-controls button { appearance:none; border:1px solid var(--border); border-radius:999px; background:#fff; color:var(--text-secondary); padding:9px 18px; font-family:inherit; font-size:.88rem; cursor:pointer; transition:.18s ease; }
.filter-controls button[aria-pressed="true"] { color:#fff; background:var(--text); border-color:var(--text); }
.filter-controls button:not([aria-pressed="true"]):hover { color:var(--accent); border-color:#e8c7b5; }
.interest-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:29px; }
.interest-card { border:1px solid var(--border); border-radius:19px; overflow:hidden; min-width:0; background:#fff; }
.interest-art { aspect-ratio:1.65 / 1; position:relative; padding:25px; background:#f3f0eb; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.interest-art .giant-mark { color:#26221f; font-size:clamp(2.2rem,4.3vw,3.55rem); font-weight:600; letter-spacing:-.075em; line-height:1; }
.interest-art .little-note { position:absolute; left:20px; bottom:17px; font-size:.66rem; text-transform:uppercase; letter-spacing:.13em; color:#726861; font-weight:600; }
.interest-art.ps2 { background:#e7e8ec; }
.interest-art.ps2 .giant-mark { font-weight:500; letter-spacing:.09em; color:#3d3e53; font-size:clamp(2.2rem,4vw,3.5rem); }
.interest-art.united { background:#faece5; }
.interest-art.united .giant-mark { color:#a3361b; }
.interest-art.drake { background:#efe9e1; }
.interest-art.drake .giant-mark { color:#3d342a; }
.interest-art.starwars { background:#ededed; }
.interest-art.starwars .giant-mark { font-size:clamp(1.8rem,3.1vw,2.7rem); letter-spacing:-.045em; line-height:1.07; text-align:center; }
.interest-art .little-note { z-index:1; }
.interest-art.lego { background:#f6e7d3; }
.interest-copy { padding:21px 23px 24px; }
.interest-copy .interest-category { color:var(--text-muted); text-transform:uppercase; letter-spacing:.12em; font-size:.69rem; font-weight:600; }
.interest-copy h3 { margin-top:7px; font-size:1.32rem; }
.interest-copy p { margin-top:7px; color:var(--text-secondary); font-size:.95rem; line-height:1.58; }
.interest-card[hidden] { display:none!important; }
/* Ventures */
.venture-list { display:grid; gap:17px; margin-top:32px; }
.venture-card { display:grid; grid-template-columns:110px minmax(0,1fr) 24px; gap:25px; align-items:center; min-height:194px; padding:28px 29px; border:1px solid var(--border); border-radius:19px; background:#fff; text-decoration:none; }
.venture-card h3 { font-size:1.55rem; margin-top:5px; }
.venture-card p { color:var(--text-secondary); max-width:610px; margin-top:8px; }
.venture-monogram { width:94px; height:94px; display:grid; place-items:center; border-radius:17px; background:#f6f4f0; font-weight:600; font-size:1.65rem; letter-spacing:-.06em; color:#24211e; }
.venture-monogram.alt { background:#ecefe9; }
.venture-monogram.bright { background:#fff0e8; color:var(--accent); }
.venture-kind { color:var(--text-muted); text-transform:uppercase; letter-spacing:.11em; font-size:.71rem; font-weight:600; }
.venture-card .arrow { color:var(--accent); font-size:1.3rem; }
.venture-card.static .arrow { opacity:0; }
a.venture-card:hover { border-color:#e8bea6; transform:translateY(-1px); }
/* Products */
.product-shelf { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; margin-top:33px; }
.shelf-item { min-height:252px; display:flex; flex-direction:column; border:1px solid var(--border); border-radius:18px; padding:28px 26px; }
.shelf-item .shelf-icon { width:54px; height:54px; display:grid; place-items:center; background:#faf7f4; border:1px solid #eee4dc; color:var(--accent); border-radius:15px; font-size:1.6rem; }
.shelf-item h3 { font-size:1.38rem; margin-top:21px; }
.shelf-item p { font-size:.96rem; color:var(--text-secondary); margin-top:9px; }
.shelf-item .shelf-status { margin-top:auto; padding-top:22px; color:var(--text-muted); font-size:.78rem; }
.shelf-note { padding:27px 32px; border-radius:16px; background:var(--canvas-soft); color:var(--text-secondary); margin-top:22px; border:1px solid var(--border); }
/* Work */
.offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:31px; }
.offer-card { border:1px solid var(--border); border-radius:19px; padding:28px 26px 29px; min-height:270px; display:flex; flex-direction:column; }
.offer-number { color:var(--accent); font-size:.8rem; letter-spacing:.08em; }
.offer-card h3 { margin-top:20px; font-size:1.4rem; }
.offer-card p { margin-top:12px; color:var(--text-secondary); font-size:.97rem; }
.offer-card .offer-note { margin-top:auto; padding-top:25px; font-size:.84rem; color:var(--text-muted); }
.work-process { margin-top:29px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.work-process .step { border-top:1px solid var(--border); padding-top:23px; }
.work-process .step span { color:var(--accent); font-size:.78rem; }
.work-process h3 { font-size:1.16rem; margin-top:12px; }
.work-process p { color:var(--text-secondary); font-size:.96rem; margin-top:8px; }
@media(max-width:900px) {
  .split-section { grid-template-columns:1fr; gap:27px; }
  .interest-grid, .offer-grid, .product-shelf { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .work-process { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:650px) {
  .page-top { padding-top:71px; padding-bottom:64px; }
  .page-top h1 { font-size:clamp(2.75rem,11vw,4rem); }
  .page-top .page-intro { font-size:1.08rem; }
  .editorial-section { padding-block:63px; }
  .rounded-grid,.interest-grid,.product-shelf,.offer-grid,.work-process { grid-template-columns:1fr; }
  .mini-panel { min-height:auto; }
  .timeline-step { grid-template-columns:1fr; gap:2px; }
  .venture-card { grid-template-columns:65px 1fr; gap:16px; padding:20px; min-height:0; }
  .venture-monogram { width:61px; height:61px; font-size:1.18rem; }
  .venture-card .arrow { display:none; }
  .venture-card h3 { font-size:1.25rem; }
  .venture-card p { font-size:.94rem; }
  .route-card { flex-direction:column; align-items:stretch; }
  .route-card .btn { align-self:flex-start; }
  .archive-empty { padding:23px; }
  .shelf-item { min-height:205px; }
  .offer-card { min-height:205px; }
}
@media(prefers-reduced-motion:reduce) { .handsome-link { transition:none; } }

/* ---------------------------------------------------------
   V5 — A very short life story / curated personal collection
   --------------------------------------------------------- */
.ending-dot { color:var(--accent); }
.about-top { padding-bottom:clamp(70px,8vw,110px); }
.about-top .page-top-inner { max-width:860px; }
.about-top h1 { max-width:840px; }
.about-top .page-intro { max-width:610px; }
.story-jump { display:inline-flex; align-items:center; gap:13px; margin-top:34px; text-decoration:none; font-size:.94rem; font-weight:500; border-bottom:1px solid var(--text); padding-bottom:7px; }
.story-jump:hover { border-color:var(--accent); color:var(--accent); }
.story-jump span { font-size:1.05rem; }
.story-section { padding-block:clamp(70px,8vw,110px) clamp(10px,3vw,42px); scroll-margin-top:20px; }
.story-layout { display:grid; grid-template-columns:minmax(240px,.82fr) minmax(0,1.28fr); column-gap:clamp(60px,9vw,150px); align-items:start; }
.story-aside { position:sticky; top:94px; padding-top:3px; }
.story-aside h2 { margin-top:17px; max-width:330px; font-size:clamp(2.05rem,3.4vw,3.3rem); line-height:1.12; letter-spacing:-.05em; }
.story-aside-note { color:var(--text-secondary); margin-top:20px; max-width:300px; font-size:1rem; line-height:1.7; }
.timeline-count { display:flex; align-items:baseline; gap:6px; margin-top:80px; font-size:clamp(2.8rem,5vw,4rem); line-height:1; letter-spacing:-.07em; font-weight:600; font-variant-numeric:tabular-nums; }
.timeline-count span:last-child { color:#b1b1b1; font-size:.35em; letter-spacing:0; }
.life-timeline { position:relative; margin:0; padding:0 0 40px; list-style:none; --timeline-progress:0; }
.life-timeline::before,.life-timeline::after { content:""; position:absolute; left:7.5px; top:11px; width:1.5px; border-radius:3px; pointer-events:none; }
.life-timeline::before { bottom:103px; background:var(--border); }
.life-timeline::after { height:calc((100% - 114px) * var(--timeline-progress)); background:var(--accent); transition:height .14s linear; }
.life-stop { display:grid; grid-template-columns:16px minmax(0,1fr); gap:28px; padding:0 0 clamp(48px,6vw,80px); }
.timeline-node { height:14px; width:14px; margin-top:6px; border:2px solid #cfcfcf; border-radius:50%; background:#fff; position:relative; z-index:1; transition:border-color .24s ease, background-color .24s ease, box-shadow .24s ease; }
.life-stop.is-current .timeline-node,.life-stop.is-complete .timeline-node { border-color:var(--accent); }
.life-stop.is-current .timeline-node { background:var(--accent); box-shadow:0 0 0 5px #fceee8; }
.life-when { font-size:.79rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); font-weight:600; line-height:1.5; }
.life-separator { color:#b4b4b4; margin:0 6px; }
.life-entry h3 { margin-top:12px; font-size:clamp(1.38rem,2.3vw,1.95rem); font-weight:600; line-height:1.27; letter-spacing:-.035em; }
.life-entry > p:last-child { margin-top:12px; max-width:540px; color:var(--text-secondary); font-size:1rem; line-height:1.74; }
.story-outro { padding-block:clamp(60px,8vw,110px); }
.story-outro-inner { display:flex; justify-content:space-between; align-items:end; gap:34px; }
.story-outro h2 { margin-top:13px; }
.story-next-links { min-width:min(100%,360px); display:grid; gap:0; }
.story-next-links a { display:flex; justify-content:space-between; gap:35px; align-items:center; border-bottom:1px solid var(--border); min-height:58px; color:var(--text); text-decoration:none; font-size:1rem; font-weight:500; }
.story-next-links a:first-child { border-top:1px solid var(--border); }
.story-next-links a span { color:var(--accent); font-size:1.15rem; }
.story-next-links a:hover { color:var(--accent); }

/* The consuming library: one nostalgia feature, small collected things, no stock images. */
.consuming-top { padding-bottom:clamp(65px,8vw,105px); }
.consuming-top h1 { max-width:860px; }
.consuming-top .page-intro { max-width:660px; }
.consuming-collection { padding-block:clamp(66px,8vw,108px); }
.collection-topline { display:flex; justify-content:space-between; align-items:end; gap:30px; }
.collection-topline h2 { margin-top:14px; }
.collection-note { font-size:.91rem; color:var(--text-muted); text-align:right; line-height:1.6; }
.collection-filters { margin-top:29px; margin-bottom:29px; }
.collection-filters button { min-height:43px; }
.collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.collection-feature { display:grid; grid-column:span 2; grid-template-columns:1fr .84fr; min-height:390px; border:1px solid var(--border); border-radius:19px; overflow:hidden; background:#fbfaf8; }
.collection-feature[hidden],.collection-card[hidden] { display:none!important; }
.ps2-story { padding:clamp(24px,4vw,42px); display:flex; flex-direction:column; justify-content:space-between; }
.collection-type { display:block; font-size:.73rem; line-height:1.5; font-weight:600; text-transform:uppercase; letter-spacing:.11em; color:var(--text-muted); }
.ps2-story h3 { font-size:clamp(2.35rem,4.5vw,3.8rem); line-height:1.09; letter-spacing:-.07em; }
.ps2-story p:not(.collection-type) { max-width:340px; color:var(--text-secondary); font-size:.95rem; line-height:1.75; margin-top:17px; }
.memory-caption { font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#a09a94; }
.ps2-art { background:#191c29; position:relative; color:#e8eaf3; min-height:260px; display:flex; align-items:center; justify-content:center; isolation:isolate; overflow:hidden; }
.ps2-art::before { content:""; width:165px; height:165px; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) rotate(45deg); border:1px solid rgba(240,241,250,.17); }
.ps2-art::after { content:""; width:105px; height:105px; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) rotate(45deg); border:1px solid rgba(240,241,250,.13); }
.ps2-art-title { position:relative; z-index:1; font-weight:500; font-size:clamp(3.6rem,6.4vw,6rem); letter-spacing:-.12em; line-height:1; }
.ps2-art-title span { color:#f1a06a; margin-left:6px; font-size:.62em; vertical-align:top; }
.ps2-art > p { position:absolute; z-index:2; bottom:20px; left:23px; right:23px; display:flex; align-items:center; gap:8px; font-size:.65rem; letter-spacing:.13em; color:#bbbfcf; }
.ps2-art > p span { color:#ed7a4e; font-size:.5rem; }
.ps2-icons { position:absolute; z-index:2; right:21px; top:17px; display:flex; gap:9px; color:#a5a8be; font-size:1.12rem; line-height:1; }
.collection-card { border:1px solid var(--border); border-radius:19px; overflow:hidden; display:flex; flex-direction:column; background:#fff; min-width:0; }
.collection-cover { min-height:230px; position:relative; display:grid; place-items:center; padding:24px; overflow:hidden; background:#f6f5f3; }
.cover-small,.cover-bottom { font-weight:600; letter-spacing:.12em; font-size:.64rem; color:#8b8985; position:absolute; z-index:1; left:23px; right:23px; }
.cover-small { top:21px; }
.cover-bottom { bottom:20px; display:flex; justify-content:space-between; align-items:center; }
.cover-bottom span { font-size:1rem; }
.cover-display { font-weight:600; letter-spacing:-.085em; font-size:clamp(3rem,5vw,5rem); line-height:1; }
.united-cover { background:#f5ece7; color:#a33320; }
.united-cover .cover-small,.united-cover .cover-bottom { color:#b56959; }
.united-cover .cover-display { font-size:clamp(2.6rem,3.8vw,4.4rem); }
.drake-cover { background:#eee9e1; color:#393430; }
.drake-cover .cover-display { font-size:clamp(5rem,8vw,8rem); font-weight:500; }
.stars-cover { background:#202127; color:#fcf6d7; }
.stars-cover .cover-small,.stars-cover .cover-bottom { color:#b1b0a9; }
.stars-cover .cover-display { font-size:clamp(2.3rem,3.2vw,3.6rem); letter-spacing:-.05em; text-align:center; }
.lego-cover { background:#efece2; }
.brick-art { width:120px; height:68px; border-radius:7px; background:#cb6d3a; display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(2,1fr); gap:0 5px; padding:6px 9px; box-shadow:0 10px 0 #9b4d28; transform:rotate(-7deg); }
.brick-art i { width:22px; height:15px; border:2px solid #ab5730; border-radius:40%; background:#e58a55; justify-self:center; align-self:center; }
.collection-description { padding:23px 24px 27px; flex:1; }
.collection-description h3 { margin-top:9px; font-size:1.29rem; letter-spacing:-.035em; }
.collection-description p { margin-top:9px; color:var(--text-secondary); line-height:1.7; font-size:.94rem; }
.rotation-section { padding-block:clamp(68px,8vw,106px); }
.rotation-layout { display:grid; grid-template-columns:minmax(240px,.85fr) minmax(0,1.25fr); gap:clamp(40px,9vw,135px); }
.rotation-layout h2 { margin-top:13px; }
.rotation-body > p:first-child { font-size:1.09rem; line-height:1.7; color:var(--text-secondary); max-width:540px; }
.rotation-rows { margin-top:30px; border-top:1px solid var(--border); }
.rotation-rows > div { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:18px 0; border-bottom:1px solid var(--border); font-size:.95rem; }
.rotation-rows > div span:last-child { font-size:.84rem; color:var(--text-muted); }
.rotation-footnote { color:var(--text-muted); font-size:.81rem; margin-top:15px; }
.consuming-outro { padding-block:clamp(64px,8vw,110px); }
.consuming-outro h2 { margin-top:13px; }
@media(max-width:1050px) {
  .collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .collection-feature { grid-column:span 2; }
  .collection-topline { align-items:start; }
}
@media(max-width:800px) {
  .story-layout,.rotation-layout { grid-template-columns:1fr; gap:40px; }
  .story-aside { position:static; }
  .story-aside-note { max-width:640px; }
  .timeline-count { display:none; }
  .story-outro-inner { align-items:stretch; }
}
@media(max-width:650px) {
  .about-top,.consuming-top { padding-top:68px; padding-bottom:59px; }
  .about-top h1,.consuming-top h1 { font-size:clamp(2.65rem,10.6vw,4rem); }
  .story-section { padding-top:64px; }
  .story-aside h2 { max-width:none; font-size:2.2rem; }
  .life-stop { gap:18px; padding-bottom:50px; }
  .life-entry h3 { font-size:1.46rem; }
  .life-entry > p:last-child { font-size:.97rem; line-height:1.67; }
  .story-outro-inner { flex-direction:column; gap:34px; }
  .story-next-links { width:100%; }
  .collection-topline { display:block; }
  .collection-note { text-align:left; margin-top:12px; }
  .collection-grid { grid-template-columns:1fr; }
  .collection-feature { grid-column:span 1; grid-template-columns:1fr; }
  .ps2-story { min-height:292px; }
  .ps2-art { min-height:240px; }
  .collection-cover { min-height:206px; }
  .collection-description { padding:20px 22px 24px; }
  .rotation-rows > div { gap:15px; }
}
@media(prefers-reduced-motion: reduce) {
  .life-timeline::after,.timeline-node { transition:none; }
}
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
