/* GMS Project page — uses only approved GMS typography, colors and layout primitives. */
.project-breadcrumb{margin-bottom:30px}
.project-hero{padding-top:clamp(65px,7vw,114px);padding-bottom:clamp(67px,6.5vw,108px);overflow-x:clip}
.project-hero h1{font:500 clamp(43px,4.15vw,67px)/1.17 var(--gms-font-head);letter-spacing:-.078em;margin:16px 0 29px;overflow-wrap:normal}
.project-hero-lead{font-size:clamp(19px,1.45vw,23px);line-height:1.55;max-width:800px;color:var(--gms-body);margin:0 0 16px}
.project-subline{color:var(--gms-muted);font-size:16px;line-height:1.65;margin-bottom:32px;max-width:750px}
.project-hero-art{display:flex;justify-content:center;align-items:center;min-height:410px;overflow:visible}
.project-ribbon{width:119%;max-width:none;height:auto;max-height:550px;object-fit:contain;mix-blend-mode:multiply}
.project-section{padding-top:clamp(75px,8vw,130px);padding-bottom:clamp(66px,7.5vw,120px)}
.project-section .section-rule{margin-bottom:clamp(52px,6.5vw,99px)}
.project-intro-row{margin-bottom:clamp(47px,5.8vw,81px)}
.project-heading{font:500 clamp(34px,3.2vw,52px)/1.23 var(--gms-font-head);letter-spacing:-.071em;margin:20px 0 25px}
.project-intro-aside,.project-process-copy p,.project-open p,.project-explore-panel p{font-size:17.5px;line-height:1.73;color:var(--gms-body);max-width:675px}
.architecture-stack{max-width:1130px;margin:auto}
.architecture-root{padding:34px 41px;background:var(--gms-paper);border:1px solid var(--gms-line)}
.architecture-root h3,.architecture-primary h3{font:500 clamp(29px,3.2vw,43px)/1.25 var(--gms-font-head);letter-spacing:-.075em;margin:13px 0 0}
.architecture-root h3 span,.architecture-primary h3 span{font-size:clamp(16px,1.7vw,25px);color:var(--gms-body)}
.architecture-caption{font-size:15px;color:var(--gms-body)}
.architecture-link{height:45px;display:flex;justify-content:center}
.architecture-link span{display:block;width:1px;height:100%;background:var(--gms-accent-deep)}
.architecture-primary{padding:clamp(28px,4vw,57px);border:1.5px solid var(--gms-accent-deep);background:#f8faef}
.project-state{display:inline-flex;max-width:100%;align-items:center;border:1px solid var(--gms-line);padding:8px 12px;font:500 12px/1.35 var(--gms-font-head);color:var(--gms-body);text-transform:lowercase}
.project-state.active{border-color:var(--gms-accent-deep);background:var(--gms-accent);color:var(--gms-ink)}
.architecture-primary>p{max-width:770px;color:var(--gms-body);font-size:17px;line-height:1.7;margin:24px 0 35px}
.mode-row{border-top:1px solid var(--gms-line);border-bottom:1px solid var(--gms-line)}
.mode-cell{padding:27px 23px;display:flex;min-height:175px;flex-direction:column;gap:9px;transition:background var(--gms-transition)}
.mode-row>div:not(:first-child) .mode-cell{border-left:1px solid var(--gms-line)}
.mode-cell:hover{background:var(--gms-accent)}
.mode-cell strong{font:500 clamp(19px,1.8vw,26px)/1.35 var(--gms-font-head);letter-spacing:-.065em}
.mode-cell>span:last-child{font-size:15px;color:var(--gms-body);line-height:1.5}
.project-tiny{font:500 11px/1.5 var(--gms-font-head);letter-spacing:.075em;color:var(--gms-muted);text-transform:uppercase}
.annotation-line{padding:25px 6px 5px;display:grid;grid-template-columns:195px 1fr;gap:8px 22px;align-items:baseline}
.annotation-line strong{font:500 21px/1.4 var(--gms-font-head);letter-spacing:-.055em}
.annotation-line p{grid-column:2;font-size:15px;line-height:1.6;color:var(--gms-body);margin:0}
.future-module{padding:27px 31px;border:1px solid var(--gms-line);min-height:215px;position:relative;transition:background var(--gms-transition),border-color var(--gms-transition)}
.future-module:hover{background:var(--gms-paper-strong);border-color:var(--gms-accent-deep)}
.future-module h3{font:500 24px/1.33 var(--gms-font-head);letter-spacing:-.064em;margin:15px 0 10px}
.future-module p{font-size:16px;line-height:1.6;color:var(--gms-body);max-width:500px;margin-bottom:14px}
.future-module .project-state{margin-top:2px}
.project-component-list{border-top:1px solid var(--gms-line)}
.component-row{display:grid;grid-template-columns:minmax(145px,1fr) minmax(0,3.8fr) minmax(120px,.8fr);gap:28px;padding:43px 19px;border-bottom:1px solid var(--gms-line);transition:background var(--gms-transition)}
.component-row:hover{background:var(--gms-paper-strong)}
.component-num{font:500 12px/1.5 var(--gms-font-head);color:var(--gms-muted);padding-top:9px;letter-spacing:.025em}
.component-row h3{font:500 clamp(24px,2.15vw,33px)/1.3 var(--gms-font-head);letter-spacing:-.062em;margin:0 0 10px}
.component-row p{max-width:800px;font-size:17px;line-height:1.7;color:var(--gms-body);margin:0}
.component-label{font:500 12px/1.5 var(--gms-font-head);color:var(--gms-muted);text-align:right;padding-top:9px}
.project-process-copy .text-link{margin-top:14px}
.process-stack{border-top:1px solid var(--gms-line)}
.process-stage{display:grid;grid-template-columns:65px 1fr;gap:22px;padding:23px 23px;border-bottom:1px solid var(--gms-line);transition:background var(--gms-transition)}
.process-stage:hover{background:var(--gms-paper-strong)}
.process-stage>span{font:500 12px/1.8 var(--gms-font-head);color:var(--gms-accent-dark)}
.process-stage h3{font:500 22px/1.4 var(--gms-font-head);letter-spacing:-.065em;margin:0 0 8px}
.process-stage p{font-size:16px;line-height:1.6;color:var(--gms-body);margin:0}
.process-loop{padding:17px 23px;margin:0;font:400 13px/1.6 var(--gms-font-head);color:var(--gms-accent-dark);background:var(--gms-paper-strong)}
.open-list{border-top:1px solid var(--gms-line)}
.open-list>div{display:grid;grid-template-columns:182px 1fr;gap:4px 22px;padding:23px 0;border-bottom:1px solid var(--gms-line);transition:background var(--gms-transition)}
.open-list>div:hover{background:var(--gms-paper-strong)}
.open-list strong{font:500 20px/1.4 var(--gms-font-head);letter-spacing:-.045em}
.open-list>div>span:last-child{grid-column:2;font-size:16px;color:var(--gms-body)}
.project-small-note{font-size:13px!important;margin-top:21px;color:var(--gms-muted)!important}
.scope-table{border-top:1px solid var(--gms-line)}
.scope-table-row{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--gms-line);padding:20px 14px;transition:background var(--gms-transition)}
.scope-table-row:hover{background:var(--gms-paper-strong)}
.scope-table-row>span:first-child{font:500 18px/1.5 var(--gms-font-head);letter-spacing:-.04em}
.scope-more{margin-top:30px}
.project-explore{padding-bottom:clamp(100px,10vw,170px)}
.project-explore-panel{padding:clamp(37px,5.2vw,82px);background:var(--gms-paper-strong)}
.project-explore-panel .project-heading{margin-bottom:18px}
.explore-links{border-top:1px solid #cdd7c2}
.explore-links>a{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #cdd7c2;padding:18px 12px 18px 4px;transition:background var(--gms-transition),color var(--gms-transition),padding-left var(--gms-transition)}
.explore-links>a:hover{background:var(--gms-accent);padding-left:17px;color:var(--gms-ink)}
.explore-links>a:hover .link-arrow{transform:translateX(6px)}
.explore-links a strong{display:block;font:500 18px/1.5 var(--gms-font-head);letter-spacing:-.055em}
.explore-links a small{display:block;font-size:15px;color:var(--gms-body);margin-top:3px}
@media(max-width:1199.98px){.project-hero-art{min-height:360px}.project-ribbon{width:105%}}
@media(max-width:991.98px){.project-hero{padding-top:55px}.project-hero-art{min-height:300px;max-height:350px}.project-ribbon{max-height:350px;width:auto;max-width:100%}.component-row{grid-template-columns:115px 1fr}.component-label{grid-column:2;text-align:left;padding-top:0}.project-section{padding-top:70px;padding-bottom:75px}.architecture-root{padding:27px}.open-list>div{grid-template-columns:150px 1fr}}
@media(max-width:767.98px){.project-hero h1{font-size:clamp(32px,8.3vw,49px)}.project-hero-lead{font-size:18px}.project-hero-art{min-height:230px}.project-intro-aside,.project-process-copy p,.project-open p,.project-explore-panel p{font-size:17px}.project-section .section-rule{margin-bottom:45px}.project-section{padding-block:64px}.mode-row>div:not(:first-child) .mode-cell{border-left:none;border-top:1px solid var(--gms-line)}.mode-cell{min-height:auto;padding:21px 16px}.annotation-line{display:block}.annotation-line strong{display:block;margin:10px 0}.annotation-line p{margin:0}.component-row{grid-template-columns:1fr;gap:12px;padding:30px 8px}.component-label{grid-column:auto}.open-list>div{grid-template-columns:1fr;gap:9px}.open-list>div>span:last-child{grid-column:auto}.scope-table-row{align-items:flex-start;flex-direction:column;gap:10px}.future-module{min-height:190px}.project-hero{padding-bottom:40px}}
@media(max-width:420px){.project-hero h1{font-size:clamp(29px,8.1vw,36px)}.project-ribbon{width:100%}.architecture-primary{padding:23px 18px}.architecture-root{padding:23px 18px}.architecture-root h3,.architecture-primary h3{font-size:28px}.architecture-root h3 span,.architecture-primary h3 span{font-size:15px}.future-module h3,.project-heading{word-break:normal;overflow-wrap:normal}.project-explore-panel{padding:28px 20px}}
