@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;600&display=swap');
:root{--bg:#0b0d0c;--panel:#131613;--text:#f2f2ec;--muted:#9ca29a;--accent:#c7d98d;--line:rgba(255,255,255,.16);--max:1440px;--pad:clamp(20px,4vw,64px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,'Noto Sans JP',sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{width:100%;display:block}button,input,select{font:inherit}.site-header{position:fixed;z-index:50;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad);mix-blend-mode:difference;color:#fff}.logo{font-size:14px;font-weight:600;letter-spacing:.16em;line-height:1.2}.logo span{display:block;font-size:9px;font-weight:400;color:#bbb}.nav{display:flex;gap:28px;font:11px 'IBM Plex Mono';letter-spacing:.12em}.menu-btn{display:none;border:0;background:none;color:inherit}.hero{min-height:100svh;position:relative;overflow:hidden;display:grid;align-items:end}.hero-media{position:absolute;inset:0}.hero-media img{height:100%;object-fit:cover;filter:brightness(.56) saturate(.7)}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.66))}.hero-copy{position:relative;z-index:2;padding:0 var(--pad) 46px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.eyebrow,.mono{font-family:'IBM Plex Mono';font-size:10px;letter-spacing:.16em;text-transform:uppercase}.hero h1{margin:12px 0 0;font-size:clamp(54px,10vw,156px);line-height:.82;letter-spacing:-.07em;font-weight:500}.hero h1 span{display:block}.hero-meta{display:grid;grid-template-columns:repeat(3,auto);gap:24px;border-top:1px solid var(--line);padding-top:15px;min-width:330px}.hero-meta b{display:block;font-size:22px;font-weight:500}.scroll-mark{position:absolute;right:var(--pad);top:50%;z-index:3;writing-mode:vertical-rl;font:9px 'IBM Plex Mono';letter-spacing:.18em}.section{padding:clamp(84px,12vw,170px) var(--pad);max-width:var(--max);margin:auto}.section-head{display:grid;grid-template-columns:160px 1fr;gap:40px;margin-bottom:60px}.section-no{font:11px 'IBM Plex Mono';color:var(--accent)}.section h2{margin:0;font-size:clamp(38px,6vw,88px);letter-spacing:-.055em;line-height:.95;font-weight:500}.lead-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw}.lead-grid p{font-size:clamp(18px,2vw,28px);line-height:1.85;margin:0}.lead-sub{color:var(--muted);font-size:14px!important}.explore{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filter-row{display:grid;grid-template-columns:repeat(4,1fr) auto;border-top:1px solid var(--line)}.filter-item,.filter-submit{padding:24px 18px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--text);text-align:left}.filter-item label{display:block;color:var(--muted);font:9px 'IBM Plex Mono';letter-spacing:.12em}.filter-item select{width:100%;border:0;background:transparent;color:var(--text);padding-top:7px}.filter-submit{background:var(--accent);color:#10120e;min-width:170px;text-align:center;font-weight:600}.projects-strip{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.project-card{position:relative;overflow:hidden;background:var(--panel)}.project-card img{aspect-ratio:4/5;object-fit:cover;transition:transform .7s ease,filter .7s}.project-card.wide img{aspect-ratio:16/10}.project-card:hover img{transform:scale(1.035);filter:brightness(.72)}.card-info{position:absolute;inset:auto 0 0;padding:24px;background:linear-gradient(transparent,rgba(0,0,0,.88))}.card-no{font:10px 'IBM Plex Mono';color:var(--accent)}.card-title{font-size:clamp(20px,2vw,36px);margin:8px 0 2px;line-height:1.3}.card-meta{font:10px 'IBM Plex Mono';color:#c7c7c1}.ticker{overflow:hidden;border-block:1px solid var(--line);padding:20px 0}.ticker-inner{white-space:nowrap;font-size:clamp(42px,7vw,110px);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35);animation:ticker 28s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}.map-block{display:grid;grid-template-columns:1fr .9fr;min-height:620px}.map-visual{position:relative;background:#d9ddcf;color:#111;padding:60px}.map-shape{position:absolute;inset:10%;background:#a9b29b;clip-path:polygon(54% 1%,67% 13%,65% 26%,78% 36%,68% 46%,79% 58%,63% 67%,59% 82%,44% 98%,31% 82%,35% 68%,20% 56%,29% 43%,19% 29%,35% 20%,38% 7%)}.map-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:#111}.map-dot:after{content:attr(data-label);position:absolute;left:18px;top:-5px;font:10px 'IBM Plex Mono';white-space:nowrap}.map-list{background:var(--panel);padding:55px}.map-item{display:grid;grid-template-columns:44px 1fr auto;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}.footer{padding:70px var(--pad) 30px;border-top:1px solid var(--line)}.footer-title{font-size:clamp(48px,9vw,138px);line-height:.8;letter-spacing:-.07em;margin:0 0 70px}.footer-bottom{display:flex;justify-content:space-between;color:var(--muted);font:9px 'IBM Plex Mono'}.page-hero{padding:170px var(--pad) 70px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(56px,10vw,150px);line-height:.8;letter-spacing:-.07em;margin:0}.page-hero-row{display:flex;justify-content:space-between;align-items:end;margin-top:35px}.archive-tools{position:sticky;top:0;z-index:20;background:rgba(11,13,12,.94);backdrop-filter:blur(14px);display:flex;justify-content:space-between;align-items:center;padding:18px var(--pad);border-bottom:1px solid var(--line)}.chip-list{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:transparent;color:var(--text);padding:9px 14px;font:10px 'IBM Plex Mono'}.chip.active{background:var(--accent);color:#111}.view-switch{font:10px 'IBM Plex Mono'}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:54px 18px;padding:70px var(--pad) 120px;max-width:var(--max);margin:auto}.archive-card img{aspect-ratio:4/3;object-fit:cover;filter:saturate(.75)}.archive-card h2{font-size:20px;line-height:1.4;margin:16px 0 4px}.archive-card .en{font:9px 'IBM Plex Mono';color:var(--muted)}.archive-card:nth-child(4n+1){grid-column:span 2}.archive-card:nth-child(4n+1) img{aspect-ratio:16/9}.single-hero{height:100svh;position:relative;display:flex;align-items:flex-end}.single-hero img{position:absolute;inset:0;height:100%;object-fit:cover;filter:brightness(.5)}.single-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.8))}.single-title{position:relative;z-index:2;padding:0 var(--pad) 48px;width:100%}.single-title h1{font-size:clamp(42px,8vw,120px);line-height:.87;letter-spacing:-.065em;margin:10px 0 24px;max-width:1100px}.single-title .jp{font-size:clamp(18px,2vw,30px);margin-bottom:22px}.single-title-meta{display:flex;gap:32px;border-top:1px solid rgba(255,255,255,.35);padding-top:14px;font:10px 'IBM Plex Mono'}.single-layout{display:grid;grid-template-columns:220px 1fr;gap:7vw}.side-index{position:sticky;top:120px;align-self:start}.side-index a{display:block;padding:10px 0;color:var(--muted);font:9px 'IBM Plex Mono'}.article-section{padding-bottom:110px}.article-section h2{font-size:clamp(34px,5vw,70px);line-height:1;margin:0 0 45px;letter-spacing:-.05em}.article-section .body{font-size:clamp(17px,1.5vw,22px);max-width:830px}.data-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.data-grid div{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:150px 1fr}.data-grid dt{font:9px 'IBM Plex Mono';color:var(--muted)}.data-grid dd{margin:0}.gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.gallery img{height:100%;object-fit:cover}.gallery-side{display:grid;gap:18px}.credit{font:9px 'IBM Plex Mono';color:var(--muted);margin-top:10px}.next-project{display:grid;grid-template-columns:1fr 1fr;min-height:420px}.next-copy{padding:60px;display:flex;flex-direction:column;justify-content:space-between;background:var(--accent);color:#10120e}.next-copy h2{font-size:clamp(38px,6vw,84px);line-height:.9;margin:0;letter-spacing:-.05em}.next-project img{height:100%;object-fit:cover}@media(max-width:900px){.nav{display:none}.menu-btn{display:block}.hero-copy{grid-template-columns:1fr}.hero-meta{min-width:0}.section-head{grid-template-columns:1fr;gap:12px}.lead-grid,.projects-strip,.map-block,.single-layout,.gallery,.next-project{grid-template-columns:1fr}.filter-row{grid-template-columns:1fr 1fr}.filter-submit{grid-column:1/-1}.archive-grid{grid-template-columns:1fr 1fr}.archive-card:nth-child(4n+1){grid-column:span 2}.side-index{display:none}.map-visual{min-height:480px}.next-project img{min-height:380px}}@media(max-width:600px){:root{--pad:18px}.site-header{padding-top:16px}.hero h1{font-size:58px}.hero-meta{grid-template-columns:repeat(3,1fr);gap:8px}.hero-meta b{font-size:16px}.filter-row{grid-template-columns:1fr}.filter-submit{grid-column:auto}.projects-strip,.archive-grid{grid-template-columns:1fr}.archive-card:nth-child(4n+1){grid-column:auto}.page-hero{padding-top:130px}.page-hero-row{display:block}.archive-tools{align-items:flex-start;gap:15px;flex-direction:column}.chip-list{flex-wrap:nowrap;overflow:auto;width:100%}.data-grid{grid-template-columns:1fr}.gallery-side{grid-template-columns:1fr 1fr}.single-title-meta{flex-wrap:wrap;gap:12px}.next-copy{padding:35px 20px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}}
.study-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin-top:44px}.study-grid article{padding:28px 28px 32px 0;border-bottom:1px solid var(--line)}.study-grid article:nth-child(odd){border-right:1px solid var(--line)}.study-grid article:nth-child(even){padding-left:28px}.study-grid span,.spot-grid span,.related-grid span{font:9px 'IBM Plex Mono';letter-spacing:.12em;color:var(--accent)}.study-grid h3,.spot-grid h3,.related-grid h3{font-size:22px;margin:14px 0 10px}.study-grid p,.spot-grid p,.related-grid p,.access-grid p{color:var(--muted);font-size:14px;margin:0}.field-note{margin-top:28px;padding:22px;border:1px solid var(--line);display:grid;grid-template-columns:140px 1fr;gap:20px}.field-note p{margin:0}.drawing-panel{display:grid;grid-template-columns:1.4fr .6fr;gap:30px;align-items:end}.drawing-panel img{background:#fff}.drawing-panel p{color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:4px}.source-note{font-size:12px;color:var(--muted);margin-top:18px}.map-embed{aspect-ratio:16/8;background:var(--panel);margin-bottom:28px}.map-embed iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(.9)}.access-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.access-grid>div{padding:22px 24px 24px 0;border-bottom:1px solid var(--line)}.access-grid>div:nth-child(odd){border-right:1px solid var(--line)}.access-grid>div:nth-child(even){padding-left:24px}.access-grid .mono{color:var(--accent)}.map-button{display:flex;justify-content:space-between;margin-top:28px;padding:20px 22px;background:var(--accent);color:#10120e;font:11px 'IBM Plex Mono';letter-spacing:.1em}.spot-grid,.related-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:44px}.spot-grid>* ,.related-grid>*{padding:28px 24px 30px 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.spot-grid>*:not(:first-child),.related-grid>*:not(:first-child){padding-left:24px}.spot-grid>*:last-child,.related-grid>*:last-child{border-right:0}.spot-grid b{display:block;font:9px 'IBM Plex Mono';margin-top:25px}.related-grid a{min-height:220px;display:flex;flex-direction:column}.related-grid p{margin-bottom:20px}.related-grid h3{font-size:25px}.related-grid a:after{content:'→';margin-top:auto;font-size:25px}@media(max-width:900px){.drawing-panel{grid-template-columns:1fr}.spot-grid,.related-grid{grid-template-columns:1fr}.spot-grid>* ,.related-grid>*{border-right:0;padding-left:0!important}.map-embed{aspect-ratio:4/3}}@media(max-width:600px){.study-grid,.access-grid{grid-template-columns:1fr}.study-grid article,.study-grid article:nth-child(even),.access-grid>div,.access-grid>div:nth-child(even){padding:22px 0;border-right:0}.field-note{grid-template-columns:1fr}.map-embed{aspect-ratio:1/1}}

/* v3 pages */
.compact-section{padding-bottom:90px}.selected-tools{position:sticky;top:0;z-index:25;display:flex;align-items:end;justify-content:space-between;gap:30px;padding:18px var(--pad);background:rgba(11,13,12,.95);backdrop-filter:blur(14px);border-block:1px solid var(--line)}.selected-tools label{display:grid;grid-template-columns:auto minmax(240px,520px);align-items:center;gap:20px;width:min(720px,100%);font:9px 'IBM Plex Mono';letter-spacing:.14em}.selected-tools input{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:10px 0;outline:none}.selected-tools input:focus{border-color:var(--accent)}.selected-grid{max-width:var(--max);margin:auto;padding:72px var(--pad) 140px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.selected-card{background:var(--bg);display:grid;grid-template-columns:180px 1fr;min-height:300px}.selected-card__media{position:relative;overflow:hidden}.selected-card__media img{height:100%;object-fit:cover;filter:grayscale(1) brightness(.62);transition:.6s}.selected-card:hover img{transform:scale(1.04);filter:grayscale(.4) brightness(.72)}.selected-card__media span{position:absolute;left:14px;top:12px;font:11px 'IBM Plex Mono';color:var(--accent)}.selected-card__body{padding:28px}.selected-card__body h2{font-size:22px;line-height:1.4;margin:10px 0 22px}.selected-card__body dl{margin:0}.selected-card__body dl div{display:grid;grid-template-columns:86px 1fr;padding:7px 0;border-top:1px solid var(--line)}.selected-card__body dt{font:8px 'IBM Plex Mono';color:var(--muted)}.selected-card__body dd{font-size:12px;margin:0}.selected-note{display:inline-block;margin:16px 0 0;padding:5px 8px;background:var(--accent);color:#111;font-size:10px}.about-columns{display:grid;grid-template-columns:1.05fr .95fr;gap:10vw}.about-lead{font-size:clamp(24px,3vw,44px);line-height:1.55;margin:0}.about-columns>div p{color:var(--muted);font-size:16px}.about-band{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.about-band>div{padding:65px var(--pad);border-right:1px solid var(--line)}.about-band>div:last-child{border-right:0}.about-band h2{font-size:36px;margin:15px 0}.about-band p{color:var(--muted)}.policy-list{border-top:1px solid var(--line)}.policy-list article{display:grid;grid-template-columns:70px 200px 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}.policy-list article>span{font:10px 'IBM Plex Mono';color:var(--accent)}.policy-list h3{margin:0;font-size:22px}.policy-list p{margin:0;color:var(--muted)}.source-panel ul{margin:0;padding:0;list-style:none}.source-panel li{padding:10px 0;border-bottom:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.contact-intro h2{font-size:clamp(38px,5vw,70px);line-height:1.05;letter-spacing:-.05em}.contact-intro>p{color:var(--muted)}.contact-note{margin-top:50px;padding-top:25px;border-top:1px solid var(--line)}.contact-note ul{padding-left:18px;color:var(--muted);font-size:13px}.contact-form label{display:block;padding:0 0 30px}.contact-form label>span:first-child{display:flex;justify-content:space-between;margin-bottom:10px;font-size:13px}.contact-form b{font:8px 'IBM Plex Mono';color:var(--accent)}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:14px 0;outline:none}.contact-form textarea{border:1px solid var(--line);padding:16px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent)}.privacy-check{display:flex!important;gap:12px;align-items:flex-start}.privacy-check input{margin-top:5px}.privacy-check span{display:block!important;color:var(--muted);font-size:12px}.contact-submit{width:100%;display:flex;justify-content:space-between;border:0;background:var(--accent);color:#111;padding:22px 24px;font:11px 'IBM Plex Mono';letter-spacing:.12em}.form-demo{font-size:11px;color:var(--muted);margin-top:16px}@media(max-width:1000px){.selected-grid{grid-template-columns:1fr}.about-band{grid-template-columns:1fr}.about-band>div{border-right:0;border-bottom:1px solid var(--line)}.contact-layout{grid-template-columns:1fr}.about-columns{grid-template-columns:1fr}.policy-list article{grid-template-columns:50px 160px 1fr}}@media(max-width:650px){.selected-tools{align-items:flex-start;flex-direction:column}.selected-tools label{grid-template-columns:1fr;gap:5px}.selected-card{grid-template-columns:110px 1fr}.selected-card__body{padding:20px 16px}.selected-card__body h2{font-size:17px}.selected-card__body dl div{grid-template-columns:70px 1fr}.policy-list article{grid-template-columns:40px 1fr}.policy-list article p{grid-column:2}.about-band>div{padding:45px var(--pad)}}

/* v4 selected detail / legal / sitemap */
.selected-card-link{display:block;background:var(--bg)}.selected-card-link .selected-card{height:100%}.selected-card__arrow{display:block;margin-top:18px;font:9px 'IBM Plex Mono';color:var(--accent);letter-spacing:.12em}.selected-detail-hero{min-height:78svh;position:relative;display:flex;align-items:flex-end;overflow:hidden}.selected-detail-hero>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:grayscale(1) brightness(.42)}.selected-detail-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.84))}.selected-detail-hero>div{position:relative;z-index:2;width:100%;padding:0 var(--pad) 55px}.selected-detail-hero h1{margin:12px 0;font-size:clamp(44px,8vw,118px);line-height:.95;letter-spacing:-.06em}.selected-detail-layout{display:grid;grid-template-columns:220px 1fr;gap:7vw}.selected-detail-badge{display:inline-block;margin:0 0 28px;padding:7px 10px;background:var(--accent);color:#111;font-size:11px}.external-link-list{border-top:1px solid var(--line)}.external-link-list a{display:grid;grid-template-columns:190px 1fr auto;gap:25px;padding:23px 0;border-bottom:1px solid var(--line);align-items:center}.external-link-list span{font:9px 'IBM Plex Mono';color:var(--accent)}.external-link-list strong{font-size:16px;font-weight:500}.external-link-list b{font-size:22px}.footer-links{display:flex;gap:24px;flex-wrap:wrap;margin:-35px 0 45px;font:9px 'IBM Plex Mono';letter-spacing:.1em}.legal-page{max-width:1050px}.legal-lead{font-size:clamp(20px,3vw,34px);margin:0 0 70px}.legal-page article{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:35px 0;border-top:1px solid var(--line)}.legal-page article>span{font:10px 'IBM Plex Mono';color:var(--accent)}.legal-page article h2{font-size:26px;line-height:1.3;letter-spacing:-.02em;margin:0 0 14px}.legal-page article p{color:var(--muted);margin:0}.sitemap-page{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 7vw}.sitemap-group{border-top:1px solid var(--line);padding-top:22px}.sitemap-group ul{list-style:none;margin:25px 0 0;padding:0}.sitemap-group li{border-bottom:1px solid var(--line)}.sitemap-group a{display:flex;gap:15px;justify-content:space-between;padding:17px 0}.sitemap-group a:hover{color:var(--accent)}.sitemap-group a span{font:9px 'IBM Plex Mono';color:var(--muted)}.sitemap-selected{grid-column:1/-1}.sitemap-selected ul{display:grid;grid-template-columns:repeat(2,1fr);gap:0 35px}.sitemap-selected a{justify-content:flex-start}@media(max-width:900px){.selected-detail-layout{grid-template-columns:1fr}.external-link-list a{grid-template-columns:1fr auto}.external-link-list span{grid-column:1/-1}.sitemap-page{grid-template-columns:1fr}.sitemap-selected{grid-column:auto}}@media(max-width:600px){.selected-detail-hero{min-height:68svh}.selected-detail-hero>div{padding-bottom:30px}.external-link-list a{gap:8px}.sitemap-selected ul{grid-template-columns:1fr}.legal-page article{grid-template-columns:40px 1fr}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}}

/* v5 extended architecture archive */
.archive-notice{max-width:900px}.archive-notice p{color:var(--muted)}
.directory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.directory-card{min-height:310px;padding:42px;background:var(--bg);display:flex;flex-direction:column}.directory-card h2{font-size:clamp(38px,5vw,74px);line-height:.95;letter-spacing:-.06em;margin:35px 0 12px}.directory-card p{color:var(--muted);font-size:18px}.directory-card small{margin-top:auto;font:9px 'IBM Plex Mono';color:var(--accent)}
.profile-hero,.area-hero{min-height:68svh;display:flex;align-items:flex-end;padding:0 var(--pad) 60px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#161b18,#090a09)}.profile-hero h1,.area-hero h1{font-size:clamp(56px,11vw,160px);line-height:.85;letter-spacing:-.075em;margin:20px 0}.profile-hero p,.area-hero p{font-size:22px}.profile-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.profile-layout h2{font-size:clamp(35px,5vw,70px);line-height:1}.profile-lead{font-size:clamp(22px,3vw,38px);line-height:1.55;margin:0}.project-feature a{display:grid;grid-template-columns:1.35fr .65fr;border:1px solid var(--line)}.project-feature img{height:520px;object-fit:cover;filter:grayscale(1) brightness(.7)}.project-feature a>div{padding:40px;display:flex;flex-direction:column}.project-feature h3{font-size:35px}.project-feature b{margin-top:auto;font:10px 'IBM Plex Mono';color:var(--accent)}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.area-card{min-height:380px;padding:35px;background:var(--bg);display:flex;flex-direction:column}.area-card>span{font:9px 'IBM Plex Mono';color:var(--accent)}.area-card h2{font-size:clamp(38px,5vw,68px);line-height:.9;letter-spacing:-.06em;margin:45px 0 10px}.area-card p{font-size:20px;color:var(--muted)}.area-card b{margin-top:auto;font:10px 'IBM Plex Mono'}.area-projects{padding:0;max-width:none}.document-cards{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.document-cards a{padding:30px 28px 35px 0;border-bottom:1px solid var(--line)}.document-cards a+ a{padding-left:28px;border-left:1px solid var(--line)}.document-cards span{font:9px 'IBM Plex Mono';color:var(--accent)}
.resource-layout{display:grid;grid-template-columns:210px 1fr;gap:7vw}.resource-index{position:sticky;top:110px;height:max-content;display:grid}.resource-index a{padding:11px 0;border-bottom:1px solid var(--line);font:9px 'IBM Plex Mono'}.bibliography-list{border-top:1px solid var(--line)}.bibliography-list article{display:grid;grid-template-columns:130px 1fr;gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}.bibliography-list span{font:9px 'IBM Plex Mono';color:var(--accent)}.bibliography-list h3{margin:0 0 8px}.bibliography-list p{margin:0;color:var(--muted)}
.faq-list{max-width:1100px;margin:auto}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:grid;grid-template-columns:70px 1fr auto;gap:20px;padding:28px 0;cursor:pointer;font-size:20px;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:10px 'IBM Plex Mono';color:var(--accent)}.faq-list summary:after{content:'+';font-size:28px}.faq-list details[open] summary:after{content:'−'}.faq-list details>div{padding:0 70px 32px}.faq-list p{color:var(--muted);max-width:800px}
.error-page{min-height:calc(100svh - 80px);display:flex;align-items:center;padding:80px var(--pad)}.error-page h1{font-size:clamp(52px,9vw,135px);line-height:.87;letter-spacing:-.075em;margin:30px 0}.error-page p{color:var(--muted)}.error-actions{display:flex;gap:30px;flex-wrap:wrap;margin-top:45px}.error-actions a{padding-bottom:8px;border-bottom:1px solid var(--accent);font:10px 'IBM Plex Mono'}
@media(max-width:1050px){.nav{gap:14px}.nav a{font-size:8px}.area-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.directory-grid,.profile-layout,.project-feature a,.resource-layout{grid-template-columns:1fr}.resource-index{position:static;grid-template-columns:repeat(3,1fr);margin-bottom:40px}.project-feature img{height:360px}.area-grid{grid-template-columns:1fr}.document-cards{grid-template-columns:1fr}.document-cards a+ a{padding-left:0;border-left:0}.nav{display:none}}
@media(max-width:600px){.directory-card{min-height:240px;padding:28px 20px}.area-card{min-height:280px}.resource-index{grid-template-columns:1fr 1fr}.faq-list summary{grid-template-columns:38px 1fr auto;font-size:16px}.faq-list details>div{padding-left:38px}.project-feature a>div{padding:25px}.profile-hero,.area-hero{min-height:52svh}.bibliography-list article{grid-template-columns:1fr}.error-actions{display:grid;gap:18px}}

/* v6: fixed header and news */
:root{--header-h:78px}.site-header{height:var(--header-h);padding:0 var(--pad);background:rgba(11,13,12,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);mix-blend-mode:normal;transform:none!important;transition:background .3s ease,border-color .3s ease}.site-header .nav a{position:relative;padding:29px 0 26px}.site-header .nav a:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:1px;background:var(--accent);transition:right .25s ease}.site-header .nav a:hover:after{right:0}.archive-tools{top:var(--header-h)}.page-hero{padding-top:calc(var(--header-h) + 92px)}.news-list{border-top:1px solid var(--line)}.news-row{display:grid;grid-template-columns:120px 130px 1fr 24px;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .25s ease,color .25s ease}.news-row time,.news-category{font:10px 'IBM Plex Mono';letter-spacing:.1em;color:var(--muted)}.news-row strong{font-size:16px;font-weight:500}.news-arrow{font-size:18px}.news-row:hover{padding-left:12px;color:var(--accent)}.section-more{display:flex;justify-content:flex-end;margin-top:34px}.section-more a{font:10px 'IBM Plex Mono';letter-spacing:.12em;border-bottom:1px solid var(--text);padding-bottom:6px}.news-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:38px}.news-single{padding:calc(var(--header-h) + 95px) var(--pad) 120px;max-width:1180px;margin:auto}.news-single-head{padding-bottom:62px;border-bottom:1px solid var(--line)}.back-link{font:10px 'IBM Plex Mono';color:var(--muted)}.news-single-meta{display:flex;gap:25px;margin:58px 0 20px;font:10px 'IBM Plex Mono';color:var(--accent);letter-spacing:.12em}.news-single-head h1{max-width:980px;margin:0;font-size:clamp(38px,6vw,86px);line-height:1.15;letter-spacing:-.045em;font-weight:500}.news-single-body{max-width:780px;margin:70px auto 100px}.news-single-body p{font-size:17px;line-height:2}.news-lead{font-size:clamp(20px,2.4vw,30px)!important}.news-note{margin-top:60px;padding:28px;border:1px solid var(--line)}.news-note p{margin:8px 0 0;font-size:14px}.news-pagination{display:flex;justify-content:space-between;padding-top:25px;border-top:1px solid var(--line);font:10px 'IBM Plex Mono'}.sitemap-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.sitemap-links a{padding:22px;background:var(--bg)}
@media(max-width:1100px){.nav{gap:16px}.site-header .nav a{font-size:9px}}
@media(max-width:900px){:root{--header-h:64px}.site-header{height:var(--header-h)}.news-row{grid-template-columns:100px 110px 1fr}.news-arrow{display:none}.sitemap-links{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.news-row{grid-template-columns:1fr;gap:5px;padding:20px 0}.news-row:hover{padding-left:0}.news-category{order:-1}.news-single{padding-top:calc(var(--header-h) + 62px)}.news-single-meta{margin-top:42px}.news-single-body{margin-top:45px}.sitemap-links{grid-template-columns:1fr}}

@media(max-width:900px){.site-header .nav{display:flex;position:fixed;left:0;right:0;top:var(--header-h);height:calc(100svh - var(--header-h));padding:32px var(--pad);background:rgba(11,13,12,.98);flex-direction:column;align-items:flex-start;gap:0;transform:translateX(100%);transition:transform .35s ease}.site-header .nav a{width:100%;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.menu-open .site-header .nav{transform:translateX(0)}.menu-open{overflow:hidden}.menu-btn{display:block;position:relative;z-index:2}}

/* v7: recommended and related links */
.link-directory{padding-top:30px}.link-group{padding:70px 0;border-top:1px solid var(--line)}.link-group-head{display:grid;grid-template-columns:190px 1fr;gap:36px;margin-bottom:36px}.link-group-head h2{font-size:clamp(34px,5vw,68px)}.related-link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.related-link-card{min-height:330px;padding:34px;background:var(--bg);display:flex;flex-direction:column;transition:background .25s ease,color .25s ease}.related-link-card>span{font:9px 'IBM Plex Mono';letter-spacing:.12em;color:var(--accent)}.related-link-card h3{font-size:clamp(24px,3vw,38px);line-height:1.2;letter-spacing:-.03em;margin:32px 0 14px}.related-link-card p{color:var(--muted);max-width:520px}.related-link-card b{margin-top:auto;font:10px 'IBM Plex Mono';letter-spacing:.12em}.related-link-card:hover{background:var(--accent);color:#10120e}.related-link-card:hover span,.related-link-card:hover p{color:#10120e}.footer-links{display:flex;gap:18px 28px;flex-wrap:wrap;margin-bottom:45px;font:9px 'IBM Plex Mono';letter-spacing:.08em}
@media(max-width:850px){.related-link-grid{grid-template-columns:1fr}.link-group-head{grid-template-columns:1fr;gap:10px}.related-link-card{min-height:270px}}

/* v8: KAPis brand integration */
:root{--accent:#6e8f7a;--accent-soft:#8eaa97;--brand-white:#f4f4ee}
.logo{display:flex;align-items:center;mix-blend-mode:normal}.logo img{width:138px;height:auto}.site-header{mix-blend-mode:normal;background:rgba(11,13,12,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.site-header-tools{display:flex;align-items:center;gap:14px}.language-wrap{position:relative;display:flex;align-items:center;gap:8px;font:10px 'IBM Plex Mono';letter-spacing:.1em}.language-label{color:var(--muted)}#google_translate_element{min-width:72px}.goog-te-gadget{font-size:0!important}.goog-te-gadget .goog-te-combo{margin:0!important;border:1px solid var(--line);background:#0b0d0c;color:var(--text);padding:7px 9px;font:10px 'IBM Plex Mono';letter-spacing:.08em}.goog-logo-link,.goog-te-gadget span{display:none!important}.goog-te-banner-frame.skiptranslate{display:none!important}body{top:0!important}.skiptranslate iframe{visibility:hidden!important}.translated-ltr body,.translated-rtl body{top:0!important}
.footer-brand{display:block;width:min(300px,70vw);margin-bottom:38px}.footer-brand img{width:100%}.footer-title{margin-top:0}.kapis-accent{color:var(--accent)}
@media(max-width:900px){.language-label{display:none}.site-header-tools{gap:8px}.logo img{width:118px}.goog-te-gadget .goog-te-combo{max-width:72px;padding:6px 5px}.site-header .nav{top:var(--header-h)}}
@media(max-width:600px){.logo img{width:103px}.language-wrap{display:none}}


/* v9: white editorial body + black fixed navigation/footer */
:root{
  --bg:#f7f7f3;
  --panel:#ffffff;
  --text:#111311;
  --muted:#6f756f;
  --accent:#6e8f7a;
  --accent-soft:#dce6df;
  --line:rgba(17,19,17,.16);
  --header-dark:#0b0d0c;
}
body{background:var(--bg);color:var(--text)}
.site-header{background:rgba(11,13,12,.96);border-bottom-color:rgba(255,255,255,.14);color:#f7f7f2}
.site-header .nav a{color:#f7f7f2}
.site-header .nav a:after{background:#6e8f7a}
.logo img{width:122px}
.goog-te-gadget .goog-te-combo{background:#0b0d0c;color:#f7f7f2;border-color:rgba(255,255,255,.2)}
.menu-btn{color:#f7f7f2}
.footer{background:#0b0d0c;color:#f7f7f2;border-top:0}
.footer a,.footer-title,.footer-bottom{color:#f7f7f2}
.footer-brand img{filter:none}
.footer-bottom{border-top-color:rgba(255,255,255,.17)}
.section,.page-hero,.archive,.selected-archive,.profile-section,.area-section,.news-single,.link-group{background:var(--bg)}
.explore,.archive-tools,.project-data,.study-guide,.access,.related-projects,.news-note{background:#f0f1ed}
.project-card,.directory-card,.area-card,.related-link-card,.sitemap-links a{background:#fff}
.card-info,.project-data table,.project-data td,.project-data th{color:var(--text)}
.filter-item,.filter-submit,.chip,.archive-search input{color:var(--text)}
.filter-item select{color:var(--text)}
.filter-submit,.chip.active,.button-primary{background:var(--accent);color:#fff}
.section-no,.card-no,.directory-card>span,.area-card>span,.related-link-card>span,.news-category{color:var(--accent)}
.ticker{background:#0b0d0c;color:#f7f7f2}
.map-block,.directory-grid,.area-grid,.related-link-grid,.sitemap-links{background:var(--line)}
.map-visual,.map-list{background:#fff}
.related-link-card:hover{background:var(--accent);color:#fff}.related-link-card:hover span,.related-link-card:hover p{color:#fff}

/* Hero slider */
.hero-slider{min-height:100svh;background:#dce1dc;color:#111311;padding-top:var(--header-h);align-items:stretch}
.hero-slides{position:absolute;inset:var(--header-h) 0 0;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.25s ease;pointer-events:none}
.hero-slide.is-active{opacity:1;pointer-events:auto}
.hero-slide img{width:100%;height:100%;object-fit:cover;filter:none;transform:scale(1.045);transition:transform 7s linear}
.hero-slide.is-active img{transform:scale(1)}
.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,247,243,.96) 0%,rgba(247,247,243,.78) 25%,rgba(247,247,243,.1) 55%,rgba(247,247,243,.02) 100%)}
.hero-copy{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;padding:clamp(80px,12vh,140px) var(--pad) clamp(96px,13vh,150px);width:100%;height:calc(100svh - var(--header-h))}
.hero-message{max-width:600px}
.hero-message .eyebrow{color:#4b514c;margin-bottom:22px}
.hero-message h1{margin:0;font-size:clamp(52px,6.7vw,110px);line-height:.95;letter-spacing:-.06em;font-weight:600}
.hero-message p{margin:26px 0 0;font-size:clamp(15px,1.45vw,21px);line-height:1.85;font-weight:500}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}
.button-primary,.button-ghost{display:inline-flex;align-items:center;justify-content:center;min-width:190px;padding:16px 22px;border:1px solid var(--accent);font-size:13px;font-weight:600;letter-spacing:.04em}
.button-ghost{background:rgba(247,247,243,.72);color:#111311;border-color:#111311;backdrop-filter:blur(8px)}
.hero-project-label{max-width:250px;padding:18px 0;border-top:1px solid rgba(17,19,17,.4);align-self:flex-end}
.hero-project-label span{display:block;color:#59605a;margin-bottom:8px}.hero-project-label strong{font-size:14px;line-height:1.5}
.hero-slider-ui{position:absolute;z-index:4;left:var(--pad);bottom:34px;display:flex;align-items:center;gap:18px;color:#111311}
.hero-count{font:12px 'IBM Plex Mono'}.hero-count b{font-size:16px}
.hero-progress{width:120px;height:1px;background:rgba(17,19,17,.25);overflow:hidden}.hero-progress i{display:block;width:0;height:100%;background:#111311}
.hero-prev,.hero-next{width:36px;height:36px;border:1px solid rgba(17,19,17,.35);background:rgba(247,247,243,.72);color:#111311;cursor:pointer}
.hero-progress i.is-running{animation:heroProgress 6s linear forwards}@keyframes heroProgress{from{width:0}to{width:100%}}

/* Light-surface refinements */
.page-hero,.news-single-head,.section-head,.lead-grid,.news-row,.bibliography-list article,.faq-list details,.document-cards,.project-data table{border-color:var(--line)}
.page-hero h1,.section h2,.news-single-head h1,.card-title,.directory-card h2,.area-card h2{color:#111311}
.project-card img{filter:none}.project-card:hover img{filter:none}
.project-feature img{filter:none}
.archive-card,.selected-card{background:#fff;border-color:var(--line)}
.archive-card img,.selected-card img{filter:none}
.language-label,.lead-sub,.card-meta,.related-link-card p,.bibliography-list p,.faq-list p{color:var(--muted)}

@media(max-width:900px){
 .site-header .nav{background:rgba(11,13,12,.99);color:#fff}
 .hero-copy{padding-top:65px;padding-bottom:100px;align-items:flex-start}
 .hero-project-label{display:none}
 .hero-slide:after{background:linear-gradient(90deg,rgba(247,247,243,.94) 0%,rgba(247,247,243,.6) 56%,rgba(247,247,243,.08) 100%)}
}
@media(max-width:600px){
 .logo img{width:103px}
 .hero-slider{min-height:760px}
 .hero-slides{bottom:0}
 .hero-slide:after{background:linear-gradient(180deg,rgba(11,13,12,.08) 0%,rgba(11,13,12,.14) 35%,rgba(11,13,12,.72) 100%)}
 .hero-copy{height:696px;align-items:flex-end;padding:70px 22px 135px;color:#fff}
 .hero-message .eyebrow{color:rgba(255,255,255,.75)}
 .hero-message h1{font-size:52px}
 .hero-message p{font-size:14px}
 .button-ghost{background:rgba(0,0,0,.24);color:#fff;border-color:#fff}
 .hero-slider-ui{left:22px;bottom:36px;color:#fff}.hero-progress{background:rgba(255,255,255,.35)}.hero-progress i{background:#fff}.hero-prev,.hero-next{color:#fff;border-color:rgba(255,255,255,.5);background:rgba(0,0,0,.25)}
}

/* v10: logo spacing, hamburger navigation, light outline ticker */
.logo img{width:126px;height:auto}
.footer-brand{width:min(286px,70vw)}

.menu-btn{
  width:34px;
  height:28px;
  padding:0;
  overflow:hidden;
  text-indent:-9999px;
  white-space:nowrap;
  border:0;
  background:linear-gradient(currentColor,currentColor) center/24px 1px no-repeat;
  position:relative;
  cursor:pointer;
}
.menu-btn::before,.menu-btn::after{
  content:"";
  position:absolute;
  left:5px;
  width:24px;
  height:1px;
  background:currentColor;
  transition:top .25s ease,transform .25s ease,opacity .25s ease;
}
.menu-btn::before{top:7px}.menu-btn::after{top:20px}
.menu-open .menu-btn{background-size:0 1px}
.menu-open .menu-btn::before{top:13px;transform:rotate(45deg)}
.menu-open .menu-btn::after{top:13px;transform:rotate(-45deg)}

.ticker{
  background:#f7f7f3;
  color:transparent;
  border-top:1px solid rgba(17,19,17,.18);
  border-bottom:1px solid rgba(17,19,17,.18);
}
.ticker-inner{
  color:transparent;
  -webkit-text-stroke:1px #111311;
  text-stroke:1px #111311;
}

@media(max-width:900px){
  .menu-btn{display:block}
  .site-header .nav{background:#f7f7f3;color:#111311}
  .site-header .nav a{color:#111311;border-bottom-color:rgba(17,19,17,.15)}
}
@media(max-width:600px){.logo img{width:108px}}

/* v11: tightly kerned KAPis master logo */
.logo img{width:132px;height:auto;display:block}
.footer-brand img{width:100%;height:auto;display:block}
@media(max-width:600px){.logo img{width:108px}}

/* v12: authentic KAPis logo supplied by the site owner */
.logo img{width:140px;height:auto;object-fit:contain}
.footer-brand{width:min(310px,72vw)}
.footer-brand img{width:100%;height:auto;object-fit:contain}
@media(max-width:600px){.logo img{width:116px}}
