/* Accessibility applies to the content itself, not only the toolbar. */
:root{--text-scale:1}html{font-size:calc(16px * var(--text-scale))}body{line-height:1.65}a,button,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #14616c!important;outline-offset:4px;box-shadow:0 0 0 6px #fff!important}footer a:focus-visible{outline-color:#fff!important}.skip{z-index:300;right:15px;color:#111}.skip:focus{top:12px}.links{font-size:.9375rem;flex-wrap:wrap}.hero h1{font-size:clamp(3rem,6.7vw,5.25rem)}.hand{font-size:clamp(1.6875rem,3.7vw,2.8125rem)}.hero-copy p{font-size:1.25rem}.service h2{font-size:1.1875rem}.service p,.section-head p{font-size:.9375rem}.section-head h2{font-size:2.25rem}.project h3{font-size:1rem}.project p{font-size:.875rem}.tag{font-size:.8125rem}.contact h2{font-size:1.875rem}.contact p{font-size:1rem}.pill{font-size:1rem;min-height:44px}.foot small,.footer-note{font-size:.875rem}dialog .note{font-size:.875rem;color:#59534c}dialog{max-height:85dvh;overflow:auto}dialog .close{width:44px;height:44px;top:4px;left:4px;line-height:1}dialog h2{font-size:1.5rem}.links a,.legal-links a,.legal-links button{min-height:44px;display:inline-flex;align-items:center}button[hidden],[hidden]{display:none!important}.contact-disclosure{font-size:.8125rem!important;max-width:440px!important;margin-top:16px!important;color:#57514a}.contact-disclosure a{text-decoration:underline;text-underline-offset:3px}.legal-links{display:flex;gap:8px 24px;flex-wrap:wrap;justify-content:center;margin-top:25px;font-size:.875rem}.legal-links a,.legal-links button{text-decoration:underline;text-underline-offset:4px}.legal-links button{background:none;border:0;color:inherit;padding:0;font:inherit}.project-count{display:block;font-size:.8125rem;margin-top:12px;font-weight:600}.type-art{white-space:pre-line;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:2rem;line-height:1.25;letter-spacing:-1px}.project-links{display:grid;gap:10px;text-align:right;margin:22px 0}.project-links a{border:1px solid #b9b1a8;border-radius:10px;padding:12px 16px;min-height:46px;background:white;color:#151614;font-size:1rem}.project-links a:hover{border-color:#933552;background:#fff5f8}#project-dialog{max-width:540px}.project p{min-height:4.2em}.projects{align-items:stretch}.project{display:flex;flex-direction:column;align-items:stretch}.project .tag{align-self:center;margin-top:auto}.project .thumb{width:100%;flex-shrink:0}
.camera-scene{position:relative;align-self:center;min-width:0;direction:ltr;isolation:isolate;padding-bottom:32px}.camera-scene .hero-art{margin:0;width:100%;animation:camera-breathe 8s ease-in-out infinite}.camera-screen{position:absolute;left:23%;top:36%;width:34%;height:32%;color:#fff;font-family:monospace;transform:rotate(1.5deg);pointer-events:none;text-shadow:0 1px 3px #000;overflow:hidden;animation:camera-breathe 8s ease-in-out infinite;transform-origin:50% 50%}.rec-line{display:flex;align-items:center;gap:4px;font-size:clamp(7px,.8vw,11px);font-weight:bold;background:#0009;width:fit-content;padding:2px 4px}.rec-dot{width:6px;height:6px;border-radius:50%;background:#ff4646;box-shadow:0 0 4px #f55}.rec-time{margin-left:5px}.focus-corner{position:absolute;width:12%;height:15%;border-color:#ffffffe6;border-style:solid;border-width:0}.tl{left:8%;top:24%;border-top-width:1px;border-left-width:1px}.tr{right:8%;top:24%;border-top-width:1px;border-right-width:1px}.bl{left:8%;bottom:18%;border-bottom-width:1px;border-left-width:1px}.br{right:8%;bottom:18%;border-bottom-width:1px;border-right-width:1px}.focus-box{position:absolute;left:38%;top:43%;width:24%;height:25%;border:1px solid #c4efb0;animation:focus-lock 6s ease-in-out infinite}.camera-spec{position:absolute;bottom:3%;left:7%;font-size:clamp(6px,.65vw,9px);background:#0008;padding:1px 3px}.camera-meter{position:absolute;right:7%;bottom:6%;display:flex;gap:2px;height:13%;align-items:flex-end}.camera-meter i{background:#a7e8a0;width:3px;height:40%;animation:meter 1.8s ease-in-out infinite alternate}.camera-meter i:nth-child(2n){animation-delay:-.7s}.camera-meter i:nth-child(3n){animation-delay:-1.2s}.motion-button{position:absolute;bottom:0;left:50%;transform:translateX(-50%);border:1px solid #a8a096;border-radius:30px;background:var(--paper);color:#3d3932;font-size:.75rem;min-height:36px;padding:6px 14px;white-space:nowrap}.motion-button:hover{background:#fff}.motion-button[aria-pressed=true]{border-color:#151614}.camera-screen:after{content:'';position:absolute;top:25%;left:25%;width:45%;height:50%;background:radial-gradient(ellipse,#fff5,transparent 68%);opacity:.15;animation:steam 5s ease-in-out infinite;mix-blend-mode:screen}@keyframes camera-breathe{0%,100%{translate:0 0}50%{translate:0 -3px}}@keyframes focus-lock{0%,100%{transform:scale(1)}40%,60%{transform:translate(3px,-2px) scale(.88)}}@keyframes meter{from{height:25%}to{height:90%}}@keyframes steam{0%,100%{transform:translateY(2px);opacity:.1}50%{transform:translateY(-9px);opacity:.35}}
.access-toggle{position:fixed;left:16px;bottom:16px;z-index:80;display:flex;align-items:center;justify-content:center;gap:7px;background:#151816;color:white;border:2px solid white;border-radius:40px;padding:11px 16px;min-height:48px;box-shadow:0 3px 16px #0002;font-size:.9375rem}.access-toggle svg{width:23px;height:23px}.settings-dialog{width:calc(100% - 32px);max-width:460px;padding:34px 24px 24px;text-align:right}.settings-dialog p{font-size:.9375rem}.settings-dialog h2{margin-top:8px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.settings-row input{width:22px;height:22px;accent-color:#17626c;flex-shrink:0}.settings-row label{cursor:pointer;font-size:1rem}.size-controls{display:flex;align-items:center;gap:10px;direction:ltr}.size-controls button{min-width:44px;height:44px;border:1px solid #5d554a;background:#fff;border-radius:8px;color:#111;font-size:1.125rem}.size-controls button:disabled{opacity:.45;cursor:default}.panel-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.panel-actions button{border:1px solid #555;border-radius:8px;background:white;padding:10px 16px;min-height:44px;color:#111}.panel-actions .primary{background:#151816;color:white}.settings-dialog a{text-decoration:underline}.notice{margin:0;background:#eee9e0;border-top:1px solid #c4bbaa;padding:14px max(24px,calc((100% - 1144px)/2));font-size:.875rem;color:#25221d;display:flex;align-items:center;gap:18px;justify-content:space-between}.notice p{margin:0;max-width:830px}.notice a{text-decoration:underline}.notice button{background:transparent;border:1px solid #6e6457;padding:8px 14px;border-radius:8px;min-height:44px;white-space:nowrap;font-size:.875rem;color:#25221d}.notice-actions{display:flex;gap:10px}.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}
html.links-marked a{text-decoration:underline!important;text-underline-offset:4px}html.high-contrast body,html.high-contrast section,html.high-contrast article,html.high-contrast .project,html.high-contrast dialog,html.high-contrast .notice,html.high-contrast .contact{background:#fff!important;color:#000!important}html.high-contrast p,html.high-contrast h1,html.high-contrast h2,html.high-contrast h3,html.high-contrast .tag,html.high-contrast .note,html.high-contrast .contact-disclosure{color:#000!important}html.high-contrast .tag{background:#eee!important}html.high-contrast .hand:after,html.high-contrast .contact h2:after{background:#000}html.motion-off,html.motion-off *{scroll-behavior:auto!important;animation:none!important;transition:none!important}html.motion-off .camera-screen:after{display:none}html.large-text .hero{grid-template-columns:1fr}html.large-text .camera-scene{width:min(100%,580px);margin:auto}html.large-text .hero-copy p{max-width:700px}html.large-text .projects{grid-template-columns:repeat(3,minmax(0,1fr))}html.large-text .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}html.large-text .contact{grid-template-columns:1fr}html.large-text .edit-art{max-height:320px;width:100%}html.large-text .nav{height:auto;min-height:112px;gap:20px;padding-block:15px;flex-wrap:wrap}html.large-text .contact-copy p{max-width:800px}
.legal-page{max-width:850px;margin:0 auto;padding:35px 24px 70px}.legal-page h1{font-size:2.25rem;line-height:1.3}.legal-page h2{font-size:1.6rem;margin-top:0}.legal-page h3{font-size:1.125rem}.legal-page section{scroll-margin-top:25px;border-top:1px solid #c9c0b4;padding-top:32px;margin-top:32px}.legal-page p,.legal-page li{font-size:1rem;line-height:1.9}.legal-page a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-page nav{display:flex;gap:12px 22px;flex-wrap:wrap}.legal-page nav a{min-height:44px;display:inline-flex;align-items:center}.legal-contact{background:#eee9e0;padding:18px;border-radius:12px}.legal-contact a{display:inline-block;min-height:44px;padding:8px 0}.legal-top{padding:20px 24px;max-width:850px;margin:auto;display:flex;justify-content:space-between;gap:20px}.legal-top a{min-height:44px;display:inline-flex;align-items:center;font-weight:bold}.legal-top strong{font-size:1.4rem;direction:ltr}.legal-date{color:#61594f}
@media(max-width:900px){.hero h1{font-size:3.4375rem}.hero-copy p{font-size:1.0625rem}.contact h2{font-size:1.5625rem}.notice{flex-wrap:wrap}.rec-line{font-size:8px}}@media(max-width:600px){.hero h1{font-size:3.5rem;letter-spacing:-2px}.hand{font-size:2.125rem}.hero-copy p{font-size:1.125rem}.service h2{font-size:1.0625rem}.service p{font-size:.875rem}.section-head h2{font-size:1.8125rem}.project h3{font-size:.9375rem}.contact h2{font-size:1.8125rem}.camera-scene{grid-row:2}.camera-scene .hero-art{grid-row:auto}.access-toggle{left:10px;bottom:10px;padding:9px 12px}.notice{padding-bottom:78px}.legal-links{padding-bottom:55px;gap:6px 18px}.notice-actions{flex-wrap:wrap}.project-links a{padding:12px}.camera-spec{font-size:7px}html.large-text .projects,html.large-text .service-grid{grid-template-columns:1fr}html.large-text .hero h1{font-size:2.6rem}html.large-text .hand{font-size:1.8rem}.links{gap:8px 16px;justify-content:center}.wrap{padding-inline:20px}.project .thumb{aspect-ratio:142/157}.type-art{font-size:1.4rem}}
.hero-copy{min-width:0}.pill.dark{min-width:min(280px,100%);max-width:100%}.hand{max-width:100%}.hero-copy p{overflow-wrap:break-word}.settings-row{flex-wrap:wrap}.type-art{overflow-wrap:anywhere}@media(max-width:600px){.hero{grid-template-columns:minmax(0,1fr)}.hand{transform:none}.hand:after{left:0;right:0}.hero-copy .pill{padding-inline:20px;gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.camera-screen:after{display:none}}@media(forced-colors:active){button,a{forced-color-adjust:auto}.focus-corner,.focus-box{border-color:CanvasText}.access-toggle{border:2px solid ButtonText}.project-links a{border:1px solid LinkText}}
