:root{--ink:#262337;--muted:#615d70;--paper:#faf9f5;--violet:#5d4580;--lime:#e0ef80;--line:#d9d5de}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Yu Gothic',Meiryo,sans-serif;line-height:1.9}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid #a1471f;outline-offset:5px}.skip{position:absolute;top:-100px;left:12px;background:white;padding:14px;z-index:5}.skip:focus{top:12px}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}header{display:flex;justify-content:space-between;align-items:center;min-height:100px;gap:24px}.logo{font-family:Arial,sans-serif;font-size:27px;font-weight:750;letter-spacing:-1px;text-decoration:none}.logo span{font-weight:400}.logo i{font-style:normal;margin-left:14px;color:var(--violet)}nav{display:flex;gap:28px;font-size:13px}nav a{padding:10px 0;text-decoration:none}.hero{padding-top:70px;container-type:inline-size}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:.17em;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-weight:600;font-size:clamp(28px,5.4cqw,61px);line-height:1.6;letter-spacing:.02em;margin:30px 0}h1 span{display:block;white-space:nowrap}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.hero-bottom p{font-size:16px}.round-link{border:1px solid var(--ink);border-radius:50px;padding:14px 24px;text-decoration:none;white-space:nowrap}.round-link span{margin-left:30px}.line-art{display:flex;justify-content:space-between;gap:15px;margin-top:55px;border-top:1px solid var(--line);padding:22px 0;font-family:Georgia,serif;font-size:clamp(27px,7vw,80px);color:var(--violet);font-style:italic}.line-art span:nth-child(2){color:#9a7c9f}.work{background:#eeebf1;padding:80px 0}h2{font-size:clamp(25px,3.2vw,38px);font-weight:600;line-height:1.65}.section-head{margin-bottom:38px}.project{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center}.poster{position:relative;min-height:420px;padding:32px;background:var(--violet);color:white;border-radius:4px 70px 4px 4px;overflow:hidden}.poster-top{display:flex;justify-content:space-between;gap:15px;font-size:11px}.poster-top span{font-size:9px;letter-spacing:.15em}.harow{font-family:Georgia,serif;font-size:clamp(58px,7vw,92px);line-height:1;margin:65px 0 30px;letter-spacing:-4px}.harow span{display:block;font-family:sans-serif;font-size:16px;letter-spacing:.4em;margin-top:18px}.poster-foot{font-size:15px;margin:0}.poster-dot{position:absolute;right:25px;bottom:35px;width:90px;height:90px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:45px;transform:rotate(-12deg)}.tag{font-size:12px;color:var(--muted)}h3{font-size:27px;line-height:1.5}.project-copy h3{font:55px Georgia,serif;margin:18px 0}.project-copy p{max-width:30em}.button{display:inline-flex;gap:20px;align-items:center;justify-content:space-between;background:var(--ink);color:white;padding:15px 22px;margin-top:15px;text-decoration:none;font-size:14px}.button:hover{background:var(--violet)}.approach{padding:95px 0}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.large{font-size:21px}.names{padding:80px 0;background:#e9eddf}.name-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.name-grid article{border-top:1px solid #9aa58a;padding-top:22px}.number{font-size:12px;color:var(--muted)}.name-grid h3{font-family:Arial,sans-serif;font-size:25px;margin:22px 0 15px}.name-grid p{font-size:14px}.closing{padding:90px 0;display:block}.closing a{display:inline-block;padding:10px 0}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0;border-top:1px solid var(--line);font-size:12px}footer .logo{font-size:20px}@media(max-width:760px){.wrap{width:calc(100% - 36px)}header{align-items:flex-start;flex-direction:column;padding:20px 0;gap:10px}nav{gap:24px}.hero{padding-top:35px}h1{font-size:clamp(23px,6.3cqw,40px)}.hero-bottom{align-items:flex-start;flex-direction:column;gap:8px}.hero-bottom p{font-size:14px}.line-art{margin-top:36px}.work,.names{padding:55px 0}.project,.approach-grid,.name-grid{grid-template-columns:1fr;gap:28px}.poster{min-height:360px;padding:24px}.harow{font-size:76px;margin-top:45px}.poster-top{flex-wrap:wrap}.approach,.closing{padding:60px 0}.name-grid{gap:18px}.name-grid h3{margin-top:12px}footer{flex-wrap:wrap}p,a{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero h1{font-size:clamp(22px,4.8cqw,54px)}@media(max-width:760px){.hero h1{font-size:clamp(18px,5.4cqw,32px)}}

.hero{padding-bottom:65px}.hero h1{font-size:clamp(25px,5.5cqw,60px)}@media(max-width:760px){.hero{padding-bottom:40px}.hero h1{font-size:clamp(20px,6cqw,36px)}}

/* Shared navigation behavior; each site retains its own palette, type and imagery. */
nav{flex-wrap:wrap}nav a{min-height:44px;display:inline-flex;align-items:center}
.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.overview-card{border-top:1px solid var(--line);padding:24px 0}.overview-card h3{font-size:23px}.overview-card p{max-width:36em}
.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.detail-heading{padding-top:35px;padding-bottom:25px;max-width:1000px}.detail-heading h1{font-size:clamp(30px,4.5vw,52px);white-space:normal;overflow-wrap:anywhere;line-height:1.5;margin:22px 0}.detail-heading>p{max-width:42em}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.detail-nav{display:flex;flex-wrap:wrap;gap:12px 28px;border-top:1px solid var(--line);padding-top:24px;padding-bottom:32px}.detail-nav a{font-size:14px;overflow-wrap:anywhere}
@media(max-width:760px){.overview-grid{grid-template-columns:1fr;gap:12px}header nav{column-gap:18px;row-gap:0;max-width:100%}.detail-heading{padding-top:22px;padding-bottom:10px}.detail-heading h1{font-size:30px}.detail-nav{flex-direction:column;gap:4px}.overview-card{padding:20px 0}}

.app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.app-card{border:1px solid var(--line);border-radius:12px;padding:26px;min-width:0;background:#fff}.app-card h3{font-size:23px;overflow-wrap:anywhere}.app-status{font-size:13px;font-weight:700;color:var(--violet)}.app-subtitle{font-weight:700}.app-group-title{margin-top:40px;font-size:25px}.app-card p{overflow-wrap:anywhere}.app-card .text-link{min-height:44px}@media(max-width:760px){.app-grid{grid-template-columns:1fr}.app-card{padding:22px}}
