@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/dm-sans.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--paper:#eeede8;--ink:#242b27;--muted:#62685f;--line:#c8ccc1;--accent:#d2ec9e;--serif:"Instrument Serif", Georgia, serif;--sans:"DM Sans", "Helvetica Neue", Arial, sans-serif;--mono:"SFMono-Regular", Consolas, monospace;--page-pad:clamp(1.25rem, 4.5vw, 5rem);--section-space:clamp(4rem, 7vw, 7rem);--ease:cubic-bezier(.22, .68, 0, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline-offset:5px;outline:2px solid #526537}::selection{background:var(--accent);color:var(--ink)}h1,h2,h3,p{margin:0}button:disabled{cursor:default}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.eyebrow{letter-spacing:.09em;text-transform:uppercase;font-size:.75rem;font-weight:500;line-height:1.6}.section{padding-block:var(--section-space);border-top:1px solid var(--line)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.page-shell{max-width:1800px;padding-inline:var(--page-pad);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:2rem;min-height:108px;display:flex}.identity{align-items:center;gap:1.1rem;display:flex}.monogram{font-family:var(--serif);letter-spacing:-.11em;font-size:3.1rem;line-height:1}.monogram span{font-family:var(--sans);vertical-align:top;letter-spacing:0;margin-left:.6rem;font-size:.65rem}.identity-name{gap:.35rem;font-size:.875rem;display:grid}.identity-name>span{color:var(--muted);font-size:.75rem}.site-header nav{gap:2rem;margin-left:auto;display:flex}.site-header nav a{padding-block:1rem;font-size:.875rem}.site-header nav a:hover,.text-link:hover{text-underline-offset:.3em;text-decoration:underline}.header-tools{align-items:center;gap:1.5rem;display:flex}.header-tools button{background:0 0;min-width:44px;min-height:44px;font-size:.875rem}.cv-link{border:1px solid var(--ink);border-radius:2rem;align-items:center;gap:1.75rem;padding:.8rem 1rem;font-size:.875rem;transition:background .2s;display:flex}.cv-link:hover{background:var(--accent)}.edition-line{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);justify-content:space-between;padding-block:1.4rem;font-size:.7rem;display:flex}.hero{overflow-anchor:none;grid-template-columns:1fr 1.03fr;align-items:center;gap:1.8rem;min-height:690px;padding-block:1rem 3.5rem;display:grid}.hero-copy{animation:copy-enter .55s var(--ease);z-index:2;padding-block:1.5rem;position:relative}.hero-copy>.eyebrow{align-items:center;gap:.7rem;margin-bottom:2rem;display:flex}.tiny-rule{background:currentColor;width:1.6rem;height:1px;display:block}.hero h1{font-family:var(--serif);letter-spacing:-.065em;margin-bottom:2rem;font-size:clamp(3.6rem,6.7vw,7.5rem);font-weight:400;line-height:1.02}.hero h1 em{color:#646f60;font-weight:400;display:block}.hero-intro{max-width:31rem;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.65}.hero-detail{max-width:29rem;color:var(--muted);margin-top:1.1rem;font-size:.9rem;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.6rem;margin-top:2.4rem;display:flex}.primary-button{background:var(--ink);color:#f5f5ed;border-radius:2rem;align-items:center;gap:1.6rem;padding:1.05rem 1.35rem;font-size:.875rem;transition:background .2s,transform .2s;display:inline-flex}.primary-button:hover{background:#43533a;transform:translateY(-2px)}.text-link,.text-button{background:0 0;align-items:center;gap:1rem;padding-block:.85rem;font-size:.875rem;display:inline-flex}.visual-stage{isolation:isolate;min-width:0;height:600px;position:relative}.stage-topline,.stage-bottomline{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);z-index:2;pointer-events:none;justify-content:space-between;gap:1rem;font-size:.65rem;display:flex;position:absolute;left:1.3rem;right:1.3rem}.stage-topline{top:1rem}.is-expanded .stage-topline{top:-.75rem}.stage-bottomline{align-items:flex-end;bottom:.8rem}.stage-bottomline span:first-child{color:var(--ink);white-space:nowrap}.stage-bottomline span:last-child{text-align:right}.canvas-wrap{position:absolute;inset:0}.scene-loading{text-align:center;width:100%;color:var(--muted);font-size:.875rem;position:absolute;top:50%}.scene-fallback{text-align:center;align-content:center;height:100%;padding:2rem;display:grid}.scene-fallback>span{font-family:var(--serif);color:#bfc9b6;font-size:9rem}.scene-fallback p{max-width:20rem;margin-inline:auto;font-size:.875rem;line-height:1.5}.is-expanded .scene-fallback{opacity:.25}.hero-project h1{margin-bottom:1.5rem;font-size:clamp(3.2rem,5.5vw,6rem)}.hero-project .hero-copy>.eyebrow{margin-bottom:1.2rem}.award{align-items:center;gap:.6rem;margin-top:1.1rem;font-size:.8rem;display:flex}.award span{color:#52643d;font-size:1.5rem}.project-contribution{border-top:1px solid var(--line);max-width:30rem;margin-top:1.4rem;padding-top:1.1rem}.project-contribution h2{text-transform:uppercase;letter-spacing:.08em;margin-bottom:.45rem;font-size:.75rem;font-weight:500}.project-contribution p{color:var(--muted);font-size:.875rem;line-height:1.6}.demo-steps{gap:.5rem;margin-top:1.4rem;display:flex}.stage-step-controls{display:none}.demo-steps button{border:1px solid var(--line);background:0 0;border-radius:2rem;align-items:center;gap:.5rem;padding:.75rem .8rem;font-size:.8rem;display:flex}.demo-steps button span{font-family:var(--mono);font-size:.65rem}.demo-steps button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.demo-disclaimer{max-width:28rem;color:var(--muted);margin-top:.8rem;font-size:.75rem;line-height:1.5}.hero-project .hero-actions{margin-top:1rem}.section-heading{grid-template-columns:.65fr 1.3fr 1fr;align-items:start;gap:2rem;margin-bottom:3rem;display:grid}.section-heading h2{font-family:var(--serif);letter-spacing:-.045em;white-space:pre-line;font-size:clamp(2.2rem,3.2vw,3.5rem);font-weight:400;line-height:1.1}.section-heading>p:last-child{color:var(--muted);max-width:19rem;font-size:.95rem;line-height:1.65}.project-row{border-top:1px solid var(--line);grid-template-columns:.15fr 1fr 1.1fr 3.5rem;align-items:center;gap:2rem;padding-block:2rem;display:grid}.project-number{font-family:var(--mono);color:var(--muted);align-self:start;margin-top:.3rem;font-size:.75rem}.project-name>p{color:var(--muted);margin-bottom:.5rem;font-size:.75rem}.project-name h3{font-family:var(--serif);letter-spacing:-.04em;font-size:2.5rem;font-weight:400}.project-name>span{color:var(--muted);margin-top:.5rem;font-size:.75rem;display:inline-block}.project-description>p{max-width:26rem;font-size:.95rem;line-height:1.65}.project-description>span{font-family:var(--mono);color:var(--muted);margin-top:1rem;font-size:.7rem;line-height:1.6;display:block}.project-open{border:1px solid var(--ink);background:0 0;border-radius:50%;width:3.5rem;height:3.5rem;font-size:1.6rem;transition:background .2s}.project-open:hover{background:var(--accent)}.project-index{font-family:var(--serif);color:#8c9586;text-align:right;font-size:1.8rem;font-style:italic}.profile{grid-template-columns:1fr 1fr;gap:5rem;display:grid}.profile h2{font-family:var(--serif);letter-spacing:-.055em;margin-top:2rem;font-size:clamp(3rem,5.5vw,6rem);font-weight:400;line-height:1}.profile h2 em{color:#646f60;display:block}.profile-location{color:var(--muted);margin-top:2rem;font-size:.875rem}.profile-story>p{max-width:35rem;font-size:1.1rem;line-height:1.8}.profile-story>p+p{color:var(--muted);margin-top:1.2rem;font-size:1rem}.education{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.6rem}.education>.eyebrow{color:var(--muted)}.education h3{margin-top:1rem;font-size:1rem;font-weight:500;line-height:1.5}.education h3+p{color:var(--muted);margin-top:.3rem;font-size:.875rem}.contact{grid-template-columns:1fr auto;column-gap:2rem;padding-bottom:1.5rem;display:grid}.contact-title{width:fit-content;font-family:var(--serif);letter-spacing:-.06em;align-items:center;gap:3rem;margin-top:1rem;font-size:clamp(3.5rem,7vw,8rem);display:flex}.contact-title>span{font-family:var(--sans);font-size:.7em;font-weight:300}.contact>div>p:last-child{color:var(--muted);margin-top:1rem;font-size:.95rem;line-height:1.6}.contact-links{flex-direction:column;justify-content:center;gap:.7rem;font-size:.95rem;display:flex}.contact-links a{padding-block:.4rem}.contact-links a:hover{text-decoration:underline}.footer-line{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:1.4rem;font-size:.7rem;display:flex}@keyframes copy-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width>=1600px){.visual-stage{height:690px}}@media (width<=1050px){.identity-name{display:none}.hero{gap:0}.hero h1{font-size:clamp(3.3rem,7vw,5rem)}.hero-project h1{font-size:3.4rem}.demo-steps{flex-wrap:wrap}.visual-stage{height:550px}.stage-topline,.stage-bottomline{font-size:.6rem;left:.5rem;right:.5rem}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2;max-width:100%}.profile{gap:3rem}}@media (width<=720px){.hero-copy .demo-steps{display:none}.stage-step-controls{display:block;position:absolute;bottom:-3rem;left:0;right:0}.stage-step-controls .demo-steps{justify-content:center;margin-top:0}.hero-project .visual-stage{margin-bottom:4rem}.identity{gap:.6rem}.identity-name{font-size:.75rem;display:block}.identity-name>span{display:none}.site-header{gap:.5rem;min-height:84px}.site-header nav{display:none}.header-tools{gap:.4rem}.cv-link{gap:.7rem;padding:.7rem .9rem;font-size:.8rem}.monogram{font-size:2.6rem}.edition-line{padding-block:1.2rem;font-size:.6rem}.hero{grid-template-columns:1fr;min-height:0;padding-top:.3rem;padding-bottom:2rem}.hero-copy{padding-block:.7rem 0}.hero-copy>.eyebrow{margin-bottom:1.4rem}.hero h1{margin-bottom:1.5rem;font-size:clamp(3.3rem,12.6vw,5.5rem)}.hero-intro{font-size:1rem}.hero-detail{font-size:.875rem}.hero-actions{gap:1rem;margin-top:1.5rem}.primary-button{padding:.95rem 1.1rem}.text-link{gap:.5rem;font-size:.8rem}.visual-stage{margin-top:1.5rem;height:440px;margin-inline:-.7rem}.stage-topline,.stage-bottomline{font-size:.6rem}.hero-project .visual-stage{grid-row:1}.hero-project .hero-copy{grid-row:2}.hero-project h1{font-size:clamp(3rem,11.7vw,4.8rem)}.hero-project .hero-actions{margin-top:.7rem}.demo-steps{gap:.35rem}.demo-steps button{padding:.75rem .7rem}.section-heading{margin-bottom:2rem;display:block}.section-heading h2{margin-top:1.5rem;font-size:2.5rem}.section-heading>p:last-child{margin-top:1rem}.project-row{grid-template-columns:1.5rem 1fr 3rem;gap:1rem;padding-block:1.7rem}.project-name h3{font-size:2.1rem}.project-description{grid-area:2/2/auto/-1}.project-open,.project-index{grid-area:1/3}.project-open{width:3rem;height:3rem}.project-description>span{font-size:.65rem}.profile{grid-template-columns:1fr;gap:2rem}.profile h2{font-size:3.5rem}.profile-story>p{font-size:1rem}.contact{grid-template-columns:1fr}.contact-links{margin-top:2rem}.footer-line{flex-direction:column;gap:.5rem;margin-top:2.5rem}}.product-overlay{z-index:3;width:258px;animation:product-reveal 1.2s var(--ease) both;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.product-demo{color:#2d3930;background:#fafbf5;border-radius:25px;padding:17px;box-shadow:0 12px 30px #17231920,0 0 0 1px #dce1d5}.demo-motion{transition:transform .85s var(--ease);transform:perspective(900px)rotateY(0)rotate(0)}.demo-motion[data-step="1"]{transform:perspective(900px)rotateY(-5deg)rotate(-1.5deg)translateY(-5px)}.demo-motion[data-step="2"]{transform:perspective(900px)rotateY(4deg)rotate(1deg)}.demo-state-1{--demo-accent:#eed3ad;--demo-emphasis:#8a4818}.demo-state-2{--demo-accent:#cddedb;--demo-emphasis:#2e6059}.product-demo{transition:box-shadow .65s var(--ease)}.demo-state-1{box-shadow:0 15px 35px #6f42182e,0 0 0 2px #d5ac78}.demo-state-2{box-shadow:0 15px 35px #214c4425,0 0 0 2px #91afa6}.demo-state-1 .demo-next,.demo-state-2 .demo-next{background:var(--demo-accent)}.map-signal{color:#496240;width:28px;height:28px;animation:signal-arrive .65s var(--ease) both;background:#f8faf2;border-radius:50%;place-items:center;font-size:18px;font-weight:600;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #263e2420}.map-signal svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:18px;height:18px}.demo-state-1 .map-signal,.demo-state-2 .map-signal{background:var(--demo-accent);color:var(--demo-emphasis)}.demo-map>svg{transition:transform .8s var(--ease);transform-origin:73% 33%}.demo-state-2 .demo-map>svg{transform:scale(1.35)}.demo-message-content{animation:chapter-arrive .65s var(--ease) both;border-left:2px solid #8aa565;padding-left:8px}.demo-state-1 .demo-message-content,.demo-state-2 .demo-message-content{border-left-color:var(--demo-emphasis)}.demo-chapter{text-transform:uppercase;letter-spacing:.045em;color:#65715d;font-size:.65rem}.demo-state-1 .demo-chapter,.demo-state-2 .demo-chapter{color:var(--demo-emphasis)}@keyframes chapter-arrive{0%{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes signal-arrive{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.demo-motion[data-step],.demo-state-2 .demo-map>svg{transform:none}}.demo-brand{align-items:center;gap:.4rem;margin-bottom:1rem;font-size:.75rem;display:flex}.demo-symbol{width:23px;height:23px;font-family:var(--serif);background:#e0ebcf;border-radius:7px;place-items:center;font-size:1.2rem;font-style:italic;display:grid}.demo-menu{letter-spacing:.1em;margin-left:auto;font-size:.7rem}.demo-person{align-items:center;gap:.65rem;margin-bottom:.8rem;display:flex}.avatar{width:33px;height:33px;font-family:var(--serif);background:#e4e2d2;border-radius:50%;place-items:center;display:grid}.demo-person strong{font-size:.875rem;font-weight:500;display:block}.demo-person div>span{color:#697461;margin-top:.15rem;font-size:.7rem;display:block}.status-indicator{background:#7c9661;border-radius:50%;width:7px;height:7px;margin-left:auto}.status-1{background:#bb753e}.demo-map{background:#e7eadf;border-radius:12px;height:124px;position:relative;overflow:hidden}.demo-map>svg{object-fit:cover;width:100%;height:100%}.map-marker{transition:transform .65s var(--ease);transform:translate(121px,67px)}.map-step-1 .map-marker,.map-step-2 .map-marker{transform:translate(205px,49px)}.map-label{color:#5a6752;background:#f9faf0dc;border-radius:4px;padding:.25rem .35rem;font-size:.6rem;position:absolute;bottom:.45rem;right:.5rem}.demo-message{min-height:108px;padding-block:.8rem}.demo-message>span{color:#6b7564;font-size:.6rem}.demo-message h3{margin-top:.35rem;font-size:.9rem;font-weight:500}.demo-message p{color:#626d5c;margin-top:.35rem;font-size:.73rem;line-height:1.5}.demo-next{background:#dcebbb;border-radius:8px;justify-content:space-between;align-items:center;width:100%;min-height:40px;padding:.65rem .8rem;font-size:.75rem;display:flex}.demo-next:hover{background:#cce396}@keyframes product-reveal{0%,35%{opacity:0;transform:translate(-50%,-45%)scale(.93)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (width>=1600px){.product-overlay{width:280px}.demo-map{height:150px}}@media (width<=1050px) and (width>=721px){.product-overlay{width:235px}.product-demo{padding:14px}}@media (width<=720px){.product-overlay{width:225px}.product-demo{border-radius:22px;padding:13px}.demo-brand{margin-bottom:.7rem}.demo-map{height:98px}.demo-message{min-height:102px;padding-block:.65rem}.demo-next{min-height:44px}}.featured-project{background:#e4e7dc;border:1px solid #cbd1c0;grid-template-columns:1fr 1fr;gap:2.5rem 4rem;margin-bottom:2.5rem;padding:clamp(1.5rem,3vw,3rem);scroll-margin-top:2rem;display:grid}.featured-story h3{font:400 clamp(3.8rem, 6vw, 6.5rem)/1.1 var(--serif);letter-spacing:-.045em;justify-content:space-between;align-items:center;margin:1rem 0 .5rem;display:flex}.featured-story h3 span{font:300 .45em var(--sans);color:#78866b}.featured-subtitle{margin-bottom:1.2rem;font-size:1.15rem}.featured-summary{max-width:32rem;line-height:1.75}.project-stack{font:.75rem/1.8 var(--mono);color:var(--muted);margin-top:1.4rem}.featured-action{color:var(--paper);background:var(--ink);border-radius:2rem;align-items:center;gap:1.5rem;margin-top:1.5rem;padding:1rem 1.3rem;font-size:.875rem;display:inline-flex}.featured-action:hover{background:#46593a}.hero-actions .featured-action{margin-top:0}.hero-actions .secondary-button{color:var(--ink);border:1px solid var(--line);background:0 0}.hero-actions .secondary-button:hover{background:var(--accent)}.case-details{border-top:1px solid var(--line)}.featured-project>.case-details{grid-column:1/-1}.case-details summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:48px;padding:1rem 0;font-size:.875rem;list-style:none;display:flex}.case-details summary::-webkit-details-marker{display:none}.case-details summary:focus-visible{outline-offset:4px;outline:2px solid #526537}.case-details summary>span{font-size:1.4rem;transition:transform .3s}.case-details[open] summary>span{transform:rotate(45deg)}.case-detail-content{padding:1rem 0 1.5rem}.case-detail-content dl{grid-template-columns:1fr 1fr;gap:1.8rem 3rem;margin:0;display:grid}.case-detail-content dt{text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;font-size:.75rem}.case-detail-content dd{color:var(--muted);margin:0;font-size:.95rem;line-height:1.75}.case-note{color:var(--muted);max-width:54rem;margin-top:1.5rem;font-size:.8rem;line-height:1.65}.main-project{padding-bottom:1.2rem}.main-project .project-row{border-top:1px solid var(--line)}.main-project .case-details{margin-left:calc(7% + 1rem)}.supporting-heading{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:3rem;margin-top:3.5rem;padding-top:2rem;display:grid}.supporting-heading h3{font:400 clamp(2rem, 3vw, 3rem)/1.1 var(--serif);letter-spacing:-.025em}.supporting-heading p{color:var(--muted);font-size:.95rem;line-height:1.7}.supporting-projects{grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem;display:grid}.supporting-projects article{border-top:1px solid var(--line);padding-top:1.5rem}.supporting-projects h4{font:400 2rem/1.15 var(--serif);max-width:22rem;margin:1rem 0}.supporting-projects article>p:not(.eyebrow):not(.project-stack):not(.case-note){font-size:.95rem;line-height:1.75}.supporting-projects ul{color:var(--muted);padding-left:1.1rem;font-size:.875rem;line-height:1.75}.supporting-projects li+li{margin-top:.4rem}.supporting-projects .text-link{margin-top:.7rem}@media (width<=850px){.featured-project{gap:2rem}}@media (width<=720px){.featured-project{grid-template-columns:1fr;gap:1.8rem;margin-inline:-.25rem;padding:1.25rem}.case-detail-content dl{grid-template-columns:1fr;gap:1.5rem}.main-project .case-details{margin-left:2.5rem}.supporting-heading,.supporting-projects{grid-template-columns:1fr;gap:1.5rem}.supporting-projects{gap:2rem}.hero-actions{gap:.75rem}}.learning-overview{padding:1rem 0}.learning-overview>div{margin-top:1.5rem}.learning-overview>div p{font:400 1.65rem var(--serif);border-bottom:1px solid #bfc7b3;gap:1.5rem;padding:1rem 0;display:flex}.learning-overview>div p span{font:.7rem var(--mono);color:var(--muted);align-self:center}.learning-overview .featured-action{font-size:.8rem}@media (width<=720px){.learning-overview{padding:0}.learning-overview>div p{font-size:1.4rem}}.testamix-experience{border-top:1px solid var(--line);grid-column:1/-1;min-width:0;padding-top:2rem;scroll-margin-top:1.5rem}.testamix-experience-heading{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.testamix-experience-heading h4{font:400 clamp(2rem, 3.4vw, 3.2rem)/1.12 var(--serif);margin:.7rem 0}.testamix-experience-heading p:not(.eyebrow){max-width:40rem;color:var(--muted);font-size:.9rem;line-height:1.7}.experience-close{white-space:nowrap;background:0 0;border:1px solid #b7c1ad;border-radius:2rem;align-items:center;gap:1rem;min-height:44px;padding:.65rem 1rem;font-size:.8rem;display:flex}.experience-close span{font-size:1.3rem}.story-chapters{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2rem;display:grid}.story-chapters button{text-align:left;background:0 0;align-items:center;gap:.7rem;min-height:55px;padding:.9rem 0;font-size:1rem;display:flex;position:relative}.story-chapters button>span:first-child{font:.7rem var(--mono);color:var(--muted)}.chapter-line{background:#bec7b4;width:100%;height:2px;position:absolute;bottom:0;left:0}.chapter-line:after{content:"";width:0;height:100%;transition:width .5s var(--ease);background:#33462b;display:block}.story-chapters button[aria-pressed=true] .chapter-line:after{width:100%}.story-chapters button[aria-pressed=true]{font-weight:600}.product-theatre{background:radial-gradient(at 50% 45%,#f9faf4 0,#edf0e5 55%,#d4decc 100%);border:1px solid #c5cebb;border-radius:8px;margin-top:1.5rem;position:relative;overflow:hidden}.product-theatre-meta{font:.65rem var(--mono);color:#52634b;justify-content:space-between;align-items:center;gap:1rem;min-height:48px;padding:.7rem 1.2rem;display:flex}.product-theatre-meta button{font:inherit;background:0 0;min-height:44px;padding:.3rem .5rem}.product-theatre-stage{height:clamp(430px,44vw,610px);position:relative}.product-theatre-stage:before{content:"";filter:blur(16px);background:#40523928;border-radius:50%;width:66%;height:7%;position:absolute;bottom:4%;left:17%}.product-flat-view{padding:1.5rem;position:relative}.product-loading-preview{z-index:40;background:#edf0e5;position:absolute;inset:0;overflow:auto}.stage-loading .product-screen-anchor{visibility:hidden}.is-flat .product-theatre-stage{height:auto}.product-screen-anchor .learning-screen{width:920px;height:490px}.product-screen-anchor{transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.learning-screen{--product-purple:#6750a4;--product-border:#e5e4ed;border:1px solid var(--product-border);color:#242532;font-family:var(--sans);background:#fcfcfe;border-radius:12px;overflow:hidden;box-shadow:0 16px 28px #23342212}.learning-screen button{touch-action:manipulation}.learning-screen-bar{border-bottom:1px solid var(--product-border);color:#696678;align-items:center;gap:22px;min-height:52px;padding:12px 24px;font-size:12px;display:flex}.learning-screen-bar strong{color:#353044;font-size:17px}.learning-screen-bar strong>span{background:var(--product-purple);color:#fff;width:28px;height:28px;font-family:var(--serif);border-radius:8px;place-items:center;margin-right:6px;display:inline-grid}.screen-window-dots{letter-spacing:4px;color:#b7b2c6;margin-left:auto}.learning-screen-path{border-bottom:1px solid var(--product-border);color:#70697c;align-items:center;gap:10px;padding:14px 24px;font-size:12px;display:flex}.learning-screen-path strong{color:#3a3346;font-weight:500}.screen-mode{color:#5b408b;background:#ede8f8;border-radius:14px;margin-left:auto;padding:5px 12px}.learning-screen-body{animation:screen-enter .55s var(--ease);padding:25px 30px}.screen-editor,.screen-quiz,.screen-review{grid-template-columns:1fr 1fr;gap:32px;display:grid}.screen-label{text-transform:uppercase;letter-spacing:.09em;color:#777081;margin-bottom:12px;font-size:10px;font-weight:500}.learning-screen h4{font:500 23px/1.3 var(--sans);letter-spacing:-.035em;margin:0 0 20px}.screen-formats{gap:5px;margin-bottom:18px;display:flex}.screen-formats button{background:#f2f0f7;border-radius:6px;min-height:40px;padding:9px 13px;font-size:12px}.screen-formats button[aria-pressed=true]{color:#513681;background:#e6def6}.screen-definition{color:#746e7c;font-size:13px;line-height:1.65}.screen-material .screen-definition{background:#f2eff8;border-radius:10px;padding:24px;font-size:18px}.screen-editor-fields{border-left:1px solid var(--product-border);padding-left:32px}.screen-answer{background:#f4f2f8;border:1px solid #e3deed;border-radius:8px;margin-bottom:18px;padding:14px;font-size:18px}.water-cycle{background:#eff3ee;border-radius:12px;padding:8px 12px 14px}.water-cycle svg{width:100%;height:155px;display:block}.water-hill{fill:#ccd8c8}.water-surface{fill:#a0c3c4}.water-sun{fill:#dfce8b}.water-cloud{fill:#fafcf8;stroke:#ccd8c8;stroke-width:2px}.water-trail{fill:none;stroke:#718d89;stroke-width:2px;stroke-dasharray:6 5}.water-rain{fill:none;stroke:#799ca9;stroke-width:3px;stroke-linecap:round}.water-cycle-animated .water-trail{animation:3s linear 2 water-flow}.water-cycle ol{color:#596b60;justify-content:space-between;gap:8px;margin:4px 0 0;padding:0;font-size:10px;list-style:none;display:flex}.water-cycle li span{font:9px var(--mono);margin-bottom:3px;display:block}.screen-quiz .water-cycle svg{height:118px}.screen-quiz .water-cycle ol{display:none}.screen-quiz-options{align-content:start;gap:10px;padding-top:15px;display:grid}.screen-quiz-options button{text-align:left;background:#f8f7fb;border:1px solid #e2deeb;border-radius:8px;align-items:center;gap:12px;min-height:55px;padding:10px 16px;font-size:15px;display:flex}.screen-quiz-options button span:first-child{font:11px var(--mono);color:#877f94}.screen-quiz-options button span:last-child{margin-left:auto}.screen-quiz-options button[data-answer=correct]{background:#e8f0df;border-color:#8aa574}.screen-quiz-options button[data-answer=wrong]{background:#f6e9e5;border-color:#be8f7a}.screen-feedback{color:#5a5366;min-height:44px;margin-top:6px;font-size:13px;line-height:1.6}.screen-game-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.screen-game-heading h4{margin-bottom:14px}.screen-score{font:36px var(--serif);color:#6750a4;white-space:nowrap}.screen-score small{color:#aca5ba;font-size:20px}.screen-pairs{grid-template-columns:1fr 1fr;gap:12px;display:grid}.screen-pairs button{text-align:left;background:#f4f0fb;border:1px solid #d9d0e9;border-radius:10px;align-items:center;gap:16px;min-height:76px;padding:16px 20px;font-size:16px;transition:background .2s,transform .2s;display:flex}.screen-pairs button span{color:#8870b0}.screen-pairs button[aria-pressed=true]{background:#e2d7f4;border-color:#8060ab;transform:translateY(-3px)}.screen-pairs button:disabled{color:#486039;background:#e8efe0;border-color:#aec59b}.screen-game-footer{color:#746780;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;font-size:12px;display:flex}.screen-game-footer button{background:0 0;min-height:44px;padding:8px;font-size:12px;text-decoration:underline}.screen-review dl{margin:16px 0}.screen-review dl>div{border-bottom:1px solid var(--product-border);justify-content:space-between;gap:15px;padding:14px 0;font-size:14px;display:flex}.screen-review dd{color:#654992;margin:0;font-weight:500}.screen-review-action{color:#fff;background:#6750a4;border-radius:8px;min-height:44px;padding:12px 16px;font-size:13px}.screen-review-action span{margin-left:10px}.screen-review-modes{background:#f4f1f8;border-radius:12px;padding:20px}.screen-mode-item{border-bottom:1px solid #e3dced;padding:14px 0;font-size:14px}.screen-mode-item span{font:10px var(--mono);color:#8c7b9f;margin-right:10px}.screen-review-modes .screen-definition{margin-top:15px;font-size:11px}.story-caption{justify-content:space-between;align-items:center;gap:2rem;padding-top:1.5rem;display:flex}.story-caption h5{font:400 1.8rem/1.2 var(--serif);margin:0 0 .5rem}.story-caption p{color:var(--muted);max-width:42rem;font-size:.875rem;line-height:1.7}.story-pagination{white-space:nowrap;font:.7rem var(--mono);align-items:center;gap:.7rem;display:flex}.story-pagination button{background:0 0;border:1px solid #b4bfa8;border-radius:50%;width:44px;height:44px;font-size:1rem}.story-pagination button:disabled{opacity:.35}.story-note{color:var(--muted);margin-top:1.5rem;font-size:.75rem;line-height:1.6}.project-evidence{border-top:1px solid #c4cbb9;max-width:34rem;margin-top:1rem;padding-top:1rem;font-size:.875rem;line-height:1.7}.project-evidence strong{font-weight:500}.project-open{position:relative}.project-open-caption{font:.65rem var(--sans);white-space:nowrap;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%)}@keyframes water-flow{to{stroke-dashoffset:-44px}}@keyframes screen-enter{0%{opacity:.2;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media (width<=760px){.testamix-experience-heading{flex-direction:column;gap:1rem}.testamix-experience-heading h4{font-size:2.2rem}.story-chapters{gap:.6rem;margin-top:1rem}.story-chapters button{flex-direction:column;align-items:flex-start;gap:.3rem;padding-bottom:.7rem;font-size:.8rem}.product-flat-view{padding:.6rem}.product-theatre-meta{padding:.75rem;font-size:.6rem}.learning-screen-bar{gap:8px;padding:12px;font-size:10px}.learning-screen-bar strong{font-size:14px}.screen-window-dots{display:none}.learning-screen-path{flex-wrap:wrap;gap:5px;padding:12px;font-size:10px}.learning-screen-path>span:first-child,.learning-screen-path>span:nth-child(2){display:none}.learning-screen-body{padding:18px 14px}.screen-editor,.screen-quiz,.screen-review{grid-template-columns:1fr;gap:20px}.screen-editor-fields{border-left:0;border-top:1px solid var(--product-border);padding:18px 0 0}.learning-screen h4{font-size:20px}.screen-definition{font-size:12px}.screen-quiz .water-cycle{display:none}.screen-quiz-options{padding-top:0}.screen-pairs{gap:8px}.screen-pairs button{gap:7px;min-height:74px;padding:12px 8px;font-size:12px}.screen-game-heading h4{font-size:18px}.screen-game-footer{flex-direction:column;align-items:flex-start;font-size:12px}.screen-review-modes{padding:14px}.screen-review dl>div,.screen-mode-item{font-size:12px}.story-caption{flex-direction:column;align-items:flex-start;gap:1rem}.story-caption h5{font-size:1.6rem}.story-note{font-size:.7rem}.screen-formats button{min-height:44px;padding:9px 10px}.water-cycle ol{font-size:8px}}:root{--section-space:clamp(3rem, 5vw, 5rem)}.site-header{flex-wrap:wrap;padding-block:.5rem}.header-tools{flex-wrap:wrap;max-width:100%;margin-left:auto}.cv-link{max-width:100%}.hero-copy,.featured-story,.learning-overview,.profile-story,.contact>div,.project-description,.project-name,.supporting-projects article,.supporting-heading>*,.case-detail-content,.case-detail-content dl>div{overflow-wrap:anywhere;min-width:0}.featured-action{max-width:100%}.featured-project{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-bottomline{flex-wrap:wrap}.stage-bottomline span:first-child{white-space:normal}.contact-links a{overflow-wrap:anywhere}.hero{min-height:640px}.hero-proof{flex-wrap:wrap;gap:1.3rem;margin:1.7rem 0 0;padding:0;list-style:none;display:flex}.hero-proof li{border-left:1px solid #bcc5b2;gap:.35rem;padding-left:.8rem;font-size:.7rem;display:grid}.hero-proof strong{font-size:.75rem;font-weight:500}.hero-proof span{color:var(--muted)}.sculpture-poster{width:100%;height:100%}.sculpture-shadow{fill:#46553d15;filter:blur(9px)}.sculpture-frame{fill:none;stroke-width:14px;transform-origin:300px 265px}.sculpture-frame-one{stroke:#6f8178;transform:rotate(-28deg)skewY(10deg)}.sculpture-frame-two{stroke:#c2cbbd;transform:rotate(36deg)skewY(-12deg)}.sculpture-frame-three{stroke:#30483c;transform:rotate(-10deg)skew(18deg)}.sculpture-highlight{stroke:#eff2e4;stroke-width:1.7px;opacity:.6}.project-description .project-role{color:var(--muted);margin-top:.9rem;font-size:.8rem;line-height:1.65}.project-experience{border:1px solid var(--line);background:#e7ebe2;min-width:0;margin:.5rem 0 2rem;padding:2rem;scroll-margin-top:1.5rem}.project-experience .story-chapters{grid-template-columns:repeat(3,1fr)}.project-story-layout{grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);align-items:center;gap:2rem;margin-top:1.5rem;display:grid}.project-story-explanation{padding:1rem}.story-value{font:400 clamp(4rem, 7vw, 7rem)/1 var(--serif);letter-spacing:-.05em;color:#62785c;margin-bottom:.7rem;display:block}.story-value-label{font:.72rem/1.5 var(--mono);color:#4e6050;margin-bottom:1.2rem}.project-story-explanation h5{font:400 2.1rem/1.15 var(--serif);margin:0 0 .9rem}.project-story-explanation>p:not(.story-value-label){color:var(--muted);font-size:.9rem;line-height:1.8}.project-story-explanation .story-pagination{margin-top:1.5rem}.project-story-visual{background:radial-gradient(at 50% 40%,#f4f6ed 10%,#d8e1d2 100%);border:1px solid #c5cebb;border-radius:10px;min-width:0;overflow:hidden}.project-view-control{min-height:50px;font:.65rem var(--mono);color:#52634b;justify-content:flex-end;align-items:center;padding:.7rem 1rem;display:flex}.project-view-control button{font:inherit;background:0 0;min-height:44px;padding:.3rem .5rem}.project-scene-area{height:560px;position:relative}.project-scene-loading{z-index:40;background:#e7ece0;position:absolute;inset:0}.platform-diagram{width:100%;height:100%;display:block}.platform-sheet{fill:#f8faf1;stroke:#6c8474;stroke-width:1.2px}.platform-sheet.sheet-1,.platform-sheet.sheet-2{fill:#c3d1c1}.platform-sheet-line{stroke:#758f7c;stroke-width:1px}.platform-diagram-base{fill:#d1dbcd;stroke:#a4b79d}.platform-diagram-route{stroke:#6b8b74;stroke-width:1.5px}.platform-diagram-node{fill:#385847}.care-screen{width:300px;height:500px}.care-screen .product-demo{height:100%;box-shadow:none;flex-direction:column;padding:18px;display:flex}.care-screen .demo-brand{margin-bottom:12px;font-size:14px}.care-screen .demo-person{margin-bottom:12px}.care-screen .demo-person strong{font-size:16px}.care-screen .demo-person div>span{font-size:12px}.care-screen .demo-map{flex-shrink:0;height:155px}.care-screen .demo-message{flex:1;min-height:0;padding-block:16px}.care-screen .demo-message h5{margin:6px 0 0;font-size:17px;font-weight:500}.care-screen .demo-message p{font-size:14px;line-height:1.5}.care-screen .demo-next{min-height:44px;font-size:13px}.care-flat-view{place-items:center;height:100%;padding:1rem;display:grid}.care-flat-view .care-screen{border:5px solid #526b60;border-radius:26px;height:auto;min-height:510px;box-shadow:5px 7px #36504645}.care-flat-view .product-demo{min-height:500px}.map-background{fill:#e7eadf}.map-roads{stroke:#fcfcf7;stroke-width:13px;fill:none}.map-road-edges{stroke:#cfd5c7;stroke-width:1px;fill:none}.map-park{fill:#cfdbbe}.map-zone{fill:#87a975;fill-opacity:.12;stroke:#7a9a66;stroke-dasharray:4 4}.map-marker-ring{fill:#fff}.map-marker-dot{fill:#384d3d}.demo-message h5{margin-top:.35rem;font-size:.9rem;font-weight:500}@media (width<=1000px){.project-story-layout{grid-template-columns:1fr 1fr;gap:1rem}.project-story-explanation{padding:.5rem}.project-story-explanation h5{font-size:1.8rem}.experience-basf .project-scene-area{height:380px}}@media (width<=760px){.project-row{grid-template-columns:1.5rem minmax(0,1fr) 3rem}.case-detail-content dl,.featured-project{grid-template-columns:minmax(0,1fr)}.learning-overview>div p{gap:.65rem}.featured-action{gap:.75rem}.project-experience{margin-inline:-.25rem;padding:1.1rem}.project-story-layout{grid-template-columns:1fr;gap:1rem}.project-story-visual{grid-row:1}.project-story-explanation{grid-row:2;padding:.3rem}.story-value{display:none}.story-value-label{margin:0 0 .7rem}.project-scene-area{height:auto;min-height:530px}.experience-basf .project-scene-area{height:270px;min-height:0}.care-flat-view{padding:.65rem}.care-flat-view .care-screen{width:min(300px,100%)}.care-screen .product-demo{padding:14px}.care-screen .demo-message h5{font-size:16px}.hero-proof{gap:1rem}.hero-proof li{font-size:.65rem}.stage-intro{height:320px}}@media (width<=360px){.care-screen .demo-message p{font-size:13px}.care-screen .demo-map{height:140px}.project-experience{padding:.75rem}}
