/* ============================================================
   nescimus.de – stylesheet
   Lab-notebook aesthetic · Indigo + acid yellow · Latin restraint
   Day/Night theme via [data-theme] on <html>
   ============================================================ */

@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/instrument-serif-regular.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/instrument-serif-italic.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/inter-regular.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/inter-medium.woff2") format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/jetbrains-mono-regular.woff2") format("woff2")}

:root{
  --acid:#E6FF3D;
  --alarm:#D85A30;
  --serif:"Instrument Serif", "Iowan Old Style", "Charter", Georgia, serif;
  --sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --container:1200px;
  --pad:clamp(20px, 4vw, 48px);
}

html[data-theme="day"]{
  --ink:#0B0F1A;
  --indigo:#1A2238;
  --indigo-soft:#222B45;
  --paper:#F4F2EC;
  --paper-warm:#EAE7DD;
  --surface-0:#F4F2EC;
  --surface-1:#EAE7DD;
  --surface-2:#0B0F1A;
  --text-strong:#0B0F1A;
  --text-body:#1A2238;
  --text-mute:#73726C;
  --text-mute-soft:#9B9DA8;
  --rule:rgba(11,15,26,.12);
  --rule-strong:rgba(11,15,26,.32);
  --on-surface-2-strong:#F4F2EC;
  --on-surface-2-body:#9B9DA8;
  --on-surface-2-mute:#73726C;
  --on-surface-2-rule:rgba(244,242,236,.12);
  --on-surface-2-rule-strong:rgba(244,242,236,.32);
  --header-bg:color-mix(in oklab, #F4F2EC 88%, transparent);
  --acid-on-text:#0B0F1A;
  --mute:#73726C;
  --mute-soft:#9B9DA8;
}

html[data-theme="night"]{
  --ink:#F4F2EC;
  --indigo:#D8D6CC;
  --indigo-soft:#9B9DA8;
  --paper:#0B0F1A;
  --paper-warm:#13182A;
  --surface-0:#0B0F1A;
  --surface-1:#13182A;
  --surface-2:#070A12;
  --text-strong:#F4F2EC;
  --text-body:#D8D6CC;
  --text-mute:#9B9DA8;
  --text-mute-soft:#73726C;
  --rule:rgba(244,242,236,.10);
  --rule-strong:rgba(244,242,236,.24);
  --on-surface-2-strong:#F4F2EC;
  --on-surface-2-body:#9B9DA8;
  --on-surface-2-mute:#73726C;
  --on-surface-2-rule:rgba(244,242,236,.10);
  --on-surface-2-rule-strong:rgba(244,242,236,.24);
  --header-bg:color-mix(in oklab, #0B0F1A 88%, transparent);
  --acid-on-text:#F4F2EC;
  --mute:#9B9DA8;
  --mute-soft:#73726C;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{margin:0;background:var(--surface-0);color:var(--text-strong);font-family:var(--sans);font-size:17px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s ease, color .3s ease}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.container{max-width:var(--container);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);font-weight:400}
.eyebrow .file{color:var(--alarm)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);border-bottom:.5px solid var(--rule)}
.header-row{display:flex;align-items:center;justify-content:space-between;height:64px;gap:14px}
.header-right{display:flex;align-items:center;gap:10px}
.wordmark{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--text-strong)}
.wordmark .glyph{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--alarm);text-transform:uppercase}
.wordmark .name{font-family:var(--serif);font-size:26px;line-height:1;font-style:italic}
.wordmark .name::after{content:".";color:var(--alarm);font-style:normal}
.header-cta{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:.5px solid var(--rule-strong);border-radius:6px;background:transparent;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--text-strong);text-decoration:none;cursor:pointer;transition:background .15s ease, border-color .15s ease, color .15s ease}
.header-cta:hover{background:var(--text-strong);color:var(--surface-0);border-color:var(--text-strong)}
.header-cta .price{font-family:var(--mono);font-size:12px;color:var(--text-mute)}
.header-cta:hover .price{color:var(--acid)}

.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:.5px solid var(--rule-strong);background:transparent;cursor:pointer;color:var(--text-strong);transition:background .15s ease, border-color .15s ease, transform .2s ease;padding:0}
.theme-toggle:hover{background:var(--text-strong);color:var(--surface-0);border-color:var(--text-strong)}
.theme-toggle:active{transform:scale(.94)}
.theme-toggle svg{width:16px;height:16px;display:block}
.theme-toggle .icon-sun{display:none}
.theme-toggle .icon-moon{display:block}
html[data-theme="day"] .theme-toggle .icon-sun{display:block}
html[data-theme="day"] .theme-toggle .icon-moon{display:none}

.hero{padding:clamp(72px, 10vw, 144px) 0 clamp(64px, 8vw, 112px);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 25%, rgba(230,255,61,.08), transparent 35%),radial-gradient(circle at 85% 75%, rgba(216,90,48,.04), transparent 40%);pointer-events:none}
.hero .container{position:relative}
.hero-meta{display:flex;align-items:center;gap:14px;margin-bottom:36px;flex-wrap:wrap}
.hero-meta .doc-id{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute)}
.hero-meta .doc-id b{color:var(--text-strong);font-weight:400}
.hero-meta .ribbon{display:inline-flex;align-items:center;gap:8px;padding:5px 11px;border-radius:999px;background:var(--text-strong);color:var(--surface-0);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.hero-meta .ribbon::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 3px rgba(230,255,61,.18)}
.hero h1{margin:0 0 clamp(32px, 4vw, 48px);font-family:var(--serif);font-weight:400;font-size:clamp(44px, 7.4vw, 96px);line-height:1.0;letter-spacing:-.02em;color:var(--text-strong);max-width:18ch}

/* Acid highlight – uses --acid-on-text so the text on yellow follows theme.
   Day: dark text on yellow. Night: paper-white text on yellow. */
.hero h1 .acid{background:linear-gradient(transparent 90%, var(--acid) 90%);padding:0 .12em;color:var(--acid-on-text)}
.section h2 .acid{background:linear-gradient(transparent 60%, var(--acid) 60%);padding:0 .1em;color:var(--acid-on-text)}
.section--ink h2 .acid{background:linear-gradient(transparent 60%, rgba(230,255,61,.45) 60%);color:var(--on-surface-2-strong)}
.graph h2 .acid{background:linear-gradient(transparent 60%, rgba(230,255,61,.45) 60%);padding:0 .1em;color:var(--on-surface-2-strong)}

.hero h1 em{font-style:italic;color:var(--alarm)}
.hero-grid{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 360px);gap:clamp(32px, 5vw, 80px);align-items:end}
@media (max-width:880px){.hero-grid{grid-template-columns:1fr;gap:48px}}
.hero-sub{max-width:60ch;font-size:clamp(17px, 1.6vw, 19px);line-height:1.55;color:var(--text-body);margin:0 0 36px}
.hero-sub em{font-family:var(--serif);font-style:italic;font-size:1.05em}
.hero-cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero-side{border-left:.5px solid var(--rule-strong);padding-left:clamp(20px, 2.5vw, 32px);font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--text-mute)}
@media (max-width:880px){.hero-side{border-left:none;border-top:.5px solid var(--rule-strong);padding:24px 0 0}}
.hero-side dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-strong);margin-top:14px}
.hero-side dt:first-child{margin-top:0}
.hero-side dd{margin:4px 0 0;color:var(--text-body);font-family:var(--sans);font-size:14px}
.hero-etymology{margin-top:clamp(56px, 6vw, 88px);padding-top:24px;border-top:.5px solid var(--rule);max-width:48ch}
.hero-etymology .label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);margin-bottom:10px}
.hero-etymology p{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--text-body);margin:0;font-style:italic}
.hero-etymology p b{color:var(--text-strong);font-weight:400;font-style:normal;font-family:var(--mono);font-size:14px;letter-spacing:.04em}

.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:6px;font-family:var(--sans);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;border:.5px solid transparent;transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--text-strong);color:var(--surface-0)}
.btn-primary:hover{background:var(--indigo-soft)}
.btn-primary .arrow{font-family:var(--mono);font-size:13px}
.btn-secondary{background:transparent;color:var(--text-strong);border-color:var(--rule-strong)}
.btn-secondary:hover{background:var(--text-strong);color:var(--surface-0);border-color:var(--text-strong)}

section.section{padding:clamp(72px, 9vw, 128px) 0}
section.section--paper{background:var(--surface-0)}
section.section--warm{background:var(--surface-1);border-top:.5px solid var(--rule);border-bottom:.5px solid var(--rule)}
section.section--ink{background:var(--surface-2);color:var(--on-surface-2-strong)}
section.section--ink .eyebrow{color:var(--on-surface-2-body)}
section.section--ink .eyebrow .file{color:var(--acid)}
.section h2{margin:14px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(34px, 4.8vw, 56px);line-height:1.04;letter-spacing:-.015em;max-width:24ch}
.section h2 em{font-style:italic;color:var(--alarm)}
.section--ink h2{color:var(--on-surface-2-strong)}
.section--ink h2 em{color:var(--acid)}
.section .head-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(24px, 4vw, 64px);align-items:end;margin-bottom:48px}
@media (max-width:840px){.section .head-grid{grid-template-columns:1fr}}
.section .head-grid .lede{font-size:17px;line-height:1.65;color:var(--text-body);max-width:54ch}
.section--ink .head-grid .lede{color:var(--on-surface-2-body)}
.section .head-grid .lede em{font-family:var(--serif);font-style:italic}

.polaroid{background:var(--surface-1);padding:clamp(72px, 9vw, 128px) 0;border-top:.5px solid var(--rule);border-bottom:.5px solid var(--rule);position:relative;overflow:hidden}
.polaroid-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px, 6vw, 96px);align-items:center;max-width:1080px;margin:0 auto}
@media (max-width:840px){.polaroid-grid{grid-template-columns:1fr;gap:48px}}
.polaroid-frame{position:relative;background:#F4F2EC;padding:24px 24px 60px;border-radius:2px;box-shadow:0 30px 60px -20px rgba(0,0,0,.45),0 12px 24px -10px rgba(0,0,0,.30);transform:rotate(-2.4deg);transition:transform .4s ease;max-width:380px;margin:0 auto;font-family:var(--mono)}
.polaroid-frame:hover{transform:rotate(-1deg) scale(1.02)}
.polaroid-photo{aspect-ratio:1;background:linear-gradient(135deg, #2a3045 0%, #4a5275 50%, #8a9dc1 100%);position:relative;overflow:hidden;border-radius:1px}
.polaroid-photo::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 30% 40%, rgba(230,255,61,.15), transparent 50%),radial-gradient(circle at 70% 70%, rgba(255,255,255,.12), transparent 40%)}
.polaroid-photo svg{position:absolute;inset:0;width:100%;height:100%}
.polaroid-caption{margin-top:18px;font-family:var(--serif);font-size:15px;color:#1A2238;font-style:italic;line-height:1.4;text-align:center;letter-spacing:.01em}
.polaroid-caption b{display:block;font-family:var(--mono);font-style:normal;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#73726C;margin-top:4px}
.polaroid-text h2{margin:14px 0 24px;font-family:var(--serif);font-weight:400;font-size:clamp(32px, 4.4vw, 48px);line-height:1.05;letter-spacing:-.015em;color:var(--text-strong)}
.polaroid-text h2 em{font-style:italic;color:var(--alarm)}
.polaroid-text p{font-size:16.5px;line-height:1.7;color:var(--text-body);margin:0 0 16px;max-width:54ch}
.polaroid-text p:last-child{margin-bottom:0}
.polaroid-text strong{color:var(--text-strong);font-weight:500}
.polaroid-quote{margin:24px 0;padding:18px 22px;background:var(--surface-0);border-left:3px solid var(--alarm);border-radius:0 8px 8px 0;font-family:var(--serif);font-size:1.2em;line-height:1.4;font-style:italic;color:var(--text-strong)}
.polaroid-quote cite{display:block;margin-top:10px;font-family:var(--mono);font-size:11.5px;font-style:normal;letter-spacing:.04em;color:var(--text-mute)}

.graph{background:var(--surface-2);color:var(--on-surface-2-strong);padding:clamp(80px, 10vw, 144px) 0;position:relative;overflow:hidden}
.graph::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right, rgba(244,242,236,.04) 1px, transparent 1px),linear-gradient(to bottom, rgba(244,242,236,.04) 1px, transparent 1px);background-size:64px 64px;pointer-events:none}
.graph .container{position:relative}
.graph-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px, 5vw, 80px);align-items:center}
@media (max-width:840px){.graph-grid{grid-template-columns:1fr}}
.graph .eyebrow{color:var(--acid)}
.graph h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px, 5vw, 60px);line-height:1.02;letter-spacing:-.015em;margin:14px 0 24px;max-width:18ch;color:var(--on-surface-2-strong)}
.graph p{font-size:17px;line-height:1.6;color:var(--on-surface-2-body);max-width:50ch;margin:0 0 18px}
.graph p strong{color:var(--on-surface-2-strong);font-weight:400;font-family:var(--serif);font-style:italic;font-size:1.05em}
.graph-legend{margin-top:24px;padding-top:24px;border-top:.5px solid var(--on-surface-2-rule-strong);display:grid;grid-template-columns:1fr 1fr;gap:18px;font-family:var(--mono);font-size:11.5px;color:var(--on-surface-2-body)}
.graph-legend .item{display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:start}
.graph-legend .dot{width:10px;height:10px;border-radius:50%;margin-top:4px}
.graph-legend .dot.known{background:#9B9DA8}
.graph-legend .dot.edge{background:var(--acid);box-shadow:0 0 0 3px rgba(230,255,61,.18)}
.iggraph{position:relative;aspect-ratio:1;width:100%;max-width:480px;margin-left:auto}
.iggraph svg{width:100%;height:100%;display:block}

.deliverable{padding:clamp(72px, 9vw, 128px) 0}
.deliverable-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:0;border-top:.5px solid var(--rule-strong);border-bottom:.5px solid var(--rule-strong)}
.deliverable-item{padding:32px 28px;border-right:.5px solid var(--rule);display:flex;flex-direction:column;gap:14px;min-height:240px;position:relative}
.deliverable-item:last-child{border-right:none}
@media (max-width:1100px){
  .deliverable-grid{grid-template-columns:1fr 1fr}
  .deliverable-item:nth-child(2n){border-right:none}
  .deliverable-item:not(:nth-last-child(-n+2)){border-bottom:.5px solid var(--rule)}
}
@media (max-width:680px){
  .deliverable-grid{grid-template-columns:1fr}
  .deliverable-item{border-right:none;border-bottom:.5px solid var(--rule)}
  .deliverable-item:last-child{border-bottom:none}
}
.deliverable-item .step{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--alarm)}
.deliverable-item .num{font-family:var(--serif);font-size:48px;line-height:1;color:var(--text-strong);letter-spacing:-.02em;margin-top:6px}
.deliverable-item h3{font-family:var(--sans);font-size:17px;font-weight:500;line-height:1.3;color:var(--text-strong);margin:0}
.deliverable-item p{margin:0;font-size:14.5px;line-height:1.6;color:var(--text-mute);margin-top:auto}

.offer{padding:clamp(72px, 9vw, 128px) 0;background:var(--surface-1);border-top:.5px solid var(--rule);border-bottom:.5px solid var(--rule)}
.offer-card{display:grid;grid-template-columns:1.4fr 1fr;gap:0;background:var(--surface-0);border:.5px solid var(--rule-strong);border-radius:14px;overflow:hidden;max-width:1080px;margin:0 auto}
@media (max-width:840px){.offer-card{grid-template-columns:1fr}}
.offer-meta{padding:clamp(36px, 4vw, 56px)}
.offer-meta h2{margin:14px 0 24px;max-width:24ch;font-size:clamp(32px, 4.2vw, 48px);color:var(--text-strong)}
.offer-meta dl{display:grid;grid-template-columns:auto 1fr;gap:14px 32px;font-size:15px;margin:0}
.offer-meta dt{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);align-self:start;padding-top:2px}
.offer-meta dd{margin:0;color:var(--text-strong);line-height:1.5}
.offer-card-pricing{padding:clamp(36px, 4vw, 56px);background:var(--surface-2);color:var(--on-surface-2-strong);display:flex;flex-direction:column;gap:24px}
.offer-card-pricing .label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acid)}
.offer-card-pricing .price{font-family:var(--serif);font-size:clamp(48px, 6.4vw, 72px);line-height:.95;letter-spacing:-.02em;margin:0;color:var(--on-surface-2-strong)}
.offer-card-pricing .price small{font-size:.32em;color:var(--on-surface-2-body);margin-left:8px;font-family:var(--mono);letter-spacing:.04em;vertical-align:middle}
.offer-card-pricing .what{font-family:var(--serif);font-size:18px;line-height:1.35;color:var(--on-surface-2-strong);margin:0;font-style:italic}
.offer-card-pricing .features{margin:auto 0 0;list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--on-surface-2-body)}
.offer-card-pricing .features li{display:grid;grid-template-columns:18px 1fr;gap:10px;line-height:1.5}
.offer-card-pricing .features li::before{content:"+";color:var(--acid);font-family:var(--mono);font-weight:500;text-align:center}

.dimensions{padding:clamp(72px, 9vw, 128px) 0}
.dimensions-content{max-width:780px;margin:0 auto}
.dimensions-content h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px, 4.6vw, 52px);line-height:1.04;letter-spacing:-.01em;margin:14px 0 32px;max-width:24ch;color:var(--text-strong)}
.dimensions-content p{font-size:17px;line-height:1.65;color:var(--text-body);margin:0 0 24px;max-width:64ch}
.dimensions-content p em{font-family:var(--serif);font-style:italic;color:var(--text-strong)}
.dimensions-confidentiality{font-family:var(--mono);font-size:13px;color:var(--text-mute);margin-top:-12px;margin-bottom:32px;line-height:1.6}
.dimensions-confidentiality em{font-family:var(--serif);font-style:italic;color:var(--text-strong)}
.dim-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:0;border-top:.5px solid var(--rule-strong);margin-top:32px}
.dim{padding:18px 0 16px;border-bottom:.5px solid var(--rule);display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:baseline}
.dim:nth-child(odd){padding-right:24px;border-right:.5px solid var(--rule)}
@media (max-width:680px){.dim{padding-right:0}.dim:nth-child(odd){border-right:none}}
.dim .idx{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--alarm)}
.dim .label{font-family:var(--sans);font-size:14.5px;color:var(--text-strong);line-height:1.4}
.dimensions-foot{margin-top:32px;font-family:var(--mono);font-size:12px;color:var(--text-mute);line-height:1.6;font-style:normal}
.dimensions-foot em{color:var(--text-strong);font-family:var(--serif);font-style:italic;font-size:1.05em}

.continuation{padding:clamp(72px, 9vw, 128px) 0;background:var(--surface-0)}
.continuation-content{max-width:880px;margin:0 auto}
.continuation-content h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px, 4.6vw, 52px);line-height:1.04;letter-spacing:-.01em;margin:14px 0 24px;max-width:24ch;color:var(--text-strong)}
.continuation-content .lede{font-size:17px;line-height:1.65;color:var(--text-body);max-width:60ch;margin:0 0 40px}
.continuation-content .lede em{font-family:var(--serif);font-style:italic;color:var(--text-strong)}
.steps{margin:0;padding:0;list-style:none;border-top:.5px solid var(--rule-strong)}
.steps > li{padding:24px 0;border-bottom:.5px solid var(--rule);display:grid;grid-template-columns:80px 1fr;gap:24px;align-items:start}
@media (max-width:560px){.steps > li{grid-template-columns:60px 1fr;gap:16px}}
.step-num{font-family:var(--serif);font-size:36px;line-height:.9;color:var(--alarm);letter-spacing:-.02em}
.step-detail h3{margin:0 0 6px;font-family:var(--sans);font-size:17px;font-weight:500;color:var(--text-strong);line-height:1.35}
.step-detail p{margin:0;font-size:15px;line-height:1.55;color:var(--text-mute)}

.author{padding:clamp(72px, 9vw, 128px) 0;background:var(--surface-1);border-top:.5px solid var(--rule);border-bottom:.5px solid var(--rule)}
.author-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(32px, 5vw, 80px);align-items:start;max-width:1080px;margin:0 auto}
@media (max-width:840px){.author-grid{grid-template-columns:1fr}}
.author-photo{position:relative}
.author-photo .pic{aspect-ratio:1;border-radius:50%;overflow:hidden;border:.5px solid var(--rule-strong);background:var(--surface-0);max-width:280px;margin:0 0 24px}
.author-photo .pic img{width:100%;height:100%;object-fit:cover}
.author-photo .credentials{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--text-mute);line-height:1.7;display:flex;flex-direction:column;gap:6px}
.author-photo .credentials b{color:var(--text-strong);font-weight:400}
.author-text h2{margin:14px 0 24px;font-family:var(--serif);font-weight:400;font-size:clamp(32px, 4vw, 48px);line-height:1.06;letter-spacing:-.01em;max-width:22ch;color:var(--text-strong)}
.author-text h2 em{font-style:italic;color:var(--alarm)}
.author-text p{font-size:16.5px;line-height:1.7;color:var(--text-body);margin:0 0 16px;max-width:62ch}
.author-text p em{font-family:var(--serif);font-style:italic;color:var(--text-strong)}
.author-text p strong{color:var(--text-strong);font-weight:500}
.author-text .lineage{margin-top:32px;padding-top:24px;border-top:.5px solid var(--rule);display:flex;flex-wrap:wrap;gap:12px 18px;font-family:var(--mono);font-size:11.5px;color:var(--text-mute);align-items:center}
.author-text .lineage span{display:inline-flex;align-items:center;padding:6px 12px;background:var(--surface-0);border:.5px solid var(--rule);border-radius:999px}

.faq{padding:clamp(72px, 9vw, 128px) 0}
.faq-content{max-width:880px;margin:0 auto}
.faq-content h2{font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(34px, 4.6vw, 52px);line-height:1.04;letter-spacing:-.01em;margin:14px 0 48px;max-width:22ch;color:var(--text-strong)}
.faq-list{border-top:.5px solid var(--rule-strong)}
details.qa{border-bottom:.5px solid var(--rule);padding:24px 0}
details.qa summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:48px 1fr 28px;gap:18px;align-items:start;font-family:var(--serif);font-size:clamp(20px, 2vw, 24px);line-height:1.3;color:var(--text-strong)}
details.qa summary::-webkit-details-marker{display:none}
details.qa summary .num{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--text-mute);text-transform:uppercase;padding-top:8px}
details.qa summary .toggle{font-family:var(--mono);font-size:18px;color:var(--alarm);text-align:right;padding-top:4px;transition:transform .2s ease}
details.qa[open] summary .toggle{transform:rotate(45deg)}
details.qa .answer{margin-top:14px;padding-left:66px;font-size:16px;line-height:1.7;color:var(--text-body);max-width:64ch}
@media (max-width:560px){details.qa .answer{padding-left:0}}
details.qa .answer p{margin:0 0 12px}
details.qa .answer p:last-child{margin-bottom:0}
details.qa .answer em{font-family:var(--serif);font-style:italic;color:var(--text-strong)}

.final-section{padding:clamp(72px, 9vw, 128px) 0 clamp(48px, 6vw, 80px);background:var(--surface-2);color:var(--on-surface-2-strong)}
.final-cta{max-width:980px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(32px, 4vw, 64px);align-items:center}
@media (max-width:760px){.final-cta{grid-template-columns:1fr}}
.final-cta h3{font-family:var(--serif);font-weight:400;font-size:clamp(32px, 4.4vw, 52px);line-height:1.02;letter-spacing:-.015em;margin:0 0 16px;color:var(--on-surface-2-strong)}
.final-cta h3 em{font-style:italic;color:var(--acid)}
.final-cta p{font-size:16px;line-height:1.65;color:var(--on-surface-2-body);margin:0;max-width:46ch}
.final-cta-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.final-cta-actions .btn-primary{background:var(--acid);color:#0B0F1A}
.final-cta-actions .btn-primary:hover{background:#F4F2EC;color:#0B0F1A}
.final-cta-actions .btn-secondary{color:var(--on-surface-2-strong);border-color:var(--on-surface-2-rule-strong)}
.final-cta-actions .btn-secondary:hover{background:var(--on-surface-2-strong);color:var(--surface-2);border-color:var(--on-surface-2-strong)}

.site-footer{padding:48px 0 32px;background:var(--surface-2);color:var(--on-surface-2-strong);border-top:.5px solid var(--on-surface-2-rule)}
.footer-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;color:var(--on-surface-2-mute);line-height:1.7}
.footer-row a{color:var(--on-surface-2-body);text-decoration:none;border-bottom:.5px solid rgba(155,157,168,.2);transition:color .15s ease,border-color .15s ease}
.footer-row a:hover{color:var(--acid);border-color:rgba(230,255,61,.4)}
.footer-row .left{max-width:380px}
.footer-row .left b{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--on-surface-2-strong);font-weight:400;display:block;margin-bottom:8px}
.footer-row .right{display:flex;gap:18px;flex-wrap:wrap}
.footer-legal{margin-top:24px;padding-top:24px;border-top:.5px solid var(--on-surface-2-rule);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--on-surface-2-mute);letter-spacing:.04em}
.footer-legal nav{display:flex;gap:18px;flex-wrap:wrap}
.footer-legal a{color:var(--on-surface-2-mute);text-decoration:none;border-bottom:.5px solid transparent;transition:color .15s ease,border-color .15s ease}
.footer-legal a:hover{color:var(--acid);border-bottom-color:rgba(230,255,61,.4)}

.cookie-banner{position:fixed;left:max(20px, env(safe-area-inset-left));right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));z-index:100;max-width:580px;margin-left:auto;background:#0B0F1A;color:#F4F2EC;border:.5px solid rgba(244,242,236,.18);border-radius:12px;padding:20px 22px;box-shadow:0 24px 60px -20px rgba(0,0,0,.55),0 8px 24px -10px rgba(0,0,0,.4);display:none;animation:cookieRise .35s ease both}
.cookie-banner[data-state="visible"]{display:block}
@keyframes cookieRise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.cookie-banner .eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--acid);margin-bottom:8px}
.cookie-banner p{margin:0 0 16px;font-size:13.5px;line-height:1.55;color:#9B9DA8}
.cookie-banner p a{color:#F4F2EC;border-bottom:.5px solid rgba(244,242,236,.4);text-decoration:none}
.cookie-banner p a:hover{color:var(--acid);border-color:rgba(230,255,61,.5)}
.cookie-banner-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-banner-actions button{font-family:var(--sans);font-size:13px;font-weight:500;padding:10px 18px;border-radius:6px;cursor:pointer;border:.5px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}
.cookie-banner-actions .accept{background:var(--acid);color:#0B0F1A;border-color:var(--acid)}
.cookie-banner-actions .accept:hover{background:#F4F2EC;border-color:#F4F2EC}
.cookie-banner-actions .decline{background:transparent;color:#F4F2EC;border-color:rgba(244,242,236,.32)}
.cookie-banner-actions .decline:hover{background:#F4F2EC;color:#0B0F1A;border-color:#F4F2EC}
@media (max-width:520px){.cookie-banner{left:12px;right:12px;bottom:12px;padding:18px}}

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