/* 01. Design tokens */
:root{--plum:#2b2638;--blue:#445f78;--rose:#a85e68;--teal:#397d79;--ochre:#c69843;--lavender:#eae6ef;--powder:#e5edf2;--pale:#e4efec;--paper:#f8f3e8;--rose-wash:#f1e4e5;--graphite:#34353a;--muted:#777981;--white:#fff;--font-editorial:Georgia,Cambria,"Times New Roman",Times,serif;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;--fs-sm:.78rem;--fs-body:1rem;--fs-h3:clamp(1.25rem,2vw,1.6rem);--fs-h2:clamp(2rem,4vw,3.6rem);--fs-h1:clamp(2.65rem,6.8vw,6rem);--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:clamp(3rem,7vw,6rem);--container:1200px;--border:1px solid rgba(43,38,56,.18);--radius:14px;--shadow:0 14px 38px rgba(43,38,56,.09);--transition:220ms ease}
/* 02. Reset */
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p{margin:0}img{display:block;max-width:100%}button,input{font:inherit}a{color:inherit}
/* 03. Base */
body{background:var(--paper);color:var(--graphite);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.65;overflow-x:hidden}.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}.section{padding:var(--space-lg) 0}.alt{background:var(--white)}article{min-width:0}
/* 04. Accessibility */
.skip-link{position:fixed;z-index:1000;top:.5rem;left:.5rem;padding:.75rem 1rem;background:var(--ochre);color:var(--plum);transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--ochre);outline-offset:4px}#main:focus{outline:0}[hidden]{display:none!important}
/* 05. Typography */
h1,h2,h3{font-family:var(--font-editorial);color:var(--plum);font-weight:500;line-height:1.08}h1{font-size:var(--fs-h1);max-width:1050px;letter-spacing:-.045em}h1 em{color:var(--rose);font-style:italic}h2{font-size:var(--fs-h2);max-width:900px;letter-spacing:-.025em;margin-bottom:var(--space-md)}h3{font-size:var(--fs-h3)}.eyebrow,.technical,.field,article>span,.profile small{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.13em;font-weight:700}.eyebrow{color:var(--rose);margin-bottom:1rem}.lede{font-size:1.16rem;max-width:850px}
/* 06. Layout */
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:.8rem 1.15rem;border:1px solid var(--plum);font-weight:650}.primary{background:var(--plum);color:var(--white)}.secondary{background:transparent;color:var(--plum)}.button:hover{transform:translateY(-2px)}
/* 07. Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(248,243,232,.96);border-bottom:var(--border)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand img{width:290px}.site-header nav{display:flex;align-items:center;gap:1.1rem}.site-header nav a{text-decoration:none;font-size:.82rem;font-weight:650}.nav-cta{padding:.55rem .8rem;border:1px solid var(--plum)}.menu-toggle{display:none;background:none;border:0;padding:.7rem}.menu-toggle span{display:block;width:24px;height:2px;background:var(--plum);margin:5px}
/* 08. Hero */
.hero{padding:clamp(3rem,7vw,6.5rem) 0 0}.hero-intro{display:grid;grid-template-columns:minmax(0,640px) auto;justify-content:space-between;align-items:end;gap:2rem;margin:2rem 0 3rem}.hero-intro>p{font-size:1.15rem}.hero-intro small{font-family:var(--font-mono);color:var(--muted)}
/* 09. Evidence canvas */
.evidence-canvas{position:relative;display:grid;grid-template-columns:1.05fr .9fr 1.05fr;gap:1px;background:rgba(255,255,255,.35);border:var(--border);box-shadow:var(--shadow);padding-top:3.5rem}.technical{position:absolute;top:1rem;left:1.25rem;color:var(--muted)}.canvas-note{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:2rem;background:var(--plum);color:var(--white);padding:1.25rem 1.5rem}.canvas-note strong{font-family:var(--font-mono);color:var(--ochre);font-size:.8rem}.triad{padding:1.5rem;min-height:370px;background:var(--paper)}.triad p{margin-top:1rem}.triad small{color:var(--muted)}
/* 10. Evidence triads */
.triad-graphic{height:180px;position:relative;margin:1.3rem 0;border-bottom:1px dashed currentColor}.triad-graphic span,.triad-graphic b,.triad-graphic i{position:absolute;font:700 .66rem var(--font-mono);letter-spacing:.06em}.triad-graphic span::before,.triad-graphic b::before,.triad-graphic i::before{content:"";display:block;width:10px;height:10px;background:currentColor;border-radius:50%;margin-bottom:4px}.triad-graphic span:nth-child(1){top:10px;left:4%}.triad-graphic span:nth-child(2){top:92px;left:12%}.triad-graphic span:nth-child(3){top:30px;left:48%}.triad-graphic b{top:92px;left:55%;color:var(--ochre)}.triad-graphic b::before{border-radius:0}.triad-graphic i{right:0;bottom:8px;font-style:normal;color:var(--plum)}.triad-graphic::before{content:"";position:absolute;width:67%;height:95px;left:8%;top:28px;border-right:1px solid;border-bottom:1px solid;transform:skewX(-28deg);opacity:.38}.ethics{--accent:var(--rose)}.harm{--accent:var(--blue)}.education{--accent:var(--teal)}.triad .field,.profile small{color:var(--accent)}
/* 11. Claim strip */
.claim-strip{background:var(--plum);color:var(--white);padding:3.5rem 0}.claim-strip h2{color:var(--white)}.claim-strip>div>div{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.claim-strip span{border-top:1px solid rgba(255,255,255,.3);padding-top:.8rem}
/* 12. Evidence fields */
.field-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--border);border-left:var(--border)}.field-grid article{padding:1.5rem;border-right:var(--border);border-bottom:var(--border)}.field-grid article>span,.steps span,.principles span{color:var(--ochre)}.field-grid h3{margin:1.5rem 0 1rem}.field-grid small{display:block;color:var(--muted);margin-top:1rem}
/* 13. Interpretations */
.interpretations{display:grid;gap:2rem}.interpretations article{display:grid;grid-template-columns:150px 1fr 1fr;gap:2rem;border-top:2px solid var(--plum);padding:1.7rem 0}.interpretations blockquote{font-family:var(--font-editorial);font-size:1.25rem;color:var(--plum);margin:0;border-left:3px solid var(--ochre);padding-left:1rem}
/* 14. Reasoning method */
.steps{display:grid;grid-template-columns:1fr 1fr;position:relative;border:var(--border)}.steps article{padding:2rem;min-height:180px;border-bottom:var(--border)}.steps article:nth-child(odd){border-right:var(--border)}.steps h3{margin:.6rem 0}.steps::after{content:"";position:absolute;inset:10% 49%;border-left:1px dashed var(--ochre);pointer-events:none}
/* 15. Checklist */
.checklist{margin-top:3rem;background:var(--lavender);padding:clamp(1.5rem,4vw,3rem)}.checklist ul{columns:3;column-gap:3rem;padding-left:1.2rem}.checklist li{break-inside:avoid;margin-bottom:.75rem}
/* 16. Researchers */
.contact-note{border-left:3px solid var(--ochre);padding:1rem 1.25rem;margin:2rem 0;background:var(--paper)}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(43,38,56,.16);border:var(--border)}.profile{background:var(--white);padding:1.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;border-top:5px solid var(--accent)}.profile:nth-child(2),.profile:nth-child(5){transform:translateY(1.5rem)}.avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--accent);color:var(--white);font-family:var(--font-mono)}.profile .tags{color:var(--muted);font-size:.9rem}.profile b{font-family:var(--font-mono);font-size:.78rem}.profile>a{overflow-wrap:anywhere}.copy-email{border:1px solid var(--accent);background:transparent;padding:.5rem .75rem;cursor:pointer}.copy-status{min-height:1.5rem;color:var(--teal);font-weight:700}
/* 17. Independence */
.independence{margin-top:4rem;padding:2.5rem;background:var(--plum);color:var(--white);display:grid;grid-template-columns:1fr repeat(3,1fr);gap:2rem}.independence h3{color:var(--white)}
/* 18. Case notes */
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.case{background:var(--white);border:var(--border)}details{height:100%}summary{padding:1.5rem;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary::after{content:"+";float:right;font-size:1.5rem}details[open] summary::after{content:"−"}summary h3{margin:.5rem 0}details>p,details>span{display:block;padding:0 1.5rem 1.25rem}details>span{font-family:var(--font-mono);font-size:.75rem;color:var(--teal)}.no-results{text-align:center;padding:3rem;border:var(--border)}
/* 19. Search */
.search{margin:2.5rem 0;padding:1.5rem;background:var(--powder)}.search label{display:block;font-weight:700;margin-bottom:.5rem}.search>div{display:flex}.search input{width:100%;padding:.9rem 1rem;border:1px solid var(--blue);background:var(--white)}.search button{border:0;background:var(--blue);color:var(--white);padding:0 1rem}.search>p{margin-top:.5rem;font-family:var(--font-mono);font-size:.8rem}
/* 20. About */
.about-copy{max-width:850px;font-size:1.1rem}.about-copy p{margin-bottom:1rem}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem;border-top:var(--border)}.principles article{padding-top:1.5rem}.principles h3{margin:.8rem 0}
/* 21. Final CTA */
.final-cta{position:relative;text-align:center;padding:8rem 0;background:var(--pale);overflow:hidden}.final-cta .container{position:relative;z-index:2}.final-cta h2{margin-inline:auto}.final-cta .actions{justify-content:center}.final-lines{position:absolute;inset:1.5rem;opacity:.24;font:700 .7rem var(--font-mono)}.final-lines span,.final-lines b,.final-lines i{position:absolute}.final-lines span:nth-child(1){left:4%;top:12%}.final-lines span:nth-child(2){left:8%;bottom:12%}.final-lines span:nth-child(3){right:8%;top:20%}.final-lines b{left:49%;top:45%;font-size:1.3rem}.final-lines i{right:2%;bottom:13%;font-style:normal}.final-lines::before,.final-lines::after{content:"";position:absolute;left:10%;right:10%;top:50%;border-top:1px solid var(--plum);transform:rotate(7deg)}.final-lines::after{transform:rotate(-9deg)}
/* 22. Footer */
footer{background:var(--plum);color:var(--white);padding:4rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr auto;gap:3rem}.footer-grid img{width:70px;filter:brightness(0) invert(1)}footer h2{color:var(--white);font-size:2rem;margin:.7rem 0}footer nav{display:flex;flex-direction:column;gap:.45rem}footer a{text-decoration:none}.copyright{border-top:1px solid rgba(255,255,255,.2);margin-top:3rem;padding-top:1rem;color:rgba(255,255,255,.7)}
/* 23. Reveal */
.js-enabled .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.js-enabled .reveal.is-visible{opacity:1;transform:none}
/* 24. Responsive */
@media(max-width:1024px){.site-header nav{position:absolute;display:none;top:76px;left:0;right:0;background:var(--paper);padding:1.5rem;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.menu-toggle{display:block}.field-grid,.profile-grid{grid-template-columns:repeat(2,1fr)}.profile:nth-child(2),.profile:nth-child(5){transform:none}.independence{grid-template-columns:1fr 1fr}.evidence-canvas{grid-template-columns:1fr 1fr}.triad:last-of-type{grid-column:1/-1}.checklist ul{columns:2}}
@media(max-width:700px){.brand img{width:220px}.hero-intro{grid-template-columns:1fr}.evidence-canvas,.field-grid,.profile-grid,.case-grid,.principles,.footer-grid{grid-template-columns:1fr}.triad:last-of-type{grid-column:auto}.canvas-note,.interpretations article,.independence{grid-template-columns:1fr}.claim-strip>div>div{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.steps article:nth-child(odd){border-right:0}.steps::after{inset:5% auto 5% 1rem}.checklist ul{columns:1}.final-cta{padding:6rem 0}}
@media(max-width:400px){.container{width:min(calc(100% - 1.25rem),var(--container))}.brand img{width:190px}.claim-strip>div>div{grid-template-columns:1fr}.actions{align-items:stretch;flex-direction:column}.button{width:100%}.triad{padding:1rem}.profile{padding:1.1rem}}
/* 25. Reduced motion */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js-enabled .reveal{opacity:1;transform:none}}
