@charset "UTF-8";
:root{--paper:#ffffff;--paper-dark:#f0f1ee;--ink:#232827;--muted:#555d59;--red:#805737;--line:#c9ceca;--gutter:clamp(24px,4vw,72px);--ease:cubic-bezier(.16,1,.3,1);--display:Arial,Helvetica,sans-serif;--body:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px;scrollbar-color:var(--ink) var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.45}body.modal-open{overflow:hidden}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,a{color:inherit}button{cursor:pointer}button{border:0}a{text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:6px}button:disabled{cursor:default;opacity:.45}::selection{background:var(--red);color:var(--paper)}textarea{caret-color:var(--red)}h1,h2,h3,p{margin:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{background:none}a,button{touch-action:manipulation}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:var(--ink);color:var(--paper);padding:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.study-notice{position:relative;z-index:3;text-align:center;font-size:11px;line-height:1.5;padding:7px 20px;border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.015em}.site-header{position:absolute;top:35px;left:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:25px var(--gutter)}.wordmark{font-size:34px;font-weight:800;letter-spacing:-.04em;line-height:1;display:inline-flex;gap:3px}.wordmark span{font-size:10px;letter-spacing:0;padding-top:3px}.header-actions{display:flex;align-items:center;gap:34px}.header-project{display:flex;align-items:center;gap:18px;font-size:12px;padding:6px 0;border-bottom:1px solid var(--ink)}.header-project svg{width:17px}.header-project:hover{color:var(--red);border-color:var(--red)}#menu-toggle{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}#menu-toggle span{display:block;width:27px;height:2px;background:var(--ink)}
.hero{position:relative;min-height:850px;height:calc(100svh - 32px);max-height:1200px;isolation:isolate;overflow:hidden}.hero:after{content:"";position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;height:1px;background:var(--line)}.hero-copy{position:absolute;z-index:2;left:var(--gutter);bottom:130px;width:58%;--inspect-x:240px;--inspect-y:120px}.hero h1{font-family:var(--display);font-size:clamp(75px,8.5vw,140px);letter-spacing:-.04em;line-height:.94;font-weight:700}.hero-intro{position:absolute;z-index:2;right:var(--gutter);bottom:137px;width:30%;max-width:380px}.hero-intro p{font-size:clamp(17px,1.5vw,23px);line-height:1.42;letter-spacing:-.02em}.text-link{margin-top:32px;display:inline-flex;align-items:center;gap:20px;font-size:12px}.circle-arrow{width:36px;height:36px;border-radius:50%;display:flex;justify-content:center;align-items:center;background:var(--red);color:var(--paper);transition:transform .3s var(--ease)}.circle-arrow svg{width:18px;height:18px}.text-link:hover .circle-arrow,.primary-button:hover .circle-arrow{transform:rotate(-35deg)}.hold-control{position:relative;z-index:4;margin-top:30px;display:inline-flex;align-items:center;gap:9px;font-size:11px;padding:8px 0;user-select:none;-webkit-user-select:none;touch-action:none}.hold-dot{width:16px;height:16px;border:1px solid var(--ink);border-radius:50%;position:relative}.hold-dot:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--red)}.hold-control[aria-pressed=true]{color:var(--red)}.hold-control[aria-pressed=true] .hold-dot{border-color:var(--red)}.scroll-cue{position:absolute;bottom:37px;left:var(--gutter);font-size:11px;display:flex;align-items:center;gap:22px}.scroll-cue span{font-size:22px}.hero-footnote{position:absolute;bottom:42px;right:var(--gutter);font-size:11px;color:var(--muted)}
.hero-object-area{position:absolute;right:6%;top:70px;width:47%;height:52%;max-height:620px;min-height:420px;z-index:1}.object-coordinate{position:absolute;color:#989b90;font:20px Georgia,serif}.object-coordinate-a{top:4%;left:12%}.object-coordinate-b{bottom:8%;right:0}.object-origin{position:absolute;top:16%;left:4%;font-size:8px;line-height:1.5;color:#74786b;writing-mode:vertical-rl}.object-origin span+span{margin-top:14px}.object-help{position:absolute;bottom:1%;left:25%;font-size:10px;color:var(--muted)}.object-help span{display:block;font-size:8px;margin-top:3px;color:#777b70}.loupe{position:absolute;top:3%;left:18%;width:clamp(260px,29vw,470px);height:clamp(260px,29vw,470px);padding:0;transform:translate(var(--drag-x,0px),var(--drag-y,0px)) rotate(-23deg);border-radius:50%;cursor:grab;touch-action:none;user-select:none;filter:drop-shadow(25px 40px 15px #292d2632);transition:filter .35s var(--ease)}.loupe:active,.loupe.is-dragging{cursor:grabbing;filter:drop-shadow(35px 50px 23px #292d263d)}.loupe-body{position:absolute;inset:0;border-radius:50%;background:linear-gradient(145deg,#b8bcb7 0%,#3e413d 12%,#0c100e 43%,#4f534f 64%,#151815 80%,#c4c8c1 96%);padding:5px;box-shadow:inset 0 1px 2px #fff9,0 8px 0 #31352f,0 10px 1px #10140f}.loupe-ridge{position:absolute;inset:7px;border-radius:50%;background:repeating-conic-gradient(from 2deg,#111811 0deg 1deg,#373d35 1deg 2deg);box-shadow:inset 0 0 0 1px #65695e}.loupe-bezel{position:absolute;inset:17px;border-radius:50%;background:linear-gradient(135deg,#41453d,#151a14 40%,#080c08 69%,#3a3f35);box-shadow:inset 0 2px 3px #89917b,inset 0 -2px 3px #000,0 1px 2px #000}.loupe-ticks{position:absolute;inset:8px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#c4cbb4 0deg .4deg,transparent .4deg 5deg);mask:radial-gradient(circle,transparent 65%,#000 66%,#000 70%,transparent 71%);opacity:.7}.loupe-mark{position:absolute;color:#d7dccb;font-family:Georgia,serif;font-size:9px;z-index:1}.mark-one{left:48%;top:8px}.mark-two{right:10px;top:47%}.mark-three{bottom:12px;left:48%}.loupe-brand{position:absolute;z-index:2;color:#adb5a1;left:8px;top:48%;font-size:6px;letter-spacing:.13em;transform:rotate(-90deg) translateX(-50%);transform-origin:left top}.loupe-red-mark{position:absolute;top:10px;left:61%;height:9px;width:3px;background:#f34128;transform:rotate(15deg)}.loupe-glass{position:absolute;inset:36px;border-radius:50%;overflow:hidden;background:radial-gradient(ellipse at 30% 20%,#f8f9efee 0%,#e7ebdbe8 50%,#bfcdbbbb 100%);box-shadow:0 0 0 2px #df402c,0 0 0 6px #11180e,inset 4px 7px 9px #73826f7a,inset -2px -2px 2px #fff,0 0 0 7px #747d68}.loupe-glass:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#fff0 35%,#ffffff69 36%,#fff0 37%,#fff0 61%,#ffffff4a 62%,#fff0 64%);opacity:.65}.glass-type{position:absolute;left:12%;top:25%;font-size:clamp(70px,8.2vw,130px);font-weight:700;letter-spacing:-.07em;line-height:.8;color:#333c27;transform:rotate(23deg);text-align:left;filter:blur(.2px)}.glass-type span{display:block;max-width:140px;font-size:8px;letter-spacing:0;font-weight:400;margin-top:15px;line-height:1.3}.glass-reflection{position:absolute;inset:4%;border-radius:50%;border-top:3px solid #fff8;transform:rotate(-32deg)}.glass-cross{position:absolute;width:18px;height:18px;opacity:.5}.glass-cross:before,.glass-cross:after{content:"";position:absolute;background:#50633c}.glass-cross:before{width:1px;height:18px;left:8px}.glass-cross:after{height:1px;width:18px;top:8px}.cross-a{top:22%;right:20%}.cross-b{bottom:18%;left:23%}.loupe-handle{position:absolute;z-index:-1;left:calc(50% - 32px);top:86%;width:64px;height:62%;border-radius:17px 17px 29px 29px;background:linear-gradient(90deg,#151a14,#3e4538 15%,#20271b 27%,#11170f 65%,#3c4334 83%,#0f160c 95%);box-shadow:inset 3px 0 3px #707766,inset -2px 0 2px #050804,4px 4px 3px #0003}.loupe-handle:after{content:"";position:absolute;top:30%;left:5px;right:5px;bottom:9%;border-radius:10px 10px 22px 22px;background:repeating-linear-gradient(0deg,#7c867922 0 1px,#0002 1px 3px);box-shadow:inset 2px 0 4px #0003}.handle-band{position:absolute;top:15%;left:0;right:0;height:13px;background:linear-gradient(90deg,#41483d,#c1c7bb 21%,#6c7563 37%,#131c0d 70%,#acb59e 89%,#3b4630)}.handle-red{position:absolute;top:26%;left:0;right:0;height:5px;background:linear-gradient(90deg,#7b1d16,#ed4d33 30%,#ad2e1d 70%,#571a13)}.handle-end{position:absolute;bottom:5px;left:15%;right:15%;height:7px;border-radius:50%;background:#090e06;box-shadow:0 2px 1px #727965}
.inspect-reveal{position:absolute;inset:-35px -10px -15px -20px;z-index:3;pointer-events:none;background:#e8ebe1;color:var(--red);clip-path:circle(0px at var(--inspect-x) var(--inspect-y));transition:clip-path .25s var(--ease);overflow:hidden}.hero-copy.is-inspecting .inspect-reveal{clip-path:circle(165px at var(--inspect-x) var(--inspect-y))}.inspect-grid{position:absolute;inset:0;background:linear-gradient(#acb29e66 1px,transparent 1px),linear-gradient(90deg,#acb29e66 1px,transparent 1px);background-size:25px 25px}.inspect-outline{position:absolute;left:20px;top:35px;color:transparent;-webkit-text-stroke:1px var(--red);font-size:clamp(75px,8.5vw,140px);line-height:.94;font-weight:700;letter-spacing:-.04em;border-bottom:1px solid var(--red)}.inspect-crosshair{position:absolute;left:calc(var(--inspect-x) - 12px);top:calc(var(--inspect-y) - 12px);width:24px;height:24px}.inspect-crosshair:before,.inspect-crosshair:after{content:"";position:absolute;background:var(--red)}.inspect-crosshair:before{height:1px;width:24px;top:12px}.inspect-crosshair:after{width:1px;height:24px;left:12px}.inspect-caption,.inspect-measure{position:absolute;font:10px Consolas,monospace;color:#a42518;left:20px;bottom:38px}.inspect-measure{left:auto;right:25%;top:15px;bottom:auto}
.build-section{height:390svh;min-height:2600px;position:relative;margin-top:110px}.build-sticky{height:100svh;min-height:660px;position:sticky;top:0;overflow:hidden;padding:45px var(--gutter)}.build-heading{position:absolute;top:40px;left:var(--gutter);z-index:2}.build-heading h2{font-size:clamp(30px,3.2vw,46px);line-height:1.05;letter-spacing:-.04em}.build-heading p{font-size:11px;color:var(--muted);margin-top:15px}.build-stage{position:absolute;inset:20% 17% 18%;display:flex;align-items:center;justify-content:center;perspective:1200px}.build-sheet{position:relative;width:100%;height:100%;max-width:850px;max-height:480px;transform:rotateX(var(--sheet-rotate,0deg));transition:transform .65s var(--ease),opacity .4s var(--ease),scale .6s var(--ease);background:transparent}.build-line{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--red);transform:scaleX(.5);transition:transform .6s var(--ease),opacity .4s}.build-grid{position:absolute;inset:0;border:1px solid #adbaab;background:linear-gradient(#adbaab66 1px,transparent 1px),linear-gradient(90deg,#adbaab66 1px,transparent 1px);background-size:calc(100% / 6) 25%;opacity:0;transform:scaleY(.01);transition:opacity .5s var(--ease),transform .6s var(--ease)}.build-grid:before,.build-grid:after{position:absolute;color:#7c8a74;font:10px Consolas,monospace}.build-grid:before{content:"Architecture · selection framework";top:-22px;left:0}.build-grid:after{content:"product → die head → machine";right:0;bottom:-23px}.build-typeset{position:absolute;inset:0;opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s var(--ease);padding:24px 30px}.sheet-wordmark{font-size:23px;font-weight:700;letter-spacing:-.04em}.build-typeset h3{position:absolute;left:30px;bottom:45px;font-size:clamp(35px,4.3vw,66px);line-height:.97;letter-spacing:-.04em}.sheet-index{position:absolute;bottom:20px;left:30px;font-size:8px}.build-page{position:absolute;inset:0;opacity:0;transition:opacity .5s}.sheet-orbit{position:absolute;width:30%;aspect-ratio:1;top:22%;right:10%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#6e7469,#161d11 60%,#62695b 83%,#181d14 100%);box-shadow:15px 20px 12px #0002;transform:rotate(-25deg)}.sheet-orbit span{position:absolute;inset:22%;border-radius:50%;background:var(--paper);box-shadow:inset 6px 9px 6px #0003}.sheet-orbit i{position:absolute;left:5%;right:5%;height:8%;background:var(--red);top:46%}.build-page p{position:absolute;right:8%;bottom:16%;font-size:11px}.sheet-nav{position:absolute;right:30px;top:30px;font-size:8px}.sheet-redline{position:absolute;bottom:0;width:100%;height:3px;background:var(--red)}.build-result{position:absolute;display:flex;flex-direction:column;align-items:center;gap:24px;opacity:0;pointer-events:none;transform:scale(.85);transition:opacity .5s,transform .6s var(--ease);text-align:center}.build-result p{font-size:clamp(20px,2.2vw,34px);letter-spacing:-.03em}.build-result small{font-size:10px;color:var(--muted)}.primary-button{background:var(--ink);color:var(--paper);border-radius:60px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:15px;padding:9px 10px 9px 26px;min-height:58px}.primary-button .circle-arrow{width:40px;height:40px}.build-progress{position:absolute;bottom:65px;left:var(--gutter);right:var(--gutter);display:flex;gap:22px;align-items:center;font-size:11px}.build-current{width:80px}.progress-track{height:1px;background:var(--line);flex:1}.progress-track span{display:block;height:1px;background:var(--red);width:var(--build-progress,0%);transition:width .3s}.build-count{font-variant-numeric:tabular-nums}.build-step-controls{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.build-step-controls button{width:30px;height:30px;position:relative}.build-step-controls button:before{content:"";position:absolute;width:5px;height:5px;left:12px;top:12px;border-radius:50%;background:var(--muted)}.build-step-controls button[aria-pressed=true]:before{background:var(--red);transform:scale(1.6)}#build[data-stage=grid] .build-grid,#build[data-stage=type] .build-grid,#build[data-stage=page] .build-grid{opacity:1;transform:none}#build:not([data-stage=line]) .build-line{transform:scaleX(1)}#build[data-stage=type] .build-typeset,#build[data-stage=page] .build-typeset{opacity:1;transform:none}#build[data-stage=page] .build-page{opacity:1}#build[data-stage=page] .build-sheet{background:var(--paper);box-shadow:12px 30px 45px #1c24181a}#build[data-stage=page] .build-grid{opacity:.3}#build[data-stage=page] .build-line{opacity:0}#build[data-stage=cta] .build-sheet{opacity:0;scale:.75}#build[data-stage=cta] .build-result{opacity:1;pointer-events:auto;transform:none}
.services-section,.work-section,.notes-section{padding:120px var(--gutter)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px}.section-heading h2,.notes-section>h2{font-size:clamp(45px,5.4vw,80px);line-height:1;letter-spacing:-.04em;font-weight:500}.section-heading>p{font-size:13px;line-height:1.6;max-width:250px}.services{display:flex;height:500px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.service{position:relative;flex:0 0 7.3%;border-right:1px solid var(--line);transition:flex .65s var(--ease);overflow:hidden}.service:last-child{border-right:0}.service.is-active{flex:1}.service-trigger{position:absolute;left:0;top:0;width:100%;height:100%;padding:30px 0;display:flex;align-items:center;flex-direction:column;justify-content:space-between;z-index:2;font-size:20px}.service-trigger>span{writing-mode:vertical-rl;transform:rotate(180deg)}.service-trigger svg{width:18px;height:18px;transition:transform .4s}.service.is-active .service-trigger{height:70px;flex-direction:row;justify-content:space-between;padding:24px 27px}.service.is-active .service-trigger>span{writing-mode:horizontal-tb;transform:none}.service.is-active .service-trigger svg{transform:rotate(45deg)}.service-content{height:100%;padding-top:70px;min-width:290px}.service-art{height:230px;position:relative;overflow:hidden}.service-description{position:absolute;left:27px;right:27px;bottom:28px;max-width:360px}.service-description h3{font-size:21px;font-weight:500;letter-spacing:-.025em;margin-bottom:9px}.service-description p{font-size:12px;line-height:1.6;max-width:38ch;color:var(--muted)}.small-link{display:flex;gap:16px;align-items:center;padding:0;margin-top:15px;font-size:11px}.small-link svg{width:17px;height:17px}.small-link:hover{color:var(--red)}.placeholder-note{font-size:10px;color:var(--muted);margin-top:18px}.art-strategy span{position:absolute;border:1px solid #525b49;border-radius:50%;width:160px;height:160px;top:22px;left:calc(50% - 80px)}.art-strategy span:nth-child(2){transform:translateX(-45px)}.art-strategy span:nth-child(3){transform:translateX(45px)}.art-strategy i{position:absolute;width:20px;height:20px;border-radius:50%;background:var(--red);left:calc(50% - 10px);top:92px;box-shadow:5px 8px 6px #0002}.art-identity span{position:absolute;font-family:Georgia,serif;font-size:240px;line-height:1;left:calc(50% - 80px);top:-45px;letter-spacing:-.1em}.art-identity i{position:absolute;width:60px;height:60px;border-radius:50%;background:var(--red);top:55px;left:50%;mix-blend-mode:multiply}.art-digital span{position:absolute;left:calc(50% - 90px);top:25px;width:170px;height:130px;border:8px solid var(--ink);border-top-width:15px;border-radius:5px;transform:rotate(-10deg);box-shadow:9px 12px 10px #0002}.art-digital span+span{width:65px;height:110px;left:55%;top:65px;border-width:5px;transform:rotate(10deg);background:var(--paper)}.art-digital i{position:absolute;background:var(--red);width:50px;height:35px;left:calc(50% - 42px);top:72px;transform:rotate(-10deg)}.art-development span{position:absolute;font-size:160px;font-family:Georgia,serif;line-height:1;top:12px;left:calc(50% - 110px)}.art-development span+span{left:calc(50% + 35px)}.art-development i{position:absolute;background:var(--red);width:22px;height:22px;left:calc(50% - 11px);top:95px}.art-motion span{position:absolute;background:var(--ink);width:90px;height:140px;left:calc(50% - 75px);top:25px;border-radius:50%;transform:rotate(30deg)}.art-motion span:nth-child(2){transform:translateX(30px) rotate(30deg);background:#7e8377}.art-motion span:nth-child(3){transform:translateX(60px) rotate(30deg);background:var(--red)}.art-objects span{position:absolute;width:140px;height:65px;border-radius:50%;background:linear-gradient(180deg,#8a9181,#252d1c);left:calc(50% - 70px);top:35px;box-shadow:0 14px 0 #252e1c,12px 28px 14px #0002}.art-objects span:nth-child(2){top:76px;background:var(--red);box-shadow:0 14px 0 #a32418,10px 18px 10px #0002}.art-objects span:nth-child(3){top:117px}.art-editorial span{position:absolute;width:135px;height:170px;left:calc(50% - 78px);top:12px;background:#d6d9ce;transform:rotate(-12deg);box-shadow:7px 12px 12px #0002}.art-editorial span+span{transform:rotate(7deg);background:#fafbf3}.art-editorial i{position:absolute;font-style:normal;font-size:70px;left:calc(50% - 50px);top:45px;transform:rotate(7deg);color:var(--red)}.art-care span{position:absolute;left:calc(50% - 77px);top:24px;width:154px;height:154px;border:20px solid var(--ink);border-radius:50%;box-shadow:12px 17px 12px #0002}.art-care i{position:absolute;background:var(--red);width:24px;height:75px;top:61px;left:calc(50% - 12px);transform:rotate(45deg)}
.work-section{padding-top:90px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.work-visual{height:430px;position:relative;overflow:hidden;background:var(--paper-dark)}.work-caption{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:20px;gap:5px}.work-caption h3{font-weight:400;font-size:24px;letter-spacing:-.03em}.work-caption span{font-size:11px;color:var(--muted);grid-column:1}.work-caption svg{grid-column:2;grid-row:1 / 3}.work-item:hover .work-caption svg{color:var(--red)}.paper-back{position:absolute;width:45%;height:70%;background:var(--red);left:20%;top:15%;transform:rotate(-15deg);box-shadow:15px 20px 20px #0002}.paper-front{position:absolute;width:46%;height:72%;background:#f7f7ef;left:29%;top:13%;transform:rotate(8deg);box-shadow:15px 20px 20px #0002;padding:15px 25px;display:flex;flex-direction:column}.paper-front b{font-size:clamp(80px,9vw,150px);letter-spacing:-.07em;line-height:1.1;font-weight:500}.paper-front i{font-size:14px;font-style:normal;letter-spacing:-.04em;white-space:nowrap}.paper-front>span{height:1px;background:var(--ink);margin-top:auto;margin-bottom:12px}.paper-disc{position:absolute;width:25%;aspect-ratio:1;right:12%;bottom:10%;background:var(--ink);border-radius:50%;box-shadow:6px 15px 10px #0002}.object-system{background:#d0d3c7}.object-ring{position:absolute;width:53%;aspect-ratio:1;left:15%;top:15%;border-radius:50%;background:linear-gradient(145deg,#939b87,#101b0b 50%,#5f6b52 85%,#182411);transform:rotateX(30deg) rotateY(-15deg);box-shadow:25px 45px 22px #1b261f45}.object-ring:after{content:"";position:absolute;inset:20%;border-radius:50%;background:#d0d3c7;box-shadow:inset 10px 18px 12px #0004}.object-red-cube{position:absolute;width:95px;height:95px;right:15%;bottom:18%;background:linear-gradient(130deg,#ef5943,#df2917 75%);transform:rotate(-15deg) skewY(10deg);box-shadow:10px 18px 15px #14200f33}.object-line{position:absolute;left:10%;right:10%;height:1px;background:#f0f0e966;top:50%;transform:rotate(-30deg)}
.notes-section{padding-top:85px;padding-bottom:150px}.notes-section>h2{margin-bottom:50px}.notes-section details{border-top:1px solid var(--line)}.notes-section details:last-child{border-bottom:1px solid var(--line)}.notes-section summary{padding:26px 0;display:flex;align-items:center;gap:30px;cursor:pointer;list-style:none}.notes-section summary::-webkit-details-marker{display:none}.notes-section summary>span:first-child{font-size:23px;letter-spacing:-.03em;flex:1}.note-type{font-size:11px;color:var(--muted)}.notes-section summary svg{width:18px}.notes-section details[open] summary svg{transform:rotate(45deg)}.notes-section details>p{max-width:650px;font-size:15px;color:var(--muted);padding:0 0 28px;line-height:1.7}.footer{padding:80px var(--gutter) 30px;background:var(--ink);color:var(--paper)}.footer-invitation{font-size:13px;margin-bottom:28px}.footer-cta{font-size:clamp(70px,10.5vw,158px);font-weight:500;letter-spacing:-.04em;line-height:.95;text-align:left;width:100%;display:block;position:relative;padding:0}.footer-arrow{position:absolute;right:0;top:22%;width:clamp(80px,12vw,180px);height:clamp(80px,12vw,180px);border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;transition:transform .4s var(--ease)}.footer-arrow svg{width:45%;height:45%;stroke-width:1}.footer-cta:hover .footer-arrow{transform:rotate(-35deg)}.footer-bottom{margin-top:95px;padding-top:35px;border-top:1px solid #62645b;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.footer-bottom p{font-size:11px;color:#aeb1a4}.back-top{display:flex;align-items:center;gap:15px;font-size:11px}.back-top svg{width:15px;transform:rotate(-90deg)}
dialog{color:var(--ink);background:var(--paper);border:0;padding:0}dialog::backdrop{background:#191a1880}#chapter-menu{width:100%;height:100svh;max-width:none;max-height:none;margin:0;padding:42px var(--gutter) 30px}.menu-top{display:flex;justify-content:space-between;align-items:center}.dialog-close{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center}.dialog-close:hover{background:var(--ink);color:var(--paper)}.menu-body{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:8vw;height:calc(100% - 130px)}.menu-body nav{display:flex;flex-direction:column}.menu-body nav a{font-size:clamp(38px,5.2vw,80px);line-height:1.2;letter-spacing:-.04em;display:flex;gap:25px;align-items:center;transition:color .2s}.menu-body nav a:hover{color:var(--red)}.menu-body nav a span{font-size:10px;letter-spacing:0;color:var(--muted)}.menu-art{position:relative;height:70%;min-height:350px;border-left:1px solid var(--line);padding-left:50px;display:flex;align-items:flex-end;padding-bottom:30px;overflow:hidden}.menu-art>span{font-size:clamp(42px,4.5vw,70px);line-height:.96;letter-spacing:-.04em;z-index:1}.menu-art-disc{position:absolute;width:80%;aspect-ratio:1;border:30px solid var(--red);border-radius:50%;right:-10%;top:0;box-shadow:18px 24px 18px #0002;transform:rotateY(-25deg)}.menu-bottom{border-top:1px solid var(--line);padding-top:20px;font-size:11px;display:flex;justify-content:space-between;gap:25px}#project-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:50px;overflow-y:auto}#project-dialog>.dialog-close{position:absolute;right:20px;top:18px;width:34px;height:34px}#project-dialog h2{font-size:48px;line-height:1.05;letter-spacing:-.04em;margin:22px 0}#project-dialog>p{font-size:14px;color:var(--muted);max-width:42ch}#project-form{margin-top:30px;display:flex;flex-direction:column;gap:12px}#project-form label{font-size:12px;margin-top:8px}#project-form select,#project-form textarea{width:100%;background:transparent;border:1px solid var(--line);padding:13px;border-radius:0;color:var(--ink);font-size:14px}#project-form textarea{resize:vertical}#project-form .primary-button{align-self:flex-start;margin-top:14px;font-size:13px}#project-result{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}#project-result h3{font-size:19px;font-weight:500}#project-result p{font-size:14px;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}#project-result small{font-size:11px;color:var(--muted)}

@media(min-width:1700px){.hero-copy{bottom:150px}.hero-intro{bottom:150px}.hero-object-area{right:11%;top:90px}}
@media(max-width:1050px){.header-actions{gap:24px}.hero{min-height:800px}.hero-copy{bottom:130px;width:62%}.hero h1,.inspect-outline{font-size:9vw}.hero-intro{width:29%;bottom:135px}.hero-intro p{font-size:17px}.text-link{gap:12px;font-size:11px}.hero-object-area{top:85px;right:8%;width:50%;height:48%;min-height:365px}.loupe{left:17%;width:32vw;height:32vw}.object-help{left:16%;bottom:-12px}.loupe-handle{width:52px;left:calc(50% - 26px)}.loupe-glass{inset:30px}.loupe-bezel{inset:13px}.service{flex-basis:7%}.service-content{min-width:260px}.service-description{left:20px;right:20px}.service.is-active .service-trigger{padding:24px 20px}.service-trigger{font-size:17px}.work-visual{height:350px}.build-stage{inset:25% 13% 20%}}
@media(max-width:760px){:root{--gutter:24px}.study-notice{font-size:9px;padding:7px 14px;line-height:1.4}.site-header{top:40px;padding-top:18px;padding-bottom:18px}.wordmark{font-size:29px}.header-actions{gap:15px}.header-project{display:none}.hero{height:auto;min-height:990px;max-height:none;display:flex;flex-direction:column;padding:100px var(--gutter) 85px}.hero-object-area{position:relative;right:auto;top:auto;width:100%;height:385px;min-height:0;margin-bottom:32px;order:0}.loupe{top:20px;left:calc(50% - 125px);width:235px;height:235px}.loupe-body{padding:4px}.loupe-bezel{inset:11px}.loupe-glass{inset:28px}.loupe-ticks{inset:5px}.loupe-handle{width:42px;left:calc(50% - 21px);height:61%;border-radius:14px 14px 22px 22px}.loupe-brand{font-size:4px;left:6px}.loupe-mark{font-size:6px}.mark-one{top:5px}.mark-two{right:7px}.mark-three{bottom:7px}.loupe-red-mark{height:6px;top:6px}.glass-type{font-size:75px;left:12%;top:27%}.glass-type span{font-size:6px;max-width:100px;margin-top:10px}.glass-cross{transform:scale(.65)}.object-origin{top:17%;left:0;font-size:7px}.object-coordinate-a{top:9%;left:2%}.object-coordinate-b{bottom:13%;right:2%}.object-help{bottom:0;left:5%;font-size:9px}.object-help span{font-size:7px}.hero-copy{position:relative;left:auto;bottom:auto;width:100%;order:1}.hero h1,.inspect-outline{font-size:clamp(52px,12vw,88px);line-height:.95}.hold-control{margin-top:16px;font-size:10px}.hero-intro{position:relative;right:auto;bottom:auto;max-width:none;width:100%;margin-top:28px;order:2;display:flex;justify-content:space-between;align-items:flex-start;gap:25px}.hero-intro p{font-size:14px;line-height:1.5;max-width:60%}.text-link{margin-top:0;max-width:135px;font-size:10px;line-height:1.4;gap:10px}.circle-arrow{width:28px;height:28px;flex-shrink:0}.circle-arrow svg{width:15px;height:15px}.hero-footnote{font-size:8px;bottom:30px}.scroll-cue{font-size:9px;bottom:24px;gap:12px}.hero-copy.is-inspecting .inspect-reveal{clip-path:circle(120px at var(--inspect-x) var(--inspect-y))}.inspect-caption,.inspect-measure{font-size:8px}.inspect-measure{right:10px}.build-section{margin-top:60px;height:320svh;min-height:2000px}.build-sticky{min-height:620px;padding:30px var(--gutter)}.build-heading{top:32px}.build-heading h2{font-size:34px}.build-heading p{font-size:10px}.build-stage{inset:30% 7% 22%;}.build-sheet{max-height:320px}.build-typeset{padding:16px}.sheet-wordmark{font-size:18px}.build-typeset h3{font-size:35px;left:16px;bottom:48px}.sheet-index{font-size:6px;left:16px}.sheet-orbit{width:31%;top:25%;right:8%}.build-page p{font-size:7px;bottom:18%;right:7%}.sheet-nav{font-size:5px;right:15px;top:22px}.build-grid:before,.build-grid:after{font-size:7px}.build-result p{font-size:25px;max-width:220px}.primary-button{font-size:13px;gap:25px;min-height:54px}.build-progress{bottom:65px;gap:15px;font-size:9px}.build-current{width:60px}.services-section,.work-section,.notes-section{padding:80px var(--gutter)}.section-heading{display:block;margin-bottom:35px}.section-heading h2,.notes-section>h2{font-size:46px}.section-heading>p{margin-top:22px;font-size:12px}.services{display:block;height:auto;border-bottom:0}.service{height:auto;border-right:0;border-bottom:1px solid var(--line);overflow:hidden}.service-trigger,.service.is-active .service-trigger{position:relative;flex-direction:row;height:65px;padding:20px 0;font-size:19px}.service-trigger>span{writing-mode:horizontal-tb;transform:none}.service-trigger svg{width:16px;height:16px}.service-content{padding-top:0;min-width:0;height:390px;position:relative}.service-art{height:220px}.service-description{left:0;right:0;bottom:25px;max-width:none}.service-description h3{font-size:22px}.service-description p{max-width:45ch;font-size:12px}.small-link{font-size:11px}.placeholder-note{font-size:9px;max-width:40ch;line-height:1.6}.work-grid{grid-template-columns:1fr;gap:42px}.work-visual{height:380px}.work-caption h3{font-size:22px}.work-caption span{font-size:10px}.paper-front b{font-size:110px}.paper-front i{font-size:12px}.object-red-cube{width:75px;height:75px}.notes-section{padding-top:50px;padding-bottom:90px}.notes-section>h2{margin-bottom:32px}.notes-section summary{padding:24px 0;gap:20px}.notes-section summary>span:first-child{font-size:19px}.note-type{display:none}.notes-section details>p{font-size:13px}.footer{padding-top:55px}.footer-invitation{font-size:11px}.footer-cta{font-size:clamp(49px,11vw,80px);padding-right:65px}.footer-arrow{width:55px;height:55px;top:30%}.footer-bottom{margin-top:60px;flex-wrap:wrap;row-gap:30px;padding-top:30px}.footer-bottom .wordmark{font-size:29px}.footer-bottom p{font-size:10px;margin-left:auto}.back-top{width:100%;justify-content:flex-end;font-size:10px}#chapter-menu{padding:28px var(--gutter) 24px}.menu-body{display:block;height:auto;padding-top:65px;padding-bottom:60px}.menu-body nav a{font-size:clamp(35px,8.7vw,64px);line-height:1.4}.menu-body nav a span{font-size:9px}.menu-art{display:none}.menu-bottom{font-size:9px}.dialog-close{width:40px;height:40px}#project-dialog{padding:45px 25px 30px}#project-dialog h2{font-size:38px}#project-dialog>p{font-size:13px}#project-form{margin-top:22px}#project-form .primary-button{gap:20px;font-size:12px}}
@media(max-width:380px){.hero{min-height:960px;padding-top:90px}.hero-object-area{height:360px;margin-bottom:25px}.hero-intro{display:block}.hero-intro p{max-width:none}.hero-intro .text-link{margin-top:20px;max-width:none}.hero h1,.inspect-outline{font-size:12vw}.hero-footnote{max-width:110px;text-align:right}.work-visual{height:330px}.section-heading h2,.notes-section>h2{font-size:41px}}
/* Functional text and touch targets: visual marks retain their original scale. */
.object-help,.object-help span,.hold-control,.text-link,.small-link{font-size:12px}
.small-link,.text-link,.hold-control{min-height:44px}
.dialog-close{min-width:44px;min-height:44px}
.build-step-controls button{width:44px;height:44px}
.build-step-controls button:before{left:19.5px;top:19.5px}
@media(max-width:760px){.hero-intro{flex-direction:column;gap:16px}.hero-intro p{max-width:none}.hero-intro .text-link{max-width:none;margin-top:0}.service-content{height:430px}.small-link{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}.build-sheet{transform:none!important}.loupe{filter:drop-shadow(20px 30px 10px #292d2632)}}

/* Waley light skin: existing skeleton layout, responsive fixes and state rules remain above. */
:root{color-scheme:light;--paper:#ffffff;--paper-dark:#f0f1ee;--ink:#232827;--muted:#555d59;--red:#805737;--line:#c9ceca;--metal-light:#e5e2da;--metal-mid:#8f9596;--metal-dark:#353a3d}
body{background:var(--paper)}.study-notice{color:var(--muted);background:#f7f7f5;font-size:11px}
.site-header{padding-top:20px;align-items:center}.wordmark{align-items:center;gap:20px;letter-spacing:0}
.brand-plate{position:relative;display:block;width:119px;height:56px;overflow:hidden;background:#ffffff;flex-shrink:0}
.wordmark .brand-plate{padding:0}.brand-plate img{position:absolute;width:133px;height:auto;max-width:none;top:-25px;left:-7px}
.wordmark .brand-name{font-size:13px;font-weight:500;letter-spacing:.01em;padding:0;max-width:75px;line-height:1.35}
.header-actions{gap:32px}.header-project{font-size:13px}
.hero{min-height:850px;background:var(--paper)}
.hero-copy{width:73%;bottom:138px}.hero h1{font-size:clamp(48px,5.25vw,88px);font-weight:500;line-height:1.05;letter-spacing:-.04em}
.hero-intro{width:24%;max-width:340px;bottom:92px}.hero-intro p{font-size:clamp(15px,1.25vw,19px);line-height:1.55;letter-spacing:0}.since-copy{display:block;font-size:14px;color:var(--muted);margin-top:13px}
.hero-intro .text-link{margin-top:22px;font-size:13px;gap:16px}.hero-footnote{bottom:32px;font-size:11px}.scroll-cue{bottom:27px}
.circle-arrow,.footer-arrow{background:#dfae82;color:#222625}.hold-control{margin-top:25px}.hero-object-area{right:7%;top:115px;width:44%;height:44%;min-height:360px;max-height:460px}
.object-origin{left:4%;top:12%;color:#606864;font-size:10px}.object-coordinate{color:#6b736d}.object-help{bottom:-15px;left:20%;color:var(--ink);font-size:13px}.object-help span{font-size:11px;color:var(--muted);margin-top:4px}
.loupe.die-object{width:clamp(245px,25vw,380px);height:clamp(245px,25vw,380px);left:22%;top:0;transform:translate(var(--drag-x,0px),var(--drag-y,0px)) rotate(-16deg);filter:drop-shadow(18px 26px 20px #23282730);border-radius:50%;transition:filter .3s var(--ease)}
.loupe.die-object.is-dragging{filter:drop-shadow(24px 34px 24px #23282740)}
.die-back,.die-flange,.die-face,.die-channel,.die-pin{position:absolute;border-radius:50%;display:block}
.die-back{inset:10% -3% -5% 7%;background:conic-gradient(from 40deg,#252b2e,#899292,#343a3e,#c4c8c4,#2c3237,#252b2e);box-shadow:inset -6px -8px 12px #0009,0 3px 0 #14191d}
.die-neck{position:absolute;left:31%;top:-12%;width:40%;height:40%;border-radius:16% 16% 0 0;background:linear-gradient(90deg,#41474a,#aeb5b2 24%,#d9d8d0 36%,#676e71 74%,#252c30);box-shadow:inset 0 5px 2px #ddd8c8;transform:rotate(8deg)}
.die-flange{inset:0;background:conic-gradient(from 15deg,#697175,#e9e6dd 14%,#838a8b 25%,#343c42 45%,#b7bbb5 61%,#f3dec3 69%,#747e84 82%,#d7d8cf 94%,#697175);box-shadow:inset 0 2px 2px #fff9,0 7px 0 #555d61,0 10px 0 #1c2328}
.die-face{inset:4%;background:repeating-conic-gradient(#c5c6bf10 0deg .3deg,transparent .3deg 1.2deg),conic-gradient(from 55deg,#a2a8a6,#4c565c 27%,#c3c4bc 46%,#e3d8c6 59%,#778187 75%,#d9dcd5 92%,#a2a8a6);box-shadow:inset 0 0 0 1px #dfe2d06b,inset 0 0 25px #0006}
.die-bolt{position:absolute;left:calc(50% - 3%);top:calc(50% - 3%);width:6%;height:6%;border-radius:50%;transform:rotate(var(--angle)) translateY(-510%);background:radial-gradient(circle,#1b2429 0 25%,#6c7779 27% 45%,#222b32 49% 61%,#aeb2aa 68%,#434c50 85%);box-shadow:1px 2px 2px #0008}
.die-channel{inset:24%;background:conic-gradient(#252e35,#b1b8b7,#242e35,#ddc8ad,#283139);box-shadow:0 0 0 3px #d9d7cd,inset 10px 12px 20px #000b,0 0 0 8px #39444b,inset 0 0 0 12px #222b31}
.die-pin{inset:17%;background:conic-gradient(from 50deg,#c2c6c1,#59676e,#e4d2b8,#737f85,#c2c6c1);box-shadow:5px 9px 10px #000a,inset 0 0 0 2px #d2d5cb}
.die-pin:after{content:"";position:absolute;inset:30%;border-radius:50%;background:#36444b;box-shadow:inset 2px 3px 4px #000}
.die-engraving{position:absolute;left:31%;bottom:13%;font-size:clamp(7px,.65vw,10px);letter-spacing:.08em;color:#252f34;font-weight:700}
.die-outlet{position:absolute;width:28%;height:17%;left:43%;top:81%;border-radius:0 0 32% 32%;background:linear-gradient(90deg,#343e45,#b7c0bd 29%,#d9d5c6 44%,#53646c 79%,#29343a);box-shadow:2px 4px 3px #0006}
.die-parison{position:absolute;left:46%;top:96%;width:22%;height:24%;border-radius:0 0 12% 12%;background:linear-gradient(90deg,#81624b80,#eed4abcc 30%,#ddc3a180 59%,#a07b59aa);box-shadow:inset 3px 0 4px #fce9c780}
.inspect-reveal{background:#f0eee7;color:#26343b;inset:-35px -10px -15px -20px}.hero-copy.is-inspecting .inspect-reveal{clip-path:circle(205px at var(--inspect-x) var(--inspect-y))}
.inspect-grid{background-image:linear-gradient(#737a7b33 1px,transparent 1px),linear-gradient(90deg,#737a7b33 1px,transparent 1px);background-size:25px 25px}
.section-cut{position:absolute;left:calc(var(--inspect-x) - 80px);top:calc(var(--inspect-y) - 70px);width:160px;height:140px}
.section-wall{position:absolute;inset:0 15%;border:18px solid #617078;border-top:0;border-bottom:0;background:#dfae82}.section-core{position:absolute;inset:-12px 39% 15%;background:#f0eee7;border:1px solid #617078}
.section-annotation{position:absolute;font-size:12px;font-weight:600;white-space:nowrap}.label-land{left:-60px;top:60px}.label-layers{left:70%;top:10px}.label-parison{left:25%;bottom:-28px}
.inspect-caption{left:calc(var(--inspect-x) - 142px);top:calc(var(--inspect-y) - 115px);bottom:auto;color:#26343b;font:600 18px Arial,sans-serif}.inspect-measure{left:calc(var(--inspect-x) - 105px);top:calc(var(--inspect-y) + 115px);right:auto;color:#34464e;font:12px Arial,sans-serif}


.build-section{margin-top:40px}.build-grid{border-color:#858d8d;background-image:linear-gradient(#858d8d33 1px,transparent 1px),linear-gradient(90deg,#858d8d33 1px,transparent 1px)}.build-grid:before,.build-grid:after{color:var(--muted);font-family:Arial,sans-serif}.build-current{width:125px;font-size:12px}.build-count{font-variant-numeric:tabular-nums}.build-heading p{font-size:12px}.build-typeset h3{font-weight:500}.sheet-index{font-size:10px}.sheet-orbit{background:conic-gradient(#8b9294,#303c43,#c0c3bd,#54616a,#8b9294)}.sheet-orbit span{background:var(--paper)}.build-page p{color:var(--ink)}.sheet-nav{font-size:10px}.build-result small{font-size:12px}
.services{height:540px}.service{flex-basis:9%}.service-content{min-width:310px}.service-description p{font-size:14px;max-width:45ch}.service-description h3{font-size:24px}.small-link{font-size:12px}.placeholder-note{font-size:12px;line-height:1.6}.section-heading>p{font-size:14px;color:var(--muted)}
.industrial-art{height:255px}.industrial-art small{position:absolute;right:28px;bottom:12px;font-size:10px;color:var(--muted)}
.industrial-art span{position:absolute;display:block;background:linear-gradient(100deg,#566169,#d6dad5 38%,#78878b 65%,#303b43);box-shadow:10px 14px 15px #0004}
.art-bottles span{height:155px;width:70px;border-radius:18px 18px 12px 12px;left:calc(50% - 95px);top:65px}.art-bottles span:before{content:"";position:absolute;left:24%;width:52%;height:28px;top:-24px;border-radius:3px;background:#c1c9c7}.art-bottles span:nth-child(2){left:50%;transform:scale(.8);transform-origin:bottom}.art-bottles span:nth-child(3){display:none}
.art-drum span{height:165px;width:125px;left:calc(50% - 62px);top:40px;border-radius:32% / 10%;box-shadow:inset 0 8px 1px #b6bdb8,10px 14px 15px #0004}.art-drum span:after{content:"";position:absolute;inset:25% 0;border-top:6px solid #3c4a52;border-bottom:6px solid #3c4a52}.art-drum span+span{display:none}
.art-machine span{width:210px;height:140px;left:calc(50% - 105px);top:45px;border:12px solid #a2acae;background:#27323a;box-shadow:inset 0 0 0 2px #71838d,12px 17px 18px #0004}.art-machine span:nth-child(2){width:55px;height:95px;left:50%;top:68px;background:#889997;border:0;box-shadow:none}.art-machine span:nth-child(3){width:80px;height:1px;top:110px;left:calc(50% - 80px);border:0;background:#dfae82;box-shadow:none}
.art-head span{width:150px;height:150px;left:calc(50% - 75px);top:35px;border-radius:50%;background:conic-gradient(#d7d8cf,#4c5962,#d3c2ac,#7b8b93,#d7d8cf)}.art-head span:nth-child(2){width:95px;height:95px;left:calc(50% - 47px);top:62px;background:#26343b;box-shadow:inset 6px 8px 12px #0008}.art-head span:nth-child(3){width:70px;height:70px;left:calc(50% - 35px);top:75px}
.art-layers span{width:170px;height:75px;left:calc(50% - 85px);top:35px;border-radius:50%;background:linear-gradient(180deg,#cbd0ca,#6f7b80);box-shadow:0 12px 0 #3c474e,10px 18px 16px #0004}.art-layers span:nth-child(2){top:85px;background:linear-gradient(180deg,#d9bc99,#96785c)}.art-layers span:nth-child(3){top:135px}
.art-resources span{width:150px;height:160px;left:calc(50% - 75px);top:30px;background:#c9cfca;transform:rotate(-8deg)}.art-resources span:nth-child(2){transform:translateX(15px) rotate(5deg);background:#677880}.art-resources span:nth-child(3){left:calc(50% - 50px);top:75px;width:110px;height:1px;background:#dfae82;box-shadow:0 25px 0 #dfae82,0 50px 0 #dfae82;transform:rotate(5deg)}
.work-visual{background:#f0f1ee;height:440px;isolation:isolate}.product-shape{position:absolute;display:block;z-index:2}.product-bottles .product-shape{width:24%;height:55%;left:25%;top:25%;border-radius:25% 25% 15% 15% / 16% 16% 7% 7%;background:linear-gradient(100deg,#5c6d76,#b7c5c6 28%,#d9dfd6 42%,#8faaa8 65%,#53676e);box-shadow:inset -8px 0 12px #0003,15px 20px 20px #0004;transform:rotate(-8deg)}
.product-bottles .product-shape:before{content:"";position:absolute;width:42%;height:16%;left:29%;top:-15%;background:linear-gradient(90deg,#6d7d83,#ccd3c7,#73868a);border-radius:8% 8% 0 0;box-shadow:inset 0 6px 0 #a6b5b2}
.product-bottles .secondary{left:54%;top:33%;transform:rotate(8deg) scale(.75);background:linear-gradient(100deg,#846951,#d8bea0,#f1d6b1 45%,#957f68)}
.product-drums .product-shape{left:29%;top:20%;width:43%;height:64%;border-radius:40% / 10%;background:linear-gradient(100deg,#667a81,#bdc7c4 30%,#799494 62%,#354e5b);box-shadow:inset 0 10px 0 #aebeb9,inset 0 -10px 0 #38505a,18px 25px 25px #0005;transform:rotate(7deg)}
.product-drums .product-shape:after{content:"";position:absolute;inset:26% -1% 24%;border-top:9px solid #425e68;border-bottom:9px solid #425e68;border-radius:15%}.product-drums .secondary{display:none}.product-shadow{position:absolute;left:15%;right:12%;height:15%;bottom:9%;background:#0005;filter:blur(20px);border-radius:50%}.form-label{position:absolute;left:24px;bottom:20px;font-size:12px;color:var(--muted)}
.work-caption span{font-size:12px}.notes-section details>p{font-size:16px;max-width:70ch}.note-type{font-size:12px}.footer{background:#ffffff;color:var(--ink)}.footer-cta{font-size:clamp(55px,7.5vw,110px);padding-right:160px;line-height:1.02}.footer-arrow{width:120px;height:120px;top:16%}.footer-invitation{font-size:14px;color:var(--muted)}.footer-bottom{align-items:center;border-top-color:var(--line)}.footer-bottom p{color:var(--muted)}.footer-brand .brand-plate{width:140px;height:64px}.footer-brand img{width:156px;top:-30px;left:-7px}
.menu-art-disc{border-color:#a7afb0;background:conic-gradient(#383f42,#b8b9b0,#485057,#d6c2a8,#383f42);box-shadow:18px 24px 22px #0004}.menu-art-disc:after{content:"";position:absolute;inset:15%;border-radius:50%;background:var(--paper)}.menu-art>span{font-size:54px}.menu-bottom{color:var(--muted)}.menu-body nav a{line-height:1.24}
#project-form input{font:inherit;width:100%;background:transparent;border:1px solid var(--line);padding:13px;color:var(--ink);border-radius:0;font-size:14px}#project-form input:focus-visible{outline:3px solid var(--red);outline-offset:4px}#project-form :is(input,textarea)::placeholder{color:var(--muted);opacity:1}#project-form select{color-scheme:light}#project-form option{background:var(--paper)}#project-dialog>p{max-width:50ch}#project-result small{font-size:12px}

@media(min-width:1700px){.hero-copy{bottom:145px}.hero-intro{bottom:100px}.hero-object-area{top:135px;right:9%}}
@media(min-width:761px) and (max-width:1100px){.wordmark .brand-name{display:none}.hero{min-height:820px}.hero-copy{bottom:180px;width:90%}.hero h1{font-size:6.1vw}.hero-intro{bottom:65px;width:58%;max-width:none;display:flex;gap:30px;align-items:center}.hero-intro p{font-size:15px}.hero-intro .text-link{margin:0}.since-copy{display:inline;font-size:13px;margin-left:8px}.hero-object-area{top:155px;right:10%;width:52%;height:360px}.loupe.die-object{width:290px;height:290px}.object-help{bottom:-4px}.hero-footnote{font-size:10px}.services{height:570px}.service{flex-basis:8%}.service-trigger{font-size:17px}.service-content{min-width:280px}.service-description p{font-size:13px}.footer-cta{font-size:8vw}}
@media(max-width:760px){.study-notice{font-size:9px;min-height:40px;padding:7px 16px}.site-header{top:44px;padding-top:10px;padding-bottom:10px}.brand-plate{width:119px;height:56px}.brand-plate img{width:133px;top:-25px;left:-7px}.wordmark .brand-name{display:none}.header-actions{gap:17px}.hero{padding-top:105px;min-height:0;padding-bottom:110px;max-height:none;height:auto}.hero-object-area{position:relative;top:auto;right:auto;width:100%;height:365px;min-height:0;margin-bottom:20px}.loupe.die-object{top:35px;left:calc(50% - 117px);width:235px;height:235px}.object-origin{font-size:9px;left:-3px;top:17%}.object-help{left:6%;bottom:0;font-size:12px}.object-help span{font-size:10px}.hero-copy{width:100%;left:auto;bottom:auto}.hero h1{font-size:clamp(38px,8.8vw,64px);line-height:1.06;letter-spacing:-.035em}.hero h1 br{display:none}.hold-control{margin-top:18px}.hero-intro{position:relative;bottom:auto;right:auto;width:100%;max-width:none;gap:16px;margin-top:24px}.hero-intro p{font-size:16px}.since-copy{font-size:13px;margin-top:8px}.hero-intro .text-link{margin-top:0;font-size:13px}.hero-footnote{bottom:25px;left:var(--gutter);right:auto;font-size:9px}.scroll-cue{bottom:55px}.hero-copy.is-inspecting .inspect-reveal{clip-path:circle(185px at var(--inspect-x) var(--inspect-y))}.inspect-caption{font-size:16px}.label-layers{font-size:10px;left:65%}.section-annotation{font-size:11px}.build-section{margin-top:0}.build-heading h2{font-size:31px}.build-heading p{max-width:32ch;line-height:1.6;font-size:12px}.build-stage{inset:32% 7% 22%}.build-typeset h3{font-size:31px;bottom:50px}.sheet-wordmark{font-size:17px}.sheet-index{font-size:8px;max-width:45%}.sheet-nav{font-size:7px;right:10px;max-width:40%;text-align:right}.build-page p{font-size:8px;max-width:40%}.build-current{width:90px;font-size:10px}.build-result p{font-size:25px;max-width:270px}.build-result small{font-size:11px}.build-result .primary-button{font-size:12px;gap:15px;padding-left:20px}.services{height:auto}.service-content{height:460px;min-width:0}.service-description{left:0;right:0;bottom:25px}.service-description p{font-size:14px}.service-description h3{font-size:23px}.service-trigger,.service.is-active .service-trigger{font-size:18px}.section-heading h2,.notes-section>h2{font-size:43px}.section-heading>p{font-size:14px}.industrial-art{height:255px}.work-visual{height:360px}.work-caption h3{font-size:23px}.work-caption span{font-size:11px}.footer-cta{font-size:clamp(42px,10vw,72px);padding-right:55px}.footer-arrow{width:48px;height:48px;top:26%}.footer-bottom .brand-name{display:none}.footer-brand .brand-plate{width:119px;height:56px}.footer-brand img{width:133px;top:-25px}.footer-bottom p{max-width:135px}.menu-body{padding-top:45px;padding-bottom:45px}.menu-body nav a{font-size:clamp(36px,10vw,58px);line-height:1.36}.menu-bottom{font-size:10px}.notes-section details>p{font-size:14px}}
@media(max-width:380px){:root{--gutter:20px}.hero h1{font-size:8.8vw}.hero-object-area{height:345px}.hero-intro .text-link{margin-top:8px}.footer-cta{font-size:10vw}.footer-bottom{gap:20px}.section-heading h2,.notes-section>h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.loupe.die-object{filter:drop-shadow(18px 26px 20px #23282730)}}
/* Finish pass: keep the Hold caption and responsive instructions clear. */
.inspect-reveal{top:-55px}
.inspect-caption{top:max(12px,calc(var(--inspect-y) - 105px));left:max(12px,calc(var(--inspect-x) - 142px));font-size:14px;line-height:1.2}
.scroll-cue,.back-top,.build-count{font-size:12px}
@media(min-width:761px) and (max-width:1100px){.object-help{left:-35%;bottom:70px;max-width:175px}}
@media(max-width:760px){.object-help span{font-size:12px}.build-current{font-size:12px;width:115px}}

/* Light-paper control contrast; functional green boundaries are tuned below. */
#project-form :is(input,select,textarea),.dialog-close{border-color:#858e87}
dialog::backdrop{background:#23282738}

/* Fade the page-stage grid strokes, never the explanatory labels. */
#build[data-stage=page] .build-grid{opacity:1;border-color:#d9ddda;background-image:linear-gradient(#858d8d10 1px,transparent 1px),linear-gradient(90deg,#858d8d10 1px,transparent 1px)}

/* Logo-green accents: preserve the light-paper layout and every interaction hook. */
:root{
  --accent:#3fca62;
  --green:var(--accent);
  --green-deep:#187d38;
  --green-stroke:#278b43;
  --green-soft:#edf8ef;
  --green-line:#b9dbc2;
  --red:var(--green-deep); /* Legacy skeleton token: readable green text / state. */
  --line:var(--green-line);
}
html{scrollbar-color:var(--green-deep) var(--paper)}
::selection{background:var(--green-deep);color:#fff}
input,textarea{caret-color:var(--green-deep)}
button:focus-visible,a:focus-visible,summary:focus-visible,
#project-form :is(input,select,textarea):focus-visible{
  outline:3px solid var(--green-deep);outline-offset:6px;
}
svg{stroke:var(--green-deep)}
.header-project,.hold-dot{border-color:var(--green-deep)}
#menu-toggle span{background:var(--green-deep)}


.hold-control[aria-pressed=true]{color:var(--green-deep)}
.hold-dot:after{background:var(--green)}
.hold-control[aria-pressed=true] .hold-dot{background:var(--green-soft)}
.object-coordinate,.scroll-cue span{color:var(--green-deep)}
.header-project:hover,.text-link:hover,.small-link:hover,.back-top:hover,.hold-control:hover,.service-trigger:hover,
.service.is-active .service-trigger,.notes-section details[open] summary,
.notes-section summary:hover,.menu-body nav a:hover{color:var(--green-deep)}
#menu-toggle:hover span{background:var(--green-stroke)}
.circle-arrow{background:var(--green);color:var(--ink);border:1px solid var(--green-deep)}
.circle-arrow svg{stroke:var(--ink)}
.text-link:hover .circle-arrow,.primary-button:hover .circle-arrow{background:var(--green-soft)}
.primary-button{background:var(--paper);color:var(--ink);border:1px solid var(--green-deep)}
.primary-button:hover{background:var(--green-soft);color:var(--green-deep)}
.footer-arrow{background:var(--paper);color:var(--green-deep);border:1px solid var(--green-deep)}
.footer-cta:hover .footer-arrow{background:var(--green-soft);border-color:var(--green-stroke)}
.dialog-close,#project-form :is(input,select,textarea){border-color:var(--green-stroke)}
.dialog-close:hover{background:var(--green-soft);color:var(--green-deep)}
.services{border-top-color:var(--green-stroke);border-bottom-color:var(--green-stroke)}
.build-line,.sheet-redline,.sheet-orbit i,.progress-track span{background:var(--green)}
.build-step-controls button:before{background:var(--paper);border:1px solid var(--green-deep)}
.build-step-controls button[aria-pressed=true]:before{background:var(--green-deep)}
.build-grid{border-color:#8dc99c;background-image:linear-gradient(#3fca6226 1px,transparent 1px),linear-gradient(90deg,#3fca6226 1px,transparent 1px)}
.build-grid:before,.build-grid:after{color:var(--green-deep)}
#build[data-stage=page] .build-grid{opacity:1;border-color:var(--green-line);background-image:linear-gradient(#3fca6214 1px,transparent 1px),linear-gradient(90deg,#3fca6214 1px,transparent 1px)}
.inspect-reveal{background:#f7f7f5}
.inspect-grid{background-image:linear-gradient(#3fca6226 1px,transparent 1px),linear-gradient(90deg,#3fca6226 1px,transparent 1px)}
.section-wall{border-color:var(--green-deep);background:var(--green-soft)}
.section-core{background:#f7f7f5;border-color:var(--green-deep)}
.section-annotation,.inspect-caption,.inspect-measure{color:var(--green-deep)}

.art-machine span:nth-child(3){background:var(--green)}
.art-resources span:nth-child(3){background:var(--green);box-shadow:0 25px 0 var(--green),0 50px 0 var(--green)}
.art-layers span:nth-child(2){background:linear-gradient(180deg,#d9ebdd,#8fae97)}
.product-bottles .secondary{background:linear-gradient(100deg,#688470,#bcd6c3,#e0ece2 45%,#8ea894)}

/* Illustrations-only swap. Original slots, paper/green tokens and JS hooks stay intact.
   Mandrel XCPJ9000-07 uses STEP-derived Blender renders; not production approval.
   Beauty and half-section share one camera, lighting and source geometry. */
.loupe.die-object{border-radius:0;filter:none;transform:translate(var(--drag-x,0px),var(--drag-y,0px))}
.loupe.die-object>span{visibility:hidden}
.loupe.die-object:before{content:"";position:absolute;inset:0;background:#fff url("assets/caliper-beauty-web.webp") no-repeat center / contain;pointer-events:none}


.section-cut{background:#fff url("assets/flow-divider-beauty-web.webp") no-repeat center / contain}
.section-cut>span{visibility:hidden}
.industrial-art.art-bottles{background:#fff url("assets/machine-line-wlu-continuous-web.webp") no-repeat center / contain}
.industrial-art.art-drum{background:#fff url("assets/machine-line-wla-accumulator-web.webp") no-repeat center / contain}
.industrial-art.art-machine{background:#fff url("assets/machine-line-wlc-customized-web.webp") no-repeat center / contain}
.industrial-art:is(.art-bottles,.art-drum,.art-machine){padding:8px 12px 30px;background-origin:content-box;background-clip:content-box}
.industrial-art.art-head{background:#fff url("assets/mandrel-beauty-web.webp") no-repeat center / contain}
.industrial-art.art-resources{background:url("assets/clamp-lineart-v6.png") no-repeat center 40% / 76% auto}
.industrial-art:is(.art-bottles,.art-drum,.art-machine,.art-head,.art-resources)>:is(span,i){visibility:hidden}
.sheet-orbit{background:#fff url("assets/clamp-lineart-v6.png") no-repeat center / contain;box-shadow:none;border-radius:0;transform:none}
.sheet-orbit>:is(span,i){visibility:hidden}
/* Leave room for glyph overhang and focus rings on every chapter link. */
.menu-body nav{min-width:0;padding-inline:6px;overflow:visible}
.menu-body nav a{min-width:0;padding-inline:.08em;overflow:visible}
.sheet-wordmark{display:inline-block}
.sheet-wordmark .brand-plate{width:119px;height:56px}
.sheet-wordmark .brand-plate img{width:133px;top:-25px;left:-7px}
/* 58% / 51% replace the bottle's former 72% / cylinder's 64% (+shadow).
   Both full photographs stay contained; the two-column grid is unchanged. */
.work-visual.reference-photo{display:flex;align-items:center;justify-content:center;background:#fff}
.reference-photo>img{display:block;max-width:72%;width:auto;height:58%;object-fit:contain}
.die-part-photo>img{height:51%}
.reference-photo .photo-credit{position:absolute;left:24px;bottom:43px;font-size:11px;color:var(--muted)}

/* Approved leaf/material artwork occupies only the page card's right image slot. */
.sheet-orbit{width:43%;aspect-ratio:1.5;top:20%;right:3%;background:none}
#arch-forming{position:absolute;inset:0;visibility:hidden;opacity:0;pointer-events:none}
#build[data-stage=page] #arch-forming{visibility:visible;opacity:1;pointer-events:auto}
.arch-forming-visual{position:absolute;inset:0;overflow:hidden;background:#f1f4f2}
.arch-forming-poster,#arch-material-canvas{position:absolute;inset:0;width:100%;height:100%}
.arch-forming-poster{display:block;object-fit:cover}
#arch-material-canvas{visibility:hidden}
#arch-material-canvas canvas{display:block;width:100%;height:100%}
#arch-forming[data-state=running] #arch-material-canvas,#arch-forming[data-state=paused] #arch-material-canvas{visibility:visible}
#arch-forming-toggle{position:absolute;right:6px;bottom:6px;border:1px solid var(--green-deep);border-radius:20px;padding:4px 10px;min-height:28px;font-size:10px;color:var(--green-deep);background:var(--paper)}
#arch-forming-toggle:hover{background:var(--green-soft)}
#arch-forming-toggle:focus-visible{outline:2px solid var(--green-deep);outline-offset:3px}
@media(max-width:760px){
  .sheet-orbit{width:45%;top:24%;right:5%}
  .build-typeset h3{font-size:28px;bottom:56px}
  .sheet-nav{top:46px;right:16px;font-size:7px}
  .build-page p{right:16px;bottom:25%;max-width:43%;font-size:8px;line-height:1.4}
  #arch-forming-toggle{right:4px;bottom:4px;padding:3px 8px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){#arch-material-canvas{display:none}}

/* Conceptual wall thickness only; the caliper remains the draggable foreground. */
.parison-hint{position:absolute;z-index:2;left:4%;top:53%;width:176px;margin:0;color:var(--green-deep);pointer-events:none;user-select:none}
.parison-hint svg{display:block;width:100%;height:auto;overflow:visible;stroke-width:1.2}
.parison-hint-wall{fill:#3fca621a;stroke:var(--green-deep)}
.parison-hint-measure{fill:none;stroke:var(--green-deep)}
.parison-hint text{fill:var(--green-deep);stroke:none;font:italic 17px Georgia,serif}
.parison-hint figcaption{margin:0 0 0 14px;font-size:12px;line-height:1.5}
.parison-hint figcaption span{display:block;font-size:11px}
#loupe.die-object{z-index:1}
.hero:has(#inspect-toggle[aria-pressed="true"]) .parison-hint{opacity:0;visibility:hidden}
@media(min-width:761px) and (max-width:1100px){
  .parison-hint{top:38%;width:144px}
}
@media(max-width:760px){
  .parison-hint{left:0;top:196px;width:122px}
  .parison-hint figcaption{margin-left:10px;font-size:11px}
  .parison-hint figcaption span{font-size:11px}
}

/* Small machine animation loop in the caliper’s left-hand whitespace. */
.hero-machine-clip{position:absolute;z-index:0;left:min(-75%,calc(4% - clamp(440px,38vw,560px) - 16px));top:clamp(0px,calc(100svh - 940px),90px);width:clamp(440px,38vw,560px);margin:0;color:var(--green-deep);pointer-events:none;user-select:none}
.hero-machine-clip video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--paper);border:1px solid var(--accent);border-radius:12px}
.hero-machine-clip figcaption{margin:8px 0 0 10px;font-size:12px;line-height:1.5}
.hero-machine-clip figcaption span{display:block;font-size:11px}
@media(min-width:761px) and (max-width:1100px){
  /* Reserve the left column for the larger clip; keep caliper and wall study clear. */
  .hero{min-height:1010px}
  .hero-object-area{height:460px;max-height:none}
  #loupe.die-object{left:calc(62vw - 322px)}
  .parison-hint{left:calc(62vw - 322px);top:324px}
  .hero-machine-clip{left:calc(22px - 38vw);top:-72px;width:420px}
}
@media(max-width:760px){
  .hero-object-area{height:600px;max-height:none}
  .hero-machine-clip{left:calc((100% - clamp(304px,80vw,320px))/2);top:318px;width:clamp(304px,80vw,320px)}
  .hero-machine-clip figcaption{margin-left:0;font-size:11px}
}
@media(min-width:1700px){
  .hero-machine-clip{top:clamp(-48px,calc(100svh - 940px),90px)}
}
@media(prefers-reduced-motion:reduce){.hero-machine-clip video{visibility:hidden}.hero-machine-clip{background:url("assets/hero-poster.png") no-repeat top / 100% auto}}

/* Opening hierarchy: machine leads, caliper supports, claim and scope read together. */
#home .hero-copy{bottom:64px;width:calc(100% - var(--gutter)*2)}
#home .hero-intro{position:static;width:min(100%,680px);max-width:none;margin-top:16px;display:block}
#home .hero-intro .text-link{margin-top:16px;max-width:none}
#home .hold-control{position:absolute;right:0;bottom:0;margin:0}
#home .hero-object-area{left:var(--gutter);right:var(--gutter);top:90px;width:auto;height:480px;min-height:0;max-height:none}
#home .hero-machine-clip{left:4%;top:0;width:clamp(600px,52vw,720px)}
#home .hero-machine-clip figcaption span{display:inline;margin-left:8px}
#home #loupe.die-object{left:auto;right:6%;top:88px;width:clamp(150px,15vw,250px);height:clamp(150px,15vw,250px)}
#home .parison-hint{left:auto;right:8%;top:calc(128px + clamp(150px,15vw,250px));width:112px}
#home .parison-hint figcaption{font-size:11px}
#home .object-help{left:auto;right:4%;top:calc(252px + clamp(150px,15vw,250px));bottom:auto}
@media(min-width:761px) and (max-width:1100px){
  #home{min-height:940px}
  #home .hero-object-area{top:108px;height:420px}
  #home .hero-machine-clip{left:0;width:clamp(480px,59vw,640px)}
  #home #loupe.die-object{right:0;top:96px;width:180px;height:180px}
  #home .parison-hint{right:2%;top:302px;width:100px}
  #home .object-help{right:0;top:414px;bottom:auto}
  #home .hero-copy{bottom:112px}
  #home .hero-intro{width:min(100%,620px)}
  #home .hold-control{bottom:-52px;left:0;right:auto}
}
@media(max-width:760px){
  #home .hero-object-area{left:auto;right:auto;top:auto;width:100%;height:calc((100vw - var(--gutter)*2)*.5625 + 248px);margin-bottom:20px}
  #home .hero-machine-clip{left:0;top:16px;width:100%}
  #home #loupe.die-object{top:calc((100vw - var(--gutter)*2)*.5625 + 68px);right:0;width:150px;height:150px}
  #home .parison-hint{left:0;right:auto;top:calc((100vw - var(--gutter)*2)*.5625 + 72px);width:96px}
  #home .object-help{left:0;right:auto;top:auto;bottom:0;font-size:11px}
  #home .object-help span{font-size:10px}
  #home .hero-copy{bottom:auto;width:100%}
  #home .hero-intro{width:100%;margin-top:16px}
  #home .hold-control{position:relative;right:auto;bottom:auto;margin-top:12px}
}
/* Desktop: enlarged machine left, claim center, inspect stack at the right edge. */
@media(min-width:1101px){
  #home{--gutter:clamp(24px,2.5vw,48px);--machine-width:calc((100vw - var(--gutter)*2)*.48);--machine-caliper-gap:24px;--caliper-width:clamp(128px,10.2vw,176px);--copy-width:calc(100vw - var(--gutter)*2 - var(--machine-width) - var(--caliper-width) - var(--machine-caliper-gap)*2);--hero-band-height:calc(var(--caliper-width) + 264px);display:grid;grid-template-columns:var(--machine-width) var(--copy-width) var(--caliper-width);column-gap:var(--machine-caliper-gap);align-items:center;justify-content:center;padding:148px var(--gutter) 72px;min-height:0;height:auto;max-height:none}
  #home .hero-object-area{position:relative;grid-column:1/-1;grid-row:1;left:0;right:auto;top:auto;width:100%;height:var(--hero-band-height);min-height:0;margin:0}
  #home .hero-machine-clip{left:0;top:50%;width:var(--machine-width);transform:translateY(-50%)}
  #home #loupe.die-object{left:auto;right:0;top:0;width:var(--caliper-width);height:var(--caliper-width)}
  #home .parison-hint{left:auto;right:calc((var(--caliper-width) - 112px)/2);top:calc(var(--caliper-width) + 44px)}
  #home .object-help{left:calc(100% - var(--caliper-width));right:auto;top:calc(var(--caliper-width) + 164px);bottom:auto;font-size:11px}
  #home .object-help span{font-size:10px}
  #home .hero-copy{position:relative;grid-column:2;grid-row:1;left:0;bottom:auto;width:100%;min-height:var(--hero-band-height);display:flex;flex-direction:column;justify-content:center}
  #home .hold-control{left:calc(100% + var(--machine-caliper-gap));right:auto;top:calc(var(--caliper-width) + 216px);bottom:auto;width:max-content;margin:0}
  #home h1{font-size:clamp(38px,3.6vw,56px)}
  #home .hero-intro{max-width:400px}
  #home .hero-intro p{font-size:clamp(15px,1.1vw,17px)}
  #home .scroll-cue{left:calc(var(--gutter) + var(--machine-width) + var(--machine-caliper-gap));bottom:18px}
  #home .hero-footnote{bottom:18px}
}

/* Cover the source video badge without modifying the approved media asset. */
.machine-motion-frame{position:relative}
.machine-motion-frame:after{content:attr(data-caption);position:absolute;right:3.5%;top:88.5%;width:16%;height:6%;display:flex;align-items:center;justify-content:center;background:#171a18;color:#c8ccc9;border-radius:2px;font:clamp(5px,.5vw,10px)/1 Arial,sans-serif;pointer-events:none}

/* Navigation-level language choice; keep the established hero composition. */
.language-switch{display:flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}
.language-switch button{min-width:36px;min-height:44px;padding:8px 4px;color:var(--muted)}
.language-switch button[aria-pressed="true"]{color:var(--green-deep);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.language-switch button:hover{color:var(--green-deep)}
html[lang="zh-CN"] #home h1{letter-spacing:0;line-height:1.12}
html[lang="zh-CN"] .service-trigger>span{letter-spacing:0;transform:none}

/* Mobile Build uses document flow; the desktop scroll theater stays intact. */
@media(max-width:760px){
  .build-section{height:auto;min-height:0}
  .build-sticky{position:static;height:auto;min-height:0;overflow:visible;padding:32px var(--gutter) 40px;display:flex;flex-direction:column;gap:28px}
  .build-heading,.build-stage,.build-progress,.build-step-controls,.build-result{position:static;inset:auto;transform:none}
  .build-heading p{font-size:14px;max-width:none;overflow-wrap:anywhere}
  .build-stage{display:block;perspective:none;min-width:0;padding-block:24px}
  .build-sheet{width:100%;height:auto;min-height:280px;max-height:none;transform:none}
  .build-typeset{position:relative;inset:auto;padding:20px}
  .build-typeset h3{position:static;margin-top:28px;font-size:clamp(28px,6vw,40px);line-height:1.08}
  .build-grid:before,.build-grid:after{font-size:11px}
  .build-page{position:relative;inset:auto;display:none;padding:0 20px 20px}
  #build[data-stage=page] .build-page{display:block}
  .sheet-orbit{position:relative;width:100%;top:auto;right:auto}
  .build-page p{position:static;max-width:none;font-size:14px;line-height:1.5;margin-top:20px}
  .sheet-nav{position:static;display:block;max-width:none;font-size:12px;line-height:1.5;text-align:left;margin-top:16px;overflow-wrap:anywhere}
  .sheet-redline{left:0}
  #arch-forming-toggle{font-size:12px;min-height:44px;min-width:44px}
  .build-result{display:none;width:100%;gap:20px}
  #build[data-stage=cta] .build-sheet{display:none}
  #build[data-stage=cta] .build-result{display:flex}
  .build-result p{max-width:none}
  .build-result .primary-button{max-width:100%;font-size:14px;gap:12px}
  .build-result .circle-arrow{flex-shrink:0}
  .build-result small{font-size:12px}
  .build-progress{gap:12px;width:100%;font-size:12px}
  .build-current{width:auto;flex:0 1 115px}
  .build-count{white-space:nowrap}
  .build-step-controls{align-self:center;max-width:100%}
}

/* Contact and conversation extend the existing paper / green visual system. */
.contact-block{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(16px,3vw,40px);border-top:1px solid var(--line);padding-block:24px 28px;margin-top:20px}
.contact-intro h2{font-size:clamp(22px,2vw,28px);font-weight:400;letter-spacing:-.03em;margin-bottom:8px}
.contact-intro p{max-width:30ch;font-size:14px;line-height:1.4;color:var(--muted)}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin:0;min-width:0}
.contact-details>div{min-width:0}.contact-details dt{font-size:12px;color:var(--muted);margin-bottom:4px}.contact-details dd{margin:0;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.contact-details a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}.contact-details a:hover{color:var(--green-deep);text-decoration-color:currentColor}
.contact-address{max-width:36ch}
#project-dialog{padding:40px;scroll-padding-block:20px}#project-dialog>.dialog-close{min-width:44px;min-height:44px}
#project-form{gap:8px}#project-form :is(input,select,textarea){font-size:16px;min-height:44px}#project-form label{font-size:14px;margin-top:12px}
#inquiry-status{margin-top:20px;max-width:none;font-size:15px;overflow-wrap:anywhere}
#inquiry-status:empty,#chat-status:empty{display:none}
:is(#inquiry-status,#chat-status)[data-state="sent"]{color:var(--green-deep)}
.header-chat{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 0;color:var(--green-deep);font-size:13px;white-space:nowrap}
.header-chat svg{width:20px;height:20px;stroke:currentColor}.header-chat:hover,.header-chat[aria-expanded="true"]{color:var(--green-stroke)}
.chat-window{position:fixed;z-index:200;top:112px;right:var(--gutter);width:min(390px,calc(100% - 2 * var(--gutter)));height:min(590px,var(--chat-available-height,calc(100dvh - 144px)));display:none;flex-direction:column;background:var(--paper);border:1px solid var(--green-deep);border-radius:8px;overflow-y:auto;color:var(--ink)}
.chat-window.is-open{display:flex!important}
.chat-window[hidden],.chat-window:not(.is-open){display:none!important}
.chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);gap:12px}.chat-header h2{font-size:18px;font-weight:500;letter-spacing:-.02em}.chat-header button{min-width:44px;min-height:44px;display:grid;place-items:center}
.chat-messages{flex:1;min-height:64px;overflow-y:auto;overscroll-behavior:contain;padding:20px 16px;scrollbar-color:var(--green-deep) var(--paper)}
.chat-message{font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:16px;max-width:100%}.chat-message:last-child{margin-bottom:0}.chat-user{margin-left:24px;background:var(--green-soft);padding:12px;border-radius:4px}
.chat-quick{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px;border-top:1px solid var(--line)}.chat-quick button{min-height:44px;padding:6px 10px;font-size:13px;text-decoration:underline;text-underline-offset:4px;color:var(--green-deep)}.chat-quick button:hover{background:var(--green-soft)}
#chat-form{display:flex;gap:8px;padding:0 16px 12px;align-items:flex-end}#chatInput{font-size:16px;line-height:1.4;resize:none;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px;min-width:0;flex:1;border-radius:4px}#chatInput::placeholder{color:var(--muted);opacity:1}
#chatSend{min-height:48px;padding:10px 14px;background:var(--green-deep);color:var(--paper);border-radius:4px}#chatSend:hover{background:var(--ink)}
#chat-status{padding:0 16px 12px;font-size:14px;overflow-wrap:anywhere}#chat-disclaimer{padding:0 16px 14px;color:var(--muted);font-size:12px;line-height:1.5}
.chat-window :is(button,textarea,[tabindex]):focus-visible,.header-chat:focus-visible{outline:2px solid var(--green-deep);outline-offset:2px}
@media(max-width:760px){
  .contact-block{grid-template-columns:1fr;padding-block:20px 24px;gap:16px}.contact-details{gap:12px 16px}.contact-details dd{font-size:14px}
  .footer-bottom{padding-bottom:84px}#project-dialog{padding:48px 20px 24px}
  .header-actions{gap:8px}.header-chat span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
@media(max-width:420px){.contact-details{grid-template-columns:1fr}.contact-address{grid-column:auto}.chat-quick{gap:0;padding-inline:8px}.chat-quick button{padding-inline:8px}}

@media(max-width:360px){.site-header .brand-plate{width:80px;height:40px}.site-header .brand-plate img{width:89px;top:-17px;left:-5px}}

