@charset "UTF-8";
:root{--navy:#081522;--navy-2:#0c1e2d;--navy-3:#10283a;--ink:#172a37;--muted:#61707c;--mint:#9ce2d5;--mint-deep:#4db6aa;--paper:#f5f7f5;--white:#fff;--line:#dce4e3;--dark-line:rgba(180,219,224,.16);--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI Variable","Segoe UI",Aptos,Arial,sans-serif;--mono:"Cascadia Code",Consolas,monospace;scroll-behavior:smooth}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--navy);color:#e8f1f0;font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:4px}img{max-width:100%}svg{display:block}.container{width:min(100% - 72px,1240px);margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;padding:10px 18px;background:var(--mint);color:var(--navy);z-index:1000}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:100;background:rgba(8,21,34,.88);border-bottom:1px solid var(--dark-line);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.header-inner{height:77px;width:min(100% - 72px,1320px);margin:auto;display:flex;align-items:center;gap:30px;position:relative}.brand{display:flex;align-items:center;gap:13px;flex:0 0 auto}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border:1px solid rgba(156,226,213,.5);color:#fff;font-size:15px;font-weight:800;letter-spacing:-.07em;border-radius:9px}.brand-mark span,.footer-brand span{color:var(--mint)}.brand-name{font-size:14px;font-weight:650;letter-spacing:.01em;white-space:nowrap}.desktop-nav{display:flex;align-items:center;gap:27px;margin:auto}.desktop-nav a{font-size:13px;color:#adbec6;white-space:nowrap;transition:color .2s}.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--mint)}.header-actions{display:flex;align-items:center;gap:12px}.search-trigger{border:1px solid var(--dark-line);background:rgba(255,255,255,.03);border-radius:8px;padding:7px 9px;display:flex;align-items:center;gap:9px;color:#b9c8cf;font-size:12px}.search-trigger:hover{border-color:rgba(156,226,213,.55);color:#fff}.search-trigger svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.search-trigger kbd{font:11px var(--mono);border:1px solid var(--dark-line);border-radius:4px;padding:1px 5px;margin-left:6px}.menu-trigger,.mobile-nav{display:none}.progress-bar{position:fixed;top:77px;left:0;height:2px;background:var(--mint);width:0;z-index:101;pointer-events:none}
.eyebrow{display:flex;align-items:center;gap:13px;text-transform:uppercase;font-weight:700;font-size:11px;letter-spacing:.17em;color:var(--mint)}.eyebrow-line{width:26px;height:1px;background:currentColor;display:inline-block}.accent{color:var(--mint)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border-radius:7px;padding:14px 20px;font-size:13px;font-weight:700;letter-spacing:.015em;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:19px;font-weight:400;line-height:1}.button-primary{background:var(--mint);color:#09232b;border:1px solid var(--mint)}.button-primary:hover{background:#c1f2e9}.button-quiet{color:#dceae9;border:1px solid transparent}.button-quiet:hover{border-color:var(--dark-line)}.button-outline{color:#e7f2f0;border:1px solid rgba(190,224,226,.3)}.button-outline:hover{border-color:var(--mint)}.text-link{display:inline-flex;align-items:center;gap:14px;color:var(--mint-deep);font-weight:700;font-size:13px}.text-link:hover{gap:19px}.text-link span{font-size:19px;line-height:1}.section-pad{padding:110px 0}.section-heading{margin-bottom:34px}.section-heading h2,.intro-grid h2,.preview-copy h2,.completeness-grid h2{font-size:clamp(35px,4vw,59px);letter-spacing:-.052em;line-height:1.07;margin:24px 0}.section-heading>p{font-size:16px;max-width:730px;color:#6d7d86;margin:0}.heading-row{display:flex;align-items:end;justify-content:space-between;gap:30px}.heading-row h2{margin-bottom:16px}.heading-row .text-link{margin-bottom:20px}
.hero{min-height:728px;position:relative;overflow:hidden;background:radial-gradient(circle at 86% 34%,#17394a 0,#0e2535 28%,transparent 56%),linear-gradient(135deg,#091724 0%,#081421 62%,#0d2733 100%)}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(167,220,221,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(167,220,221,.045) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to right,transparent,black 50%);pointer-events:none}.hero-glow{position:absolute;width:700px;height:700px;right:-150px;top:-140px;border-radius:50%;background:radial-gradient(circle,rgba(40,145,151,.12),transparent 65%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;min-height:660px;align-items:center;position:relative}.hero-copy{padding:70px 0}.hero h1{font-size:clamp(53px,6.4vw,95px);line-height:.985;letter-spacing:-.067em;max-width:830px;margin:30px 0 30px;font-weight:680}.hero h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--mint);letter-spacing:-.075em}.hero-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.65;color:#bfd0d1;max-width:600px;margin:0}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:35px 0 33px}.hero-context{font-size:12px;color:#9fb2bd;display:flex;align-items:center;gap:10px}.context-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px rgba(156,226,213,.12)}.hero-art{height:520px;position:relative;display:grid;place-items:center}.hero-art:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(96,180,179,.15),transparent 65%);filter:blur(18px)}.orbit{position:absolute;border:1px solid rgba(169,224,220,.18);border-radius:50%;transform:rotate(-25deg)}.orbit-one{width:375px;height:375px}.orbit-two{width:500px;height:500px;border-style:dashed;border-color:rgba(169,224,220,.12);animation:rotate 70s linear infinite}.orbit-one:before,.orbit-two:before{content:"";position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 15px var(--mint)}.orbit-two:before{width:5px;height:5px;top:-3px;background:#5fa9b4}.art-core{position:relative;width:290px;height:290px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,rgba(22,56,70,.92),rgba(9,26,38,.98));border:1px solid rgba(156,226,213,.42);box-shadow:0 30px 120px rgba(0,0,0,.25),inset 0 0 40px rgba(116,192,185,.07);font-size:19px;letter-spacing:-.02em;color:#cedfdf}.art-core strong{font-weight:650;color:var(--mint);font-size:27px}.art-core i{width:1px;height:19px;background:linear-gradient(var(--mint),transparent)}.art-coordinate{position:absolute;font:10px var(--mono);letter-spacing:.15em;color:#80a7ae}.art-top{top:52px;right:0}.art-bottom{bottom:42px;left:0}.hero-bottom{height:68px;position:relative;display:flex;align-items:center;gap:24px;color:#719099;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.2em}.hero-rule{width:80px;height:1px;background:#426370}
.intro-section{background:var(--paper);color:var(--ink)}.intro-section .eyebrow,.recognition-section .eyebrow{color:#3e918b}.intro-grid{display:grid;grid-template-columns:.92fr 1fr;gap:12%;align-items:start}.intro-grid h2{max-width:600px;margin-top:28px}.intro-text{padding-top:43px;max-width:600px}.intro-text p{font-size:17px;line-height:1.8;color:#4d606b;margin:0 0 20px}.intro-text .text-link{margin-top:10px}.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:100px;border-top:1px solid #b9cccb}.journey-step{padding:26px 25px 0 0;position:relative}.journey-step:before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:#317c7b;box-shadow:0 0 0 5px var(--paper)}.journey-year{font:12px var(--mono);color:#3c8581}.journey-step h3{font-size:23px;letter-spacing:-.03em;margin:12px 0 8px}.journey-step p{font-size:14px;color:#687983;margin:0;max-width:210px}
.work-section{background:#eaf0ef;color:var(--ink)}.work-section .eyebrow{color:#3f9189}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.feature-card{min-height:365px;background:#fff;border:1px solid #d3e1df;border-radius:10px;padding:25px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}.feature-card:hover{transform:translateY(-5px);border-color:#7eb9b4;box-shadow:0 15px 40px rgba(18,52,56,.08)}.card-index{font:11px var(--mono);letter-spacing:.06em;color:#48847f}.feature-card h3{font-size:26px;line-height:1.15;letter-spacing:-.04em;margin:32px 0 14px;max-width:340px}.feature-card p{font-size:14px;line-height:1.7;color:#60737d;margin:0}.card-bottom{margin-top:auto;border-top:1px solid #e1eae8;padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:#286c68}.card-bottom span{font-size:18px}
.projects-preview{background:#0c1e2d;overflow:hidden}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.preview-copy h2{max-width:590px}.preview-copy p{color:#aec2c9;max-width:570px;font-size:17px;line-height:1.75}.preview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:30px}.system-graphic{position:relative;padding:23px;background:linear-gradient(135deg,#18394a,#102432);border:1px solid rgba(156,226,213,.22);border-radius:14px;box-shadow:0 35px 90px rgba(0,0,0,.2)}.system-graphic:after{content:"";position:absolute;inset:-30px;border:1px solid rgba(156,226,213,.08);border-radius:23px;pointer-events:none}.graphic-row{display:grid;grid-template-columns:40px 1fr 80px 130px;align-items:center;gap:10px;padding:21px 10px;border-bottom:1px solid var(--dark-line);font-size:12px}.graphic-row:last-child{border:0}.graphic-row span{color:var(--mint);font:11px var(--mono)}.graphic-row b{letter-spacing:.1em;font-size:11px}.graphic-row i{height:1px;background:linear-gradient(90deg,var(--mint),transparent)}.graphic-row small{font-size:11px;color:#89a8ae;text-align:right}
.recognition-section{background:var(--paper);color:var(--ink)}.quotes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.quote-card{margin:0;min-height:290px;background:#fff;border:1px solid #dce6e4;border-radius:9px;padding:26px;display:flex;flex-direction:column}.quote-card:before{content:"“";font-family:var(--serif);font-size:48px;line-height:.8;color:#5baa9f}.quote-card blockquote{font:20px/1.5 var(--serif);letter-spacing:-.02em;margin:20px 0 25px}.quote-card figcaption{display:flex;flex-direction:column;gap:2px;margin-top:auto;border-top:1px solid #e6eeec;padding-top:16px;font-size:12px}.quote-card figcaption strong{font-size:13px}.quote-card figcaption span{color:#71818b}.quote-footer{margin-top:27px}.completeness-section{padding:100px 0;background:radial-gradient(circle at 90% 20%,#244c55,transparent 36%),#0b1b29}.completeness-grid{display:grid;grid-template-columns:1fr .8fr;gap:14%;align-items:center}.completeness-grid h2{max-width:680px}.completeness-grid p{max-width:610px;color:#adc3c8;line-height:1.8;margin-bottom:27px}.completeness-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.completeness-stats div{border:1px solid var(--dark-line);border-radius:9px;padding:24px;background:rgba(255,255,255,.025)}.completeness-stats strong{display:block;font-size:54px;font-weight:500;letter-spacing:-.07em;line-height:1;color:var(--mint)}.completeness-stats span{display:block;margin-top:14px;font-size:12px;color:#a8c0c6}
.page-main{background:#f4f7f5;color:var(--ink);min-height:70vh;padding-bottom:100px}.page-hero{padding:90px 0 62px}.page-hero .eyebrow{color:#3b8883}.page-hero h1{font-size:clamp(48px,5.6vw,79px);line-height:1;letter-spacing:-.06em;max-width:1000px;margin:29px 0 23px}.page-hero .accent{color:#50a69a}.page-hero>p{font-size:18px;line-height:1.65;color:#627781;max-width:730px;margin:0}.page-hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}.page-hero-actions .button-outline{color:#256d69;border-color:#a7cbc6}.section-mini{display:flex;justify-content:space-between;border-bottom:1px solid #cad8d5;padding-bottom:13px;margin-bottom:25px;color:#597672;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:700}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.project-card{min-height:360px;border:1px solid #d7e3df;border-radius:10px;background:#fff;padding:24px;display:flex;flex-direction:column;box-shadow:0 3px 20px rgba(28,66,60,.025)}.project-top{display:flex;justify-content:space-between;gap:10px;color:#488680;font:11px var(--mono)}.project-top span:last-child{font-family:var(--sans);color:#8a9b9f;text-align:right}.project-card h2{font-size:22px;line-height:1.2;letter-spacing:-.035em;margin:30px 0 12px}.project-card>p{font-size:14px;color:#637782;line-height:1.7;margin:0 0 24px}.project-state{margin-top:auto;display:flex;gap:9px;font-size:12px;color:#73838b;line-height:1.5;border-top:1px solid #e5edeb;padding-top:17px}.state-dot{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:#57a69b;margin-top:5px}.project-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:20px;font-size:12px;font-weight:700;color:#287a73}.project-links a{display:inline-flex;gap:8px}.project-download{color:#215772}.project-note{margin-top:60px;border-radius:10px;padding:35px;background:#e7efec}.project-note h2{font-size:23px;margin:0 0 10px}.project-note p{max-width:870px;color:#5d727b}.project-note .text-link{margin-top:12px}.evidence-list{max-width:1120px}.case-card{display:grid;grid-template-columns:1fr 245px;column-gap:34px;background:#fff;border:1px solid #dce5e1;border-radius:10px;margin:14px 0;padding:27px 29px;transition:border-color .2s,box-shadow .2s}.case-card:hover{border-color:#8bbdb4;box-shadow:0 12px 35px rgba(33,77,75,.06)}.case-meta{grid-column:1 / -1;display:flex;gap:22px;color:#4c8e85;text-transform:uppercase;font-size:10px;letter-spacing:.1em;font-weight:700}.case-main h2{font-size:25px;line-height:1.2;letter-spacing:-.035em;margin:18px 0 10px}.case-main p{font-size:14px;color:#657882;line-height:1.7;max-width:650px}.case-limit{grid-column:2;grid-row:2 / 4;border-left:1px solid #dfe9e6;padding-left:25px}.case-limit strong{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#638c85}.case-limit p{font-size:12px;color:#768991;line-height:1.55;margin:8px 0}.case-open{display:inline-flex;gap:25px;align-items:center;grid-column:1;margin-top:15px;color:#28786f;font-size:12px;font-weight:700}.case-open span{font-size:19px}.evidence-outro{max-width:1120px;padding-top:30px}.evidence-outro p{color:#6b7d85;max-width:820px}.index-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.index-card{min-height:134px;display:grid;grid-template-columns:47px 1fr 28px;gap:15px;padding:24px;background:#fff;border:1px solid #dae5e1;border-radius:9px;align-items:start;transition:transform .2s,border-color .2s}.index-card:hover{transform:translateY(-2px);border-color:#82bcb3}.index-num{font:22px var(--mono);color:#57a49b}.index-card h2{font-size:19px;line-height:1.25;margin:2px 0 8px;letter-spacing:-.025em}.index-card p{font-size:12px;color:#819198;margin:0}.index-arrow{color:#438d84;font-size:21px;text-align:right}.index-note{margin-top:43px;border-top:1px solid #cbdad6;padding-top:24px;display:flex;justify-content:space-between;gap:25px}.index-note p{max-width:720px;color:#667981;margin:0}.index-note .text-link{white-space:nowrap}
.reader-shell{background:#f5f7f5;color:var(--ink);min-height:100vh}.reader-head{background:radial-gradient(circle at 88% 0,#174051,transparent 45%),#0d2030;color:#fff;padding:64px 0 62px}.reader-head h1{font-size:clamp(40px,4.6vw,66px);line-height:1.06;letter-spacing:-.055em;max-width:980px;margin:17px 0 18px}.reader-kicker{font-size:13px;color:#a6c4c8;margin:25px 0 0}.reader-head-links{display:flex;gap:14px;align-items:center;font-size:12px;color:#a9c4c5}.reader-head-links a:hover{color:var(--mint)}.reader-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:68px;padding-top:64px;padding-bottom:55px}.reader-sidebar{min-width:0}.sidebar-inner{position:sticky;top:105px;max-height:calc(100vh - 125px);overflow:auto;padding:0 8px 25px 0;scrollbar-width:thin}.sidebar-inner>p{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#438a82;font-weight:700;margin:0 0 16px}.sidebar-inner nav{border-left:1px solid #ccdad5;display:flex;flex-direction:column;gap:0}.sidebar-inner nav a{font-size:12px;color:#6c8187;line-height:1.4;padding:8px 10px 8px 17px;border-left:2px solid transparent;margin-left:-1px}.sidebar-inner nav a:hover,.sidebar-inner nav a.active{color:#1c736a;border-left-color:#53a399}.sidebar-back{display:inline-block;margin:25px 0 0;font-size:12px;color:#2d8075;font-weight:700}.prose{min-width:0;max-width:840px;font-size:15.5px;line-height:1.82;overflow-wrap:anywhere}.prose>h2:first-child{display:none}.prose h2{font-size:34px;line-height:1.15;letter-spacing:-.04em;margin:68px 0 22px;color:#102c3a}.prose h3{font-size:26px;line-height:1.25;letter-spacing:-.038em;margin:58px 0 17px;color:#173746;scroll-margin-top:105px}.prose h4{font-size:19px;margin:35px 0 12px}.prose p{margin:0 0 20px}.prose a{color:#126c72;text-decoration:underline;text-decoration-color:#a4ceca;text-underline-offset:3px}.prose a:hover{color:#074b57;text-decoration-color:currentColor}.prose .source-location{color:#6d7d83;text-decoration-style:dotted}.prose strong{font-weight:700;color:#15323f}.prose blockquote{margin:30px 0;padding:8px 0 8px 23px;border-left:3px solid #5fac9f;color:#405d64;font-family:var(--serif);font-size:19px;line-height:1.6}.prose blockquote p:last-child{margin-bottom:0}.prose ul,.prose ol{padding-left:25px;margin:10px 0 25px}.prose li{margin:6px 0}.prose hr{border:0;border-top:1px solid #d3dfdb;margin:55px 0}.prose code{font:13px/1.4 var(--mono);background:#e8efed;color:#28545b;border-radius:3px;padding:2px 4px}.prose pre{padding:20px;background:#112b36;border-radius:8px;overflow:auto;color:#e8f4f0;line-height:1.55}.prose pre code{color:inherit;background:none;padding:0}.prose table{display:block;width:100%;overflow:auto;border-collapse:collapse;margin:25px 0 35px;font-size:13px;line-height:1.5;scrollbar-width:thin}.prose th,.prose td{border:1px solid #d2dfdb;padding:10px 12px;text-align:left;vertical-align:top;min-width:110px}.prose th{background:#e4eeeb;color:#204f52;font-weight:700}.prose tr:nth-child(even) td{background:#f0f4f1}.prose img{border-radius:7px;border:1px solid #d9e3df}.reader-pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:90px}.reader-pager a{border:1px solid #d6e1dd;background:#fff;border-radius:8px;padding:21px;color:#234c53;font-weight:700;font-size:14px;line-height:1.4}.reader-pager a:hover{border-color:#7ab4ac}.reader-pager a small{display:block;color:#60a69b;font-size:11px;margin-bottom:6px}.reader-pager a:last-child{text-align:right}.report-layout{padding:60px 0 100px}.report-layout .prose{margin:auto;max-width:920px}.report-layout .prose>h1:first-child{display:none}.library-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:45px}.library-layout h2,.data-section h2{font-size:27px;letter-spacing:-.03em;margin:0 0 20px}.library-list{display:flex;flex-direction:column;border-top:1px solid #d3e1dc}.library-item{display:flex;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid #d3e1dc;font-size:14px;font-weight:700}.library-item span:last-child{font-size:11px;color:#4b938a;white-space:nowrap}.library-item:hover{color:#287c73}.library-aside{background:#e7efec;border:1px solid #d6e2dd;border-radius:10px;padding:27px}.library-aside p{font-size:14px;color:#61747d}.source-note{margin-top:28px;border-top:1px solid #cbded8;padding-top:22px}.source-note h3{font-size:17px}.source-note a{display:inline-block;margin-top:5px;font-size:12px;font-weight:700;color:#287d74}.data-section{margin-top:80px}.data-section p{color:#687d84;max-width:700px}.data-grid{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.data-chip{font:11px var(--mono);padding:9px 11px;border:1px solid #c4d9d2;background:#fff;border-radius:5px;color:#32746c}.data-chip:hover{border-color:#6ca9a0}
.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:#07121c;border-top:1px solid var(--dark-line);padding:65px max(36px,calc((100% - 1240px)/2)) 28px;color:#9cb1b8}.footer-brand{font-size:23px;letter-spacing:-.05em;font-weight:700;color:#f2f8f6}.site-footer>div:first-child p{max-width:370px;font-size:13px;line-height:1.7}.footer-links{display:grid;grid-template-columns:repeat(2,max-content);gap:9px 40px;justify-content:end;align-content:start;font-size:12px}.footer-links a:hover{color:var(--mint)}.footer-note{grid-column:1/-1;border-top:1px solid var(--dark-line);padding-top:22px;margin:0;font-size:11px;color:#789199}
.search-dialog{width:min(760px,calc(100% - 30px));max-height:min(80vh,760px);padding:0;background:#f8faf8;color:var(--ink);border:1px solid #94b8b2;border-radius:12px;box-shadow:0 35px 100px rgba(0,0,0,.55)}.search-dialog::backdrop{background:rgba(1,11,20,.74);backdrop-filter:blur(5px)}.search-top{display:flex;justify-content:space-between;align-items:center;padding:22px 25px 14px}.search-top label{font-size:16px;font-weight:700}.search-top button{border:0;background:transparent;color:#789099;font-size:11px}.search-top button span{font-size:19px;margin-left:5px}#site-search-input{width:calc(100% - 50px);margin:0 25px;padding:15px 17px;border:1px solid #b9cec8;border-radius:6px;background:#fff;color:var(--ink);outline:none}#site-search-input:focus{border-color:#4b9f94;box-shadow:0 0 0 3px rgba(83,166,155,.13)}.search-count{font-size:11px;color:#7d9198;margin:15px 25px}.search-results{overflow:auto;max-height:48vh;border-top:1px solid #e2ebe7}.search-results a{display:block;padding:15px 25px;border-bottom:1px solid #e2ebe7}.search-results a:hover{background:#eaf4f0}.search-results strong{display:block;font-size:14px}.search-results small{display:block;color:#3b8d84;margin:2px 0;font-size:11px}.search-results p{font-size:12px;color:#647881;margin:5px 0 0;line-height:1.55}.search-results mark{background:#ccf4e7;border-radius:2px;color:#173b39}.search-empty{padding:25px;color:#637b80}
@keyframes rotate{to{transform:rotate(335deg)}}@media(max-width:1100px){.desktop-nav{gap:17px}.hero-art{transform:scale(.85)}.projects-grid{grid-template-columns:repeat(2,1fr)}.reader-layout{gap:40px;grid-template-columns:205px minmax(0,1fr)}}@media(max-width:880px){.header-inner{width:min(100% - 36px,1320px)}.desktop-nav{display:none}.header-actions{margin-left:auto}.menu-trigger{width:38px;height:36px;border:1px solid var(--dark-line);background:none;border-radius:7px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 9px}.menu-trigger span{height:1px;background:#dceae6;width:100%}.mobile-nav{position:absolute;top:76px;left:-18px;right:-18px;background:#0d2030;border:1px solid var(--dark-line);padding:15px 24px;box-shadow:0 20px 30px rgba(0,0,0,.25)}.mobile-nav.open{display:flex;flex-direction:column}.mobile-nav a{padding:9px 0;border-bottom:1px solid var(--dark-line);font-size:14px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:85px 0 10px}.hero-art{height:350px;transform:scale(.68);margin-top:-60px}.hero-bottom{height:45px}.intro-grid,.preview-grid,.completeness-grid,.library-layout{grid-template-columns:1fr;gap:30px}.intro-text{padding:0}.feature-grid,.quotes-grid{grid-template-columns:1fr 1fr}.feature-card:last-child,.quote-card:last-child{grid-column:1/-1}.journey-grid{margin-top:65px}.reader-layout{grid-template-columns:1fr}.reader-sidebar{display:none}.reader-layout{padding-top:40px}.prose{max-width:100%}.report-layout{padding-top:40px}}@media(max-width:650px){.container{width:min(100% - 36px,1240px)}.brand-name{font-size:13px}.search-trigger span,.search-trigger kbd{display:none}.header-inner{gap:10px}.hero{min-height:auto}.hero-grid{display:block}.hero-copy{padding:75px 0 40px}.hero h1{font-size:clamp(52px,12vw,75px)}.hero-art{display:none}.hero-bottom{display:none}.hero-actions{align-items:stretch}.hero-actions .button{width:100%}.section-pad{padding:75px 0}.intro-grid h2,.section-heading h2,.preview-copy h2,.completeness-grid h2{font-size:40px}.journey-grid{grid-template-columns:1fr 1fr;row-gap:28px}.feature-grid,.quotes-grid,.projects-grid,.index-list{grid-template-columns:1fr}.feature-card:last-child,.quote-card:last-child{grid-column:auto}.feature-card{min-height:290px}.preview-actions{align-items:flex-start;flex-direction:column}.graphic-row{grid-template-columns:25px 1fr 50px;gap:7px}.graphic-row small{display:none}.completeness-stats strong{font-size:44px}.page-hero{padding:65px 0 45px}.page-hero h1{font-size:50px}.project-card{min-height:310px}.case-card{display:block;padding:22px}.case-meta{flex-wrap:wrap;gap:7px 15px}.case-limit{border-left:0;border-top:1px solid #e1ebe7;padding:15px 0 0;margin-top:20px}.index-note{display:block}.index-note .text-link{margin-top:20px}.reader-head{padding:55px 0}.reader-head h1{font-size:41px}.prose{font-size:15px}.prose h3{font-size:24px}.reader-pager{grid-template-columns:1fr;padding-bottom:60px}.reader-pager a:last-child{text-align:left}.site-footer{padding:55px 18px 25px;grid-template-columns:1fr}.footer-links{justify-content:start}.footer-note{grid-column:1}.search-dialog{max-height:90vh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.downloads-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.download-card{background:#fff;border:1px solid #d6e4df;border-radius:11px;padding:34px;display:flex;flex-direction:column;min-height:540px}.download-code{font:11px var(--mono);letter-spacing:.1em;color:#448c84}.download-card h2{font-size:32px;letter-spacing:-.045em;line-height:1.14;margin:30px 0 16px}.download-card>p{font-size:15px;color:#61747c;line-height:1.75;margin:0}.download-card ul{color:#42676d;margin:27px 0 28px;padding-left:20px;font-size:13px;line-height:1.9}.download-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:auto}.download-actions .button{padding:12px 16px}.download-card .download-limit{border-top:1px solid #e2ebe7;padding-top:18px;margin-top:28px;font-size:12px;color:#829197}.install-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start;margin-top:105px}.install-section .eyebrow{color:#3f8e86}.install-section h2{font-size:42px;line-height:1.08;letter-spacing:-.05em;margin:22px 0}.install-section ol{list-style:none;padding:0;margin:0;border-top:1px solid #cddfd8}.install-section li{display:grid;grid-template-columns:40px 1fr;gap:20px;border-bottom:1px solid #cddfd8;padding:21px 0}.install-section li>span{color:#39877e;font:14px var(--mono)}.install-section li strong{font-size:16px}.install-section li p{font-size:13px;color:#657981;margin:5px 0 0}.install-section code{font:12px var(--mono);background:#e4eeea;padding:2px 4px}.download-footer{display:flex;justify-content:space-between;gap:30px;align-items:center;background:#e8f0ec;border:1px solid #d6e5dd;border-radius:9px;padding:25px 30px;margin-top:80px}.download-footer p{max-width:750px;color:#60767e;font-size:13px;margin:0}.download-footer a{white-space:nowrap}@media(max-width:880px){.install-section{grid-template-columns:1fr;gap:20px}}@media(max-width:650px){.downloads-grid{grid-template-columns:1fr}.download-card{min-height:0;padding:25px}.download-card h2{font-size:29px}.download-actions{margin-top:10px}.install-section{margin-top:70px}.download-footer{display:block;margin-top:55px}.download-footer a{margin-top:17px}}
.manager-quote{margin-top:20px;border:1px solid #cfe0d9;border-radius:10px;background:#e7f0eb;padding:30px 35px}.manager-quote-label{color:#3b8a82;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700}.manager-quote blockquote{font:clamp(21px,2vw,27px)/1.45 var(--serif);letter-spacing:-.02em;color:#1e4045;max-width:950px;margin:13px 0}.manager-quote p{color:#70858a;font-size:11px;margin:0}@media(max-width:650px){.manager-quote{padding:23px}}
.source-image{border:1px solid #cbddd8;border-radius:8px;background:#e9f1ed;padding:16px 20px;margin-bottom:35px}.source-image summary{cursor:pointer;color:#26746b;font-size:13px;font-weight:700}.source-image figure{margin:20px 0 2px}.source-image img{display:block;max-height:700px;object-fit:contain;background:#fff}.source-image figcaption{font:12px/1.5 var(--sans);color:#697e84;margin-top:9px}
.source-preface{border:1px solid #d3e2dc;background:#fff;border-radius:9px;padding:19px 24px;margin-bottom:23px}.source-preface summary{cursor:pointer;color:#27776d;font-size:13px;font-weight:700}.source-preface .prose{margin-top:20px;font-size:14px}.source-preface .prose h2:first-child{display:block;font-size:23px;margin:0 0 10px}.source-preface .prose p{margin:0 0 11px}
/* Keep the portrait behind the headline and away from the animated diagram. */
.hero-portrait{position:absolute;z-index:0;left:-4%;top:0;width:68%;height:100%;max-width:none;object-fit:cover;object-position:50% 30%;opacity:.17;filter:grayscale(1) contrast(1.22) brightness(.72);mix-blend-mode:screen;mask-image:linear-gradient(90deg,#000 0%,#000 50%,transparent 100%);pointer-events:none}.hero-grid{z-index:1}.hero-copy h1,.hero-copy .hero-lead{text-shadow:0 2px 16px rgba(3,15,25,.55)}@media(max-width:880px){.hero-portrait{width:85%;opacity:.14;object-position:50% 30%}}@media(max-width:650px){.hero-portrait{left:-18%;width:125%;opacity:.12;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.7) 56%,transparent 100%)}.hero-copy{position:relative;z-index:2}}
/* Let the name stand alone and give the homepage section labels the headline's editorial voice. */
.brand-name{font-size:19px;font-weight:700;letter-spacing:-.035em}
.hero .eyebrow,.intro-section .eyebrow,.work-section .eyebrow,.projects-preview .eyebrow,.recognition-section .eyebrow,.completeness-section .eyebrow{font-family:var(--serif);font-style:italic;font-size:20px;font-weight:400;line-height:1.2;letter-spacing:-.035em;text-transform:none}
.hero-bottom>span:first-child{font:italic 18px/1.2 var(--serif);letter-spacing:-.03em;text-transform:none;color:var(--mint)}
.project-file-more{display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:start;margin-top:70px;padding:34px;border:1px solid #d6e4df;border-radius:10px;background:#e9f1ee}
.project-file-more .eyebrow{color:#3f8e86}.project-file-more h2{font-size:32px;letter-spacing:-.04em;margin:16px 0 12px}.project-file-more p{color:#667982;font-size:14px;line-height:1.7;max-width:650px}.project-file-more .text-link{margin-top:10px}.project-file-aside{border-left:1px solid #c9dcd5;padding-left:30px}.project-file-aside span{color:#3b8b83;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700}
@media(max-width:650px){.brand-name{font-size:17px}.hero .eyebrow,.intro-section .eyebrow,.work-section .eyebrow,.projects-preview .eyebrow,.recognition-section .eyebrow,.completeness-section .eyebrow{font-size:17px}.project-file-more{grid-template-columns:1fr;gap:20px;padding:24px}.project-file-aside{border-left:0;border-top:1px solid #c9dcd5;padding:18px 0 0}}
/* Match the project and writing-work labels to the serif language on the home page. */
.projects-page .page-hero .eyebrow,.writing-page .page-hero .eyebrow,.writing-context .eyebrow,.projects-page .section-mini,.writing-page .section-mini{font-family:var(--serif);font-style:italic;font-size:20px;font-weight:400;line-height:1.2;letter-spacing:-.035em;text-transform:none}
.projects-page .section-mini,.writing-page .section-mini{color:#3e8b83;align-items:baseline}
.writing-context{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;margin:0 auto 65px;padding:34px 0;border-top:1px solid #d2dfdb;border-bottom:1px solid #d2dfdb}
.writing-context h2{font-size:clamp(29px,3vw,41px);line-height:1.15;letter-spacing:-.045em;margin:16px 0 0}
.writing-context p{color:#627782;line-height:1.75;margin:0 0 16px}
.system-graphic .graphic-row{grid-template-columns:40px minmax(130px,1fr) 65px minmax(120px,1fr);padding:17px 10px}
.projects-page .projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:650px){.projects-page .page-hero .eyebrow,.writing-page .page-hero .eyebrow,.writing-context .eyebrow,.projects-page .section-mini,.writing-page .section-mini{font-size:17px}.writing-context{grid-template-columns:1fr;gap:18px;margin-bottom:48px}.system-graphic .graphic-row{grid-template-columns:28px minmax(0,1fr) 35px;gap:8px}}
@media(max-width:650px){.projects-page .projects-grid{grid-template-columns:1fr}}

/* The story reader keeps the full chapter route beside the current chapter's outline. */
.reader-layout-three{width:min(100% - 48px,1480px);grid-template-columns:minmax(178px,205px) minmax(0,1fr) minmax(178px,215px);gap:clamp(24px,3vw,48px)}
.reader-layout-three .prose{max-width:820px}
.reader-chapters .sidebar-inner nav a{font-size:11.5px}
.reader-chapters .sidebar-inner nav a.active{font-weight:700;background:#e5f0eb}
.reader-on-page .sidebar-inner nav a{font-size:11.5px}
@media(max-width:1100px){.reader-layout-three{grid-template-columns:165px minmax(0,1fr) 175px;gap:20px}}
@media(max-width:880px){.reader-layout-three{display:grid;grid-template-columns:1fr;gap:0}.reader-layout-three .reader-sidebar{display:block}.reader-layout-three .reader-chapters{order:0}.reader-layout-three .reader-on-page{order:1}.reader-layout-three .prose{order:2}.reader-layout-three .sidebar-inner{position:static;max-height:none;padding:0}.reader-layout-three .reader-chapters nav{display:flex;overflow:auto;border:0;gap:6px;padding-bottom:8px}.reader-layout-three .reader-chapters nav a{white-space:nowrap;border:1px solid #d5e3dd;border-radius:5px;margin:0;padding:8px 11px}.reader-layout-three .reader-on-page{margin:15px 0 30px}.reader-layout-three .reader-on-page nav{display:flex;flex-wrap:wrap;border:0;gap:4px 8px}.reader-layout-three .reader-on-page nav a{border:0;margin:0;padding:5px 0}.reader-layout-three .reader-on-page nav a:not(:last-child):after{content:' ·';margin-right:4px}}
.writing-feature{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(215px,.5fr);gap:48px;background:#fff;border:1px solid #dce5e1;border-radius:10px;padding:37px 42px;margin:18px 0 60px}
.writing-feature-label{font:italic 18px var(--serif);color:#39877d}
.writing-feature h2{font-size:clamp(27px,3vw,38px);line-height:1.15;letter-spacing:-.045em;margin:16px 0}
.writing-feature p{font-size:14px;line-height:1.75;color:#637982;max-width:650px}
.writing-feature-links{display:flex;gap:14px 25px;flex-wrap:wrap;margin-top:25px;font-size:12px;font-weight:700;color:#28786f}
.writing-feature-aside{border-left:1px solid #dce8e3;padding-left:25px;color:#5b7479}
.writing-feature-aside>span{font:italic 18px var(--serif);color:#367e76}
.writing-feature-aside ul{padding-left:18px;font-size:13px;line-height:1.7}
.writing-feature-aside small{font-size:11px;line-height:1.5;color:#7f9297}
.writing-case-label{margin-top:6px}
@media(max-width:650px){.writing-feature{grid-template-columns:1fr;gap:20px;padding:25px}.writing-feature-aside{border-left:0;border-top:1px solid #dce8e3;padding:20px 0 0}}

/* Reader and collection labels use the same expressive serif as the home title. */
.reader-head .eyebrow,.page-hero .eyebrow,.reader-head-links a,.reader-sidebar .sidebar-inner>p,.reader-sidebar .sidebar-back,.reader-pager small,.skills-page .section-mini,.writing-page .section-mini{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none}
.reader-head .eyebrow,.page-hero .eyebrow,.reader-sidebar .sidebar-inner>p,.writing-page .section-mini,.skills-page .section-mini{font-size:19px}
.reader-head-links a,.reader-sidebar .sidebar-back{font-size:17px}
.reader-pager small{font-size:15px}

.skill-jump{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:20px}
.skill-jump a{border:1px solid #c9dad5;color:#235c5d;padding:10px 14px;border-radius:6px;font-size:12px;background:#fff}
.skill-jump a:hover{border-color:#499789;color:#176f68}
.skill-sections{padding-bottom:35px}
.skill-group{padding:35px 0 45px;scroll-margin-top:90px}
.skill-group .section-mini{margin-bottom:20px}
.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.skill-entry{display:grid;grid-template-columns:minmax(165px,.67fr) 1fr;gap:18px;align-items:start;background:#fff;border:1px solid #d7e3df;border-radius:8px;padding:22px}
.skill-entry h3{font-size:17px;line-height:1.2;margin:0 0 7px;color:#173746}
.skill-entry p{font-size:13px;line-height:1.62;color:#536e74;margin:0}
.skill-entry small{grid-column:1/-1;color:#6a8989;font-size:10px;font-family:var(--mono)}
.skill-role{font-size:11px;line-height:1.4;color:#2a8177}
.skill-end{border-top:1px solid #cadbd5;padding:35px 0 90px;color:#46636a}
.skill-end strong{display:block;font:italic 23px var(--serif);color:#17484d}
.skill-end p{font-size:13px;max-width:690px;line-height:1.7}
.writing-page .case-card{grid-template-columns:1fr}
.writing-page .case-main p{max-width:900px}
@media(max-width:950px){.skill-grid{grid-template-columns:1fr}}
@media(max-width:650px){.skill-entry{grid-template-columns:1fr;gap:10px;padding:18px}.reader-head .eyebrow,.page-hero .eyebrow,.reader-sidebar .sidebar-inner>p,.writing-page .section-mini,.skills-page .section-mini{font-size:17px}}

/* A persistent, gentle cue makes the search affordance discoverable. */
.search-trigger{position:relative;isolation:isolate;border-color:rgba(156,226,213,.7);background:rgba(156,226,213,.12);color:#e2f8f1;box-shadow:0 0 0 1px rgba(156,226,213,.12),0 0 18px rgba(102,223,197,.12)}
.search-trigger::after{content:"";position:absolute;inset:-3px;border:1px solid rgba(156,226,213,.72);border-radius:10px;pointer-events:none;animation:search-pulse 2.6s ease-out infinite}
.search-trigger:hover{background:rgba(156,226,213,.2);color:white;box-shadow:0 0 22px rgba(102,223,197,.25)}
@keyframes search-pulse{0%{opacity:.7;transform:scale(1)}65%,100%{opacity:0;transform:scale(1.14)}}
@media(prefers-reduced-motion:reduce){.search-trigger::after{animation:none;opacity:.7}}
.resume-download{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(118,214,195,.65);border-radius:8px;background:#76d6c3;color:#0b1d2c;padding:8px 11px;font:700 12px/1.2 var(--sans);white-space:nowrap;transition:background .2s,transform .2s,box-shadow .2s}.resume-download:hover{background:#a3eddd;transform:translateY(-1px);box-shadow:0 7px 18px rgba(77,207,180,.2)}.resume-download svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:650px){.resume-download{padding:8px}.resume-download span{display:none}}
.brand-emblem{display:block;width:20px;height:32px;flex:none;object-fit:contain}.brand{gap:10px}@media(max-width:650px){.brand-emblem{width:17px;height:27px}.brand{gap:8px}}
.desktop-nav .nav-story,.mobile-nav .nav-story{position:relative;display:inline-block;line-height:inherit}.nav-story-786{position:absolute;left:50%;top:calc(100% + 1px);transform:translateX(-50%);display:block;font:600 3px/1 var(--mono);letter-spacing:.02em;color:var(--mint);opacity:.9;white-space:nowrap;pointer-events:none}@media(max-width:880px){.mobile-nav .nav-story{display:block}.mobile-nav .nav-story-786{left:17px;top:auto;bottom:5px;transform:none}}
.hero-art-sandala:before{width:470px;height:470px;background:radial-gradient(circle,rgba(75,171,166,.12),transparent 70%);filter:blur(30px)}.sandala-stage{position:relative;width:330px;height:515px;display:grid;place-items:center;isolation:isolate}.sandala-shape{position:relative;z-index:1;width:310px;height:502px;object-fit:contain;opacity:.9;filter:drop-shadow(0 0 12px rgba(156,226,213,.3))}.sandala-halo{position:absolute;z-index:0;inset:8px 10px;background:#9ce2d5;mask:url('../assets/sandala-hero.svg') center/contain no-repeat;-webkit-mask:url('../assets/sandala-hero.svg') center/contain no-repeat;filter:blur(3px);pointer-events:none;animation:sandala-halo-pulse 3.1s ease-out infinite}@keyframes sandala-halo-pulse{0%{opacity:.55;transform:scale(1)}68%,100%{opacity:0;transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.sandala-halo{animation:none;opacity:.16}}
.contact-section{padding-bottom:110px}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.contact-card{min-height:165px;padding:25px 27px;border:1px solid #d6e4df;border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;transition:border-color .2s,box-shadow .2s,transform .2s}.contact-card[href]:hover{border-color:#78b9ae;box-shadow:0 12px 30px rgba(33,77,75,.07);transform:translateY(-2px)}.contact-card>span{font:700 11px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#408e84}.contact-card strong{font-size:clamp(18px,2vw,24px);line-height:1.25;color:#173746;letter-spacing:-.025em;margin:23px 0 12px;overflow-wrap:anywhere}.contact-card small{margin-top:auto;color:#4d8f87;font-size:12px;font-weight:700}.contact-location small{color:#7c9193}.contact-next{margin-top:50px;padding-top:28px;border-top:1px solid #cbdcd5;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.contact-next p{margin:0 auto 0 0;color:#5d737b}.contact-next .button{padding:12px 17px}.contact-next .text-link{white-space:nowrap}@media(max-width:650px){.contact-grid{grid-template-columns:1fr}.contact-card{min-height:145px;padding:23px}.contact-next{align-items:flex-start;flex-direction:column}.contact-next p{margin:0 0 8px}}
@media(min-width:881px) and (max-width:1100px){.header-inner{gap:18px}.desktop-nav{gap:13px}}

.feedback-item{margin:0 0 46px;padding-bottom:25px;border-bottom:1px solid #d3dfdb}.feedback-item h3{margin:15px 0 18px}.feedback-item blockquote{margin:14px 0 12px}.feedback-item>p:last-child{font-size:13px;color:#5d7476}.source-image{margin:30px 0}.source-image img{max-width:100%;height:auto;border-radius:8px}
.feedback-page .prose>h2:first-child{display:block;margin-top:0}
