@font-face{font-family:"Chakra Petch";src:url("../fonts/chakra-petch-500.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url("../fonts/chakra-petch-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url("../fonts/chakra-petch-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Karla";src:url("../fonts/karla-variable.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
:root{--ink:#071b22;--paper:#f4f7f2;--white:#fff;--aqua:#66e3c4;--lime:#d7ff6f;--cyan:#7ddfe8;--muted:#9db2b4;--line:rgba(179,213,210,.24);--line-dark:rgba(7,27,34,.16);--display:"Chakra Petch","Avenir Next",sans-serif;--body:"Karla","Trebuchet MS",sans-serif;--shadow:0 22px 60px rgba(0,15,20,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.05rem/1.62 var(--body);text-rendering:optimizeLegibility}a{color:inherit}img{max-width:100%;display:block}.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;padding:.75rem 1rem;background:var(--lime);color:var(--ink);transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{height:86px;padding:0 clamp(1.25rem,4vw,4.75rem);display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:50}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;font:600 clamp(1rem,1.3vw,1.2rem)/1 var(--display);letter-spacing:.015em}.brand b{color:var(--aqua);font-weight:600}.brand-mark{width:28px;height:28px;border:1px solid var(--aqua);display:grid;place-items:center;transform:rotate(45deg)}.brand-mark i{display:block;width:12px;height:1px;background:var(--aqua);position:absolute}.brand-mark i:last-child{transform:rotate(90deg)}.primary-nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.4rem);font-size:.92rem}.primary-nav a{text-decoration:none;color:#c9d7d7;position:relative}.primary-nav a:hover,.primary-nav a:focus-visible,.primary-nav .is-active{color:var(--white)}.primary-nav .is-active:after{content:"";position:absolute;left:0;right:0;bottom:-.65rem;height:2px;background:var(--aqua)}.primary-nav .nav-contact{border:1px solid var(--line);padding:.58rem .9rem}.menu-toggle{display:none}.hero{min-height:calc(100svh - 86px);background:var(--ink);color:var(--white);padding:clamp(3rem,7vw,7.5rem) clamp(1.25rem,4vw,4.75rem) 2rem;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(320px,.78fr);grid-template-rows:1fr auto;gap:3rem clamp(2rem,6vw,7rem);position:relative;overflow:hidden}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,black,transparent 74%);opacity:.27}.hero:after{content:"";position:absolute;width:32vw;aspect-ratio:1;border:1px solid rgba(102,227,196,.28);right:-12vw;top:-13vw;transform:rotate(45deg)}.hero-copy,.hero-visual,.hero-axis{position:relative;z-index:1}.eyebrow{font:600 .8rem/1.2 var(--display);letter-spacing:.16em;text-transform:uppercase;color:#43716e;margin:0 0 1.1rem}.hero .eyebrow{color:var(--aqua)}h1,h2,h3{font-family:var(--display);line-height:1.02;letter-spacing:-.035em;margin:0}h1{font-size:clamp(3.35rem,7.3vw,7.4rem);max-width:13ch;font-weight:600}h1 em{color:var(--lime);font-style:normal}.hero-lede{font-size:clamp(1.1rem,1.5vw,1.35rem);max-width:59ch;color:#c2d0d1;margin:2rem 0 0}.hero-actions{display:flex;align-items:center;gap:1.7rem;flex-wrap:wrap;margin-top:2.2rem}.button{font:600 .92rem/1 var(--body);display:inline-flex;gap:1rem;align-items:center;justify-content:center;text-decoration:none;padding:1rem 1.2rem;border:1px solid transparent}.button-primary{background:var(--aqua);color:var(--ink)}.button-primary:hover,.button-primary:focus-visible{background:var(--lime)}.text-link{font-weight:600;text-underline-offset:.3em}.hero-note{font-size:.85rem;color:#8ca0a2;margin:1.8rem 0 0}.hero-visual{align-self:center;justify-self:end;width:min(100%,580px);border:1px solid var(--line);padding:.7rem;background:rgba(255,255,255,.035);box-shadow:var(--shadow)}.hero-visual img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.58) contrast(1.1);width:100%}.hero-visual figcaption{display:flex;align-items:center;gap:1rem;padding:.9rem .3rem .2rem;font-size:.9rem;color:#c0d0d0}.hero-visual figcaption span{font:600 .75rem var(--display);color:var(--aqua)}.hero-axis{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);counter-reset:axis}.hero-axis span{padding-top:1rem;color:#8fa5a6;font-size:.78rem;text-transform:uppercase;letter-spacing:.13em}.hero-axis span:before{counter-increment:axis;content:"0" counter(axis) " ";color:var(--aqua);font-family:var(--display)}.section{padding:clamp(4.5rem,9vw,8.5rem) clamp(1.25rem,4vw,4.75rem)}.home-intro{display:grid;grid-template-columns:.45fr 1.45fr 1fr;gap:2rem 5vw;border-bottom:1px solid var(--line-dark)}.section-index{font:600 .75rem var(--display);letter-spacing:.13em;text-transform:uppercase;color:#5f7f7c}.section-heading h2{font-size:clamp(2.2rem,4.4vw,4.6rem);max-width:15ch}.intro-copy{font-size:1.12rem}.intro-copy p:first-child{margin-top:0}.site-footer{background:var(--ink);color:#9eb0b2;padding:2rem clamp(1.25rem,4vw,4.75rem);font-size:.85rem}.site-footer p{margin:0}:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.hero-visual{justify-self:stretch;width:100%}.hero-visual img{aspect-ratio:16/10}.home-intro{grid-template-columns:1fr 2fr}.intro-copy{grid-column:2}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;color:white;font:600 .9rem var(--body);padding:.6rem .8rem}.primary-nav{position:absolute;top:86px;left:0;right:0;background:var(--ink);padding:1rem 1.25rem 1.5rem;display:none;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.primary-nav.is-open{display:flex}.primary-nav .is-active:after{display:none}.primary-nav a{padding:.7rem 0}}
@media(max-width:600px){.site-header{height:72px}.primary-nav{top:72px}.hero{padding-top:3.2rem}.hero-axis{grid-template-columns:repeat(2,1fr);gap:.8rem}.hero h1{font-size:clamp(2.75rem,14vw,4.5rem)}.home-intro{grid-template-columns:1fr}.intro-copy{grid-column:auto}.hero-actions{align-items:stretch;flex-direction:column}.text-link{text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Complete site system */
.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover,.button-dark:focus-visible{background:#12343d}.learning-map{display:grid;grid-template-columns:.42fr .82fr 1.25fr;gap:2rem 4vw;background:#e7eeea;border-bottom:1px solid var(--line-dark)}.map-lead h2,.frame-copy h2,.next-step h2,.editorial-method .section-heading h2,.process-path .section-heading h2{font-size:clamp(2.25rem,4.8vw,5rem)}.map-lead>p:not(.eyebrow){max-width:48ch}.map-lead .button{margin-top:1rem}.map-steps{list-style:none;padding:0;margin:0}.map-step{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.25rem 0;border-top:1px solid var(--line-dark)}.map-step:last-child{border-bottom:1px solid var(--line-dark)}.map-step>span{font:600 .78rem var(--display);color:#327b70}.map-step h3{font-size:1.38rem;margin-bottom:.35rem}.map-step p{margin:0;color:#36545a}.frame-section{background:var(--white);display:grid;grid-template-columns:1fr 1.15fr;gap:7vw;align-items:end}.frame-copy p:not(.eyebrow){max-width:57ch}.question-shift{border:1px solid var(--line-dark);display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch}.question-shift div{padding:clamp(1.25rem,3vw,2.3rem)}.question-shift div:last-child{background:var(--ink);color:var(--white)}.question-shift span{display:block;font:600 .72rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:#568078;margin-bottom:.8rem}.question-shift p{font:500 clamp(1.2rem,2vw,1.75rem)/1.22 var(--display);margin:0}.question-shift>b{align-self:center;margin:0 -1rem;z-index:2;width:2rem;height:2rem;display:grid;place-items:center;background:var(--lime);color:var(--ink)}.next-step{background:var(--ink);color:var(--white);padding-right:min(25vw,26rem)}.next-step .eyebrow{color:var(--aqua)}.next-step p:not(.eyebrow){color:#b8c8c9;max-width:62ch}.next-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2rem}
.site-footer{padding:clamp(3rem,6vw,5.8rem) clamp(1.25rem,4vw,4.75rem) 1.6rem;display:grid;grid-template-columns:.9fr 1.35fr;gap:3rem 7vw}.site-footer .footer-lead p{max-width:28ch;margin-top:1.3rem}.footer-links{display:grid;grid-template-columns:.55fr 1fr;gap:2rem}.footer-links>div{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.footer-links h2{font:600 .72rem/1 var(--display);letter-spacing:.15em;text-transform:uppercase;color:var(--aqua);margin:0 0 .6rem}.footer-links a{text-decoration:none;color:#d3dddd}.footer-links a:hover,.footer-links a:focus-visible{color:var(--lime);text-decoration:underline;text-underline-offset:.25em}.footer-base{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1.3rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-base p{margin:0}
.page-hero{background:var(--ink);color:var(--white);padding:clamp(4.5rem,9vw,9rem) clamp(1.25rem,4vw,4.75rem) clamp(4rem,7vw,7rem);display:grid;grid-template-columns:1.25fr .75fr;gap:5vw;align-items:end;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,black,transparent 65%);opacity:.2}.page-hero>div,.page-hero>.page-lede{position:relative;z-index:1}.page-hero .eyebrow{color:var(--aqua)}.page-hero h1{font-size:clamp(3.2rem,7.2vw,7.7rem);max-width:11.5ch}.page-lede{font-size:clamp(1.1rem,1.6vw,1.35rem);color:#c3d1d2;margin:0;max-width:45ch}.split-story{display:grid;grid-template-columns:.4fr 1.2fr .72fr;gap:2rem 5vw}.story-major h2,.reading-guide h2,.company-note h2,.contact-details h2,.contact-grid h2,.contact-routing h2{font-size:clamp(2rem,4vw,4.4rem)}.story-major p{max-width:63ch}.story-aside{border-left:3px solid var(--aqua);padding-left:2rem}.story-aside blockquote{font:500 clamp(1.3rem,2.2vw,2rem)/1.35 var(--display);margin:0}.editorial-method{background:#e7eeea;display:grid;grid-template-columns:.4fr 1.5fr;gap:2rem 5vw}.editorial-method .method-grid{grid-column:2;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.method-grid article{padding:2rem;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.method-grid span{font:700 2.5rem var(--display);color:#3a8d80}.method-grid h3{font-size:1.35rem;margin:.9rem 0 .4rem}.method-grid p{margin:0}.reading-guide{display:grid;grid-template-columns:1fr .85fr;gap:7vw;background:var(--white)}.company-note{background:var(--lime);padding-right:min(24vw,25rem)}.company-note .button{margin-top:1rem}
.explorer{padding:clamp(4.5rem,9vw,8.5rem) clamp(1.25rem,4vw,4.75rem);background:#e7eeea}.explorer-head{display:flex;justify-content:space-between;align-items:end;gap:2rem}.explorer-head h2{font-size:clamp(2.5rem,5vw,5.3rem)}.search-field{width:min(100%,420px);font-weight:600}.search-field span{display:block;font-size:.82rem;margin-bottom:.45rem}.search-field input{width:100%;border:1px solid #6c8685;background:transparent;color:var(--ink);font:500 1rem var(--body);padding:.85rem 1rem;border-radius:0}.filter-row{display:flex;gap:.55rem;flex-wrap:wrap;margin:2.2rem 0}.filter-button,.reset-button{border:1px solid #7d9996;background:transparent;color:var(--ink);font:600 .84rem var(--body);padding:.65rem .9rem;cursor:pointer}.filter-button:hover,.filter-button:focus-visible,.filter-button.is-active{background:var(--ink);color:var(--white)}.reset-button{margin-left:auto;border-color:transparent;text-decoration:underline;text-underline-offset:.25em}.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line-dark);border-top:1px solid var(--line-dark)}.topic-card{padding:1.65rem;min-height:320px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);display:flex;flex-direction:column;align-items:flex-start}.topic-card>span{font:600 .72rem var(--display);letter-spacing:.1em;color:#3b756e;text-transform:uppercase}.topic-card h3{font-size:1.4rem;margin:1.3rem 0 .75rem}.topic-card p{margin:0 0 1rem}.topic-card strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-top:auto}.topic-card[hidden]{display:none}.empty-state{border:1px solid var(--line-dark);padding:3rem;text-align:center}.empty-state h3{font-size:1.7rem}.empty-state .button{margin-top:1rem}.process-path{display:grid;grid-template-columns:.4fr 1.2fr;gap:2rem 5vw}.process-path ol{grid-column:2;list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.process-path li{padding:1.5rem;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.process-path li>b{font:600 .75rem var(--display);color:#35786e}.process-path h3{margin:2rem 0 .5rem}.process-path p{margin:0}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-dark);padding-top:1px;padding-bottom:1px}.contact-grid article{padding:clamp(2rem,5vw,4.5rem);background:var(--paper)}.contact-grid article>span{font:600 .73rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:#3c756e}.contact-grid h2{font-size:clamp(1.8rem,3vw,3.2rem);margin:2rem 0 1rem}.contact-link{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--line-dark);font-weight:700;overflow-wrap:anywhere}.contact-details{background:var(--lime);display:grid;grid-template-columns:1fr .8fr .9fr;gap:5vw}.contact-details address{font-style:normal;font-size:1.1rem}.contact-routing{display:grid;grid-template-columns:.4fr 1.4fr;gap:5vw}.contact-routing ul{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid var(--line-dark)}.contact-routing li a{display:flex;justify-content:space-between;gap:1rem;text-decoration:none;padding:1rem 0;border-bottom:1px solid var(--line-dark)}.contact-routing li a:hover b{color:#287468}
.legal-main{background:var(--paper)}.legal-hero{background:var(--ink);color:var(--white);padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4vw,4.75rem)}.legal-hero .eyebrow{color:var(--aqua)}.legal-hero h1{font-size:clamp(3rem,7vw,7rem);max-width:15ch}.legal-hero>p:last-child{color:#9cb0b1;margin:1.3rem 0 0}.legal-document{padding:clamp(3.5rem,7vw,7rem) clamp(1.25rem,4vw,4.75rem);display:grid;grid-template-columns:minmax(170px,.38fr) minmax(0,1.4fr);gap:4rem 8vw;align-items:start}.legal-toc{position:sticky;top:2rem;display:flex;flex-direction:column;gap:.55rem;border-top:2px solid var(--ink);padding-top:1rem}.legal-toc h2{font:600 .75rem var(--display);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .5rem}.legal-toc a{color:#3c5b5c;text-underline-offset:.22em}.legal-copy{max-width:850px}.legal-copy section{padding:0 0 2.5rem;margin:0 0 2.5rem;border-bottom:1px solid var(--line-dark);scroll-margin-top:2rem}.legal-copy section:last-child{border-bottom:0}.legal-copy h2{font-size:clamp(1.65rem,2.7vw,2.45rem);line-height:1.18;margin-bottom:1rem}.legal-copy h3{font-size:1.15rem;line-height:1.3;margin-top:1.8rem}.legal-copy p,.legal-copy li{max-width:75ch}.legal-copy a{font-weight:600;text-underline-offset:.2em}.compact-legal{grid-template-columns:1fr}.compact-legal .legal-copy{margin:auto}.not-found{background:var(--ink);color:var(--white);min-height:100svh;display:grid;place-items:center}.not-found main{width:min(900px,calc(100% - 2.5rem));padding:3rem;position:relative}.not-found .error-code{font:700 clamp(8rem,28vw,22rem)/.65 var(--display);color:rgba(102,227,196,.11);position:absolute;top:-2rem;right:0;z-index:-1}.not-found .eyebrow{color:var(--aqua)}.not-found h1{font-size:clamp(3rem,7vw,6.5rem)}.not-found p{max-width:55ch;color:#c3d0d1}
@media(max-width:1100px){.learning-map{grid-template-columns:.35fr 1fr}.map-steps{grid-column:2}.topic-grid{grid-template-columns:repeat(2,1fr)}.process-path ol{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.page-hero,.split-story,.reading-guide,.contact-details,.contact-grid{grid-template-columns:1fr}.page-hero{gap:2rem}.split-story .story-major,.split-story .story-aside{grid-column:1}.editorial-method,.process-path,.contact-routing{grid-template-columns:1fr}.editorial-method .method-grid,.process-path ol,.contact-routing>div{grid-column:1}.learning-map{grid-template-columns:1fr}.map-steps{grid-column:1}.frame-section{grid-template-columns:1fr}.next-step,.company-note{padding-right:clamp(1.25rem,4vw,4.75rem)}.explorer-head{align-items:stretch;flex-direction:column}.search-field{width:100%}.legal-document{grid-template-columns:1fr}.legal-toc{position:static}.site-footer{grid-template-columns:1fr}}
@media(max-width:560px){.editorial-method .method-grid,.topic-grid,.process-path ol{grid-template-columns:1fr}.question-shift{grid-template-columns:1fr}.question-shift>b{transform:rotate(90deg);justify-self:center;margin:-1rem 0}.footer-links{grid-template-columns:1fr}.contact-grid{padding-left:0;padding-right:0}.filter-row{display:grid;grid-template-columns:repeat(2,1fr)}.reset-button{margin-left:0}.topic-card{min-height:270px}.not-found main{padding:1rem}}

/* Final optical adjustments */
.hero h1{font-size:clamp(3.15rem,5.35vw,5.9rem)}
.hero-visual img{object-position:30% 56%}
.not-found{grid-template-rows:1fr auto}
.error-footer{width:100%;padding:1.25rem;display:flex;justify-content:center;gap:.7rem 1.2rem;flex-wrap:wrap;border-top:1px solid var(--line);font-size:.78rem;color:#bfd0d0}
.error-footer a:hover,.error-footer a:focus-visible{color:var(--lime)}

/* Homepage image proportion */
.hero-visual{width:min(100%,440px);justify-self:center;align-self:stretch;display:flex;flex-direction:column;min-height:0}
.hero-visual img{height:100%;min-height:0;flex:1;aspect-ratio:auto;object-fit:cover}
@media(max-width:900px){.hero-visual{width:min(88%,520px);justify-self:center;align-self:auto;display:block}.hero-visual img{height:auto;aspect-ratio:16/10}}

/* About editorial imagery */
.about-gallery{padding-top:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:clamp(1.2rem,3.2vw,3.4rem);align-items:start}
.about-photo{margin:0;border:1px solid var(--line-dark);background:var(--white);padding:.7rem}
.about-photo img{width:100%;object-fit:cover;filter:saturate(.58) contrast(1.05)}
.about-photo-wide img{aspect-ratio:16/9;object-position:center 55%}
.about-photo-tall{margin-top:clamp(3rem,8vw,8rem)}
.about-photo-tall img{aspect-ratio:4/5;object-position:center}
.about-photo figcaption{display:flex;gap:1rem;justify-content:space-between;padding:.85rem .25rem .15rem;color:#36545a;font-size:.88rem}
.about-photo figcaption span{flex:none;font:600 .72rem var(--display);letter-spacing:.08em;text-transform:uppercase;color:#327b70}
@media(max-width:800px){.about-gallery{grid-template-columns:1fr}.about-photo-tall{margin-top:0}.about-photo-tall img{aspect-ratio:16/10;object-position:center 42%}}
@media(max-width:520px){.about-photo figcaption{display:block}.about-photo figcaption span{display:block;margin-bottom:.35rem}}

/* In-place interaction layer */
.hero-grid{animation:grid-drift 24s linear infinite}
@keyframes grid-drift{to{background-position:72px 72px}}
.concept-ticker{display:flex;align-items:center;gap:.8rem;min-height:2rem;margin:1.25rem 0 0;color:var(--lime);font:600 clamp(.95rem,1.4vw,1.15rem)/1.3 var(--display)}
.concept-ticker-label{color:var(--muted);font:600 .68rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase}
.concept-ticker strong{transition:opacity .2s ease,transform .2s ease}.concept-ticker strong.is-changing{opacity:0;transform:translateY(.35rem)}
.hero-axis button{appearance:none;border:0;border-radius:0;background:transparent;color:#8fa5a6;padding:1rem 0 0;text-align:left;font:.78rem/1.4 var(--body);text-transform:uppercase;letter-spacing:.13em;cursor:pointer;position:relative}
.hero-axis button:before{counter-increment:axis;content:"0" counter(axis) " ";color:var(--aqua);font-family:var(--display)}
.hero-axis button:hover,.hero-axis button:focus-visible,.hero-axis button[aria-pressed="true"]{color:var(--white)}
.hero-axis button[aria-pressed="true"]:after{content:"";position:absolute;left:0;right:1.2rem;top:-1px;height:2px;background:var(--lime)}
.map-step{transition:box-shadow .25s ease,background .25s ease,transform .25s ease}
.map-step.is-lens-active{background:rgba(215,255,111,.16);box-shadow:0 0 0 1px var(--lime),0 0 30px rgba(215,255,111,.28);transform:translateX(.35rem)}
.data-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);margin-top:clamp(1rem,3vw,2.5rem)}
.data-strip p{margin:0;padding:1.15rem clamp(.7rem,2vw,1.5rem);display:flex;align-items:baseline;gap:.75rem;border-right:1px solid var(--line-dark)}.data-strip p:last-child{border-right:0}
.data-strip strong{font:600 clamp(1.8rem,4vw,3.4rem)/1 var(--display);color:#327b70}.data-strip span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
[data-parallax-text]{transform:translate3d(0,var(--parallax-y,0),0);will-change:transform}

.highlight-toggle,.comparison-toggle button{appearance:none;border:1px solid var(--line-dark);background:transparent;color:inherit;padding:.65rem .8rem;font:600 .82rem/1 var(--body);cursor:pointer}
.story-aside .highlight-toggle{margin-top:1.5rem}.highlight-toggle[aria-pressed="true"]{background:var(--ink);color:var(--white)}
.key-term{background:transparent;color:inherit;text-decoration-color:transparent;text-decoration-thickness:.16em;text-underline-offset:.16em;transition:text-decoration-color .2s ease}
.highlight-mode .key-term{text-decoration-line:underline;text-decoration-color:var(--lime)}
.philosophy-dial{grid-column:2;display:grid;grid-template-columns:minmax(220px,.7fr) 1fr;align-items:center;gap:clamp(1rem,4vw,3rem);padding:2rem 0}
.philosophy-dial svg{width:min(100%,360px);overflow:visible}.philosophy-dial g{cursor:pointer;outline:none}.philosophy-dial g path{fill:transparent;stroke:#3a8d80;stroke-width:1.5;transition:fill .2s ease,transform .2s ease;transform-origin:120px 120px}.philosophy-dial g:hover path,.philosophy-dial g:focus path,.philosophy-dial g.is-active path{fill:rgba(102,227,196,.2);transform:scale(1.035)}
.philosophy-dial g text{fill:var(--ink);font:700 18px var(--display);text-anchor:middle;pointer-events:none}.philosophy-dial circle{fill:var(--ink);stroke:var(--aqua);stroke-width:1}.philosophy-dial .dial-core{fill:var(--white);font:600 13px var(--display);letter-spacing:.12em;text-anchor:middle}.philosophy-dial .dial-core-small{fill:var(--aqua);font-size:10px}
.dial-copy{margin:0;border-left:3px solid var(--aqua);padding-left:1.4rem}.dial-copy strong,.dial-copy span{display:block}.dial-copy strong{font:600 clamp(1.35rem,2.3vw,2rem)/1.1 var(--display);margin-bottom:.5rem}.dial-copy span{max-width:40ch}
.approach-compare{border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);padding:1rem 0;margin:1.25rem 0}.comparison-toggle{display:flex;gap:.45rem;flex-wrap:wrap}.comparison-toggle button[aria-pressed="true"]{background:var(--ink);color:var(--white)}.approach-compare>p{margin:1rem 0 0}.approach-compare>p strong,.approach-compare>p span{display:block}.approach-compare>p span{color:#36545a;margin-top:.3rem}

.knowledge-map{display:grid;grid-template-columns:.42fr 1.58fr;gap:2rem 4vw;border:1px solid var(--line-dark);padding:1.4rem;margin:0 0 2rem}.knowledge-map>div>p:last-child{font-size:.9rem;color:#36545a}.knowledge-map svg{width:100%;min-height:180px}.map-links path{fill:none;stroke:rgba(7,27,34,.22);stroke-width:1.5}.knowledge-node{cursor:pointer;outline:none}.knowledge-node circle{fill:var(--paper);stroke:#3a8d80;stroke-width:2;transition:fill .2s ease,stroke-width .2s ease}.knowledge-node text{font:600 11px var(--display);fill:var(--ink);text-anchor:middle;dominant-baseline:central;pointer-events:none}.knowledge-node:hover circle,.knowledge-node:focus circle{fill:var(--lime);stroke-width:4}
.topic-card{padding:0;display:block;perspective:1100px;overflow:hidden;position:relative}.topic-card:before{content:"";position:absolute;inset:-40% auto -40% -55%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent);transform:skewX(-18deg) translateX(-240%);pointer-events:none;z-index:3}.topic-card:hover:before,.topic-card:focus-within:before{animation:card-shine .75s ease}
@keyframes card-shine{to{transform:skewX(-18deg) translateX(720%)}}
.topic-card-inner{position:relative;min-height:320px;transform-style:preserve-3d;transition:transform .58s cubic-bezier(.2,.7,.2,1)}.topic-card:hover .topic-card-inner,.topic-card:focus .topic-card-inner,.topic-card:focus-within .topic-card-inner{transform:rotateY(180deg)}
.topic-card-face{position:absolute;inset:0;padding:1.65rem;display:flex;flex-direction:column;align-items:flex-start;backface-visibility:hidden;background:#e7eeea}.topic-card-back{transform:rotateY(180deg);background:var(--ink);color:var(--white);justify-content:center}.topic-card-back>span{color:var(--aqua)}.topic-card-back h3{font-size:clamp(1.45rem,2.2vw,2rem);margin:1.1rem 0}.topic-card-back p{color:#bfd0d0}
.card-meta{width:100%;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line-dark);display:flex;align-items:center;justify-content:space-between;gap:.8rem;font-size:.78rem}.difficulty{display:flex;gap:.3rem}.difficulty i{width:.5rem;height:.5rem;border:1px solid #3a8d80;border-radius:50%;display:block}.difficulty .is-filled{background:#3a8d80}

.contact-planner{margin-top:1.6rem}.completion-meter{height:3px;background:var(--line-dark);overflow:hidden}.completion-meter span{display:block;width:0;height:100%;background:var(--lime);transition:width .25s ease}.form-progress-copy{font-size:.75rem;text-align:right;margin:.35rem 0 1rem}.float-field{position:relative;margin:.85rem 0}.float-field input,.float-field textarea{width:100%;border:1px solid #6c8685;border-radius:0;background:transparent;color:var(--ink);font:500 1rem/1.4 var(--body);padding:1.25rem .85rem .55rem;resize:vertical}.float-field label{position:absolute;left:.85rem;top:1rem;color:#536e70;pointer-events:none;transition:transform .18s ease,font-size .18s ease,top .18s ease}.float-field input:focus+label,.float-field input:not(:placeholder-shown)+label,.float-field textarea:focus+label,.float-field textarea:not(:placeholder-shown)+label{top:.3rem;font-size:.68rem;transform:none}.pre-contact{border:0;border-top:1px solid var(--line-dark);padding:1rem 0;margin:1rem 0}.pre-contact legend{font-weight:700;padding:0 .4rem 0 0}.pre-contact label{display:flex;gap:.6rem;align-items:center;margin:.55rem 0}.pre-contact input{accent-color:var(--ink)}.contact-planner button[disabled]{opacity:.45;cursor:not-allowed}.form-note{font-size:.78rem;color:#536e70}.contact-faq{margin-top:1.8rem;border-top:1px solid var(--line-dark);padding-top:1.2rem}.contact-faq details{border-bottom:1px solid var(--line-dark);padding:.8rem 0}.contact-faq summary{cursor:pointer;font-weight:700}.contact-faq details p{font-size:.92rem}.contact-hero [data-typewriter]:after{content:"";display:inline-block;width:.08em;height:.85em;margin-left:.08em;background:var(--lime);vertical-align:-.02em;animation:type-cursor .8s steps(1) infinite}.contact-hero [data-typewriter].is-complete:after{animation:none;opacity:0}
@keyframes type-cursor{50%{opacity:0}}

.primary-nav{--nav-x:0px;--nav-w:0px;position:relative}.primary-nav.js-nav-ready .is-active:after{display:none}.nav-indicator{position:absolute;bottom:-.68rem;left:0;width:var(--nav-w);height:2px;background:var(--lime);transform:translateX(var(--nav-x));transition:transform .22s ease,width .22s ease;pointer-events:none}
.button,.filter-button,.reset-button,.menu-toggle,.highlight-toggle,.comparison-toggle button{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background:rgba(215,255,111,.46);transform:scale(0);animation:ripple-out .55s ease-out;pointer-events:none}
@keyframes ripple-out{to{transform:scale(4);opacity:0}}
.js .reveal-ready{opacity:0;transform:translateY(26px);transition:opacity .62s ease,transform .62s ease}.js .reveal-ready.is-visible{opacity:1;transform:none}

@media(max-width:900px){.nav-indicator{display:none}.concept-ticker{align-items:flex-start;flex-direction:column;gap:.35rem}.data-strip{grid-template-columns:1fr}.data-strip p{border-right:0;border-bottom:1px solid var(--line-dark)}.data-strip p:last-child{border-bottom:0}.philosophy-dial{grid-column:1;grid-template-columns:1fr 1fr}.knowledge-map{grid-template-columns:1fr}.topic-card-inner{min-height:300px}}
@media(max-width:600px){.philosophy-dial{grid-template-columns:1fr}.philosophy-dial svg{margin:auto}.knowledge-map{padding:.9rem}.knowledge-map svg{min-height:135px}.topic-card-inner{min-height:285px}}
@media(prefers-reduced-motion:reduce){.hero-grid{animation:none}.concept-ticker strong,.map-step,.philosophy-dial g path,.topic-card-inner,.completion-meter span,.nav-indicator{transition:none}.topic-card:hover:before,.topic-card:focus-within:before{animation:none}.contact-hero [data-typewriter]:after{animation:none;opacity:0}.js .reveal-ready{opacity:1;transform:none}}

/* Calmer editorial structure */
:root{--page-gutter:clamp(1.25rem,4vw,4.75rem);--content-edge:max(var(--page-gutter),calc((100vw - 1360px)/2));--section-space:clamp(4rem,6vw,6.5rem)}
.site-header,.hero,.page-hero,.section,.explorer,.legal-hero,.legal-document,.site-footer{padding-left:var(--content-edge);padding-right:var(--content-edge)}
.section,.explorer{padding-top:var(--section-space);padding-bottom:var(--section-space)}
main>.section+ .section{border-top:1px solid var(--line-dark)}
.page-hero{padding-top:clamp(4.5rem,6.5vw,7rem);padding-bottom:clamp(4rem,6vw,6rem);gap:clamp(2.5rem,6vw,6rem)}
.page-hero h1{font-size:clamp(3.15rem,5.7vw,6.2rem);line-height:1.01}
.page-lede{line-height:1.55}
.hero{min-height:clamp(660px,82svh,820px);padding-top:clamp(4rem,6vw,6.5rem);gap:2.5rem clamp(2.5rem,6vw,6rem)}
.hero h1{font-size:clamp(3.1rem,5vw,5.5rem);line-height:1.02}
.hero-lede{margin-top:1.5rem;max-width:54ch}
.concept-ticker{margin-top:1rem}
.hero-actions{margin-top:1.75rem}
.hero-note{margin-top:1.3rem}
.hero-axis{margin-top:.25rem}
.home-intro{grid-template-columns:.28fr 1.05fr .72fr;gap:2rem clamp(2.5rem,5vw,5rem)}
.section-heading h2,.story-major h2,.reading-guide h2,.company-note h2,.contact-details h2,.contact-grid h2,.contact-routing h2,.map-lead h2,.frame-copy h2,.next-step h2,.editorial-method .section-heading h2,.process-path .section-heading h2{font-size:clamp(2rem,3.7vw,4rem);line-height:1.06}
.intro-copy,.story-major p,.reading-guide p,.map-lead>p:not(.eyebrow),.frame-copy p:not(.eyebrow),.next-step p:not(.eyebrow){max-width:62ch}
.data-strip{margin-top:2.5rem;background:rgba(255,255,255,.42)}
.learning-map{grid-template-columns:.28fr .78fr 1.12fr;gap:2rem clamp(2.5rem,5vw,5rem)}
.map-step{padding:1.1rem 0}
.map-step.is-lens-active{transform:none;box-shadow:inset 3px 0 var(--lime);padding-left:1rem}
.frame-section,.reading-guide{gap:clamp(3rem,7vw,7rem)}
.question-shift{max-width:720px;margin-left:auto}
.next-step,.company-note{padding-right:var(--content-edge)}
.split-story{grid-template-columns:.28fr 1.18fr .68fr;gap:2rem clamp(2.5rem,5vw,5rem)}
.story-aside{padding-left:1.5rem}
.about-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.about-photo{height:100%;display:flex;flex-direction:column}
.about-photo-wide img,.about-photo-tall img{aspect-ratio:4/3;object-position:center;flex:1}
.about-photo-tall{margin-top:0}
.about-photo figcaption{min-height:4.25rem;align-items:flex-start}
.editorial-method{grid-template-columns:.28fr 1.5fr;gap:2rem clamp(2.5rem,5vw,5rem)}
.philosophy-dial{margin-top:1rem;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--line-dark);background:rgba(255,255,255,.34)}
.editorial-method .method-grid{margin-top:1.25rem}
.method-grid article{padding:clamp(1.4rem,2.5vw,2rem)}
.approach-compare{padding:1.25rem;margin:1.5rem 0;background:var(--paper);border:1px solid var(--line-dark)}
.company-note{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem}
.company-note .eyebrow{grid-column:1/-1;margin-bottom:-.5rem}.company-note p{margin:0;max-width:60ch}.company-note .button{grid-column:2;grid-row:2/4;margin:0}
.explorer-head{gap:clamp(2rem,6vw,6rem)}
.explorer-head h2{font-size:clamp(2.35rem,4vw,4.35rem)}
.filter-row{margin:1.75rem 0}
.knowledge-map{grid-template-columns:.36fr 1.64fr;padding:clamp(1.25rem,2.5vw,2rem);margin-bottom:1.5rem;background:rgba(255,255,255,.38)}
.topic-grid{grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark)}
.topic-card{border:0;background:#e7eeea}
.topic-card-inner{min-height:290px}
.topic-card-face{padding:1.45rem}
.process-path{grid-template-columns:.28fr 1.2fr;gap:2rem clamp(2.5rem,5vw,5rem)}
.process-path ol{margin-top:1.5rem}
.contact-grid{gap:1.25rem;background:var(--paper);padding-top:var(--section-space);padding-bottom:var(--section-space)}
.contact-grid article{border:1px solid var(--line-dark);padding:clamp(1.75rem,3.5vw,3rem)}
.contact-planner,.contact-faq{background:var(--white);border:1px solid var(--line-dark);padding:clamp(1.1rem,2vw,1.5rem)}
.contact-faq{margin-top:1.5rem}
.contact-faq details:last-child{border-bottom:0}
.contact-details{grid-template-columns:1.05fr .75fr .9fr;align-items:start}
.contact-routing{grid-template-columns:.28fr 1.4fr;gap:clamp(2.5rem,5vw,5rem)}
.legal-hero{padding-top:clamp(4rem,6vw,6rem);padding-bottom:clamp(4rem,6vw,6rem)}
.legal-hero h1{font-size:clamp(2.9rem,5vw,5.5rem)}
.legal-document{padding-top:var(--section-space);padding-bottom:var(--section-space);gap:3rem clamp(3rem,7vw,7rem)}
.legal-copy section{padding-bottom:2rem;margin-bottom:2rem}
.site-footer{gap:2.5rem clamp(3rem,7vw,7rem)}
.js .reveal-ready{transform:translateY(14px);transition-duration:.48s}

@media(max-width:1100px){.topic-grid{grid-template-columns:repeat(2,1fr)}.home-intro{grid-template-columns:.3fr 1.2fr}.intro-copy{grid-column:2}.data-strip{grid-column:1/-1}.learning-map{grid-template-columns:.3fr 1fr}.map-steps{grid-column:2}}
@media(max-width:800px){.hero{min-height:auto}.home-intro,.learning-map,.split-story,.editorial-method,.process-path,.contact-routing{grid-template-columns:1fr}.intro-copy,.map-steps,.philosophy-dial,.editorial-method .method-grid,.process-path ol,.contact-routing>div{grid-column:1}.about-gallery{grid-template-columns:1fr}.about-photo figcaption{min-height:0}.company-note{display:block}.company-note .button{margin-top:1rem}.contact-grid{gap:1rem}.knowledge-map{grid-template-columns:1fr}}
@media(max-width:560px){.topic-grid{grid-template-columns:1fr}.page-hero h1,.hero h1{font-size:clamp(2.65rem,13vw,4rem)}.section,.explorer{padding-top:3.5rem;padding-bottom:3.5rem}}

/* About page: one repeated section system */
body[data-page="about"] .about-section{display:grid;grid-template-columns:minmax(130px,.28fr) minmax(0,1.5fr);gap:2rem clamp(2.5rem,5vw,5rem);align-items:start}
body[data-page="about"] .about-section>.section-index{grid-column:1}
body[data-page="about"] .about-section>.about-section-content{grid-column:2;min-width:0}
.story-layout,.reading-guide-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.62fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.about-gallery-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.editorial-content>.section-heading{margin-bottom:2rem}
.editorial-content .philosophy-dial,.editorial-content .method-grid{grid-column:auto}
.editorial-content .philosophy-dial{margin:0 0 1.25rem}
.editorial-content .method-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}
.reading-guide-content{gap:clamp(2.5rem,6vw,6rem)}
.reading-guide-copy>p:first-child{margin-top:0}
.company-note-content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end}
.company-note-content h2{font-size:clamp(2rem,3.7vw,4rem);line-height:1.06;max-width:18ch}
.company-note-content p{max-width:60ch}.company-note-content .button{grid-column:2;grid-row:1;align-self:end;white-space:nowrap;margin:0}
body[data-page="about"] .about-section .section-index{padding-top:.35rem}

@media(max-width:800px){body[data-page="about"] .about-section{grid-template-columns:1fr;gap:1.5rem}body[data-page="about"] .about-section>.section-index,body[data-page="about"] .about-section>.about-section-content{grid-column:1}.story-layout,.reading-guide-content{grid-template-columns:1fr;gap:2rem}.about-gallery-content{grid-template-columns:1fr}.company-note-content{grid-template-columns:1fr}.company-note-content .button{grid-column:1;grid-row:auto;justify-self:start}}
@media(max-width:560px){.editorial-content .method-grid{grid-template-columns:1fr}}

/* Useful card depth and explicit dial interaction */
.topic-card-inner{height:100%}
.topic-focus{width:100%;margin-top:auto;padding-top:1rem;display:flex;flex-wrap:wrap;gap:.4rem;border-top:1px solid var(--line-dark)}
.topic-focus b{border:1px solid rgba(7,27,34,.28);padding:.28rem .5rem;font:600 .7rem/1 var(--body);letter-spacing:.04em}
.topic-focus+.card-meta{margin-top:.85rem;padding-top:.85rem}
.dial-instruction{font:600 .72rem/1.2 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#43716e;margin-bottom:1rem}
.dial-questions{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:.55rem}
.dial-questions li{padding:.55rem .7rem;border:1px solid var(--line-dark);font-size:.9rem;background:rgba(255,255,255,.45)}
.dial-questions li:before{content:"→";color:#327b70;margin-right:.55rem}
.method-grid article{transition:background .2s ease,box-shadow .2s ease}
.method-grid article.is-related{background:rgba(215,255,111,.26);box-shadow:inset 3px 0 var(--lime)}
.philosophy-dial g.is-active path{stroke-width:3}

/* About supporting imagery placed inside existing whitespace */
.about-inline-photo{margin:2rem 0 0;padding:.55rem;border:1px solid var(--line-dark);background:var(--white)}
.about-inline-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.58) contrast(1.05)}
.about-inline-photo figcaption{display:flex;justify-content:space-between;gap:.75rem;padding:.65rem .15rem .1rem;color:#36545a;font-size:.8rem;line-height:1.35}
.about-inline-photo figcaption span{flex:none;font:600 .68rem/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#327b70}
.about-inline-photo-wide img{aspect-ratio:16/10}
@media(max-width:800px){.about-inline-photo{max-width:560px}.about-inline-photo figcaption{display:block}.about-inline-photo figcaption span{display:block;margin-bottom:.3rem}}
