/* Page-only styling: carry the homepage visual language into the project index. */

.projects-hero{min-height:650px;display:grid;grid-template-columns:1.1fr .9fr;gap:5%;align-items:center;position:relative;padding-block:48px 76px}
.projects-hero-copy{position:relative;z-index:1;max-width:760px;padding:26px 0}
.projects-hero .eyebrow{margin-bottom:28px}
.projects-hero h1{font-size:clamp(54px,6.7vw,92px);line-height:.99;letter-spacing:-.08em;margin:0 0 30px;font-weight:600}
.projects-hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.07em;color:var(--olive)}
.projects-lede{font-size:15px;line-height:1.8;color:#5f6258;max-width:620px;margin:0}
.projects-hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:28px}
.projects-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:13px 18px;background:var(--ink);color:var(--white);font-size:11px;font-weight:800;text-decoration:none;transition:background .2s,color .2s}
.projects-button:hover{background:var(--olive);color:var(--white)}
.projects-button span{color:var(--lime);font-size:15px}
.projects-text-link{font-size:11px;font-weight:800;text-underline-offset:5px}
.projects-text-link:hover{color:var(--olive)}
.projects-hero-portrait{max-width:480px}
.projects-count-stamp{gap:0}
.projects-count-stamp .count-number{font-size:22px;line-height:1}
.projects-count-stamp .count-label{font-size:7px;line-height:1.45}
.projects-count-stamp .count-symbol{font-size:19px;line-height:1}
.projects-principle{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;align-items:center;padding-block:24px 28px;border-block:1px solid var(--line)}
.projects-principle-label,.project-kicker{font-size:9px;font-weight:800;letter-spacing:.15em;color:var(--olive);margin:0 0 14px}
.projects-principle-title{font-size:25px;line-height:1.2;letter-spacing:-.05em;font-weight:700;margin:0}
.projects-principle-title em{font-family:var(--serif);font-weight:400;color:var(--olive)}
.projects-principle-copy{max-width:620px;font-size:12px;line-height:1.8;color:#62645b;margin:0}
.category-nav{display:flex;gap:30px;overflow-x:auto;padding-block:18px 20px;scrollbar-width:thin;border-bottom:1px solid var(--line)}
.category-nav a{position:relative;flex:0 0 auto;padding:0 0 5px;font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap;transition:color .2s}
.category-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--olive);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.category-nav a:hover{color:var(--olive)}
.category-nav a:hover:after,.category-nav a:focus-visible:after{transform:scaleX(1)}
.project-section{padding-block:100px}
.public-projects,.concept-projects{background:#eaeae1}
.creative-projects,.learning-projects{background:var(--paper)}
.project-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:56px 0 42px;padding-left:15%}
.project-section-heading .project-kicker{margin-bottom:17px}
.project-section-heading h2,.project-contact h2{font-size:clamp(44px,5.5vw,72px);line-height:1.02;letter-spacing:-.07em;font-weight:600;margin:0}
.project-section-heading h2 em,.project-contact h2 em{font-family:var(--serif);font-weight:400;color:var(--olive);letter-spacing:-.07em}
.project-section-heading>p{max-width:240px;font-size:12px;line-height:1.75;color:var(--muted);margin:0 4% 5px 20px}
.project-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.catalog-card{display:flex;flex-direction:column;min-height:370px;background:var(--white);padding:25px 25px 22px;border:0}
.catalog-card-dark{background:#343a30;color:var(--white)}
.catalog-card-olive{background:var(--white)}
.catalog-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:8px;font-weight:800;letter-spacing:.12em;color:var(--olive)}
.catalog-card-dark .catalog-topline{color:#d0db9d}
.status-pill{flex-shrink:0;display:inline-flex;align-items:center;max-width:58%;padding:7px 9px;font-size:8px;line-height:1.35;font-weight:800;letter-spacing:.06em;background:#e8edcf;color:#45513a}
.status-public{background:#e8edcf;color:#45513a}
.status-owner-test{background:#f4e4bd;color:#694e17}
.status-preview{background:#dce8e7;color:#28514d}
.status-sample{background:#e8e3ed;color:#554a67}
.status-tutorial{background:#e4e9dc;color:#45513a}
.status-concept{background:#f2e4cf;color:#6e4a21}
.status-prototype{background:#e5e4df;color:#54564d}
.catalog-card-dark .status-pill{background:#525d47;color:#edf3d5}
.catalog-card h3{font-size:clamp(27px,3.1vw,37px);line-height:1.07;letter-spacing:-.07em;margin:38px 0 9px}
.catalog-pitch{font-size:16px;line-height:1.45;letter-spacing:-.035em;font-weight:700;margin:0 0 10px;max-width:520px}
.catalog-summary{font-size:12px;line-height:1.75;color:#65685e;margin:0;max-width:620px}
.catalog-card-dark .catalog-summary{color:#d8d9d2}
.project-detail{margin:20px 0 0;border-top:1px solid var(--line);padding-top:11px}
.catalog-card-dark .project-detail{border-color:#ffffff40}
.project-detail summary{min-height:42px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;font-weight:800}
.project-detail summary::-webkit-details-marker{display:none}
.project-detail summary span{font-size:17px;color:var(--olive)}
.catalog-card-dark .project-detail summary span{color:var(--lime)}
.project-detail[open] summary{margin-bottom:7px}
.project-explanation{margin:0;border-top:1px solid var(--line)}
.catalog-card-dark .project-explanation{border-color:#ffffff3d}
.project-explanation>div{padding:12px 0 11px;border-bottom:1px solid var(--line)}
.catalog-card-dark .project-explanation>div{border-color:#ffffff3d}
.project-explanation dt{font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--olive);margin:0 0 6px}
.catalog-card-dark .project-explanation dt{color:#d0db9d}
.project-explanation dd{font-size:11px;line-height:1.8;color:#62655b;margin:0}
.catalog-card-dark .project-explanation dd{color:#e0e3d9}
.project-status-note{padding:12px 13px;margin:15px 0 0;background:#f0eee8;color:#55574f;font-size:11px;line-height:1.7}
.catalog-card-dark .project-status-note{background:#41473d;color:#e0e3d9}
.project-risk-note{background:#f4e4bd!important;color:#604718!important;border-left:3px solid #b88224}
.catalog-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:auto;padding-top:19px}
.catalog-link,.catalog-source{font-size:10px;font-weight:800;text-underline-offset:5px}
.catalog-link{color:var(--ink)}
.catalog-link:hover,.catalog-source:hover{color:var(--olive)}
.catalog-card-dark .catalog-link{color:var(--lime)}
.catalog-card-olive .catalog-link{color:#404a35}
.catalog-link span,.catalog-source span{margin-left:5px;color:var(--olive)}
.catalog-card-dark .catalog-link span,.catalog-card-dark .catalog-source span{color:var(--lime)}
.catalog-source{font-size:9px;color:#55594f}
.catalog-card-dark .catalog-source{color:#e0e3d9}
.project-boundary-note{max-width:970px;margin:28px 0 0;padding:17px 19px;border-left:2px solid #9dac63;background:var(--paper);color:#5d6055;font-size:11px;line-height:1.8}
.project-boundary-note strong{color:var(--ink)}
.project-contact{padding-block:100px 112px}
.project-contact .project-kicker{margin-bottom:19px}
.project-contact h2{max-width:880px}
.project-contact>p:not(.project-kicker){max-width:590px;font-size:13px;line-height:1.85;color:var(--muted);margin:20px 0 24px}
@media(prefers-reduced-motion:no-preference){.projects-hero-copy>.eyebrow{animation:content-arrive .7s .1s ease-out both}.projects-hero h1,.projects-lede,.projects-hero-actions{animation:content-arrive .8s .25s ease-out both}.projects-hero-portrait{animation:content-arrive .9s .2s ease-out both}.projects-count-stamp{animation:stamp-settle 1s .4s ease-out both}}
@media(max-width:1000px){.nav{gap:14px}.nav a{font-size:10px}.projects-hero{grid-template-columns:1.1fr .9fr;gap:4%}.projects-hero h1{font-size:clamp(52px,6.4vw,82px)}.projects-principle{gap:5%}.catalog-card{padding:23px;min-height:390px}.project-section{padding-block:82px}}
@media(max-width:760px){
 .projects-review-banner{font-size:9px;line-height:1.6;padding:9px 15px;letter-spacing:.04em}
 .projects-hero{min-height:0;grid-template-columns:1fr;gap:30px;padding-block:44px 65px}
 .projects-hero-copy{padding:0}
 .projects-hero .eyebrow{font-size:8px;margin-bottom:22px}
 .projects-hero h1{font-size:clamp(53px,11.5vw,80px);margin-bottom:20px}
 .projects-lede{font-size:13px;line-height:1.8}
 .projects-hero-actions{align-items:flex-start;flex-direction:column;gap:17px;margin-top:22px}
 .projects-button{font-size:12px;min-height:48px}
 .projects-text-link{font-size:12px;min-height:32px}
 .projects-hero-portrait{width:min(85%,390px);justify-self:end;margin-right:10px}
 .projects-count-stamp{right:-8px;top:20px;width:83px;height:83px;font-size:7px}
 .projects-count-stamp .count-number{font-size:19px}
 .projects-count-stamp .count-label{font-size:6px}
 .projects-count-stamp .count-symbol{font-size:17px}
 .projects-principle{grid-template-columns:1fr;gap:9px;padding-block:22px 24px}
 .projects-principle-title{font-size:23px}
 .projects-principle-copy{font-size:13px}
 .category-nav{gap:23px;padding-block:16px 18px}
 .category-nav a{font-size:10px}
 .project-section{padding-block:72px}
 .project-section-heading{display:block;padding:0;margin:42px 0 30px}
 .project-section-heading .project-kicker{font-size:8px}
 .project-section-heading h2,.project-contact h2{font-size:clamp(43px,10vw,65px)}
 .project-section-heading>p{margin:18px 0 0;max-width:360px;font-size:13px}
 .project-catalog{grid-template-columns:1fr;gap:10px}
 .catalog-card{min-height:0;padding:22px}
 .catalog-topline{font-size:8px;letter-spacing:.08em}
 .status-pill{max-width:58%;font-size:8px;padding:6px 7px}
 .catalog-card h3{font-size:33px;margin:34px 0 8px}
 .catalog-pitch{font-size:16px}
 .catalog-summary{font-size:13px;line-height:1.8}
 .project-detail{margin-top:17px;padding-top:8px}
 .project-detail summary{min-height:44px;font-size:12px}
 .project-explanation>div{padding:13px 0}
 .project-explanation dt{font-size:9px}
 .project-explanation dd{font-size:13px;line-height:1.8}
 .project-status-note{font-size:12px;margin-top:13px}
 .catalog-actions{gap:10px;padding-top:17px}
 .catalog-link{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
 .catalog-source{font-size:11px;min-height:30px}
 .project-boundary-note{font-size:12px;margin-top:18px;padding:15px}
 .project-contact{padding-block:72px 84px}
 .project-contact .project-kicker{font-size:8px}
 .project-contact>p:not(.project-kicker){font-size:13px}
}
@media(max-width:390px){.projects-hero h1{font-size:clamp(50px,11.2vw,72px)}.projects-principle{width:calc(100% - 32px)}.catalog-card{padding:20px}.status-pill{max-width:54%;font-size:7px}}
@media(prefers-reduced-motion:reduce){.projects-button,.category-nav a{transition:none}}


/* Screenshot-led single-column project cards: one complete panel per project. */
.project-catalog{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;max-width:1240px;margin-inline:auto}
.catalog-card{display:flex;flex-direction:column;min-height:0;background:#fff;color:var(--ink,#20211f);padding:32px;border:1px solid rgba(32,33,31,.045);border-radius:34px;box-shadow:0 10px 34px rgba(26,28,25,.045);overflow:hidden}
.project-cover{position:relative;isolation:isolate;display:flex;justify-content:center;align-items:center;min-height:clamp(220px,26vw,340px);padding:28px;border-radius:25px;overflow:hidden;margin:0 0 30px}
.project-cover:before{content:"";position:absolute;z-index:-1;right:5.2%;top:8%;width:62px;height:92px;opacity:.48;background:repeating-linear-gradient(135deg,transparent 0 12px,rgba(34,39,36,.68) 12.5px 13.5px,transparent 14px 25px)}
.project-cover-mark{display:block;max-width:86%;text-align:center;font-size:clamp(42px,6.5vw,82px);font-weight:800;letter-spacing:-.085em;line-height:.96;color:#252724}
.project-cover-category{position:absolute;left:34px;bottom:27px;max-width:72%;font-size:11px;font-weight:800;letter-spacing:.13em;line-height:1.35;color:rgba(38,41,38,.72)}
.cover-01{background:#dce1e7}.cover-02{background:#d8e8e2}.cover-03{background:#d9ded0}.cover-04{background:#e9dfd2}.cover-05{background:#dbe7e6}.cover-06{background:#d9cebd}.cover-07{background:#cfe2dc}.cover-08{background:#e7d9d0}.cover-09{background:#ddd8d0}.cover-10{background:#d9e0d6}.cover-11{background:#d9e0ca}.cover-12{background:#d9dddf}.cover-13{background:#d0dedb}.cover-14{background:#e8dfd0}.cover-15{background:#d8d8e3}.cover-16{background:#dce4eb}.cover-17{background:#e0d8c8}.cover-18{background:#d8e4dd}.cover-19{background:#d1e0e5}.cover-20{background:#d4d9dc}.cover-roomify{background:#eadfcf}
.project-sequence{margin:0 0 21px;font-size:11px;font-weight:800;letter-spacing:.16em;line-height:1.5;color:#74766f;text-transform:uppercase}
.catalog-topline.status-row{display:flex;justify-content:flex-start;align-items:center;margin:20px 0 0;font-size:10px}
.catalog-topline.status-row .status-pill{max-width:none;flex-shrink:0;padding:9px 15px;border-radius:999px;font-size:10px;line-height:1.45;letter-spacing:.08em}
.catalog-card h3{font-size:clamp(32px,4.4vw,51px);line-height:1.05;letter-spacing:-.07em;margin:0 0 13px;font-weight:700}
.project-description{max-width:920px;font-size:clamp(15px,1.65vw,19px);line-height:1.7;letter-spacing:-.015em;color:#62645f;margin:0}
.project-status-note{padding:13px 15px;margin:18px 0 0;border-radius:12px;background:#f2f1ed;color:#55574f;font-size:13px;line-height:1.75}
.project-risk-note{background:#f4e4bd!important;color:#604718!important;border-left:3px solid #b88224;border-radius:0 12px 12px 0}
.project-detail{margin:26px 0 0;border-top:1px solid #deded9;padding-top:12px}
.project-detail summary{min-height:55px;font-size:15px;font-weight:800}
.project-detail summary span{font-size:20px;color:#20211f}
.project-detail[open] summary span{transform:rotate(45deg)}
.project-explanation{margin:0;border-top:1px solid #e5e5e1}
.project-explanation>div{padding:14px 0 13px;border-bottom:1px solid #e5e5e1}
.project-explanation dt{font-size:10px;letter-spacing:.14em}
.project-explanation dd{font-size:14px;line-height:1.8;color:#62645f}
.catalog-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:20px;padding-top:0}
.catalog-link,.catalog-source{font-size:15px;font-weight:800;text-underline-offset:5px}
.catalog-link{color:#286bb7}
.catalog-link:hover,.catalog-source:hover{color:#174f91}
.catalog-link span,.catalog-source span{margin-left:4px}
.project-boundary-note{max-width:970px;margin:28px auto 0;padding:18px 20px;border-left:2px solid #9dac63;background:var(--paper,#f6f5f1);color:#5d6055;font-size:13px;line-height:1.8}
@media(max-width:760px){
 .project-catalog{gap:18px}
 .catalog-card{padding:19px;border-radius:27px}
 .project-cover{min-height:218px;padding:20px;border-radius:19px;margin-bottom:24px}
 .project-cover:before{right:6%;top:7%;width:45px;height:67px}
 .project-cover-mark{font-size:clamp(37px,10vw,58px);max-width:88%}
 .project-cover-category{left:18px;bottom:17px;font-size:9px;max-width:76%;letter-spacing:.11em}
 .project-sequence{font-size:10px;margin-bottom:16px;letter-spacing:.13em}
 .catalog-card h3{font-size:clamp(30px,8vw,39px);margin-bottom:10px}
 .project-description{font-size:14px;line-height:1.75}
 .catalog-topline.status-row{margin-top:16px}
 .catalog-topline.status-row .status-pill{font-size:9px;padding:8px 11px;white-space:normal}
 .project-detail{margin-top:19px;padding-top:8px}
 .project-detail summary{min-height:49px;font-size:14px}
 .project-explanation>div{padding:13px 0}
 .project-explanation dt{font-size:9px}
 .project-explanation dd{font-size:13px;line-height:1.8}
 .project-status-note{font-size:12px}
 .catalog-actions{margin-top:16px}
 .catalog-link,.catalog-source{font-size:14px;min-height:40px;display:inline-flex;align-items:center}
 .project-boundary-note{font-size:12px;padding:15px}
}
