:root{--ink:#12211d;--muted:#58655f;--paper:#f5f3ed;--white:#fff;--line:#ced5cf;--green:#1f6249;--green2:#dce9df;--amber:#a94f16;--navy:#132b36;--max:1180px;--radius:10px;--shadow:0 18px 45px rgba(18,33,29,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.62}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}.wrap{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;z-index:20}.skip:focus{left:8px}.site-header{position:sticky;top:0;z-index:10;background:rgba(245,243,237,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:800;letter-spacing:.04em;text-decoration:none}.brand span{color:var(--green)}.nav-links{display:flex;align-items:center;gap:24px}.nav-links a,.nav-links .nav-inactive{text-decoration:none;font-size:.94rem}.nav-links .nav-inactive{color:var(--muted);cursor:not-allowed}.nav-links a:hover{text-decoration:underline}.menu-button{display:none;background:transparent;border:1px solid var(--ink);border-radius:6px;padding:10px 12px;color:var(--ink);font:inherit}.eyebrow,.kicker{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--green)}.hero{padding:76px 0 62px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(3.4rem,7vw,6.8rem);line-height:.88;letter-spacing:-.055em;margin:18px 0 24px}.hero .role{font-size:clamp(1.22rem,2vw,1.55rem);font-weight:700;margin:0 0 14px}.hero .lede{font-size:1.14rem;max-width:600px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:1px solid var(--ink);padding:10px 18px;text-decoration:none;font-weight:750}.button.primary{background:var(--ink);color:#fff}.button.disabled{opacity:.55;cursor:not-allowed}.button:hover:not(.disabled){background:var(--green);border-color:var(--green);color:#fff}.hero-visual{background:var(--white);border:1px solid var(--line);padding:14px;box-shadow:var(--shadow);transform:rotate(1deg)}.hero-visual img{aspect-ratio:4/3;object-fit:contain;background:#fafafa}.caption{font-size:.79rem;color:var(--muted);margin:10px 2px 0}.section{padding:88px 0;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:.45fr 1fr;gap:40px;align-items:end;margin-bottom:42px}.section h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,4vw,4.2rem);font-weight:500;line-height:1.02;letter-spacing:-.035em;margin:8px 0}.section-intro{color:var(--muted);font-size:1.05rem;max-width:720px}.domains{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.domain{padding:28px 28px 34px;border-right:1px solid var(--line);display:flex;flex-direction:column}.domain:last-child{border-right:0}.domain .num{font-family:Georgia,serif;font-size:2rem;color:var(--amber)}.domain h3{font-size:1.25rem;line-height:1.2;margin:28px 0 12px}.domain p{color:var(--muted);margin:0}.domain .evidence-link{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:.82rem;color:var(--ink)}.domain .evidence-link a{font-weight:750;text-decoration:none}.domain .evidence-link a:hover{text-decoration:underline}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.project{background:var(--white);border-top:4px solid var(--ink);padding:30px;min-height:300px;display:flex;flex-direction:column}.project.featured{border-top-color:var(--green);grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:40px}.project h3{font-family:Georgia,serif;font-size:2rem;line-height:1.1;margin:10px 0}.project p{color:var(--muted)}.label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:18px}.tag{border:1px solid var(--line);padding:4px 9px;font-size:.78rem}.project-link{font-weight:800;margin-top:20px}.inactive{color:var(--muted);font-size:.86rem;margin-top:20px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.callout{background:var(--navy);color:#fff;padding:46px}.callout p{color:#d8e4e6}.contact-simple{border-top:2px solid var(--ink);padding:28px 0}.contact-simple h2{font-family:Georgia,serif;font-size:2.4rem;font-weight:500;margin:8px 0 14px}.contact-simple p{color:var(--muted);max-width:520px}.contact-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px}.contact-links span{border-bottom:1px solid var(--line);color:var(--muted);padding-bottom:3px}.footer{background:var(--ink);color:#fff;padding:54px 0}.footer-grid{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.footer p{color:#c6d0cb}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links span{color:#9daba5}.project-hero{padding:62px 0 52px}.breadcrumbs{font-size:.85rem;color:var(--muted)}.project-hero h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,6rem);font-weight:500;line-height:.95;letter-spacing:-.045em;max-width:950px;margin:34px 0 22px}.project-summary{font-size:1.22rem;max-width:820px;color:var(--muted)}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin-top:44px}.fact{padding:18px 20px;border-right:1px solid var(--line)}.fact:last-child{border:0}.fact strong{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}.case-grid{display:grid;grid-template-columns:280px 1fr;gap:70px}.toc{position:sticky;top:100px;align-self:start;border-top:2px solid var(--ink);padding-top:18px}.toc a{display:block;padding:6px 0;color:var(--muted);font-size:.88rem;text-decoration:none}#work,#about,#contact,.story section{scroll-margin-top:110px}.story section{padding:0 0 68px}.story h2{font-family:Georgia,serif;font-size:2.65rem;font-weight:500;line-height:1.05;letter-spacing:-.03em;margin:0 0 20px}.story h3{font-size:1.15rem;margin-top:28px}.story p,.story li{max-width:760px}.story .lead{font-size:1.15rem;color:var(--muted)}.lifecycle{display:grid;grid-template-columns:repeat(6,1fr);margin:28px 0 0;border:1px solid var(--line)}.life{padding:16px 10px;text-align:center;font-size:.72rem;font-weight:800;letter-spacing:.04em;border-right:1px solid var(--line)}.life:last-child{border:0}.diagram{background:var(--white);border:1px solid var(--line);padding:28px;margin:24px 0}.flow{display:flex;align-items:stretch;gap:10px;justify-content:center}.node{border:1px solid var(--ink);padding:14px 12px;text-align:center;flex:1;font-weight:700}.arrow{align-self:center;color:var(--amber);font-size:1.4rem}.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.decision{background:var(--white);border-top:3px solid var(--green);padding:22px}.decision h3{margin:0 0 8px}.evidence-figure{margin:28px 0 0;background:var(--white);padding:16px;border:1px solid var(--line)}.evidence-figure img{width:100%;max-height:720px;object-fit:contain;background:#fafafa}.status-note{border-left:4px solid var(--amber);background:#fff5e8;padding:20px 24px;margin:26px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px}.split>div{padding:26px;background:var(--white)}.split .future{border-top:4px solid var(--amber)}.split .done{border-top:4px solid var(--green)}:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
@media(max-width:900px){.domain{display:block}.domain .evidence-link{margin-top:24px}.hero-grid,.section-head,.about-grid,.case-grid{grid-template-columns:1fr}.hero-grid{gap:38px}.hero-visual{transform:none}.domains{grid-template-columns:1fr}.domain{border-right:0;border-bottom:1px solid var(--line)}.domain:last-child{border-bottom:0}.project.featured{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}.fact:nth-child(2){border-right:0}.fact:nth-child(-n+2){border-bottom:1px solid var(--line)}.toc{display:none}.decision-grid{grid-template-columns:1fr}.lifecycle{grid-template-columns:repeat(3,1fr)}.life:nth-child(3){border-right:0}.life:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media(max-width:640px){#work,#about,#contact,.story section{scroll-margin-top:96px}.project-hero h1{font-size:2.72rem}.wrap{width:min(100% - 28px,var(--max))}.nav{min-height:64px}.menu-button{display:block}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:16px 20px;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.hero{padding:48px 0}.hero h1{font-size:3.45rem}.section{padding:64px 0}.projects,.split{grid-template-columns:1fr}.project.featured{grid-column:span 1}.project{min-height:0}.facts{grid-template-columns:1fr}.fact,.fact:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.flow{flex-direction:column}.arrow{transform:rotate(90deg)}.lifecycle{grid-template-columns:1fr 1fr}.life:nth-child(3){border-right:1px solid var(--line)}.life:nth-child(2n){border-right:0}.life:nth-child(-n+4){border-bottom:1px solid var(--line)}.footer-grid{display:block}.footer-links{margin-top:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.narrow{max-width:860px}.narrative-page{padding-top:70px}.narrative-page .story section{padding-bottom:62px}.narrative-page .story h2{max-width:780px}.narrative-page .tags{padding-top:0}.supporting{margin-top:36px;padding:22px 0 0;border-top:1px solid var(--line);color:var(--muted)}.sequence{list-style:none;padding:0;margin:28px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;counter-reset:step}.sequence li{margin:0;max-width:none;background:var(--white);border-left:3px solid var(--amber);padding:12px 14px;font-weight:700;counter-increment:step}.sequence li::before{content:counter(step,decimal-leading-zero) " · ";color:var(--amber)}@media(max-width:640px){.sequence{grid-template-columns:1fr}.narrative-page{padding-top:48px}.narrative-page .story section{padding-bottom:52px}}
