@charset "UTF-8";

/* Common Practice Project — neutral black, precise type, uncropped art. */
:root {
  --ink:#080808;
  --paper:#f2f2f2;
  --white:#f2f2f2;
  --surface:#111111;
  --muted:#a8a8a8;
  --dark-muted:#a8a8a8;
  --accent:#f2f2f2;
  --line:rgba(255,255,255,.19);
  --paper-line:#303030;
  --serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;
  --sans:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --gutter:max(clamp(24px,5.5vw,88px),calc((100vw - 1400px)/2));
  --header-height:88px;
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { color-scheme:dark; scroll-behavior:smooth; scroll-padding-top:calc(var(--header-height) + 24px); scrollbar-gutter:stable; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:var(--sans); font-size:14px; line-height:1.9; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
main { min-width:0; }
figure,p,h1,h2,h3 { margin:0; }
p { text-wrap:pretty; }
.phrase { display:inline-block; }
/* Prefer short Japanese phrases; a phrase can still wrap when zoomed or very narrow. */
html[lang="ja"] main { line-break:strict; word-break:normal; }
html[lang="ja"] .jp-phrase { display:inline-block; max-width:100%; white-space:normal; overflow-wrap:anywhere; vertical-align:baseline; }
h1,h2,h3 { font-family:var(--sans); font-weight:400; overflow-wrap:break-word; text-wrap:pretty; }
h1 { font-size:clamp(38px,4.6vw,64px); line-height:1.08; letter-spacing:-.035em; }
h2 { font-size:clamp(28px,3vw,40px); line-height:1.45; letter-spacing:-.018em; }
h3 { font-size:clamp(23px,2.3vw,32px); line-height:1.4; letter-spacing:-.015em; }
a { color:inherit; text-decoration:none; text-underline-offset:5px; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
button,summary { font:inherit; color:inherit; cursor:pointer; }
img { display:block; max-width:100%; width:100%; height:auto; }
::selection { background:var(--accent); color:var(--ink); }
:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.project-index :focus-visible,.series-works :focus-visible,.career-records :focus-visible,.about-team :focus-visible,.work-detail-meta :focus-visible,.series-about :focus-visible,.mode-series-page .series-hero :focus-visible,.language-menu>div :focus-visible { outline-color:#f2f2f2; }
.micro { font-size:10px; line-height:1.65; font-weight:400; letter-spacing:.13em; }
.eyebrow { margin-bottom:24px; color:var(--accent); font-size:10px; line-height:1.8; letter-spacing:.2em; }
.accent-dot,.footer-dot { color:var(--accent); }
.skip-link { position:fixed; left:20px; top:-100px; padding:14px 20px; background:var(--surface); color:var(--paper); z-index:100; }
.skip-link:focus { top:14px; }

/* Keep navigation within reach without removing the header from document flow. */
.site-header { position:sticky; top:0; z-index:40; min-height:var(--header-height); padding:0 var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:28px; border-bottom:1px solid var(--line); background:var(--ink); }
.header-actions { display:flex; align-items:center; gap:28px; flex-shrink:0; }
.wordmark { display:inline-flex; align-items:center; gap:10px; min-height:44px; flex-shrink:0; font-size:11px; line-height:1.6; letter-spacing:.11em; }
.brand-dot { display:block; flex:0 0 auto; width:6px; height:6px; border-radius:50%; background:var(--accent); }
.menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-width:44px; min-height:44px; padding:10px 0 10px 10px; border:0; background:none; }
.menu-toggle-label { font-size:9px; letter-spacing:.14em; }
.menu-icon { display:flex; flex-direction:column; justify-content:space-between; width:24px; height:15px; }
.menu-icon i { display:block; width:100%; height:1px; background:currentColor; }
.menu-toggle:hover,.menu-close:hover { color:var(--muted); }
.site-menu { position:fixed; inset:0 0 0 auto; width:min(520px,100vw); max-width:100%; height:100vh; height:100dvh; max-height:none; margin:0; padding:0; border:0; border-left:1px solid var(--line); background:var(--ink); color:var(--paper); overflow-y:auto; overscroll-behavior:contain; }
.site-menu::backdrop { background:rgba(0,0,0,.72); }
.site-menu:not([open]) { display:none; }
.site-menu[open] { animation:menu-reveal .22s ease-out; }
.menu-panel { display:flex; flex-direction:column; min-height:100%; padding:24px clamp(24px,4vw,48px) 32px; }
.menu-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.menu-topline>.micro { max-width:20ch; font-size:9px; color:var(--muted); }
.menu-close { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-width:44px; min-height:44px; padding:8px 0 8px 8px; border:0; background:none; font-size:10px; }
.menu-close>span { font-size:28px; font-weight:300; line-height:1; }
.desktop-nav { display:flex; flex-direction:column; align-items:stretch; margin:48px 0; }
.desktop-nav a { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:6px; min-height:84px; padding:20px 34px 20px 0; border-bottom:1px solid var(--line); font-size:clamp(26px,3vw,34px); line-height:1.2; letter-spacing:-.02em; }
.desktop-nav a>span { font-size:10px; line-height:1.7; letter-spacing:.03em; color:var(--muted); }
.desktop-nav a::after { position:absolute; right:0; top:50%; transform:translateY(-50%); content:"→"; color:var(--muted); font-size:20px; }
.desktop-nav a[data-direction="down"]::after { content:"↓"; }
.desktop-nav a:hover { color:var(--muted); }
.desktop-nav a[data-nav][aria-current] { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px; }
.desktop-nav a[data-nav][aria-current]>span { text-decoration:none; }
.menu-footer { margin-top:auto; padding-top:24px; border-top:1px solid var(--line); }
.menu-footer a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; overflow-wrap:anywhere; }
.fallback-nav { display:flex; flex-wrap:wrap; gap:8px 24px; margin:0 var(--gutter); padding:12px 0; border-bottom:1px solid var(--line); font-size:12px; }
.fallback-nav a { display:inline-flex; align-items:center; gap:6px; min-height:44px; }
.fallback-nav a>span { color:var(--muted); font-size:10px; }
@keyframes menu-reveal { from { opacity:0; transform:translateX(24px); } to { opacity:1; transform:translateX(0); } }
.language-menu { position:relative; flex:0 0 auto; }
.language-menu summary { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 0; list-style:none; font-size:9px; line-height:1.6; letter-spacing:.08em; }
.language-menu summary::-webkit-details-marker { display:none; }
.language-menu summary::after { content:"↓"; color:var(--accent); font-size:13px; }
.language-menu[open] summary::after { content:"↑"; }
.language-menu summary>span { color:var(--accent); }
.language-menu>div { position:absolute; z-index:30; top:calc(100% + 8px); right:0; min-width:160px; max-width:calc(100vw - 40px); padding:6px; border:1px solid var(--paper-line); background:var(--surface); color:var(--paper); box-shadow:0 12px 26px rgba(0,0,0,.4); }
.language-menu>div a { display:flex; align-items:center; min-height:44px; padding:10px 12px; font-size:14px; line-height:1.6; }
.language-menu>div a:hover,.language-menu>div a[aria-current="page"] { background:#202020; }

/* Quiet links and natural-ratio image mats across all pages. */
.text-link,.artist-text-link,.artist-intro-link>a,.about-intro-link>a,.career-actions>a,.about-actions>a,.career-closing>a { display:inline-flex; align-items:center; gap:20px; min-height:44px; font-size:13px; line-height:1.7; }
.text-link { gap:24px; }
.round-arrow { display:grid; place-items:center; flex-shrink:0; width:36px; height:36px; border:1px solid #686868; border-radius:50%; font-size:18px; }
.artist-text-link,.artist-intro-link>a,.about-intro-link>a,.career-actions>a,.about-actions>a,.career-closing>a { border-bottom:1px solid var(--line); }
.artist-text-link { border-bottom-color:var(--paper-line); }
.text-link:hover,.artist-text-link:hover,.artist-intro-link>a:hover,.about-intro-link>a:hover,.career-actions>a:hover,.about-actions>a:hover,.career-closing>a:hover { color:var(--accent); }
.landing-hero-image,.series-hero-grid figure,.career-art,.project-card figure,.series-card figure,.work-detail-hero figure>a { display:block; min-width:0; padding:16px; border:1px solid var(--line); background:rgba(255,255,255,.025); transition:border-color .2s ease; }
.project-card figure,.series-card figure { border-color:var(--paper-line); background:#171717; }
.project-card:hover figure,.series-card:hover figure,.work-detail-hero figure>a:hover { border-color:#737373; }
.landing-hero-image img,.series-hero-grid img,.career-art img,.project-card img,.series-card img,.work-detail-hero img,.team-member img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.landing-hero-image figcaption,.career-art figcaption,.work-detail-hero figcaption { margin-top:14px; color:var(--muted); font-size:9px; line-height:1.7; letter-spacing:.08em; text-align:right; }

/* Landing page. */
.landing-hero { padding:24px var(--gutter) 64px; }
.landing-hero-label,.series-hero-label { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; color:var(--muted); }
.landing-hero-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:clamp(40px,6vw,96px); padding-top:48px; }
.landing-hero-copy h1 { font-size:clamp(44px,4.9vw,64px); line-height:1.08; letter-spacing:-.045em; }
.landing-hero-copy h1 em { font-weight:400; font-style:normal; color:inherit; }
.landing-hero-copy>p:not(.eyebrow) { max-width:36em; margin:28px 0 22px; color:#c7c7c7; font-size:14px; line-height:2; }
.landing-hero-image { justify-self:end; width:100%; max-width:620px; }
.landing-statement,.project-index-heading,.series-heading,.series-about,.work-detail-meta { display:grid; grid-template-columns:minmax(0,.6fr) minmax(0,1fr); gap:24px 64px; }
.landing-statement { padding:80px var(--gutter); background:var(--surface); color:var(--paper); border-bottom:1px solid var(--paper-line); }
.landing-statement>p:first-child,.project-index-heading>.micro,.series-heading>.micro,.series-about>.micro,.work-detail-meta>.micro { color:var(--dark-muted); }
.landing-statement>p:last-child { grid-column:2; max-width:52ch; color:#b8b8b8; line-height:2; }
.project-index { padding:80px var(--gutter) 88px; background:var(--surface); color:var(--paper); }
.project-index-heading { align-items:start; margin-bottom:48px; }
.project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(32px,5vw,80px); }
.project-card { display:block; min-width:0; align-self:start; }
.project-card-mode { margin-top:80px; }
.project-card-copy { position:relative; padding:20px 0 24px; border-bottom:1px solid var(--paper-line); }
.project-card-copy>.micro { color:var(--dark-muted); }
.project-card-copy h3 { margin:16px 0 14px; font-size:clamp(26px,2.65vw,36px); line-height:1.15; }
.project-card-copy p { max-width:65%; color:var(--dark-muted); font-size:10px; letter-spacing:.08em; }
.project-card-link { display:block; margin-top:22px; font-size:10px; letter-spacing:.1em; }
.artist-intro-link,.about-intro-link { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 32px; padding:24px 0; border-top:1px solid var(--paper-line); }
.artist-intro-link { margin-top:64px; }
.artist-intro-link>.micro,.about-intro-link .micro { color:var(--dark-muted); }
.artist-intro-link>a,.about-intro-link>a { border-bottom-color:var(--paper-line); }
.about-intro-link p { margin-top:8px; font-size:14px; color:#b8b8b8; }

/* Exhibition and visual series. */
.series-hero { padding:24px var(--gutter) 64px; }
.series-hero-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:clamp(40px,6vw,96px); padding-top:48px; }
.series-hero h1 { font-size:clamp(38px,4.6vw,60px); line-height:1.12; }
.series-byline { margin-top:24px; color:var(--accent); font-size:11px; letter-spacing:.1em; }
.series-byline .artist-text-link { font-size:11px; border-bottom-color:var(--line); }
.series-lead { max-width:38em; margin-top:24px; color:#c7c7c7; font-size:14px; line-height:2; }
.series-hero-grid figure { width:100%; max-width:630px; justify-self:end; }
.mode-series-page .series-hero { background:#101010; color:var(--paper); }
.mode-series-page .series-hero-label,.mode-series-page .series-byline,.mode-series-page .eyebrow { color:var(--dark-muted); }
.mode-series-page .series-lead { color:#b8b8b8; }
.mode-series-page .series-hero-grid figure { border-color:var(--paper-line); background:#171717; }
.series-works { padding:80px var(--gutter) 88px; background:var(--surface); color:var(--paper); }
.series-heading { margin-bottom:48px; }
.series-heading>p:last-child { grid-column:2; max-width:52ch; color:#b8b8b8; line-height:2; }
.series-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px clamp(36px,6.5vw,104px); align-items:start; }
.series-card { min-width:0; }
.series-card:nth-child(even) { margin-top:92px; }
.series-card>div { display:flex; justify-content:space-between; gap:16px; padding:18px 0; border-bottom:1px solid var(--paper-line); color:#b8b8b8; font-size:10px; line-height:1.8; letter-spacing:.09em; }
.series-position { display:block; margin-bottom:4px; color:var(--muted); font-size:9px; letter-spacing:.08em; }
.series-about { padding:80px var(--gutter); background:#0d0d0d; color:var(--paper); }
.series-about h2 { margin-bottom:24px; }
.series-about>div>p { max-width:54ch; color:#b8b8b8; line-height:2; }
.exhibition-details { margin:30px 0 0; border-top:1px solid var(--paper-line); }
.exhibition-details>div { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:center; gap:20px; padding:14px 0; border-bottom:1px solid var(--paper-line); }
.exhibition-details dt { color:var(--dark-muted); font-size:10px; letter-spacing:.08em; }
.exhibition-details dd { min-width:0; margin:0; font-size:13px; overflow-wrap:anywhere; }

/* Individual work. */
.work-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:0 12px; padding:12px var(--gutter); border-bottom:1px solid var(--line); color:var(--muted); font-size:9px; letter-spacing:.06em; }
.work-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; }
.work-breadcrumb a:hover { color:var(--paper); }
.work-detail-hero { display:grid; grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr); align-items:start; gap:clamp(40px,6vw,96px); padding:56px var(--gutter) 72px; }
.work-detail-title { position:sticky; top:calc(var(--header-height) + 32px); padding-top:12px; }
.work-detail-title>.micro { color:var(--muted); }
.work-detail-title h1 { margin:24px 0; font-size:clamp(36px,4.25vw,56px); line-height:1.12; }
.work-detail-title>p:last-child { color:var(--accent); font-size:10px; line-height:1.8; letter-spacing:.1em; }
.work-detail-hero figure { width:100%; max-width:800px; justify-self:end; }
.work-detail-meta { padding:64px var(--gutter); background:var(--surface); color:var(--paper); }
.work-detail-meta .exhibition-details { margin:0; }
.work-detail-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.work-detail-nav a { display:flex; min-width:0; min-height:120px; flex-direction:column; justify-content:space-between; gap:14px; padding:26px clamp(24px,4vw,64px); border-right:1px solid var(--line); }
.work-detail-nav a:nth-child(2) { text-align:center; }
.work-detail-nav a:last-child { text-align:right; border-right:0; }
.work-detail-nav a:hover { background:rgba(255,255,255,.035); }
.work-detail-nav .micro { color:var(--muted); }
.work-detail-nav strong { font-family:var(--sans); font-size:clamp(17px,1.5vw,23px); font-weight:400; line-height:1.45; overflow-wrap:break-word; }

/* Artist profile and source records. */
.career-hero { padding:24px var(--gutter) 56px; }
.career-hero-topline { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px 24px; color:var(--muted); }
.career-hero-topline>a { display:inline-flex; align-items:center; gap:20px; min-height:44px; font-size:12px; }
.career-hero-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); align-items:center; gap:clamp(40px,6vw,96px); padding:40px 0 48px; }
.career-artist-name { margin-bottom:20px; color:var(--accent); font-size:14px; letter-spacing:.08em; }
.career-hero h1 { font-size:clamp(28px,3.05vw,40px); line-height:1.6; letter-spacing:0; }
.career-lead { max-width:52ch; margin-top:24px; font-size:14px; line-height:2; color:#c7c7c7; }
.career-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 26px; margin-top:24px; }
.career-actions>a.career-since { font-size:11px; color:var(--muted); }
.career-art { width:100%; max-width:400px; justify-self:end; }
.career-highlights { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.career-highlight { position:relative; min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:26px; border-right:1px solid var(--line); transition:background .18s ease; }
.career-highlight:first-child { padding-left:0; }
.career-highlight:last-child { padding-right:0; border-right:0; }
.career-highlight:hover { background:rgba(255,255,255,.035); }
.career-highlight>.micro { color:var(--accent); font-size:10px; }
.career-highlight h2 { margin:14px 0 10px; font-size:clamp(19px,1.6vw,23px); line-height:1.6; letter-spacing:0; }
.career-highlight p { padding-bottom:18px; font-size:12px; line-height:1.85; color:#bfbfbf; }
.career-highlight-arrow { margin-top:auto; color:var(--accent); font-size:18px; }
.career-records { display:grid; grid-template-columns:minmax(0,.43fr) minmax(0,1fr); align-items:start; gap:clamp(32px,5vw,80px); padding:72px var(--gutter) 80px; background:var(--surface); color:var(--paper); }
.career-records-heading { position:sticky; top:calc(var(--header-height) + 32px); }
.career-records-heading>.micro { color:var(--dark-muted); }
.career-records-heading h2 { margin-top:24px; font-size:clamp(26px,2.5vw,34px); line-height:1.5; }
.career-records-heading div>p { margin-top:20px; color:#b8b8b8; font-size:14px; line-height:2; }
.career-list { list-style:none; margin:0; padding:0; min-width:0; }
.career-entry { display:grid; grid-template-columns:42px minmax(0,1fr); gap:24px; padding:30px 0; border-top:1px solid var(--paper-line); scroll-margin-top:28px; }
.career-entry:first-child { padding-top:24px; }
.career-number { color:#a0a0a0; font-family:var(--sans); font-size:24px; line-height:1.4; }
.career-entry article { min-width:0; }
.career-entry-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; color:#a8a8a8; font-size:10px; line-height:1.75; }
.career-entry-meta>span:first-child { letter-spacing:.06em; }
.career-entry h3 { margin:14px 0 12px; font-size:clamp(20px,1.65vw,24px); line-height:1.6; letter-spacing:0; }
.career-entry article>p { max-width:66ch; color:#b8b8b8; font-size:14px; line-height:1.95; }
.career-source-links { display:flex; flex-direction:column; align-items:flex-start; gap:3px; list-style:none; margin:16px 0 0; padding:0; }
.career-source-links li { min-width:0; max-width:100%; }
.career-source-links a { display:inline-flex; align-items:center; flex-wrap:wrap; gap:4px 14px; min-height:44px; padding:6px 0; font-size:12px; line-height:1.75; text-decoration:underline; text-decoration-color:#777777; overflow-wrap:anywhere; }
.career-source-links a:hover { text-decoration-color:var(--paper); }
.source-language { color:var(--dark-muted); font-size:10px; }
.career-closing { padding:64px var(--gutter); border-bottom:1px solid var(--line); }
.career-closing h2 { max-width:26em; font-size:clamp(26px,2.8vw,38px); }
.career-closing>p { max-width:58ch; margin:20px 0; color:#c7c7c7; line-height:1.95; }

/* About Us: uncropped photographs, captions below, aligned profiles. */
.about-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:center; gap:clamp(40px,6vw,96px); padding:56px var(--gutter) 64px; border-bottom:1px solid var(--line); }
.about-hero-copy { min-width:0; }
.about-hero-copy>.micro { color:var(--accent); }
.about-hero h1 { margin:30px 0 24px; font-size:clamp(28px,3.05vw,40px); line-height:1.65; letter-spacing:0; }
.about-lead { max-width:48ch; color:#c7c7c7; font-size:14px; line-height:2; }
.about-actions { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px 24px; margin-top:28px; }
.about-signature { margin-top:40px; color:var(--muted); font-size:9px; }
.about-studio { min-width:0; width:100%; max-width:460px; justify-self:end; padding:16px; border:1px solid var(--line); background:rgba(255,255,255,.025); }
.about-studio img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.about-studio figcaption { display:flex; flex-direction:column; gap:6px; margin-top:16px; color:#c7c7c7; font-size:12px; line-height:1.8; }
.about-studio figcaption .micro { color:var(--muted); font-size:9px; }
.about-practice,.about-team-heading,.about-inquiries { display:grid; grid-template-columns:minmax(0,.6fr) minmax(0,1fr); gap:32px 64px; }
.about-practice { padding:72px var(--gutter); }
.about-practice>.micro,.about-inquiries>.micro { color:var(--muted); }
.about-practice h2,.about-inquiries h2 { margin-bottom:24px; font-size:clamp(26px,2.8vw,38px); line-height:1.6; }
.about-practice div>p { max-width:58ch; color:#c7c7c7; font-size:14px; line-height:2; }
.about-team { padding:72px var(--gutter) 80px; background:var(--surface); color:var(--paper); }
.about-team-heading { margin-bottom:48px; }
.about-team-heading>.micro { color:var(--dark-muted); }
.about-team-heading h2 { margin-bottom:16px; font-size:clamp(26px,2.7vw,36px); line-height:1.6; }
.about-team-heading div>p { color:#b8b8b8; font-size:14px; line-height:1.95; }
.team-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(40px,7vw,104px); max-width:960px; margin:0 auto; }
.team-member { display:flex; flex-direction:column; min-width:0; }
.team-member figure { width:100%; max-width:350px; margin:0; padding:12px; border:1px solid var(--paper-line); background:#171717; }
.team-member-copy { display:flex; flex:1; flex-direction:column; padding-top:24px; }
.team-role { margin-bottom:10px; color:var(--dark-muted); font-size:11px; }
.team-member h3 { margin:0 0 20px; font-size:clamp(24px,2.2vw,30px); line-height:1.4; }
.team-description { flex:1; max-width:45ch; color:#b8b8b8; font-size:14px; line-height:1.95; }
.team-email { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:52px; margin-top:24px; padding:14px 0; border-top:1px solid var(--paper-line); font-size:14px; line-height:1.8; text-decoration:underline; text-decoration-color:#777777; }
.team-email>span:first-child { min-width:0; overflow-wrap:anywhere; }
.team-email>span:last-child { flex-shrink:0; }
.team-email:hover { text-decoration-color:var(--paper); }

/* Contact and footer use one rhythm throughout. */
.project-contact { display:block; padding:48px var(--gutter); border-top:1px solid var(--line); background:var(--ink); color:var(--paper); }
.contact-block { max-width:680px; margin-left:auto; }
.contact-block>.micro { display:block; margin-bottom:14px; color:var(--muted); font-family:var(--sans); font-size:10px; line-height:1.65; letter-spacing:.08em; }
.contact-block a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:52px; font-family:var(--sans); font-size:clamp(25px,2.6vw,36px); line-height:1.5; letter-spacing:-.025em; overflow-wrap:anywhere; }
.contact-block a>span { flex-shrink:0; font-family:var(--sans); font-size:20px; color:var(--accent); }
.contact-block a:hover { color:var(--accent); }
.about-inquiries { padding:72px var(--gutter); border-bottom:1px solid var(--line); }
.about-inquiries div>p { max-width:58ch; color:#c7c7c7; font-size:14px; line-height:1.95; }
.about-inquiries a { display:flex; flex-direction:column; align-items:flex-start; gap:12px; min-height:52px; margin-top:28px; padding:22px 0 8px; border-top:1px solid var(--line); }
.about-inquiries a>span { font-size:10px; color:var(--muted); }
.about-inquiries strong { font-family:var(--sans); font-size:clamp(25px,2.6vw,36px); font-weight:400; line-height:1.5; letter-spacing:-.025em; overflow-wrap:anywhere; }
.about-inquiries strong>span { color:var(--accent); font-family:var(--sans); font-size:20px; }
.about-inquiries a:hover strong { color:var(--accent); }
.site-footer { padding:44px var(--gutter) 0; border-top:1px solid var(--line); }
.footer-title { font-family:var(--sans); font-size:clamp(24px,2.65vw,38px); line-height:1.3; letter-spacing:-.025em; overflow-wrap:break-word; }
.footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; margin-top:32px; padding:18px 0 24px; color:var(--muted); font-size:9px; }
.footer-bottom a { display:inline-flex; align-items:center; gap:20px; min-height:44px; color:var(--paper); }
.not-found { display:flex; min-height:65vh; flex-direction:column; align-items:flex-start; justify-content:center; gap:28px; padding:64px var(--gutter); }
.not-found h1 { font-size:clamp(28px,4vw,52px); line-height:1.4; }
.not-found>p:not(.micro) { max-width:58ch; color:var(--muted); }
.not-found>a { display:inline-flex; align-items:center; min-height:44px; border-bottom:1px solid var(--line); }

/* Thai uses untracked text and room for combining marks. */
html[lang="th"] { --sans:Tahoma,"Leelawadee UI",sans-serif; --serif:Tahoma,"Leelawadee UI",sans-serif; }
html[lang="th"] h1,html[lang="th"] h2,html[lang="th"] h3 { line-height:1.55; letter-spacing:0; }
html[lang="th"] .micro,html[lang="th"] .eyebrow,html[lang="th"] .series-card>div { letter-spacing:0; }

@media(max-width:1180px) {
  .landing-hero-grid,.series-hero-grid { gap:40px; }
  .career-records { grid-template-columns:minmax(0,.4fr) minmax(0,1fr); gap:32px; }
  .career-entry { grid-template-columns:30px minmax(0,1fr); gap:18px; }
  .about-practice,.about-team-heading,.about-inquiries,.project-contact,.landing-statement,.project-index-heading,.series-heading,.series-about,.work-detail-meta { column-gap:40px; }
}

@media(max-width:760px) {
  :root { --gutter:clamp(20px,5.5vw,32px); --header-height:76px; }
  html { scroll-padding-top:calc(var(--header-height) + 20px); }
  body { font-size:14px; }
  h1 { font-size:clamp(32px,9.6vw,44px); }
  h2 { font-size:clamp(25px,7vw,31px); }
  h3 { font-size:26px; }
  .micro { font-size:10px; letter-spacing:.08em; }
  .eyebrow { margin-bottom:18px; font-size:10px; }
  .site-header { gap:12px; }
  .wordmark { max-width:min(160px,33vw); min-width:0; font-size:9px; letter-spacing:.07em; gap:7px; }
  .brand-dot { width:5px; height:5px; }
  .header-actions { gap:14px; }
  .menu-toggle { gap:10px; }
  .menu-toggle-label { font-size:8px; letter-spacing:.1em; }
  .language-menu summary { font-size:8px; gap:5px; letter-spacing:.02em; }
  .language-menu summary>span { font-size:9px; }
  .menu-panel { padding-top:16px; }
  .desktop-nav { margin:32px 0; }
  .desktop-nav a { font-size:28px; min-height:78px; padding-top:17px; padding-bottom:17px; }
  .landing-hero-image,.series-hero-grid figure,.career-art,.project-card figure,.series-card figure,.work-detail-hero figure>a { padding:10px; }
  .landing-hero-image figcaption,.career-art figcaption,.work-detail-hero figcaption { margin-top:10px; font-size:9px; letter-spacing:.03em; }
  .landing-hero,.series-hero { padding:20px var(--gutter) 44px; }
  .landing-hero-label,.series-hero-label { gap:6px 18px; font-size:9px; }
  .landing-hero-grid,.series-hero-grid { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:32px; }
  .landing-hero-copy h1 { font-size:clamp(39px,11.8vw,46px); line-height:1.08; }
  .landing-hero-copy>p:not(.eyebrow) { max-width:42em; margin:22px 0 16px; line-height:1.95; }
  .landing-hero-image,.series-hero-grid figure { max-width:none; }
  .landing-statement,.project-index-heading,.series-heading,.series-about,.work-detail-meta,.about-practice,.about-team-heading,.about-inquiries,.project-contact { grid-template-columns:minmax(0,1fr); gap:22px; }
  .landing-statement { padding:44px var(--gutter); }
  .landing-statement>p:last-child,.series-heading>p:last-child { grid-column:1; }
  .project-index,.series-works { padding:44px var(--gutter) 48px; }
  .project-index-heading,.series-heading { margin-bottom:32px; }
  .project-grid,.series-grid { grid-template-columns:minmax(0,1fr); gap:44px; }
  .project-card-mode,.series-card:nth-child(even) { margin-top:0; }
  .project-card-copy { padding:18px 0 22px; }
  .project-card-copy h3 { font-size:29px; margin:14px 0; }
  .project-card-copy p { max-width:none; }
  .project-card-link { margin-top:18px; }
  .artist-intro-link { margin-top:44px; }
  .artist-intro-link,.about-intro-link { padding:20px 0; gap:10px 20px; }
  .artist-intro-link>a,.about-intro-link>a { font-size:13px; }
  .about-intro-link { align-items:flex-start; flex-direction:column; }
  .series-hero h1 { font-size:clamp(34px,10.5vw,44px); line-height:1.15; }
  .series-byline { margin-top:18px; }
  .series-lead { margin-top:20px; line-height:1.95; }
  .series-card>div { font-size:10px; padding:16px 0; letter-spacing:.05em; }
  .series-about { padding:44px var(--gutter); }
  .series-about h2 { margin-bottom:20px; }
  .exhibition-details { margin-top:24px; }
  .exhibition-details>div { grid-template-columns:76px minmax(0,1fr); gap:16px; padding:12px 0; }
  .work-breadcrumb { gap:0 8px; padding:8px var(--gutter); font-size:9px; letter-spacing:.02em; }
  .work-detail-hero { grid-template-columns:minmax(0,1fr); gap:28px; padding:32px var(--gutter) 44px; }
  .work-detail-title { position:static; padding:0; }
  .work-detail-title h1 { margin:16px 0; font-size:clamp(34px,10.5vw,44px); line-height:1.15; }
  .work-detail-title h1 br { display:none; }
  .work-detail-hero figure { max-width:none; }
  .work-detail-meta { padding:40px var(--gutter); }
  .work-detail-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .work-detail-nav a { min-height:96px; padding:20px var(--gutter); gap:12px; }
  .work-detail-nav a:nth-child(2) { display:flex; grid-column:1/-1; grid-row:2; min-height:82px; border-top:1px solid var(--line); border-right:0; gap:8px; }
  .work-detail-nav a:last-child { border-right:0; }
  .work-detail-nav strong { font-size:18px; }
  .career-hero { padding:16px var(--gutter) 40px; }
  .career-hero-topline { gap:8px 18px; }
  .career-hero-topline>.micro { font-size:9px; }
  .career-hero-topline>a { font-size:12px; gap:10px; }
  .career-hero-grid { grid-template-columns:minmax(0,1fr); gap:28px; padding:24px 0 32px; }
  .career-artist-name { margin-bottom:16px; font-size:13px; }
  .career-hero h1 { font-size:clamp(24px,6.9vw,30px); line-height:1.65; }
  .career-hero h1 br { display:none; }
  .career-lead { margin-top:20px; line-height:1.95; }
  .career-actions { align-items:flex-start; flex-direction:column; gap:8px; margin-top:20px; }
  .career-art { max-width:none; }
  .career-highlights { grid-template-columns:minmax(0,1fr); }
  .career-highlight,.career-highlight:first-child,.career-highlight:last-child { padding:22px 0; border-right:0; border-bottom:1px solid var(--line); }
  .career-highlight:last-child { border-bottom:0; }
  .career-highlight>.micro { padding-right:28px; }
  .career-highlight h2 { margin:10px 0 8px; font-size:20px; }
  .career-highlight p { padding-bottom:0; font-size:13px; }
  .career-highlight-arrow { position:absolute; top:18px; right:0; }
  .career-records { grid-template-columns:minmax(0,1fr); gap:32px; padding:44px var(--gutter) 48px; }
  .career-records-heading { position:static; }
  .career-records-heading h2 { margin-top:18px; font-size:28px; }
  .career-records-heading div>p { margin-top:16px; line-height:1.95; }
  .career-entry { grid-template-columns:28px minmax(0,1fr); gap:12px; padding:26px 0; }
  .career-number { font-size:23px; }
  .career-entry h3 { margin:12px 0; font-size:20px; }
  .career-entry-meta { gap:6px 10px; font-size:10px; }
  .career-source-links a { font-size:12px; }
  .career-closing { padding:44px var(--gutter); }
  .career-closing h2 { font-size:28px; }
  .about-hero { grid-template-columns:minmax(0,1fr); gap:32px; padding:32px var(--gutter) 44px; }
  .about-hero h1 { margin:24px 0 20px; font-size:clamp(25px,7.3vw,31px); line-height:1.65; }
  .about-lead { line-height:1.95; }
  .about-actions { align-items:flex-start; flex-direction:column; gap:8px; margin-top:22px; }
  .about-signature { margin-top:28px; }
  .about-studio { max-width:none; padding:10px; }
  .about-studio figcaption { margin-top:12px; font-size:12px; }
  .about-practice,.about-inquiries { padding:44px var(--gutter); }
  .about-practice h2,.about-inquiries h2 { font-size:27px; margin-bottom:20px; }
  .about-team { padding:44px var(--gutter) 48px; }
  .about-team-heading { margin-bottom:32px; }
  .about-team-heading h2 { font-size:27px; }
  .team-grid { grid-template-columns:minmax(0,1fr); gap:44px; }
  .team-member figure { max-width:350px; padding:10px; }
  .team-member-copy { padding-top:22px; }
  .team-member h3 { font-size:27px; margin-bottom:16px; }
  .team-email { margin-top:22px; font-size:14px; }
  .project-contact { padding:32px var(--gutter); }
  .contact-block a,.about-inquiries strong { font-size:clamp(22px,6.5vw,29px); }
  .about-inquiries a { margin-top:24px; }
  .site-footer { padding:32px var(--gutter) 0; }
  .footer-title { font-size:clamp(20px,5.6vw,28px); }
  .footer-bottom { margin-top:24px; padding-top:8px; gap:4px 16px; font-size:9px; }
  .not-found { gap:22px; padding:44px var(--gutter); }
  .not-found h1 { font-size:30px; }
  html[lang="th"] h1,html[lang="th"] h2,html[lang="th"] h3 { line-height:1.55; letter-spacing:0; }
  html[lang="th"] .landing-hero-copy h1 { font-size:clamp(34px,9.8vw,44px); }
}

@media(max-width:380px) {
  .menu-toggle-label { display:none; }
  .header-actions { gap:10px; }
}

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