@charset "utf-8";
:root{--paper:#f4f4f0;--white:#fff;--ink:#171c1e;--line:#c8ccca;--muted:#535b5c;--signal:#c23f1f;--bright:#ff7047;--edge:4.5vw;--header:80px;--sample-bar-height:38px}
.accessio-design-sample{position:relative;min-height:38px;padding:7px 20px;background:#e9eade;color:#535e4b;text-align:center;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:.75rem;line-height:1.7}
.accessio-design-sample__inner{display:flex;align-items:center;justify-content:center;gap:24px}
.accessio-design-sample__id{letter-spacing:.14em}
.accessio-design-sample__copy{letter-spacing:.07em}
@media(max-width:560px){.accessio-design-sample{padding:8px 14px;line-height:1.55}.accessio-design-sample__inner{display:block}.accessio-design-sample__copy{display:block;margin-top:1px;letter-spacing:.045em}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:default}img{display:block;max-width:100%}[hidden]{display:none!important}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--bright);outline-offset:5px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--signal);outline-offset:2px}::selection{background:var(--signal);color:#fff}h1,h2,h3,p{margin:0}p{font-size:1rem;line-height:1.9}h2{font-size:clamp(2.4rem,4.4vw,4.4rem);font-weight:600;line-height:1.45;letter-spacing:-.055em}h3{font-weight:500}button{border-radius:0}.skip{position:fixed;left:16px;top:-80px;padding:14px 24px;background:var(--ink);color:#fff;z-index:100}.skip:focus{top:10px}.mono,.section-label,.hero-meta,.hero-bottom,.drawing-label,.lens-label,.spec-label,.tech-index,.tech-foot,.material-symbol,.step-num,.footer-bottom,.dialog-head,.motion-control{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-weight:400;letter-spacing:.035em}
.header{height:var(--header);position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line);padding:0 var(--edge)}.brand{display:flex;gap:14px;align-items:center;font-size:1rem;font-weight:600;letter-spacing:.025em}.brand small{display:block;font-size:.75rem;letter-spacing:.08em;font-weight:400;margin-top:5px}.mark{width:36px;height:36px;background:var(--signal);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:500;line-height:1}.header>nav:not(#mobile-nav){display:flex;align-items:center;gap:30px;font-size:.875rem}.header nav a{position:relative}.header nav a:not(.nav-contact):after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav a:hover:after,.header nav a[aria-current]:after{transform:scaleX(1)}.nav-contact{padding:13px 20px;border:1px solid var(--ink);transition:background .25s,color .25s}.nav-contact:hover{background:var(--ink);color:#fff}.menu-toggle{display:none}.page-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--signal);transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero{height:calc(100svh - var(--header));min-height:640px;max-height:1100px;position:relative;background:#080e13;isolation:isolate;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0;z-index:-2;background:url("assets/component.webp") center 55%/cover no-repeat;transform:translateY(var(--hero-shift,0px)) scale(1.06);animation:hero-arrive 1.7s cubic-bezier(.2,.7,.25,1) both;will-change:transform}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,12,17,.58),transparent 64%),linear-gradient(0deg,rgba(6,12,17,.5),transparent 28%)}.hero-meta{position:absolute;top:34px;left:var(--edge);right:var(--edge);display:flex;justify-content:space-between;font-size:.75rem;line-height:1.5}.hero-meta>span:first-child:before{content:"";display:inline-block;width:24px;height:1px;background:var(--bright);vertical-align:middle;margin-right:12px}.hero-title{position:absolute;top:20%;left:var(--edge);right:var(--edge)}.eyebrow{font-size:.875rem;letter-spacing:.08em;margin-bottom:22px}.hero h1{font-size:clamp(3rem,6.9vw,7.3rem);font-weight:500;line-height:1.38;letter-spacing:-.065em;max-width:13em}.hero h1 span{display:block;animation:title-arrive 1s cubic-bezier(.2,.7,.25,1) both}.hero h1 span:last-child{animation-delay:.12s}.hero-title .hero-thought{margin-top:28px;font-size:.875rem;line-height:1.85;color:#d1d6d7}.hero-rail{position:absolute;top:96px;bottom:134px;right:24px;width:12px;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.5) 0 1px,transparent 1px 20px);opacity:.45}.hero-bottom{position:absolute;left:var(--edge);right:var(--edge);bottom:30px;border-top:1px solid #73808788;padding-top:20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:20px;font-size:.75rem}.hero-bottom>div{display:flex;gap:26px;line-height:1.7}.hero-bottom .scroll-link{justify-self:end;font-family:inherit;font-size:.875rem;display:flex;align-items:center;gap:14px}.scroll-line{width:30px;height:45px;border:1px solid #879096;position:relative}.scroll-line:after{content:"";position:absolute;width:1px;height:19px;left:14px;top:8px;background:var(--bright);animation:scroll-mark 2s ease 1 both}.hero-coordinate{color:#abb4ba}.section{padding:110px var(--edge)}.section-label{display:flex;align-items:center;gap:15px;font-size:.75rem;line-height:1.5;text-transform:uppercase;margin-bottom:54px}.section-label>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);color:var(--signal)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:54px}.section-heading>p{max-width:26em;color:var(--muted)}.intro{background:var(--paper);padding-bottom:130px}.intro-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:11vw;align-items:end}.approach-type{font-size:clamp(5rem,11.2vw,12.4rem);font-weight:500;line-height:.94;letter-spacing:-.07em;position:relative;margin-left:-.065em}.approach-type span{display:block}.approach-type span:last-child{color:var(--signal)}.intro-copy{padding-bottom:7px}.intro h2{font-size:clamp(1.8rem,2.5vw,2.65rem);margin-bottom:25px}.intro-copy p{color:var(--muted);margin-bottom:20px}.intro-copy .text-link{margin-top:22px}.text-link{display:inline-block;font-size:.875rem;border-bottom:1px solid;padding-bottom:7px;transition:color .2s}.text-link:hover{color:var(--signal)}.part-study{padding-top:80px;padding-bottom:80px;background:#e4e7e6}.part-heading .study-number{font-size:clamp(4.5rem,10vw,10rem);line-height:1;color:#b5bfbe;font-weight:400;letter-spacing:-.06em}.part-heading{display:grid;grid-template-columns:1.1fr 1fr auto;align-items:end;gap:40px}.part-heading h2{font-size:clamp(2rem,3.4vw,3.5rem)}.part-heading p{font-size:.875rem;max-width:21em;line-height:1.85}.inspection{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);border:1px solid #aeb6b4}.specimen{background:#080e13;color:#fff;position:relative;display:flex;flex-direction:column}.drawing-label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 22px;border-bottom:1px solid #404b50;font-size:.75rem}.drawing-label .drawing-tag{color:#acb6bc}.specimen-image{position:relative;aspect-ratio:3/2;overflow:hidden}.specimen-image>img{height:100%;width:100%;object-fit:cover}.point{position:absolute;width:46px;height:46px;border:1px solid #fff;background:#10161bab;color:#fff;display:grid;place-items:center;font-family:Consolas,monospace;font-size:.875rem;transform:translate(-50%,-50%);transition:background .3s,border .3s,color .3s;z-index:2}.point:before,.point:after{content:"";position:absolute;background:#d4dde2;pointer-events:none}.point:before{width:1px;height:66px;left:22px;top:-11px}.point:after{height:1px;width:66px;left:-11px;top:22px}.point span{position:relative;z-index:1;background:#10161b;padding:5px;transition:background .3s}.point[aria-pressed="true"]{background:var(--bright);border-color:var(--bright);color:#111}.point[aria-pressed="true"] span{background:var(--bright)}.point:hover{border-color:var(--bright)}.point-face{left:78%;top:21%}.point-bore{left:56%;top:51%}.point-thread{left:75%;top:42%}.specimen-bottom{margin-top:auto;padding:19px 22px;display:flex;justify-content:space-between;font-size:.75rem;line-height:1.5;color:#aab5bb}.detail-panel{padding:24px;background:var(--paper);display:flex;flex-direction:column;min-width:0}.lens-label{display:flex;justify-content:space-between;font-size:.75rem;margin-bottom:13px}.detail-lens{aspect-ratio:1.75;background-image:url("assets/component.webp");background-size:300%;background-position:92% 6%;position:relative;overflow:hidden;border:1px solid var(--ink)}.detail-lens:before,.detail-lens:after{content:"";position:absolute;background:#ff704799}.detail-lens:before{left:50%;top:0;bottom:0;width:1px}.detail-lens:after{top:50%;left:0;right:0;height:1px}.zoom-control{display:flex;align-items:center;gap:12px;font-size:.75rem;padding:12px 0 23px}.zoom-control input{min-width:0;flex:1;accent-color:var(--signal);height:20px}.zoom-control output{min-width:3em;text-align:right}.detail-body{padding-top:22px;border-top:1px solid var(--line)}.detail-body .detail-kicker{color:var(--signal);font-family:Consolas,monospace;font-size:.75rem;margin-bottom:9px}.detail-body h3{font-size:1.45rem;line-height:1.5;letter-spacing:-.03em;margin-bottom:14px}.detail-body p{font-size:.9375rem;line-height:1.85;color:var(--muted)}.detail-question{margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.detail-question span{display:block;font-size:.75rem;color:var(--muted);margin-bottom:6px}.detail-question strong{display:block;font-size:.875rem;font-weight:500;line-height:1.8}.detail-panel .text-button{margin-top:20px;align-self:start}.text-button{padding:0 0 7px;background:none;border:0;border-bottom:1px solid var(--ink);font-size:.875rem;line-height:1.5}.text-button:hover{color:var(--signal)}.study-legend{display:flex;gap:0;grid-column:1/-1;list-style:none;margin:0;padding:0;background:var(--paper);border-top:1px solid #aeb6b4}.study-legend button{border:0;background:none;border-right:1px solid var(--line);padding:18px 22px;display:flex;align-items:center;gap:18px;font-size:.875rem;transition:background .25s}.study-legend button[aria-pressed="true"]{background:var(--ink);color:#fff}.study-legend .mono{font-size:.75rem;color:var(--signal)}.study-legend button[aria-pressed="true"] .mono{color:var(--bright)}.study-footnote{margin-top:17px;font-size:.75rem;color:var(--muted);line-height:1.8}
.dark{background:var(--ink);color:#fff}.dark .section-label>span{border-color:#626b6e;color:var(--bright)}.dark .section-heading>p{color:#bac3c6}.technology{padding-top:100px}.tech-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #626b6e;border-bottom:1px solid #626b6e}.tech-tabs button{min-width:0;position:relative;text-align:left;padding:27px 22px 28px 0;background:none;border:0;border-right:1px solid #626b6e;color:#b8c1c4;transition:background .3s,color .3s;line-height:1.6;font-size:1rem}.tech-tabs button+button{padding-left:25px}.tech-tabs button:last-child{border-right:0}.tech-tabs button span{display:block;font-family:Consolas,monospace;font-size:.75rem;margin-bottom:15px}.tech-tabs small{display:block;font-size:.75rem;letter-spacing:.08em;margin-top:4px}.tech-tabs button[aria-selected=true]{color:#fff}.tech-tabs button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--bright);transform:scaleX(0);transform-origin:left;transition:transform .3s}.tech-tabs button[aria-selected=true]:after{transform:scaleX(1)}.tech-panel{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;align-items:start;padding:55px 0 60px;min-height:410px}.tech-index{font-size:clamp(5rem,14vw,14rem);font-weight:400;line-height:.9;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px #8d989d}.tech-index small{display:block;margin-top:25px;font-size:.75rem;letter-spacing:.12em;color:#acb8bd;-webkit-text-stroke:0}.tech-panel h3{font-size:clamp(1.7rem,2.5vw,2.8rem);line-height:1.45;letter-spacing:-.04em;margin-bottom:25px}.tech-panel p{max-width:35em;color:#bec6c9;line-height:1.9}.spec-list{margin:26px 0 0;border-top:1px solid #556065}.spec-list>div{display:grid;grid-template-columns:130px 1fr;gap:15px;padding:16px 0;border-bottom:1px solid #556065;font-size:.875rem;line-height:1.75}.spec-list dt{color:#a7b2b7}.spec-list dd{margin:0}.tech-foot{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:23px;border-top:1px solid #626b6e;font-size:.75rem;color:#b8c3c8}.tech-foot a{font-family:inherit;line-height:1.75;font-size:.875rem;border-bottom:1px solid #a6b0b4;padding-bottom:5px;color:#fff}
.materials-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:80px}.materials h2{margin-bottom:25px}.materials-layout>div>p{color:var(--muted)}.material-caption{display:block;font-size:.75rem;letter-spacing:.12em;margin-top:60px;color:var(--signal);font-family:Consolas,monospace}.material-list{margin:0;border-top:1px solid var(--ink)}.material-list>div{display:grid;grid-template-columns:1fr 1.25fr;gap:25px;padding:26px 0;border-bottom:1px solid var(--line);align-items:center}.material-list dt{font-size:.875rem}.material-symbol{display:block;font-size:2.6rem;letter-spacing:-.06em;line-height:1;margin-bottom:12px}.material-list dd{margin:0;font-size:.875rem;line-height:1.7;color:var(--muted)}.material-list small{display:block;font-family:Consolas,monospace;margin-top:8px;font-size:.75rem}.note{font-size:.75rem;line-height:1.8;color:var(--muted);margin-top:20px}
.quality{background:#dee2e0;padding-top:90px;padding-bottom:90px}.quality-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:80px}.quality-intro{align-self:start;position:sticky;top:calc(var(--header) + 40px)}.quality h2{margin-bottom:25px}.quality-intro p{color:var(--muted)}.quality-run{margin-top:40px;font-family:Consolas,monospace;font-size:.75rem;display:flex;align-items:center;gap:20px}.quality-run>span{height:1px;width:80px;background:var(--ink)}.quality-steps{list-style:none;margin:0;padding:0 0 0 35px;position:relative;border-left:1px solid #a7b1ad}.quality-steps:before{content:"";position:absolute;width:2px;left:-1px;top:0;height:100%;background:var(--signal);transform:scaleY(var(--quality-progress,0));transform-origin:top}.quality-steps li{position:relative;display:grid;grid-template-columns:70px 1fr;gap:20px;padding:37px 0 50px;border-top:1px solid #b6bfbb}.quality-steps li:first-child{padding-top:0;border-top:0}.quality-steps li:last-child{padding-bottom:0}.quality-steps li:before{content:"";position:absolute;width:9px;height:9px;background:var(--ink);left:-40px;top:45px}.quality-steps li:first-child:before{top:9px}.step-num{font-size:2.1rem;line-height:1.1;font-weight:400;letter-spacing:-.055em}.quality-steps h3{font-size:1.5rem;margin-bottom:15px;letter-spacing:-.03em}.quality-steps p{color:var(--muted)}.quality-steps .step-note{font-size:.75rem;margin-top:20px;display:inline-block;border:1px solid #9ba7a1;padding:5px 10px}
.about{background:var(--ink);color:#fff;padding-top:90px}.about-head{padding:0 var(--edge) 60px;display:grid;grid-template-columns:1fr 1.35fr;gap:80px;align-items:end}.about .section-label{margin-bottom:32px}.about h2{font-size:clamp(2.4rem,4.4vw,4.4rem)}.about-head>p{max-width:35em;color:#bec7ca}.workshop-photo{position:relative;height:620px;overflow:hidden}.workshop-photo img{width:100%;height:100%;object-fit:cover;object-position:center 46%}.workshop-photo>span{position:absolute;left:var(--edge);top:30px;font-family:Consolas,monospace;font-size:.75rem;background:var(--paper);color:var(--ink);padding:10px 14px}.workshop-note{position:absolute;bottom:40px;left:var(--edge);background:var(--paper);color:var(--ink);padding:27px 35px;width:430px;max-width:calc(100% - 9vw)}.workshop-note span{font-size:.75rem;display:block;color:var(--muted);margin-bottom:10px}.workshop-note strong{font-size:1.25rem;line-height:1.7;font-weight:500;letter-spacing:-.04em}
.contact{background:var(--paper);padding-top:100px}.contact-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:end}.contact h2{font-size:clamp(2.4rem,5.1vw,5.7rem);line-height:1.4;margin-bottom:25px}.contact p{color:var(--muted)}.outline{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:20px 25px;font-size:1rem;min-height:64px;color:var(--ink);background:transparent;border:1px solid var(--ink);transition:background .25s,color .25s}.outline:after{content:"＋";font-size:1.45rem;font-weight:300}.outline:hover{background:var(--ink);color:#fff}.contact .outline{margin-top:35px;background:var(--signal);border-color:var(--signal);color:#fff;min-width:300px}.contact .outline:hover{background:var(--ink);border-color:var(--ink)}.contact-small{display:block;font-size:.75rem;color:var(--muted);margin-top:17px}.contact-prep h3{font-size:1rem;margin-bottom:27px}.contact-prep ol{list-style:none;padding:0;margin:0 0 25px}.contact-prep li{border-top:1px solid var(--line);padding:18px 0;font-size:.875rem;line-height:1.8;display:flex;gap:22px}.contact-prep li span{font-family:Consolas,monospace;font-size:.75rem;color:var(--signal)}details{border-top:1px solid var(--line);font-size:.875rem}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;padding:18px 30px 18px 0;cursor:pointer;position:relative;line-height:1.75}summary::-webkit-details-marker{display:none}summary:after{content:"＋";position:absolute;right:0;top:18px}details[open] summary:after{content:"−"}details p{font-size:.875rem;padding-bottom:20px;line-height:1.85}
.footer{padding:65px var(--edge) 27px;background:var(--signal);color:#fff;overflow:hidden}.footer-top{display:flex;justify-content:space-between;gap:35px;margin-bottom:40px;font-size:.875rem}.footer-top nav{display:flex;gap:25px;flex-wrap:wrap}.footer-top a:hover{text-decoration:underline;text-underline-offset:5px}.footer-type{font-size:clamp(4rem,13.6vw,15rem);line-height:.88;letter-spacing:-.075em;font-weight:500;white-space:nowrap;margin-left:-.025em;padding-bottom:38px}.footer-type span{display:block}.footer-bottom{display:flex;align-items:end;justify-content:space-between;gap:25px;border-top:1px solid #ffffff77;padding-top:25px;font-size:.75rem;line-height:1.8}.footer-bottom p{font-size:.75rem;max-width:24em;line-height:1.8}.footer-bottom a{border-bottom:1px solid #ffffff99}.motion-control{border:1px solid #ffffffa1;padding:11px 13px;background:transparent;color:#fff;font-size:.75rem;line-height:1.5;min-height:44px}.motion-control:hover{background:#fff;color:var(--signal)}
dialog{border:1px solid var(--ink);padding:30px;width:min(680px,calc(100% - 32px));max-height:calc(100svh - 32px);background:var(--paper);color:var(--ink)}dialog::backdrop{background:#060d15b3;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;margin-bottom:25px}/* Close-control contract: no rectangular frame in any state. Keep this after the global focus rule; QA.md and tests/dialog-close.mjs are mandatory before publishing. */
.close-dialog,.close-dialog:hover,.close-dialog:active,.close-dialog:focus,.close-dialog:focus-visible{border:0;outline:0;box-shadow:none;background:transparent}
.close-dialog{appearance:none;display:grid;place-items:center;flex-shrink:0;min-width:44px;min-height:44px;width:2.75rem;height:2.75rem;padding:0;font-size:1.7rem;font-weight:300;line-height:1;text-decoration:none}
.close-dialog:hover,.close-dialog:active{color:var(--signal)}
.close-dialog:focus-visible{color:var(--signal);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.12em}dialog h2{font-size:1.7rem;letter-spacing:-.03em;margin-bottom:20px}.dialog-intro{font-size:.875rem;color:var(--muted);margin-bottom:25px}label{display:block;font-size:.875rem;line-height:1.7;margin-bottom:20px}input:not([type=range]),select,textarea{display:block;width:100%;border:1px solid #a3aeaa;padding:12px;margin-top:8px;border-radius:0;background:#fff;color:var(--ink);line-height:1.7;font-size:1rem}textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}#brief-result{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}#brief-result h3{font-size:1rem;margin-bottom:15px}#brief-result .outline{margin-top:20px}#copy-status{font-size:.875rem;margin-top:13px;color:var(--signal)}
@keyframes hero-arrive{from{transform:scale(1.1)}to{transform:scale(1.06)}}@keyframes title-arrive{from{opacity:.3;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-mark{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
@media(min-width:1600px){:root{--edge:max(5vw,calc((100vw - 1480px)/2))}.hero-media{background-position:center 60%}}
@media(max-width:1000px){:root{--edge:5vw;--header:76px}.header>nav:not(#mobile-nav){gap:20px}.brand{font-size:.875rem;gap:10px}.brand small{font-size:.75rem;letter-spacing:.01em}.header nav{font-size:.875rem}.hero{min-height:630px}.hero h1{font-size:7.4vw}.hero-media{background-position:58% center}.intro-layout{gap:7vw;grid-template-columns:1fr 1fr}.approach-type{font-size:12vw}.section{padding:80px var(--edge)}.part-heading{grid-template-columns:1fr 1fr}.study-number{display:none}.inspection{grid-template-columns:1.3fr 1fr}.detail-panel{padding:20px}.drawing-label{padding:15px}.drawing-label .drawing-tag{display:none}.specimen-bottom{padding:15px;flex-wrap:wrap;gap:10px}.specimen-image{margin:auto 0}.tech-panel,.materials-layout,.quality-layout,.about-head,.contact-layout{gap:40px}.tech-panel{grid-template-columns:1fr 1.7fr}.material-list>div{gap:20px}.about-head{padding-bottom:50px}.workshop-photo{height:550px}.contact-layout{grid-template-columns:1.2fr 1fr}.contact .outline{min-width:270px}.footer-bottom{flex-wrap:wrap}.footer-bottom p{max-width:none}}
@media(max-width:720px){:root{--header:72px;--edge:22px}.header>nav:not(#mobile-nav){display:none}.brand{font-size:.875rem}.mark{width:32px;height:32px;font-size:22.4px}.menu-toggle{display:flex;align-items:center;gap:16px;border:0;background:transparent;padding:12px 0 12px 12px;font-size:.75rem;letter-spacing:.05em;min-height:44px}.menu-toggle span{font-size:1.35rem}#mobile-nav{position:absolute;left:0;right:0;top:71px;background:var(--paper);border-bottom:1px solid var(--ink);display:flex;flex-direction:column;padding:18px 22px 26px}#mobile-nav a{font-size:1rem;padding:16px 0;border-bottom:1px solid var(--line)}.hero{height:calc(100svh - 72px);min-height:620px;max-height:860px}.hero-media{background-position:60% center;background-size:auto 100%;animation:none;transform:none}.hero:after{background:linear-gradient(180deg,rgba(6,12,17,.5),rgba(6,12,17,.1) 45%,rgba(6,12,17,.65)),linear-gradient(90deg,rgba(6,12,17,.4),transparent)}.hero-meta{top:25px;font-size:.75rem}.hero-title{top:110px}.eyebrow{font-size:.75rem;margin-bottom:17px;letter-spacing:.02em}.hero h1{font-size:clamp(2.5rem,10.5vw,4.5rem);line-height:1.55;letter-spacing:-.06em}.hero-title .hero-thought{margin-top:25px;font-size:.875rem;max-width:15em}.hero-rail{right:9px;top:70px;bottom:115px;width:7px}.hero-bottom{bottom:24px;grid-template-columns:1fr auto;align-items:end;font-size:.75rem;padding-top:16px;gap:12px}.hero-bottom>div{flex-direction:column;gap:2px}.hero-coordinate{display:none}.hero-bottom .scroll-link{font-size:.75rem;gap:9px}.scroll-line{width:25px;height:39px}.scroll-line:after{left:11px;height:15px}.section{padding:65px var(--edge)}.section-label{margin-bottom:36px;font-size:.75rem;gap:12px}.section-label>span{width:26px;height:26px}h2{font-size:clamp(1.8rem,7.6vw,3.2rem);line-height:1.55;letter-spacing:-.05em}.intro-layout{grid-template-columns:1fr;gap:45px}.approach-type{font-size:26vw;line-height:.94}.intro-copy{max-width:32em}.intro h2{font-size:1.7rem}.intro-copy p{margin-bottom:20px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:23px;font-size:1rem}.part-heading{display:block}.part-heading h2{font-size:1.9rem}.part-heading p{margin-top:22px;font-size:.875rem;max-width:none}.inspection{grid-template-columns:1fr;margin:0 -8px}.drawing-label{padding:14px;font-size:.75rem}.drawing-label .drawing-tag{display:block}.specimen-image{aspect-ratio:3/2}.point{width:44px;height:44px}.point:before{left:21px}.point:after{top:21px}.specimen-bottom{padding:13px 14px;font-size:.75rem;gap:6px}.detail-panel{padding:22px}.detail-lens{aspect-ratio:2.1}.detail-body h3{font-size:1.5rem}.detail-body p{font-size:1rem}.zoom-control{font-size:.875rem}.study-legend{display:grid;grid-template-columns:repeat(3,1fr);grid-row:2}.study-legend li{min-width:0}.study-legend button{width:100%;justify-content:center;gap:8px;padding:18px 5px;font-size:.875rem}.study-legend li:last-child button{border-right:0}.study-footnote{font-size:.75rem}.tech-tabs button{padding:20px 10px 22px 0;font-size:.875rem}.tech-tabs button+button{padding-left:12px}.tech-tabs button small{font-size:.75rem;letter-spacing:.025em;line-height:1.4}.tech-tabs button span{margin-bottom:10px}.tech-panel{display:block;padding:32px 0 37px;min-height:0}.tech-index{font-size:4.2rem;letter-spacing:-.05em;display:flex;align-items:center;gap:18px;margin-bottom:28px;-webkit-text-stroke:1px #b5bfc2}.tech-index small{font-size:.75rem;margin:0}.tech-panel h3{font-size:1.7rem;margin-bottom:19px}.tech-panel p{font-size:1rem}.spec-list>div{grid-template-columns:1fr;gap:7px;padding:16px 0}.spec-list dt{font-size:.75rem}.spec-list dd{font-size:.875rem}.tech-foot{display:block;line-height:1.8}.tech-foot a{display:block;margin-top:19px;max-width:25em}.materials-layout,.quality-layout,.contact-layout{grid-template-columns:1fr;gap:40px}.material-caption{margin-top:28px}.material-list>div{grid-template-columns:1fr 1.6fr;gap:15px;padding:23px 0}.material-symbol{font-size:2.5rem}.material-list dd{font-size:.875rem}.quality-intro{position:static}.quality-run{margin-top:28px}.quality-steps{padding-left:23px}.quality-steps li{grid-template-columns:48px 1fr;gap:14px;padding:27px 0 35px}.quality-steps li:before{left:-28px;top:36px}.quality-steps h3{font-size:1.25rem;margin-bottom:14px}.quality-steps p{font-size:1rem}.step-num{font-size:1.8rem}.quality-steps .step-note{font-size:.75rem;margin-top:15px}.about{padding-top:65px}.about-head{grid-template-columns:1fr;gap:28px;padding-bottom:35px}.about h2{font-size:2rem}.about .section-label{margin-bottom:25px}.about-head p{font-size:1rem}.workshop-photo{height:530px}.workshop-photo img{object-position:64% center}.workshop-photo>span{left:22px;top:22px;font-size:.75rem;max-width:calc(100% - 44px);line-height:1.5}.workshop-note{bottom:22px;left:22px;padding:23px;width:calc(100% - 44px);max-width:none}.workshop-note strong{font-size:1.125rem}.contact h2{font-size:2.2rem}.contact .outline{width:100%;min-width:0}.contact-prep{margin-top:6px}.contact-prep h3{font-size:1rem}.contact-prep li{font-size:.875rem}.footer{padding:40px 22px 24px}.footer-top{display:block;margin-bottom:35px}.footer-top nav{margin-top:25px;gap:20px;font-size:.875rem}.footer-type{font-size:13.2vw;letter-spacing:-.075em;line-height:.92;padding-bottom:30px}.footer-bottom{display:flex;flex-direction:column;align-items:start;gap:18px;padding-top:22px}.footer-bottom p{max-width:24em}.motion-control{margin-top:4px}dialog{padding:24px}dialog h2{font-size:1.4rem}.field-row{grid-template-columns:1fr;gap:0}dialog .outline{width:100%;gap:15px}dialog .dialog-intro{font-size:.875rem}}
@media(max-width:350px){:root{--edge:16px}.hero-title{top:100px}.hero h1{font-size:2.1rem}.hero{min-height:640px}.brand small{font-size:.75rem;letter-spacing:-.035em}.menu-toggle{gap:9px}.study-legend button{font-size:.75rem;gap:6px}.tech-tabs button{font-size:.75rem}.tech-tabs small{overflow-wrap:anywhere}.material-list>div{grid-template-columns:1fr 1.2fr}.footer-top nav{gap:15px}.contact h2{font-size:2rem}}
/* Intrinsic height keeps enlarged text in normal document flow. */
html{scroll-padding-top:var(--header-offset,var(--header))}
.hero-media{animation-fill-mode:backwards}
.approach-type,.footer-type{letter-spacing:-.025em}
.step-num{letter-spacing:0}
.section-label>span{width:auto;height:auto;min-width:2.2em;min-height:2.2em;padding:4px;flex-shrink:0}
.quality-steps .step-note{border:0;border-left:1px solid #85948d;padding:0 0 0 10px}
.quality-intro{top:calc(var(--header-offset,var(--header)) + 40px)}
.hero-bottom .scroll-link{white-space:nowrap;max-width:none}
#mobile-nav{top:100%}
.header{height:auto;min-height:var(--header);padding-top:15px;padding-bottom:15px;gap:24px}.brand{flex-shrink:0}.header>nav:not(#mobile-nav){min-width:0}.header nav a{line-height:1.7}.hero{height:auto;min-height:max(640px,calc(100svh - var(--header)));max-height:none}.hero-title{position:relative;inset:auto;padding:clamp(110px,15vh,220px) var(--edge) 160px}.hero h1{max-width:13em}.hero-title .hero-thought{color:#e1e5e7}.approach-type{letter-spacing:-.06em}.detail-panel{padding:22px}.detail-lens{aspect-ratio:2.45}.zoom-control{margin-bottom:0;padding:10px 0 18px}.detail-body{padding-top:18px}.detail-body h3{font-size:1.35rem;margin-bottom:12px;line-height:1.5}.detail-body p{line-height:1.8}.detail-description{min-height:5.4em}.detail-question{margin-top:16px;padding-top:15px}.detail-panel .text-button{margin-top:16px}.specimen-image{margin:auto 0}.lens-label{min-height:1.2em}
@media(max-width:1000px) and (min-width:721px){.header>nav:not(#mobile-nav){gap:16px}.brand{flex-shrink:1}.hero-title{padding-top:125px}.detail-panel{padding:20px}}
@media(max-width:720px){.header{padding-top:12px;padding-bottom:12px;gap:10px}.brand{min-width:0;flex-shrink:1}.brand>span:last-child{min-width:0}.mark{flex-shrink:0}.brand small{overflow-wrap:anywhere}.menu-toggle{flex-shrink:0}.hero{min-height:max(620px,calc(100svh - var(--header)));height:auto}.hero-title{padding:110px var(--edge) 160px;inset:auto}.hero-media{background-size:cover;background-position:60% center}.detail-panel{padding:22px}.detail-lens{aspect-ratio:2.1}.detail-description{min-height:0}.detail-body h3{font-size:1.5rem}.detail-body p{font-size:1rem}.zoom-control{margin-bottom:0}.study-legend button{flex-wrap:wrap;min-height:60px}.drawing-label{flex-wrap:wrap}.quality-steps li{grid-template-columns:minmax(38px,auto) minmax(0,1fr)}.hero-bottom>div{min-width:0;overflow-wrap:anywhere}.hero-bottom .scroll-link{max-width:8em}.workshop-photo{height:auto}.workshop-photo img{height:530px}.workshop-note{position:relative;bottom:auto;left:auto;margin:-125px 22px 22px;width:auto;max-width:none}.workshop-photo>span{line-height:1.6}}
@media(max-width:720px){.menu-toggle{display:grid;justify-items:center;gap:2px;line-height:1;padding:4px 0 4px 12px}.menu-toggle .menu-label{font-size:.75rem;letter-spacing:.025em}.menu-toggle .menu-symbol{font-size:1.35rem;font-weight:300;line-height:1}.tech-tabs small{overflow-wrap:anywhere}.hero{min-height:max(620px,calc(100svh - var(--header-offset,var(--header))))}.hero-bottom .scroll-link{max-width:none;white-space:nowrap}}
@media(max-width:720px){.footer-type{font-size:12.8vw;letter-spacing:-.025em}.approach-type{letter-spacing:-.025em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-media{transform:none!important;will-change:auto}.page-progress{display:none}.quality-steps:before{transform:scaleY(1)}}
html.motion-paused{scroll-behavior:auto}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition:none!important}.motion-paused .hero-media{transform:none!important;will-change:auto}.motion-paused .page-progress{display:none}.motion-paused .quality-steps:before{transform:scaleY(1)}

/* Living photograph: the metal stays rigid; light and camera move gently. */
.hero-media{background:none;animation:none;transform:translate3d(0,var(--hero-shift,0px),0);will-change:transform;overflow:visible}
.hero-image{position:absolute;inset:-2%;background:url("assets/component.webp") center 55%/cover no-repeat;transform-origin:70% 50%;transform:scale(1.03);animation:precision-intro 4.5s cubic-bezier(.45,0,.55,1) 1 both;will-change:transform}
.hero-image{overflow:hidden}
.hero-reflections{position:absolute;left:var(--surface-left,0px);top:var(--surface-top,0px);width:var(--surface-width,100%);height:var(--surface-height,100%);pointer-events:none;opacity:0}
.hero-reflections[data-registered="true"]{opacity:1}
.reflection-travel{animation:surface-intro 4.5s linear 1 both;opacity:.82}
.surface-plane{animation:surface-response-intro 4.5s ease-in-out 1 both;opacity:.12}

.hero-meta{align-items:start;z-index:2}.hero-meta>span:first-child{padding-top:5px}




.hero[data-hero-running="false"] .hero-image,.hero[data-hero-running="false"] .reflection-travel,.hero[data-hero-running="false"] .surface-plane,.hero[data-hero-running="false"] .scroll-line:after{animation-play-state:paused}
.hero h1 span{animation:none}
.detail-lens{transition:background-position .55s cubic-bezier(.2,.7,.25,1)}
.detail-lens.is-zooming{transition:none}
.point:before,.point:after{transition:width .2s,height .2s,top .2s,left .2s}
.point:hover:before{height:76px;top:-16px}.point:hover:after{width:76px;left:-16px}
.section-label:after{content:"";height:1px;flex:0 1 56px;min-width:16px;opacity:.3;background:currentColor;transform-origin:left}
.section-label.is-seen:after{animation:rule-enter .85s cubic-bezier(.2,.7,.25,1) both}
.footer-bottom{align-items:center}
@keyframes precision-intro{from{transform:translate3d(-.3%,0,0) scale(1.03)}to{transform:translate3d(.1%,-.2%,0) scale(1.045)}}
@keyframes surface-intro{from{stroke-dashoffset:-250}to{stroke-dashoffset:-500}}
@keyframes surface-response-intro{from{opacity:.46}to{opacity:.20}}
@keyframes rule-enter{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1600px){.hero-image{background-position:center 60%}}
@media(max-width:1000px){.hero-image{background-position:58% center}}
@media(max-width:720px){.hero-image{background-position:60% center;transform-origin:60% 50%;animation-duration:4.5s}.hero-media{transform:none}.reflection-travel,.surface-plane{animation-duration:4.5s;animation-delay:0s}.hero-meta{gap:10px}.hero-meta>span:first-child{padding-top:0;line-height:1.8}.footer-bottom{align-items:start}}
@media(prefers-reduced-motion:reduce){.hero-image,.reflection-travel,.surface-plane{animation:none!important;will-change:auto}.hero-image{transform:none!important}.hero-reflections{display:none}.section-label:after{animation:none!important;transform:none}}

/* The series label occupies normal flow above the sticky site navigation. */
.hero{min-height:max(640px,calc(100svh - var(--header-offset,var(--header)) - var(--sample-bar-height)))}
@media(max-width:720px){.hero{min-height:max(620px,calc(100svh - var(--header-offset,var(--header)) - var(--sample-bar-height)))}}

/* Combination proposal: photographic relighting and a scroll-led close-up. */

.hero-sequence{position:relative;--focus-range:0px;--focus-scale:1;--focus-x:62%;--focus-y:56%}
.hero-sequence[data-focus-enabled="true"]{height:calc(var(--hero-height) + var(--focus-range))}
.hero-sequence[data-focus-enabled="true"] .hero{position:sticky;top:var(--header-offset,var(--header))}
.hero-focus{position:absolute;inset:0;transform-origin:var(--focus-x) var(--focus-y);transform:scale(var(--focus-scale));will-change:transform}
.hero-media{transform:none!important}
.hero-title,.hero-meta,.hero-bottom{isolation:isolate}
.hero-coordinate{display:flex;flex-direction:column;gap:5px;line-height:1.6}
.hero-coordinate>span:last-child{font-family:inherit;letter-spacing:.04em}
.hero-sequence[data-focus-enabled="false"] .hero-focus{transform:none;will-change:auto}
@media(max-width:1000px) and (min-width:721px){.header>nav:not(#mobile-nav){display:none}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;padding:12px 0 12px 12px;min-height:44px;font-size:.75rem}.menu-symbol{font-size:1.35rem}.header .brand{flex-shrink:0}#mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);display:flex;flex-direction:column;padding:18px var(--edge) 26px;border-bottom:1px solid var(--ink)}#mobile-nav a{font-size:1rem;padding:16px 0;border-bottom:1px solid var(--line)}}
@media(max-width:720px){.hero-sequence{--focus-x:55%;--focus-y:50%}.accessio-design-sample__inner{gap:8px}.hero-coordinate{display:none}}
@media(prefers-reduced-motion:reduce){.hero-sequence{height:auto!important}.hero-sequence .hero{position:relative!important;top:auto!important}.hero-focus{transform:none!important;will-change:auto}}

/* Fill the visible stage after the sample bar has scrolled away. */
.hero{min-height:max(640px,calc(100svh - var(--header-offset,var(--header))))}
@media(max-width:720px){.hero{min-height:max(620px,calc(100svh - var(--header-offset,var(--header))))}}

/* Return-link focus uses an underline; default link styling stays unchanged. */
a:focus,a:focus-visible{outline:0;box-shadow:none}
a:focus-visible{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.18em}
