/* Graphic direction 04 / 05: light architectural planes, one red focal point. */
:root{--paper:#faf9f6;--red:#d32d29;--link:#b32320;--line:#d4d4cd;--pale:#eeeee8}
.wrap{width:min(1400px,calc(100% - 112px))}
.header{min-height:112px}
.brand-square{width:11px;height:11px}
.hero{grid-template-columns:1.1fr 1fr;gap:64px;padding-block:60px 82px;min-height:0}
.hero-copy{padding-block:36px}
.hero h1{font-size:clamp(64px,7.7vw,114px);font-weight:400;letter-spacing:-.07em;line-height:.98;margin-top:33px}
.hero-intro{max-width:460px}
.hero .text-link{padding:15px 20px;background:var(--ink);border:1px solid var(--ink);color:var(--paper);gap:42px;margin-top:24px}
.hero .text-link span{color:#ff635b}
.hero .text-link:hover{background:var(--link);border-color:var(--link)}
.hero .text-link:hover span{color:white}
.hero-art.retro-scene{margin:0;max-width:none;width:100%;aspect-ratio:600/724;align-self:center;border:1px solid var(--line);overflow:hidden;background:var(--pale)}
.retro-scene .architecture{height:auto;aspect-ratio:600/640;inset:0;position:absolute}
.scene-label{position:absolute;z-index:1;top:24px;left:25px;display:flex;gap:18px;align-items:center}
.scene-number{font-size:70px;font-weight:300;letter-spacing:-.08em;line-height:1}
.scene-label>span:last-child{font:10px/1.7 var(--mono);letter-spacing:.09em;max-width:130px}
.scene-side{position:absolute;right:12px;top:34px;writing-mode:vertical-rl;font:9px var(--mono);letter-spacing:.15em}
.scene-caption{position:absolute;bottom:0;left:0;width:100%;height:11.6%;border-top:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:10px 22px}
.scene-person{display:flex;align-items:center;gap:13px;font:11px/1.7 var(--mono);letter-spacing:.04em;min-width:0}
.scene-person img{width:48px;height:48px;filter:grayscale(1);flex:none}
.scene-person small{font-size:9px;color:var(--gray);letter-spacing:0}
.scene-caption-mark{font:25px var(--mono);color:var(--red);padding-left:10px}
.section-label{align-items:center;gap:23px}
.section-label>span:first-child{font:31px/.9 var(--sans);letter-spacing:-.06em;min-width:55px;color:var(--ink)}
.carnet-section,.path-section{position:relative;padding-top:31px}
.carnet-section:before,.path-section:before{content:'';width:43px;height:3px;background:var(--red);position:absolute;top:-2px;left:0}
.page-top{position:relative;padding-block:65px 60px}
.page-top:after{content:'';position:absolute;right:0;top:105px;width:clamp(54px,7vw,100px);height:clamp(54px,7vw,100px);border:1px solid var(--red);border-radius:50%;opacity:.8;pointer-events:none}
.page-top h1{position:relative;z-index:1;padding-right:80px}
.page-top .section-label{margin-bottom:18px}
.entry-meta{border-bottom:1px solid var(--line);padding-bottom:9px}
.history-art{position:relative;border:1px solid var(--line);border-top:3px solid var(--red);overflow:hidden;padding-right:46px}
.history-art:after{content:'+';font:25px var(--mono);color:var(--red);position:absolute;right:15px;top:14px}
.history-art-label{letter-spacing:.06em}
.tool-art{background:linear-gradient(135deg,#f6f6f1,#e5e7e0)}
.diagram .diagram-final{background:var(--red);color:white}
.studio-art{border-top:3px solid var(--red)}
.portrait-art{border:1px solid var(--line)}
.portrait-square{width:85px;height:85px;border-radius:50%;top:13%;right:17%}
.chapters>a{border-top:0}
.archive-row .chapter-date{font-size:25px;letter-spacing:-.04em;color:var(--ink)}
.timeline-num{font:20px/1 var(--sans);color:var(--link);top:12px}
.footer{position:relative}
.footer:before{content:'';position:absolute;top:-2px;right:0;width:50px;height:3px;background:var(--red)}
@media(min-width:1500px){.hero h1{font-size:125px}.hero{padding-block:70px 90px}.hero-copy{padding-block:50px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:30px;padding-block:45px 65px}.hero h1{font-size:clamp(57px,7.4vw,82px)}.hero-copy{padding-block:15px}.scene-label{top:18px;left:18px;gap:11px}.scene-number{font-size:54px}.scene-label>span:last-child{font-size:9px}.scene-caption{padding-inline:12px}.scene-person{gap:8px;font-size:10px}.scene-person img{width:34px;height:34px}.scene-person small{font-size:8px}.scene-caption-mark{font-size:20px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{min-height:0}.hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:34px 52px}.hero-copy{padding:0}.hero h1{font-size:clamp(55px,11.6vw,80px);margin-top:26px}.hero-art.retro-scene{width:100%;max-width:470px;justify-self:center;margin:0;aspect-ratio:600/724}.scene-number{font-size:clamp(36px,11vw,60px)}.scene-label{top:16px;left:16px}.scene-label>span:last-child{font-size:9px}.scene-side{font-size:8px;right:9px;top:23px}.scene-caption{padding-inline:12px}.scene-person img{width:29px;height:29px}.scene-person{font-size:9px;line-height:1.5}.scene-person small{font-size:7px;display:block;max-width:180px}.scene-caption-mark{font-size:19px}.section-label>span:first-child{font-size:27px;min-width:48px}.section-label{font-size:10px;gap:15px}.page-top{padding-block:40px}.page-top h1{padding-right:0;margin-top:30px}.page-top:after{width:27px;height:27px;top:40px;opacity:1}.timeline-num{font-size:19px;top:8px}.archive-row .chapter-date{font-size:20px}.portrait-square{width:75px;height:75px}.historical-article h1{font-size:clamp(36px,9.6vw,58px)}}
@media(max-width:700px){.hero-art.retro-scene{aspect-ratio:600/770}.scene-caption{height:16.9%;padding-inline:12px}.scene-person{font-size:10px}.scene-person small{font-size:9px;line-height:1.4}.scene-caption-mark{padding-left:6px}}
@media(max-width:700px){.tool-art{height:250px;aspect-ratio:auto}.tool-art .diagram{top:44px;width:62%;left:19%}}

.history-cover{aspect-ratio:1.3;position:relative;border:1px solid var(--line);border-top:3px solid var(--red);overflow:hidden;background:var(--pale)}.history-cover>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .18s}.entry-link:hover .history-cover>img{filter:grayscale(0)}.history-cover-caption{position:absolute;bottom:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--paper);border-top:1px solid var(--line);font:10px/1.5 var(--mono);letter-spacing:.03em}.history-cover-caption>span{color:var(--red);font-size:21px;line-height:1}.archive-cover{max-width:900px;margin:0 0 45px;border:1px solid var(--line)}.archive-cover img{width:100%;height:auto;max-height:460px;object-fit:cover}.archive-cover figcaption{padding:12px 16px;font:10px/1.6 var(--mono);color:var(--gray);border-top:1px solid var(--line)}@media(max-width:700px){.history-cover{aspect-ratio:1.35}.history-cover-caption{font-size:9px;padding:10px 12px}.archive-cover{margin-bottom:32px}.archive-cover figcaption{font-size:9px}}

.mcp-art{position:relative;overflow:hidden;aspect-ratio:1.3;background:var(--pale);border:1px solid var(--line);border-top:3px solid var(--red);padding:22px}.mcp-art-label,.mcp-art-bottom{font:10px/1.5 var(--mono);letter-spacing:.04em}.mcp-art-bottom{position:absolute;bottom:17px;left:22px}.mcp-diagram{position:absolute;top:22%;left:12%;width:76%;display:flex;align-items:center;flex-direction:column;font:11px/1.4 var(--mono)}.mcp-assistant{padding:7px 16px;border:1px solid #999b91;background:var(--paper)}.mcp-line{display:block;height:17px;width:1px;background:#7e8178}.mcp-hub{display:flex;justify-content:space-between;gap:35px;background:var(--red);color:white;min-width:115px;padding:9px 15px;font-size:16px}.mcp-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:7px;margin-top:22px;position:relative}.mcp-branches:before{content:'';position:absolute;left:16%;right:16%;height:12px;top:-12px;border:1px solid #a1a398;border-bottom:0}.mcp-branches:after{content:'';position:absolute;width:1px;left:50%;height:22px;top:-22px;background:#a1a398}.mcp-branches>span{background:var(--paper);border:1px solid #a1a398;text-align:center;padding:8px 2px;font-size:9px;position:relative;z-index:1;white-space:nowrap}.case-meta{display:grid;grid-template-columns:2fr 1fr;gap:50px;padding:25px 0;border-block:1px solid var(--line);margin-bottom:65px}.case-meta>div>span{font:10px/1.6 var(--mono);letter-spacing:.08em;color:var(--gray)}.case-meta p{font-size:15px;line-height:1.6;max-width:600px;margin:12px 0 5px}.case-meta small{font:10px/1.6 var(--mono);color:var(--gray)}.case-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:75px}.case-intro h2{margin-bottom:30px}.case-intro .body-large{font-size:21px}.case-intro .mcp-art{max-width:500px}.case-body{margin-bottom:65px}.case-body h2{font-size:34px;margin-top:0}.case-services,.case-choices{border-top:1px solid var(--line);padding-top:28px;margin-bottom:75px}.case-services>.section-label,.case-choices>.section-label{margin-bottom:35px}.case-service{display:grid;grid-template-columns:60px minmax(0,2fr) minmax(0,1fr);gap:30px;padding:35px 0;border-top:1px solid var(--line)}.case-service-num{font:12px/1.5 var(--mono);padding-top:7px;color:var(--link)}.case-service h2{font-size:35px;margin:0 0 8px}.case-service-purpose{font-size:18px;letter-spacing:-.02em;margin-top:10px}.case-service>div>p:last-child{font-size:16px;max-width:590px;color:var(--gray);margin-bottom:0}.case-service-state{font:12px/1.8 var(--mono);border-left:2px solid var(--red);padding-left:18px;color:var(--gray);align-self:center;max-width:290px}.case-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.case-choice-grid h3{font-size:23px;font-weight:500;letter-spacing:-.03em;line-height:1.2;margin-top:0}.case-choice-grid p{font-size:16px;color:var(--gray)}.case-details{display:grid;grid-template-columns:2fr 1fr;gap:70px;border-block:1px solid var(--line);padding:30px 0;margin-top:65px}.case-details h2{font:12px/1.6 var(--mono);letter-spacing:0;margin-bottom:18px}.case-details p,.case-details a{font-size:13px;line-height:1.7;color:var(--gray)}.case-details a{display:block;text-decoration:underline;text-underline-offset:3px;margin-bottom:10px}.case-next{display:flex;justify-content:space-between;gap:25px;margin-top:40px}.project-case>h1{max-width:1000px}@media(max-width:1050px){.case-intro{gap:35px}.case-service{grid-template-columns:35px 2fr 1fr;gap:20px}.case-choice-grid{gap:25px}.case-details{gap:40px}.mcp-diagram{left:9%;width:82%;top:20%}}@media(max-width:700px){.mcp-art{aspect-ratio:auto;height:250px;padding:20px}.mcp-art-label,.mcp-art-bottom{font-size:9px}.mcp-art-bottom{left:20px}.mcp-diagram{left:9%;width:82%;top:53px}.mcp-branches{gap:5px}.mcp-branches>span{font-size:8px;padding:8px 2px}.case-meta{grid-template-columns:1fr;gap:22px;padding-block:20px;margin-bottom:40px}.case-meta p{font-size:15px;margin-top:7px}.case-intro{grid-template-columns:minmax(0,1fr);gap:35px;margin-bottom:50px}.case-intro .body-large{font-size:19px}.case-intro h2{font-size:34px;margin-bottom:23px}.case-body{margin-bottom:45px}.case-body h2{font-size:29px}.case-service{grid-template-columns:25px minmax(0,1fr);gap:15px;padding-block:28px}.case-service h2{font-size:29px}.case-service-purpose{font-size:17px}.case-service-state{grid-column:2;max-width:none;margin:8px 0 0;font-size:11px}.case-service>div>p:last-child{font-size:15px}.case-services,.case-choices{margin-bottom:45px}.case-choice-grid{grid-template-columns:1fr;gap:20px}.case-choice-grid h3{font-size:23px;margin-bottom:13px}.case-choice-grid p{font-size:16px}.case-details{grid-template-columns:1fr;gap:25px;padding-block:25px;margin-top:45px}.case-next{align-items:flex-start;flex-direction:column;gap:15px}.project-case .section-label{align-items:flex-start}.project-case .section-label>span:last-child{max-width:220px}}
