/* ────────────────────────────────────────────────────────────────────
   style.css — Tim Greenzweig Portfolio
   Dark mode default; .light on <html> opts into warm cream palette.
   ──────────────────────────────────────────────────────────────────── */

:root{
  --paper: #0E0F12;
  --paper-2:#16181C;
  --paper-3:#1B1E23;
  --ink:   #ECE7DB;
  --ink-soft:#C8C2B5;
  --mute:  #7E7A72;
  --rule:  #21242A;
  --rule-soft:#181B20;
  --accent:#FF8A66;
  --accent-q:#D7B98A;
  --selection:#3A2E26;
}

html.light{
  --paper: #F4EFE6;
  --paper-2:#FAF6ED;
  --paper-3:#EFE9DA;
  --ink:   #1B1B1A;
  --ink-soft:#3A3A37;
  --mute:  #6F6A60;
  --rule:  #D9D2C2;
  --rule-soft:#E7E1D2;
  --accent:#C04F2F;
  --accent-q:#9A7E48;
  --selection:#F5DCC9;
}

*{box-sizing:border-box}
::selection{background:var(--selection);color:var(--ink)}
html,body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:'ss01';transition:background .35s ease,color .35s ease}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
video {height: auto; max-width:100%;}

.progress{position:fixed;top:0;left:0;right:0;height:2px;background:transparent;z-index:50}
.progress .bar{height:100%;width:0;background:var(--accent);transition:width .1s linear}

header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--rule);background:color-mix(in oklab, var(--paper) 88%, transparent);backdrop-filter:blur(14px)}
.head-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 36px}
@media(max-width:760px){.head-inner{padding:14px 22px;gap:14px}}

.mark{font-family:'Fraunces',serif;font-weight:500;font-size:21px;letter-spacing:-0.01em;display:flex;align-items:center;gap:10px}
.mark em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent);font-weight:400}
.mark .sigil{width:22px;height:22px;border-radius:50%;border:1px solid var(--rule);display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:var(--accent);font-family:'Instrument Serif',serif;font-style:italic}

nav{display:flex;gap:30px;font-size:14px;color:var(--mute)}
nav a{padding:6px 0;transition:color .2s;position:relative;cursor:pointer}
nav a:hover{color:var(--ink)}
nav a.active{color:var(--ink)}
nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent)}
@media(max-width:760px){nav{gap:14px;font-size:13px}nav a:nth-child(n+4){display:none}}

.head-meta{font-size:12px;color:var(--mute);display:flex;gap:12px;align-items:center}
@media(max-width:760px){.head-meta span{display:none}}

.mode{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);border-radius:999px;padding:5px 11px;font-size:12px;cursor:pointer;background:transparent;color:var(--mute);font-family:inherit;transition:color .2s}
.mode:hover{color:var(--ink)}

/* ── Wrap ── */
.wrap{max-width:1180px;margin:0 auto;padding:0 36px}
@media(max-width:760px){.wrap{padding:0 22px}}

/* ── Hero (index) ── */
.hero{padding:96px 0 80px;border-bottom:1px solid var(--rule)}
@media(max-width:760px){.hero{padding:56px 0 44px}}

.eyebrow{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:14px}
.hero .eyebrow::before{content:"";width:24px;height:1px;background:var(--mute)}

h1{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(48px,7.2vw,108px);line-height:1;letter-spacing:-0.028em;margin:18px 0 26px;color:var(--ink);font-variation-settings:"opsz" 144}
h1 em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;color:var(--accent)}

.lede{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(18px,1.55vw,22px);line-height:1.6;color:var(--ink-soft);max-width:740px}

.byline{display:flex;flex-wrap:wrap;gap:30px;margin-top:38px;color:var(--mute);font-size:13.5px;align-items:center}
.byline b{color:var(--ink);font-weight:500}
.dotsep{width:5px;height:5px;border-radius:50%;background:var(--mute);opacity:.7}

/* ── Currently strip ── */
.currently{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--rule);color:var(--mute);font-size:13.5px;flex-wrap:wrap}
.currently .pulse{position:relative;width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}
.currently .pulse::after{content:"";position:absolute;inset:-5px;border-radius:50%;background:var(--accent);opacity:.18;animation:pulse 2.4s infinite ease-out}
@keyframes pulse{0%{transform:scale(1);opacity:.18}80%,100%{transform:scale(2.2);opacity:0}}
.currently b{color:var(--ink);font-weight:500}
.currently a{border-bottom:1px solid var(--rule);color:var(--ink-soft)}
.currently a:hover{color:var(--accent);border-color:var(--accent)}
.currently .right{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--mute)}
@media(max-width:760px){.currently .right{margin-left:0}}

/* ── Section header ── */
.sec-head{display:flex;align-items:baseline;justify-content:space-between;padding:64px 0 28px;border-bottom:1px solid var(--rule);gap:18px;flex-wrap:wrap}
.sec-head h2{font-family:'Fraunces',serif;font-weight:400;font-size:34px;margin:0;letter-spacing:-0.012em}
.sec-head h2 em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--mute);font-weight:400;font-size:24px}
.sec-head .meta{font-size:12px;color:var(--mute);letter-spacing:.16em;text-transform:uppercase}

/* ── Pieces list ── */
.pieces{padding:0 0 16px}
.piece{display:grid;grid-template-columns:120px 1fr 220px;gap:36px;padding:28px 0;border-bottom:1px solid var(--rule);align-items:start;transition:background .25s ease;cursor:pointer;position:relative}
.piece:hover{background:var(--rule-soft)}
.piece .num{font-family:'Fraunces',serif;font-weight:300;font-size:38px;color:var(--accent);line-height:1;font-variant-numeric:tabular-nums}
.piece h3{font-family:'Fraunces',serif;font-weight:400;font-size:30px;line-height:1.12;margin:0 0 10px;letter-spacing:-0.012em;color:var(--ink)}
.piece h3 em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;color:var(--mute)}
.piece p{margin:0;color:var(--ink-soft);font-size:15px;line-height:1.6;max-width:62ch}
.piece .right{font-size:12.5px;color:var(--mute);text-align:right;line-height:1.65}
.piece .right b{color:var(--ink);font-weight:500;display:block;margin-bottom:4px}
.piece .right .tags{display:flex;justify-content:flex-end;gap:6px;margin-top:8px;flex-wrap:wrap}
.piece .right .tag{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding:2px 8px;border:1px solid var(--rule);border-radius:999px}
.piece .read{margin-top:14px;font-size:11.5px;color:var(--accent);letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}
.piece .read::after{content:"→";transition:transform .2s}
.piece:hover .read::after{transform:translateX(4px)}
.piece .lock{margin-top:14px;font-size:11px;color:var(--mute);letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}
@media(max-width:900px){.piece{grid-template-columns:48px 1fr;gap:18px;padding:22px 0}.piece .right{display:none}.piece .num{font-size:24px}.piece h3{font-size:22px}}

/* Preview hover image */
.preview{position:absolute;right:6px;top:50%;transform:translate(40px,-50%);width:240px;aspect-ratio:4/3;border-radius:6px;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .3s ease,transform .35s ease;box-shadow:0 30px 60px -20px rgba(0,0,0,.55)}
.piece:hover .preview{opacity:1;transform:translate(0,-50%)}
@media(max-width:1100px){.preview{display:none}}
.preview.transcarent{background:linear-gradient(135deg,#C47DD4 0%,#3A1052 80%)}
.preview.accolade{background:linear-gradient(135deg,#7BB8E8 0%,#1a3a5e 80%)}
.preview.plushcare{background:linear-gradient(135deg,#7DD4A6 0%,#0a3d26 80%)}
.preview.rei{background:linear-gradient(135deg,#ff8a66 0%,#5b1e10 80%)}
.preview.alaska-pilot{background:linear-gradient(135deg,#A8B7C9 0%,#1c2730 80%)}
.preview.alaska-ops{background:linear-gradient(135deg,#3eb4ff 0%,#0a3a64 80%)}
.preview.alaska-csa{background:linear-gradient(135deg,#5BE3CB 0%,#0a3d36 80%)}

/* ── Marquee ── */
.marquee{padding:46px 0;border-bottom:1px solid var(--rule);overflow:hidden;display:flex;align-items:center;gap:64px;color:var(--mute);font-family:'Fraunces',serif;font-size:24px;font-weight:300;letter-spacing:-0.005em;white-space:nowrap}
.marquee em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent-q)}
.marquee .label{font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);flex-shrink:0}

/* ── Now panel ── */
.now-panel{margin:64px 0 0;padding:36px;border:1px solid var(--rule);border-radius:6px;background:var(--paper-2);display:grid;grid-template-columns:140px 1fr 1fr;gap:36px;align-items:start}
@media(max-width:900px){.now-panel{grid-template-columns:1fr;gap:22px;padding:24px}}
.now-panel .label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.now-panel h3{font-family:'Fraunces',serif;font-weight:400;font-size:30px;line-height:1.15;margin:6px 0 0;letter-spacing:-0.012em}
.now-panel h3 em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent);font-weight:400}
.now-panel p{margin:0;color:var(--ink-soft);font-size:15px;line-height:1.65}
.now-panel ul{margin:0;padding:0;list-style:none;color:var(--mute);font-size:13.5px;line-height:1.85}
.now-panel ul b{color:var(--ink);font-weight:500}
.now-panel ul li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dashed var(--rule);padding:6px 0}
.now-panel ul li:last-child{border:0}

/* ── Footer (index) ── */
footer.main-footer{margin-top:96px;padding:64px 0 56px;border-top:1px solid var(--rule)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:30px}}
.foot-grid h5{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin:0 0 12px;font-weight:500}
.foot-grid a{display:block;color:var(--ink-soft);font-size:14px;padding:5px 0;border-bottom:1px solid transparent}
.foot-grid a:hover{color:var(--accent)}
.foot-cta{font-family:'Fraunces',serif;font-weight:400;font-size:42px;line-height:1.1;letter-spacing:-0.018em;color:var(--ink);margin:0}
.foot-cta em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent);font-weight:400}
.foot-cta a{border-bottom:1px solid var(--accent);padding-bottom:2px}
.foot-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:48px;padding-top:24px;border-top:1px solid var(--rule);color:var(--mute);font-size:12.5px}

/* ── Article hero (case study) ── */
.article-hero{padding:42px 0 64px;border-bottom:1px solid var(--rule)}
.article-hero .wrap{max-width:1180px;margin:0 auto;padding:0 36px}
@media(max-width:760px){.article-hero .wrap{padding:0 22px}}
.eyebrow b{color:var(--accent);font-weight:500}
.eyebrow .sep{width:18px;height:1px;background:var(--mute);display:inline-block}
h1.title{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(48px,7vw,104px);line-height:1.0;letter-spacing:-0.028em;margin:18px 0 22px;color:var(--ink)}
h1.title em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;color:var(--accent)}
.deck{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(19px,1.65vw,24px);line-height:1.55;color:var(--ink-soft);max-width:780px}
.meta-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--rule);font-size:13px;color:var(--mute)}
@media(max-width:760px){.meta-strip{grid-template-columns:repeat(2,1fr);gap:18px}}
.meta-strip .label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;display:block;margin-bottom:6px}
.meta-strip b{color:var(--ink);font-weight:500;font-size:14.5px}

/* ── Stats ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--rule);background:var(--paper-2)}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{padding:36px;border-right:1px solid var(--rule);position:relative}
.stat:last-child{border-right:0}
@media(max-width:760px){.stat{padding:24px 22px}.stat:nth-child(2){border-right:0}.stat:nth-child(3),.stat:nth-child(4){border-top:1px solid var(--rule)}}
.stat .num{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(40px,5vw,72px);line-height:.95;letter-spacing:-0.025em;color:var(--ink);font-variant-numeric:tabular-nums}
.stat .num em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent);font-weight:400;font-size:.55em;letter-spacing:0}
.stat .label{margin-top:8px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.stat .note{margin-top:10px;font-size:13px;color:var(--ink-soft);line-height:1.55}

/* ── Hero figure ── */
.hero-figure{margin:64px 0 0;padding:0 36px 60px;}
@media(max-width:760px){.hero-figure{padding:22px 22px}}
.hero-figure .frame{aspect-ratio:16/9;border-radius:8px;overflow:visible;position:relative;max-width:1320px;margin:0 auto;border:1px solid var(--rule)}
.hero-figure .frame img{width:100%;height:100%;object-fit:cover}
.hero-figure .caption{max-width:1320px;margin:14px auto 0;color:var(--mute);font-family:'Fraunces',serif;font-style:italic;font-size:14.5px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.hero-figure .caption b{font-style:normal;color:var(--ink-soft);font-family:'Inter';font-weight:500;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase}

/* ── Sticky horizontal TOC strip ── */
.toc-strip{position:sticky;top:61px;z-index:20;border-bottom:1px solid var(--rule);background:color-mix(in oklab, var(--paper) 92%, transparent);backdrop-filter:blur(10px);overflow-x:auto;scrollbar-width:none}
.toc-strip::-webkit-scrollbar{display:none}
.toc-strip-inner{display:flex;align-items:center;max-width:1180px;margin:0 auto;padding:0 36px}
@media(max-width:760px){.toc-strip-inner{padding:0 22px}}
.toc-label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-right:28px;flex-shrink:0;padding:14px 0;white-space:nowrap}
.toc-strip a{font-size:12px;color:var(--mute);padding:14px 22px 12px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap;flex-shrink:0;display:inline-block}
.toc-strip a:hover{color:var(--ink-soft)}
.toc-strip a.active{color:var(--ink);border-bottom-color:var(--accent)}

/* ── Article layout ── */
.article{max-width:1180px;margin:0 auto;padding:64px 36px 96px}
@media(max-width:760px){.article{padding:48px 22px 72px}}

/* ── Article body ── */
.body{font-family:'Fraunces',serif;font-weight:300;font-size:19px;line-height:1.72;color:var(--ink-soft)}
.body section{margin-bottom:54px;scroll-margin-top:96px}
.body h2{font-family:'Fraunces',serif;font-weight:400;font-size:36px;line-height:1.15;letter-spacing:-0.014em;color:var(--ink);margin:0 0 16px}
.body h2 em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--mute);font-weight:400}
.body h2 .num{display:none}
.body h3{font-family:'Fraunces',serif;font-weight:500;font-size:22px;color:var(--ink);margin:32px 0 8px;letter-spacing:-0.005em}
.body p{margin:0 0 18px}
.body p strong{color:var(--ink);font-weight:500}
.body p em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent-q)}
.body ul{padding:0;margin:0 0 22px;list-style:none}
.body ul li{padding:6px 0 6px 24px;position:relative}
.body ul li::before{content:"·";position:absolute;left:6px;top:6px;color:var(--accent);font-size:24px;line-height:1}
.pullquote{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;font-size:38px;line-height:1.18;color:var(--accent);margin:36px 0;padding:14px 0 14px 22px;border-left:2px solid var(--accent);letter-spacing:-0.005em}
.pullquote cite{display:block;margin-top:14px;font-family:'Inter';font-style:normal;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.fn{vertical-align:super;font-size:.7em;color:var(--accent);text-decoration:none;font-family:'Inter';font-feature-settings:'tnum';margin-left:1px}
.fn:hover{text-decoration:underline}
.callout{margin:30px 0;padding:22px 26px;border-left:2px solid var(--accent);background:var(--paper-2);border-radius:0 6px 6px 0}
.callout p{margin:0;font-family:'Inter',sans-serif;font-size:15px;color:var(--ink-soft);line-height:1.6}
.callout p b{color:var(--ink);font-weight:600}
.footnotes{margin-top:60px;padding-top:24px;border-top:1px solid var(--rule);font-family:'Inter',sans-serif;font-size:13.5px;color:var(--mute);line-height:1.65}
.footnotes ol{padding-left:18px;margin:0}
.footnotes ol li{margin-bottom:10px}
.footnotes b{color:var(--accent);font-weight:500;margin-right:4px}

/* ── Figures ── */
.figure{margin:36px 0;border-radius:8px;overflow:hidden;border:1px solid var(--rule);position:relative}
.figure .frame{aspect-ratio:16/10;position:relative;overflow:hidden}
.figure .frame img{width:100%;height:auto;}
.figure .frame::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:20px 20px;mix-blend-mode:overlay;pointer-events:none;z-index:1}
.figure.grad-dark .frame{background:linear-gradient(135deg,#3a3a40,#1a1a1f)}
.figure.grad-rei .frame{background:radial-gradient(circle at 30% 30%, #FF8A66 0%, #4d1c10 75%)}
.figure.grad-pilot .frame{background:linear-gradient(135deg,#A8B7C9 0%,#1c2730 80%)}
.figure.grad-ops .frame{background:linear-gradient(135deg,#3eb4ff 0%,#0a3a64 80%)}
.figure.grad-csa .frame{background:linear-gradient(135deg,#5BE3CB 0%,#0a3d36 80%)}
.figure.grad-timeline .frame{background:linear-gradient(135deg,#1B1E23 0%,#2A2E36 100%)}
.figure .caption{padding:14px 20px;background:var(--paper-2);color:var(--mute);font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:14.5px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--rule)}
.figure .caption b{font-style:normal;font-family:'Inter';font-weight:500;font-size:11px;color:var(--ink-soft);letter-spacing:.16em;text-transform:uppercase}

/* ── Image grid ── */
.img-grid{display:grid;gap:16px;margin:36px 0}
/*.img-grid.cols-2{grid-template-columns:1fr 1fr}
.img-grid.cols-3{grid-template-columns:1fr 1fr 1fr}*/
@media(max-width:760px){.img-grid.cols-2,.img-grid.cols-3{grid-template-columns:1fr}}
.img-grid img{border-radius:6px;border:1px solid var(--rule);width:100%}

/* Stop grid tracks from blowing out to intrinsic content size */
.img-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.img-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Make videos behave like the images in the grid */
.img-grid video {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
  border: 1px solid var(--rule);
}
.img-grid > div { min-width: 0; }   /* the wrapper divs around your videos */


/* ── Next case ── */
.next-case{border-top:1px solid var(--rule);padding:64px 36px 80px;background:var(--paper-2)}
@media(max-width:760px){.next-case{padding:48px 22px 60px}}
.next-case .inner{max-width:1180px;margin:0 auto}
.next-case .label{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.next-case h2{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(36px,5vw,72px);line-height:1.05;letter-spacing:-0.022em;margin:0 0 18px;color:var(--ink)}
.next-case h2 em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent);font-weight:400}
.next-case .row{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end}
@media(max-width:900px){.next-case .row{grid-template-columns:1fr;gap:24px}}
.next-case p{font-size:15px;line-height:1.65;color:var(--ink-soft);max-width:60ch;margin:0 0 22px}
.next-case .arrow{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent);font-size:26px;display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid var(--accent);padding-bottom:2px}
.next-case .pre{aspect-ratio:5/4;border-radius:8px;overflow:hidden;border:1px solid var(--rule);position:relative}
.next-case .pre::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:18px 18px;mix-blend-mode:overlay}
.next-case .pre.grad-transcarent{background:linear-gradient(135deg,#C47DD4 0%,#3A1052 80%)}
.next-case .pre.grad-accolade{background:linear-gradient(135deg,#7BB8E8 0%,#1a3a5e 80%)}
.next-case .pre.grad-plushcare{background:linear-gradient(135deg,#7DD4A6 0%,#0a3d26 80%)}
.next-case .pre.grad-pilot{background:linear-gradient(135deg,#A8B7C9 0%,#1c2730 80%)}
.next-case .pre.grad-ops{background:linear-gradient(135deg,#3eb4ff 0%,#0a3a64 80%)}
.next-case .pre.grad-csa{background:linear-gradient(135deg,#5BE3CB 0%,#0a3d36 80%)}
.next-case .pre.grad-rei{background:radial-gradient(circle at 30% 30%, #FF8A66 0%, #4d1c10 75%)}

/* ── Breadcrumb ── */
.crumb{padding:18px 36px 0;font-size:12px;color:var(--mute);letter-spacing:.04em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.crumb{padding:14px 22px 0}}
.crumb a:hover{color:var(--ink)}
.crumb .sep{opacity:.5}
.crumb b{color:var(--ink-soft);font-weight:500}

/* ── Footer (article) ── */
footer.site{padding:48px 36px;border-top:1px solid var(--rule);color:var(--mute);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
@media(max-width:760px){footer.site{padding:36px 22px}}
footer.site b{color:var(--ink-soft);font-weight:500}

/* ── Category pages ── */
.cat-hero{padding:80px 0 60px;border-bottom:1px solid var(--rule)}
.cat-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--rule);font-size:13px;color:var(--mute)}
@media(max-width:760px){.cat-meta{grid-template-columns:repeat(2,1fr);gap:18px}}
.cat-meta .label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;display:block;margin-bottom:6px}
.cat-meta b{color:var(--ink);font-weight:500;font-size:14.5px}
.cat-nav{display:flex;gap:16px;margin:48px 0 0;padding-top:48px;border-top:1px solid var(--rule)}
@media(max-width:760px){.cat-nav{flex-direction:column}}
.cat-link{flex:1;display:flex;flex-direction:column;gap:6px;padding:24px 28px;border:1px solid var(--rule);border-radius:6px;background:var(--paper-2);transition:border-color .2s,background .2s}
.cat-link:hover{border-color:var(--accent);background:var(--paper-3)}
.cat-link .label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.cat-link b{font-family:'Fraunces',serif;font-weight:400;font-size:22px;color:var(--ink);letter-spacing:-0.008em}

/* ── Process page ── */
.process-hero{padding:80px 0 60px;border-bottom:1px solid var(--rule)}
.process-phases{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule);margin:0;padding:0;border:1px solid var(--rule)}
@media(max-width:900px){.process-phases{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.process-phases{grid-template-columns:1fr}}
.phase{background:var(--paper);padding:40px 36px;position:relative;overflow:hidden}
.phase-num{font-family:'Fraunces',serif;font-weight:300;font-size:72px;color:var(--accent);opacity:.12;position:absolute;top:10px;right:20px;line-height:1;font-variant-numeric:tabular-nums}
.phase h3{font-family:'Fraunces',serif;font-weight:400;font-size:28px;letter-spacing:-0.01em;color:var(--ink);margin:0 0 18px;position:relative}
.phase h3 em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent);font-weight:400}
.phase ul{margin:0;padding:0;list-style:none;position:relative}
.phase ul li{font-size:14px;color:var(--mute);padding:5px 0 5px 18px;position:relative;border-bottom:1px solid var(--rule)}
.phase ul li:last-child{border:0}
.phase ul li::before{content:"·";position:absolute;left:2px;color:var(--accent);font-size:20px;line-height:1;top:5px}
.process-note{padding:60px 0;font-family:'Fraunces',serif;font-weight:300;font-size:clamp(22px,2vw,32px);line-height:1.5;color:var(--ink-soft);max-width:800px}
.process-note em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent);font-weight:400}

/* ── About page ── */
.about-hero{padding:80px 0 60px;border-bottom:1px solid var(--rule)}
.about-grid{display:grid;grid-template-columns:1fr 380px;gap:80px;padding:80px 0;align-items:start}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:48px}}
.about-body{font-family:'Fraunces',serif;font-weight:300;font-size:19px;line-height:1.72;color:var(--ink-soft)}
.about-body h2{font-family:'Fraunces',serif;font-weight:400;font-size:28px;color:var(--ink);margin:48px 0 12px;letter-spacing:-0.01em}
.about-body h2:first-child{margin-top:0}
.about-body p{margin:0 0 18px}
.about-body p strong{color:var(--ink);font-weight:500}
.about-body p em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent-q)}
.about-sidebar{font-size:13px;color:var(--mute)}
.about-sidebar .group{padding:18px 0;border-top:1px solid var(--rule)}
.about-sidebar .group:first-child{border-top:0;padding-top:0}
.about-sidebar .label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin-bottom:8px;font-weight:500;display:block}
.about-sidebar b{color:var(--ink-soft);font-weight:500}
.about-sidebar ul{margin:0;padding:0;list-style:none;line-height:1.9}
.about-photo{margin-top:24px;border-radius:6px;overflow:hidden;border:1px solid var(--rule);aspect-ratio:4/5;background:var(--paper-3)}
.about-photo img{width:100%;height:100%;object-fit:cover}

/* ── Login gate ── */
.gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px}
.gate-card{width:100%;max-width:420px}
.gate-card .mark{margin-bottom:48px;font-family:'Fraunces',serif;font-weight:500;font-size:21px;display:flex;align-items:center;gap:10px;color:var(--ink)}
.gate-card .mark em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent);font-weight:400}
.gate-card h2{font-family:'Fraunces',serif;font-weight:300;font-size:38px;line-height:1.1;letter-spacing:-0.018em;color:var(--ink);margin:0 0 10px}
.gate-card h2 em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent);font-weight:400}
.gate-card p{color:var(--mute);font-size:14px;line-height:1.6;margin:0 0 32px}
.gate-form label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.gate-form input[type=password]{width:100%;background:var(--paper-2);border:1px solid var(--rule);border-radius:6px;padding:13px 16px;font-size:16px;color:var(--ink);font-family:inherit;outline:none;transition:border-color .2s}
.gate-form input[type=password]:focus{border-color:var(--accent)}
.gate-form button{margin-top:14px;width:100%;background:var(--accent);color:#fff;border:0;border-radius:6px;padding:14px;font-size:15px;font-family:'Fraunces',serif;font-weight:500;cursor:pointer;transition:opacity .2s}
.gate-form button:hover{opacity:.88}
.gate-error{margin-top:14px;font-size:13px;color:var(--accent);text-align:center}
.gate-note{margin-top:24px;font-size:12px;color:var(--mute);line-height:1.65;border-top:1px solid var(--rule);padding-top:18px}
.gate-note a{color:var(--ink-soft);border-bottom:1px solid var(--rule)}
.gate-note a:hover{color:var(--accent)}


