/* Dark editorial portfolio: Paper / Ink / Cobalt / Signal / Slate. */
:root {
  color-scheme: dark;
  --page: 1200px;
  --paper: #17242B;
  --sheet: #1D2C34;
  --white: #22343E;
  --ink: #F5F3EC;
  --muted: #A9B6B6;
  --line: #3A4A50;
  --red: #D9EF8B;
  --red-dark: #E7F7B6;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --serif: Georgia, 'Times New Roman', serif;
  --cobalt: #405BCB;
  --cobalt-text: #ADC0FF;
  --slate: #77817E;
  --mono: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--red-dark)}
button,input{font:inherit}
button{cursor:pointer}
img,svg{max-width:100%}
p{line-height:1.65}
::selection{background:#405BCB;color:#F5F3EC}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.skip-link{position:absolute;top:-80px;left:15px;z-index:10;background:var(--white);padding:12px 18px}
.skip-link:focus{top:10px}
.shell{width:calc(100% - 100px);max-width:var(--page);margin-inline:auto}
.section-label{margin:0;color:var(--muted);font:600 11px/1.5 var(--mono);letter-spacing:.055em;text-transform:uppercase}
.red-square{display:inline-block;width:8px;height:8px;background:var(--red);margin-right:9px}
h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.048em}
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}
.header-inner{min-height:85px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;gap:14px;align-items:center;font-size:15px;font-weight:650;letter-spacing:-.025em}
.brand-monogram{font:italic 32px/1 var(--serif);color:var(--red);letter-spacing:-.07em}
.nav{display:flex;gap:31px;align-items:center}
.nav a{font-size:14px;color:#BAC7C5;transition:color .15s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink)}
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:7px;text-decoration-thickness:2px}
/* Opening: primary copy and a factual biographical column. */
.home-hero{min-height:590px;display:grid;grid-template-columns:minmax(0,1.95fr) minmax(275px,.82fr);gap:9%;padding-top:90px;padding-bottom:100px}
.home-hero-left h1{font:normal clamp(65px,7.4vw,112px)/1.03 var(--serif);letter-spacing:-.063em;margin:27px 0 35px}
.home-hero-left h1 em{font-style:italic;color:var(--red);font-weight:normal}
.hero-summary{font-size:clamp(20px,2vw,25px);line-height:1.45;letter-spacing:-.025em;max-width:700px;margin:0 0 23px}
.hero-context{font-size:15px;line-height:1.72;max-width:620px;color:#B7C4C0;margin:0}
.hero-links{display:flex;gap:29px;align-items:center;flex-wrap:wrap;margin-top:37px}
.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--red);color:#17242B;padding:14px 19px;font-size:14px;font-weight:600;min-height:51px;transition:background .17s,transform .17s}
.primary-link:hover{background:#F0FFC0;color:#17242B;transform:translateY(-2px)}
.under-link,.inline-link,.aside-link{font-size:14px;display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px;font-weight:550}
.hero-sidebar{border-left:1px solid var(--line);padding:6px 0 0 29px;align-self:center}
.hero-sidebar dl{margin:19px 0 25px}
.hero-sidebar dl div{padding:17px 0;border-bottom:1px solid var(--line)}
.hero-sidebar dt{font:500 11px var(--mono);color:var(--muted);margin-bottom:9px}
.hero-sidebar dd{margin:0;font-size:15px;font-weight:570;line-height:1.5}
.hero-sidebar dd span{font-size:13px;color:var(--muted);font-weight:400}
/* Rows rather than faux product cards. */
.home-work{border-top:1px solid var(--line);padding-top:80px;padding-bottom:105px}
.section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:12%;align-items:end;margin-bottom:46px}
.section-heading h2{font:normal clamp(43px,5vw,68px)/1.09 var(--serif);letter-spacing:-.05em;margin-top:17px}
.section-heading>p{max-width:370px;color:var(--muted);margin:0 0 7px;font-size:16px}
.project-index{border-top:1px solid var(--line)}
.project-row{display:grid;grid-template-columns:47px minmax(0,1fr) 175px 25px;gap:25px;align-items:start;padding:33px 9px 36px 0;border-bottom:1px solid var(--line);transition:background .16s,padding .16s}
.project-row:hover{background:#23343C;padding-left:12px;color:var(--ink)}
.project-no{font:500 12px var(--mono);color:var(--red);padding-top:6px}
.project-main{min-width:0;display:flex;flex-direction:column;gap:13px}
.project-main strong{font:normal clamp(24px,2.8vw,34px)/1.15 var(--serif);letter-spacing:-.032em}
.project-main small{font-size:14px;color:#ACBDBA;line-height:1.55;max-width:655px}
.project-side{font:500 12px/1.9 var(--mono);color:#A9B6B6;padding-top:4px}
.project-arrow{font-size:22px;color:var(--red);padding-top:0}
.home-work>.inline-link{margin-top:30px}
/* Research feature */
.home-research{background:#1B2B33;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.research-feature{display:grid;grid-template-columns:1.28fr .72fr;gap:13%;padding-top:94px;padding-bottom:107px}
.research-feature h2{font:normal clamp(43px,4.7vw,67px)/1.1 var(--serif);letter-spacing:-.046em;max-width:700px;margin:20px 0 24px}
.research-feature>div:first-child>p:not(.section-label){max-width:660px;font-size:16px;color:#B7C4C0;line-height:1.75}
.research-actions{display:flex;align-items:center;gap:29px;flex-wrap:wrap;margin-top:32px}
.research-aside{border-top:2px solid var(--red);padding-top:18px;max-width:355px}
.research-aside .equation{font:italic clamp(37px,4.5vw,55px) var(--serif);letter-spacing:-.05em;margin:27px 0 25px}
.research-aside p:not(.section-label){color:#B7C4C0;font-size:14px;line-height:1.7}
.research-aside .aside-link{margin-top:10px}
/* Shared inner pages */
.page-head{padding-top:83px;padding-bottom:85px}
.page-head h1{font:normal clamp(53px,7vw,90px)/1.07 var(--serif);letter-spacing:-.055em;margin:17px 0 25px}
.page-head>p:not(.section-label){max-width:690px;font-size:20px;color:#B7C4C0;line-height:1.5;margin:0}
.page-head>.primary-link{margin-top:30px}
.page-body{padding-bottom:118px}
.work-note{max-width:680px;color:var(--muted);font-size:14px;margin:36px 0 0;line-height:1.7}
.about-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(220px,1fr);gap:11%}
.about-aside{border-top:1px solid var(--line);padding-top:20px;align-self:start;display:grid;gap:18px}
.about-aside a{font-size:14px;display:block;border-bottom:1px solid var(--line);padding-bottom:13px}
.contact-address{font:normal clamp(23px,4.8vw,57px)/1.2 var(--serif);letter-spacing:-.045em;display:flex;justify-content:space-between;gap:30px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact-address span{color:var(--red)}
.social-row{display:flex;gap:27px;flex-wrap:wrap;margin-top:28px;font-size:14px}
.social-row a{border-bottom:1px solid currentColor;padding-bottom:5px}
/* Article readability */
.article-header{padding-top:43px;padding-bottom:45px}
.back-link{display:inline-block;color:var(--red-dark);font-size:13px;margin-bottom:68px}
.article-header h1{font:normal clamp(49px,6.25vw,84px)/1.1 var(--serif);letter-spacing:-.05em;max-width:1010px;margin:20px 0}
.article-deck{max-width:730px;font-size:21px;color:#B7C4C0;line-height:1.53;margin:0 0 45px}
.article-meta{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;margin:0}
.article-meta div{min-width:0}
.article-meta dt{font:500 11px var(--mono);color:#757771;margin-bottom:8px}
.article-meta dd{margin:0;font-size:13px;line-height:1.5}
.article-layout{display:grid;grid-template-columns:210px minmax(0,740px);gap:9%;padding-top:65px;padding-bottom:106px}
.sticky-rail{position:sticky;top:28px;border-top:1px solid var(--line);padding-top:18px}
.sticky-rail p:not(.section-label){font-size:13px;color:var(--muted);line-height:1.65;margin:17px 0 22px}
.sticky-rail>a{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:5px}
.prose{max-width:770px;font-size:16px;line-height:1.78;color:#D1DAD6}
.prose>:first-child{margin-top:0}
.prose h2{font:normal 33px/1.23 var(--serif);letter-spacing:-.035em;color:var(--ink);margin:49px 0 19px}
.prose h3{font-size:21px;line-height:1.3;margin:34px 0 14px}
.prose p{margin:0 0 20px}
.prose strong{color:var(--ink);font-weight:650}
.prose ul,.prose ol{padding-left:23px}
.prose li{padding:4px 0 5px 3px}
.prose a{color:var(--cobalt-text);text-decoration:underline;text-decoration-color:#6B86ED;text-underline-offset:3px}
.prose table{border-collapse:collapse;width:100%;font-size:13px;display:block;overflow-x:auto;margin:28px 0 32px}
.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:12px 16px 12px 0;vertical-align:top;min-width:110px}
.prose th{color:var(--ink);font-weight:650}
.prose code{font:13px var(--mono);background:#263841;padding:2px 5px;overflow-wrap:anywhere}
.prose blockquote{border-left:2px solid var(--red);margin:25px 0;padding-left:20px;color:var(--muted)}
/* Exhibits. UI colors distinguish observations, fits and validation statuses. */
.interactive-band{background:#1B2B33;padding:76px 0 104px;border-top:1px solid var(--line)}
.interactive-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);column-gap:7%;margin-bottom:32px;align-items:end}
.interactive-intro .section-label{grid-column:1/-1;margin-bottom:17px}
.interactive-intro h2{font:normal clamp(36px,4vw,54px)/1.1 var(--serif);letter-spacing:-.04em}
.interactive-intro>p:not(.section-label){font-size:14px;line-height:1.65;color:#585d57;margin:0}
.rag-exhibit,.trend-exhibit{background:var(--white);border:1px solid #3A4A50;padding:24px;min-height:355px}
.exhibit-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:21px}
.exhibit-kicker,.exhibit-badge,.trace-label{font:600 10px var(--mono);letter-spacing:.03em;color:#ACBDBA}
.exhibit-badge{border:1px solid var(--line);padding:7px 10px}
.trace-controls{display:flex;flex-wrap:wrap;gap:7px}
.trace-choice{background:transparent;border:1px solid #56676D;color:#F5F3EC;padding:10px 12px;font:500 12px var(--mono)}
.trace-choice[aria-pressed=true]{background:#405BCB;border-color:#7188F1;color:#F5F3EC}
.trace-choice:hover:not([aria-pressed=true]){background:#23343C}
.trace-content{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.trace-surface,.trace-steps{border:1px solid var(--line);padding:22px;min-width:0;background:#1B2B33}
.trace-surface h3{font-size:24px;line-height:1.3;letter-spacing:-.02em;margin:14px 0 23px}
.trace-surface p{font-size:13px;color:#525851}
.trace-evidence{border-left:2px solid var(--red);padding-left:14px;line-height:1.7;font-size:14px;margin:13px 0 20px}
.trace-list{display:grid;gap:0}
.trace-step{display:grid;grid-template-columns:27px 1fr auto;gap:10px;align-items:start;padding:13px 0;border-bottom:1px solid var(--line)}
.trace-step span{font:500 11px var(--mono);color:var(--muted)}
.trace-step strong{font-size:13px;font-weight:650}
.trace-step p{color:#A9B6B6;font-size:12px;line-height:1.55;margin:5px 0 0}
.trace-step b{font:600 10px var(--mono);color:#D9EF8B}
.trace-step b.flag{color:#FFCCA8}
.trace-footnote{color:#A9B6B6;font-size:12px;line-height:1.6;margin:20px 0 0}
.trend-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,1fr);gap:20px}
.trend-plot{background:#15232C;padding:12px;border:1px solid #3A4A50}
.trend-plot svg{display:block;width:100%;height:auto}
.trend-controls{background:#243640;border:1px solid var(--line);padding:20px;display:grid;gap:16px;align-content:start}
.control-group{display:grid;gap:8px}
.control-group label{display:flex;justify-content:space-between;gap:14px;font:600 11px var(--mono)}
.control-group output{color:var(--red-dark)}
input[type=range]{width:100%;accent-color:var(--red)}
.check-row{display:flex;align-items:center;gap:10px;font-size:13px}
.check-row input{width:17px;height:17px;accent-color:var(--red)}
.trend-stats{border-top:1px solid var(--line);padding-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.trend-stat span{font:500 9px/1.5 var(--mono);color:var(--muted);display:block;min-height:27px}
.trend-stat strong{font:normal 29px var(--serif);color:var(--red-dark)}
.trend-caption{color:#ACBDBA;font-size:12px;line-height:1.6;margin:12px 0 0}
.trend-plot .trend-caption{color:#B7C4C0}
.trend-legend{display:flex;gap:15px;flex-wrap:wrap;color:#dbe7df;font:500 10px var(--mono);margin-top:12px}
.trend-legend span:before{content:'';display:inline-block;width:13px;height:3px;vertical-align:middle;margin-right:6px;background:#D9EF8B}
.trend-legend .legend-global:before{background:#A3B6FF}
.trend-legend .legend-segment:before{background:#7DC8D6}
/* Closing */
.site-footer{background:#101B20;color:#F5F3EC;margin-top:0}
.footer-top{display:flex;justify-content:space-between;align-items:end;gap:35px;padding:67px 0 62px}
.site-footer .section-label{color:#B7C4C0}
.footer-top h2{font:normal clamp(39px,5vw,67px)/1.15 var(--serif);letter-spacing:-.045em;margin:12px 0 8px}
.footer-top p{font-size:14px;color:#AEBDBD;margin:0}
.footer-email{font-size:clamp(17px,2.1vw,23px);border-bottom:1px solid #74898C;padding-bottom:7px;white-space:nowrap}
.footer-email:hover,.footer-bottom a:hover{color:#D9EF8B}
.footer-bottom{border-top:1px solid #3A4A50;padding:24px 0 30px;color:#B7C4C0;font:500 11px var(--mono);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-bottom div{display:flex;gap:24px}

/* Dark identity: restrained color, open editorial composition, factual hierarchy. */
:root{--paper:#17242B;--sheet:#1D2C34;--white:#22343E;--ink:#F5F3EC;--muted:#A9B6B6;--line:#3A4A50;--red:#D9EF8B;--red-dark:#E7F7B6;--cobalt:#405BCB;--cobalt-text:#ADC0FF;--slate:#77817E}
body{background:var(--paper);color:var(--ink)}
.section-label{color:#A9B6B6;letter-spacing:.09em}
.site-header{background:rgba(23,36,43,.96);position:relative;z-index:3}
.brand-monogram{color:var(--red)}
.nav a{color:#BCC9C8}
.primary-link{background:var(--red);color:#17242B;border-radius:2px;font-weight:650}
.under-link,.inline-link,.aside-link{color:var(--cobalt-text);text-decoration:none;border-bottom-color:#6C87E9;transition:color .15s,border-color .15s}
.under-link:hover,.inline-link:hover,.aside-link:hover{color:var(--red);border-color:var(--red)}
.home-hero{display:block;min-height:0;padding-top:34px;padding-bottom:0}
.hero-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:21px}
.hero-availability{font:500 11px/1.6 var(--mono);color:var(--muted);letter-spacing:.015em}
.hero-availability span{color:var(--red);margin:0 8px}
.hero-statement{padding:81px 0 84px;max-width:1160px}
.hero-kicker{display:flex;gap:12px;align-items:center;margin:0 0 26px;font:600 12px/1.4 var(--mono);letter-spacing:.08em;color:#D5E1DC}
.signal-dot{width:9px;height:9px;display:inline-block;flex:none;background:var(--red);border-radius:50%;box-shadow:0 0 0 4px rgba(217,239,139,.08)}
.hero-statement h1{max-width:1050px;margin:0 0 32px;font:500 clamp(56px,7.4vw,108px)/1.06 var(--sans);letter-spacing:-.069em}
.hero-title-secondary{display:block;font:normal clamp(49px,6.2vw,88px)/1.11 var(--serif);letter-spacing:-.056em;color:var(--red);margin-top:8px}
.hero-summary{font-size:clamp(21px,2.2vw,27px);line-height:1.42;letter-spacing:-.025em;max-width:790px;margin:0 0 17px;color:#F5F3EC}
.hero-context{font-size:16px;line-height:1.72;max-width:760px;color:#ADBDBB;margin:0}
.hero-links{margin-top:33px;display:flex;gap:27px;align-items:center;flex-wrap:wrap}
.hero-role-strip{display:grid;grid-template-columns:1fr 1.3fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:0}
.hero-role-strip>div{padding:27px 28px 29px 0;display:flex;flex-direction:column;gap:6px;min-width:0}
.hero-role-strip>div+div{border-left:1px solid var(--line);padding-left:29px}
.strip-label{font:600 10px/1.5 var(--mono);letter-spacing:.09em;color:var(--muted);margin-bottom:6px}
.hero-role-strip strong{font-size:17px;line-height:1.25;font-weight:600;letter-spacing:-.025em}
.hero-role-strip>div>span:last-child{color:var(--muted);font-size:13px;line-height:1.5}
.professional-band{background:#1D2C34;border-bottom:1px solid var(--line);position:relative}
.professional-band:before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#405BCB 0%,#405BCB 18%,#D9EF8B 18%,#D9EF8B 21%,transparent 21%)}
.professional-inner{padding-top:98px;padding-bottom:112px;display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.18fr);gap:11%}
.professional-heading h2{font:normal clamp(42px,4.8vw,67px)/1.1 var(--serif);letter-spacing:-.055em;margin:16px 0 22px}
.professional-heading>p:last-child{font-size:16px;max-width:360px;line-height:1.7;color:#ACBAB7}
.professional-list{border-top:1px solid #6B838B}
.professional-item{display:grid;grid-template-columns:36px 1fr;gap:18px;border-bottom:1px solid var(--line);padding:25px 0 29px}
.professional-no{font:600 11px/1.5 var(--mono);color:var(--red);padding-top:5px}
.professional-item h3{font-size:clamp(21px,2.4vw,28px);font-weight:500;letter-spacing:-.035em;line-height:1.22}
.professional-item p{font-size:14px;line-height:1.7;max-width:580px;color:#ADBCBA;margin:11px 0 0}
.professional-more{display:flex;justify-content:space-between;align-items:center;color:var(--cobalt-text);font-size:14px;font-weight:550;padding:22px 0 4px}
.professional-more:hover{color:var(--red)}
.home-work{border-top:none;padding-top:113px;padding-bottom:115px}
.section-heading h2{font-size:clamp(44px,5.4vw,73px)}
.section-heading>p{color:var(--muted)}
.project-index{border-top:1px solid #758A8B}
.project-row{padding-top:36px;padding-bottom:39px}
.project-row:hover{background:#20313A}
.project-main strong{color:var(--ink)}
.project-main small{color:#AEBEBC}
.project-no,.project-arrow{color:var(--red)}
.project-side{color:#A0B3B1}
.home-research{background:#162229;border-color:var(--line)}
.research-feature{padding-top:101px;padding-bottom:111px}
.research-feature h2{max-width:710px}
.research-feature>div:first-child>p:not(.section-label){color:#B4C1BE}
.research-aside{border-top:2px solid var(--cobalt)}
.research-aside .equation{color:var(--red)}
.research-aside p:not(.section-label){color:#AEBEBB}
.page-head,.article-header{border-bottom:1px solid var(--line)}
.page-head>p:not(.section-label),.article-deck{color:#B6C4C1}
.article-header{padding-bottom:55px}
.article-layout{grid-template-columns:192px minmax(0,790px);gap:8%}
.back-link{color:var(--cobalt-text)}
.article-meta dt{color:#B0BCB8}
.prose{color:#D0DBD7;line-height:1.85}
.prose h2,.prose h3,.prose strong{color:var(--ink)}
.prose code{background:#293A44;color:#F5F3EC}
.prose table{color:#D6DFDC}
.prose th{color:var(--red)}
.sticky-rail{border-top:1px solid #72858A}
.interactive-band{background:#1D2C34}
.interactive-intro>p:not(.section-label){color:#BCC8C5}
.rag-exhibit,.trend-exhibit{background:#22343E;border-color:#465B62}
.exhibit-badge{border-color:#60747B;color:#C9D7D2}
.trace-surface,.trace-steps{background:#172731;border-color:#455A60}
.trace-surface p,.trace-step p,.trace-footnote{color:#AFC0BE}
.trace-choice{border-color:#5B7078;color:#E4EAE6}
.trace-choice:hover:not([aria-pressed=true]){background:#31464F}
.trace-choice[aria-pressed=true]{background:#405BCB;color:#F5F3EC}
.trace-step b{color:var(--red)}
.trace-evidence{border-left-color:var(--cobalt-text)}
.trend-controls{background:#1A2B34}
.control-group label{color:#F5F3EC}
.control-group output{color:var(--red)}
.trend-stat strong{color:var(--red)}
.site-footer{background:#101B20}
.footer-email:hover,.footer-bottom a:hover{color:var(--red)}

@media(max-width:1050px){.shell{width:calc(100% - 64px)}.home-hero{gap:6%;grid-template-columns:1.6fr .9fr}.home-hero-left h1{font-size:clamp(61px,7.5vw,94px)}}
@media(max-width:760px){
  .shell{width:calc(100% - 36px)}
  .header-inner{min-height:70px}.brand{font-size:13px}.brand-monogram{font-size:25px}.nav{gap:15px}.nav a{font-size:12px}
  .home-hero{grid-template-columns:1fr;gap:42px;padding-top:65px;padding-bottom:70px;min-height:0}
  .home-hero-left h1{font-size:clamp(55px,11vw,84px);margin:20px 0 25px}
  .hero-summary{font-size:20px}.hero-sidebar{align-self:auto;border-top:1px solid var(--line);border-left:none;padding:26px 0 0}
  .hero-sidebar dl{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.hero-sidebar dl div{padding:15px 0}
  .home-work{padding-top:65px;padding-bottom:70px}
  .section-heading,.research-feature,.interactive-intro,.about-layout{grid-template-columns:1fr;gap:24px}
  .section-heading{margin-bottom:30px}.section-heading h2,.research-feature h2{font-size:clamp(39px,8vw,58px)}
  .section-heading>p{max-width:600px}
  .research-feature{padding-top:64px;padding-bottom:75px}.research-aside{margin-top:12px;max-width:none}
  .project-row{grid-template-columns:32px minmax(0,1fr) 17px;gap:15px;padding:24px 0}.project-side{grid-column:2;grid-row:2;padding:0}.project-arrow{grid-column:3;grid-row:1}.project-main strong{font-size:26px}
  .page-head{padding-top:62px;padding-bottom:61px}.page-head h1{font-size:clamp(50px,10vw,76px)}.page-head>p:not(.section-label){font-size:18px}
  .page-body{padding-bottom:80px}
  .article-header h1{font-size:clamp(43px,9vw,68px)}.article-deck{font-size:18px}.article-meta{grid-template-columns:1fr 1fr}.article-meta div:last-child{grid-column:1/-1}
  .article-layout{grid-template-columns:1fr;padding-top:45px;padding-bottom:69px}.article-rail{display:none}
  .interactive-band{padding:59px 0 68px}.interactive-intro h2{font-size:44px}.trace-content,.trend-grid{grid-template-columns:1fr}
  .footer-top{align-items:flex-start;flex-direction:column;padding:53px 0}
}
@media(max-width:430px){.nav{gap:12px}.nav a{font-size:11px}.brand>span:last-child{display:none}.home-hero-left h1{font-size:clamp(48px,12vw,64px)}.hero-sidebar dl{grid-template-columns:1fr}.hero-links,.research-actions{gap:20px}.project-main strong{font-size:24px}.rag-exhibit,.trend-exhibit{padding:13px}.trace-surface,.trace-steps{padding:16px}.exhibit-top{flex-wrap:wrap}.footer-email{white-space:normal;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:900px){
 .professional-inner{grid-template-columns:1fr;gap:30px;padding-top:76px;padding-bottom:75px}
 .professional-heading>p:last-child{max-width:750px}
 .home-hero{padding-top:27px}
 .hero-statement{padding:75px 0 77px}
 .hero-statement h1{font-size:clamp(56px,9vw,90px)}
 .hero-title-secondary{font-size:clamp(48px,7vw,76px)}
}
@media(max-width:760px){
 .home-hero{display:block;min-height:0;padding:25px 0 0}
 .hero-topline{gap:8px;align-items:flex-start}
 .hero-availability{font-size:10px;text-align:right}
 .hero-statement{padding:69px 0 67px}
 .hero-kicker{font-size:10px}
 .hero-statement h1{font-size:clamp(49px,9.6vw,77px);line-height:1.07;margin-bottom:25px}
 .hero-title-secondary{font-size:clamp(45px,8.5vw,67px);line-height:1.12;margin-top:10px}
 .hero-summary{font-size:21px}
 .hero-context{font-size:15px}
 .hero-role-strip{grid-template-columns:1fr 1fr}
 .hero-role-strip>div:last-child{grid-column:1/-1;border-left:none;border-top:1px solid var(--line);padding-left:0}
 .hero-role-strip>div{padding:23px 16px 23px 0}
 .hero-role-strip>div+div{padding-left:16px}
 .professional-inner{padding-top:76px;padding-bottom:82px}
 .professional-heading h2{font-size:clamp(44px,8vw,60px)}
 .home-work{padding-top:80px;padding-bottom:85px}
}
@media(max-width:450px){
 .hero-availability{display:none}
 .hero-statement{padding:59px 0 58px}
 .hero-statement h1{font-size:clamp(42px,10vw,56px)}
 .hero-title-secondary{font-size:clamp(39px,9vw,50px)}
 .hero-role-strip{grid-template-columns:1fr}
 .hero-role-strip>div,.hero-role-strip>div+div,.hero-role-strip>div:last-child{grid-column:1;border-left:0;border-top:0;border-bottom:1px solid var(--line);padding:17px 0}
 .hero-role-strip>div:last-child{border-bottom:0}
 .hero-links{gap:21px}
 .professional-item{grid-template-columns:26px 1fr;gap:13px}
 .professional-item h3{font-size:22px}
}

/* ATELIER V3 — original art direction informed by the provided reference bundle.
   No third-party assets, animations, shaders, fonts, or components are copied. */
:root{--display:'Inter Display','Inter','Helvetica Neue',Arial,sans-serif;--canvas:#101A21;--canvas-soft:#14242D;--signal:#D9EF8B;--paper-light:#F5F3EC;--electric:#8098FF}
body{background:var(--canvas);color:var(--paper-light);font-family:'Inter',var(--sans)}
h1,h2,h3{letter-spacing:-.048em}
.site-header{background:#101A21;border-bottom:1px solid #304048;position:relative;z-index:6}
.header-inner{min-height:76px;max-width:1440px}
.brand{font-size:15px;font-weight:500;gap:15px;letter-spacing:-.015em}
.brand-monogram{font:700 23px/.95 var(--display);letter-spacing:-.09em;color:var(--paper-light);display:inline-flex;align-items:baseline}
.brand-separator{color:var(--signal);font-weight:350;padding:0 2px}
.brand-name{color:#C9D6D5}
.nav{gap:clamp(14px,2.7vw,39px)}
.nav a{font-size:13px;color:#C1CDCB}
.nav a:hover,.nav a[aria-current="page"]{color:var(--paper-light)}
.nav a[aria-current="page"]{text-decoration-color:var(--signal)}
.site-footer{background:#0B1319;border-top:1px solid #304048}
.site-footer .footer-top h2{font:500 clamp(42px,5vw,68px)/1.08 var(--display);letter-spacing:-.07em}
.site-footer .footer-top{padding-top:85px;padding-bottom:80px}
.site-footer .footer-bottom{border-top:1px solid #2A383E}
.section-label,.folio-index{font:500 11px/1.55 var(--mono);letter-spacing:.08em;color:#AFC1C0}
.folio-index{display:block}

/* Hero: first-person, not an oversized job title. */
.atelier-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse 48% 80% at 86% 50%,#253D4C 0%,#15252F 47%,transparent 82%),#101A21}
.atelier-hero::before{content:"";pointer-events:none;position:absolute;inset:0;opacity:.21;background-image:linear-gradient(to right,#50626a 1px,transparent 1px);background-size:calc(100% / 12) 100%;mask-image:linear-gradient(to bottom,transparent,#000 23%,#000 75%,transparent)}
.atelier-hero-inner{position:relative;max-width:1440px;min-height:790px;padding-top:47px;padding-bottom:36px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(370px,.9fr);grid-template-rows:auto 1fr auto;column-gap:0}
.atelier-hero-meta{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;color:#AEBFBE;font:500 11px var(--mono);letter-spacing:.07em;position:relative;z-index:3}
.atelier-hero-copy{position:relative;z-index:3;align-self:center;padding:33px 0 64px}
.atelier-greeting{font-size:16px;letter-spacing:-.01em;margin:0 0 30px;color:#CAD8D3}
.atelier-greeting span{color:var(--signal);font-size:18px;margin-left:7px}
.atelier-hero h1{font:650 clamp(68px,7vw,119px)/1.01 var(--display);letter-spacing:-.082em;margin:0 0 37px;max-width:1000px;white-space:nowrap}
.atelier-hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--signal);letter-spacing:-.095em;font-style:italic}
.atelier-hero .hero-light{font-weight:380;color:#D1DEDA}
.atelier-intro{max-width:540px;color:#C6D4D0;line-height:1.7;font-size:17px;margin:0 0 27px}
.atelier-actions{display:flex;flex-wrap:wrap;gap:28px;align-items:center;margin-top:30px}
.atelier-text-link{display:inline-flex;align-items:center;gap:23px;font-size:14px;font-weight:620;color:var(--paper-light);text-decoration:none;border-bottom:1px solid var(--signal);padding-bottom:9px;transition:gap .2s,color .2s}
.atelier-text-link:hover{gap:30px;color:var(--signal)}
.atelier-text-link.muted-action{font-weight:450;color:#AFC0C0;border-color:#53676D}
.atelier-text-link.muted-action:hover{color:var(--paper-light)}
.artwork-wrap{grid-column:2;grid-row:2;position:relative;align-self:center;justify-self:stretch;transform:translateX(6%);min-width:0;pointer-events:none}
.artwork-plate{width:min(51vw,630px);height:min(51vw,630px);position:relative;max-height:670px}
.artwork-fallback,.artwork-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.artwork-canvas{opacity:.96;z-index:1}
.artwork-axis{position:absolute;color:#AFC2BE;font:500 10px var(--mono);letter-spacing:.08em;z-index:2}
.axis-top{top:15%;left:13%}.axis-bottom{bottom:12%;right:9%}
.artwork-corner{position:absolute;right:10%;top:12%;font-size:30px;font-weight:200;color:var(--signal)}
.hero-bottom-line{grid-column:1/-1;grid-row:3;z-index:3;display:flex;gap:18px;align-items:center;font:500 11px var(--mono);color:#AFC0BC}
.hero-bottom-stroke{flex:1;height:1px;background:linear-gradient(90deg,#697778,transparent)}

/* Current work remains visible but doesn't dominate identity. */
.atelier-now{border-top:1px solid #3A4B53;border-bottom:1px solid #3A4B53;background:#172831}
.atelier-now-inner{display:grid;grid-template-columns:165px minmax(0,1fr) 48px;gap:30px;align-items:start;padding-top:33px;padding-bottom:36px}
.now-marker{display:flex;align-items:center;gap:12px;font:500 11px var(--mono);color:#B8C9C3;margin-top:11px}
.now-point{width:7px;height:7px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 4px #D9EF8B16}
.now-main h2{font:520 clamp(23px,2.35vw,34px)/1.3 var(--display);letter-spacing:-.038em}
.now-main h2 span{color:#B8C9C3;font-weight:390}
.now-main p{font-size:14px;color:#ACBFBE;line-height:1.75;max-width:725px;margin:10px 0 0}
.now-arrow{font-size:26px;color:var(--signal);align-self:center;text-align:right;transition:transform .2s}
.now-arrow:hover{transform:translate(4px,-4px)}

/* An editorial project index with original diagrammatic image-panels. */
.atelier-selected{padding-top:127px;padding-bottom:124px}
.atelier-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.58fr);gap:55px;align-items:end;padding-bottom:62px}
.atelier-section-head h2,.atelier-research h2{font:640 clamp(60px,6vw,94px)/1.03 var(--display);letter-spacing:-.082em;margin-top:23px}
.atelier-section-head h2 em,.atelier-research h2 em{color:var(--signal);font:italic 400 1.04em/1 Georgia,serif;letter-spacing:-.085em}
.atelier-section-head>p{max-width:420px;color:#BDC9C4;font-size:16px;line-height:1.7;margin:0 0 8px}
.atelier-projects{border-top:1px solid #41545A}
.atelier-project{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:9%;padding:48px 0;border-bottom:1px solid #40535A;align-items:center;transition:background .2s}
.atelier-project:hover{background:#ffffff05;color:var(--paper-light)}
.atelier-project-identity{padding:4px 0;min-width:0}
.project-identification{display:flex;gap:23px;align-items:center;color:#B7C5C2;font:500 11px var(--mono);letter-spacing:.07em}
.project-identification>span:first-child{color:var(--signal);font-size:16px}
.atelier-project h3{font:570 clamp(34px,3.15vw,53px)/1.12 var(--display);letter-spacing:-.065em;margin:24px 0 18px;color:var(--paper-light)}
.atelier-project p{font-size:15px;line-height:1.68;color:#ACBFBB;max-width:480px;margin:0 0 28px}
.project-visit{font-size:13px;border-bottom:1px solid #61777C;padding-bottom:6px;display:inline-flex;gap:25px;font-weight:550;transition:gap .2s,border-color .2s}
.atelier-project:hover .project-visit{gap:35px;border-color:var(--signal)}
.project-visual{position:relative;min-height:340px;overflow:hidden;border:1px solid #425661;padding:27px 30px;background-color:#13212B;color:#E6EEEB;transition:border-color .2s,transform .3s}
.atelier-project:hover .project-visual{border-color:#728990;transform:translateY(-3px)}
.visual-corner-note{font:500 10px var(--mono);letter-spacing:.06em;color:#98B4B0;position:absolute;bottom:21px;left:30px}
.rag-visual{background:radial-gradient(circle at 75% 40%,#243D4B 0%,#14232D 56%,#13212B 88%)}
.rag-top-label,.piano-label{font:500 11px var(--mono);color:#B8C9C8;letter-spacing:.07em}
.rag-chain{display:flex;align-items:center;justify-content:center;gap:7px;position:relative;margin:77px auto 36px}
.rag-chain span{background:#263C48;border:1px solid #5E7883;border-radius:999px;font:500 12px var(--mono);padding:12px 12px;color:#E2E9E6}
.rag-chain i{height:1px;width:20px;background:#6C8992}
.rag-branches{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}
.rag-branches div{display:flex;flex-direction:column;gap:9px;border:1px solid #324B56;padding:13px 11px;min-width:0}
.rag-branches span{font:500 10px var(--mono);color:#BCCBC9}
.rag-branches strong{font:600 11px var(--mono);letter-spacing:.02em;color:var(--paper-light)}
.branch-dot{display:block;width:7px;height:7px;background:var(--signal);border-radius:50%}
.cobalt-dot{background:#91A8FF}.slate-dot{background:#94AAA9}
.dbt-visual{background:linear-gradient(138deg,#1E3040,#12232D)}
.mini-datahead{display:flex;justify-content:space-between;font:500 11px var(--mono);color:#D5E3DD;margin-bottom:19px}
.mini-datagrid{display:grid;grid-template-columns:1fr 1fr 1fr;color:#C7D8D4;font:500 12px var(--mono);border-top:1px solid #46606A}
.mini-datagrid span{padding:12px 5px;border-bottom:1px solid #36505A}
.mini-datagrid span:nth-child(-n+3){color:#8FA8AA;font-size:11px}
.mini-pass{color:var(--signal)!important}.mini-warn{color:#ECC3A0!important}
.piano-visual{background:radial-gradient(circle at 72% 10%,#2A3F61,transparent 65%),#13212B}
.music-staff{position:relative;height:110px;margin-top:60px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 16px,#8195A0 17px,#8195A0 18px,transparent 19px,transparent 20px);background-size:100% 100px;background-repeat:no-repeat}
.music-staff .note{position:absolute;font:500 35px Georgia,serif;color:#D9EF8B;text-shadow:0 1px 5px #17242B;line-height:1}
.music-staff .n1{left:7%;top:31px}.music-staff .n2{left:25%;top:6px}.music-staff .n3{left:46%;top:24px}.music-staff .n4{left:64%;top:3px}.music-staff .n5{left:80%;top:27px}
.piano-bars{display:flex;gap:7px;align-items:end;height:61px;border-bottom:1px solid #3F5360;margin:0 auto 32px}
.piano-bars i{flex:1;background:linear-gradient(to top,#405BCB,#9DB2EA);min-width:2px;max-width:16px;opacity:.72}
.atelier-section-end{display:flex;align-items:center;justify-content:space-between;padding-top:30px;color:#AAC0BA;font:500 11px var(--mono);letter-spacing:.05em}
.atelier-section-end a{font:550 14px var(--sans);color:var(--paper-light);text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:7px}

/* Research is a change of pace, not another card. */
.atelier-research{background:#1C2D36;border-top:1px solid #3F5359;border-bottom:1px solid #3F5359;overflow:hidden}
.atelier-research-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:10%;align-items:center;padding-top:100px;padding-bottom:100px}
.research-fig{min-height:500px;position:relative;border:1px solid #455B61;background:radial-gradient(circle at center,#243C48,#12242D 75%);display:grid;place-items:center;overflow:hidden}
.figure-label,.figure-foot{position:absolute;font:500 10px var(--mono);letter-spacing:.08em;color:#AEC6C2}
.figure-label{top:23px;left:23px}.figure-foot{bottom:23px;right:23px}
.research-orbit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:320px;height:320px}
.r-orbit{position:absolute;inset:0;border:1px solid #8098FF;border-radius:48% 52% 43% 57% / 63% 39% 61% 37%;opacity:.66;transform:rotate(-13deg)}
.r-orbit-2{inset:29px;border-color:#D9EF8B;transform:rotate(22deg)}
.r-orbit-3{inset:66px;border-color:#B4C9C6;transform:rotate(-40deg)}
.r-orbit-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#D9EF8B;top:5%;left:46%;box-shadow:0 0 19px #D9EF8B66}
.research-formula{position:relative;z-index:2;font:italic 43px Georgia,serif;color:#F5F3EC;letter-spacing:-.07em}
.atelier-research h2{margin:25px 0 23px}
.atelier-research-text p{font-size:16px;line-height:1.75;max-width:530px;color:#BBCDC7;margin:0 0 34px}
.atelier-secondary-link{display:block;margin-top:23px;font-size:13px;color:#AFC4C0;text-decoration:underline;text-underline-offset:5px}
.atelier-endcap{padding-top:96px;padding-bottom:105px;display:grid;grid-template-columns:180px 1fr auto;gap:38px;align-items:center}
.atelier-endcap>p{font:450 clamp(26px,3.2vw,42px)/1.2 var(--display);letter-spacing:-.045em;margin:0}
.atelier-endcap>div{display:flex;gap:22px;flex-wrap:wrap;font-size:13px}
.atelier-endcap a{text-decoration:underline;text-decoration-color:#677D83;text-underline-offset:7px}

/* Interior pages keep their existing content and exhibits, but share the new typography. */
.page-head h1,.article-header h1{font-family:var(--display);font-weight:550;letter-spacing:-.065em}
.page-head{padding-top:115px}
.article-header h1{max-width:1120px}
.prose h2{font-family:var(--display);font-weight:570}
.article-rail .section-label{color:var(--signal)}
.page-head>.section-label,.article-header>.section-label{color:var(--signal)}
.primary-link{background:var(--signal)}

@media (min-width:1500px){.atelier-hero h1{font-size:119px}}
@media (max-width:1160px){
 .atelier-hero-inner{grid-template-columns:minmax(0,1.1fr) minmax(280px,.8fr);min-height:710px}
 .atelier-hero h1{font-size:clamp(56px,7.2vw,88px)}
 .artwork-plate{width:49vw;height:49vw}
 .atelier-project{gap:5%}
 .project-visual{min-height:320px}
}
@media (max-width:800px){
 .atelier-hero-inner{min-height:780px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;position:relative}
 .atelier-hero-copy{grid-column:1;grid-row:2;padding:48px 0 90px}
 .atelier-hero h1{font-size:clamp(61px,11vw,92px);white-space:normal}
 .atelier-intro{max-width:510px}
 .artwork-wrap{position:absolute;grid-column:auto;grid-row:auto;right:-25%;top:12%;width:75%;opacity:.37;transform:none;pointer-events:none;z-index:0}
 .artwork-plate{width:100%;height:auto;aspect-ratio:1}
 .atelier-hero-meta{font-size:10px}
 .atelier-now-inner{grid-template-columns:115px 1fr 30px;gap:17px}
 .atelier-section-head{grid-template-columns:1fr;gap:18px}
 .atelier-section-head p{max-width:550px}
 .atelier-project{grid-template-columns:1fr;gap:24px}
 .project-visual{min-height:320px}
 .atelier-research-inner{grid-template-columns:1fr;gap:44px}
 .research-fig{min-height:360px}
 .atelier-endcap{grid-template-columns:1fr 1fr;gap:20px}
 .atelier-endcap>p{grid-column:1/-1}
}
@media(max-width:550px){
 .header-inner{min-height:68px}.brand-name{display:none}.brand-monogram{font-size:22px}
 .nav{gap:14px}.nav a{font-size:12px}
 .atelier-hero-inner{min-height:685px;padding-top:25px;padding-bottom:26px}
 .atelier-hero-meta{gap:12px}.meta-index{font-size:9px}.meta-location{font-size:9px;text-align:right}
 .atelier-hero-copy{padding:33px 0 72px}
 .atelier-greeting{margin-bottom:22px;font-size:14px}
 .atelier-hero h1{font-size:clamp(48px,12.2vw,68px);line-height:1.06;letter-spacing:-.076em;margin-bottom:28px}
 .atelier-intro{font-size:15px;line-height:1.75;max-width:450px}
 .atelier-actions{gap:19px}.atelier-text-link{font-size:13px}
 .artwork-wrap{right:-42%;top:15%;width:110%;opacity:.22}
 .artwork-axis,.artwork-corner{display:none}
 .hero-bottom-line{font-size:9px;gap:9px}
 .atelier-now-inner{grid-template-columns:1fr auto;gap:16px;padding-top:30px;padding-bottom:28px}
 .now-marker{grid-column:1/-1;margin:0}.now-main{grid-column:1;grid-row:2}.now-arrow{grid-column:2;grid-row:2}
 .now-main h2{font-size:24px}.now-main h2 span{display:block}
 .atelier-selected{padding-top:79px;padding-bottom:84px}
 .atelier-section-head{padding-bottom:43px}
 .atelier-section-head h2,.atelier-research h2{font-size:clamp(53px,12vw,74px)}
 .atelier-section-head>p{font-size:14px}
 .atelier-project{padding:35px 0;gap:28px}.atelier-project h3{font-size:36px}
 .atelier-project p{font-size:14px}
 .project-visual{min-height:280px;padding:20px}
 .rag-chain{gap:4px;margin-top:53px}.rag-chain span{padding:9px;font-size:10px}.rag-chain i{width:12px}
 .rag-branches div{padding:10px 7px}.rag-branches span{font-size:9px}.rag-branches strong{font-size:10px}
 .visual-corner-note{left:20px;bottom:14px}
 .atelier-research-inner{padding-top:60px;padding-bottom:72px}.research-fig{min-height:320px}
 .research-orbit{width:260px;height:260px}
 .atelier-endcap{padding-top:69px;padding-bottom:75px}
 .atelier-endcap>div{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .atelier-text-link,.atelier-project,.project-visual,.project-visit,.now-arrow{transition:none!important;transform:none!important}
}


/* Studio 05: retain the Atelier 03 typography, composition and point-field.
   The v4 personal introduction is deliberately less playful. */
.atelier-hero h1{font-size:clamp(66px,6.7vw,108px);font-weight:570;letter-spacing:-.076em}
.atelier-hero h1 em{letter-spacing:-.08em}
.artwork-wrap{pointer-events:none} /* Interaction is listened for on the hero, not this decorative layer. */
.artwork-canvas{pointer-events:none}
.atelier-hero [data-field-study][data-pointer-active="true"]{opacity:1}
@media(max-width:1160px){.atelier-hero h1{font-size:clamp(57px,6.8vw,93px)}}
@media(max-width:800px){.atelier-hero h1{font-size:clamp(60px,10.6vw,86px)}}
@media(max-width:550px){.atelier-hero h1{font-size:clamp(47px,11.6vw,65px);line-height:1.085;letter-spacing:-.068em}}
@media(max-width:390px){.atelier-hero h1{font-size:clamp(43px,11.5vw,55px)}}

/* ---------------------------------------------------------------
   ATELIER 06 / MOTION DIRECTION
   The dark editorial layout stays intact. Motion is applied only as
   a readable layer: masked entrances, tactile graphics, context transitions.
   --------------------------------------------------------------- */
:root{--motion-expo:cubic-bezier(.16,1,.3,1);--motion-curtain:cubic-bezier(.65,0,.35,1)}
.atelier-hero h1{perspective:1200px}
.hero-mask{display:block;overflow:hidden;padding:0 .05em .055em 0;margin-bottom:-.035em;white-space:nowrap}
.hero-mask>[data-line-inner]{display:block;width:max-content;will-change:transform}
.atelier-hero .hero-light{color:#D1DEDA}
.artwork-wrap{pointer-events:auto}
.artwork-plate{pointer-events:auto;touch-action:pan-y;isolation:isolate}
.artwork-canvas,.artwork-fallback,.artwork-axis,.artwork-corner{pointer-events:none}
.artwork-plate::before{content:"";pointer-events:none;position:absolute;inset:5.5%;border-radius:50%;border:1px solid #667d8240;transform:rotate(-9deg) scaleX(.96);z-index:1;mask-image:linear-gradient(100deg,transparent 8%,#000 65%,transparent 92%)}
.artwork-plate::after{content:"";pointer-events:none;position:absolute;inset:22%;border-radius:50%;z-index:0;box-shadow:0 0 120px 25px #799cb10c}
.artwork-canvas{z-index:2;opacity:1}
.artwork-axis,.artwork-corner{z-index:3}
.field-pulse{position:absolute;bottom:8%;left:15%;z-index:4;display:inline-flex;gap:9px;align-items:center;background:transparent;border:0;padding:8px 4px;font:500 10px var(--mono);letter-spacing:.03em;color:#C4D4D0;cursor:pointer;transition:color .45s var(--motion-expo)}
.field-pulse::before{content:"";position:absolute;bottom:3px;left:4px;width:calc(100% - 8px);height:1px;background:#8caaadb5;transform:scaleX(.35);transform-origin:left;transition:transform .65s var(--motion-expo)}
.field-pulse:hover,.field-pulse:focus-visible{color:var(--signal)}
.field-pulse:hover::before,.field-pulse:focus-visible::before{transform:scaleX(1)}
.field-pulse:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.field-pulse>span{text-transform:uppercase;font-size:9px}
.atelier-text-link span[aria-hidden]{display:inline-block;will-change:transform}
/* The route curtain covers navigation, with visible page content behind it until triggered. */
.route-veil{visibility:hidden;pointer-events:none;position:fixed;inset:0;z-index:100;background:linear-gradient(153deg,#111c24,#1b303c 57%,#101a21);transform:translate3d(0,101%,0);display:flex;align-items:center;justify-content:center;overflow:hidden}
.route-veil .veil-grain{position:absolute;inset:0;opacity:.28;background:repeating-linear-gradient(0deg,transparent 0,transparent 14px,#899aa20b 14.5px,#899aa20b 15px)}
.route-veil .veil-sign{position:relative;font:600 clamp(26px,5vw,54px)/1 var(--display);letter-spacing:-.08em;color:var(--paper-light)}
.route-veil .veil-line{position:absolute;left:0;right:0;top:0;height:3px;background:var(--signal)}
/* Project illustrations have a distinct, purpose-specific response. */
.atelier-project{isolation:isolate;transition:border-color .6s var(--motion-expo),background-color .6s var(--motion-expo)}
.atelier-project::after{content:"";position:absolute;pointer-events:none;inset:auto 0 0 0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--signal) 50%,transparent 100%);transform:scaleX(0);transform-origin:left;opacity:.8;transition:transform 1s var(--motion-expo)}
.atelier-project.is-interacting::after{transform:scaleX(1)}
.atelier-project .project-visual{will-change:transform;transition:transform 1.2s var(--motion-expo),filter 1.2s var(--motion-expo);overflow:hidden}
.atelier-project.is-interacting .project-visual{transform:scale(1.023);filter:brightness(1.10)}
.atelier-project .project-visit span{display:inline-block;transition:transform .65s var(--motion-expo)}
.atelier-project.is-interacting .project-visit span{transform:translate3d(6px,-5px,0)}
/* Trace: signal crosses the steps and branches in response to focus or hover. */
.rag-visual .rag-chain i{position:relative;overflow:hidden}
.rag-visual .rag-chain i::before{content:"";position:absolute;width:9px;height:9px;background:var(--signal);border-radius:50%;left:-12px;top:50%;margin-top:-4px;box-shadow:0 0 14px #d9ef8b8f;opacity:0}
.atelier-project-rag.is-interacting .rag-chain i::before,.atelier-project-rag.is-current .rag-chain i::before{animation:ragTransit 1.35s var(--motion-expo) both infinite}
.rag-visual .rag-chain i:nth-of-type(2)::before{animation-delay:.3s!important}
@keyframes ragTransit{0%{left:-12px;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% + 4px);opacity:0}}
.rag-visual .rag-branches>div{transition:transform .6s var(--motion-expo),opacity .6s var(--motion-expo)}
.atelier-project-rag.is-interacting .rag-branches>div:nth-child(2){transform:translateX(6px)}
.atelier-project-rag.is-interacting .rag-branches>div:nth-child(3){transform:translateX(12px)}
/* Data: a single light band passes over the synthetic records. */
.mini-datagrid{position:relative;overflow:hidden}
.mini-datagrid::after{content:"";position:absolute;left:0;right:0;top:-25%;height:28%;pointer-events:none;background:linear-gradient(180deg,transparent,#c4e7fc15,transparent);opacity:0}
.atelier-project.is-interacting .mini-datagrid::after,.atelier-project.is-current .mini-datagrid::after{animation:tableScan 2.15s var(--motion-expo) infinite}
@keyframes tableScan{0%{transform:translateY(0);opacity:0}10%{opacity:1}85%{opacity:1}100%{transform:translateY(560%);opacity:0}}
/* Audio: gentle phase changes, not an endlessly bouncing equalizer. */
.piano-visual .piano-bars i{transform-origin:bottom center;transition:transform 1s var(--motion-expo)}
.atelier-project.is-interacting .piano-bars i,.atelier-project.is-current .piano-bars i{animation:barsBreathe 2.1s ease-in-out infinite alternate;animation-delay:calc(var(--bar-i,0) * -90ms)}
.piano-bars i:nth-child(3n+1){--bar-i:1}.piano-bars i:nth-child(3n+2){--bar-i:2}.piano-bars i:nth-child(4n){--bar-i:3}
@keyframes barsBreathe{from{transform:scaleY(.72)}to{transform:scaleY(1.04)}}
.research-orbit{animation:orbitDrift 32s linear infinite;will-change:transform}
.research-orbit .r-orbit-2{animation:orbitInverse 27s linear infinite}
@keyframes orbitDrift{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes orbitInverse{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
/* Fine-grained viewport and input behavior. */
@media (hover:none),(pointer:coarse){
 .field-pulse{bottom:7%;left:13%;min-height:40px;min-width:100px}
 .artwork-axis.axis-bottom{right:8%;bottom:16%}
 .atelier-project.is-current .project-visual{filter:brightness(1.07)}
 .atelier-project.is-current::after{transform:scaleX(.7);opacity:.35}
}
@media (max-width:760px){
 .hero-mask{padding-bottom:.07em}
 .field-pulse{bottom:4%;left:13%}
 .artwork-plate{touch-action:pan-y}
 .artwork-axis.axis-bottom{bottom:17%;right:8%}
 .atelier-hero .artwork-wrap{pointer-events:auto}
}
@media (prefers-reduced-motion:reduce){
 .artwork-canvas{animation:none!important}
 .research-orbit,.research-orbit .r-orbit-2,.piano-visual .piano-bars i,.mini-datagrid::after,.rag-visual .rag-chain i::before{animation:none!important}
 .atelier-project,.atelier-project .project-visual,.field-pulse,.field-pulse::before{transition:none!important}
 .route-veil{display:none!important}
}
/* On phones the artwork must be a real interactive surface, not a barely
   visible layer underneath links and body text. No hover is required. */
@media (max-width:760px){
 .atelier-hero-inner{display:flex;flex-direction:column;min-height:0;padding-top:27px;padding-bottom:28px}
 .atelier-hero-meta{width:100%;order:0}
 .atelier-hero-copy{order:1;width:100%;padding:55px 0 17px}
 .atelier-greeting{margin-bottom:25px}
 .atelier-hero h1{font-size:clamp(46px,10.45vw,70px);margin-bottom:30px}
 .atelier-intro{font-size:15px;line-height:1.7;max-width:470px}
 .atelier-actions{margin-top:28px}
 .artwork-wrap{position:relative;order:2;right:auto;top:auto;width:min(100%,520px);opacity:1;z-index:2;transform:none;align-self:center;margin:4px 0 0;pointer-events:auto}
 .artwork-plate{width:min(100%,500px);height:auto;aspect-ratio:1;margin:0 auto;touch-action:pan-y}
 .hero-bottom-line{order:3;width:100%;margin:0 0 4px}
 .field-pulse{left:10%;bottom:7%}
 .axis-top{left:10%}.axis-bottom{bottom:13%;right:7%}
 .artwork-corner{right:11%;top:13%}
}

/* ──────────────────────────────────────────────────────────
   Atelier 07 · Project sequence
   Original editorial scenes; deliberate sequencing rather
   than decorative hover animation. Three synchronized layers:
   curtain, illustration and text. Everything works via buttons,
   keyboard and touch as well as pointer.
   ────────────────────────────────────────────────────────── */
:root { --motion-curtain:cubic-bezier(.65,0,.35,1); --motion-reveal:cubic-bezier(.16,1,.3,1); }
.atelier-greeting {text-transform:none;letter-spacing:-.01em;font-size:15px;color:#CFDBD7}
.greeting-divider {color:#D9EF8B; margin:0 7px}
.atelier-selected {padding-bottom:115px}
.motion-gallery {--gallery-bg:#1B2B36;position:relative;border-top:1px solid #789199;outline-offset:8px}
.gallery-top {height:64px;display:flex;align-items:center;justify-content:space-between;font:500 10px var(--mono);letter-spacing:.085em;color:#C4D4D0}
.gallery-top>span:first-child{display:flex;align-items:center;gap:11px}
.gallery-led {display:inline-block;width:6px;height:6px;background:#D9EF8B;border-radius:50%;box-shadow:0 0 0 6px #D9EF8B0a}
.gallery-count {font-size:16px;letter-spacing:-.01em;color:#F5F3EC}
.gallery-count span{font-size:11px;color:#91A7A8}
.gallery-window {min-height:590px;display:grid;grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr);background:var(--gallery-bg);border:1px solid #47606A;overflow:hidden;position:relative;isolation:isolate}
.gallery-copy {position:relative;min-height:590px;padding:clamp(36px,4.5vw,76px);display:flex;align-items:center;overflow:hidden;z-index:2;background:linear-gradient(155deg,#20313C 1%,#182934 78%)}
.gallery-copy:after {content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#D9EF8B,#D9EF8B00 80%)}
.gallery-text{width:100%;position:relative}
.gallery-text[hidden],.gallery-scene[hidden]{display:none!important}
.gallery-eyebrow {display:block;font:500 11px var(--mono);letter-spacing:.09em;color:#BBCDC8;margin-bottom:38px}
.gallery-text h3{font:550 clamp(43px,4.4vw,68px)/1.075 var(--display);letter-spacing:-.07em;color:#F5F3EC;margin:0 0 34px;max-width:600px}
.gallery-text h3 em {color:#D9EF8B;font:italic 400 .99em Georgia,serif;letter-spacing:-.068em}
.gallery-text p {font-size:16px;line-height:1.75;color:#B6C9C7;max-width:445px;margin:0 0 42px}
.gallery-case-link {display:inline-flex;align-items:center;gap:28px;color:#F5F3EC;font-size:14px;font-weight:560;padding-bottom:9px;border-bottom:1px solid #D9EF8B;transition:gap .7s var(--motion-reveal),color .4s}
.gallery-case-link:hover{gap:42px;color:#D9EF8B}
.gallery-case-link span{color:#D9EF8B}
.gallery-display {min-height:590px;position:relative;overflow:hidden;touch-action:pan-y;isolation:isolate;background:#121F29;cursor:grab;user-select:none;-webkit-user-select:none}
.gallery-display:active{cursor:grabbing}
.gallery-grid {position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(#66828c0e 1px,transparent 1px),linear-gradient(90deg,#66828c0e 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(130deg,transparent 6%,black 75%);}
.gallery-scene {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 52% 41%,#2b4756 0%,#192C39 43%,#101F29 95%)}
.gallery-scene:before {content:'';position:absolute;width:72%;height:65%;border:1px solid #6d90992b;border-radius:50%;transform:rotate(-30deg) scaleX(1.3);box-shadow:0 0 135px #405BCB15;pointer-events:none}
.gallery-scene-data {background:radial-gradient(ellipse at 55% 30%,#273e50,#122332 61%,#121e28)}
.gallery-scene-music {background:radial-gradient(ellipse at 67% 35%,#333B60,#172634 58%,#121F29)}
.gallery-art {width:min(100%,700px);height:auto;overflow:visible;filter:drop-shadow(0 2px 25px #00000021);transition:transform 1.2s var(--motion-reveal);transform-origin:center}
.gallery-scene-rag .trace-wires path {fill:none;stroke:#9CC0C2;stroke-width:1.3;opacity:.35}
.gallery-scene-rag .trace-flow path {fill:none;stroke:#D9EF8B;stroke-width:2;stroke-dasharray:7 35;stroke-linecap:round;opacity:.9;animation:traceCurrent 3.4s linear infinite}
.gallery-scene-rag .trace-flow path:nth-child(2){animation-delay:-1.1s;stroke:#A4B3FF}.gallery-scene-rag .trace-flow path:nth-child(3){animation-delay:-2.15s;stroke:#789BA5}
.gallery-scene-rag .trace-point circle {fill:#203743;stroke:#5E818A;stroke-width:1.5;opacity:.85}
.gallery-scene-rag .trace-hub circle {fill:#D9EF8B;filter:drop-shadow(0 0 13px #D9EF8B)}
.gallery-scene-rag .trace-hub circle:nth-child(4){fill:#A4B3FF;filter:none}.gallery-scene-rag .trace-hub circle:nth-child(5){fill:#8BA1AA;filter:none}
.gallery-scene-rag .trace-labels text,.data-text text,.music-caption{font:500 10px var(--mono);letter-spacing:.1em;fill:#C5DAD6}
@keyframes traceCurrent{to{stroke-dashoffset:-252}}
.gallery-scene-data .data-rails path{fill:none;stroke:#839ca5;stroke-width:1.4;opacity:.33;stroke-dasharray:6 8;animation:traceCurrent 8s linear infinite}
.gallery-scene-data .data-blocks rect {fill:#253d4b;stroke:#718B9C;stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:blockBreathe 3.5s ease-in-out infinite alternate}
.gallery-scene-data .data-blocks rect:nth-child(2){animation-delay:-1s}.gallery-scene-data .data-blocks rect:nth-child(3){animation-delay:-2s}.gallery-scene-data .data-blocks rect:nth-child(4){animation-delay:-3s}
.gallery-scene-data .data-checks path{fill:none;stroke:#D9EF8B;stroke-width:3.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:58;stroke-dashoffset:58;animation:checkReveal 3.6s var(--motion-reveal) infinite}
.gallery-scene-data .data-checks path:nth-child(2){animation-delay:.5s}.gallery-scene-data .data-checks path:nth-child(3){animation-delay:1s}.gallery-scene-data .data-checks path:nth-child(4){animation-delay:1.5s}
@keyframes blockBreathe{to{transform:translateY(-7px);stroke:#D9EF8B}}
@keyframes checkReveal{0%,12%{stroke-dashoffset:58;opacity:0}30%,82%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.2}}
.gallery-scene-music .music-lines path{stroke:#7894B2;stroke-width:1.25;fill:none;opacity:.8}
.gallery-scene-music .music-noteheads ellipse{fill:#D9EF8B}
.gallery-scene-music .music-stems path{stroke:#D9EF8B;stroke-width:2;fill:none}
.gallery-scene-music .music-envelope path{stroke:#8FA4FF;stroke-width:2.5;fill:none;stroke-dasharray:850;stroke-dashoffset:850;animation:envelopeReveal 6s var(--motion-reveal) infinite}
.gallery-scene-music .music-playhead{stroke:#D9EF8B;stroke-width:1.8;opacity:.8;animation:playheadSweep 5.8s linear infinite}
.gallery-scene-music .music-caption{fill:#CBD4DE}
@keyframes envelopeReveal{0%{stroke-dashoffset:850}65%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:850}}
@keyframes playheadSweep{from{transform:translateX(0)}to{transform:translateX(460px)}}
.scene-corner {position:absolute;font:500 10px var(--mono);letter-spacing:.08em;color:#A7C1C0;bottom:25px;z-index:3}
.scene-corner-left{left:30px}.scene-corner-right{right:30px}
.gallery-curtain{position:absolute;inset:0;z-index:6;background:#D9EF8B;transform:scaleX(0);transform-origin:left;pointer-events:none;will-change:transform}
.gallery-hover-signal {--mx:50%;--my:50%;position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle 160px at var(--mx) var(--my),#D9EF8B0e,transparent 80%);mix-blend-mode:screen;transition:opacity .4s;opacity:.8}
.gallery-bottom{display:flex;align-items:stretch;justify-content:space-between;border-bottom:1px solid #4B6168;min-height:91px}
.gallery-steps{display:flex;align-items:stretch;flex:1;gap:0}
.gallery-steps button{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:14px;color:#9EAFAC;border:0;background:transparent;text-align:left;padding:22px 12px 25px;cursor:pointer;transition:color .5s,background .5s var(--motion-reveal)}
.gallery-steps button:hover{background:#22343C;color:#F5F3EC}.gallery-steps button.is-active{color:#F5F3EC}
.gallery-steps button .step-num{font:600 11px var(--mono);color:#D9EF8B}
.gallery-steps button .step-name{font-size:13px;font-weight:480;line-height:1.3}
.gallery-steps button .step-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#D9EF8B;transform:scaleX(0);transform-origin:left;transition:transform .75s var(--motion-reveal)}
.gallery-steps button.is-active .step-progress{transform:scaleX(1)}
.gallery-arrows{display:flex;align-items:center;border-left:1px solid #3D5158}
.gallery-arrows button{border:0;border-right:1px solid #3D5158;background:transparent;color:#F5F3EC;font-size:25px;min-width:66px;height:100%;transition:background .5s var(--motion-reveal),color .3s}
.gallery-arrows button:last-child{border-right:0}
.gallery-arrows button:hover{background:#D9EF8B;color:#17242B}
.gallery-hint{font:400 11px var(--mono);color:#8FA6A8;margin:13px 0 0;text-align:right}
@media(max-width:1000px){
 .gallery-window{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:520px}
 .gallery-copy,.gallery-display{min-height:520px}
 .gallery-copy{padding:35px}
 .gallery-text h3{font-size:clamp(37px,4.2vw,54px)}
 .gallery-arrows button{min-width:52px}
}
@media(max-width:760px){
 .atelier-section-head{padding-bottom:38px}
 .gallery-window{display:flex;flex-direction:column;min-height:0}
 .gallery-copy{min-height:340px;padding:37px 27px 29px;order:1}
 .gallery-text h3{font-size:clamp(43px,11vw,68px);margin-bottom:23px}
 .gallery-text p{font-size:14px;margin-bottom:25px;line-height:1.65}
 .gallery-eyebrow{margin-bottom:21px}
 .gallery-display{order:0;min-height:0;height:auto;aspect-ratio:1.07}
 .gallery-art{width:100%;height:100%;object-fit:contain}
 .gallery-bottom{display:flex;flex-direction:column-reverse}
 .gallery-arrows{height:55px;justify-content:flex-end;border-bottom:1px solid #3D5158;border-left:0}
 .gallery-arrows button{min-width:64px}
 .gallery-steps button{padding:20px 9px 23px;gap:8px;flex-direction:column;align-items:flex-start;justify-content:center}
 .gallery-steps button .step-name{font-size:11px}
 .gallery-top{height:53px}
 .scene-corner{font-size:8px;bottom:13px}.scene-corner-left{left:17px}.scene-corner-right{right:17px}
 .gallery-hint{text-align:left;font-size:10px}
}
@media(max-width:390px){.gallery-copy{min-height:330px;padding:25px 21px}.gallery-text h3{font-size:40px}.gallery-text p{font-size:13px}}
@media(prefers-reduced-motion:reduce){
 .gallery-scene *, .gallery-scene *, .gallery-art, .gallery-steps button .step-progress, .gallery-case-link{animation:none!important;transition:none!important}
 .gallery-curtain{display:none!important}
}

/* Full-bleed mobile menu, not compressed navigation text. */
.mobile-nav-toggle{display:none;position:relative;border:0;background:transparent;color:#F5F3EC;gap:14px;align-items:center;padding:13px 0 13px 12px;min-width:85px;min-height:47px;z-index:101;font-size:13px;letter-spacing:.01em}
.mobile-nav-toggle i{display:block;width:22px;height:1px;background:#D9EF8B;position:absolute;right:0;top:19px;transition:transform .5s var(--motion-curtain)}
.mobile-nav-toggle i:last-child{top:27px}
.mobile-nav-toggle[aria-expanded=true] i:first-of-type{transform:translateY(4px) rotate(45deg)}
.mobile-nav-toggle[aria-expanded=true] i:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-nav-panel{visibility:hidden;position:fixed;inset:0;z-index:99;background:#D9EF8B;color:#17242B;overflow:auto;display:flex;flex-direction:column;padding:max(100px,11vh) max(25px,6vw) 32px;clip-path:inset(0 0 100% 0)}
.mobile-nav-top,.mobile-nav-footer{display:flex;justify-content:space-between;gap:15px;font:500 10px var(--mono);letter-spacing:.075em}
.mobile-nav-panel nav{flex:1;display:flex;flex-direction:column;justify-content:center;padding:30px 0}
.mobile-nav-panel nav a{display:grid;grid-template-columns:36px 1fr 26px;align-items:baseline;border-bottom:1px solid #17242B55;color:#17242B;padding:12px 0;overflow:hidden}
.mobile-nav-panel nav a span{font:600 11px var(--mono)}
.mobile-nav-panel nav a strong{font:600 clamp(48px,14vw,88px)/1.12 var(--display);letter-spacing:-.07em}
.mobile-nav-panel nav a b{font-size:25px;font-weight:400}
.mobile-nav-panel nav a:hover strong{font-style:italic}
body.menu-open{overflow:hidden}
@media(max-width:760px){
 .site-header{position:relative;z-index:100}
 .site-header .nav{display:none}
 .mobile-nav-toggle{display:flex}
 .brand-name{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.mobile-nav-panel,.mobile-nav-panel *,.mobile-nav-toggle i{animation:none!important;transition:none!important}}
.field-impact{position:absolute;z-index:3;pointer-events:none;display:block;width:24px;height:24px;border:1.5px solid #D9EF8B;border-radius:50%;transform:translate(-50%,-50%) scale(.2);box-shadow:0 0 34px #D9EF8B55;animation:fieldImpact .95s cubic-bezier(.16,1,.3,1) forwards}
.field-impact:after{content:'';position:absolute;inset:-20px;border:1px solid #A2B4FF;border-radius:50%;opacity:.5}
@keyframes fieldImpact{0%{transform:translate(-50%,-50%) scale(.2);opacity:1}100%{transform:translate(-50%,-50%) scale(8);opacity:0}}
@media(prefers-reduced-motion:reduce){.field-impact{display:none}}
/* The artwork tracks scroll progress; the page itself is never scroll-jacked. */
.research-orbit{transform:translate(-50%,-50%) rotate(var(--research-turn,0deg));transition:transform .16s linear}
.research-formula{transform:translateY(var(--research-lift,0px))}
.gallery-scene.is-active .gallery-art{transform:translateY(var(--gallery-turn,0px))}
@media(prefers-reduced-motion:reduce){.research-orbit,.research-formula,.gallery-scene.is-active .gallery-art{transform:none!important;transition:none!important}}
noscript{display:block;border:1px solid #D9EF8B;background:#243338;color:#F5F3EC;padding:18px 22px;max-width:900px;margin:32px auto;font-size:15px;line-height:1.7}

/* ATELIER 08 — a kinetic print studio. Original sculptural material and tighter composition.
   Visual references informed timing and hierarchy, never artwork or design assets. */
:root{--stage-ink:#0E171D;--stage-paper:#F5F3EC;--stage-cobalt:#5975D8;--stage-signal:#D9EF8B;--stage-slate:#8EAAA7}
body{background:#111B21}
.site-header{background:#101a20;border-color:#38494c}
.header-inner{min-height:75px}
.brand{gap:12px}
.brand-monogram{font-family:var(--mono);font-style:normal;font-size:21px;letter-spacing:-.12em;color:#D9EF8B}
.brand-name{font-size:13px;font-weight:450;color:#D7DAD4}
.nav a{font-size:12px;letter-spacing:.035em}
.nav{gap:37px}
.atelier-hero{background:#0e171d!important;isolation:isolate;overflow:hidden}
.atelier-hero:before{background-image:linear-gradient(to right,#72848a 1px,transparent 1px);background-size:calc(100% / 18) 100%;opacity:.075;mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 80%,transparent 100%)}
.atelier-hero:after{content:"";pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse 57% 68% at 76% 48%,#46658815,transparent 75%),repeating-linear-gradient(0deg,#ffffff00 0px,#ffffff00 3px,#ffffff02 4px);z-index:0}
.atelier-hero-inner{min-height:790px;grid-template-columns:minmax(0,1fr) minmax(410px,.99fr)}
.atelier-hero-meta{color:#9FAFAC;padding-top:4px}
.atelier-hero-copy{align-self:center;padding:48px 0 35px}
.atelier-greeting{font-size:12px;font-weight:500;letter-spacing:.075em;text-transform:uppercase;color:#A8B9B3;margin-bottom:34px}
.atelier-greeting span{font-family:var(--mono);font-size:14px}
.atelier-hero h1{position:relative;font-size:clamp(64px,6.4vw,104px);line-height:1.025;letter-spacing:-.077em;font-weight:570;margin-bottom:36px;filter:drop-shadow(0 10px 22px #050a0d10)}
.atelier-hero h1 em{font-family:Georgia,serif;letter-spacing:-.09em;color:var(--stage-signal)}
.atelier-hero .hero-light{color:#CDDAD5;font-weight:350}
.atelier-intro{max-width:500px;font-size:16px;line-height:1.75;letter-spacing:-.011em;color:#AFC3C1}
.atelier-actions{margin-top:32px}
.atelier-text-link{font-size:13px;font-weight:520}
.artwork-wrap{transform:translateX(3%);z-index:1;align-self:center;justify-self:stretch;pointer-events:auto}
.artwork-plate{width:min(50vw,660px);height:min(50vw,660px);aspect-ratio:1;border-radius:0;isolation:isolate;position:relative;overflow:hidden;background:radial-gradient(circle at 55% 50%,#263B46 0%,#13252D 47%,#101A20 74%);touch-action:pan-y;outline:0;cursor:crosshair;box-shadow:inset 0 0 0 1px #647C8733}
.artwork-plate:focus-visible{outline:2px solid var(--stage-signal);outline-offset:3px}
.artwork-plate:before{inset:0;border-radius:0;border:none;mask-image:none;background:repeating-linear-gradient(90deg,#F5F3EC08 0px,#F5F3EC08 1px,transparent 1px,transparent 45px);z-index:1}
.artwork-plate:after{inset:0;border-radius:0;box-shadow:none;background:linear-gradient(180deg,#F5F3EC0a,transparent 23%,transparent 70%,#050b138e);z-index:2}
.artwork-canvas{z-index:1;width:100%;height:100%;opacity:1;display:block}
.artwork-fallback{z-index:0;opacity:.4;filter:grayscale(1)}
.artwork-aura{position:absolute;inset:-15%;z-index:0;pointer-events:none;background:radial-gradient(circle at 55% 50%,#D9EF8B13 0,#5975D80b 23%,transparent 64%)}
.artwork-axis{color:#C3D0CD;z-index:4;font-size:10px;letter-spacing:.12em}
.artwork-axis.axis-top{left:7%;top:7%}
.artwork-axis.axis-bottom{bottom:8%;right:7%}
.artwork-corner{right:7%;top:7%;z-index:4;font:500 10px var(--mono);color:#D9EF8B;letter-spacing:.12em}
.field-pulse{left:7%;bottom:7%;z-index:5;display:flex;align-items:center;gap:8px;opacity:1;pointer-events:auto}
.field-pulse span{font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.08em}
.sculpture-ripple{position:absolute;z-index:6;width:20px;height:20px;border-radius:100%;border:1px solid #D9EF8B;pointer-events:none;transform:translate(-50%,-50%) scale(.3);animation:sculptRipple 1.25s cubic-bezier(.16,1,.3,1) forwards;box-shadow:0 0 27px #D9EF8B33}
.sculpture-ripple:after{content:"";position:absolute;inset:-18px;border:1px solid #A4B2FF77;border-radius:100%;}
@keyframes sculptRipple{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}100%{transform:translate(-50%,-50%) scale(17);opacity:0}}
.kinetic-strip{position:relative;overflow:hidden;height:132px;background:#D9EF8B;color:#15212a;display:flex;align-items:center;border-bottom:1px solid #8ba26e}
.kinetic-strip:before,.kinetic-strip:after{content:"";position:absolute;top:0;bottom:0;width:7vw;z-index:2;pointer-events:none}
.kinetic-strip:before{left:0;background:linear-gradient(to right,#D9EF8B,transparent)}
.kinetic-strip:after{right:0;background:linear-gradient(to left,#D9EF8B,transparent)}
.kinetic-strip-track{white-space:nowrap;display:flex;align-items:center;width:max-content;will-change:transform;gap:0}
.kinetic-strip-track>span{font:630 clamp(66px,8.8vw,136px)/.9 var(--display);letter-spacing:-.075em;display:block;white-space:nowrap}
.kinetic-strip-track b{font:400 .75em Georgia,serif;vertical-align:.05em;color:#455ec8;margin:0 28px}
.atelier-now{background:#15242b;border-top:0}
.atelier-now-inner{padding-top:64px;padding-bottom:64px}
.atelier-selected{padding-top:130px;padding-bottom:125px}
.atelier-section-head{padding-bottom:45px}
.atelier-section-head h2{font-size:clamp(70px,8.2vw,128px);letter-spacing:-.085em}
.atelier-section-head p{max-width:360px}
.motion-gallery{isolation:isolate}
.gallery-window{border-color:#50636a;box-shadow:0 20px 70px #03080c25}
.gallery-copy{background:linear-gradient(155deg,#22343c,#192933)}
.gallery-display{background:#13232c}
.gallery-scene:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 55% 45%,transparent 27%,#0a182939 87%),repeating-linear-gradient(0deg,#f0faed00 0px,#f0faed00 3px,#f0faed04 4px)}
.gallery-scene-rag{background:radial-gradient(circle at 55% 45%,#344b4b,#15282f 65%,#0f1b25)}
.gallery-scene-data{background:radial-gradient(circle at 58% 42%,#3f4660,#1e2941 65%,#0f1b25)}
.gallery-scene-music{background:radial-gradient(circle at 55% 40%,#303b54,#142738 65%,#0f1b25)}
.gallery-text h3{font-weight:520;letter-spacing:-.07em;font-size:clamp(50px,5vw,79px)}
.gallery-text h3 em{color:#D9EF8B}
.gallery-text p{color:#C1D0CE;max-width:420px}
.gallery-art{filter:drop-shadow(0 13px 25px #02080e60)}
.gallery-curtain{background:#D9EF8B}
.gallery-top{border-color:#50636a}
.gallery-top span{font-size:10px}
.gallery-bottom{border-color:#50636a}
.gallery-steps button.is-active{background:#22323a}
.gallery-steps button .step-name{font-size:13px}
.atelier-research{position:relative;overflow:hidden}
.atelier-research::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(90deg,#D9EF8B05 0,#D9EF8B05 1px,transparent 1px,transparent 55px);mask-image:linear-gradient(90deg,#000,transparent 70%)}
.site-footer{background:#10191f}
@media (max-width:1100px){
 .atelier-hero-inner{grid-template-columns:minmax(0,1.02fr) minmax(335px,.98fr)}
 .atelier-hero h1{font-size:clamp(58px,6.4vw,85px)}
 .artwork-plate{width:min(49vw,590px);height:min(49vw,590px)}
}
@media (max-width:800px){
 .atelier-hero-inner{min-height:0;display:flex;flex-direction:column;padding-top:30px;padding-bottom:35px}
 .atelier-hero-copy{order:1;width:100%;padding:65px 0 35px}
 .atelier-hero h1{font-size:clamp(60px,10.5vw,88px)}
 .artwork-wrap{order:2;position:relative;right:auto;top:auto;width:min(100%,600px);transform:none;opacity:1;align-self:center;margin-top:8px}
 .artwork-plate{width:min(100%,570px);height:auto;aspect-ratio:1}
 .hero-bottom-line{order:3;margin-top:28px}
 .kinetic-strip{height:100px}
 .kinetic-strip-track>span{font-size:75px}
}
@media (max-width:550px){
 .atelier-hero{background:#0e171d}
 .atelier-hero-inner{padding-top:25px}
 .atelier-hero-copy{padding-top:57px;padding-bottom:19px}
 .atelier-hero h1{font-size:clamp(48px,10.6vw,69px);margin-bottom:25px}
 .atelier-greeting{font-size:11px;margin-bottom:28px}
 .atelier-intro{font-size:14px;line-height:1.72}
 .atelier-hero-meta{font-size:9px;letter-spacing:.04em}
 .artwork-wrap{margin:4px 0 0;width:calc(100vw - 38px);max-width:490px}
 .artwork-plate{width:100%;height:auto;aspect-ratio:1}
 .artwork-axis.axis-top,.artwork-axis.axis-bottom{display:block;font-size:8px}
 .artwork-axis.axis-bottom{bottom:7%;right:6%;max-width:92px;text-align:right}
 .artwork-corner{display:block;font-size:9px}
 .field-pulse{left:6%;bottom:6%;background:#D9EF8B;color:#18252B;border:0;border-radius:0;padding:10px 11px;min-height:42px}
 .field-pulse span{font-size:9px}
 .kinetic-strip{height:79px}
 .kinetic-strip-track>span{font-size:56px}
 .kinetic-strip-track b{margin:0 16px}
 .atelier-now-inner{padding-top:46px;padding-bottom:47px}
 .atelier-selected{padding-top:86px}
 .atelier-section-head h2{font-size:clamp(64px,12vw,92px)}
 .gallery-window{box-shadow:none}
 .gallery-copy{min-height:345px}
 .gallery-display{aspect-ratio:1}
 .gallery-text h3{font-size:clamp(40px,10vw,57px)}
}
@media(prefers-reduced-motion:reduce){
 .kinetic-strip-track{transform:none!important}
 .sculpture-ripple{animation:none!important;display:none}
 .gallery-art{transition:none!important}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ATELIER 09 / MAUVE INK, VERMILION AND PARCHMENT
   A change of art direction, not a repainted component library.
   Type = editorial; sculpture = physical; navigation = cinematic.
   Motion system: expo-out .16/1/.3/1; scene .65/0/.35/1.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
:root{
  --paper:#17141e;--sheet:#211d2a;--white:#292434;
  --ink:#f5eee2;--muted:#bbb1bf;--line:#4b4252;
  --red:#ff795c;--red-dark:#ffab8b;
  --cobalt:#8586f1;--cobalt-text:#c4bfff;--slate:#b1a4b2;
  --canvas:#17141e;--canvas-soft:#251f30;
  --signal:#ff795c;--stage-signal:#ff795c;
  --paper-light:#f5eee2;--electric:#ae9fff;
}
html{background:#17141e}
body{color:var(--paper-light);background:var(--canvas)}
.site-header{background:rgba(22,18,30,.93);border-bottom:1px solid #75637750;backdrop-filter:blur(13px)}
.site-header .brand-monogram,.brand-separator{color:#f5eee2}
.site-header .brand-name,.nav a{color:#cfc6d1}
.site-header .nav a:hover,.site-header .nav a[aria-current="page"]{color:#ffb08a}
.mobile-nav-panel{background:#211a29;color:#f5eee2}
.mobile-nav-panel a{color:#f5eee2}
.mobile-nav-toggle{color:#f5eee2}
/* The first screen: asymmetric typography with a luminous folded volume. */
.atelier-hero{background:radial-gradient(ellipse 58% 65% at 80% 46%,#39304b 0%,#252033 54%,transparent 86%),#17141e!important;isolation:isolate;min-height:790px}
.atelier-hero:before{background-image:linear-gradient(90deg,#dbc7ff13 1px,transparent 1px);background-size:calc(100% / 16) 100%;opacity:.68;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
.atelier-hero:after{background:radial-gradient(ellipse at 73% 49%,#fa936517,transparent 46%);z-index:0}
.atelier-hero-inner{min-height:810px;grid-template-columns:minmax(0,.94fr) minmax(390px,1.06fr);padding-top:43px;padding-bottom:35px}
.atelier-hero-meta{font-size:11px;color:#bfb1c0;letter-spacing:.12em}
.atelier-hero-copy{align-self:center;padding:65px 0 60px}
.atelier-greeting{display:flex;align-items:center;gap:14px;font:500 11px/1.6 var(--mono);letter-spacing:.095em;color:#d3bdc7;margin-bottom:34px}
.atelier-greeting .greeting-number{display:inline-grid;place-items:center;border:1px solid #ff8065;color:#ffad88;width:35px;height:35px;font-size:12px;margin:0}
.atelier-greeting .greeting-divider{color:#ee967c}
.atelier-hero h1{font-size:clamp(64px,6.6vw,112px);line-height:.98;font-weight:590;letter-spacing:-.087em;margin-bottom:41px;max-width:900px}
.atelier-hero h1 em{color:#ffa786;font-style:italic;letter-spacing:-.11em}
.atelier-hero h1 .hero-light{font-weight:465;color:#f4e8e1;letter-spacing:-.087em}
.hero-period{color:#ff795c}
.atelier-intro{font-size:clamp(15px,1.27vw,17px);line-height:1.84;max-width:520px;color:#d0c4ca;letter-spacing:-.01em}
.atelier-actions{gap:38px;margin-top:35px}
.atelier-text-link{font-size:14px;color:#f6eadf;border-bottom:1px solid #ff8b74;transition:gap .6s cubic-bezier(.16,1,.3,1),color .3s}
.atelier-text-link:hover{color:#ffa786}
.atelier-text-link.muted-action{color:#c8b6c7;border-color:#806c80}
.artwork-wrap{z-index:1;transform:translateX(2%);pointer-events:auto;justify-self:center}
.artwork-plate{width:min(52vw,670px);height:min(52vw,670px);max-height:670px;aspect-ratio:1;background:radial-gradient(ellipse 65% 57% at 51% 51%,#39283d 0%,#252039 51%,#1b1928 88%);border:0;box-shadow:none;overflow:hidden;touch-action:pan-y;cursor:grab}
.artwork-plate:active{cursor:grabbing}
.artwork-plate:before{background:repeating-linear-gradient(0deg,#fce4d109 0,#fce4d109 1px,transparent 1px,transparent 4px);opacity:.3;z-index:3;pointer-events:none}
.artwork-plate:after{background:radial-gradient(ellipse 66% 65% at 55% 52%,transparent 35%,#14101c8c 100%);z-index:2;pointer-events:none}
.artwork-canvas{opacity:1;z-index:2}
.artwork-fallback{opacity:1;filter:none;z-index:1}
.artwork-plate.is-rendered .artwork-fallback{opacity:.09}
.artwork-aura{background:radial-gradient(circle at 52% 53%,#fa8c6834,transparent 52%);z-index:0}
.artwork-axis,.artwork-axis.axis-top,.artwork-axis.axis-bottom,.artwork-corner{color:#efd5d0;letter-spacing:.09em;text-shadow:0 1px 3px #16131e9c}
.artwork-corner{color:#ffa789}
.field-pulse{left:7%;bottom:7%;background:#eddbf5;color:#25202e;border:0;min-height:41px;padding:9px 14px;transition:transform .7s cubic-bezier(.16,1,.3,1),background .3s;z-index:6}
.field-pulse:hover{background:#ffa786;transform:translateY(-3px)}
.field-pulse span{color:#25202e}
.sculpture-ripple{border-color:#f99c7f;box-shadow:0 0 25px #f38e8c60}
.sculpture-ripple:after{border-color:#b8a7ff}
.hero-bottom-line{color:#bdaebd}
.hero-bottom-stroke{background:linear-gradient(90deg,#d7b2a1,transparent)}
/* Kinetic band: a printmaking poster between the first two chapters. */
.kinetic-strip{height:120px;background:#f7b998;color:#211a27;border:0}
.kinetic-strip:before{background:linear-gradient(90deg,#f7b998,transparent)}
.kinetic-strip:after{background:linear-gradient(-90deg,#f7b998,transparent)}
.kinetic-strip-track>span{font-weight:670;color:#241c2c}
.kinetic-strip b{color:#6748a6}
/* Work identity is present without commandeering the main headline. */
.atelier-now{background:#211c2a;border-top:1px solid #756b784d;border-bottom:1px solid #756b784d}
.atelier-now-inner{padding-top:52px;padding-bottom:58px}
.now-marker{color:#ffb69d}
.now-point{background:#ff795c;box-shadow:0 0 0 5px #ff795c24}
.now-main h2{color:#f7eee5;font-size:clamp(25px,2.55vw,36px)}
.now-main h2 span{color:#b7a7b8}
.now-main p{color:#c9bac8;font-size:14px}
.now-arrow{color:#ffad8b}
.atelier-selected{padding-top:130px;padding-bottom:140px;background:#17141e}
.atelier-section-head{border-bottom:0}
.atelier-section-head .folio-index{color:#ffad8b}
.atelier-section-head h2{color:#f5eee2;letter-spacing:-.082em}
.atelier-section-head h2 em{color:#ffad8b}
.atelier-section-head p{color:#cfc3cc}
.gallery-top{color:#b7aabb}.gallery-led{background:#ff8065;box-shadow:0 0 0 6px #ff806515}
.gallery-count{color:#fff3e9}.gallery-count span{color:#9d8eaa}
.gallery-window{background:#2b2435;border:0;box-shadow:0 23px 100px #07060945;min-height:600px}
.gallery-copy{min-height:600px;background:#282132}
.gallery-copy:after{background:linear-gradient(90deg,#ff8c6b,#ff8c6b00 82%)}
.gallery-eyebrow{color:#ffa786}
.gallery-text h3{color:#fff1e5;font-size:clamp(48px,5.3vw,86px);letter-spacing:-.074em}
.gallery-text h3 em{color:#b3a1fb}
.gallery-text p{color:#d7c8d4;line-height:1.8}
.gallery-case-link{color:#ffeddd;border-color:#ef8e7b}
.gallery-case-link span{color:#f99977}
.gallery-case-link:hover{color:#ffb99d}
.gallery-display{background:#33283e}
.gallery-scene-rag{background:radial-gradient(circle at 55% 45%,#8173b9,#43366b 55%,#302746 100%)}
.gallery-scene-data{background:radial-gradient(circle at 59% 42%,#dd9680,#ad6d71 54%,#6b455d 100%)}
.gallery-scene-music{background:radial-gradient(circle at 55% 45%,#8d9dd3,#535a98 56%,#39345f 100%)}
.gallery-scene::after{background:radial-gradient(circle at 54% 44%,transparent 34%,#1d173259 98%),repeating-linear-gradient(0deg,#fff0ed00 0,#fff0ed00 3px,#fff0ed04 4px)}
.gallery-grid{background-image:linear-gradient(#e7dfff17 1px,transparent 1px),linear-gradient(90deg,#e7dfff17 1px,transparent 1px);background-size:36px 36px;opacity:.56}
.gallery-scene::before{border-color:#f2daed3a;box-shadow:0 0 120px #fff1e82a}
.gallery-scene-rag .trace-wires path{stroke:#f6e4ef;opacity:.5}
.gallery-scene-rag .trace-flow path{stroke:#ffd5af;opacity:1}
.gallery-scene-rag .trace-flow path:nth-child(2){stroke:#fca18b}
.gallery-scene-rag .trace-flow path:nth-child(3){stroke:#c8a6ff}
.gallery-scene-rag .trace-point circle{fill:#4c4377;stroke:#d0bfff;stroke-width:1.7;opacity:.95}
.gallery-scene-rag .trace-hub circle{fill:#ffd3ad;filter:drop-shadow(0 0 10px #ffd3ad)}
.gallery-scene-data .data-rails path{stroke:#f7d8da;opacity:.6}
.gallery-scene-data .data-blocks rect{fill:#684b69;stroke:#ffe7de}
.gallery-scene-data .data-checks path{stroke:#fbe1b8}
.gallery-scene-music .music-lines path{stroke:#f2e3f4}
.gallery-scene-music .music-noteheads ellipse{fill:#ffd6b5}
.gallery-scene-music .music-stems path{stroke:#ffd6b5}
.gallery-scene-music .music-envelope path{stroke:#f6b9bd}
.gallery-scene-music .music-playhead{stroke:#ffd6b5}
.gallery-scene .scene-corner,.gallery-scene .trace-labels text,.gallery-scene .data-text text,.gallery-scene .music-caption{color:#ffe6e1;fill:#ffe6e1}
.gallery-curtain{background:#f7b998}
.gallery-hover-signal{background:radial-gradient(circle 190px at var(--mx) var(--my),#fff2d71b,transparent 80%)}
.gallery-steps button{color:#bdb0bf}
.gallery-steps button .step-num{color:#ffa786}
.gallery-steps button.is-active,.gallery-steps button:hover{background:#302737;color:#f3ece5}
.gallery-steps button .step-progress{background:#ffa786}
.gallery-arrows button:hover{background:#f7b998;color:#282031}
.gallery-bottom{border-color:#625668}
/* Different chapter material: bright but quiet paper for research. */
.atelier-research{background:#ddd2ea;color:#271c32;border-color:#b9abcb}
.atelier-research::before{background-image:repeating-linear-gradient(90deg,#39265013 0,#39265013 1px,transparent 1px,transparent 55px)}
.atelier-research .folio-index{color:#644a79}
.atelier-research h2{color:#24192d}
.atelier-research h2 em{color:#9c5063}
.atelier-research-text p{color:#4e3d55}
.atelier-research .atelier-secondary-link{color:#533d6d}
.atelier-research .atelier-text-link{color:#34243d;border-color:#a25169}
.research-fig{background:radial-gradient(circle at center,#4b395d,#211a2e 75%);border:0}
.research-fig .figure-label,.research-fig .figure-foot{color:#e4d5e6}
.research-formula{color:#fce7de}
.r-orbit{border-color:#d2b5ff}
.r-orbit-2{border-color:#f4a485}
.r-orbit-3{border-color:#f1e0d2}
.r-orbit-dot{background:#ffc39d;box-shadow:0 0 19px #ffc39d80}
.atelier-endcap{background:#17141e}
.atelier-endcap>p{color:#f7e9de}
.site-footer{background:#110f17;border-top:1px solid #493e50}
.site-footer .footer-email{border-color:#e5ab99;color:#f6ece4}
.site-footer .footer-email:hover{color:#ffa786}
/* Interior article surfaces remain readable; charts retain distinct hues. */
.page-head,.article-header{border-color:#514258}
.page-head>.section-label,.article-header>.section-label,.article-rail .section-label{color:#ffac90}
.prose{color:#d7cbd4}.prose h2,.prose h3,.prose strong{color:#fff2e8}
.prose code{background:#2f293a;color:#f4deca}
.prose th{color:#ffb195}
.article-deck,.page-head>p:not(.section-label){color:#c9bac5}
.interactive-band{background:#211b2c}
.rag-exhibit,.trend-exhibit{background:#292235;border-color:#5e5265}
.trace-surface,.trace-steps,.trend-plot{background:#211b2d;border-color:#5c4e65}
.trace-choice[aria-pressed="true"]{background:#7659bc;border-color:#aa93e5}
.trace-evidence{border-color:#ffa786}
.trend-controls{background:#2a2435;border-color:#57495f}
.trend-controls label{color:#f4e9dd}
.trend-stat strong,.control-group output{color:#ffae8f}
input[type=range],.check-row input{accent-color:#f28a76}
/* The mobile scene keeps the sculpture full contrast and usable by touch. */
@media(max-width:1100px){
 .atelier-hero-inner{grid-template-columns:minmax(0,1.02fr) minmax(330px,.98fr)}
 .atelier-hero h1{font-size:clamp(55px,6.45vw,85px)}
 .artwork-plate{width:min(49vw,590px);height:min(49vw,590px)}
}
@media(max-width:800px){
 .atelier-hero{min-height:0}
 .atelier-hero-inner{display:flex;flex-direction:column;min-height:0;padding-top:30px;padding-bottom:34px}
 .atelier-hero-copy{padding:65px 0 22px;width:100%;order:1}
 .atelier-hero h1{font-size:clamp(64px,10.5vw,86px)}
 .artwork-wrap{order:2;position:relative;inset:auto;transform:none;opacity:1;pointer-events:auto;width:min(100%,600px);align-self:center;margin-top:12px}
 .artwork-plate{width:100%;height:auto;aspect-ratio:1}
 .hero-bottom-line{order:3;margin-top:24px}
 .kinetic-strip{height:99px}
}
@media(max-width:550px){
 .site-header{background:rgba(22,18,30,.96)}
 .atelier-hero{background:radial-gradient(ellipse 100% 49% at 50% 72%,#38304b,#17141e 91%)!important}
 .atelier-hero-inner{padding-top:25px}
 .atelier-hero-copy{padding:49px 0 25px}
 .atelier-greeting{margin-bottom:27px;font-size:10px;gap:10px}
 .atelier-greeting .greeting-number{width:30px;height:30px;font-size:10px}
 .atelier-hero h1{font-size:clamp(45px,10.8vw,64px);line-height:1.055;letter-spacing:-.078em;margin:0 0 25px}
 .atelier-intro{font-size:14px;line-height:1.8}
 .atelier-actions{margin-top:30px;gap:25px}
 .artwork-wrap{width:calc(100vw - 38px);max-width:490px;margin:15px 0 0}
 .artwork-axis.axis-top,.artwork-axis.axis-bottom{font-size:8px}
 .field-pulse{bottom:6%;left:6%;background:#eddbf5;color:#25202e;min-height:45px;padding:11px 13px}
 .kinetic-strip{height:78px}
 .kinetic-strip-track>span{font-size:57px}
 .atelier-now-inner{padding:43px 0}
 .atelier-section-head h2{font-size:clamp(60px,12vw,89px)}
 .gallery-window{box-shadow:0 12px 45px #06040b3b}
 .gallery-copy{min-height:360px}
 .gallery-display{aspect-ratio:1}
 .gallery-text h3{font-size:clamp(39px,10vw,56px)}
 .atelier-research{padding:0}
 .research-fig{min-height:330px}
}
@media(prefers-reduced-motion:reduce){
 .artwork-plate .sculpture-ripple{display:none!important}
 .gallery-curtain,.kinetic-strip-track{animation:none!important}
}

/* Quiet, scannable professional context before independent project evidence. */
.professional-practice{padding-top:clamp(36px,5vw,72px)}
.professional-summary-copy{max-width:870px;border-left:2px solid #a8d7ad;padding-left:clamp(18px,2.5vw,38px);margin:clamp(16px,2.7vw,28px) 0 clamp(34px,5vw,60px)}
.professional-summary-copy p{line-height:1.75}
.professional-public-label{margin:30px 0 18px}

/* AgentShield v0.1.0: evidence-oriented paired-trial figure */
.shield-band{--shield-ink:#141a18;--shield-line:#516b59;--shield-paper:#dce7d7;--shield-signal:#b9ee87;color:var(--shield-paper);background:#0d1714}
.shield-band .interactive-intro{max-width:850px}
.shield-flow{max-width:1110px;margin:30px auto 24px;padding:clamp(16px,3.6vw,42px);border:1px solid #48604f;background:radial-gradient(ellipse at 50% 15%,#263e30 0%,#14251c 63%,#0d1714 100%);font-family:var(--world-type,'Courier New',monospace)}
.shield-source,.shield-branch{display:flex;flex-direction:column;gap:9px;border:1px solid #6b877260;padding:clamp(17px,2.3vw,27px);background:#101a16}
.shield-source{margin:auto;max-width:460px;text-align:center;align-items:center;border-color:#b7da9d90}
.shield-source>span,.shield-branch>span{font:500 10px/1.3 var(--world-type,monospace);letter-spacing:.11em;color:var(--shield-signal)}
.shield-source strong,.shield-branch strong{font-size:clamp(15px,2vw,24px);font-weight:500;letter-spacing:-.035em;line-height:1.18}
.shield-source small,.shield-branch small{font-size:11px;line-height:1.5;color:#aac0b0}
.shield-fork{width:54%;height:62px;margin:auto;border-left:1px solid #a8d89c75;border-right:1px solid #a8d89c75;border-top:1px solid transparent;transform:translateY(32px);position:relative}
.shield-fork:before{content:"";height:31px;position:absolute;left:50%;top:-31px;border-left:1px solid #a8d89c75}
.shield-fork:after{content:"";position:absolute;left:0;right:0;top:31px;border-top:1px solid #a8d89c75}
.shield-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(11px,2vw,26px)}
.shield-vulnerable{border-color:#d995846b}.shield-vulnerable>span{color:#ffb59a}
.shield-outcome{border-top:1px solid #718b7559;margin-top:15px;padding-top:16px;display:flex;gap:17px;align-items:center}
.shield-outcome b{font:500 clamp(24px,3.5vw,43px)/1 var(--world-type,monospace);letter-spacing:-.07em;white-space:nowrap}
.shield-vulnerable .shield-outcome b{color:#f7ab95}.shield-policy .shield-outcome b{color:#bdf2a9}
.shield-outcome span{font-size:11px;line-height:1.5;max-width:220px;color:#c2d5c9}
.shield-interpretation{font:12px/1.65 var(--world-type,monospace);max-width:850px;margin:22px auto 0;color:#bbccbd;text-align:center}
.shield-interpretation em{color:#ecf6e6}
.shield-footnote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;max-width:1110px;margin:auto;font:500 10px/1.4 var(--world-type,monospace);letter-spacing:.05em;color:#a7c1ad}
.shield-footnote a{color:#c7f0af;text-decoration:none;border-bottom:1px solid #c7f0af;padding-bottom:4px}
@media(max-width:660px){.shield-branches{grid-template-columns:1fr}.shield-fork{height:23px;transform:none;width:0;border:0;border-left:1px solid #a8d89c75}.shield-fork:before,.shield-fork:after{display:none}.shield-flow{padding:15px}.shield-branch{gap:7px}.shield-interpretation{text-align:left}}
@media(prefers-reduced-motion:no-preference){.shield-source,.shield-branch{transition:border-color .5s cubic-bezier(.16,1,.3,1),background .5s cubic-bezier(.16,1,.3,1)}.shield-source:hover,.shield-branch:hover{border-color:#b9ee87;background:#1b2e22}}
