:root{--paper:#faf9f6;--ink:#292724;--muted:#67615a;--brand:#a65122;--apricot:#d58445;--line:#ddd7ce;--surface:#f0ece5;--contact:#eee2d2;--sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--serif:"Iowan Old Style", "Baskerville", "Yu Mincho", "Hiragino Mincho ProN", serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;line-break:strict;word-break:normal;overflow-wrap:anywhere;scroll-padding-top:32px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.85}body.modal-open{overflow:hidden}a{color:inherit;text-underline-offset:5px;cursor:pointer}button{font:inherit;cursor:pointer}a:hover{color:var(--brand)}a:focus-visible,button:focus-visible{outline:3px solid var(--brand);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{word-break:auto-phrase}h1,h2{font-weight:500;line-height:1.5}h3{font-weight:600;line-height:1.6}img{max-width:100%;height:auto;display:block}.wrap{width:min(1200px,100% - 112px);margin-inline:auto}.section{padding-block:104px}.eyebrow{letter-spacing:.1em;color:var(--brand);font-size:12px;font-weight:500;line-height:1.6}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:32px;min-height:106px;display:flex}.wordmark{font-family:var(--serif);white-space:nowrap;align-items:center;min-height:44px;font-size:28px;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.brand-dot{color:var(--apricot)}nav{align-items:center;gap:30px;display:flex}nav a{align-items:center;gap:18px;min-height:44px;font-size:14px;text-decoration:none;display:inline-flex}.nav-contact{border-bottom:1px solid var(--ink)}.hero{grid-template-columns:1.08fr 1fr;align-items:center;gap:30px;min-height:640px;padding-block:82px 86px;display:grid}.hero h1{letter-spacing:.02em;margin:25px 0 18px;font-size:clamp(32px,3.3vw,46px)}.hero-lead{font-size:clamp(23px,2.4vw,32px);font-weight:500;line-height:1.6}.hero-description{color:var(--muted);margin-top:26px;font-size:15px;line-height:2}.text-link{border-bottom:1px solid var(--brand);min-height:48px;color:var(--brand);align-items:center;gap:52px;margin-top:28px;font-size:14px;text-decoration:none;display:inline-flex}.hero-art{flex-direction:column;align-items:center;padding-top:16px;display:flex}.hero-art img{mix-blend-mode:multiply;width:100%}.art-caption{font-family:var(--serif);color:var(--muted);margin-top:15px;font-size:16px;font-style:italic}.status-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:26px;padding:19px 0;font-size:14px;display:flex}.status-label{color:var(--brand);white-space:nowrap;font-size:12px}.status-meta{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.services,.about{grid-template-columns:1fr 2fr;gap:72px;display:grid}.section-heading h2{margin-top:18px;font-size:32px}.service-row{grid-template-columns:30px 1fr;gap:20px;padding-block:0 36px;display:grid}.service-row+.service-row{border-top:1px solid var(--line);padding-top:34px;padding-bottom:0}.service-no{font-family:var(--serif);color:var(--brand);font-size:20px;line-height:1.6}.service-row h3{margin-bottom:16px;font-size:22px}.service-row p{max-width:40em}.service-note{color:var(--muted);margin-top:16px;font-size:13px;line-height:1.8;display:block}.concepts{background:var(--surface);border-block:1px solid var(--line)}.concept-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px;display:flex}.concept-intro{font-size:16px}.concept-intro span{color:var(--muted);margin-top:10px;font-size:13px;line-height:1.8;display:block}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 28px;display:grid}.work-link{text-decoration:none;display:block}.preview-shell{background:var(--paper);border:1px solid #d8d1c7;padding:36px 12px 12px;position:relative;overflow:hidden}.preview{aspect-ratio:1200/820;background:var(--paper);position:relative;overflow:hidden}.preview img{width:100%;height:auto}.preview-label{letter-spacing:.12em;color:#65503d;font-size:10px;position:absolute;top:10px;left:14px}.expand-label{color:var(--brand);font-size:20px;position:absolute;top:4px;right:12px}.work-link:hover .preview-shell{border-color:var(--brand)}.work-title{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.work-title h3{font-size:21px;font-weight:500}.work-index{font-family:var(--serif);color:var(--muted);font-size:17px}.work-description{margin-top:7px;font-size:13px}.work-tags{color:var(--muted);margin-top:10px;font-size:11px}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px;line-height:1.8}th,td{vertical-align:top;border-bottom:1px solid var(--line);padding:22px 0}tr:first-child th,tr:first-child td{border-top:1px solid var(--line)}th{width:26%;padding-right:20px;font-weight:500}td a{align-items:center;min-height:44px;margin-block:-10px;display:inline-flex}.contact{background:var(--contact)}.contact-inner{justify-content:space-between;align-items:center;gap:48px;padding-block:76px;display:flex}.contact h2{margin-top:16px;font-size:32px}.contact p:not(.eyebrow){margin-top:20px;font-size:14px}.email-link{font-family:var(--serif);border-bottom:1px solid var(--ink);align-items:center;gap:30px;min-height:48px;padding:12px 0;font-size:clamp(21px,2.4vw,32px);line-height:1.5;text-decoration:none;display:flex}.email-link span{font-family:var(--sans);font-size:24px}.contact-note{color:#665442;margin-top:14px;font-size:12px;display:block}.site-footer{justify-content:space-between;align-items:center;gap:24px;padding-block:37px;display:flex}.site-footer .wordmark{font-size:23px}.site-footer small{color:var(--muted);font-size:12px}.back-top{align-items:center;gap:18px;min-height:44px;font-size:12px;text-decoration:none;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--paper);padding:12px 20px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);overscroll-behavior:contain;width:min(1100px,100% - 48px);max-width:none;height:min(940px,100dvh - 48px);max-height:none;padding:24px}dialog[open]{grid-template-rows:auto auto auto minmax(80px,1fr) auto;gap:12px;display:grid}dialog::backdrop{background:#29272499}.dialog-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.dialog-close{border:1px solid var(--line);min-height:44px;color:var(--ink);background:0 0;padding:5px 14px;font-size:14px}.dialog-close:hover{border-color:var(--brand);color:var(--brand)}dialog h2{margin:0;font-size:26px}#dialog-preview{border:1px solid var(--line);overscroll-behavior:contain;background:var(--surface);min-width:0;min-height:0;overflow:auto}#dialog-preview:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.zoom-canvas{width:100%}.zoom-canvas img{width:100%;max-width:none;height:auto;display:block}.zoom-toolbar{align-items:center;gap:8px;display:flex}.zoom-toolbar button{border:1px solid var(--line);background:var(--paper);min-width:44px;min-height:44px;color:var(--ink);padding:4px 12px;font-size:14px}.zoom-toolbar button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.zoom-toolbar button:disabled{opacity:.45;cursor:not-allowed}#zoom-level{text-align:center;font-variant-numeric:tabular-nums;min-width:48px;font-size:14px}.zoom-hint{color:var(--muted);font-size:12px}.service-examples{margin:24px 0 0;font-size:14px}.service-examples>div{border-top:1px solid var(--line);padding-block:14px}.service-examples dt{font-weight:600}.service-examples dd{color:var(--muted);margin:5px 0 0;font-size:13px}#dialog-description{margin-top:8px;font-size:15px}.dialog-note{color:var(--muted);margin-top:12px;font-size:12px}@media (width>=1440px){.hero{min-height:690px}}@media (width<=1050px){.wrap{width:calc(100% - 64px)}nav{gap:20px}.hero{gap:8px;min-height:590px}.services,.about{grid-template-columns:1fr 2fr;gap:36px}.work-grid{gap:36px 20px}.contact-inner{gap:28px}.email-link{font-size:24px}.concept-intro{font-size:14px}}@media (width<=760px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.site-header{min-height:unset;flex-wrap:wrap;gap:12px;padding-block:18px 12px}.wordmark{font-size:26px}nav{justify-content:space-between;gap:8px;width:100%}nav a{gap:8px;font-size:12px}.hero{grid-template-columns:1fr;gap:16px;padding-block:46px 34px}.hero h1{margin-top:20px;font-size:34px}.hero-lead{font-size:25px}.hero-description{margin-top:20px;font-size:14px}.hero-art{justify-self:center;width:min(350px,85%);padding-top:0}.art-caption{margin-top:0;font-size:14px}.text-link{margin-top:18px}.status-strip{grid-template-columns:auto 1fr;gap:8px 18px;padding-block:17px;display:grid}.status-strip p{font-size:12px}.status-meta{display:none}.section{padding-block:64px}.services,.about{grid-template-columns:1fr;gap:32px}.section-heading h2{margin-top:10px;font-size:28px}.service-row{gap:14px}.service-row h3{font-size:21px}.service-row p{font-size:15px}.concept-heading{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:32px}.concept-intro{font-size:14px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}.work-title h3{font-size:18px}.work-description{font-size:12px}.work-tags{font-size:10px}.work-index{font-size:14px}.preview-shell{padding:30px 7px 7px}.preview-label{font-size:9px;left:10px}th{width:26%}th,td{padding-block:18px}.contact-inner{flex-direction:column;align-items:flex-start;gap:28px;padding-block:54px}.contact h2{font-size:28px}.contact-action{width:100%}.email-link{justify-content:space-between;gap:12px;font-size:clamp(20px,5.6vw,30px)}.site-footer{flex-wrap:wrap;gap:12px;padding-block:24px}.site-footer small{font-size:11px}.back-top{justify-content:flex-end;width:100%}dialog{border:0;width:100%;height:100dvh;margin:0;padding:16px}dialog[open]{gap:10px}.dialog-note{margin-top:8px;font-size:11px}#dialog-description{margin-top:6px;font-size:13px}dialog h2{font-size:23px}}@media (width<=480px){.work-grid{grid-template-columns:1fr;gap:34px}.work-title h3{font-size:22px}.work-description{font-size:14px}.work-tags{font-size:12px}.preview-shell{padding:36px 12px 12px}.preview-label{font-size:10px}.desktop-break{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.contact .eyebrow{color:#85401d}
