/* Official artwork and palette values: owner-supplied handoff kits, 11 Nov 2026.
   Corporate grid and copy stay Patterneer; each visual panel keeps its own identity. */
.brand-ribbon-official{display:grid;grid-template-columns:1.15fr repeat(4,1fr);align-items:center;gap:36px}
.brand-ribbon-official>span{font-size:10px;line-height:1.6;max-width:150px}
.brand-ribbon-official .ribbon-brand{display:flex;align-items:center;justify-content:center;min-width:0;height:52px}
.ribbon-logo{display:block;width:auto;height:30px;max-width:100%;object-fit:contain}
.ribbon-cujian .ribbon-logo{max-width:135px}
.ribbon-timelet .ribbon-logo{width:155px;height:auto;max-height:42px}
.ribbon-yuanne .ribbon-logo{height:48px;max-width:130px}
.ribbon-dondi .ribbon-logo{width:155px;height:auto}
.projects-section>.section-top .eyebrow{margin-bottom:17px;font-size:11px}
.portfolio-project{border:1px solid #d9dcd8;background:#fff;border-radius:0;overflow:hidden;min-width:0}
.portfolio-visual{height:340px;padding:30px 32px;position:relative;overflow:hidden}
.portfolio-brandline{display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:1;min-height:47px}
.portfolio-logo{display:block;object-fit:contain;object-position:left center;max-width:75%;width:auto;height:40px}
.portfolio-index{font-size:11px;font-weight:500;letter-spacing:.12em;opacity:.65}
.portfolio-headline{font-size:31px;line-height:1.25;font-weight:650;letter-spacing:-.035em;color:inherit;text-wrap:balance}
.portfolio-location{position:absolute;left:32px;bottom:24px;font:11px/1.4 Consolas,monospace;letter-spacing:.09em}
.portfolio-cujian{background:#faf7f4;color:#1f1a17}
.portfolio-cujian .portfolio-logo{height:36px}
.portfolio-cujian .portfolio-headline{font-size:29px;margin:19px 0 0}
.cujian-panorama{position:absolute;width:100%;height:auto;max-height:90px;object-fit:cover;left:0;bottom:117px;opacity:.95}
.cujian-cover-strip{position:absolute;left:32px;right:32px;bottom:23px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cujian-cover-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;box-shadow:0 1px 2px #3c281e0d,0 6px 18px #3c281e14}
.portfolio-timelet{background:#f3f1ec;color:#232220}
.portfolio-timelet .portfolio-logo{width:235px;height:42px}
.timelet-message{padding-top:29px}
.timelet-message .portfolio-headline{font-size:34px;font-weight:800;line-height:1.2;color:#232220;max-width:100%;letter-spacing:-.04em}
.timelet-message .portfolio-headline span{display:inline-block;background:#1fae9c;padding:3px 9px 5px;margin-top:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.timelet-categories{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:23px;color:#5e5a53;font-size:11px;font-weight:600}
.timelet-categories span{display:flex;align-items:center;gap:7px}
.timelet-categories span:before{content:'';width:8px;height:8px;background:#7b93e0;border-radius:50%}
.timelet-categories span:nth-child(2):before{background:#9e83df}
.timelet-categories span:nth-child(3):before{background:#e3a158}
.timelet-categories span:nth-child(4):before{background:#e98aa6}
.portfolio-yuanne{background:#fbf8f3;color:#493d36}
.portfolio-yuanne .portfolio-logo{height:53px;max-width:170px}
.yuanne-message{margin:25px 0 0;position:relative;padding-left:23px}
.yuanne-rule{position:absolute;left:0;top:5px;bottom:0;width:1px;background:#a18474}
.yuanne-message .portfolio-headline{font-family:'Noto Serif SC','Songti SC',SimSun,serif;font-weight:500;font-size:35px;line-height:1.5;letter-spacing:.1em}
.yuanne-secondary{display:block;font-size:12px;letter-spacing:.12em;color:#76665d;margin-top:13px}
.portfolio-yuanne .portfolio-location{color:#8e5d4d;font-family:inherit;font-size:10px;letter-spacing:.16em}
.portfolio-dondi{background:white;color:#111;padding-right:0;padding-bottom:0}
.portfolio-dondi .portfolio-brandline{padding-right:32px}
.portfolio-dondi .portfolio-logo{width:190px;height:auto;max-width:70%}
.dondi-feature{display:grid;grid-template-columns:1fr 44%;gap:10px;height:calc(100% - 66px);margin-top:19px;align-items:center}
.dondi-feature>div{padding-bottom:16px;align-self:center}
.dondi-feature .portfolio-headline{font-family:Jost,'Helvetica Neue',Arial,'Microsoft YaHei',sans-serif;font-size:30px;font-weight:300;line-height:1.25;letter-spacing:-.035em}
.dondi-model{font-size:9px;letter-spacing:.2em;color:#8a5a3c;display:block;margin-top:23px}
.dondi-photo{width:100%;height:100%;min-height:0;object-fit:cover;object-position:50% 63%;display:block}
.portfolio-details{padding:27px 30px 23px;display:flex;flex-direction:column;min-height:270px}
.portfolio-meta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:10px;line-height:1.5;color:#606875;letter-spacing:.035em}
.portfolio-status{font-size:10px;line-height:1.5;color:#47535e;background:#f0f1ee;padding:4px 8px;letter-spacing:0}
.portfolio-project-cujian .portfolio-status{background:#faf0d3;color:#1f1a17}
.portfolio-project-timelet .portfolio-status{background:#f3ecd8;color:#232220}
.portfolio-project-yuanne .portfolio-status{background:#f2e7dc;color:#73483b}
.portfolio-project-dondi .portfolio-status{background:#f4f4f1;color:#5c5c5c}

.portfolio-description{font-size:13px;line-height:1.9;flex-grow:1;margin:18px 0 23px}
.portfolio-bottom{border-top:1px solid #e7e8e4;padding-top:16px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.portfolio-operator{font-size:10px;line-height:1.6;color:#68707a}
.portfolio-link{display:inline-flex;align-items:center;gap:19px;font-size:12px;min-height:30px;font-weight:650;line-height:1.5}
.portfolio-link span{font-size:19px;font-weight:400}
.portfolio-project-cujian .portfolio-link{color:#a63a13}
.portfolio-project-timelet .portfolio-link{color:#0b6e64}
.portfolio-project-yuanne .portfolio-link{color:#8e5d4d}
.portfolio-project-dondi .portfolio-link:hover{color:#8a5a3c}
.portfolio-domain{font-size:10px;color:#727984;letter-spacing:.035em;margin-top:7px}
@media(min-width:1100px){.portfolio-meta{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.portfolio-bottom{flex-direction:row;align-items:center;justify-content:space-between;gap:14px}.portfolio-link{flex-shrink:0}.portfolio-operator{max-width:62%}}
@media(max-width:1100px) and (min-width:761px){.portfolio-visual{padding-left:25px;padding-right:25px;height:330px}.portfolio-brandline{gap:14px}.portfolio-timelet .portfolio-logo{width:210px}.timelet-message .portfolio-headline{font-size:28px}.timelet-categories{gap:6px 12px}.cujian-cover-strip{left:25px;right:25px}.portfolio-cujian .portfolio-headline{font-size:25px}.dondi-feature .portfolio-headline{font-size:26px}.portfolio-dondi{padding-right:0}.portfolio-dondi .portfolio-brandline{padding-right:25px}.portfolio-dondi .portfolio-logo{width:155px}.portfolio-details{padding:25px;min-height:315px}.portfolio-location{left:25px}.brand-ribbon-official{gap:23px}.ribbon-timelet .ribbon-logo{width:145px}}
@media(max-width:760px){.brand-ribbon-official{grid-template-columns:1fr 1fr;gap:22px 32px}.brand-ribbon-official>span{grid-column:1/3;max-width:none;font-size:10px}.brand-ribbon-official .ribbon-brand{justify-content:flex-start;height:44px}.portfolio-visual{height:325px;padding:25px}.portfolio-brandline{min-height:44px}.portfolio-logo{max-width:78%;height:38px}.portfolio-cujian .portfolio-logo{height:34px}.portfolio-cujian .portfolio-headline{font-size:26px;margin-top:22px}.cujian-cover-strip{left:25px;right:25px;gap:9px;bottom:23px}.cujian-panorama{bottom:106px;height:85px;max-height:none;width:130%;max-width:none;left:-15%}.portfolio-timelet .portfolio-logo{width:230px;max-width:84%;height:40px}.timelet-message{padding-top:28px}.timelet-message .portfolio-headline{font-size:31px}.timelet-categories{gap:9px 16px;font-size:10px;max-width:270px}.portfolio-location{left:25px;bottom:20px;font-size:10px}.portfolio-yuanne .portfolio-logo{height:51px}.yuanne-message{margin-top:24px}.yuanne-message .portfolio-headline{font-size:32px}.yuanne-secondary{font-size:11px;margin-top:12px}.portfolio-dondi{padding-right:0;padding-bottom:0}.portfolio-dondi .portfolio-brandline{padding-right:25px}.portfolio-dondi .portfolio-logo{width:175px}.dondi-feature{grid-template-columns:1fr 43%;margin-top:19px}.dondi-feature .portfolio-headline{font-size:27px}.dondi-model{font-size:9px}.portfolio-details{padding:25px;min-height:0}.portfolio-description{font-size:13px;margin-bottom:21px}.portfolio-bottom{gap:12px}.portfolio-link{font-size:12px;min-height:36px}.portfolio-operator{font-size:10px}}
@media(max-width:370px){.portfolio-visual{padding-left:22px;padding-right:22px}.portfolio-timelet .portfolio-logo{width:210px}.timelet-message .portfolio-headline{font-size:28px}.portfolio-cujian .portfolio-headline{font-size:24px}.cujian-cover-strip{left:22px;right:22px}.dondi-feature .portfolio-headline{font-size:23px}.portfolio-dondi{padding-right:0}.portfolio-dondi .portfolio-logo{width:155px}.portfolio-details{padding:23px}.portfolio-location{left:22px}}
@media print{.portfolio-project{margin:18px 0;break-inside:avoid}.portfolio-visual{height:320px}.portfolio-details{min-height:0}}
