@charset "UTF-8";
:root{--bg:#121310;--panel:#1a1c18;--line:#353930;--text:#f0eee6;--muted:#a3a89b;--accent:#f48f54;--paper:#e7e6dc;--ink:#262b23;--max:1440px;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
img,svg{max-width:100%;display:block}
img{height:auto}
button{color:inherit}
::selection{background:var(--accent);color:var(--bg)}
.wrap{max-width:var(--max);padding:0 5vw;margin:auto}
.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--accent);color:var(--bg);padding:12px 20px}
.skip:focus{top:12px}
.header{position:sticky;top:0;background:rgba(18,19,16,.96);border-bottom:1px solid var(--line);z-index:50}
.header-inner{max-width:var(--max);padding:0 5vw;margin:auto;display:flex;align-items:center;gap:36px;min-height:86px}
.brand{display:flex;gap:13px;align-items:center;line-height:1.1;flex-shrink:0}
.brand-mark{display:block;width:.75em;height:1em;flex-shrink:0;font-size:45px;color:var(--accent);line-height:1}
.brand-name{font-size:13px;font-weight:700;letter-spacing:.11em}
.brand-name small{display:block;font-size:9px;font-weight:400;letter-spacing:.25em;color:var(--muted);margin-top:6px}
.nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:12px}
.nav a{padding:10px 0;color:#c9cdc1;white-space:nowrap}
.nav a:hover,.nav a[aria-current=page]{color:var(--accent)}
.nav .nav-cta{border:1px solid #767d6c;border-radius:2px;padding:9px 15px;color:var(--text)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 12px;margin-left:auto;min-height:44px;font-size:13px}
.eyebrow,.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.07em;font-size:11px;line-height:1.7}
.eyebrow{text-transform:uppercase;color:var(--muted)}
.eyebrow .dot,.live-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:8px;vertical-align:middle}
.accent{color:var(--accent)}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{line-height:1.05;font-weight:400;letter-spacing:-.045em}
h1{font-size:clamp(48px,6.7vw,98px)}
h2{font-size:clamp(34px,4vw,60px)}
h3{font-size:29px}
h4{font-size:22px}
p+p{margin-top:18px}
.muted{color:var(--muted)}
.lead{font-size:clamp(18px,1.7vw,23px);line-height:1.6;max-width:760px;color:#b9beaf}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:48px;padding:13px 22px;border:1px solid var(--line);background:none;font-size:13px;border-radius:2px;line-height:1.5;transition:background .2s,color .2s,border-color .2s}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#191b15}
.btn.primary:hover{background:#ffab77}
.arrow{font-size:20px;line-height:1}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.text-link{font-size:13px;display:inline-flex;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding:6px 0}
.text-link:hover{color:var(--accent)}
.hero{position:relative;min-height:740px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-image{position:absolute;right:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.88}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,19,16,.96),rgba(18,19,16,.78) 32%,rgba(18,19,16,.05) 70%),linear-gradient(0deg,rgba(18,19,16,.8),transparent 22%);pointer-events:none}
.hero-content{position:relative;z-index:1;width:100%;max-width:var(--max);padding:65px 5vw 105px;margin:auto}
.hero h1{margin:30px 0 25px;max-width:800px;font-size:clamp(55px,7.4vw,108px);line-height:.99;letter-spacing:-.055em}
.hero h1 em{font-weight:400;font-style:normal;color:var(--accent)}
.hero p{font-size:16px;max-width:420px;color:#c3c6ba}
.hero-caption{position:absolute;z-index:2;right:5vw;bottom:30px;max-width:270px;text-align:right;color:#c2c6b8}
.hero-bottom{position:absolute;z-index:2;left:5vw;bottom:30px;color:var(--muted)}
.section{padding:90px 0;border-bottom:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
.section-head .eyebrow{margin-bottom:16px}
.section-head>p{max-width:330px;font-size:14px;color:var(--muted)}
.intro-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:start}
.intro-grid h2{max-width:500px}
.intro-grid .lead{font-size:21px}
.stat-row{display:flex;border-top:1px solid var(--line);margin-top:36px;padding-top:26px;gap:55px}
.stat strong{display:block;font-size:38px;line-height:1.2;font-weight:400;letter-spacing:-.04em}
.stat span{font-size:11px;color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.instrument-card{display:flex;flex-direction:column;min-width:0;padding-bottom:24px;border-bottom:1px solid var(--line)}
.instrument-card[hidden]{display:none}
.instrument-card .drawing{overflow:hidden;position:relative;background:#1b1d18;border:1px solid #34392f;aspect-ratio:1.25;margin-bottom:22px;transition:background .2s,border .2s}
.instrument-card:hover .drawing{background:#22271e;border-color:#75806b}
.drawing img{width:100%;height:100%;object-fit:contain;transition:transform .4s}
.instrument-card:hover img{transform:scale(1.035)}
.instrument-card .eyebrow{font-size:10px}
.instrument-card h3{font-size:36px;letter-spacing:-.03em;margin:8px 0}
.instrument-card .base{font-size:12px;color:var(--accent);margin:0 0 10px}
.instrument-card p{font-size:14px;color:var(--muted);line-height:1.6}
.card-link{margin-top:18px;font-size:12px;display:flex;justify-content:space-between}
.feature-band{background:var(--paper);color:var(--ink);padding:75px 0;overflow:hidden}
.feature-band .eyebrow,.feature-band .muted{color:#5c6758}
.feature-band h2{max-width:520px}
.feature-band .btn{color:var(--ink);border-color:#8c9685}
.feature-band p{max-width:490px;margin-top:20px;font-size:16px}
.feature-band .intro-grid{align-items:center}
.orbit-visual{width:100%;height:280px}
.software-row{display:grid;grid-template-columns:50px 1.1fr 1.2fr 30px;gap:22px;align-items:center;border-top:1px solid var(--line);padding:28px 0}
.software-row:last-child{border-bottom:1px solid var(--line)}
.software-row h3{font-size:30px;letter-spacing:-.02em}
.software-row p{font-size:13px;color:var(--muted)}
.software-row:hover h3{color:var(--accent)}
.article-card{border-top:1px solid var(--line);padding-top:25px;display:flex;flex-direction:column}
.article-card h3{font-size:30px;line-height:1.12;margin:25px 0 16px}
.article-card p{color:var(--muted);font-size:14px}
.article-card .text-link{margin-top:30px;align-self:start}
.article-card:hover h3{color:var(--accent)}
.cta{padding:80px 0;display:flex;justify-content:space-between;align-items:center;gap:35px}
.cta h2{max-width:720px}
.cta .btn{flex-shrink:0}
.footer{border-top:1px solid var(--line);padding:48px 0 24px}
.footer-top{display:flex;justify-content:space-between;gap:40px}
.footer-links{display:flex;gap:45px;font-size:12px}
.footer-links div{display:flex;flex-direction:column;gap:11px}
.footer-links a:hover{color:var(--accent)}
.footer-bottom{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;gap:30px;font-size:10px;color:var(--muted)}
.footer-concept{max-width:560px}
.page-top{padding:64px 0 55px;border-bottom:1px solid var(--line)}
.breadcrumbs{font-size:11px;color:var(--muted);margin-bottom:40px;display:flex;flex-wrap:wrap;gap:10px}
.breadcrumbs a:hover{color:var(--accent)}
.page-top .eyebrow{margin-bottom:20px}
.page-top h1{max-width:1000px}
.page-top .lead{margin-top:26px}
.page-top .page-meta{margin-top:28px;font-size:11px;color:var(--accent)}
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;align-items:center}
.filter-button{border:1px solid var(--line);background:none;padding:10px 16px;border-radius:2px;font-size:12px;min-height:44px}
.filter-button[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.search{width:100%;background:#1c1f18;border:1px solid var(--line);padding:14px;color:var(--text);border-radius:2px}
.search-line{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;margin:20px 0 36px}
.search-line label{max-width:500px;width:100%}
.search-line .mono{color:var(--muted)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.empty-state{padding:50px 0;color:var(--muted)}
.note{padding:24px;border-left:2px solid var(--accent);background:#1d2119;font-size:13px;color:#bdc4b3;margin-top:35px;line-height:1.8}
.note strong{color:var(--text);font-weight:500}
.detail-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:6%;align-items:start}
.detail-art{margin:0;background:#191c16;border:1px solid var(--line);position:sticky;top:115px}
.detail-art img{width:100%;aspect-ratio:1.13;object-fit:cover}
.detail-art .art-caption{padding:18px 22px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.detail-copy h2{font-size:31px;margin-bottom:20px}
.detail-copy p{color:#b7bfae;font-size:16px}
.detail-copy section+section{margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}
.specs{margin:30px 0 0}
.specs div{padding:16px 0;border-top:1px solid var(--line)}
.specs dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}
.specs dd{margin:0;font-size:13px}
.pager{display:flex;justify-content:space-between;gap:20px;padding:30px 0;font-size:13px}
.pager a:hover{color:var(--accent)}
.software-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.software-card{border:1px solid var(--line);padding:30px;background:#181b15}
.software-card h2{font-size:37px;margin:22px 0 10px}
.software-card h3{font-size:22px;line-height:1.2;margin:22px 0 16px;letter-spacing:-.02em}
.software-card p{font-size:14px;color:var(--muted)}
.software-card .text-link{margin-top:26px}
.software-art{width:100%;height:180px;border:1px solid var(--line);background:#10130e}
.soft-info{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);margin-top:20px}
.status{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.feature-list{padding:0;list-style:none}
.feature-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.feature-list li:before{content:'↗';color:var(--accent);margin-right:14px}
.signal{padding:25px 0;border-block:1px solid var(--line);margin:32px 0;font-family:ui-monospace,monospace;color:var(--accent);font-size:13px;line-height:2}
.tech-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:35px;padding:45px 0;border-top:1px solid var(--line)}
.tech-row h2{font-size:34px;max-width:400px}
.tech-row p{font-size:15px;color:var(--muted)}
.tech-row .tech-lead{font-size:17px;color:var(--text);margin:20px 0}
.tech-row .caution{font-size:13px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.tech-number{font-family:ui-monospace,monospace;font-size:14px;color:var(--accent)}
.source-links{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:22px}
.source-links a{text-decoration:underline;text-underline-offset:4px}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 48px}
.team-card{border-top:1px solid var(--line);padding-top:30px}
.team-card-top{display:flex;gap:24px;align-items:center;margin-bottom:25px}
.team-monogram{position:relative;width:84px;height:84px;flex-shrink:0;display:grid;place-items:center;color:var(--paper)}
.team-monogram svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#819375;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.team-monogram .emblem-accent{stroke:var(--accent)}
.team-monogram .emblem-node{fill:var(--accent);stroke:none}
.team-monogram span{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#1a2016;font-family:ui-monospace,monospace;font-size:19px;font-weight:500;line-height:1;letter-spacing:-.05em}
.team-card h2{font-size:31px;margin-top:8px}
.team-card .role{color:var(--accent);font-size:13px;margin-top:10px}
.team-card p{font-size:14px;color:#b4bcaa}
.team-card blockquote{margin:25px 0 20px;font-size:22px;line-height:1.3;letter-spacing:-.02em;color:var(--paper)}
.team-card .skills{border-top:1px solid var(--line);padding-top:16px;font-family:ui-monospace,monospace;font-size:10px;color:var(--muted)}
.service-row{display:grid;grid-template-columns:55px .85fr 1.2fr .9fr;gap:25px;padding:32px 0;border-top:1px solid var(--line)}
.service-row h2{font-size:26px;line-height:1.2}
.service-row p{font-size:14px;color:var(--muted)}
.service-row .deliverable{font-size:12px}
.deliverable span{display:block;font-family:ui-monospace,monospace;font-size:9px;color:var(--accent);margin-bottom:10px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:40px}
.steps h3{font-size:22px;margin:20px 0 15px}
.steps p{color:var(--muted);font-size:13px}
.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:34px;margin:45px 0 20px}
.prose p{font-size:18px;line-height:1.85;color:#bcc3b2}
.prose .note{font-size:14px}
.journal-list{display:grid;grid-template-columns:1fr 1fr;gap:55px 60px}
.journal-list .article-card{padding:30px 0}
.journal-list h2{font-size:39px;line-height:1.12;margin:20px 0}
.journal-list p{font-size:16px;color:var(--muted)}
.journal-list .text-link{margin-top:25px}
.article-top{max-width:960px}
.article-top h1{font-size:clamp(42px,5.6vw,80px)}
.article-top .lead{max-width:800px}
.lab-console{display:grid;grid-template-columns:1.1fr .9fr;border:1px solid var(--line);background:#181d14}
.scope-side{padding:35px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;min-height:440px}
.scope-side canvas{width:100%;height:240px;border-block:1px solid var(--line);margin:25px 0}
.scope-top,.scope-bottom{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}
.control-side{padding:35px}
.preset-list{display:flex;gap:7px;margin:25px 0 30px;flex-wrap:wrap}
.preset{padding:10px 14px;border:1px solid var(--line);font-size:11px;background:none;min-height:44px}
.preset[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.slider-group{margin-top:25px}
.slider-group label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:9px}
.slider-group input{width:100%;accent-color:var(--accent);height:30px}
.play-button{width:100%;margin-top:32px}
.sound-explainer{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:50px}
.sound-explainer h2{font-size:28px;margin-bottom:20px}
.sound-explainer p{color:var(--muted);font-size:15px}
.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}
.form-layout h2{font-size:36px;margin:25px 0}
.form-layout p{font-size:16px;color:var(--muted)}
.brief-form{padding:32px;border:1px solid var(--line);background:#191d15}
.form-field{margin-bottom:24px}
.form-field label{display:block;font-size:12px;margin-bottom:8px}
.form-field input,.form-field select,.form-field textarea{background:#10150e;border:1px solid #414c37;color:var(--text);padding:12px;border-radius:2px;width:100%}
.form-field textarea{min-height:130px;resize:vertical}
.form-note{font-size:11px!important;color:var(--muted);margin:20px 0}
.form-result{margin-top:16px;font-size:13px;color:var(--accent)}
.brief-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;font-size:12px;line-height:1.7;background:#10150e;padding:16px;margin-top:20px}
.faq{margin-top:45px}
.faq details{border-top:1px solid var(--line);padding:22px 0}
.faq summary{cursor:pointer;font-size:18px;line-height:1.4}
.faq p{font-size:15px;margin:18px 0;color:var(--muted)}
.giant-quote{font-size:clamp(34px,5vw,72px);line-height:1.15;letter-spacing:-.045em;max-width:1000px;margin:0}
.about-image{margin-top:45px;max-height:600px;width:100%;object-fit:cover}
.manifesto-list{counter-reset:principles}
.manifesto-list article{display:grid;grid-template-columns:70px 1fr 1fr;gap:30px;padding:35px 0;border-top:1px solid var(--line)}
.manifesto-list h3{font-size:30px}
.manifesto-list p{font-size:15px;color:var(--muted)}
.no-js-note{background:#28331e;color:var(--paper);padding:12px;text-align:center;font-size:13px}
.privacy-text{font-size:13px;color:var(--muted);max-width:760px}
.project-classification{font-size:12px;color:var(--muted);margin-top:30px}
.badge{font-size:9px;font-family:ui-monospace,monospace;border:1px solid #4b5740;padding:4px 8px;display:inline-block;color:#c0cbb2;letter-spacing:.06em}
.flow-chart{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}
.flow-chart div{padding:23px;border:1px solid var(--line)}
.flow-chart strong{display:block;font-weight:400;font-size:21px;margin:12px 0}
.flow-chart span{font-size:12px;color:var(--muted)}
[hidden]{display:none!important}

@media(min-width:1600px){.hero-content{padding-left:72px;padding-right:72px}
.hero-caption{right:calc((100vw - 1296px)/2)}
.hero-bottom{left:calc((100vw - 1296px)/2)}
}

@media(max-width:1150px){.nav{gap:14px;font-size:11px}
.header-inner{gap:20px}
.nav .nav-cta{padding:8px 10px}
.hero{min-height:670px}
.hero h1{font-size:8vw}
.hero-image{object-position:58% center}
.hero p{max-width:350px}
.grid-3{gap:18px}
.service-row{grid-template-columns:40px .9fr 1.1fr}
.service-row .deliverable{grid-column:2/4}
.tech-row{grid-template-columns:40px 1fr 1fr;gap:25px}
}

@media(max-width:900px){.menu-toggle{display:block}
.header-inner{min-height:75px}
.nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--bg);padding:20px 5vw 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;font-size:15px;max-height:calc(100dvh - 75px);overflow-y:auto}
.nav.open{display:flex}
.nav a{padding:12px 0}
.nav .nav-cta{margin-top:12px;padding:12px 14px}
.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3>.instrument-card:last-child:nth-child(3){display:none}
.intro-grid{gap:40px}
.hero{min-height:720px}
.hero-image{object-position:63% center;opacity:.7}
.hero:after{background:linear-gradient(90deg,rgba(18,19,16,.93),rgba(18,19,16,.5) 55%,rgba(18,19,16,.2))}
.hero h1{font-size:9vw}
.hero-caption{font-size:9px;max-width:200px}
.hero-bottom{max-width:230px;font-size:9px}
.section{padding:65px 0}
.team-grid{gap:35px 28px}
.team-card-top{align-items:start;gap:18px}
.team-monogram{width:76px;height:76px}
.team-card h2{font-size:27px}
.detail-layout{grid-template-columns:1fr 1fr;gap:30px}
.software-card{padding:25px}
.software-card h2{font-size:30px}
.steps{grid-template-columns:repeat(2,1fr)}
.form-layout{gap:40px}
.lab-console{grid-template-columns:1fr 1fr}
.scope-side,.control-side{padding:25px}
.tech-row{grid-template-columns:40px 1fr}
.tech-row>div:last-child{grid-column:2}
.manifesto-list article{grid-template-columns:40px 1fr}
.manifesto-list p{grid-column:2}
.flow-chart{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:620px){body{font-size:15px}
.wrap,.header-inner{padding-left:22px;padding-right:22px}
.brand-name{font-size:11px}
.brand-mark{font-size:38px}
.brand-name small{font-size:8px}
.hero{min-height:820px;align-items:start}
.hero-content{padding:42px 22px 220px}
.hero h1{font-size:clamp(47px,11vw,68px);line-height:1.04;max-width:480px;margin:25px 0}
.hero p{font-size:14px;max-width:330px}
.hero-image{object-fit:cover;width:100%;height:53%;top:auto;bottom:0;object-position:74% center;opacity:.75}
.hero:after{background:linear-gradient(180deg,var(--bg) 0%,rgba(18,19,16,.97) 40%,rgba(18,19,16,.2) 65%,rgba(18,19,16,.1) 85%,var(--bg))}
.hero .eyebrow{font-size:9px}
.hero .actions{gap:10px;margin-top:24px}
.hero .btn{padding:12px 15px;gap:15px;font-size:12px}
.hero-bottom{left:22px;bottom:20px;font-size:8px;max-width:160px}
.hero-caption{right:22px;bottom:20px;font-size:8px;max-width:160px}
.section{padding:50px 0}
.section-head{display:block;margin-bottom:30px}
.section-head>p{margin-top:22px}
.section-head .text-link{margin-top:20px}
.intro-grid{grid-template-columns:1fr;gap:28px}
.intro-grid .lead{font-size:18px}
.stat-row{gap:35px}
.stat strong{font-size:33px}
.grid-3,.grid-2,.software-grid,.team-grid,.journal-list{grid-template-columns:1fr}
.grid-3>.instrument-card:last-child:nth-child(3){display:flex}
.grid-3{gap:32px}
.instrument-card .drawing{aspect-ratio:1.4}
.instrument-card h3{font-size:34px}
.feature-band{padding:48px 0}
.feature-band p{font-size:15px}
.orbit-visual{height:220px}
.software-row{grid-template-columns:28px 1fr 20px;gap:15px;padding:24px 0}
.software-row p{grid-column:2;grid-row:2}
.software-row>.arrow{grid-column:3;grid-row:1}
.software-row h3{font-size:26px}
.cta{display:block;padding:55px 0}
.cta .btn{margin-top:25px}
.footer-top{display:block}
.footer-links{margin-top:35px;gap:45px}
.footer-bottom{display:block;font-size:10px}
.footer-concept{margin-top:16px}
.page-top{padding:35px 0 38px}
.breadcrumbs{margin-bottom:28px;font-size:10px}
.page-top h1{font-size:48px;overflow-wrap:anywhere}
.page-top .lead{font-size:17px}
.page-top .eyebrow{font-size:10px}
.filter-bar{gap:7px}
.filter-button{padding:9px 11px;font-size:11px}
.search-line{grid-template-columns:1fr;gap:12px}
.detail-layout{grid-template-columns:1fr;gap:35px}
.detail-art{position:static}
.detail-art img{aspect-ratio:1.2}
.detail-copy p{font-size:15px}
.detail-copy h2{font-size:30px}
.pager{font-size:12px}
.software-card{padding:22px}
.software-card h2{font-size:33px;overflow-wrap:anywhere}
.soft-info{flex-direction:column;gap:7px}
.tech-row{grid-template-columns:28px 1fr;gap:18px;padding:30px 0}
.tech-row h2{font-size:30px}
.tech-row p{font-size:14px}
.team-card h2{font-size:29px}
.team-monogram{width:76px;height:76px}
.team-card-top{gap:20px}
.team-card blockquote{font-size:23px}
.service-row{grid-template-columns:28px 1fr;gap:15px}
.service-row>p{grid-column:2}
.service-row .deliverable{grid-column:2}
.service-row h2{font-size:27px}
.steps{gap:22px}
.steps h3{font-size:21px}
.steps p{font-size:12px}
.journal-list{gap:20px}
.journal-list h2{font-size:33px}
.prose p{font-size:16px}
.prose h2{font-size:30px;margin-top:35px}
.lab-console{grid-template-columns:1fr}
.scope-side{border-right:0;border-bottom:1px solid var(--line);min-height:270px;padding:22px}
.scope-side canvas{height:160px;margin:20px 0}
.control-side{padding:22px}
.sound-explainer{grid-template-columns:1fr;gap:30px}
.form-layout{grid-template-columns:1fr;gap:35px}
.brief-form{padding:22px}
.form-layout h2{font-size:32px}
.manifesto-list article{gap:18px;grid-template-columns:28px 1fr}
.manifesto-list h3{font-size:28px}
.note{padding:20px;font-size:12px}
.flow-chart div{padding:18px}
.flow-chart strong{font-size:19px}
.source-links{font-size:12px;display:block}
.source-links a{display:block;margin-top:10px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important;animation:none!important}
}

@media print{.header,.footer,.actions,.cta,.filter-bar,.search-line,.lab-console{display:none}
body{background:#fff;color:#000}
.wrap{padding:0;max-width:none}
p,.muted,.lead,.eyebrow,.detail-copy p,.prose p{color:#333!important}
.section{padding:25px 0}
.detail-art{position:static}
.page-top{padding:20px 0}
.note{background:#eee;color:#222}
a{text-decoration:underline}
}


/* Workshop dossiers, performance scores and editorial references. */
.dossier p{color:#b7bfae;font-size:16px;line-height:1.8}
.dossier p+p{margin-top:18px}
.dossier h3{font-size:25px;line-height:1.25;margin:0 0 18px;letter-spacing:-.025em}
.dossier p+h3,.dossier .related-links+h3{margin-top:32px}
.dossier-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:7%;align-items:start}
.dossier-grid>*,.method-grid>*{min-width:0}
.dossier .dossier-question{font-size:27px;line-height:1.4;letter-spacing:-.02em;color:var(--paper);margin-bottom:22px}
.dossier .lead{font-size:23px;line-height:1.5;color:var(--paper)}
.dossier .text-link{margin-top:20px}
.subhead{margin-top:65px}
.subhead>.eyebrow{margin-bottom:16px}
.passport{border:1px solid var(--line);padding:30px;background:#181b15}
.passport>.eyebrow{margin-bottom:24px}
.passport .specs{margin-top:0}
.passport .specs dd{line-height:1.7}
.credit{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}
.credit>.eyebrow{display:block;margin-bottom:10px}
.credit>a{font-size:17px;text-decoration:underline;text-underline-offset:4px}
.credit p,.dossier .credit p{font-size:13px;line-height:1.7;margin-top:12px}
.section-head>.credit{margin-top:0;min-width:210px}
.practice-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:35px 0 0}
.practice-steps li{border-top:1px solid var(--line);padding-top:22px}
.practice-steps p{font-size:15px;margin-top:18px}
.related-links{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}
.related-links a{display:inline-flex;gap:16px;align-items:center;border:1px solid #49513f;padding:10px 13px;font-family:ui-monospace,monospace;font-size:12px;min-height:44px}
.related-links a:hover{border-color:var(--accent);color:var(--accent)}
.related-links span{color:var(--accent)}
.team-story{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.team-story>.eyebrow{margin-bottom:16px}
.timeline{list-style:none;padding:0;margin:0;max-width:1000px}
.timeline li{display:grid;grid-template-columns:160px 1fr;gap:30px;border-top:1px solid var(--line);padding:30px 0}
.timeline li:last-child{padding-bottom:0}
.timeline .mono{font-size:16px;padding-top:3px}
.timeline h3{margin-bottom:12px}
.timeline p{max-width:730px}
.method-grid article{border-top:1px solid var(--line);padding-top:25px}
.method-grid h3{margin-top:25px}
.method-grid p{font-size:15px}
.reference-note{border-top:1px solid var(--line);padding-top:28px;max-width:900px}
.reference-note h3{font-size:24px;margin-bottom:15px}
.reference-note p{font-size:13px;color:var(--muted)}
.reference-note ul{list-style:none;padding:0}
.reference-note li{border-bottom:1px solid var(--line);padding:15px 0;font-size:13px}
.reference-note a{text-decoration:underline;text-underline-offset:4px}
.reference-note a:hover{color:var(--accent)}
.prose .reference-note{margin-top:40px}
.prose .reference-note p{font-size:13px}
.journal-edition{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;padding:0 0 22px;border-bottom:1px solid var(--line);font-family:ui-monospace,monospace;font-size:11px;line-height:1.6;color:var(--muted)}
.journal-edition>span{color:var(--accent)}
.prose section>p+p{margin-top:20px}
.journal-citation{font-size:.84em;color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.journal-quote{margin:32px 0 12px;padding:28px 30px;border-left:2px solid var(--accent);background:#1a2016}
.journal-quote blockquote{margin:18px 0}
.prose .journal-quote blockquote p{font-size:clamp(22px,3.2vw,30px);line-height:1.45;letter-spacing:-.02em;color:var(--paper)}
.journal-quote figcaption{font-size:14px;line-height:1.7}
.journal-references{border-top:1px solid var(--line);margin-top:48px;padding-top:8px}
.prose .reference-context{font-size:14px;line-height:1.8;color:var(--muted)}
.journal-references ol{list-style:decimal;padding-left:24px;margin:26px 0}
.journal-references li{padding:4px 0 22px 8px;margin:0 0 22px;border-bottom:1px solid var(--line);min-width:0}
.journal-references li::marker{color:var(--accent);font-family:ui-monospace,monospace;font-size:12px}
.prose .reference-authors{font-size:13px;line-height:1.75;margin:0 0 8px;color:var(--muted)}
.reference-title{display:inline;font-size:17px;line-height:1.6;color:var(--paper);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.reference-meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:12px;font-family:ui-monospace,monospace;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:620px){.journal-quote{padding:22px 20px}.journal-edition{font-size:10px}.reference-title{font-size:16px}}
@media print{.journal-quote{background:#f3f3ed;border-color:#555}.prose .journal-quote blockquote p,.reference-title{color:#222}.journal-citation{color:#333}.journal-quote,.journal-references li{break-inside:avoid}}
.reading-links{display:flex;flex-wrap:wrap;gap:24px;padding-top:30px}
.article-byline{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin-top:22px;font-size:13px;color:var(--muted)}
.article-byline a{text-decoration:underline;text-underline-offset:4px}
.seo-related h2{font-size:clamp(28px,3.4vw,42px);margin-bottom:14px}
.seo-reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}
.seo-reading-grid a{display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:88px;padding:20px;border:1px solid var(--line);font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.seo-reading-grid a:hover{border-color:var(--accent);color:var(--accent)}
.seo-reading-grid a>span:last-child{color:var(--accent);flex-shrink:0}
@media(max-width:760px){.seo-reading-grid{grid-template-columns:1fr}.seo-reading-grid a{min-height:64px;padding:16px}.article-byline{font-size:12px}}
.score-card{border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;background:#171a14;min-width:0}
.score-card h3{font-size:31px;line-height:1.12;letter-spacing:-.03em;margin:23px 0 18px}
.score-card h3 a:hover{color:var(--accent)}
.score-card p{color:var(--muted);font-size:14px;line-height:1.7}
.score-card .text-link{align-self:start;margin-top:25px}
.score-meta{font-size:10px;line-height:1.9;color:#bdc6b0;margin-top:25px;padding-top:18px;border-top:1px solid var(--line)}
.score-card .score-meta{margin-top:auto}
.score-card p{margin-bottom:25px}
.score-art{display:block;width:100%;height:auto;margin-bottom:28px;flex-shrink:0}
.routing-note{max-width:900px;margin-top:25px}
.score-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:40px}
.score-scene{border-top:2px solid #8a6847;padding-top:23px}
.score-scene p{margin-top:20px;font-size:15px}
.passport h3{font-size:22px}
.team-card,.dossier[id]{scroll-margin-top:110px}

@media(max-width:900px){.dossier-grid{gap:35px;grid-template-columns:1fr 1fr}
.practice-steps,.score-scenes{gap:22px}
.score-grid{grid-template-columns:1fr}
.score-card{display:grid;grid-template-columns:1fr 1.4fr;column-gap:35px}
.score-card .score-art{grid-row:1/6;align-self:center;margin:0}
.score-card .eyebrow,.score-card h3,.score-card p,.score-card .score-meta,.score-card .text-link{grid-column:2}
.score-card .score-meta{margin-top:0}
.score-card h3{margin-top:18px}
.method-grid{grid-template-columns:1fr}
.method-grid p{max-width:750px}
.timeline li{grid-template-columns:125px 1fr}
.passport{padding:24px}
}

@media(max-width:620px){.dossier-grid,.practice-steps,.score-scenes{grid-template-columns:1fr;gap:30px}
.dossier p{font-size:15px}
.dossier .lead{font-size:20px}
.dossier .dossier-question{font-size:24px}
.dossier h3{font-size:24px}
.subhead{margin-top:45px}
.practice-steps li{display:grid;grid-template-columns:28px 1fr;gap:18px;padding-top:20px}
.practice-steps p{margin:0}
.timeline li{grid-template-columns:1fr;gap:12px;padding:25px 0}
.timeline h3{font-size:26px}
.timeline .mono{font-size:13px}
.score-card{display:flex;padding:24px}
.score-card .score-art{align-self:stretch;margin-bottom:24px}
.score-card h3{font-size:32px}
.score-meta{font-size:10px}
.score-scenes{gap:28px}
.footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;font-size:11px}
.footer-links a{overflow-wrap:anywhere}
.section-head>.credit{margin-top:24px}
.related-links a{font-size:11px}
.reading-links{gap:18px}
.reference-note li{line-height:1.7}
.reference-note h3{font-size:22px}
}


.instrument-card .badge{align-self:flex-start;margin:3px 0 12px}


#mechanism,#playing-study{scroll-margin-top:100px}

@media(max-width:620px){.header-inner{gap:12px}
.menu-toggle{white-space:nowrap;flex-shrink:0;font-size:12px;padding:8px 10px}
}

@media(max-width:380px){.header .brand{gap:9px}
.header .brand-name{font-size:10px}
.header .brand-name small{font-size:7px;letter-spacing:.18em}
.header .brand-mark{font-size:33px}
.header-inner{gap:8px}
}


/* The language control is always visible, including when navigation is collapsed. */
.header-inner{gap:22px}
.header .brand{order:0}
.header .nav{order:1}
.menu-toggle{order:3}
.language-switch{order:2;position:relative;flex-shrink:0;font-family:Arial,sans-serif;font-size:12px;line-height:1.4}
.language-switch summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line)}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch[open] summary{border-color:var(--accent);color:var(--accent)}
.language-options{position:absolute;right:0;top:calc(100% + 8px);background:#1c2018;border:1px solid #536047;min-width:166px;padding:6px;box-shadow:0 16px 32px #0007;z-index:50}
.language-options a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:11px 12px;min-height:44px;font-family:Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:14px}
.language-options a:hover,.language-options a[aria-current=true]{background:#2b3223;color:var(--accent)}
.language-options a span{font-size:11px}
.language-options a[lang=ja]{letter-spacing:.03em}

html[lang=ja] body{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-break:strict;overflow-wrap:anywhere}
html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3,html[lang=ja] .giant-quote{letter-spacing:.01em;line-height:1.3}
html[lang=ja] .eyebrow{letter-spacing:.06em}
html[lang=ja] .hero h1{font-size:clamp(48px,6.6vw,94px);line-height:1.2}
html[lang=ja] .brand{font-family:Arial,sans-serif}
html[lang=ja] .team-card h2{font-size:27px}
html[lang=ja] .hero p{max-width:450px}
html[lang=ja] .page-top h1{font-size:clamp(46px,7vw,90px)}

@media(min-width:1300px){html[lang=en] .hero h1{font-size:96px}
}

@media(max-width:1100px){.header-inner{min-height:75px}
.menu-toggle{display:block;margin-left:0;white-space:nowrap;flex-shrink:0}
.language-switch{margin-left:auto}
.nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--bg);padding:20px 5vw 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;font-size:15px;max-height:calc(100dvh - 75px);overflow-y:auto}
.nav.open{display:flex}
.nav a{padding:12px 0}
.nav .nav-cta{margin-top:12px;padding:12px 14px}
}

@media(max-width:620px){.header-inner{padding-left:16px;padding-right:16px;gap:8px}
.header .brand{gap:8px}
.header .brand-mark{font-size:30px}
.header .brand-name{font-size:10px;letter-spacing:.08em}
.header .brand-name small{display:none}
.menu-toggle{padding:8px;font-size:12px}
.menu-toggle>span{display:none}
.language-switch summary{padding:10px;gap:7px}
.language-options{right:-58px}
.hero h1{overflow-wrap:anywhere}
html[lang=en] .hero h1{font-size:clamp(42px,10.6vw,64px)}
html[lang=ja] .hero h1{font-size:clamp(40px,10vw,58px)}
html[lang=ja] .page-top h1{font-size:40px}
html[lang=ja] .team-card h2{font-size:24px}
html[lang=ja] .hero .actions{flex-direction:column;align-items:flex-start}
}

@media print{.language-switch{display:none}
}

.team-card .team-education{padding:18px 20px;margin:22px 0;background:#1a1e16;border-left:2px solid var(--accent);line-height:1.6}
.team-education .eyebrow{display:block;margin-bottom:9px;font-size:10px}
.team-education a{color:var(--paper);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.team-education a:hover{color:var(--accent)}


/* Interface refinement: one alignment system, a complete map, quiet orbital motion. */
:root{--gutter:clamp(20px,4.5vw,64px);--header-height:80px;--cool:#a9c8bb;--control:#65705e;--ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-padding-top:calc(var(--header-height) + 76px)}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}
p{overflow-wrap:break-word}
.wrap,.header-inner{width:100%;max-width:var(--max);padding-left:var(--gutter);padding-right:var(--gutter)}
.header{background:#121310;isolation:isolate}
.header-inner{height:var(--header-height);min-height:var(--header-height);gap:24px}
.header .brand{min-height:44px}
.header .brand-mark{font-size:39px}
.primary-nav{display:flex;align-items:center;gap:24px;margin-left:auto;order:1;font-size:13px}
.primary-nav a{display:flex;align-items:center;min-height:44px;position:relative;color:#c5cbbd}
.primary-nav a[aria-current],.primary-nav .is-parent{color:var(--accent)}
.primary-nav a[aria-current]:after,.primary-nav .is-parent:after{content:"";position:absolute;bottom:3px;left:0;width:18px;height:2px;background:var(--accent)}
.header .language-switch{order:2;margin-left:0}
.site-menu{order:3;flex-shrink:0}
.site-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 14px;min-width:104px;min-height:44px;border:1px solid var(--control);font-size:13px}
.site-menu>summary::-webkit-details-marker{display:none}
.menu-glyph{width:16px;height:12px;position:relative}
.menu-glyph:before,.menu-glyph:after{content:"";position:absolute;left:0;right:0;top:3px;height:1px;background:currentColor;transition:transform .2s var(--ease)}
.menu-glyph:after{top:9px}
.site-menu[open] .menu-glyph:before{transform:translateY(3px) rotate(45deg)}
.site-menu[open] .menu-glyph:after{transform:translateY(-3px) rotate(-45deg)}
.site-menu[open]>summary{color:var(--accent);border-color:var(--accent)}
.menu-panel{position:absolute;top:100%;left:0;right:0;background:#171b15;border-bottom:1px solid var(--control);box-shadow:0 28px 48px #0008;max-height:calc(100vh - var(--header-height));max-height:calc(100dvh - var(--header-height));overflow:auto;overscroll-behavior:contain}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;padding-top:40px;padding-bottom:30px}
.nav-group>.eyebrow{color:var(--accent);margin-bottom:16px}
.nav-group a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;border-top:1px solid var(--line);padding:12px 0;font-size:19px;line-height:1.4}
.nav-group a[aria-current],.nav-group a.is-parent{color:var(--accent)}
.nav-group a>span:first-child{min-width:0;overflow-wrap:anywhere}
.nav-index{font:11px ui-monospace,monospace;color:var(--muted);flex-shrink:0}
.menu-foot{display:flex;justify-content:space-between;gap:20px;padding-top:18px;padding-bottom:22px;border-top:1px solid var(--line);color:var(--muted)}
.language-switch summary{border-color:var(--control)}
.language-options{right:0}
.reading-progress{display:block;position:absolute;bottom:-1px;left:0;width:100%;height:2px;border:0;appearance:none;-webkit-appearance:none;background:transparent;color:var(--accent);pointer-events:none}
.reading-progress::-webkit-progress-bar{background:transparent}
.reading-progress::-webkit-progress-value{background:var(--accent)}
.reading-progress::-moz-progress-bar{background:var(--accent)}
.hero{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;max-width:var(--max);margin:auto;padding:68px var(--gutter) 62px;isolation:isolate;overflow:visible}
.hero:after{display:none}
.hero-content{padding:24px 0;margin:0;align-self:center;max-width:none}
.hero h1,html[lang=en] .hero h1{font-size:clamp(48px,5.35vw,78px);line-height:1.04;letter-spacing:-.055em;margin:28px 0;max-width:650px}
.hero p{max-width:470px;font-size:17px;line-height:1.75;color:#c5cbbd}
.hero .eyebrow{max-width:370px;font-size:10px;color:var(--cool)}
.hero .actions{gap:12px}
.hero .btn{gap:18px;padding:13px 17px}
.hero-art{position:relative;min-width:0;align-self:center;aspect-ratio:1;display:flex;align-items:end;justify-content:center;isolation:isolate}
.hero-image{inset:7%;width:86%;height:86%;object-fit:cover;object-position:65% center;opacity:1;border-radius:50%;z-index:-1;filter:saturate(.8)}
.hero-art:after{content:"";position:absolute;inset:7%;border-radius:50%;background:linear-gradient(0deg,#121310 0%,transparent 35%);z-index:-1;pointer-events:none}
.orbital-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:var(--cool);stroke:currentColor;stroke-width:.7;opacity:.65}
.orbital-frame .orbit-outer{stroke-dasharray:1 9;stroke-width:2}
.orbital-frame .orbit-path{stroke:var(--accent);stroke-width:1}
.orbital-frame .orbit-node{fill:var(--accent);stroke:none}
.hero-caption{position:static;padding:0 20px 4%;max-width:350px;text-align:center;font-size:9px;line-height:1.8;color:#bcc8b2}
.section{padding:80px 0}
.section-head{align-items:end;margin-bottom:40px}
.section-head>div>.eyebrow,.intro-grid>div>.eyebrow{margin-bottom:18px}
.intro-grid,.detail-layout,.dossier-grid,.form-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,72px)}
.intro-grid>* , .detail-layout>* , .form-layout>*{min-width:0}
.intro-grid .lead{font-size:clamp(18px,1.6vw,23px)}
.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.stat span{display:block;max-width:140px;line-height:1.6}
.text-link{min-height:44px;line-height:1.5;gap:20px}
.text-link span,.btn .arrow,.card-link span{transition:transform .2s var(--ease)}
.btn,.filter-button,.preset{border-color:var(--control);border-radius:4px}
.btn:focus-visible,.filter-button:focus-visible,.preset:focus-visible{outline-offset:4px}
.instrument-card,.article-card{position:relative}
.instrument-card .drawing{border-radius:4px;border-color:#47503e;background:radial-gradient(ellipse at 50% 70%,#293322,#181d14 75%)}
.instrument-card .drawing:after{content:"";position:absolute;inset:12px;border:1px solid #75846a24;pointer-events:none}
.instrument-card .card-link{min-height:44px;align-items:center;margin-top:auto;padding-top:20px;color:var(--paper)}
.instrument-card p:last-of-type{margin-bottom:16px}
.instrument-card h3 a{display:inline-flex;min-height:44px;align-items:center}
.article-card .text-link{margin-top:auto;padding-top:22px}
.article-card>p{margin-bottom:24px}
.software-card,.score-card,.passport,.brief-form{border-radius:6px;background:linear-gradient(145deg,#1d2319,#151912);border-color:#46513c}
.software-card{display:flex;flex-direction:column}
.software-card .text-link{align-self:start;margin-top:auto;padding-top:24px}
.software-card>p{margin-bottom:18px}
.software-art{border-radius:3px}
.page-top{position:relative;overflow:hidden;padding:38px 0 48px;background:radial-gradient(ellipse at 88% 25%,#28322666,transparent 48%)}
.page-top:before{content:"";position:absolute;width:390px;height:390px;right:-120px;top:-150px;border:1px solid #a9c8bb20;border-radius:50%;box-shadow:0 0 0 32px #a9c8bb07,0 0 0 90px #a9c8bb04;pointer-events:none}
.page-top>.wrap{position:relative}
.page-top h1{font-size:clamp(42px,5.3vw,76px);line-height:1.12;max-width:1040px}
.page-top .lead{max-width:780px;font-size:clamp(17px,1.6vw,22px)}
.breadcrumbs{align-items:center;gap:10px;margin-bottom:28px;line-height:1.5;font-size:11px}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:32px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#626e55}
.chapter-shell{position:sticky;top:var(--header-height);z-index:35;background:#171b15;border-bottom:1px solid var(--line)}
.chapter-shell>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px}
.chapter-menu{position:relative;min-width:0}
.chapter-menu summary{display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:44px;font-size:13px;list-style:none;cursor:pointer;color:var(--paper)}
.chapter-menu summary::-webkit-details-marker{display:none}
.chapter-menu[open] summary{color:var(--accent)}
.chapter-links{position:absolute;top:calc(100% + 7px);left:0;width:700px;max-width:calc(100vw - 2*var(--gutter));max-height:60vh;max-height:60dvh;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;padding:20px;background:#1a2117;border:1px solid var(--control);box-shadow:0 20px 40px #0008}
.chapter-links a{padding:12px;min-height:44px;line-height:1.5;font-size:14px;border:0;display:block}
.chapter-links a br{display:none}

.chapter-links a[aria-current]{background:#2b3622;color:var(--accent)}
.chapter-links .text-link span{float:right}
.chapter-top{display:flex;align-items:center;gap:20px;min-height:44px;font-size:12px;color:var(--muted);flex-shrink:0}
h2[id],.team-card,.dossier[id],#mechanism,#playing-study{scroll-margin-top:20px}
.detail-art{top:calc(var(--header-height) + 82px);border-radius:6px;overflow:hidden}
.team-grid{gap:48px}
.team-card{padding:30px;border:1px solid #46513c;border-radius:6px;background:linear-gradient(145deg,#1a2016,#141710)}
.team-card-top{align-items:start;min-height:112px}
.team-monogram{width:84px;height:84px}
.team-card h2{font-size:29px;line-height:1.15;letter-spacing:-.03em}
.team-card .team-education{padding:16px;min-height:112px}
.team-card p{font-size:15px;line-height:1.8}
.team-card .role{font-size:13px}
.team-card .skills{font-size:11px}
.prose{max-width:760px}
.prose p{font-size:18px;line-height:1.9}
.prose h2{line-height:1.2}
.dossier p,.detail-copy p{line-height:1.85}
.search,.form-field input,.form-field select,.form-field textarea{font-size:16px;border-color:var(--control);border-radius:4px;min-height:48px}
.search-line label{max-width:640px;min-width:0}
.filter-bar{gap:8px}
.filter-button{min-height:44px;font-size:13px;padding:10px 16px}
.faq summary{min-height:44px;padding:8px 0}
.footer-links{gap:40px}
.footer-links a{display:flex;align-items:center;min-height:44px;font-size:13px;line-height:1.5}
.footer-links div{gap:0}
.footer-top{gap:60px}
.footer-concept a{text-decoration:underline;text-underline-offset:4px}
.pager a{min-height:48px;display:flex;align-items:center;justify-content:center}
.pager{border-top:1px solid var(--line);align-items:center}
.feature-band{position:relative}
.feature-band .software-art{background:#172015;box-shadow:0 18px 40px #26302325;border-radius:50%;height:auto;aspect-ratio:1.5}
.grid-3>.instrument-card:last-child:nth-child(3){display:flex}
html[lang=ja] .hero h1{font-size:clamp(40px,4.5vw,65px);line-height:1.3}
html[lang=ja] .page-top h1{font-size:clamp(36px,5vw,70px)}
html[lang=ja] .hero .actions{flex-direction:row;align-items:stretch}
html[lang=ja] .hero p{max-width:490px}
@media(hover:hover) and (pointer:fine){
  .primary-nav a:hover,.nav-group a:hover,.chapter-top:hover{color:var(--accent)}
  .nav-group a:hover .nav-index{color:var(--accent)}
  .chapter-links a:hover{background:#2b3622;color:var(--accent)}
  .text-link:hover span,.btn:hover .arrow,.card-link:hover span{transform:translate(3px,-3px)}
  .instrument-card:hover .drawing{border-color:#b2c2a0}
  .software-row{transition:background .2s var(--ease),padding .2s var(--ease)}
  .software-row:hover{background:#1e2719;padding-left:14px;padding-right:14px}
}
@media(prefers-reduced-motion:no-preference){
  .hero-content{animation:arrival .65s var(--ease) both}
  .orbital-frame{animation:orbit-arrival 3.5s var(--ease) both}
  .site-menu[open] .menu-panel,.chapter-menu[open] .chapter-links{animation:panel-arrival .2s var(--ease) both}
  .reveal-once{animation:arrival .5s var(--ease) both}
}
@keyframes arrival{from{opacity:.15;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes orbit-arrival{from{opacity:.15;transform:rotate(-12deg)}to{opacity:.65;transform:rotate(0)}}
@keyframes panel-arrival{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1200px){
  .primary-nav{display:none}
  .header .language-switch{margin-left:auto}
  .hero{gap:24px;padding-top:48px;padding-bottom:48px}
  .hero h1,html[lang=en] .hero h1{font-size:clamp(44px,5.7vw,68px)}
  .hero .actions{flex-direction:column;align-items:start}
  .hero .actions .btn{min-width:240px}
  .team-card{padding:24px}
  .team-card-top{display:block;min-height:0}
  .team-monogram{margin-bottom:20px}
}
@media(max-width:900px){
  :root{--header-height:72px}
  .header-inner{gap:14px}
  .hero{grid-template-columns:1.05fr .95fr;gap:12px}
  .hero h1,html[lang=en] .hero h1{font-size:clamp(42px,6vw,54px)}
  .hero p{font-size:15px}
  .hero .eyebrow{font-size:9px}
  .hero-caption{font-size:8px;padding-bottom:0}
  .menu-grid{gap:28px}
  .nav-group a{font-size:16px}
  .section{padding:64px 0}
  .team-grid{gap:24px}
  .team-card .team-education{min-height:0}
  .footer-top{flex-direction:column;gap:30px}
  .footer-links{margin-top:0;justify-content:space-between}
  .intro-grid,.detail-layout,.dossier-grid,.form-layout{gap:32px}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .score-grid{grid-template-columns:1fr}
  .grid-3:not(#instrument-grid):not(.score-grid)>:last-child:nth-child(3){grid-column:1/-1;max-width:calc(50% - 12px);width:100%;justify-self:center}
}
@media(max-width:700px){
  :root{--gutter:22px;--header-height:68px}
  .header-inner{gap:8px}
  .header .brand-mark{font-size:30px}
  .header .brand-name{font-size:10px}
  .header .brand-name small{display:none}
  .site-menu>summary{min-width:76px;gap:12px;padding:10px}
  .language-switch summary{padding:10px;gap:6px}
  .language-options{right:-86px}
  .hero{grid-template-columns:1fr;gap:18px;padding-top:30px;padding-bottom:32px;overflow:hidden}
  .hero-content{padding:0}
  .hero h1,html[lang=en] .hero h1{font-size:clamp(46px,9.6vw,64px);max-width:540px;line-height:1.08}
  .hero p{font-size:16px;max-width:520px}
  .hero .eyebrow{font-size:10px;max-width:340px}
  .hero .actions,html[lang=ja] .hero .actions{flex-direction:row;align-items:stretch}
  .hero .actions .btn{min-width:0;font-size:12px;gap:12px;padding:12px 14px}
  .hero-art{width:100%;max-width:440px;justify-self:center}
  .hero-caption{font-size:9px;padding-bottom:3%}
  html[lang=ja] .hero h1{font-size:clamp(38px,8.5vw,56px)}
  .menu-grid{grid-template-columns:1fr 1fr;gap:26px 24px;padding-top:24px;padding-bottom:24px}
  .nav-group:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
  .nav-group:last-child>.eyebrow{grid-column:1/-1}
  .nav-group a{font-size:14px;min-height:52px;gap:8px}
  .nav-group>.eyebrow{font-size:10px}
  .menu-foot{padding-top:14px;padding-bottom:18px}
  .menu-foot .mono{font-size:9px}
  .menu-foot>span:last-child{display:none}
  .section{padding:48px 0}
  .section-head{margin-bottom:28px}
  .intro-grid,.detail-layout,.dossier-grid,.form-layout,.team-grid{grid-template-columns:1fr}
  .team-card-top{display:flex;align-items:start}
  .team-monogram{margin:0;width:72px;height:72px}
  .team-card h2{font-size:27px}
  .team-card{padding:24px}
  .team-card .role{font-size:12px}
  .detail-art{position:static}
  .page-top{padding:24px 0 34px}
  .page-top h1{font-size:clamp(38px,8.7vw,56px)}
  html[lang=ja] .page-top h1{font-size:clamp(34px,8vw,48px)}
  .page-top .page-meta{font-size:10px}
  .page-top .lead{font-size:17px}
  .chapter-links{grid-template-columns:1fr;padding:10px;max-height:55vh;max-height:55dvh}
  .chapter-menu summary{gap:20px;font-size:12px}
  .chapter-top{gap:9px;font-size:11px}
  .filter-button{font-size:12px;padding:10px 12px}
  .stat-row{gap:16px}
  .stat span{font-size:11px}
  .text-link{font-size:13px}
  .prose p{font-size:17px;line-height:1.85}
  .dossier p,.detail-copy p{font-size:16px}
  .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .footer-links>div:last-child{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
  .footer-links a{font-size:13px;overflow-wrap:normal}
  .source-links a{min-height:44px;padding:8px 0}
}
@media(max-width:620px){
  .grid-3{grid-template-columns:1fr}
  .grid-3:not(#instrument-grid):not(.score-grid)>:last-child:nth-child(3){grid-column:auto;max-width:none}
  .hero .btn{flex:1 1 180px}
  .team-card-top{gap:16px}
  .team-card h2{font-size:25px}
  .scope-side,.control-side,.brief-form{padding:22px}
  .steps{grid-template-columns:1fr 1fr}
}
@media(max-width:360px){
  :root{--gutter:18px}
  .header .brand{gap:6px}
  .header .brand-name{font-size:9px}
  .header .brand-mark{font-size:26px}
  .site-menu>summary{min-width:70px;font-size:12px;gap:8px}
  .hero h1,html[lang=en] .hero h1{font-size:44px}
  .team-card{padding:20px}
  .team-card-top{display:block}
  .team-monogram{margin-bottom:18px}
  .steps,.flow-chart{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
}
@media(forced-colors:active){
  .btn,.filter-button,.preset,.site-menu summary,.language-switch summary{border:1px solid ButtonText}
  a[aria-current],button[aria-pressed=true]{outline:2px solid Highlight;outline-offset:2px}
  .reading-progress,.orbital-frame,.page-top:before{display:none}
}
@media print{
  .header,.chapter-shell,.site-menu,.reading-progress{display:none!important}
  .team-card,.software-card,.passport,.score-card{background:white;border-color:#555;break-inside:avoid}
  .hero{display:block;padding:30px 0}.hero-art{max-width:450px}.hero-content{animation:none}
  h1,h2,h3,h4,.team-card p,.dossier p,.specs{color:#222!important}
}

/* Narrow landscape screens and display cutouts retain a usable reading area. */
.wrap,.header-inner{padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}
.empty-state .btn{margin-top:18px}
@media(max-height:500px) and (orientation:landscape){.chapter-shell{position:relative;top:auto}:root{--header-height:64px}}
.feature-band a:focus-visible,.feature-band button:focus-visible{outline-color:var(--ink)}

.chapter-menu.opens-up .chapter-links{top:auto;bottom:calc(100% + 7px)}
.dossier h2+p,.intro-grid h2+p{margin-top:24px}

/* Studio object photography: preserve every instrument's full silhouette. */
.instrument-card .drawing{aspect-ratio:3/2;background:#141610}
.instrument-card .drawing:after{display:none}
.drawing img{display:block;object-fit:contain}
.detail-art{background:#141610}
.detail-art>img{display:block;aspect-ratio:3/2;height:auto;object-fit:contain}
.about-image{max-height:none;aspect-ratio:3/2;object-fit:contain;border-radius:6px;background:#141610}
.software-art{display:block;width:100%;height:auto;aspect-ratio:12/7;object-fit:contain;background:#141b13}
.feature-band .software-art{border-radius:6px;aspect-ratio:12/7;background:#141b13;box-shadow:0 18px 40px #0003}
.art-open{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;padding:12px 22px;border:0;border-top:1px solid var(--line);border-radius:0;background:#20261c;color:var(--text);font:inherit;font-size:13px;cursor:pointer;text-align:left}
.art-open[hidden]{display:none}
.art-open:hover{background:#2e3827}
.art-open span{font-size:23px;color:var(--accent)}
.art-dialog{width:min(1380px,96vw);max-width:96vw;max-height:94vh;max-height:94dvh;padding:0;margin:auto;border:1px solid #59634d;border-radius:8px;background:#141610;color:var(--text);overflow:auto;box-shadow:0 24px 100px #0008}
.art-dialog::backdrop{background:#080b08eb}
.art-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid var(--line);background:#1c2318;position:sticky;top:0;z-index:1}
.art-dialog h2{margin:0;font-size:15px;letter-spacing:.09em}
.art-close{display:flex;align-items:center;gap:20px;min-width:90px;min-height:44px;background:transparent;border:0;color:var(--text);font:inherit;font-size:13px;cursor:pointer;padding:8px}
.art-close span{font-size:26px;line-height:1}
.art-dialog>img{display:block;width:100%;height:auto;max-height:calc(94vh - 118px);max-height:calc(94dvh - 118px);object-fit:contain;background:#141610}
.art-dialog-caption{margin:0;padding:14px 18px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
html.viewing-art{overflow:hidden}
@media(max-width:600px){.art-dialog{width:96vw}.art-dialog-bar{padding:8px 12px}.art-dialog-caption{padding:12px;font-size:11px}}
@media(forced-colors:active){.art-open,.art-close,.art-dialog{border:1px solid ButtonText}.art-dialog::backdrop{background:Canvas}}

/* One complete navigation, with the same section order at every size. */
:root{--header-height:68px}
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:calc(var(--header-height) - 1px);gap:0 10px;height:calc(var(--header-height) - 1px);min-height:0}
.header-inner>.brand{grid-column:1;grid-row:1;min-width:0;justify-self:start}
.header-inner>.language-switch{grid-column:2;grid-row:1;margin-left:0;order:0}
.header-inner>.site-menu{grid-column:3;grid-row:1;order:0}
.header .language-options{right:0}
.desktop-navigation{display:none}
.site-menu>summary{min-width:0;min-height:44px;gap:10px;padding:10px 12px;font-size:13px;border-color:var(--line);border-radius:3px}
.language-switch summary{border-color:var(--line);border-radius:3px}
.site-menu[open]>summary{border-color:var(--accent)}
.menu-panel{background:#171b15;max-height:calc(100vh - var(--header-height));max-height:calc(100dvh - var(--header-height));overscroll-behavior:contain}
.section-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding-top:20px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
.section-link{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;line-height:1.4;min-width:0}
.section-link>span:first-child{min-width:0}
.section-menu .section-link{min-height:64px;padding:12px 14px;border:1px solid #3d4437;border-radius:3px;font-size:15px;color:var(--paper)}
.section-menu .section-arrow{flex-shrink:0;font-size:12px;color:var(--muted)}
.section-menu .section-link[aria-current]{background:#293122;border-color:#c28455;box-shadow:inset 3px 0 var(--accent);color:var(--accent)}
.section-menu .section-link[aria-current] .section-arrow{color:var(--accent)}
.section-link:focus-visible{outline-offset:3px}
html.navigation-open{overflow:hidden}
@media(hover:hover){.section-menu .section-link:hover{background:#232a1d;border-color:#76816a}.section-link:hover{color:var(--accent)}}
@media(min-width:1024px){
  :root{--header-height:112px}
  .header-inner{grid-template-columns:1fr auto;grid-template-rows:63px 48px}
  .header-inner>.site-menu{display:none}
  .desktop-navigation{display:grid;grid-column:1/-1;grid-row:2;grid-template-columns:repeat(10,max-content);justify-content:space-between;align-items:stretch;border-top:1px solid #30372a;min-width:0}
  .desktop-navigation .section-link{justify-content:center;min-height:48px;padding:0 8px;font-size:13px;white-space:nowrap;color:#c5cbbd}
  .desktop-navigation .section-arrow{display:none}
  .desktop-navigation .section-link:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .18s var(--ease);transform-origin:center}
  .desktop-navigation .section-link[aria-current]{color:var(--accent)}
  .desktop-navigation .section-link[aria-current]:after{transform:scaleX(1)}
  .desktop-navigation .section-link:focus-visible{outline-offset:-4px}
  .header .language-switch summary{min-height:40px;padding:8px 12px}
  html.navigation-open{overflow:visible}
}
@media(min-width:1024px) and (hover:hover){.desktop-navigation .section-link:hover{color:var(--paper)}.desktop-navigation .section-link:hover:after{transform:scaleX(.45)}}
@media(min-width:1024px) and (hover:hover){.desktop-navigation .section-link[aria-current]:hover:after{transform:scaleX(1)}}
@media(min-width:1400px){.desktop-navigation .section-link{font-size:14px;padding:0 12px}}
@media(max-width:360px){.header-inner{column-gap:6px}.site-menu>summary{padding:10px;gap:8px;font-size:12px}.section-menu{gap:8px 12px}.section-menu .section-link{padding:10px 12px;font-size:14px}}
@media(max-height:500px) and (max-width:1023px){:root{--header-height:60px}.section-menu{padding-top:12px;padding-bottom:16px}.section-menu .section-link{min-height:56px}}
@media(max-height:500px) and (min-width:600px) and (max-width:1023px){.section-menu{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.desktop-navigation .section-link:after{transition:none}}
@media(forced-colors:active){.section-menu .section-link{border-color:ButtonText}.section-link[aria-current]{outline:2px solid Highlight;outline-offset:-4px}}

.hero-image{inset:9%;width:82%;height:82%;object-fit:contain;object-position:center;border-radius:0;filter:saturate(.85)}

/* Acoustic drawings: one visual language, confined to illustrations and margins. */
.graphic-plate{width:100%;height:auto;stroke:#718671;stroke-width:1;pointer-events:none}
.graphic-plate .ink-accent,.draft-trace{stroke:var(--accent);stroke-width:1.35}
.graphic-plate .ink-frame{stroke:#82957b;opacity:.55}
.ink-node{fill:var(--accent);stroke:none}
.hero{background:radial-gradient(ellipse at 78% 44%,#34423338,transparent 52%),var(--bg)}
.hero-art{background-image:radial-gradient(#91a58520 .7px,transparent .8px);background-size:24px 24px;border-radius:50%}
.draft-grid{position:absolute;inset:0;width:100%;height:100%;stroke:#8a9d78;stroke-width:.85;pointer-events:none;opacity:.65;z-index:-1}
.draft-axis{stroke-dasharray:2 9;opacity:.35}
.draft-halo{stroke-dasharray:65 8 2 8;opacity:.35}
.hero-caption{background:linear-gradient(90deg,transparent,#121310e8 20%,#121310e8 80%,transparent)}
.page-top{background:radial-gradient(ellipse at 95% 70%,#33473526,transparent 55%)}
.page-top:before{display:none}
.page-top>.wrap{position:relative}
.page-ornament{position:absolute;width:280px;height:198px;right:var(--gutter);top:74px;opacity:.7}
.page-top h1,.page-top .lead,.page-top .page-meta{position:relative}
@media(min-width:1200px){
  .page-top h1{max-width:calc(100% - 330px)}
  .page-top .lead,.page-top .page-meta{max-width:min(760px,calc(100% - 330px))}
}
.section{position:relative}
.section:before{content:"";position:absolute;top:-1px;left:max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter)));width:48px;height:2px;background:#819477;pointer-events:none}
.section-head{position:relative;padding-bottom:24px;border-bottom:1px solid #353e30}
.section-head:after{content:"";position:absolute;bottom:-1px;left:0;width:36px;height:2px;background:var(--accent)}
.instrument-card .drawing{border-radius:4px;background:radial-gradient(ellipse at 50% 55%,#2f3a29 0,#141610 72%)}
.instrument-card .drawing:before{content:"";position:absolute;z-index:2;inset:12px;pointer-events:none;color:#879877;opacity:.6;background:linear-gradient(currentColor,currentColor) left top/18px 1px no-repeat,linear-gradient(currentColor,currentColor) left top/1px 18px no-repeat,linear-gradient(currentColor,currentColor) right top/18px 1px no-repeat,linear-gradient(currentColor,currentColor) right top/1px 18px no-repeat,linear-gradient(currentColor,currentColor) left bottom/18px 1px no-repeat,linear-gradient(currentColor,currentColor) left bottom/1px 18px no-repeat,linear-gradient(currentColor,currentColor) right bottom/18px 1px no-repeat,linear-gradient(currentColor,currentColor) right bottom/1px 18px no-repeat;transition:color .25s,opacity .25s}
.instrument-card .drawing:after{display:block;content:"";position:absolute;left:15%;right:15%;bottom:13px;height:5px;background:repeating-linear-gradient(90deg,#82957666 0 1px,transparent 1px 12px);pointer-events:none}
.instrument-card .badge{border-left:2px solid #9caa87}
.software-card,.team-card,.score-card,.passport{background-image:linear-gradient(135deg,#52633a14,transparent 42%);box-shadow:inset 0 1px #c0c7a806}
.software-row{grid-template-columns:80px 1.1fr 1.2fr 30px}
.software-row>.mono{display:grid;justify-items:center;gap:3px}
.row-signal{width:78px;height:42px}
.row-signal .ink-frame{display:none}
.journal-art{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;aspect-ratio:2.2;border:1px solid #40503c;background:radial-gradient(ellipse at 50% 90%,#3b4b2b66,transparent 75%),#1b2118;margin-bottom:24px;border-radius:3px}
.journal-art:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#a6b38c07 1px,transparent 1px),linear-gradient(90deg,#a6b38c07 1px,transparent 1px);background-size:28px 28px}
.journal-art .graphic-plate{height:100%;width:85%;stroke:#91a280;transition:transform .6s var(--ease)}
.article-card{border-top:0;padding-top:0}
.article-card h2,.article-card h3{margin-top:18px}
.article-card .text-link{margin-top:auto;padding-top:24px}
.article-card:focus-within .journal-art,.instrument-card:focus-within .drawing{border-color:var(--accent)}
.journal-list .journal-art{aspect-ratio:2.8}
.cta{position:relative;padding:64px 38px;margin:36px 0;background:radial-gradient(ellipse at 10% 90%,#53643b30,transparent 60%),#1a2016;border:1px solid #4c5a40;border-radius:4px}
.cta:before,.cta:after{content:"";position:absolute;width:9px;height:9px;border:1px solid #91a27d;pointer-events:none}
.cta:before{top:10px;left:10px;border-right:0;border-bottom:0}
.cta:after{bottom:10px;right:10px;border-left:0;border-top:0}
.cta h2{font-size:clamp(30px,3.3vw,48px);max-width:680px}
.footer{background:linear-gradient(180deg,#1c231715,transparent)}
.team-monogram svg{transition:transform .7s var(--ease),stroke .3s}
.btn .arrow,.card-link span,.text-link span{transition:transform .25s var(--ease)}
@media(hover:hover){
  .instrument-card:hover .drawing:before{color:#c9b294;opacity:1}
  .article-card:hover .journal-art .graphic-plate{transform:scale(1.035)}
  .article-card:hover h2{color:var(--accent)}
  .team-card:hover .team-monogram svg{transform:rotate(8deg);stroke:#afbd98}
  .btn:hover .arrow,.card-link:hover span,.text-link:hover span{transform:translate(2px,-2px)}
  .software-row:hover .ink-accent{stroke:#ffb184}
}
@media(prefers-reduced-motion:no-preference){
  .graphic-plate.ink-arrived .ink-accent{animation:trace-ink 1.8s var(--ease) both}
  .draft-grid.ink-arrived .draft-trace{animation:trace-ink 2.4s var(--ease) both}
}
@keyframes trace-ink{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
@media(max-width:1199px){
  .page-ornament{width:98px;height:69px;top:-12px;opacity:.55}
  .page-top .breadcrumbs{padding-right:112px;min-height:30px}
}
@media(max-width:700px){
  .section-head{padding-bottom:18px}
  .page-ornament{width:72px;height:51px;top:-7px}
  .page-ornament .ink-work>:not(.ink-accent):not(.ink-node){display:none}
  .page-top .breadcrumbs{padding-right:82px}
  .software-row{grid-template-columns:48px 1fr 20px}
  .row-signal{width:48px;height:30px}
  .cta{padding:40px 22px;margin:24px 0;gap:25px}
  .cta h2{font-size:34px}
  .journal-list .journal-art{aspect-ratio:2.2}
  .journal-art{margin-bottom:20px}
}
@media(prefers-reduced-motion:reduce){.graphic-plate,.draft-grid,.team-monogram svg{animation:none!important;transition:none!important}}
@media(forced-colors:active){.graphic-plate,.draft-grid,.journal-art,.section:before,.section-head:after,.drawing:before,.drawing:after{display:none}}
@media print{.page-ornament,.draft-grid,.journal-art,.row-signal,.section:before,.section-head:after{display:none}.cta{background:none;box-shadow:none}}

/* Subject-led editorial illustrations; captions make their purpose explicit. */
.context-visual{position:absolute;right:var(--gutter);top:67px;width:280px;margin:0;padding:9px 8px 15px;background:radial-gradient(ellipse at 50% 35%,#6f85552e,transparent 75%),#192017;border:1px solid #46503c;border-radius:4px}
.context-visual .page-ornament{position:static;width:100%;height:auto;opacity:1}
.context-visual figcaption{padding:1px 12px 0;font-size:11px;line-height:1.6;color:#bfc8b3;text-align:center;letter-spacing:.015em}
.context-art{stroke:#b1bda3;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.context-art .ink-accent{stroke:#f1a36d;stroke-width:1.65}
.context-art .ink-panel{fill:#35432b70}
.context-grid{opacity:.23}
.context-grid .ink-node{fill:#bac5a8}
.context-frame{opacity:.35;stroke:#91a27a;stroke-width:.7}
.context-subject{filter:drop-shadow(0 5px 5px #0003)}
.context-detail{stroke-width:.75;opacity:.72}
.journal-art{background:radial-gradient(ellipse at 50% 40%,#41533166,transparent 75%),#1b2118}
.journal-art .context-art{width:auto;max-width:95%;height:100%;stroke:#b1bda3}
.team-monogram span{position:absolute;inset:auto -3px -3px auto;width:27px;height:27px;font-size:11px;border:1px solid #687954;border-radius:3px;letter-spacing:0}
.team-monogram svg{stroke-width:1.3;background:radial-gradient(#4b5f3633,transparent 74%)}
@media(max-width:1199px){
  .context-visual{position:relative;top:auto;right:auto;width:min(100%,540px);display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:12px;margin:26px 0 0;padding:6px 15px 6px 7px}
  .context-visual .page-ornament{width:118px;height:84px}
  .context-visual figcaption{text-align:left;padding:0;font-size:12px}
  .page-top .breadcrumbs{padding-right:0}
}
@media(max-width:700px){
  .context-visual{grid-template-columns:96px minmax(0,1fr);gap:10px;margin-top:22px}
  .context-visual .page-ornament{width:96px;height:68px}
}



/* A scientific acoustic study: excitation, vibration and signal. */
.studio-manifesto .giant-quote{max-width:1050px;margin-inline:auto;text-align:center;text-wrap:balance}
.acoustic-study{max-width:1180px;margin:42px auto 0}
.acoustic-study picture,.acoustic-study img{display:block;width:100%;height:auto}
.acoustic-study picture{position:relative;overflow:hidden;border-radius:2px}
.acoustic-study picture:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 18px 9px #121310}
.acoustic-study figcaption{display:flex;justify-content:center;align-items:center;gap:0;margin:24px auto 0;font:11px/1.6 ui-monospace,monospace;letter-spacing:.12em;color:#bbc1ac}
.acoustic-study figcaption span+span:before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:#b9835e;margin:0 26px;vertical-align:middle}
.acoustic-study figcaption span{white-space:nowrap}
@media(max-width:620px){.acoustic-study{margin-top:28px}.acoustic-study figcaption{margin-top:17px;font-size:10px;letter-spacing:.04em}.acoustic-study figcaption span+span:before{margin:0 13px}.studio-manifesto .giant-quote{font-size:clamp(27px,6.9vw,40px);line-height:1.22}}
@media(forced-colors:active){.context-visual{display:none}.acoustic-study figcaption{color:CanvasText}}
@media print{.context-visual{display:none}.acoustic-study{break-inside:avoid}.acoustic-study figcaption{color:black}}
