/* Dedicated portfolio pages. Editorial layouts, native page navigation, real copy. */
.dedicated-page { --page-soft: #eef1e9; --page-gap: clamp(22px, 4vw, 64px); }
.dedicated-page .page { min-width: 0; }
.dedicated-page .page-cover {
  position: relative; isolation: isolate; overflow: hidden;
  width: calc(100% - 48px); max-width: 1560px; margin: 24px auto 0;
  border: 1px solid #d4d5cf; border-radius: 36px;
  padding: 30px clamp(22px, 4vw, 64px) 58px;
  background: linear-gradient(135deg, #fff 35%, #f0f3eb); color: #111210;
}
.dedicated-page .page-cover::after { display: none; }
.dedicated-page .page-cover > .page-cover-inner { position: relative; z-index: 1; width: 100%; max-width: 1440px; padding: 0; }
.dedicated-page .page-cover-inner.phero-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 32px var(--page-gap); align-items: center; }
.dedicated-page .page-location { display: flex; align-items: center; gap: 10px; grid-column: 1 / -1; color: #62665e; font: 11px/1.5 Plex, monospace; letter-spacing: .04em; margin-bottom: 24px; }
.dedicated-page .page-location a { text-decoration: underline; text-underline-offset: 3px; }
.dedicated-page .page-location > span:last-child { color: #111210; }
.dedicated-page .page-cover-hex { position: absolute; right: -55px; top: -90px; width: clamp(240px, 37vw, 560px); height: auto; color: #cad2c0; opacity: .45; pointer-events: none; transform: rotate(30deg); }
.dedicated-page .page-cover-hex path { fill: none; stroke: currentColor; stroke-width: .23; stroke-dasharray: 1; animation: page-hex-draw 1.35s cubic-bezier(.22, 1, .36, 1) both; }
.dedicated-page .eyebrow { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font: 11px/1.5 Plex, monospace; text-transform: uppercase; letter-spacing: .06em; color: #62665e; margin: 0 0 24px; }
.dedicated-page .eyebrow svg { width: 10px; height: 12px; fill: #d72638; }
.dedicated-page .eyebrow b { color: #d72638; font-weight: 400; }
.dedicated-page .page-cover h1 { font: 900 clamp(88px, 10.3vw, 168px)/.87 Barlow, Impact, sans-serif; letter-spacing: -.02em; text-transform: uppercase; margin: 0 0 28px; overflow-wrap: normal; }
.dedicated-page .page-cover h1 .h-rl { display: block; overflow: visible; }
.dedicated-page .page-cover h1 em { color: transparent; -webkit-text-stroke: 1px #111210; font: inherit; }
.dedicated-page .phero-lead { font: 400 17px/1.8 Space, Arial, sans-serif; max-width: 57ch; color: #62665e; margin: 0; }
.dedicated-page .phero-lead strong { color: #111210; font-weight: 500; }
.dedicated-page .phero-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 28px; }
.dedicated-page .page-local-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.dedicated-page .page-local-nav a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px 15px; border: 1px solid #d4d5cf; border-radius: 999px; background: #ffffffb8; font: 12px/1.4 Space, Arial, sans-serif; }
.dedicated-page .page-local-nav a:hover { background: #111210; color: white; border-color: #111210; }
.dedicated-page .page-local-nav span { color: #d72638; font: 10px Plex, monospace; }
.dedicated-page .btn { position: relative; display: inline-flex; justify-content: center; align-items: center; gap: 14px; min-height: 48px; padding: 13px 22px; border: 1px solid #d4d5cf; border-radius: 999px; background: white; color: #111210; font: 12px/1.5 Plex, monospace; text-transform: none; letter-spacing: 0; transition: background .25s, color .25s, transform .25s; }
.dedicated-page .btn::before { display: none; }
.dedicated-page .btn-primary { background: #111210; color: white; border-color: #111210; }
.dedicated-page .btn:hover { background: #d72638; color: white; border-color: #d72638; transform: translateY(-2px); }
.dedicated-page .btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.dedicated-page .btn-full { width: 100%; }
.dedicated-page .btn[disabled] { opacity: .65; pointer-events: none; }
.dedicated-page .sec, .dedicated-page .sec-tight { padding: 70px 0; }
.dedicated-page .sec > .wrap, .dedicated-page .sec-tight > .wrap { min-width: 0; }
.dedicated-page .sec-head { display: flex; align-items: center; gap: 16px; margin-bottom: 36px; font: 11px/1.5 Plex, monospace; letter-spacing: .04em; text-transform: uppercase; }
.dedicated-page .sec-idx { display: inline-flex; align-items: center; gap: 8px; color: #d72638; }
.dedicated-page .sec-idx svg { width: 10px; height: 12px; fill: none; stroke: currentColor; }
.dedicated-page .sec-line { flex: 1; height: 1px; background: #d4d5cf; }
.dedicated-page .sec-name { color: #62665e; }
.dedicated-page .sec-title { font: 900 clamp(48px, 5.5vw, 84px)/.98 Barlow, Impact, sans-serif; text-transform: uppercase; letter-spacing: -.01em; }
.dedicated-page .sec-title em { font: inherit; color: #62665e; }
.dedicated-page .rl, .dedicated-page .h-rl { display: block; }
.dedicated-page .two-col, .dedicated-page .ev-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--page-gap); align-items: start; }
.dedicated-page .prose, .dedicated-page .ev-lead, .dedicated-page .ev-sub { color: #62665e; font: 400 17px/1.8 Space, Arial, sans-serif; }
.dedicated-page .prose p { margin-bottom: 18px; }
.dedicated-page .prose strong { color: #111210; font-weight: 500; }
.dedicated-page .prose a { color: #111210; text-decoration: underline; text-decoration-color: #d72638; text-underline-offset: 4px; }
.dedicated-page .ph { display: flex; flex-direction: column; position: relative; margin: 0; padding: 10px; background: #fff; border: 1px solid #d4d5cf; border-radius: 22px; box-shadow: 0 14px 30px #1721120c; aspect-ratio: auto; overflow: hidden; }
.dedicated-page .ph::after { display: none; }
.dedicated-page .ph img { display: block; width: 100%; height: auto; object-fit: cover; border-radius: 14px; filter: none; }
.dedicated-page .ph-wide img { aspect-ratio: 4 / 3; }
.dedicated-page .ph-tall img { aspect-ratio: 3 / 4; }
.dedicated-page .ph-54 img { aspect-ratio: 5 / 4; }
.dedicated-page .ph-band img { aspect-ratio: 3 / 1; }
.dedicated-page .ph-sq img { aspect-ratio: 1; }
.dedicated-page .ph-cap { position: static; display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px; padding: 14px 4px 4px; color: #62665e; font: 10px/1.6 Plex, monospace; letter-spacing: 0; }
.dedicated-page .ph-cap span { color: #111210; }
.dedicated-page .ph-cap i { font-style: normal; color: #62665e; }
.dedicated-page .strip-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.dedicated-page .strip-photos > :nth-child(1) .ph { transform: rotate(-2deg); }
.dedicated-page .strip-photos > :nth-child(2) .ph { transform: rotate(1deg); }
.dedicated-page .strip-photos > :nth-child(3) .ph { transform: rotate(-1deg); }
.dedicated-page .tag { display: inline-flex; align-items: center; padding: 5px 10px; border: 1px solid #d4d5cf; border-radius: 999px; font: 10px/1.5 Plex, monospace; letter-spacing: 0; color: #62665e; }
.dedicated-page .tag-red { border-color: #d726382e; color: #d72638; background: #fff5f6; }
.dedicated-page .cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; background: none; border: 0; }
.dedicated-page .card { display: flex; flex-direction: column; min-width: 0; padding: clamp(24px, 3vw, 42px); border: 1px solid #d4d5cf; border-radius: 28px; background: #fff; transition: transform .3s, box-shadow .3s; }
.dedicated-page a.card:hover { transform: translateY(-5px); box-shadow: 0 14px 28px #1721120b; }
.dedicated-page .card-idx { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #d72638; font: 11px/1.5 Plex, monospace; margin-bottom: 32px; }
.dedicated-page .card-idx small { color: #62665e; font-size: 10px; }
.dedicated-page .card h3 { font: 900 clamp(36px, 3.7vw, 62px)/1 Barlow, Impact, sans-serif; letter-spacing: -.01em; text-transform: uppercase; margin-bottom: 18px; }
.dedicated-page .card h3 em { font: inherit; color: #62665e; }
.dedicated-page .card p { font: 16px/1.8 Space, Arial, sans-serif; color: #62665e; margin-bottom: 24px; }
.dedicated-page .card-go { display: inline-flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 24px; color: #111210; font: 11px/1.5 Plex, monospace; border-top: 1px solid #d4d5cf; }
.dedicated-page .card-go svg { width: 16px; height: 16px; }
.dedicated-page .card-list { margin-bottom: 22px; }
.dedicated-page .card-list a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 0; border-bottom: 1px solid #d4d5cf; font: 15px/1.5 Space, Arial, sans-serif; }
.dedicated-page .card-list small { font: 10px Plex, monospace; color: #62665e; flex-shrink: 0; }
.dedicated-page .feat { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); border: 1px solid #d4d5cf; border-radius: 32px; overflow: hidden; margin-bottom: 32px; background: white; }
.dedicated-page .feat-body { padding: clamp(28px, 4vw, 64px); }
.dedicated-page .feat-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 32px; }
.dedicated-page .feat h3 { font: 900 clamp(64px, 7vw, 104px)/.95 Barlow, sans-serif; letter-spacing: -.02em; text-transform: uppercase; margin-bottom: 22px; }
.dedicated-page .feat h3 em { font: inherit; color: #62665e; }
.dedicated-page .feat p { color: #62665e; font: 17px/1.8 Space, Arial, sans-serif; margin-bottom: 28px; }
.dedicated-page .feat-visual { display: flex; align-items: center; justify-content: center; padding: 42px; background: #eef1e9; }
.dedicated-page .feat-visual::before { display: none; }
.dedicated-page .tiles { display: grid; width: 100%; gap: 16px; }
.dedicated-page .tile { padding: 28px; border: 1px solid #d4d5cf; border-radius: 18px; background: white; box-shadow: 0 8px 20px #17211208; }
.dedicated-page .tile:nth-child(1) { transform: rotate(-3deg); }
.dedicated-page .tile:nth-child(2) { transform: rotate(2deg); }
.dedicated-page .tile b { display: block; font: 500 20px/1.3 Space, Arial, sans-serif; margin-bottom: 8px; }
.dedicated-page .tile span { color: #62665e; font: 13px/1.7 Space, Arial, sans-serif; }
.dedicated-page .rows { display: grid; gap: 0; border-top: 1px solid #111210; }
.dedicated-page .row { display: grid; grid-template-columns: 32px minmax(0, .8fr) minmax(0, 1fr) 44px; align-items: center; gap: 24px; min-width: 0; padding: 27px 0; border-bottom: 1px solid #d4d5cf; }
.dedicated-page .row-idx { color: #d72638; font: 11px Plex, monospace; }
.dedicated-page .row-name { color: #111210; font: 900 36px/1 Barlow, sans-serif; text-transform: uppercase; }
.dedicated-page .row-name small { display: block; margin-top: 9px; color: #62665e; font: 10px/1.4 Plex, monospace; text-transform: none; }
.dedicated-page .row-desc { color: #62665e; font: 15px/1.8 Space, Arial, sans-serif; }
.dedicated-page .row-go { width: 44px; height: 44px; border: 1px solid #d4d5cf; border-radius: 50%; display: grid; place-items: center; }
.dedicated-page .row-go svg { width: 16px; height: 16px; }
.dedicated-page .row:hover .row-name { color: #d72638; }
.dedicated-page .stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid #d4d5cf; border-radius: 26px; overflow: hidden; }
.dedicated-page .stat { padding: 26px; background: white; border-right: 1px solid #d4d5cf; }
.dedicated-page .stat:last-child { border-right: 0; }
.dedicated-page .stat b { display: block; font: 900 72px/1 Barlow, sans-serif; margin-bottom: 10px; color: #111210; }
.dedicated-page .stat span { color: #62665e; font: 11px/1.5 Plex, monospace; }
.dedicated-page .facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; padding: 28px 0; margin-top: 20px; border-block: 1px solid #d4d5cf; }
.dedicated-page .fact b { display: block; font: 900 36px/1.1 Barlow, sans-serif; margin-bottom: 7px; }
.dedicated-page .fact span { color: #62665e; font: 10px/1.5 Plex, monospace; }
.dedicated-page .cta-band { margin-top: 36px; padding: 74px 0; text-align: center; background: #eef1e9; border-block: 1px solid #d4d5cf; }
.dedicated-page .cta-band p { max-width: 60ch; margin: 24px auto; color: #62665e; font: 17px/1.8 Space, Arial, sans-serif; }
.dedicated-page .cta-band .phero-actions { justify-content: center; }
.dedicated-page .foot { margin-top: 76px; }
.dedicated-page nav.site-index { display: flex; align-items: center; gap: 6px 12px; }
.dedicated-page nav.site-index a { min-width: 44px; padding: 4px 8px; font-size: 12px; line-height: 1.5; }
.dedicated-page :is(.foot-links, .foot-legal) a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
.dedicated-page .foot-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.dedicated-page .foot-brand { display: flex; align-items: center; gap: 10px; }
.dedicated-page .brand-hex { width: 26px; height: 30px; display: grid; place-items: center; clip-path: var(--hex); background: #eef1e9; color: #d72638; font: 9px Plex, monospace; }
.dedicated-page .foot-links, .dedicated-page .foot-legal { display: flex; flex-wrap: wrap; gap: 16px; color: #62665e; font: 11px/1.6 Plex, monospace; }
.dedicated-page .foot-legal { margin-top: 24px; padding-top: 18px; border-top: 1px solid #d4d5cf; }

/* ABOUT: oversized introduction, paper portrait, then a readable personal dossier. */
.page-about .page-cover h1 { font-size: clamp(76px, 8.7vw, 140px); }
.page-about .page-cover .ph { max-width: 460px; margin-left: auto; transform: rotate(2deg); }
.page-about #story .split { display: grid; grid-template-columns: minmax(0, .35fr) minmax(0, .65fr); gap: var(--page-gap); padding: 32px 0; border-bottom: 1px solid #d4d5cf; }
.page-about .split-label { font: 900 32px/1.1 Barlow, sans-serif; text-transform: uppercase; }
.page-about .split-label svg { width: 13px; height: 15px; fill: none; stroke: #d72638; margin-right: 10px; }
.page-about .split-label small { display: block; margin-top: 10px; color: #62665e; font: 11px Plex, monospace; text-transform: none; }
.page-about #days { background: #eef1e9; border-block: 1px solid #d4d5cf; }
.page-about .comb { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.page-about .comb-row { display: contents; }
.page-about .cell { position: relative; width: auto; aspect-ratio: 1 / 1.13; min-width: 0; display: grid; place-items: center; text-align: center; padding: 14px; clip-path: var(--hex); background: #e3e8dc; font: 500 15px/1.25 Space, Arial, sans-serif; opacity: 1; transform: none; }
.page-about .cell.hot { background: #111210; color: white; }
.page-about .cell small { display: block; margin-top: 8px; font: 10px/1.4 Plex, monospace; color: #62665e; }
.page-about .cell.hot small { color: #d5ddca; }
.page-about .comb-cap { grid-column: 1 / -1; color: #62665e; font: 11px Plex, monospace; margin-top: 14px; text-align: center; }
.page-about #philosophy .cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.page-about #philosophy .card { padding: 28px; }
.page-about #philosophy h3 { font-size: 36px; }

/* WORK: a catalogue cover, featured venture, large index rows and live tools. */
.page-work .page-cover h1 { font-size: clamp(98px, 13.5vw, 220px); }
.page-work .page-cover h1 .h-rl { display: inline-block; margin-right: .11em; }
.page-work .phero-lead { max-width: 67ch; }
.page-work #experimental .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.page-work #experimental .card { min-height: 310px; }
.page-work #community .two-col { align-items: center; }
.page-work #community .strip-photos { gap: 18px; }
.page-work #community .ph:nth-child(1) { transform: rotate(-2deg); }
.page-work #community .ph:nth-child(2) { transform: rotate(2deg); }

/* JOURNEY: a graphic cover and two-column career ledger. */
.page-experience .page-cover { background: linear-gradient(135deg, #f0f3eb, #fff 60%); }
.page-experience .page-cover h1 { font-size: clamp(86px, 10vw, 156px); }
.page-experience .page-cover .ph { transform: rotate(-2deg); max-width: 510px; }
.page-experience .stats .stat b { font-size: 94px; }
.page-experience .tl { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; padding: 0; counter-reset: career; }
.page-experience .tl-rail, .page-experience .tl-node { display: none; }
.page-experience .tl-item { position: relative; padding: 0; margin: 0; counter-increment: career; }
.page-experience .tl-item.now { grid-column: 1 / -1; }
.page-experience .tl-card { position: relative; min-height: 100%; padding: 36px; border: 1px solid #d4d5cf; border-radius: 28px; background: white; }
.page-experience .tl-card::before { content: '0' counter(career); position: absolute; top: 22px; right: 30px; color: #d4d5cf; font: 900 66px/1 Barlow, sans-serif; }
.page-experience .tl-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-right: 60px; color: #62665e; font: 11px Plex, monospace; margin-bottom: 24px; }
.page-experience .tl-card h3 { max-width: 22ch; font: 900 clamp(38px, 4.5vw, 64px)/1.02 Barlow, sans-serif; text-transform: uppercase; margin-bottom: 18px; }
.page-experience .tl-org { color: #d72638; font: 12px Plex, monospace; margin-bottom: 22px; }
.page-experience .tl-card p, .page-experience .ul { color: #62665e; font: 16px/1.8 Space, Arial, sans-serif; }
.page-experience .ul { padding-left: 20px; margin-top: 18px; }
.page-experience .ul li { padding: 4px 0; }
.page-experience .tl-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px; }
.page-experience .tl-card .ph { margin: 30px 0; max-width: 720px; }

/* CONTACT: the invitation and a distinct paper form, with the existing backend. */
.page-contact .page-cover-inner.phero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: start; }
.page-contact .page-cover h1 { font-size: clamp(92px, 10vw, 160px); }
.page-contact .info { display: grid; margin-top: 32px; border-top: 1px solid #d4d5cf; }
.page-contact .info > div { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 14px 0; border-bottom: 1px solid #d4d5cf; }
.page-contact .info span { color: #62665e; font: 10px Plex, monospace; }
.page-contact .info b { font: 400 14px/1.6 Space, Arial, sans-serif; }
.page-contact .info b a { text-decoration: underline; text-underline-offset: 4px; }
.page-contact .socials { display: flex; flex-wrap: wrap; gap: 10px; }
.page-contact .soc { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #d4d5cf; border-radius: 50%; color: #111210; }
.page-contact .soc svg { width: 20px; height: 20px; }
.page-contact .form { display: block; padding: clamp(24px, 3.3vw, 48px); border: 1px solid #d4d5cf; border-radius: 28px; background: white; box-shadow: 0 20px 38px #1721120a; }
.page-contact .page-form-title { font: 900 42px/1 Barlow, sans-serif; text-transform: uppercase; margin-bottom: 34px; }
.page-contact .field { display: grid; gap: 10px; margin-bottom: 24px; }
.page-contact .field label { color: #62665e; font: 11px Plex, monospace; }
.page-contact .field :is(input, textarea) { width: 100%; min-width: 0; padding: 15px; border: 1px solid #d4d5cf; border-radius: 12px; background: #fafbf8; color: #111210; font: 16px/1.6 Space, Arial, sans-serif; }
.page-contact .field :is(input, textarea):focus { outline: 2px solid #d72638; outline-offset: 2px; }
.page-contact .form-note { color: #62665e; font: 11px/1.7 Plex, monospace; margin-top: 18px; text-align: center; }
.page-contact .ph-band { max-width: 1180px; margin: 0 auto; }

/* n8n: three doors into the hub, an article catalogue and spacious resources. */
.page-n8n .page-cover h1 { font-size: clamp(82px, 8.7vw, 142px); }
.page-n8n .page-cover .ph { transform: rotate(2deg); }
.page-n8n .hub-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; grid-column: 1 / -1; margin-top: 24px; }
.page-n8n .hub-doors a { display: grid; gap: 16px; padding: 22px; border: 1px solid #d4d5cf; border-radius: 18px; background: white; }
.page-n8n .hub-doors span { font: 10px Plex, monospace; color: #d72638; }
.page-n8n .hub-doors strong { font: 900 36px/1 Barlow, sans-serif; text-transform: uppercase; }
.page-n8n #archive .rows { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; border: 0; }
.page-n8n #archive .row { grid-template-columns: 24px minmax(0, 1fr) 36px; gap: 12px; padding: 26px; border: 1px solid #d4d5cf; border-radius: 22px; background: white; align-items: start; }
.page-n8n #archive .row-name { font-size: 30px; }
.page-n8n #archive .row-desc { grid-column: 2; font-size: 14px; }
.page-n8n #archive .row-go { grid-column: 3; grid-row: 1; width: 36px; height: 36px; }
.page-n8n #ground { background: #eef1e9; border-block: 1px solid #d4d5cf; }
.page-n8n .ev-sub { margin-top: 18px; }
.page-n8n .ev-meta { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 28px; font: 11px Plex, monospace; }
.page-n8n #ground .strip-photos { margin-top: 46px; }
.page-n8n #ecosystem .card .ph { margin: 20px 0; }
.page-n8n #ecosystem .tl-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 24px; }

/* BLOG: a journal masthead, publication cards, then a useful live feed. */
.page-blog .page-cover-inner { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 28px 48px; }
.page-blog .page-cover-inner > :is(.page-location, .eyebrow, h1) { grid-column: 1 / -1; }
.page-blog .page-cover h1 { font-size: clamp(110px, 16vw, 238px); }
.page-blog .page-cover h1 .h-rl { display: inline-block; margin-right: .09em; }
.page-blog .page-cover .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0 !important; align-self: start; }
.page-blog .page-cover .stat { padding: 20px 14px; }
.page-blog .page-cover .stat b { font-size: 58px; }
.page-blog #write .feat { margin-bottom: 42px; }
.page-blog .hn-universe { border: 1px solid #d4d5cf; border-radius: 28px; overflow: hidden; background: #fff; }
.page-blog .hn-terminal-header { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; padding: 20px 24px; border-bottom: 1px solid #d4d5cf; background: #eef1e9; color: #62665e; font: 10px Plex, monospace; }
.page-blog .hn-terminal-dots { display: flex; gap: 5px; }
.page-blog .hn-td { width: 8px; height: 10px; clip-path: var(--hex); background: #bdc7b0; }
.page-blog .hn-td-r { background: #d72638; }
.page-blog .hn-terminal-title { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.page-blog .hn-terminal-live { display: flex; align-items: center; gap: 7px; }
.page-blog .hn-live-dot { width: 6px; height: 6px; border-radius: 50%; background: #39714c; }
.page-blog .hn-refresh-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 14px; border: 1px solid #d4d5cf; border-radius: 999px; color: #111210; background: white; font: 10px Plex, monospace; cursor: pointer; }
.page-blog .hn-refresh-btn svg { width: 13px; height: 13px; transition: transform .8s; }
.page-blog .hn-refresh-btn.spinning svg { transform: rotate(360deg); }
.page-blog .hn-section { padding: 32px; }
.page-blog .hn-section + .hn-section { border-top: 1px solid #d4d5cf; }
.page-blog .hn-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 28px; }
.page-blog .hn-section-label { display: flex; align-items: center; gap: 8px; font: 10px Plex, monospace; color: #62665e; margin-bottom: 14px; }
.page-blog .hn-badge { padding: 4px 7px; border: 1px solid #d726382e; color: #d72638; }
.page-blog .hn-section-title { font: 900 52px/1 Barlow, sans-serif; text-transform: uppercase; }
.page-blog .hn-section-title em { font: inherit; color: #62665e; }
.page-blog .hn-external-link { color: #62665e; font: 11px Plex, monospace; text-decoration: underline; text-underline-offset: 4px; }
.page-blog .hn-stories-grid, .page-blog .hn-ask-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; border: 0; background: none; }
.page-blog :is(.hn-story-card, .hn-ask-card, .hn-skel-card-placeholder, .hn-skel-grid-placeholder) { display: flex; flex-direction: column; min-width: 0; min-height: 170px; gap: 15px; padding: 24px; border: 1px solid #d4d5cf; border-radius: 18px; background: #fafbf8; }
.page-blog :is(.hn-story-card, .hn-ask-card):hover { background: #eef1e9; }
.page-blog .hn-card-domain, .page-blog .hn-ask-type { color: #d72638; font: 10px/1.5 Plex, monospace; overflow-wrap: anywhere; }
.page-blog .hn-card-title, .page-blog .hn-ask-title { color: #111210; font: 500 17px/1.5 Space, Arial, sans-serif; overflow-wrap: anywhere; }
.page-blog .hn-card-meta, .page-blog .hn-ask-meta { display: flex; flex-wrap: wrap; gap: 8px 15px; margin-top: auto; color: #62665e; font: 9px/1.5 Plex, monospace; }
.page-blog .hn-jobs-list { border-top: 1px solid #d4d5cf; }
.page-blog .hn-job-row { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 22px 0; border-bottom: 1px solid #d4d5cf; }
.page-blog .hn-job-company { color: #d72638; font: 10px Plex, monospace; margin-bottom: 8px; }
.page-blog .hn-job-title { color: #111210; font: 16px/1.5 Space, Arial, sans-serif; }
.page-blog .hn-job-time { color: #62665e; font: 10px Plex, monospace; flex-shrink: 0; }
.page-blog .hn-skel-line { width: 75%; height: 12px; border-radius: 4px; background: #e3e8dc; }
.page-blog .sk-w10 { width: 100%; }
.page-blog .sk-w3 { width: 35%; }
.page-blog .hn-sentinel { height: 1px; }

/* LEGAL: a dedicated reading layout and a native section index. */
.page-legal .page-cover h1 { font-size: clamp(100px, 11vw, 178px); }
.page-legal .page-cover h1 .h-rl { display: inline-block; margin-right: .12em; }
.page-legal .legal-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); align-items: start; gap: 64px; padding-top: 42px; }
.page-legal .page-contents { position: sticky; top: 155px; display: grid; gap: 2px; padding: 20px; border: 1px solid #d4d5cf; border-radius: 20px; background: #fff; }
.page-legal .page-contents > strong { color: #62665e; font: 10px Plex, monospace; text-transform: uppercase; margin-bottom: 14px; }
.page-legal .page-contents a { min-height: 44px; display: flex; align-items: center; padding: 8px 0; font: 12px/1.5 Space, Arial, sans-serif; }
.page-legal .page-contents a:hover { color: #d72638; }
.page-legal .legal { max-width: 900px; min-width: 0; }
.page-legal .legal-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 38px; color: #62665e; font: 10px/1.7 Plex, monospace; text-transform: none; letter-spacing: 0; }
.page-legal .legal h2 { margin: 42px 0 20px; padding-top: 28px; border-top: 1px solid #d4d5cf; font: 900 42px/1.1 Barlow, sans-serif; text-transform: uppercase; }
.page-legal .legal h2:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.page-legal .legal p, .page-legal .legal li { color: #62665e; font: 16px/1.9 Space, Arial, sans-serif; margin-bottom: 18px; }
.page-legal .legal strong { color: #111210; font-weight: 500; }
.page-legal .legal a { color: #111210; text-decoration: underline; text-decoration-color: #d72638; text-underline-offset: 4px; }
.page-legal .legal .ul { padding-left: 22px; }
.page-legal .page-table { width: 100%; overflow-x: auto; border: 1px solid #d4d5cf; border-radius: 16px; margin-bottom: 24px; }
.page-legal .legal table { width: 100%; min-width: 620px; border-collapse: collapse; margin: 0; background: white; }
.page-legal .legal th, .page-legal .legal td { padding: 16px; text-align: left; vertical-align: top; border-bottom: 1px solid #d4d5cf; color: #62665e; font: 13px/1.7 Space, Arial, sans-serif; }
.page-legal .legal th { background: #eef1e9; font: 10px/1.5 Plex, monospace; color: #111210; letter-spacing: 0; }
.page-legal .legal td:first-child { color: #111210; white-space: normal; }
.page-legal .legal code { color: #43483d; background: #eef1e9; font: 12px/1.5 Plex, monospace; padding: 2px 5px; border-radius: 4px; }

/* A designed recovery page, with the original destinations intact. */
.page-not-found .page-cover { min-height: 640px; display: flex; align-items: center; }
.page-not-found .page-cover h1 { font-size: clamp(100px, 13vw, 210px); max-width: 9ch; }
.page-not-found .page-error-code { position: absolute; right: 4%; bottom: -24px; color: transparent; -webkit-text-stroke: 1px #c7d0bd; font: 900 clamp(200px, 38vw, 600px)/1 Barlow, sans-serif; pointer-events: none; z-index: -1; }

@keyframes page-hex-draw { from { stroke-dashoffset: 1; opacity: 0; } to { stroke-dashoffset: 0; opacity: 1; } }
@media (max-width: 1100px) {
  .page-about #philosophy .cards, .page-work #experimental .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-blog .hn-stories-grid, .page-blog .hn-ask-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-blog .page-cover-inner { grid-template-columns: minmax(0, 1fr); }
  .page-blog .page-cover .stats { max-width: 640px; }
  .page-legal .legal-layout { grid-template-columns: 200px minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 900px) {
  .dedicated-page .page-cover-inner.phero-grid, .page-contact .page-cover-inner.phero-grid { grid-template-columns: minmax(0, 1fr); }
  .dedicated-page .page-cover { padding: 26px 28px 42px; width: calc(100% - 32px); }
  .dedicated-page .page-cover h1 { font-size: clamp(86px, 12vw, 140px); }
  .dedicated-page .page-cover .ph { max-width: 520px; margin: 0 auto; }
  .dedicated-page .two-col, .dedicated-page .ev-grid, .dedicated-page .feat { grid-template-columns: minmax(0, 1fr); }
  .dedicated-page .row { grid-template-columns: 24px minmax(0, 1fr) 44px; gap: 16px; }
  .dedicated-page .row-desc { grid-column: 2; }
  .dedicated-page .row-go { grid-column: 3; grid-row: 1; }
  .page-about #story .split { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .page-about .comb { max-width: 640px; }
  .page-legal .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .page-legal .page-contents { position: static; display: flex; align-items: center; gap: 20px; overflow-x: auto; min-width: 0; padding: 14px 20px; }
  .page-legal .page-contents > strong, .page-legal .page-contents a { flex-shrink: 0; margin: 0; }
}
@media (max-width: 600px) {
  .dedicated-page .page-cover { width: calc(100% - 24px); margin-top: 14px; padding: 24px 18px 34px; border-radius: 26px; }
  .dedicated-page .page-cover h1 { font-size: clamp(66px, 17.5vw, 102px); margin-bottom: 24px; }
  .dedicated-page .page-cover .ph { max-width: 400px; transform: rotate(-1deg); }
  .dedicated-page .page-location { margin-bottom: 6px; font-size: 10px; }
  .dedicated-page .eyebrow { font-size: 10px; margin-bottom: 20px; }
  .dedicated-page .phero-lead, .dedicated-page .prose { font-size: 15px; line-height: 1.8; }
  .dedicated-page .sec, .dedicated-page .sec-tight { padding: 44px 0; }
  .dedicated-page .sec-title { font-size: clamp(42px, 10.5vw, 64px); }
  .dedicated-page .cards, .page-about #philosophy .cards, .page-work #experimental .cards, .page-experience .tl, .page-n8n #archive .rows { grid-template-columns: minmax(0, 1fr); }
  .dedicated-page .strip-photos { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .dedicated-page .strip-photos .ph { transform: none !important; }
  .dedicated-page .card { padding: 26px; }
  .dedicated-page .card h3 { font-size: 40px; }
  .dedicated-page .row-name { font-size: 30px; }
  .dedicated-page .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dedicated-page .stat { padding: 22px; border-bottom: 1px solid #d4d5cf; }
  .dedicated-page .stat:nth-child(2n) { border-right: 0; }
  .dedicated-page .stat b, .page-experience .stats .stat b { font-size: 64px; }
  .dedicated-page .facts { gap: 12px; }
  .dedicated-page .fact b { font-size: 28px; }
  .dedicated-page .fact span { font-size: 9px; }
  .dedicated-page .feat-body, .dedicated-page .feat-visual { padding: 28px; }
  .dedicated-page .feat h3 { font-size: 64px; }
  .dedicated-page .tile { padding: 22px; }
  .dedicated-page .ph-band img { aspect-ratio: 4 / 3; }
  .page-work .page-cover h1 .h-rl, .page-legal .page-cover h1 .h-rl { display: block; }
  .page-experience .tl-card { padding: 26px; }
  .page-experience .tl-card h3 { font-size: 40px; }
  .page-contact .info > div { flex-wrap: wrap; gap: 6px 16px; }
  .page-n8n .hub-doors { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .page-n8n .hub-doors a { display: flex; align-items: center; gap: 16px; padding: 16px; }
  .page-n8n .hub-doors strong { font-size: 28px; }
  .page-blog .page-cover .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-blog .page-cover .stat { padding: 16px 10px; border-bottom: 0; }
  .page-blog .page-cover .stat b { font-size: 48px; }
  .page-blog .page-cover .stat span { font-size: 9px; }
  .page-blog .hn-section { padding: 22px; }
  .page-blog .hn-section-title { font-size: 40px; }
  .page-blog .hn-stories-grid, .page-blog .hn-ask-grid { grid-template-columns: minmax(0, 1fr); }
  .page-blog .hn-job-row { gap: 12px; }
  .page-not-found .page-cover { min-height: 600px; }
}
@media (prefers-reduced-motion: reduce) {
  .dedicated-page .page-cover-hex path { animation: none; }
  .dedicated-page :is(.btn, .card, .hn-refresh-btn svg) { transition: none; }
}
.skip-entrance .dedicated-page .page-cover-hex path { animation: none; }
