:root {
  color-scheme: light;
  --ink: #101010;
  --paper: #f3f0e8;
  --muted: #726f68;
  --line: rgba(16,16,16,.22);
  --acid: #c7ff36;
  --blue: #2045ff;
  --coral: #ff654d;
  --moss: #667c4c;
  --violet: #7757d7;
  --toolbar: 56px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
:focus-visible { outline: 3px solid #ff3b1f; outline-offset: 4px; }
.gallery-home { background: #ede9df; }
.lab-hero { min-height: 86vh; padding: 24px 36px 0; display:flex; flex-direction:column; background:#111; color:#f5f0e6; }
.lab-nav, .demo-nav { display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.brand { display:flex; align-items:center; gap:12px; font-weight:700; }
.brand span { display:grid; place-items:center; width:34px; height:34px; background:var(--acid); color:#111; border-radius:50%; }
.gallery-home .lab-nav,.matcher-page .lab-nav{padding-left:58px}
.hero-copy { margin:auto 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,380px); align-items:end; gap:40px; padding:80px 0; }
.hero-copy .eyebrow { grid-column:1/-1; margin:0; font-size:12px; letter-spacing:.12em; color:var(--acid); }
.hero-copy .hero-subtitle{grid-column:1/-1;margin:0;color:#b8b4ac;font:10px/1.5 ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase}
.hero-copy h1 { margin:0; font-size:clamp(58px,10vw,148px); line-height:.82; letter-spacing:-.075em; font-weight:650; }
.hero-copy h1 em { font-family:Georgia,serif; font-weight:400; color:var(--acid); }
.hero-note { margin:0; color:#c6c1b8; font-size:17px; line-height:1.6; }
.language-toggle{position:fixed;left:16px;top:16px;z-index:1000;appearance:none;padding:9px 12px;border:1px solid #8888;border-radius:99px;background:#111d;color:#f5f0e6;font:9px/1 ui-monospace,monospace;letter-spacing:.1em;cursor:pointer;backdrop-filter:blur(10px)}.language-toggle:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
.gallery-intro { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:92px 36px 48px; align-items:end; }
.section-kicker { margin:0 0 12px; font:600 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.1em; text-transform:uppercase; color:#67625c; }
.gallery-intro h2, .recommendation h2 { margin:0; font-size:clamp(38px,6vw,80px); letter-spacing:-.055em; line-height:.95; }
.gallery-intro > p { max-width:580px; margin:0 0 4px; font-size:17px; line-height:1.65; }
.template-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0 36px; background:#bdb8ae; border:1px solid #bdb8ae; }
.template-card { min-width:0; background:#f5f1e8; }
.template-card.is-recommended { background:#eeffd0; }
.card-hit { display:block; padding:24px; }
.card-head, .card-copy { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.card-id { font:700 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.card-score, .recommended-pill { font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace; border:1px solid currentColor; padding:7px 9px; }
.recommended-pill { background:var(--ink); color:var(--acid); }
.card-thumb { position:relative; height:clamp(230px,31vw,440px); margin:24px 0; overflow:hidden; background:#ddd; transition:transform .35s ease; }
.card-hit:hover .card-thumb { transform:scale(.985); }
.card-copy h3 { margin:0; font-size:clamp(29px,3.6vw,52px); letter-spacing:-.055em; line-height:.95; }
.card-en { margin:7px 0 0; color:#6f6b64; font-family:Georgia,serif; font-style:italic; }
.card-arrow { font-size:28px; }
.card-thesis { max-width:520px; min-height:48px; line-height:1.5; }
.template-card dl { border-top:1px solid var(--line); margin:20px 0 0; font-size:12px; }
.template-card dl div { display:grid; grid-template-columns:54px 1fr; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); }
.template-card dt { color:#716d65; }
.template-card dd { margin:0; }
.thumb-index { background:#efede6; padding:24px; }
.thumb-index .mini-heading { display:block; width:56%; height:24%; background:#111; margin-bottom:12%; }
.mini-row { display:block; height:1px; background:#111; margin:8% 0; position:relative; }
.mini-row::after { content:""; position:absolute; right:0; width:22%; height:6px; background:#111; top:-3px; }
.thumb-journal { background:#f4ecd9; padding:22px; font-family:Georgia,serif; }
.mini-mast { display:block; border-top:4px double #2f2118; border-bottom:1px solid #2f2118; height:10%; }
.mini-story { display:inline-block; vertical-align:bottom; width:27%; height:31%; margin:18% 3% 0 0; background:#bd4a32; }
.mini-story.large { width:63%; height:55%; background:#24392d; }
.thumb-reel { background:#070707; color:white; }
.mini-frame { position:absolute; inset:12% 9%; background:radial-gradient(circle at 65% 35%,#ff9f67,transparent 30%),linear-gradient(135deg,#261a3f,#0e6370); }
.thumb-reel b { position:absolute; bottom:8%; left:9%; font-size:12px; letter-spacing:.18em; }
.thumb-grid { padding:12px; display:grid; grid-template-columns:1.3fr 1fr; grid-template-rows:1fr 1fr; gap:8px; background:#1d43ff; }
.mini-cell { background:#f2e7cb; }
.mini-cell.wide { background:#ff725b; }
.mini-cell.tall { background:#111; }
.thumb-manifesto { background:#f6dcb6; padding:24px; }
.thumb-manifesto b { font-size:clamp(36px,7vw,92px); line-height:.75; letter-spacing:-.08em; color:#6c192b; }
.thumb-manifesto i { position:absolute; width:38%; height:2px; background:#6c192b; right:10%; bottom:20%; transform:rotate(-8deg); }
.thumb-canvas { background:#10172d; color:#c8ff44; }
.mini-node { position:absolute; width:20%; aspect-ratio:1; border-radius:50%; border:1px solid #c8ff44; background:#6b4bd1; }
.mini-node.n1 { left:12%; top:20%; }.mini-node.n2 { right:16%; top:12%; width:31%; background:#e95549; }.mini-node.n3 { left:47%; bottom:10%; width:17%; background:#badb4d; }
.thumb-canvas > span { position:absolute; left:5%; bottom:5%; font:10px ui-monospace,monospace; }
.thumb-studio { background:#f6f3e7; color:#14382e; padding:24px; }
.thumb-studio b { font-size:clamp(30px,5vw,68px); line-height:.82; letter-spacing:-.07em; }
.mini-service { display:inline-block; width:46%; height:15%; margin:16% 3% 0 0; border:1px solid #14382e; background:#e6ff55; }
.thumb-timeline { background:#e7e2d4; }
.mini-line { position:absolute; left:28%; top:8%; bottom:8%; width:1px; background:#334333; }
.mini-dot { position:absolute; left:calc(28% - 5px); width:11px; height:11px; border-radius:50%; background:#334333; }
.mini-dot.d1{top:15%}.mini-dot.d2{top:38%}.mini-dot.d3{top:62%}.mini-dot.d4{top:82%}
.mini-dot::after { content:""; position:absolute; left:40px; top:-2px; width:150px; height:14px; background:#c75443; }
.thumb-split { background:#f4efe4; }
.mini-pane { position:absolute; inset-block:0; width:50%; }.mini-pane.left{left:0;background:#132a31}.mini-pane.right{right:0;background:linear-gradient(#f3e9da 48%,#f35e4a 48%)}
.thumb-split b { position:absolute; left:6%; top:10%; color:white; font-size:clamp(24px,4vw,52px); line-height:.9; }
.thumb-spotlight { background:#f3efe5; }
.mini-hero-img { position:absolute; inset:10% 8% 22% 38%; background:radial-gradient(circle at 70% 20%,#d4ff37,transparent 23%),linear-gradient(135deg,#2546ff,#0c173f); }
.thumb-spotlight b { position:absolute; z-index:1; left:6%; bottom:13%; font-size:clamp(28px,5vw,70px); line-height:.8; letter-spacing:-.07em; }
.thumb-spotlight span { position:absolute; left:6%; top:8%; font:10px ui-monospace,monospace; }
.recommendation { margin:120px 36px 36px; padding:38px; display:grid; grid-template-columns:120px 1fr auto; gap:36px; align-items:end; background:#121212; color:#f5f0e6; }
.recommendation-number { font-size:96px; line-height:.8; color:var(--acid); letter-spacing:-.08em; }
.recommendation h2 { font-size:clamp(38px,5vw,70px); }
.recommendation p:not(.section-kicker) { max-width:650px; color:#bbb6ad; line-height:1.6; }
.arrow-link { border-bottom:1px solid currentColor; padding-bottom:8px; white-space:nowrap; }
.lab-footer { margin:0 36px; padding:28px 0 70px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:30px; color:#6b675f; font-size:12px; }

/* Preview shell and shared demo elements */
.preview-page { padding-top:var(--toolbar); background:#111; }
.preview-toolbar { position:fixed; z-index:100; inset:0 0 auto; height:var(--toolbar); padding:0 18px 0 76px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; background:#111; color:white; border-bottom:1px solid #363636; font-size:12px; }
.toolbar-back { justify-self:start; }.toolbar-title { display:flex; gap:10px; align-items:center; }.toolbar-title span { color:var(--acid); font-family:ui-monospace,monospace; }
.toolbar-nav { justify-self:end; display:flex; gap:20px; }.toolbar-nav a { color:#bbb; }.toolbar-nav a:hover { color:white; }
#preview-app { outline:none; }
.template-photo-entry{min-height:clamp(520px,72vh,820px);padding:clamp(20px,3vw,38px);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:26px;background:#0b0c0a;color:#f4efe5;border-bottom:1px solid #3c3d36}
.template-photo-drop{min-height:430px;padding:clamp(24px,4vw,58px);display:flex;flex-direction:column;justify-content:space-between;border:1px dashed #72766b;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.template-photo-drop:hover,.template-photo-drop.is-dragging{background:var(--acid);border-color:#111;color:#111}.template-photo-drop input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.template-photo-kicker,.template-photo-action,.template-photo-status{font:10px/1.5 ui-monospace,monospace;letter-spacing:.08em}.template-photo-kicker{color:var(--acid)}.template-photo-drop:hover .template-photo-kicker,.template-photo-drop.is-dragging .template-photo-kicker{color:#111}.template-photo-drop strong{max-width:1250px;font-size:clamp(54px,9vw,138px);line-height:.82;letter-spacing:-.07em}.template-photo-action{align-self:flex-end;padding-bottom:7px;border-bottom:1px solid currentColor}
.template-photo-meta{display:grid;grid-template-columns:minmax(0,760px) minmax(240px,1fr);gap:40px;align-items:start}.template-photo-meta p{margin:0;color:#aaa99f;font-size:13px;line-height:1.7}.template-photo-status{justify-self:end;color:var(--acid)!important;text-align:right}.template-photo-entry[data-state="processing"] .template-photo-drop{cursor:wait;opacity:.62}.template-photo-entry[data-state="processing"] .template-photo-status::before{content:"";display:inline-block;width:8px;height:8px;margin-right:9px;border-radius:50%;background:var(--acid);animation:matcher-pulse .8s ease-in-out infinite alternate}.template-photo-entry[data-state="error"] .template-photo-status{color:#ff806f!important}.template-photo-entry[data-state="complete"] .template-photo-status{color:var(--acid)!important}.template-photo-engine[hidden]{display:none}
.template-photo-entry.is-populated{min-height:260px;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);grid-template-rows:1fr;align-items:stretch}.template-photo-entry.is-populated .template-photo-drop{min-height:210px;padding:24px}.template-photo-entry.is-populated .template-photo-drop strong{font-size:clamp(38px,5vw,72px);line-height:.9}.template-photo-entry.is-populated .template-photo-meta{display:flex;flex-direction:column;justify-content:space-between;gap:20px}.template-photo-entry.is-populated .template-photo-status{justify-self:auto;text-align:left}
.demo-site { min-height:100vh; overflow:hidden; }
.demo-site h1,.demo-site h2,.demo-site h3,.demo-site p { text-wrap:balance; }
.demo-media { position:relative; min-height:280px; overflow:hidden; color:white; background:#234; }
.demo-media::before,.demo-media::after { content:""; position:absolute; border-radius:50%; filter:blur(2px); }
.demo-media::before { width:45%; aspect-ratio:1; right:10%; top:8%; background:rgba(255,255,255,.18); }
.demo-media::after { width:24%; aspect-ratio:1; left:12%; bottom:12%; background:rgba(0,0,0,.2); }
.demo-media span { position:absolute; z-index:1; left:16px; top:16px; padding:6px 8px; background:rgba(0,0,0,.75); font:10px ui-monospace,monospace; letter-spacing:.08em; }
.demo-media b { position:absolute; z-index:1; right:16px; bottom:12px; font:700 54px/1 ui-monospace,monospace; }
.media-cobalt { background:radial-gradient(circle at 72% 24%,#d7ff3f,transparent 17%),linear-gradient(140deg,#112255,#2045ff 60%,#8398ff); }
.media-coral { background:radial-gradient(circle at 28% 70%,#ffd0c7,transparent 22%),linear-gradient(145deg,#3f1720,#ff654d 62%,#ffb76e); }
.media-moss { background:radial-gradient(circle at 65% 30%,#d6d2a7,transparent 20%),linear-gradient(145deg,#1e3224,#667c4c 62%,#a1b581); }
.media-violet { background:radial-gradient(circle at 25% 25%,#f0e8ff,transparent 16%),linear-gradient(145deg,#25184b,#7757d7 62%,#e66dc0); }
.case-preview { padding:120px max(6vw,28px); background:#eee9df; color:#111; }
.case-label { margin:0 0 36px; font:700 11px ui-monospace,monospace; letter-spacing:.1em; }
.case-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:end; }
.case-heading h2 { margin:0; font-size:clamp(60px,10vw,150px); line-height:.8; letter-spacing:-.075em; }
.case-heading p { margin:0; font-size:20px; line-height:1.5; max-width:560px; }
.case-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:64px 0 24px; background:#aaa49a; border:1px solid #aaa49a; }
.case-facts span { background:#eee9df; padding:18px; color:#666; font-size:11px; line-height:1.7; }.case-facts b { color:#111; font-weight:600; }
.case-media { min-height:60vw; max-height:860px; }
.case-columns { display:grid; grid-template-columns:1fr 1fr; gap:10vw; padding-top:52px; }
.case-columns span { font:11px ui-monospace,monospace; }.case-columns h3 { font-size:clamp(34px,5vw,70px); line-height:1; letter-spacing:-.05em; }
.case-columns p { font-size:18px; line-height:1.7; }
.demo-footer { display:flex; justify-content:space-between; gap:28px; padding:34px max(4vw,24px); background:#111; color:#aaa; font:10px/1.8 ui-monospace,monospace; letter-spacing:.08em; }
.demo-footer>div{display:flex;align-items:flex-end;gap:20px;flex-direction:column}.powered-by{font-size:8px;letter-spacing:.04em;opacity:.42;text-transform:lowercase}
.project-link { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; font-size:clamp(20px,3vw,46px); letter-spacing:-.04em; }
.project-link span { font-size:11px; color:#777; letter-spacing:0; }

/* 01 Curated Index */
.index-demo { background:#f1efe8; }
.index-demo .demo-nav { padding:26px 3vw; border-bottom:1px solid #aaa; }
.index-hero { padding:12vh 3vw 8vh; display:grid; grid-template-columns:1.4fr .6fr; gap:50px; align-items:end; }
.index-hero h1 { margin:0; font-size:clamp(56px,8.5vw,132px); line-height:.85; letter-spacing:-.075em; font-weight:550; }
.index-hero p { font-size:17px; line-height:1.55; }
.index-table { padding:0 3vw 100px; }
.index-filters { display:flex; gap:24px; padding:14px 0; border-block:1px solid #111; font:11px ui-monospace,monospace; }
.index-table article { display:grid; grid-template-columns:40px 1fr 1fr 30px; gap:20px; align-items:center; border-bottom:1px solid #aaa; min-height:105px; }
.index-table article > span { font:11px ui-monospace,monospace; }.index-table article > span:last-child { font-size:24px; }

/* 02 Journal */
.journal-demo { background:#f4ecd9; color:#281d17; font-family:Georgia,serif; }
.journal-mast { padding:18px 3vw; border-block:4px double #281d17; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; font:11px ui-monospace,monospace; }
.journal-mast strong { font:700 clamp(16px,2vw,25px) Georgia,serif; letter-spacing:.05em; }.journal-mast a { justify-self:end; }
.journal-lead { padding:10vh 6vw 8vh; text-align:center; border-bottom:1px solid #826f60; }
.journal-date { font:11px ui-monospace,monospace; letter-spacing:.16em; }
.journal-lead h1 { margin:5vh 0 4vh; font-size:clamp(64px,11vw,160px); line-height:.78; letter-spacing:-.075em; font-weight:400; }.journal-lead h1 em { color:#a53627; }
.journal-deck { max-width:680px; margin:auto; font:20px/1.5 ui-sans-serif,sans-serif; }
.journal-feature { display:grid; grid-template-columns:1fr 1.4fr; gap:5vw; padding:9vw 5vw; align-items:center; }
.journal-feature > div:first-child span { font:11px ui-monospace,monospace; }.journal-feature h2 { margin:22px 0; font-size:clamp(50px,8vw,118px); line-height:.85; font-weight:400; }.journal-feature p { font:18px/1.6 ui-sans-serif,sans-serif; }.journal-feature a { display:inline-block; margin-top:24px; border-bottom:1px solid; }
.journal-list { padding:6vw 5vw; border-top:1px solid #826f60; }.journal-list > h2 { font-size:40px; font-weight:400; }
.journal-list article { display:grid; grid-template-columns:50px 1fr auto; gap:24px; padding:32px 0; border-top:1px solid #826f60; align-items:start; }.journal-list article > span,.journal-list article > a,.journal-list article p:first-child { font:11px ui-monospace,monospace; }.journal-list h3 { margin:6px 0; font-size:34px; font-weight:400; }.journal-list article p:last-child { font:15px/1.5 ui-sans-serif,sans-serif; max-width:600px; }
.journal-contact { padding:8vw 5vw; display:flex; justify-content:space-between; font-size:clamp(24px,4vw,60px); border-top:1px solid #826f60; }

/* 03 Reel */
.reel-demo { background:#050505; color:white; }
.reel-nav { position:absolute; z-index:2; inset:calc(var(--toolbar) + 20px) 3vw auto; display:flex; justify-content:space-between; font:10px ui-monospace,monospace; letter-spacing:.12em; }
.reel-title { min-height:calc(100vh - var(--toolbar)); display:flex; flex-direction:column; justify-content:flex-end; padding:8vh 4vw; background:radial-gradient(circle at 70% 35%,#c45c38,transparent 26%),linear-gradient(135deg,#07080e,#21204f 55%,#0f5c62); }
.reel-title span,.reel-title p { font:10px ui-monospace,monospace; letter-spacing:.14em; }.reel-title h1 { margin:4vh 0; font-size:clamp(72px,13vw,190px); line-height:.78; letter-spacing:-.08em; font-weight:500; }
.reel-scene { position:relative; min-height:100vh; padding:5vh 4vw; display:flex; align-items:center; }
.reel-scene .demo-media { position:absolute; inset:5vh 4vw; }
.scene-caption { position:relative; z-index:2; align-self:flex-end; display:grid; grid-template-columns:70px 1fr; width:100%; align-items:end; padding:24px; background:linear-gradient(transparent,rgba(0,0,0,.78)); }
.scene-caption h2 { margin:0; font-size:clamp(54px,10vw,150px); line-height:.8; letter-spacing:-.07em; }.scene-caption p { grid-column:2; }.scene-caption a { grid-column:2; justify-self:start; border-bottom:1px solid; font:11px ui-monospace,monospace; }

/* 04 Modular Grid */
.grid-demo { background:#f1e7d0; }
.grid-nav { display:flex; gap:20px; padding:20px 2.5vw; border-bottom:2px solid #111; font:700 11px ui-monospace,monospace; }.grid-nav strong { margin-right:auto; }
.grid-hero { padding:8vw 2.5vw 5vw; display:grid; grid-template-columns:1.5fr .5fr; gap:50px; align-items:end; }.grid-hero h1 { margin:0; font-size:clamp(66px,11vw,160px); line-height:.77; letter-spacing:-.08em; }.grid-hero p { font-size:18px; line-height:1.55; }
.grid-chips { display:flex; gap:8px; padding:18px 2.5vw; border-block:2px solid #111; }.grid-chips span { border:1px solid #111; border-radius:30px; padding:9px 14px; font:11px ui-monospace,monospace; }
.bento-grid { padding:2.5vw; display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:minmax(280px,36vw); gap:12px; }.bento-card { border:2px solid #111; background:white; display:flex; flex-direction:column; }.bento-card .demo-media { flex:1; }.bento-card > div:last-child { padding:16px; display:grid; grid-template-columns:1fr auto; }.bento-card h2 { margin:6px 0 0; font-size:30px; }.bento-card span,.bento-card a { font:10px ui-monospace,monospace; }.bento-card.card-1 { grid-column:span 2; }.bento-card.card-3 { grid-row:span 2; }.bento-note { background:#2045ff; color:white; padding:24px; display:flex; flex-direction:column; justify-content:space-between; }.bento-note b { font-size:70px; }.bento-note p { font-size:25px; }

/* 05 Manifesto */
.manifesto-demo { background:#f3dbb8; color:#64172b; }
.manifesto-nav { display:flex; justify-content:space-between; gap:20px; padding:22px 3vw; border-bottom:1px solid currentColor; font:700 11px ui-monospace,monospace; }.manifesto-nav strong { margin-right:auto; }
.manifesto-hero { min-height:90vh; padding:7vw 4vw; position:relative; }.manifesto-hero > p { font:11px ui-monospace,monospace; }.manifesto-hero h1 { margin:6vh 0 0; font-size:clamp(88px,15vw,220px); line-height:.7; letter-spacing:-.09em; text-transform:uppercase; }.scribble { position:absolute; right:8%; bottom:12%; transform:rotate(-8deg); font:italic 26px Georgia,serif; border-bottom:2px solid; }
.principles { padding:6vw 4vw; border-top:1px solid; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.principles article { border-top:4px solid; padding-top:18px; }.principles span { font:11px ui-monospace,monospace; }.principles h2 { font-size:38px; line-height:.95; }.principles p { line-height:1.55; }
.manifesto-proof { padding:8vw 4vw; background:#172d38; color:#f5dbb8; }.manifesto-proof > p { font:11px ui-monospace,monospace; }.manifesto-proof article { display:grid; grid-template-columns:1fr 1fr; gap:5vw; align-items:center; padding:7vw 0; border-top:1px solid #8fa0a5; }.manifesto-proof article:nth-child(odd) .demo-media { order:2; }.manifesto-proof h2 { font-size:clamp(50px,8vw,110px); line-height:.82; margin:10px 0; }.manifesto-proof a { display:inline-block; border-bottom:1px solid; padding-top:20px; }

/* 06 Canvas */
.canvas-demo { background:#0d1428; color:#c9ff4d; }
.canvas-nav { display:flex; justify-content:space-between; align-items:center; padding:18px 2vw; border-bottom:1px solid #4c5c4c; font:11px ui-monospace,monospace; }.canvas-nav button { background:transparent; color:inherit; border:1px solid; padding:8px 12px; cursor:pointer; }
.canvas-intro { padding:5vw 3vw 0; }.canvas-intro p,.canvas-intro span { font:10px ui-monospace,monospace; }.canvas-intro h1 { margin:20px 0; font-size:clamp(62px,10vw,140px); line-height:.78; letter-spacing:-.07em; }
.canvas-work { position:relative; min-height:930px; margin:0 2vw; }.canvas-node { position:absolute; display:block; width:27vw; min-width:260px; border:1px solid #65745b; padding:8px; background:#111a31; }.canvas-node > span { font:10px ui-monospace,monospace; }.canvas-node .demo-media { min-height:190px; margin:8px 0; }.canvas-node b { display:block; font-size:26px; }.canvas-node small { color:#9caf82; }.canvas-node.node-1{left:4%;top:10%}.canvas-node.node-2{right:6%;top:2%;width:34vw}.canvas-node.node-3{left:33%;top:44%;width:23vw}.canvas-node.node-4{right:4%;bottom:3%;width:25vw}.canvas-list { padding:8vw 3vw; }.canvas-list article { display:grid; grid-template-columns:50px 1fr auto; gap:24px; border-top:1px solid #65745b; padding:24px 0; }.canvas-list h2 { margin:0 0 8px; font-size:40px; }.canvas-list p { color:#a8b394; }

/* 07 Studio */
.studio-demo { background:#f1efe5; color:#12382e; }
.studio-nav { display:flex; justify-content:space-between; padding:22px 3vw; border-bottom:1px solid; font:700 11px ui-monospace,monospace; }.studio-nav div { display:flex; gap:24px; }
.studio-hero { padding:9vw 3vw 6vw; }.studio-hero > p { font:11px ui-monospace,monospace; }.studio-hero h1 { max-width:1250px; margin:3vw 0; font-size:clamp(64px,10vw,148px); line-height:.82; letter-spacing:-.075em; }.studio-hero div { display:flex; gap:8px; }.studio-hero div span { border:1px solid; border-radius:99px; padding:8px 12px; font-size:11px; }
.services { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid; }.services article { min-height:270px; padding:28px; border-right:1px solid; }.services article:last-child { border:0; }.services b { color:#65776f; }.services h2 { margin:80px 0 10px; font-size:34px; }.caseboard { padding:8vw 3vw; }.caseboard-head { display:grid; grid-template-columns:.5fr 1.5fr; border-bottom:1px solid; padding-bottom:30px; }.caseboard-head h2 { margin:0; font-size:clamp(48px,7vw,100px); line-height:.85; }.caseboard article { display:grid; grid-template-columns:1.2fr .8fr; gap:5vw; padding:40px 0; border-bottom:1px solid; align-items:center; }.caseboard h3 { font-size:54px; margin:10px 0; }.caseboard p { line-height:1.6; }.caseboard a { display:inline-block; margin-top:18px; border-bottom:1px solid; }

/* 08 Timeline */
.timeline-demo { background:#e5e0d3; color:#263a31; font-family:Georgia,serif; }
.timeline-nav { display:flex; justify-content:space-between; padding:20px 3vw; border-bottom:1px solid; font:11px ui-monospace,monospace; }
.timeline-hero { padding:9vw 7vw 7vw; }.timeline-hero p { font:11px ui-monospace,monospace; }.timeline-hero h1 { margin:30px 0; font-size:clamp(68px,12vw,170px); line-height:.78; font-weight:400; letter-spacing:-.07em; }
.timeline-years { padding:0 6vw 10vw; }.timeline-years article { display:grid; grid-template-columns:220px 1fr; min-height:480px; }.year { position:relative; font:30px ui-monospace,monospace; }.year i { position:absolute; left:80px; top:10px; bottom:0; width:1px; background:#607067; }.year i::before { content:""; position:absolute; width:11px; height:11px; left:-5px; top:0; border-radius:50%; background:#c04b3a; }.year-work { padding-bottom:80px; }.year-work .demo-media { min-height:420px; }.year-work > span,.year-work > a { font:11px ui-monospace,monospace; }.year-work h2 { margin:18px 0; font-size:70px; font-weight:400; }.year-work p { max-width:600px; font:17px/1.6 ui-sans-serif,sans-serif; }.year-work a { display:inline-block; margin-top:18px; }

/* 09 Split */
.split-demo { display:grid; grid-template-columns:42% 58%; background:#efe8dc; }
.split-identity { position:sticky; top:var(--toolbar); align-self:start; min-height:calc(100vh - var(--toolbar)); background:#102c34; color:#f5ede1; padding:26px 3vw; display:flex; flex-direction:column; justify-content:space-between; }.split-identity nav,.split-identity footer { display:flex; justify-content:space-between; gap:20px; font:11px ui-monospace,monospace; }.split-identity > div p { color:#b7c4c1; }.split-identity h1 { margin:20px 0; font-size:clamp(56px,7vw,110px); line-height:.82; letter-spacing:-.07em; }
.split-work > header { padding:24px 3vw; display:flex; justify-content:space-between; font:11px ui-monospace,monospace; }.split-work > article { padding:0 3vw 90px; }.split-work > article .demo-media { min-height:50vw; }.split-work > article h2 { margin:20px 0; font-size:clamp(48px,7vw,105px); line-height:.82; }.split-work > article p { max-width:560px; line-height:1.6; }.split-work > article a { display:inline-block; border-bottom:1px solid; }.split-work .case-preview { padding-inline:3vw; }.split-work .case-heading { display:block; }.split-work .case-heading p { margin-top:24px; }.split-work .case-facts { grid-template-columns:1fr; }.split-work .case-columns { grid-template-columns:1fr; gap:20px; }

/* 10 Spotlight */
.spotlight-demo { background:#f1eee5; }
.spotlight-nav { display:flex; justify-content:space-between; padding:22px 3vw; border-bottom:1px solid; font:11px ui-monospace,monospace; }
.spotlight-hero { min-height:calc(100vh - var(--toolbar)); display:grid; grid-template-columns:.85fr 1.15fr; }.spotlight-hero > div:first-child { padding:7vw 3vw; display:flex; flex-direction:column; justify-content:flex-end; }.spotlight-hero span,.spotlight-hero a { font:11px ui-monospace,monospace; }.spotlight-hero h1 { margin:24px 0; font-size:clamp(68px,10vw,160px); line-height:.72; letter-spacing:-.08em; }.spotlight-hero p { max-width:540px; font-size:18px; line-height:1.6; }.spotlight-hero a { margin-top:30px; }.spotlight-hero .demo-media { min-height:100%; }
.spotlight-story { display:grid; grid-template-columns:220px 1fr; gap:3vw; padding:9vw 3vw; background:#13243d; color:#f4f0e7; }.spotlight-story aside { font:11px ui-monospace,monospace; }.spotlight-story h2 { margin:20px 0; max-width:1000px; font:400 clamp(55px,8vw,120px)/.85 Georgia,serif; letter-spacing:-.055em; }.spotlight-story > div > p:not(.case-label) { max-width:680px; font-size:18px; line-height:1.7; }.decision-grid { margin-top:70px; display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid #71809a; }.decision-grid article { padding:24px; border-right:1px solid #71809a; }.decision-grid article:last-child { border:0; }.decision-grid h3 { margin:65px 0 0; font-size:26px; }.spotlight-more { padding:7vw 3vw; }.spotlight-more > h2 { font-size:70px; }.spotlight-more article { display:grid; grid-template-columns:100px 1fr 1fr auto; gap:20px; padding:24px 0; border-top:1px solid; align-items:center; }.spotlight-more h3 { margin:0; font-size:34px; }

@media (max-width: 800px) {
  :root { --toolbar:64px; }
  .lab-hero { min-height:760px; padding:18px 18px 0; }.hero-copy { grid-template-columns:1fr; gap:24px; padding:60px 0; }.hero-copy .eyebrow{grid-column:auto}.hero-copy h1{font-size:64px}
  .gallery-intro { grid-template-columns:1fr; padding:70px 18px 32px; }.template-grid{grid-template-columns:1fr;margin:0 18px}.card-thumb{height:280px}.recommendation{margin:80px 18px 24px;padding:24px;grid-template-columns:1fr}.recommendation-number{font-size:64px}.lab-footer{margin:0 18px;flex-direction:column}
  .preview-toolbar { padding:0 12px 0 70px; grid-template-columns:1fr auto; }.toolbar-title{display:none}.toolbar-nav{gap:12px}.toolbar-back{font-size:11px}
  .case-preview{padding:80px 20px}.case-heading,.case-columns{grid-template-columns:1fr}.case-heading p{margin-top:24px}.case-facts{grid-template-columns:1fr}.case-media{min-height:110vw}.demo-footer{flex-direction:column}
  .index-demo .demo-nav{align-items:flex-start}.index-demo .demo-nav span{display:none}.index-hero{grid-template-columns:1fr;padding-top:80px}.index-hero h1{font-size:56px}.index-table article{grid-template-columns:30px 1fr 24px;min-height:90px}.index-table article>span:nth-last-child(2){display:none}.project-link{grid-template-columns:1fr}.project-link span{margin-top:8px}.index-filters{overflow:auto}
  .journal-mast{grid-template-columns:1fr auto}.journal-mast span{display:none}.journal-lead{padding-top:80px}.journal-lead h1{font-size:64px}.journal-feature{grid-template-columns:1fr;padding-block:70px}.journal-feature .demo-media{order:-1}.journal-list article{grid-template-columns:30px 1fr}.journal-list article>a{grid-column:2}.journal-contact{flex-direction:column;gap:24px;font-size:28px}
  .reel-nav{inset-inline:20px}.reel-nav span{display:none}.reel-title{padding:80px 20px}.reel-title h1{font-size:70px}.reel-scene{padding:20px}.reel-scene .demo-media{inset:20px}.scene-caption{grid-template-columns:1fr}.scene-caption>*{grid-column:1!important}.scene-caption h2{font-size:54px}
  .grid-nav a:nth-of-type(-n+2){display:none}.grid-hero{grid-template-columns:1fr;padding-top:80px}.grid-hero h1{font-size:58px}.bento-grid{grid-template-columns:1fr;grid-auto-rows:420px}.bento-card.card-1{grid-column:auto}.bento-card.card-3{grid-row:auto}
  .manifesto-hero{min-height:720px;padding:80px 20px}.manifesto-hero h1{font-size:70px}.principles{grid-template-columns:1fr;padding:70px 20px}.manifesto-proof{padding-inline:20px}.manifesto-proof article{grid-template-columns:1fr}.manifesto-proof article:nth-child(odd) .demo-media{order:0}
  .canvas-nav span{display:none}.canvas-intro{padding:70px 20px 0}.canvas-intro h1{font-size:62px}.canvas-work{min-height:auto;padding:50px 20px}.canvas-node{position:relative!important;inset:auto!important;width:100%!important;min-width:0;margin-bottom:24px}.canvas-list{padding-inline:20px}.canvas-list article{grid-template-columns:30px 1fr}.canvas-list article>a{grid-column:2}
  .studio-nav div a:not(:last-child){display:none}.studio-hero{padding:80px 20px}.studio-hero h1{font-size:58px}.services{grid-template-columns:1fr}.services article{border-right:0;border-bottom:1px solid;min-height:220px}.services h2{margin-top:50px}.caseboard{padding-inline:20px}.caseboard-head,.caseboard article{grid-template-columns:1fr}.caseboard-head p{margin-bottom:20px}.caseboard article .demo-media{margin-bottom:20px}.caseboard h3{font-size:44px}
  .timeline-hero{padding:80px 20px}.timeline-hero h1{font-size:60px}.timeline-years{padding-inline:20px}.timeline-years article{grid-template-columns:70px 1fr}.year{font-size:15px}.year i{left:48px}.year-work .demo-media{min-height:260px}.year-work h2{font-size:44px}
  .split-demo{display:block}.split-identity{position:relative;top:auto;min-height:620px}.split-identity h1{font-size:60px}.split-work>article{padding-inline:20px}.split-work>article .demo-media{min-height:110vw}.split-work>article h2{font-size:55px}
  .spotlight-nav span{display:none}.spotlight-hero{grid-template-columns:1fr}.spotlight-hero>div:first-child{min-height:580px;padding:80px 20px 50px}.spotlight-hero h1{font-size:70px}.spotlight-hero .demo-media{min-height:115vw}.spotlight-story{grid-template-columns:1fr;padding:80px 20px}.spotlight-story h2{font-size:52px}.decision-grid{grid-template-columns:1fr}.decision-grid article{border-right:0;border-bottom:1px solid #71809a}.spotlight-more{padding:70px 20px}.spotlight-more>h2{font-size:48px}.spotlight-more article{grid-template-columns:70px 1fr auto}.spotlight-more article p{display:none}
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Local photo parameter matcher */
.smart-match-callout { margin:0 36px 56px; padding:30px; display:grid; grid-template-columns:1fr 1fr auto; gap:36px; align-items:end; border:1px solid #111; background:var(--acid); }
.smart-match-callout h2 { margin:0; max-width:620px; font-size:clamp(38px,5vw,72px); line-height:.9; letter-spacing:-.055em; }
.smart-match-callout > p,.smart-match-callout>div>p { margin:0; max-width:560px; line-height:1.6; }
.smart-match-features{display:flex;flex-wrap:wrap;gap:7px 18px!important;margin-top:18px!important;font:9px/1.5 ui-monospace,monospace;letter-spacing:.05em}.smart-match-features span{padding-top:7px;border-top:1px solid #111}
.smart-match-link { padding:13px 16px; border:1px solid #111; background:#111; color:var(--acid); white-space:nowrap; }
.matcher-page { background:#ece8de; }
.matcher-header { min-height:72vh; padding:24px 36px 70px; color:#f5f0e6; background:#111; }
.matcher-back { padding-bottom:5px; border-bottom:1px solid #777; color:#c8c4ba; font-size:12px; }
.matcher-hero-copy { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr); gap:50px; align-items:end; padding-top:15vh; }
.matcher-hero-copy .eyebrow { grid-column:1/-1; margin:0; color:var(--acid); font:11px ui-monospace,monospace; letter-spacing:.13em; }
.matcher-hero-copy h1 { margin:0; font-size:clamp(62px,10vw,148px); line-height:.78; letter-spacing:-.075em; }
.matcher-hero-copy h1 em { color:var(--acid); font:400 italic 1em Georgia,serif; }
.matcher-hero-copy > p:last-child { margin:0; color:#c5c0b7; font-size:17px; line-height:1.65; }
.matcher-main { padding:90px 36px 20px; }
.analyzer-heading { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:40px; }
.analyzer-heading h2,.results-heading h2,.recommendations-heading h2,.privacy-panel h2 { margin:0; font-size:clamp(42px,6vw,86px); line-height:.9; letter-spacing:-.06em; }
.analyzer-heading > p { margin:0; max-width:620px; line-height:1.65; }
.drop-zone { min-height:360px; padding:32px; display:flex; flex-direction:column; justify-content:space-between; border:2px dashed #111; background:#f5f1e8; cursor:pointer; transition:background .2s ease,color .2s ease; }
.drop-zone:hover,.drop-zone.is-dragging { background:#171717; color:var(--acid); }
.drop-zone input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.drop-index { font:11px ui-monospace,monospace; letter-spacing:.12em; }
.drop-zone strong { max-width:900px; font-size:clamp(44px,8vw,110px); line-height:.82; letter-spacing:-.07em; }
.drop-zone small { font-size:13px; }
.analyzer-actions { padding:20px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.analyzer-actions p { margin:0; color:#666158; }
.analyzer-actions button { padding:13px 17px; border:1px solid #111; background:#111; color:var(--acid); cursor:pointer; }
.analyzer-actions button:disabled { opacity:.35; cursor:not-allowed; }
.analysis-status { padding:18px 0; display:flex; align-items:center; gap:12px; }
.analysis-status[hidden] { display:none; }
.analysis-status span { width:12px; height:12px; border-radius:50%; background:#111; animation:matcher-pulse 1s ease-in-out infinite alternate; }
.analysis-status p { margin:0; font:12px ui-monospace,monospace; }
@keyframes matcher-pulse { to { transform:scale(.5); opacity:.35; } }
.match-results { padding:120px 0 20px; }
.match-results[hidden] { display:none; }
.results-heading,.recommendations-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:34px; }
.profile-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border:1px solid #aaa49a; background:#aaa49a; }
.profile-grid article { min-height:0; padding:12px 14px; display:flex; flex-direction:row; justify-content:space-between; align-items:baseline; gap:12px; background:#f6f2e9; }
.profile-grid span { font:9px ui-monospace,monospace; color:#6e6a62; letter-spacing:.08em; flex:none; }
.profile-grid strong { font-size:14px; font-weight:600; line-height:1.35; text-align:right; }
.metadata-note { margin:16px 0 100px; max-width:860px; color:#68635b; line-height:1.6; }
.match-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid #aaa49a; background:#aaa49a; }
.match-card { min-height:460px; padding:24px; display:flex; flex-direction:column; background:#f6f2e9; }
.match-card.is-best { background:var(--acid); }
.match-card > div:first-child { display:flex; justify-content:space-between; font:11px ui-monospace,monospace; }
.match-card h3 { margin:70px 0 4px; font-size:clamp(35px,4vw,58px); line-height:.88; letter-spacing:-.055em; }
.match-en { margin:0; color:#6b675f; font:italic 16px Georgia,serif; }
.match-card ul { margin:38px 0; padding:0; list-style:none; border-top:1px solid rgba(0,0,0,.25); }
.match-card li { padding:10px 0; border-bottom:1px solid rgba(0,0,0,.25); font-size:13px; line-height:1.4; }
.match-card a { margin-top:auto; align-self:flex-start; padding-bottom:7px; border-bottom:1px solid; }
.privacy-panel { margin:120px 0 30px; padding:42px; display:grid; grid-template-columns:.35fr 1.4fr 1fr; gap:36px; align-items:start; background:#131313; color:#f4efe5; }
.privacy-panel h2 { font-size:clamp(38px,5vw,72px); }
.privacy-panel > p:last-child { margin:0; color:#bcb7ae; line-height:1.7; }
.matcher-footer { padding-top:20px; }
.photo-adapt-banner { padding:28px max(4vw,24px); display:flex; justify-content:space-between; gap:30px; align-items:end; background:var(--acid); color:#111; border-bottom:1px solid #111; }
.photo-adapt-banner p { margin:0; font:11px ui-monospace,monospace; }
.photo-adapt-banner h2 { margin:8px 0 0; font-size:clamp(26px,4vw,54px); line-height:.92; letter-spacing:-.05em; }
.photo-real-media { background-position:center!important; background-size:cover!important; }
.photo-real-media::before,.photo-real-media::after { display:none; }

@media (max-width:800px) {
  .template-photo-entry{min-height:650px;padding:14px;gap:20px}.template-photo-drop{min-height:500px;padding:20px}.template-photo-drop strong{font-size:54px;line-height:.88}.template-photo-meta{grid-template-columns:1fr;gap:12px}.template-photo-status{justify-self:start;text-align:left}.template-photo-action{align-self:flex-start}.template-photo-entry.is-populated{min-height:260px;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto}.template-photo-entry.is-populated .template-photo-drop{min-height:170px}.template-photo-entry.is-populated .template-photo-meta>p:first-child{display:none}
  .smart-match-callout { margin:0 18px 40px; padding:22px; grid-template-columns:1fr; }
  .matcher-header { min-height:680px; padding:18px 18px 50px; }
  .matcher-hero-copy { grid-template-columns:1fr; padding-top:110px; }
  .matcher-hero-copy .eyebrow { grid-column:auto; }
  .matcher-hero-copy h1 { font-size:60px; }
  .matcher-main { padding:70px 18px 10px; }
  .analyzer-heading { grid-template-columns:1fr; }
  .drop-zone { min-height:310px; padding:22px; }
  .drop-zone strong { font-size:50px; }
  .analyzer-actions { align-items:stretch; flex-direction:column; }
  .analyzer-actions button { width:100%; }
  .results-heading,.recommendations-heading { display:block; }
  .profile-grid { grid-template-columns:repeat(2,1fr); }
  .match-cards { grid-template-columns:1fr; }
  .match-card { min-height:410px; }
  .privacy-panel { margin-top:80px; padding:24px; grid-template-columns:1fr; }
  .photo-adapt-banner { align-items:flex-start; flex-direction:column; }
}

/* Round 02 thumbnails — same gallery card system, new authored structures */
.gallery-intro-round-two { margin-top:120px; border-top:1px solid var(--line); }
.thumb-contact { padding:9%; display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(3,1fr); gap:5px; background:#292724; }
.mini-proof { display:block; background:linear-gradient(145deg,#c6b499,#5c554c); border:2px solid #e8dfcf; }
.thumb-contact b { position:absolute; left:9%; bottom:4%; color:#e9dfcb; font:9px ui-monospace,monospace; }
.thumb-sequence { background:#ece7dc; }
.mini-sequence { position:absolute; display:block; background:#3e4642; }.mini-sequence.s1{left:8%;top:10%;width:38%;height:56%}.mini-sequence.s2{right:7%;top:24%;width:31%;height:34%;background:#a78569}.mini-sequence.s3{right:19%;bottom:8%;width:23%;height:18%;background:#1b2830}
.thumb-sequence b { position:absolute; left:8%; right:52%; bottom:8%; font:italic 12px/1.25 Georgia,serif; }
.thumb-spines { display:flex; align-items:flex-end; gap:5px; padding:9% 8%; background:#d8d0c1; }
.mini-spine { position:relative; display:block; height:84%; flex:1; border:1px solid #333; background:#ebe5d9; }.mini-spine.sp2{height:68%;background:#783f35}.mini-spine.sp3{height:92%;background:#253d49}.mini-spine.sp4{height:76%;background:#beb05d}.mini-spine.sp5{height:88%;background:#ebe5d9}.mini-spine span{position:absolute;left:50%;top:9%;writing-mode:vertical-rl;font:9px ui-monospace,monospace}
.thumb-wall { background:#f1f0eb; }.mini-wall-art{position:absolute;left:12%;top:11%;width:57%;height:64%;background:linear-gradient(140deg,#25363a,#92745c)}.thumb-wall b{position:absolute;right:8%;bottom:13%;width:20%;font:7px/1.4 ui-monospace,monospace}
.thumb-diptych { background:#d9d7d0; }.mini-diptych{position:absolute;top:13%;bottom:18%;width:38%;background:#6b7b76}.mini-diptych.d1{left:7%}.mini-diptych.d2{right:7%;background:#94715e}.thumb-diptych b{position:absolute;left:47%;top:14%;writing-mode:vertical-rl;font:8px ui-monospace,monospace}
.thumb-ledger { padding:16% 7% 7%; background:#e8e8dc; }.thumb-ledger b{position:absolute;left:7%;top:7%;font:9px ui-monospace,monospace}.mini-ledger-row{display:block;height:15%;border-top:1px solid #496052}.mini-ledger-row::after{content:"";display:block;width:42%;height:45%;margin:4% 0;background:#496052}
.thumb-darkroom { background:#2a201b; }.mini-proof-sheet{position:absolute;left:7%;top:8%;width:48%;height:61%;background:repeating-linear-gradient(90deg,#b5a790 0 13%,#211a17 13% 16%),repeating-linear-gradient(#0000 0 29%,#211a17 29% 34%)}.mini-print{position:absolute;display:block;width:34%;height:45%;border:8px solid #e7ddc9;background:#8d6b58}.mini-print.one{right:9%;top:17%;transform:rotate(4deg)}.mini-print.two{right:24%;bottom:4%;transform:rotate(-5deg);background:#33413e}.thumb-darkroom b{position:absolute;left:7%;bottom:5%;color:#e8d9c3;font:8px ui-monospace,monospace}
.thumb-route { background:#ddd4c1; }.mini-route-line{position:absolute;inset:13% 18%;border-left:2px solid #b34836;border-bottom:2px solid #b34836;transform:skew(-18deg) rotate(-7deg)}.mini-stop{position:absolute;width:11px;height:11px;border:2px solid #b34836;border-radius:50%;background:#ddd4c1}.mini-stop.stop1{left:18%;top:18%}.mini-stop.stop2{left:34%;top:52%}.mini-stop.stop3{right:31%;bottom:20%}.mini-stop.stop4{right:17%;top:26%}.thumb-route b{position:absolute;left:7%;bottom:6%;font:8px ui-monospace,monospace}
.thumb-interview { padding:9%; background:#f0ece2; }.mini-question{display:block;max-width:75%;font:400 clamp(23px,4vw,50px)/.9 Georgia,serif}.mini-answer{position:absolute;left:48%;right:8%;bottom:12%;height:22%;border-top:1px solid;background:repeating-linear-gradient(#0000 0 7px,#aaa 8px)}
.thumb-monograph { background:#e6e1d5; }.mini-mono-image{position:absolute;left:29%;top:9%;width:43%;height:66%;background:linear-gradient(160deg,#263c45,#aa8064)}.thumb-monograph b{position:absolute;left:7%;bottom:7%;font:20px/.85 Georgia,serif}.thumb-monograph span{position:absolute;right:7%;bottom:8%;font:7px ui-monospace,monospace}

/* Round 03 thumbnails — A3 landscape structures */
.thumb-folio { background:#e9e2d2; }.mini-folio{position:absolute;top:16%;bottom:24%;width:36%;background:#fdfaf2;border:1px solid #2b2620;box-shadow:0 4px 10px #0002}.mini-folio.f1{left:8%}.mini-folio.f2{right:8%}.thumb-folio b{position:absolute;left:9%;bottom:8%;font:8px ui-monospace,monospace;color:#2b2620}
.thumb-boards { background:#232730; }.mini-board{position:absolute;left:10%;right:22%;height:26%;background:#f3efe4;border-left:6px solid #c7ff36}.mini-board.b1{top:14%}.mini-board.b2{top:52%;left:16%}.thumb-boards b{position:absolute;right:6%;top:14%;color:#f3efe4;font:8px ui-monospace,monospace}
.thumb-strips { background:#efe8da;display:flex;align-items:center }.mini-strip{display:block;width:22%;height:44%;margin-left:2.5%;background:linear-gradient(160deg,#33413e,#92745c);border:1px solid #2b2620}.mini-strip.s2{background:linear-gradient(160deg,#6b7b76,#3f4a44)}.mini-strip.s3{background:linear-gradient(160deg,#8d6b58,#33413e)}.mini-strip.s4{background:linear-gradient(160deg,#253d49,#94715e)}.thumb-strips b{position:absolute;left:6%;bottom:8%;font:8px ui-monospace,monospace}
.thumb-widegrid { background:#181512;padding:10%;display:grid;grid-template-columns:repeat(3,1fr);gap:6px }.mini-wide{display:block;aspect-ratio:1.5;background:linear-gradient(150deg,#a78569,#3e4642);border:2px solid #e8dfcf}.mini-wide.w1{grid-column:span 3;aspect-ratio:2.1;background:linear-gradient(140deg,#33413e,#92745c)}.thumb-widegrid b{position:absolute;left:6%;bottom:6%;color:#e8dfcf;font:8px ui-monospace,monospace}

/* 11 Contact Sheet Bureau */
.contact-demo { background:#d8d0c2;color:#1f211f;font-family:Arial,sans-serif }
.contact-nav,.contact-tools{display:flex;justify-content:space-between;gap:20px;padding:18px 2.5vw;border-bottom:1px solid;font:10px ui-monospace,monospace;letter-spacing:.07em}.contact-head{padding:8vw 2.5vw 5vw;display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}.contact-head p{font:11px/1.6 ui-monospace,monospace}.contact-head h1{margin:18px 0 0;font:400 clamp(68px,10vw,148px)/.78 Arial,sans-serif;letter-spacing:-.075em}.contact-tools{justify-content:flex-start;border-block:1px solid}.contact-tools b{margin-left:auto}.proof-grid{padding:2.5vw;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#25231f}.proof-frame{padding:8px;background:#e8dfcf;color:#1f211f}.proof-frame>span,.proof-frame small{display:block;font:9px ui-monospace,monospace}.proof-frame .demo-media{min-height:19vw;margin:7px 0}.proof-frame small{white-space:nowrap;overflow:hidden}.contact-note{padding:8vw 4vw;display:grid;grid-template-columns:.3fr 1fr;gap:6vw;border-bottom:1px solid}.contact-note span{font:10px ui-monospace,monospace}.contact-note p{margin:0;max-width:1000px;font:400 clamp(38px,6vw,86px)/.96 Georgia,serif}

/* 12 Captioned Sequence */
.sequence-demo{background:#efebe2;color:#272621;font-family:Georgia,serif}.sequence-nav{display:flex;justify-content:space-between;padding:20px 3vw;border-bottom:1px solid;font:10px ui-monospace,monospace}.sequence-cover{min-height:88vh;padding:10vh 6vw;display:grid;grid-template-columns:1fr auto;align-content:space-between}.sequence-cover p{grid-column:1/-1;font:10px ui-monospace,monospace}.sequence-cover h1{margin:0;font:400 clamp(76px,13vw,190px)/.76 Georgia,serif;letter-spacing:-.07em}.sequence-cover span{align-self:end;font:11px/1.6 ui-monospace,monospace}.sequence-chapters{padding:0 5vw 12vw}.sequence-chapter{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);gap:5vw;align-items:center}.sequence-chapter:nth-child(even){grid-template-columns:minmax(240px,.6fr) minmax(0,1.4fr)}.sequence-chapter:nth-child(even)>div{order:2}.sequence-chapter .demo-media{min-height:70vh}.sequence-chapter aside{max-width:340px}.sequence-chapter span,.sequence-chapter small{font:9px ui-monospace,monospace}.sequence-chapter p{margin:25px 0;font:italic 22px/1.45 Georgia,serif}.sequence-index{padding:10vw 8vw;border-top:1px solid}.sequence-index span{font:10px ui-monospace,monospace}.sequence-index h2{max-width:1100px;font:400 clamp(45px,7vw,100px)/.92 Georgia,serif}

/* 13 Book Spine Archive */
.books-demo{background:#d2c8b7;color:#262822;font-family:Georgia,serif}.books-nav{display:flex;justify-content:space-between;padding:20px 3vw;border-bottom:1px solid;font:10px ui-monospace,monospace}.books-intro{padding:7vw 4vw 5vw}.books-intro p{font:10px ui-monospace,monospace}.books-intro h1{margin:28px 0 0;font:400 clamp(70px,11vw,158px)/.78 Georgia,serif;letter-spacing:-.065em}.book-shelf{min-height:64vw;padding:4vw;display:flex;align-items:flex-end;gap:8px;border-bottom:16px solid #4a392d}.book-spine{position:relative;min-width:0;flex:1;height:52vw;padding:22px 13px;border:1px solid #28251f;background:#e5dfd2}.book-spine:nth-child(2){height:43vw;background:#6d3e35;color:#f1e8d7}.book-spine:nth-child(3){height:58vw;background:#2e4650;color:#f1e8d7}.book-spine:nth-child(4){height:48vw;background:#b3a95f}.book-spine h2{margin:40px auto;writing-mode:vertical-rl;font:400 clamp(28px,5vw,70px)/.95 Georgia,serif}.book-spine span,.book-spine small{font:9px ui-monospace,monospace}.book-spine small{position:absolute;bottom:18px;left:13px;writing-mode:vertical-rl}.book-open{margin:10vw 3vw;padding:24px;background:#eee8dc;box-shadow:0 15px 40px #6b5a4f66}.book-open>header,.book-open>footer{display:flex;justify-content:space-between;font:9px ui-monospace,monospace}.book-spread{display:grid;grid-template-columns:1fr 1fr;min-height:70vw;margin:20px 0;border-block:1px solid}.book-spread>div:first-child{padding:8vw 4vw}.book-spread h2{font:400 clamp(55px,8vw,110px)/.85 Georgia,serif}.book-spread p{line-height:1.7}.book-spread .demo-media{min-height:100%}

/* 14 Wall Label Gallery */
.wall-demo{background:#f1f0eb;color:#20201f}.wall-nav{display:flex;justify-content:space-between;padding:20px 3vw;border-bottom:1px solid #bbb;font:10px ui-monospace,monospace}.wall-entry{min-height:78vh;padding:9vw 5vw;display:grid;grid-template-columns:1fr auto;align-content:space-between}.wall-entry p{grid-column:1/-1;font:10px ui-monospace,monospace}.wall-entry h1{margin:0;font:400 clamp(72px,12vw,180px)/.78 Georgia,serif;letter-spacing:-.065em}.wall-entry span{align-self:end;font:10px/1.6 ui-monospace,monospace}.wall-rooms article{min-height:105vh;padding:7vw;display:grid;grid-template-columns:80px 1fr 250px;gap:4vw;align-items:center;border-top:1px solid #ccc}.room-number{align-self:start;font:9px ui-monospace,monospace}.wall-rooms .demo-media{min-height:62vw;box-shadow:0 10px 24px #0002}.wall-label{align-self:end;font-size:12px;line-height:1.55}.wall-label b{font-size:11px}.wall-label a{display:inline-block;margin-top:18px;border-bottom:1px solid;font:9px ui-monospace,monospace}.wall-index{padding:10vw;display:grid;grid-template-columns:.3fr 1fr;gap:5vw;border-top:1px solid}.wall-index span{font:9px ui-monospace,monospace}.wall-index p{margin:0;font:400 clamp(45px,7vw,100px)/.95 Georgia,serif}

/* 15 Diptych Argument */
.diptych-demo{background:#d9d7d0;color:#20211f}.diptych-nav{display:flex;justify-content:space-between;padding:19px 2vw;border-bottom:1px solid;font:10px ui-monospace,monospace}.diptych-head{padding:8vw 3vw}.diptych-head p{font:10px ui-monospace,monospace}.diptych-head h1{margin:28px 0;font:400 clamp(75px,12vw,175px)/.78 Georgia,serif;letter-spacing:-.07em}.diptych-pairs article{min-height:100vh;padding:3vw;display:grid;grid-template-columns:1fr 220px 1fr;gap:2vw;align-items:center;border-top:1px solid}.diptych-image .demo-media{min-height:70vh}.diptych-thesis{text-align:center}.diptych-thesis span,.diptych-thesis a{font:9px ui-monospace,monospace}.diptych-thesis h2{margin:30px 0;font:400 31px/1.05 Georgia,serif}.diptych-index{padding:22px 3vw;display:flex;justify-content:space-between;gap:20px;border-block:1px solid;font:9px ui-monospace,monospace}

/* 16 Commission Ledger */
.ledger-demo{background:#e6e7dd;color:#1c332b}.ledger-nav{display:flex;justify-content:space-between;padding:20px 3vw;border-bottom:2px solid;font:700 10px ui-monospace,monospace}.ledger-head{padding:8vw 3vw 5vw}.ledger-head>p{font:10px ui-monospace,monospace}.ledger-head h1{margin:25px 0;font-size:clamp(75px,12vw,180px);line-height:.76;letter-spacing:-.075em}.ledger-head div{display:flex;gap:8px}.ledger-head div span{padding:7px 10px;border:1px solid;border-radius:30px;font:9px ui-monospace,monospace}.ledger-table{border-block:2px solid}.ledger-row{display:grid;grid-template-columns:70px 1.2fr 1fr 100px 60px;gap:18px;padding:20px 3vw;align-items:center;border-bottom:1px solid}.ledger-row:last-child{border:0}.ledger-row>span,.ledger-row>a,.ledger-row p{font:10px ui-monospace,monospace}.ledger-row h2{margin:0;font-size:34px}.ledger-row p{margin:5px 0 0;color:#5c685f}.ledger-label{padding-block:10px}.ledger-plate{padding:8vw 3vw;display:grid;grid-template-columns:1.35fr .65fr;gap:5vw;align-items:end}.ledger-plate .demo-media{min-height:60vw}.ledger-plate span{font:9px ui-monospace,monospace}.ledger-plate h2{font:400 clamp(43px,6vw,85px)/.92 Georgia,serif}.ledger-plate p{line-height:1.65}

/* 17 Darkroom Table */
.darkroom-demo{background:#2b211c;color:#eadfca}.darkroom-nav{display:flex;justify-content:space-between;padding:20px 3vw;border-bottom:1px solid #6e5b4e;font:10px ui-monospace,monospace}.darkroom-head{padding:8vw 4vw 5vw;display:grid;grid-template-columns:1fr auto;align-items:end}.darkroom-head>p{grid-column:1/-1;color:#c84b3b;font:10px ui-monospace,monospace}.darkroom-head h1{margin:20px 0 0;font-size:clamp(75px,12vw,175px);line-height:.76;letter-spacing:-.075em}.darkroom-head>span{font:10px/1.6 ui-monospace,monospace}.darkroom-table{position:relative;min-height:1100px;margin:0 2vw 8vw;background:#594336;box-shadow:inset 0 0 70px #1a120e;padding:4vw}.darkroom-sheet{width:57%;padding:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;background:#d7c8ae;transform:rotate(-1deg)}.dark-cell{position:relative;border:4px solid #1d1713}.dark-cell .demo-media{min-height:150px}.dark-cell i{position:absolute;inset:0;display:grid;place-items:center;color:#d94332;font:700 15px ui-monospace,monospace}.darkroom-print{position:absolute;width:34%;padding:15px;background:#e5d9c4;color:#241d18}.darkroom-print .demo-media{min-height:370px}.darkroom-print>span{display:block;margin-top:10px;font:9px ui-monospace,monospace}.darkroom-print.print-a{right:6%;top:8%;transform:rotate(3deg)}.darkroom-print.print-b{left:34%;bottom:7%;transform:rotate(-4deg)}.darkroom-table aside{position:absolute;right:7%;bottom:8%;width:260px;padding:22px;background:#c8b37c;color:#30271d;transform:rotate(2deg);font:italic 20px/1.4 Georgia,serif}.darkroom-table aside b{font:9px ui-monospace,monospace}.darkroom-list{padding:8vw 4vw}.darkroom-list h2{font:400 60px Georgia,serif}.darkroom-list article{display:grid;grid-template-columns:60px 1fr 1fr auto;gap:20px;padding:20px 0;border-top:1px solid #6e5b4e;align-items:center}.darkroom-list h3{margin:0;font-size:30px}.darkroom-list article>*:not(h3){font:10px ui-monospace,monospace}
.darkroom-records article{min-height:92vh;padding:8vw 4vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:center;border-top:1px solid #6e5b4e}.darkroom-records article>div:first-child>span,.darkroom-records dt,.darkroom-records dd,.darkroom-records a{font:10px/1.5 ui-monospace,monospace}.darkroom-records h2{margin:30px 0;font:400 clamp(58px,9vw,132px)/.84 Georgia,serif;letter-spacing:-.055em}.darkroom-records p{max-width:540px;font:20px/1.65 Georgia,serif}.darkroom-records dl{margin:60px 0 36px;border-top:1px solid #6e5b4e}.darkroom-records dl div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid #6e5b4e}.darkroom-records dd{margin:0}.darkroom-records a{display:inline-block;border-bottom:1px solid}.darkroom-record-media{min-height:64vw}

/* 18 Route Map */
.route-demo{background:#ded4bf;color:#24343d}.route-nav{display:flex;justify-content:space-between;padding:20px 3vw;border-bottom:1px solid;font:10px ui-monospace,monospace}.route-head{min-height:80vh;padding:9vw 4vw;display:grid;grid-template-columns:1fr auto;align-content:space-between}.route-head p{grid-column:1/-1;font:10px ui-monospace,monospace}.route-head h1{margin:0;font-size:clamp(76px,12vw,178px);line-height:.76;letter-spacing:-.075em}.route-head span{align-self:end;font:10px/1.6 ui-monospace,monospace}.route-map{position:relative;min-height:760px;margin:0 3vw 10vw;border:1px solid;background:repeating-linear-gradient(0deg,#0000 0 59px,#283b4422 60px),repeating-linear-gradient(90deg,#0000 0 59px,#283b4422 60px)}.route-path{position:absolute;left:14%;top:16%;width:70%;height:62%;border-left:4px solid #a44134;border-bottom:4px solid #a44134;transform:skew(-20deg) rotate(-7deg);border-radius:0 0 0 45%}.route-stop{position:absolute;font:10px ui-monospace,monospace}.route-stop i{display:block;width:17px;height:17px;margin-bottom:8px;border:4px solid #a44134;border-radius:50%;background:#ded4bf}.route-stop.stop-1{left:13%;top:12%}.route-stop.stop-2{left:33%;top:54%}.route-stop.stop-3{right:29%;bottom:13%}.route-stop.stop-4{right:12%;top:22%}.route-list article{padding:8vw 4vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:end;border-top:1px solid}.route-list span,.route-list a{font:10px ui-monospace,monospace}.route-list h2{font:400 clamp(52px,8vw,115px)/.84 Georgia,serif}.route-list p{line-height:1.7}.route-list .demo-media{min-height:55vw}

/* 19 Interview Portfolio */
.interview-demo{background:#f0ece2;color:#27231f;font-family:Georgia,serif}.interview-nav{display:flex;justify-content:space-between;padding:20px 3vw;border-bottom:3px double;font:10px ui-monospace,monospace}.interview-open{min-height:92vh;padding:9vw 5vw;display:grid;grid-template-columns:1fr .75fr;gap:5vw;align-content:center}.interview-open>p:first-child{grid-column:1/-1;font:10px ui-monospace,monospace}.interview-open h1{margin:30px 0;font:400 clamp(72px,12vw,178px)/.76 Georgia,serif;letter-spacing:-.07em}.interview-open .answer{align-self:end;font:italic clamp(25px,3vw,44px)/1.28 Georgia,serif}.interview-qa article{padding:8vw 5vw;display:grid;grid-template-columns:.8fr .7fr 1fr;gap:4vw;border-top:1px solid;align-items:start}.question span{font:10px ui-monospace,monospace}.question h2{font:400 clamp(40px,5vw,72px)/.95 Georgia,serif}.interview-qa .answer p{margin-top:30px;font-size:20px;line-height:1.6}.interview-qa .answer a{display:inline-block;margin-top:25px;border-bottom:1px solid;font:9px ui-monospace,monospace}.interview-qa .demo-media{min-height:45vw}

/* 20 Quiet Monograph */
.monograph-demo{background:#e5e0d5;color:#22201d;font-family:Georgia,serif}.monograph-nav{display:flex;justify-content:space-between;padding:20px 3vw;border-bottom:1px solid;font:9px ui-monospace,monospace}.monograph-cover{min-height:100vh;padding:8vw 5vw;display:grid;grid-template-columns:1fr auto;align-content:space-between}.monograph-cover p{grid-column:1/-1;font:9px ui-monospace,monospace}.monograph-cover h1{margin:0;font:400 clamp(110px,19vw,280px)/.63 Georgia,serif;letter-spacing:-.08em}.monograph-cover span{align-self:end;font:9px/1.7 ui-monospace,monospace}.monograph-sequence{padding:8vw 4vw 18vw}.mono-frame{margin:0 auto 18vw;max-width:1100px}.mono-frame:nth-child(3n+2){max-width:740px;margin-left:4vw}.mono-frame:nth-child(3n){max-width:620px;margin-right:7vw}.mono-frame .demo-media{min-height:70vw}.mono-frame:nth-child(3n+2) .demo-media{min-height:54vw}.mono-frame:nth-child(3n) .demo-media{min-height:47vw}.mono-frame figcaption{margin-top:10px;font:9px ui-monospace,monospace}.monograph-sequence blockquote{max-width:900px;margin:25vw auto;font:italic clamp(42px,7vw,96px)/1.02 Georgia,serif;text-align:center}.mono-colophon{padding:9vw 4vw;display:grid;grid-template-columns:.3fr 1fr auto;gap:5vw;border-top:1px solid}.mono-colophon>span{font:9px ui-monospace,monospace}.mono-colophon h2{margin:0;font:400 clamp(52px,8vw,110px)/.85 Georgia,serif}.mono-colophon p{max-width:650px;line-height:1.7}

/* 21 A3 Landscape Folio — desktop-only layout, phones read it by scrolling */
.folio-demo{background:#e7e0cd;color:#221d15;font-family:Georgia,serif;overflow:visible}.folio-nav{display:flex;justify-content:space-between;padding:20px 3vw;border-bottom:1px solid;font:10px ui-monospace,monospace}.folio-cover{min-height:88vh;padding:10vw 6vw;display:grid;grid-template-columns:1fr auto;align-content:space-between}.folio-cover p{grid-column:1/-1;font:10px ui-monospace,monospace}.folio-cover h1{margin:0;font:400 clamp(80px,13vw,190px)/.78 Georgia,serif;letter-spacing:-.07em}.folio-cover span{align-self:end;font:10px/1.7 ui-monospace,monospace}.folio-spreads{padding:0 4vw 12vw}.folio-spread{margin:0 0 9vw}.folio-page{position:relative;border:1px solid #221d15;background:#f6f1e2;padding:1.2vw;box-shadow:0 14px 34px #6b5a4f40}.folio-page .demo-media{aspect-ratio:1.414;min-height:0}.folio-pageno{position:absolute;right:1.6vw;bottom:1.6vw;padding:6px 8px;background:#221d15;color:#f6f1e2;font:9px ui-monospace,monospace}.folio-spread figcaption{display:flex;justify-content:space-between;margin-top:12px;font:9px ui-monospace,monospace}.folio-colophon{padding:9vw 4vw;display:grid;grid-template-columns:.3fr 1fr auto;gap:5vw;border-top:1px solid}.folio-colophon>span{font:9px ui-monospace,monospace}.folio-colophon h2{margin:0;font:400 clamp(52px,8vw,110px)/.85 Georgia,serif}.folio-colophon p{max-width:650px;line-height:1.7}

/* 22 Presentation Boards */
.boards-demo{background:#232730;color:#eef0e9;font-family:Arial,sans-serif;overflow:visible}.boards-nav{display:flex;justify-content:space-between;padding:18px 2.5vw;border-bottom:1px solid #4a5160;font:10px ui-monospace,monospace}.boards-head{padding:8vw 4vw 5vw}.boards-head p{font:10px ui-monospace,monospace;color:#c7ff36}.boards-head h1{margin:20px 0 0;font-size:clamp(70px,11vw,160px);line-height:.8;letter-spacing:-.07em}.boards-stack{padding:0 3vw 10vw;display:grid;gap:6vw}.board{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);border:1px solid #4a5160;background:#2b303c}.board-frame{min-width:0}.board-frame .demo-media{aspect-ratio:1.414;min-height:100%;height:100%}.board-info{padding:2.2vw;display:flex;flex-direction:column;gap:14px;border-left:1px solid #4a5160}.board-info>span{font:9px ui-monospace,monospace;color:#c7ff36}.board-info h2{margin:0;font-size:clamp(30px,3.4vw,54px);line-height:.92}.board-info dl{margin:0;border-top:1px solid #4a5160}.board-info dl div{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid #4a5160;font:9px/1.5 ui-monospace,monospace}.board-info dt{color:#8a91a0}.board-info dd{margin:0}.board-info p{line-height:1.6;font-size:14px}.board-info a{margin-top:auto;border-bottom:1px solid;font:9px ui-monospace,monospace;align-self:flex-start}.boards-index{padding:8vw 4vw;display:grid;grid-template-columns:.3fr 1fr;gap:5vw;border-top:1px solid #4a5160}.boards-index span{font:9px ui-monospace,monospace}.boards-index p{margin:0;max-width:1000px;font:400 clamp(38px,6vw,86px)/.96 Georgia,serif}

/* 23 Gatefold Strip */
.strips-demo{background:#141210;color:#efe6d4;overflow:visible}.strips-nav{display:flex;justify-content:space-between;padding:18px 2.5vw;border-bottom:1px solid #3d372f;font:10px ui-monospace,monospace}.strips-head{min-height:60vh;padding:8vw 4vw 5vw;display:grid;grid-template-columns:1fr auto;align-items:end}.strips-head p{grid-column:1/-1;font:10px ui-monospace,monospace;color:#d9a441}.strips-head h1{margin:0;font-size:clamp(70px,11vw,160px);line-height:.8;letter-spacing:-.07em}.strips-head span{font:10px/1.7 ui-monospace,monospace}.strip-track{display:flex;overflow-x:auto;border-block:1px solid #3d372f;padding:2.5vw 0;scrollbar-color:#d9a441 #141210}.strip-panel{flex:0 0 auto;width:min(62vw,980px);margin:0 0 0 2.5vw;position:relative}.strip-panel::before{content:"";position:absolute;left:-1.4vw;top:0;bottom:0;width:1px;background:repeating-linear-gradient(#3d372f 0 8px,transparent 8px 16px)}.strip-panel .demo-media{aspect-ratio:1.414;min-height:0}.strip-panel figcaption{display:flex;justify-content:space-between;padding:10px 2px;font:9px ui-monospace,monospace;color:#b3a58e}.strips-note{padding:8vw 4vw;display:grid;grid-template-columns:.3fr 1fr;gap:5vw;border-top:1px solid #3d372f}.strips-note span{font:9px ui-monospace,monospace}.strips-note p{margin:0;max-width:1000px;font:400 clamp(38px,6vw,86px)/.96 Georgia,serif}

/* 24 Landscape Proof Index */
.widegrid-demo{background:#181512;color:#e9e2d2;overflow:visible}.widegrid-nav{display:flex;justify-content:space-between;padding:18px 2.5vw;border-bottom:1px solid #463d33;font:10px ui-monospace,monospace}.widegrid-hero{padding:8vw 4vw 5vw}.widegrid-hero p{font:10px ui-monospace,monospace;color:#8fae6f}.widegrid-hero h1{margin:20px 0 0;font-size:clamp(70px,11vw,160px);line-height:.8;letter-spacing:-.07em}.widegrid-focus{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:2.5vw;padding:0 4vw 6vw;align-items:end}.widegrid-focus .demo-media{aspect-ratio:1.414;min-height:0}.widegrid-focus-label span{font:9px ui-monospace,monospace;color:#8fae6f}.widegrid-focus-label h2{margin:12px 0;font-size:clamp(40px,5.5vw,84px);line-height:.9}.widegrid-focus-label p{line-height:1.65;max-width:460px}.widegrid-focus-label a{display:inline-block;margin-top:16px;border-bottom:1px solid;font:9px ui-monospace,monospace}.widegrid-grid{padding:0 3vw 9vw;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.widegrid-cell{display:block;border:1px solid #463d33;padding:6px;background:#211d19}.widegrid-cell>span{display:block;font:8px ui-monospace,monospace;margin-bottom:5px;color:#8fae6f}.widegrid-cell .demo-media{aspect-ratio:1.414;min-height:0}

@media (max-width:800px){
  .gallery-intro-round-two{margin-top:80px}
  .contact-head,.contact-note,.wall-index,.ledger-plate,.route-list article,.interview-open,.interview-qa article,.mono-colophon{grid-template-columns:1fr}
  .contact-head h1,.sequence-cover h1,.books-intro h1,.wall-entry h1,.diptych-head h1,.ledger-head h1,.darkroom-head h1,.route-head h1,.interview-open h1{font-size:58px}
  .contact-tools{overflow:auto}.contact-tools b{display:none}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-frame .demo-media{min-height:45vw}
  .sequence-cover,.wall-entry,.route-head,.monograph-cover{grid-template-columns:1fr;min-height:700px}.sequence-chapter,.sequence-chapter:nth-child(even){min-height:auto;padding:80px 0;grid-template-columns:1fr}.sequence-chapter:nth-child(even)>div{order:0}.sequence-chapter .demo-media{min-height:110vw}
  .book-shelf{overflow:auto}.book-spine{min-width:130px;height:620px}.book-spine:nth-child(2),.book-spine:nth-child(3),.book-spine:nth-child(4){height:560px}.book-spread{grid-template-columns:1fr}.book-spread .demo-media{min-height:110vw}
  .wall-rooms article{min-height:auto;padding:80px 20px;grid-template-columns:1fr}.wall-rooms .demo-media{min-height:115vw}
  .diptych-pairs article{min-height:auto;padding:70px 20px;grid-template-columns:1fr}.diptych-image .demo-media{min-height:110vw}.diptych-index{overflow:auto}
  .ledger-head div{overflow:auto}.ledger-row{grid-template-columns:45px 1fr auto}.ledger-row>span:nth-of-type(2),.ledger-row>span:nth-of-type(3){display:none}.ledger-label{display:none}.ledger-plate .demo-media{min-height:110vw}
  .darkroom-head{grid-template-columns:1fr}.darkroom-table{min-height:auto;padding:20px}.darkroom-sheet{width:100%;grid-template-columns:repeat(3,1fr)}.dark-cell .demo-media{min-height:26vw}.darkroom-print,.darkroom-table aside{position:relative!important;inset:auto!important;width:85%;margin:40px auto;transform:none!important}.darkroom-list article{grid-template-columns:35px 1fr auto}.darkroom-list article p{display:none}.darkroom-records article{min-height:auto;padding:90px 20px;grid-template-columns:1fr}.darkroom-record-media{min-height:115vw}
  .route-map{min-height:600px}.route-list .demo-media{min-height:110vw}.interview-open .answer{font-size:25px}.interview-qa .demo-media{min-height:110vw}
  .monograph-cover h1{font-size:100px}.mono-frame,.mono-frame:nth-child(3n+2),.mono-frame:nth-child(3n){margin:0 auto 130px;max-width:none}.mono-frame .demo-media,.mono-frame:nth-child(3n+2) .demo-media,.mono-frame:nth-child(3n) .demo-media{min-height:118vw}
}

/* Complete portfolio system shared by all 20 directions */
.portfolio-complete{position:relative;background:inherit;color:inherit;border-top:1px solid currentColor}
.portfolio-local-nav{position:sticky;z-index:20;top:var(--toolbar);padding:17px max(3vw,20px);display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid currentColor;background:color-mix(in srgb,currentColor 4%,transparent);backdrop-filter:blur(18px);font:10px ui-monospace,monospace;letter-spacing:.06em}
.portfolio-local-nav div{display:flex;gap:20px}.portfolio-local-nav a{padding-bottom:3px;border-bottom:1px solid transparent}.portfolio-local-nav a:hover{border-color:currentColor}
.portfolio-complete-head{min-height:84vh;padding:10vw max(4vw,24px) 6vw;display:flex;flex-direction:column;justify-content:space-between;border-bottom:1px solid currentColor}
.portfolio-complete-head>p,.portfolio-series header>p,.portfolio-works-head p:first-child,.portfolio-case-full header>p,.portfolio-about-full>div>p,.portfolio-contact-full>p{font:10px ui-monospace,monospace;letter-spacing:.1em}
.portfolio-complete-head h2{margin:10vh 0 12vh;font:500 clamp(68px,11vw,170px)/.88 ui-sans-serif,sans-serif;letter-spacing:-.06em}
.portfolio-complete-head>div{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.portfolio-complete-head>div p{max-width:660px;margin:0;font-size:18px;line-height:1.65}.portfolio-count{font:10px ui-monospace,monospace}
.portfolio-series,.portfolio-all-works,.portfolio-case-full,.portfolio-about-full,.portfolio-contact-full{padding:11vw max(3vw,20px);border-bottom:1px solid currentColor}
.portfolio-series>header,.portfolio-works-head,.portfolio-case-full>header{display:grid;grid-template-columns:.42fr 1.2fr .6fr;gap:5vw;align-items:end;margin-bottom:7vw}
.portfolio-series>header h2,.portfolio-works-head h2,.portfolio-case-full>header h2{grid-column:2;margin:0;font:500 clamp(52px,8vw,120px)/.94 ui-sans-serif,sans-serif;letter-spacing:-.05em}
.portfolio-works-head>p:last-child,.portfolio-case-full>header>p:last-child{margin:0;line-height:1.65}
.portfolio-series-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5vw}.portfolio-series-grid article{border-top:1px solid currentColor;padding-top:12px}.portfolio-series-grid .demo-media{min-height:36vw;margin-bottom:14px}.portfolio-series-grid span,.portfolio-series-grid b{font:9px ui-monospace,monospace}.portfolio-series-grid h3{margin:18px 0 10px;font-size:34px;line-height:.95}.portfolio-series-grid p{min-height:65px;line-height:1.55}
.portfolio-filters{margin-bottom:26px;display:flex;gap:8px;flex-wrap:wrap}.portfolio-filters button{padding:9px 13px;border:1px solid currentColor;border-radius:99px;background:transparent;color:inherit;font:10px ui-monospace,monospace;cursor:pointer}.portfolio-filters button.is-active{background:currentColor;color:var(--paper)}
.portfolio-works-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:52px 16px}.portfolio-work-item{min-width:0;margin:0}.portfolio-work-item[hidden]{display:none!important}.portfolio-photo-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;text-align:inherit}.portfolio-photo-open:disabled{cursor:default}.portfolio-work-item .demo-media{min-height:0;aspect-ratio:4/3}.portfolio-work-item:nth-child(5n+2) .demo-media,.portfolio-work-item:nth-child(5n+4) .demo-media{aspect-ratio:3/4}.portfolio-work-item figcaption{padding-top:16px;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;border-top:1px solid color-mix(in srgb,currentColor 30%,transparent);font:9px/1.65 ui-monospace,monospace}.portfolio-work-item figcaption strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-work-item figcaption small{grid-column:2;opacity:.65;line-height:1.75}
.portfolio-case-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:5vw;border:1px solid currentColor;background:currentColor}.portfolio-case-facts span{padding:18px;background:color-mix(in srgb,currentColor 4%,transparent);font:10px/1.7 ui-monospace,monospace}.portfolio-case-lead{display:grid;grid-template-columns:1.4fr .6fr;gap:5vw;align-items:end}.portfolio-case-lead .demo-media{min-height:62vw}.portfolio-case-lead aside span,.portfolio-case-process span,.portfolio-case-outcome span{font:10px ui-monospace,monospace}.portfolio-case-lead aside h3{font:400 clamp(38px,5vw,75px)/.95 Georgia,serif}.portfolio-case-lead aside p{font-size:17px;line-height:1.7}.portfolio-case-process{margin:7vw 0;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid currentColor}.portfolio-case-process article{min-height:280px;padding:24px;border-right:1px solid currentColor}.portfolio-case-process article:last-child{border:0}.portfolio-case-process h3{margin-top:90px;font-size:29px;line-height:1}.portfolio-case-process p{line-height:1.55}.portfolio-case-images{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5vw}.portfolio-case-images .demo-media{min-height:55vw}.portfolio-case-images .demo-media:nth-child(3n){grid-column:1/-1;min-height:70vw}.portfolio-case-outcome{padding:11vw 7vw;text-align:center}.portfolio-case-outcome h3{max-width:1100px;margin:35px auto 0;font:400 clamp(42px,6vw,88px)/1 Georgia,serif}
.portfolio-about-full{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw}.portfolio-about-full h2{font:500 clamp(52px,8vw,115px)/.96 ui-sans-serif,sans-serif;letter-spacing:-.05em}.portfolio-about-full>div>p:last-child{max-width:700px;margin-top:48px;font-size:18px;line-height:1.9}.portfolio-about-lists{display:grid;gap:64px;align-content:end}.portfolio-about-lists h3{margin-bottom:20px;font-size:22px}.portfolio-about-lists ul{margin:0;padding:0;list-style:none;border-top:1px solid currentColor}.portfolio-about-lists li{padding:17px 0;border-bottom:1px solid currentColor;font-size:13px;line-height:1.6}
.portfolio-contact-full{min-height:92vh;display:flex;flex-direction:column;justify-content:space-between;gap:12vh}.portfolio-contact-full h2{margin:0;font:500 clamp(70px,12vw,180px)/.9 ui-sans-serif,sans-serif;letter-spacing:-.055em}.portfolio-contact-full>div{display:flex;justify-content:space-between;gap:42px;font:12px/1.8 ui-monospace,monospace}.portfolio-contact-full a{padding-bottom:7px;border-bottom:1px solid}.portfolio-contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.portfolio-contact-links i{font-style:normal;opacity:.45}.portfolio-download-pdf{appearance:none;padding:0 0 7px;border:0;border-bottom:1px solid;background:transparent;color:inherit;font:inherit;cursor:pointer}.portfolio-download-pdf:disabled{cursor:not-allowed;opacity:.38}
.photo-real-media{background-image:none!important}.photo-real-media>img{position:absolute;z-index:0;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;background:#111;image-rendering:auto}.portfolio-media.photo-real-media>img{object-fit:contain}.photo-real-media>span,.photo-real-media>b{z-index:2}
.photo-adapted .portfolio-complete .photo-preview-unused,.photo-adapted .demo-site>.photo-demo-unused,.photo-adapted .photo-demo-unused{display:none!important}
.portfolio-lightbox{width:min(96vw,1800px);height:min(94vh,1200px);padding:48px 18px 18px;border:0;background:#111;color:#fff}.portfolio-lightbox::backdrop{background:#000d;backdrop-filter:blur(8px)}.portfolio-lightbox .lightbox-close{position:absolute;right:16px;top:13px;border:0;background:transparent;color:#fff;cursor:pointer}.portfolio-lightbox figure{height:100%;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.portfolio-lightbox img{width:100%;height:100%;object-fit:contain}.portfolio-lightbox figcaption{padding-top:12px;display:flex;justify-content:space-between;gap:20px;font:11px ui-monospace,monospace}
.portfolio-work-item figcaption .photo-caption{opacity:.82}.portfolio-work-item figcaption .photo-capture{opacity:.52;cursor:not-allowed}.photo-capture::before{content:"LOCKED · ";font-weight:700}
.portfolio-authoring-tools{position:fixed;right:16px;bottom:16px;z-index:950;width:min(650px,calc(100vw - 32px));padding:12px;border:1px solid #7778;background:#111e;color:#f6f1e8;box-shadow:0 12px 36px #0005;backdrop-filter:blur(16px);font:9px/1.4 ui-monospace,monospace}.portfolio-authoring-tools>div{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.portfolio-authoring-tools button{min-height:38px;padding:8px;border:1px solid #777;background:transparent;color:inherit;cursor:pointer;font:inherit;letter-spacing:.04em}.portfolio-authoring-tools button:hover,.portfolio-authoring-tools button[aria-pressed="true"]{background:var(--acid);color:#111}.portfolio-authoring-tools button:disabled{cursor:wait;opacity:.45}.portfolio-authoring-tools small{display:block;margin-top:8px;color:#bbb}.portfolio-export-status{display:block;min-height:1.4em;margin-top:4px;color:var(--acid)}.portfolio-copy-editing [data-editable-key]{outline:1px dashed currentColor;outline-offset:5px;border-radius:1px;cursor:text}.portfolio-copy-editing [data-editable-key]:focus{outline:2px solid var(--acid);background:color-mix(in srgb,var(--acid) 13%,transparent)}.portfolio-rotation-editing .portfolio-photo-open{cursor:alias;outline:2px dashed var(--acid);outline-offset:4px}.portfolio-rotation-editing .portfolio-photo-open::after{content:"ROTATE 90°";position:absolute;right:8px;top:8px;padding:6px 8px;background:#111;color:var(--acid);font:8px ui-monospace,monospace;letter-spacing:.06em}.portfolio-rotation-editing .portfolio-photo-open{position:relative}[data-camera-readonly]{user-select:text}

/* Twenty real archive behaviours, not twenty palette swaps */
body[data-template="01"] .portfolio-works-grid,body[data-template="08"] .portfolio-works-grid,body[data-template="16"] .portfolio-works-grid{display:block}
body[data-template="01"] .portfolio-work-item,body[data-template="08"] .portfolio-work-item,body[data-template="16"] .portfolio-work-item{padding:12px 0;display:grid;grid-template-columns:70px 260px 1fr;border-top:1px solid currentColor;align-items:center}
body[data-template="01"] .portfolio-photo-open,body[data-template="08"] .portfolio-photo-open,body[data-template="16"] .portfolio-photo-open{grid-column:2}body[data-template="01"] .portfolio-work-item figcaption,body[data-template="08"] .portfolio-work-item figcaption,body[data-template="16"] .portfolio-work-item figcaption{grid-column:3;border:0;padding-left:24px}
body[data-template="02"] .portfolio-works-grid,body[data-template="12"] .portfolio-works-grid,body[data-template="19"] .portfolio-works-grid{grid-template-columns:repeat(2,1fr);gap:12vw 5vw}body[data-template="02"] .portfolio-work-item:nth-child(even),body[data-template="12"] .portfolio-work-item:nth-child(even),body[data-template="19"] .portfolio-work-item:nth-child(even){margin-top:12vw}
body[data-template="03"] .portfolio-works-grid,body[data-template="14"] .portfolio-works-grid{grid-template-columns:1fr;gap:10vw}body[data-template="03"] .portfolio-work-item .demo-media,body[data-template="14"] .portfolio-work-item .demo-media{aspect-ratio:16/9;min-height:75vh}body[data-template="03"] .portfolio-work-item figcaption,body[data-template="14"] .portfolio-work-item figcaption{max-width:900px;margin:auto}
body[data-template="04"] .portfolio-work-item:nth-child(7n+1),body[data-template="10"] .portfolio-work-item:nth-child(7n+1){grid-column:span 2}body[data-template="04"] .portfolio-work-item:nth-child(7n+1) .demo-media,body[data-template="10"] .portfolio-work-item:nth-child(7n+1) .demo-media{aspect-ratio:2/1}
body[data-template="05"] .portfolio-works-grid,body[data-template="07"] .portfolio-works-grid,body[data-template="18"] .portfolio-works-grid{grid-template-columns:repeat(3,1fr);gap:4vw 1.5vw}
body[data-template="06"] .portfolio-works-grid{grid-template-columns:repeat(6,1fr);gap:2vw}body[data-template="06"] .portfolio-work-item{grid-column:span 2}body[data-template="06"] .portfolio-work-item:nth-child(5n+1){grid-column:span 3}body[data-template="06"] .portfolio-work-item:nth-child(5n+4){grid-column:span 1}
body[data-template="09"] .portfolio-works-grid{grid-template-columns:repeat(2,1fr)}body[data-template="09"] .portfolio-work-item:nth-child(3n+1){grid-column:1/-1}
body[data-template="11"] .portfolio-works-grid{grid-template-columns:repeat(6,1fr);gap:8px;background:#25231f;padding:10px}body[data-template="11"] .portfolio-work-item{padding:6px;background:#e8dfcf;color:#1f211f}body[data-template="11"] .portfolio-work-item .demo-media{aspect-ratio:1/1}
body[data-template="13"] .portfolio-work-item{padding:12px 12px 35px;border:1px solid currentColor;box-shadow:0 8px 18px #0002}body[data-template="13"] .portfolio-work-item:nth-child(3n+2){transform:translateY(45px)}
body[data-template="15"] .portfolio-works-grid{grid-template-columns:repeat(2,1fr);gap:12px 2vw}body[data-template="15"] .portfolio-work-item:nth-child(odd){border-right:1px solid currentColor;padding-right:2vw}
body[data-template="17"] .portfolio-works-grid{padding:4vw;grid-template-columns:repeat(4,1fr);background:#594336}body[data-template="17"] .portfolio-work-item{padding:10px;background:#e5d9c4;color:#241d18}body[data-template="17"] .portfolio-work-item:nth-child(4n+1){transform:rotate(-1.2deg)}body[data-template="17"] .portfolio-work-item:nth-child(4n+3){transform:rotate(1.2deg)}
body[data-template="20"] .portfolio-works-grid{display:block}body[data-template="20"] .portfolio-work-item{max-width:1100px;margin:0 auto 15vw}body[data-template="20"] .portfolio-work-item:nth-child(3n+2){max-width:720px;margin-left:5vw}body[data-template="20"] .portfolio-work-item:nth-child(3n){max-width:590px;margin-right:7vw}

/* Round 03 keeps A3 landscape frames in the complete portfolio view */
body[data-template="21"] .portfolio-works-grid,body[data-template="22"] .portfolio-works-grid,body[data-template="23"] .portfolio-works-grid,body[data-template="24"] .portfolio-works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5vw 2vw}
body[data-template="21"] .portfolio-work-item .demo-media,body[data-template="22"] .portfolio-work-item .demo-media,body[data-template="23"] .portfolio-work-item .demo-media,body[data-template="24"] .portfolio-work-item .demo-media{aspect-ratio:1.414}
body[data-template="21"] .portfolio-series-grid .demo-media,body[data-template="22"] .portfolio-series-grid .demo-media,body[data-template="23"] .portfolio-series-grid .demo-media,body[data-template="24"] .portfolio-series-grid .demo-media{aspect-ratio:1.414;min-height:28vw}
body[data-template="21"] .portfolio-case-lead .demo-media,body[data-template="22"] .portfolio-case-lead .demo-media,body[data-template="23"] .portfolio-case-lead .demo-media,body[data-template="24"] .portfolio-case-lead .demo-media{aspect-ratio:1.414;min-height:44vw}
body[data-template="21"] .portfolio-series-grid,body[data-template="22"] .portfolio-series-grid,body[data-template="23"] .portfolio-series-grid,body[data-template="24"] .portfolio-series-grid{display:flex;overflow-x:auto;gap:2vw;padding-bottom:2vw}
body[data-template="21"] .portfolio-series-grid article,body[data-template="22"] .portfolio-series-grid article,body[data-template="23"] .portfolio-series-grid article,body[data-template="24"] .portfolio-series-grid article{flex:0 0 min(560px,72vw)}
body[data-template="21"] .portfolio-series-grid p,body[data-template="22"] .portfolio-series-grid p,body[data-template="23"] .portfolio-series-grid p,body[data-template="24"] .portfolio-series-grid p{min-height:0}

@media(max-width:800px){
  .portfolio-authoring-tools{right:8px;bottom:8px;width:calc(100vw - 16px);padding-bottom:max(12px,env(safe-area-inset-bottom))}.portfolio-authoring-tools>div{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-authoring-tools button{font-size:8px}.portfolio-export-status{display:block;max-height:2.8em;overflow:hidden}
  .portfolio-local-nav{position:relative;top:auto;align-items:flex-start}.portfolio-local-nav div{max-width:230px;justify-content:flex-end;flex-wrap:wrap;gap:10px}
  .portfolio-complete-head{min-height:760px;padding-block:90px}.portfolio-complete-head h2{margin:90px 0 110px;font-size:60px;line-height:.94}.portfolio-complete-head>div,.portfolio-series>header,.portfolio-works-head,.portfolio-case-full>header,.portfolio-case-lead,.portfolio-about-full{grid-template-columns:1fr}.portfolio-complete-head>div{align-items:start}
  .portfolio-series-grid{grid-template-columns:1fr;gap:70px}.portfolio-series-grid .demo-media{min-height:105vw}.portfolio-series-grid p{min-height:0}
  .portfolio-works-grid,body[data-template] .portfolio-works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 8px;padding:0;background:transparent}
  body[data-template] .portfolio-work-item,body[data-template="20"] .portfolio-work-item{display:block;grid-column:auto!important;margin:0!important;padding:0;transform:none!important;border:0;background:transparent;color:inherit;max-width:none}
  body[data-template] .portfolio-photo-open,body[data-template] .portfolio-work-item figcaption{display:block;grid-column:auto;padding-left:0}
  body[data-template] .portfolio-work-item .demo-media{min-height:0;aspect-ratio:4/5}
  .portfolio-case-facts,.portfolio-case-process{grid-template-columns:1fr}.portfolio-case-process article{border-right:0;border-bottom:1px solid}.portfolio-case-process h3{margin-top:50px}.portfolio-case-lead .demo-media{min-height:115vw}.portfolio-case-images{grid-template-columns:1fr}.portfolio-case-images .demo-media,.portfolio-case-images .demo-media:nth-child(3n){grid-column:auto;min-height:115vw}.portfolio-about-full h2{font-size:52px;line-height:1}.portfolio-contact-full{padding-block:90px;gap:100px}.portfolio-contact-full h2{font-size:58px;line-height:.96}.portfolio-contact-full>div{align-items:flex-start;flex-direction:column}.portfolio-lightbox{width:100vw;height:100vh;max-width:none;max-height:none}
}

/* English locale: hide Chinese secondary names everywhere except the language toggle */
body[data-locale="en"] .card-en,
body[data-locale="en"] .match-en { display:none; }

/* Mobile compact collection-profile table */
@media (max-width:800px) {
  .match-results { padding:70px 0 10px; }
  .results-heading h2,.recommendations-heading h2 { font-size:40px; }
  .profile-grid article { padding:10px 12px; }
  .profile-grid strong { font-size:13px; }
  .metadata-note { margin:14px 0 48px; }
}

/* Mobile desktop-view entry */
.desktop-view-toggle{position:fixed;left:16px;bottom:16px;z-index:1000;appearance:none;padding:9px 12px;border:1px solid #8888;border-radius:99px;background:#111d;color:#f5f0e6;font:9px/1 ui-monospace,monospace;letter-spacing:.1em;cursor:pointer;backdrop-filter:blur(10px)}
.desktop-view-toggle[aria-pressed="true"]{background:var(--acid);color:#111;border-color:var(--acid)}
.desktop-view-toggle:focus-visible{outline:2px solid var(--acid);outline-offset:3px}

/* V30 internal-only gallery redesign: black page, denser cards, no promo headings */
.gallery-home.internal-redesign { background:#0a0a0a; }
.gallery-home.internal-redesign .gallery-intro,
.gallery-home.internal-redesign .gallery-intro-round-two,
.gallery-home.internal-redesign .recommendation { display:none; }
.gallery-home.internal-redesign #template-grid { margin-top:56px; }
.gallery-home.internal-redesign #template-grid-round-two { margin-top:0; border-top:0; }
.gallery-home.internal-redesign #template-grid-round-two:empty { display:none; }
.gallery-home.internal-redesign .template-grid { grid-template-columns:repeat(3,minmax(0,1fr)); background:#262626; border-color:#262626; }
.gallery-home.internal-redesign .template-card { background:#141414; color:#e9e5dc; }
.gallery-home.internal-redesign .template-card.is-recommended { background:#141414; }
.gallery-home.internal-redesign .recommended-pill,
.gallery-home.internal-redesign .card-score { display:none; }
.gallery-home.internal-redesign .card-hit { padding:18px; }
.gallery-home.internal-redesign .card-id { color:#c9c5bc; }
.gallery-home.internal-redesign .card-score { border-color:#8f8b83; color:#8f8b83; }
.gallery-home.internal-redesign .card-thumb { height:clamp(150px,19vw,280px); margin:16px 0; background:#1f1f1f; }
.gallery-home.internal-redesign .card-copy h3 { color:#f4f1e8; }
.gallery-home.internal-redesign .card-en { color:#8f8b83; }
.gallery-home.internal-redesign .card-thesis { color:#b6b2a9; }
.gallery-home.internal-redesign .template-card dl { border-top-color:rgba(255,255,255,.16); }
.gallery-home.internal-redesign .template-card dl div { border-bottom-color:rgba(255,255,255,.16); }
.gallery-home.internal-redesign .template-card dt { color:#8f8b83; }
.gallery-home.internal-redesign .template-card dd { color:#dcd8cf; }
.gallery-home.internal-redesign .smart-match-callout { grid-template-columns:1fr auto; align-items:center; padding:24px 28px; background:#111; border:1px solid #2e2e2e; }
.gallery-home.internal-redesign .smart-match-callout .section-kicker,
.gallery-home.internal-redesign .smart-match-callout h2 { display:none; }
.gallery-home.internal-redesign .smart-match-callout > div > p { color:#b9b5ac; font-size:14px; }
.gallery-home.internal-redesign .smart-match-features span { color:#8f8b83; border-top-color:#b9b5ac; }
.gallery-home.internal-redesign .smart-match-link { border-color:var(--acid); background:var(--acid); color:#111; }
.gallery-home.internal-redesign .lab-footer { border-top-color:rgba(255,255,255,.16); color:#8f8b83; }

@media (max-width:1180px) {
  .gallery-home.internal-redesign .template-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:800px) {
  .gallery-home.internal-redesign .card-hit { padding:14px; }
  .gallery-home.internal-redesign .card-arrow { display:none; }
  .gallery-home.internal-redesign .card-thesis { display:none; }
  .gallery-home.internal-redesign .template-card dl { display:none; }
  .gallery-home.internal-redesign .card-copy h3 { font-size:26px; }
  .gallery-home.internal-redesign .card-thumb { height:200px; margin:12px 0; }
  .gallery-home.internal-redesign #template-grid { margin-top:36px; }
  .gallery-home.internal-redesign #template-grid-round-two { margin-top:0; }
  .gallery-home.internal-redesign .smart-match-callout { grid-template-columns:1fr; }
}

/* V33 internal-only: smaller title stage and floating bubble windows */
@media (min-width:801px) {
  .gallery-home.internal-redesign .lab-hero { min-height:57vh; }
  .gallery-home.internal-redesign .hero-copy { grid-template-columns:minmax(0,1fr) minmax(230px,320px);gap:32px;padding:38px 0 46px; }
  .gallery-home.internal-redesign .hero-copy h1 { font-size:clamp(42px,6.65vw,99px);line-height:.84; }
  .gallery-home.internal-redesign .hero-note { font-size:14px;line-height:1.55; }
}
.gallery-home.internal-redesign #template-grid { margin-top:0; }
.gallery-home.internal-redesign .template-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:68px clamp(36px,4vw,64px);align-items:start;margin-inline:clamp(48px,7vw,120px);padding:38px 0 100px;background:transparent;border:0;overflow:visible; }
.gallery-home.internal-redesign .template-card { --bubble-y:0px;border:1px solid rgba(255,255,255,.19);border-radius:46px 30px 42px 34px;overflow:hidden;background:linear-gradient(155deg,#1c1c1c,#111);box-shadow:0 18px 54px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.05);transform:translateY(var(--bubble-y));transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.gallery-home.internal-redesign .template-card:nth-child(4n+2) { --bubble-y:18px;border-radius:32px 54px 36px 46px; }
.gallery-home.internal-redesign .template-card:nth-child(4n+3) { --bubble-y:-8px;border-radius:56px 34px 48px 28px; }
.gallery-home.internal-redesign .template-card:nth-child(4n) { --bubble-y:12px;border-radius:36px 46px 30px 54px; }
.gallery-home.internal-redesign .card-hit { padding:13px; }
.gallery-home.internal-redesign .card-head { padding:4px 6px 0; }
.gallery-home.internal-redesign .card-id { color:#f0ece2;font-size:10px;letter-spacing:.1em; }
.gallery-home.internal-redesign .card-thumb { height:clamp(118px,12vw,188px);margin:10px 0 14px;border-radius:30px 22px 32px 24px; }
.gallery-home.internal-redesign .card-copy { align-items:center;padding:0 6px 7px; }
.gallery-home.internal-redesign .card-copy h3 { font-size:clamp(20px,1.75vw,27px);line-height:1; }
.gallery-home.internal-redesign .card-en { margin-top:5px;font-size:12px; }
.gallery-home.internal-redesign .card-arrow { display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid rgba(255,255,255,.35);border-radius:50%;font-size:16px; }
.gallery-home.internal-redesign .card-thesis,
.gallery-home.internal-redesign .template-card dl { display:none; }
.gallery-home.internal-redesign .template-card:focus-within { border-color:var(--acid);box-shadow:0 20px 68px rgba(199,255,54,.13),0 0 0 2px rgba(199,255,54,.35); }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .gallery-home.internal-redesign .template-card:hover { transform:translateY(calc(var(--bubble-y) - 8px)) scale(1.018);border-color:rgba(199,255,54,.72);box-shadow:0 28px 80px rgba(0,0,0,.62),0 0 34px rgba(199,255,54,.09); }
  .gallery-home.internal-redesign .template-card:hover .card-thumb { transform:scale(.975); }
}
@media (max-width:1180px) and (min-width:801px) {
  .gallery-home.internal-redesign .template-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 38px;margin-inline:clamp(38px,6vw,72px); }
}
@media (max-width:800px) {
  .gallery-home.internal-redesign .template-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px;margin-inline:18px;padding-bottom:54px; }
  .gallery-home.internal-redesign .template-card { border-radius:32px 22px 30px 24px; }
  .gallery-home.internal-redesign .template-card:nth-child(n) { --bubble-y:0px; }
  .gallery-home.internal-redesign .card-thumb { height:clamp(120px,38vw,180px);border-radius:22px 16px 24px 18px; }
  .gallery-home.internal-redesign .card-copy h3 { font-size:21px; }
}

/* V34 internal-only: three-across bubble field with more negative space; matching panel stays V32 */
