/* Reference-inspired presentation layer. Project data and interactions stay in their modules. */
:root{--display:'Playfair Display',Georgia,serif;--body:'DM Sans',Arial,sans-serif}
html{scroll-padding-top:112px}.section-shell{width:min(1420px,90%)}
.site-header{position:sticky;top:0;z-index:20;width:100%;min-height:99px;padding:0 5%;background:#101110f2;backdrop-filter:blur(14px);border-bottom:1px solid #f4f0e71b}
.wordmark{font-family:var(--body);font-size:20px;line-height:.94;letter-spacing:-.9px;font-weight:600}
.site-nav{gap:36px;font-size:10px;letter-spacing:1.1px;text-transform:uppercase}.site-nav a{padding:14px 0}.site-nav a:last-child span{color:var(--accent)}.motion-toggle{font-size:9px;color:#c0c3b9;gap:10px}.motion-toggle:hover{color:var(--accent)}
.hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8%;min-height:min(960px,calc(100svh - 99px));padding-top:65px;padding-bottom:66px}
.hero-eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:28px;color:#c2c5bb}
.hero h1{font-family:var(--display);font-size:clamp(76px,7.7vw,124px);font-weight:400;line-height:.98;letter-spacing:-.04em;margin:0 0 28px;text-transform:uppercase}
.hero h1>span{animation:reference-arrive 950ms cubic-bezier(.19,1,.22,1) both}.hero h1>span:nth-child(2){animation-delay:.1s}.hero h1>span:nth-child(3){animation-delay:.2s}.hero h1 em{font-style:italic;text-transform:none;font-weight:400}
.hero-intro{font-size:16px;line-height:1.85;color:#c0c4b9;max-width:460px;margin-bottom:26px}.hero-actions{gap:15px}
.action-primary,.action-text{min-height:52px;padding:14px 24px;border:1px solid var(--accent);border-radius:100px;font-size:11px;font-weight:600;gap:25px;transition:background .25s,color .25s,border-color .25s}
.action-text{border-color:#aaa47e;font-weight:400;justify-content:space-between;color:var(--light)}.action-text:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}.action-primary:hover{background:#ffe19a}
.hero-signoff{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:460px;margin-top:28px}.hero-footnote{font-size:10px;color:#a1a79b;line-height:1.9;margin:0}
.explore-orbit{flex:0 0 77px;width:77px;height:77px;border:1px solid #958453;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:var(--accent);transition:background .3s,color .3s,transform .3s}.explore-orbit>span{font-size:7px;letter-spacing:1.2px;line-height:1.6}.explore-orbit>b{font-size:27px;line-height:1.1;font-weight:400}.explore-orbit:hover{background:var(--accent);color:var(--ink);transform:translateY(4px)}
.hero-portrait{width:100%;max-width:470px;justify-self:end;align-self:center}.hero-portrait img{aspect-ratio:3/4;object-position:50% 24%;border:0;filter:none;box-shadow:0 32px 90px #0005}.hero-portrait figcaption{font-size:8px;letter-spacing:1px;padding-top:17px;color:#acb3a4}.hero-portrait figcaption>span:last-child{color:var(--accent);max-width:none}
.type-crossing{position:relative;isolation:isolate;height:clamp(150px,15vw,225px);overflow:hidden;margin:26px 0 15px}.type-band{position:absolute;width:112%;left:-6%;overflow:hidden;padding:12px 0;box-shadow:0 5px 22px #0002}.type-band--chalk{top:28%;background:#a9ad9f;color:#131610;transform:rotate(-4deg)}.type-band--gold{top:37%;z-index:1;background:var(--accent);color:#141610;transform:rotate(4deg)}.type-track{display:flex;width:max-content;animation:reference-type-slide 57s linear infinite}.type-band--gold .type-track{animation-direction:reverse;animation-duration:65s}.type-track>span{font-family:var(--display);font-size:clamp(22px,2.8vw,45px);line-height:1.35;letter-spacing:-.6px;white-space:nowrap;padding-right:35px}.type-track i{font-family:var(--body);font-style:normal;font-size:.6em;vertical-align:middle;margin:0 26px}
.work{padding-top:75px;padding-bottom:110px}.work-heading{gap:60px;margin-bottom:39px}.work-heading h2,.about h2,.film-copy h2,.contact h2{font-family:var(--display);font-weight:400;line-height:1.06;letter-spacing:-.04em}.work-heading h2{font-size:clamp(48px,5.9vw,87px)}.work-heading h2 em,.about h2 em,.contact h2 em{color:var(--accent);font-style:italic}.work-heading>p{font-size:13px;line-height:1.95;color:#b9c0b1;max-width:295px}
.work-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:0 0 34px}.work-shortcuts button{min-width:0;min-height:96px;padding:19px 0 16px;border:0;border-top:1px solid #5f644f;background:transparent;text-align:left;color:var(--light)}.work-shortcuts small{display:block;font-size:8px;line-height:1.7;letter-spacing:1.3px;color:#afb5a7;margin-bottom:13px}.work-shortcuts button>span{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:15px;line-height:1.6}.work-shortcuts b{font-size:22px;font-weight:400;color:var(--accent);transition:transform .25s}.work-shortcuts button:hover{border-color:var(--accent);color:var(--accent)}.work-shortcuts button:hover b{transform:translate(3px,-3px)}
.film-feature{grid-template-columns:1.45fr 1fr;padding-top:90px;padding-bottom:100px}.film-screen,.film-screen-footer{border-color:#4f523f}.film-copy h2{font-size:clamp(39px,4.1vw,63px);margin-bottom:24px}.film-copy h2 em{font-style:italic}.film-copy>p:not(.eyebrow){line-height:1.95;color:#b9c0b1}.film-copy .action-text{margin-top:7px}
.about{grid-template-columns:1.05fr 1fr;padding-bottom:85px}.about h2{font-size:clamp(44px,4.2vw,65px)}.about-body .lead{font-family:var(--display);font-size:29px;line-height:1.4;letter-spacing:-.5px}.about-body>p{line-height:1.95}.practice-list h3{font-family:var(--display);font-size:26px;font-weight:400;line-height:1.3}.experience-row h3{font-family:var(--display);font-size:27px;font-weight:400;line-height:1.45}
.contact{padding-top:85px;padding-bottom:85px}.contact h2{font-size:clamp(51px,6.1vw,94px)}.contact-arrow{display:grid;place-items:center;flex:0 0 130px;width:130px;height:130px;padding:0;border:1px solid #b5984c;border-radius:50%;font-family:var(--body);font-size:77px;transition:background .3s,color .3s,transform .3s}.contact-arrow:hover{background:var(--accent);color:var(--ink)}.contact-bottom>a{font-family:var(--display);font-size:clamp(20px,2.6vw,37px)}.footer-name{font-family:var(--body);font-weight:600}
@keyframes reference-arrive{from{transform:translateY(32px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes reference-type-slide{to{transform:translateX(-50%)}}
html[data-motion="paused"] .type-track{animation-play-state:paused}html[data-motion="paused"] .hero h1>span{animation:none}
@media(max-width:1150px){.hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:7%;min-height:0;padding-top:60px;padding-bottom:55px}.hero h1{font-size:clamp(72px,7.8vw,90px)}.hero-intro{font-size:15px}.hero-eyebrow{font-size:8px;letter-spacing:1.1px}.hero-actions{gap:11px}.action-primary,.action-text{padding-right:20px;padding-left:20px;gap:19px}.hero-portrait figcaption{font-size:7px}.work-heading{gap:45px}.experience-row h3{font-size:24px}.contact-arrow{flex-basis:112px;width:112px;height:112px;font-size:67px}}
@media(max-width:850px){.site-header{min-height:91px}.site-nav{gap:25px;font-size:9px}.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6%;padding-top:50px}.hero h1{font-size:clamp(63px,8.6vw,76px)}.hero-eyebrow{font-size:7px;letter-spacing:.9px}.hero-intro{font-size:14px}.hero-actions{gap:12px}.action-primary,.action-text{font-size:10px;padding:12px 18px;min-height:48px}.hero-signoff{margin-top:23px}.explore-orbit{flex-basis:67px;width:67px;height:67px}.hero-footnote{font-size:9px}.hero-portrait img{aspect-ratio:2/3}.hero-portrait figcaption{font-size:6px;letter-spacing:.8px;gap:10px}.type-crossing{margin:20px 0 0;height:163px}.type-band{padding:13px 0}.type-track>span{font-size:25px}.work{padding-top:53px;padding-bottom:75px}.work-heading h2{font-size:58px}.work-heading>p{max-width:265px;font-size:12px}.work-shortcuts{gap:20px}.work-shortcuts small{font-size:7px;letter-spacing:.9px}.work-shortcuts button>span{font-size:12px}.film-feature{grid-template-columns:1fr;gap:34px;padding:65px 0}.film-copy{max-width:680px}.film-copy h2{font-size:56px}.about{grid-template-columns:1fr;gap:36px;padding:70px 0}.about h2{font-size:56px;max-width:690px}.about-body{max-width:690px}.experience-row h3{font-size:24px}.contact{padding-top:65px;padding-bottom:65px}.contact h2{font-size:61px}.contact-arrow{flex-basis:96px;width:96px;height:96px;font-size:57px}}
@media(max-width:600px){.site-header{min-height:91px;gap:13px;flex-wrap:wrap;padding:17px 5% 11px}.wordmark{font-size:19px}.site-nav{gap:17px;font-size:8px;letter-spacing:.7px;margin-left:auto}.motion-toggle{font-size:8px;min-height:44px;padding:5px 0;width:100%;justify-content:flex-end;margin-top:-12px}.hero{grid-template-columns:1fr;padding-top:36px;padding-bottom:33px;gap:37px}.hero h1{font-size:clamp(65px,17vw,97px);line-height:1.01;margin-bottom:25px}.hero-eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:23px}.hero-intro{font-size:15px;max-width:455px;margin-bottom:24px}.hero-actions{gap:12px}.action-primary,.action-text{font-size:10px;padding:13px 19px;min-height:49px}.hero-signoff{max-width:440px;margin-top:23px}.hero-footnote{font-size:9px}.explore-orbit{flex-basis:68px;width:68px;height:68px}.hero-portrait{justify-self:start;max-width:440px}.hero-portrait img{aspect-ratio:4/5;object-position:50% 25%}.hero-portrait figcaption{font-size:8px;letter-spacing:.8px;padding-top:13px}.type-crossing{height:153px;margin-top:27px;margin-bottom:0}.type-band--chalk{transform:rotate(-6deg);top:25%}.type-band--gold{transform:rotate(5deg);top:37%}.type-track>span{font-size:23px;padding-right:26px}.type-track i{margin:0 22px}.work{padding-top:40px;padding-bottom:58px}.work-heading{display:block;margin-bottom:27px}.work-heading h2{font-size:54px}.work-heading>p{max-width:400px;font-size:12px;margin:22px 0 0}.work-shortcuts{grid-template-columns:1fr;gap:0;margin-bottom:25px}.work-shortcuts button{min-height:73px;padding:13px 0}.work-shortcuts small{font-size:7px;margin-bottom:5px;letter-spacing:1px}.work-shortcuts button>span{font-size:13px}.work-shortcuts b{font-size:20px}.film-feature{padding-top:54px;padding-bottom:55px;gap:30px}.film-copy h2{font-size:48px}.about{padding-top:55px;padding-bottom:49px;gap:28px}.about h2{font-size:47px}.about-body .lead{font-size:27px}.practice-list h3{font-size:25px}.experience-row h3{font-size:28px}.contact{padding-top:49px;padding-bottom:51px}.contact-heading{gap:16px;align-items:flex-end}.contact h2{font-size:46px}.contact-arrow{flex-basis:61px;width:61px;height:61px;font-size:36px;margin-bottom:5px}.contact-bottom>a{font-size:25px}}
@media(min-width:601px) and (max-width:720px){.hero{grid-template-columns:1fr;gap:38px}.hero h1{font-size:clamp(84px,13vw,96px)}.hero-portrait{max-width:440px;justify-self:start}.hero-portrait img{aspect-ratio:4/5}.hero-portrait figcaption{font-size:8px}}
@media(max-width:360px){.hero h1{font-size:60px}.hero-eyebrow{font-size:7px;letter-spacing:.7px}.site-nav{gap:13px;font-size:7px}.hero-actions{gap:10px}.action-primary,.action-text{padding-right:16px;padding-left:16px;font-size:9px;gap:14px}.contact h2{font-size:38px}.contact-arrow{flex-basis:52px;width:52px;height:52px;font-size:31px}.work-heading h2{font-size:46px}.about h2{font-size:41px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.type-track,.hero h1>span{animation:none!important}.hero h1>span{opacity:1;transform:none}.action-primary,.action-text,.explore-orbit,.contact-arrow,.work-shortcuts b{transition:none!important}}
/* Amy's own motion language: floating practice labels rather than crossing type bands. */
.signal-field{min-height:180px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:15px 28px;padding:35px 6%;background:radial-gradient(circle at 15% 25%,#314852 0,transparent 35%),radial-gradient(circle at 84% 68%,#5a3040 0,transparent 37%),#17191b;border-block:1px solid #ffffff22;overflow:hidden}
.signal-field span{display:inline-block;border:1px solid #ffffff5b;border-radius:100px;padding:13px 22px;font-family:var(--body);font-size:clamp(11px,1.35vw,19px);font-weight:500;letter-spacing:.04em;white-space:nowrap;animation:signal-float 5s ease-in-out infinite alternate}
.signal-field span:nth-child(2){color:#b4e7d0;border-color:#b4e7d0;animation-delay:-1.2s}.signal-field span:nth-child(3){color:#f5a899;border-color:#f5a899;animation-delay:-2.1s}.signal-field span:nth-child(4){color:#f7d781;border-color:#f7d781;animation-delay:-3s}.signal-field span:nth-child(5){color:#b4c5f8;border-color:#b4c5f8;animation-delay:-4s}.signal-field span:nth-child(6){color:#e5b6de;border-color:#e5b6de;animation-delay:-1.7s}
@keyframes signal-float{to{transform:translateY(-10px) rotate(1.8deg)}}
.book-root .book-page--tone-blue.book-page--left{background:linear-gradient(90deg,#d9eaf1,#e6f2f0 88%,#c0d9db)}.book-root .book-page--tone-blue.book-page--right{background:linear-gradient(90deg,#c0d9db,#e9f3f2 8%,#e7f0f6)}
.book-root .book-page--tone-rose.book-page--left{background:linear-gradient(90deg,#f4e2e6,#f7ebed 88%,#dbbec8)}.book-root .book-page--tone-rose.book-page--right{background:linear-gradient(90deg,#dbbec8,#f9ebef 8%,#f2e2e7)}
.book-root .book-page--tone-dark.book-page--left{background:linear-gradient(90deg,#d7e4d7,#e5eee5 88%,#c0d5c3)}.book-root .book-page--tone-dark.book-page--right{background:linear-gradient(90deg,#c0d5c3,#e9f0e6 8%,#dceadf)}
.book-root .book-page--tone-sand.book-page--left{background:linear-gradient(90deg,#f3e7cf,#f8edda 88%,#dfcba6)}.book-root .book-page--tone-sand.book-page--right{background:linear-gradient(90deg,#dfcba6,#f7eddb 8%,#f1e0bf)}
.book-root .book-artbox{border-radius:5px;overflow:hidden}.book-root .book-image{box-shadow:0 12px 30px #20202020}
.systems-review{padding-top:110px;padding-bottom:120px;border-top:1px solid #ffffff25}.systems-review h2,.visual-archive h2{font-size:clamp(48px,5vw,80px);font-weight:400;line-height:1.05;letter-spacing:-.04em}.systems-review h2 em{font-style:italic;color:#c7d2ac}.systems-intro{max-width:730px;font-size:17px;line-height:1.8;color:#c4c7bd;margin-bottom:42px}.systems-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.systems-grid article{background:#222722;border:1px solid #ffffff32;padding:35px;min-height:260px}.systems-grid article:nth-child(2){background:#232c33}.systems-grid article:nth-child(3){background:#392b32}.systems-grid article:nth-child(4){background:#2b2d25}.systems-grid span{color:#dfc889;font-size:9px;letter-spacing:.15em}.systems-grid h3{font-size:clamp(26px,3vw,40px);font-weight:400;margin:30px 0 17px}.systems-grid p,.systems-note{color:#d5d8d1;font-size:13px;line-height:1.9}.systems-note{max-width:800px;margin:29px 0 0;color:#b9c0b7}
.visual-archive{padding-top:85px;padding-bottom:115px;border-top:1px solid #ffffff25}.archive-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.archive-heading>p{max-width:320px;font-size:13px;line-height:1.8;color:#bac0b7}.archive-carousel{display:grid;grid-template-columns:60px minmax(0,1fr) 60px;gap:15px;align-items:center;margin-top:25px}.archive-carousel>button{border:1px solid #8c907e;background:transparent;color:#f0ead9;border-radius:50%;width:54px;height:54px;font-size:27px}.archive-carousel>button:hover{background:#e5c876;color:#17191b}.archive-frame{background:#e9e4d9;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(200px,.65fr);min-height:440px;color:#252726}.archive-frame img{width:100%;height:440px;object-fit:contain;background:#fff}.archive-frame>div{padding:45px;display:flex;flex-direction:column;justify-content:space-between}.archive-frame span{font-size:10px;letter-spacing:.15em}.archive-frame p{font:400 clamp(24px,2.6vw,39px)/1.2 var(--display)}
.detail-carousel{margin:45px 0;border-top:1px solid #b8b6ae;padding-top:25px}.detail-carousel-top{display:flex;justify-content:space-between;align-items:center}.detail-carousel-top h3{font-size:30px;font-weight:400}.detail-carousel-top span{font-size:11px;letter-spacing:.1em}.detail-carousel-stage figure{margin:0}.detail-carousel-stage img{display:block;width:100%;height:min(64vw,530px);object-fit:contain;background:#e8e8e3}.detail-carousel-stage figcaption{margin-top:13px;font-size:13px;line-height:1.6}.detail-carousel-controls{display:flex;justify-content:space-between;gap:15px;margin-top:22px}.detail-carousel-controls button{border:1px solid #727368;padding:12px 18px;background:transparent;color:inherit}.detail-carousel-controls button:hover{background:#242928;color:#fff}.contact-arrow{cursor:pointer;background:transparent}.contact-method{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.contact-method>a{font:400 clamp(20px,2.6vw,37px)/1.5 var(--display);border-bottom:1px solid #70756b;overflow-wrap:anywhere}.contact-method button{background:none;border:0;color:#e9cc85;padding:7px 0;text-decoration:underline}.contact-method [role=status]{font-size:11px;min-height:1em}
@media(max-width:760px){.signal-field{min-height:150px;gap:10px;padding:30px 4%}.signal-field span{font-size:10px;padding:10px 13px}.systems-grid{grid-template-columns:1fr}.archive-heading{display:block}.archive-carousel{grid-template-columns:40px minmax(0,1fr) 40px;gap:5px}.archive-carousel>button{width:38px;height:38px;font-size:20px}.archive-frame{grid-template-columns:1fr;min-height:0}.archive-frame img{height:310px}.archive-frame>div{padding:20px}.archive-frame p{font-size:25px;margin:15px 0 0}.visual-archive,.systems-review{padding-block:65px}}
@media(prefers-reduced-motion:reduce){.signal-field span{animation:none}}html[data-motion="paused"] .signal-field span{animation:none}
.actual-lms-hero{margin:26px 0 0}.actual-lms-hero img{width:100%;height:auto;max-height:450px;object-fit:contain;background:#fff}.actual-lms-hero figcaption{font-size:11px;color:#5c615c;margin-top:10px}.learning-reconstruction-label{border-top:1px solid #999;margin-top:35px;padding-top:20px}.learning-reconstruction-label strong{font:400 27px var(--display)}.learning-reconstruction-label p{font-size:11px;color:#555;line-height:1.7;margin:9px 0 20px}.contact-method>a.contact-linkedin{font:500 12px var(--body);border:0;color:#e5c876;text-decoration:underline}
/* Image-led project navigation: Amy's source work, with restrained motion on hover. */
.project-lenses{padding-top:76px;padding-bottom:110px}.lenses-heading{display:grid;grid-template-columns:1.2fr 1fr;column-gap:7%;align-items:end;margin-bottom:30px}.lenses-heading .eyebrow{grid-column:1/-1;color:#e5cd8a}.lenses-heading h2{font-family:var(--display);font-size:clamp(43px,5.2vw,78px);font-weight:400;line-height:1.07;letter-spacing:-.04em;margin:0}.lenses-heading h2 em{color:#d2bd86;font-style:italic}.lenses-heading>p:last-child{max-width:330px;color:#bdc3bb;font-size:14px;line-height:1.85;margin:0 0 9px}.lenses-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.lens{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-width:0;min-height:340px;padding:30px;border:1px solid #ffffff22;background:#1c292d;color:#fff;text-align:left;overflow:hidden;cursor:pointer}.lens--training,.lens--code{grid-column:span 6;min-height:420px}.lens--textbook,.lens--video,.lens--events,.lens--publication{grid-column:span 3}.lens img{position:absolute;inset:-3%;z-index:-2;width:106%;height:106%;object-fit:cover;object-position:center;filter:saturate(.85);transform:scale(1.02) translateY(0);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s ease}.lens--training img{object-position:center 25%}.lens--textbook img,.lens--publication img{object-fit:contain;background:#243333;inset:0;width:100%;height:100%;padding:9%}.lens--code img{object-fit:cover}.lens--video img{object-position:center}.lens-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0b151520 10%,#08151670 54%,#071416f2 100%);transition:background .35s}.lens--textbook .lens-shade,.lens--publication .lens-shade{background:linear-gradient(180deg,transparent 22%,#091817a3 62%,#091817f5 100%)}.lens-meta{display:block;align-self:flex-start;padding:8px 10px;border:1px solid #ffffff8c;background:#10212265;color:#f2e0aa;font-size:9px;letter-spacing:.12em;line-height:1.2;margin-bottom:17px}.lens-title{font-family:var(--display);font-size:clamp(23px,2.6vw,38px);line-height:1.12;letter-spacing:-.03em;text-wrap:balance;text-shadow:0 2px 12px #0008}.lens--textbook .lens-title,.lens--video .lens-title,.lens--events .lens-title,.lens--publication .lens-title{font-size:clamp(21px,2vw,29px)}.lens-action{display:block;margin-top:17px;padding-bottom:4px;border-bottom:1px solid #eccb82;color:#f6db9a;font-size:11px;letter-spacing:.02em;transform:translateY(3px);opacity:.85;transition:transform .3s ease,opacity .3s ease}.lens:hover img,.lens:focus-visible img{transform:scale(1.12) translateY(-9px);filter:saturate(1.12)}.lens:hover .lens-action,.lens:focus-visible .lens-action{transform:translateY(0);opacity:1}.lens:focus-visible{outline:3px solid #f7cf68;outline-offset:3px}
@media(max-width:1000px){.lens--textbook,.lens--video,.lens--events,.lens--publication{grid-column:span 6}.lens{min-height:310px}.lens--training,.lens--code{min-height:380px}}
@media(max-width:600px){.project-lenses{padding-top:58px;padding-bottom:72px}.lenses-heading{display:block}.lenses-heading h2{font-size:clamp(43px,10vw,61px)}.lenses-heading>p:last-child{margin:19px 0 0}.lenses-grid{gap:12px}.lens,.lens--training,.lens--code,.lens--textbook,.lens--video,.lens--events,.lens--publication{grid-column:span 12;min-height:300px;padding:24px}.lens--textbook img,.lens--publication img{padding:4%}.lens-title,.lens--textbook .lens-title,.lens--video .lens-title,.lens--events .lens-title,.lens--publication .lens-title{font-size:31px}.lens-action{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.lens img,.lens-action{transition:none;transform:none!important}}html[data-motion="paused"] .lens img,html[data-motion="paused"] .lens-action{transition:none;transform:none!important}
/* Continuous, categorized work flows. Original portfolio assets remain readable. */
.work-flows{padding-top:85px;padding-bottom:115px;border-top:1px solid #ffffff25}.flows-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:3% 7%;align-items:end;margin-bottom:48px}.flows-heading .eyebrow{grid-column:1/-1;color:#e5cc8a;margin-bottom:3px}.flows-heading h2{font:400 clamp(46px,5.4vw,82px)/1.05 var(--display);letter-spacing:-.04em;margin:0}.flows-heading>p:last-child{max-width:350px;color:#bcc2b8;font-size:13px;line-height:1.85;margin:0 0 9px}.flow-lane{margin-top:45px}.flow-label{display:flex;justify-content:space-between;align-items:baseline;gap:25px;padding-bottom:14px;border-bottom:1px solid #ffffff45}.flow-label h3{font:400 clamp(23px,2.5vw,37px)/1.2 var(--display);margin:0}.flow-label p{font-size:10px;color:#abb3a9;letter-spacing:.03em;margin:0}.flow-viewport{overflow:hidden;padding:18px 0 8px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.flow-track{display:flex;width:max-content;gap:14px;animation:flow-left 64s linear infinite;will-change:transform}.flow-lane--2 .flow-track{animation-name:flow-right;animation-duration:70s}.flow-lane--3 .flow-track{animation-duration:79s}.flow-group{display:flex;gap:14px;flex:none}.flow-card{position:relative;display:block;flex:none;width:250px;height:255px;border:1px solid #ffffff26;border-radius:12px;overflow:hidden;background:#27312f;color:#f7f5ed;padding:0;text-align:left;box-shadow:0 8px 24px #0003}.flow-card:nth-child(2n){width:300px}.flow-card:nth-child(3n){width:225px}.flow-card:where(button){cursor:pointer}.flow-image{display:block;width:100%;height:207px;background:#dcded9;overflow:hidden}.flow-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .45s ease}.flow-caption{display:flex;align-items:center;padding:0 17px;height:48px;font-size:11px;letter-spacing:.02em;line-height:1.3}.flow-card:where(button):hover img,.flow-card:where(button):focus-visible img{transform:scale(1.06)}.flow-card:where(button):focus-visible{outline:3px solid #e6d088;outline-offset:3px}.flow-viewport:hover .flow-track,.flow-viewport:focus-within .flow-track{animation-play-state:paused}@keyframes flow-left{to{transform:translateX(calc(-50% - 7px))}}@keyframes flow-right{from{transform:translateX(calc(-50% - 7px))}to{transform:translateX(0)}}
@media(max-width:700px){.work-flows{padding-top:65px;padding-bottom:70px}.flows-heading{display:block;margin-bottom:25px}.flows-heading h2{font-size:50px}.flows-heading>p:last-child{margin-top:16px}.flow-lane{margin-top:35px}.flow-label{display:block}.flow-label p{margin-top:8px}.flow-card{width:215px;height:225px}.flow-card:nth-child(2n){width:255px}.flow-card:nth-child(3n){width:205px}.flow-image{height:180px}.flow-caption{height:45px}.flow-track{animation-duration:78s}.flow-lane--2 .flow-track{animation-duration:86s}.flow-lane--3 .flow-track{animation-duration:95s}}
@media(prefers-reduced-motion:reduce){.flow-track{animation:none!important;will-change:auto}.flow-viewport{overflow-x:auto;mask-image:none}.flow-image img{transition:none}}html[data-motion="paused"] .flow-track{animation:none!important;will-change:auto}html[data-motion="paused"] .flow-viewport{overflow-x:auto;mask-image:none}

/* Compact catalogue in the high-school curriculum case. */
.course-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none!important;padding:0!important;margin:15px 0 4px!important}.course-list li{border:1px solid #bdb9aa;padding:13px 15px;background:#f1efe8;color:#202725;font-size:13px;line-height:1.35;list-style:none!important}.course-list li::marker{content:""}@media(max-width:620px){.course-list{grid-template-columns:1fr}}

/* A fuller first-page profile, kept compact beside the portrait. */
.hero-intro{margin-bottom:10px;color:#eceee5;font-size:16px;line-height:1.65}.hero-depth{max-width:490px;margin:0 0 27px;color:#b9c1b6;font-size:13px;line-height:1.75}.hero-actions{margin-top:0}@media(max-width:850px){.hero-intro{font-size:14px}.hero-depth{font-size:12px;line-height:1.65}}@media(max-width:600px){.hero-intro{font-size:15px}.hero-depth{font-size:13px}}
.lens--sales,.lens--communications{grid-column:span 6;min-height:360px}.lens--sales img{object-position:center 20%}.lens--communications img{object-position:center 30%}@media(max-width:600px){.lens--sales,.lens--communications{grid-column:span 12;min-height:300px}}
.full-production{margin:25px 0 32px;border:1px solid #9eaa9e;border-radius:8px;background:#e4ebe1;color:#172a26}.full-production summary{cursor:pointer;padding:20px 22px;font-weight:650;font-size:17px}.full-production summary span{display:block;margin:8px 0 0 20px;font-size:12px;font-weight:400;color:#43534c}.full-production-body{padding:0 20px 20px}.full-production video{display:block;width:100%;max-height:70vh;background:#111}.full-production-body p{font-size:12px;line-height:1.7;margin:14px 0 0}.full-production summary:focus-visible{outline:3px solid #94621d;outline-offset:3px}
