/* Portfolio: shared brand styles, independent page layout. */
body.portfolio-page{min-width:0}
.portfolio-page nav a{color:#b4b4af;transition:color .2s}
.portfolio-page nav a:hover{color:var(--green)}
.portfolio-page nav .current{color:#fff}
.portfolio-page .portfolio-hero{padding:75px 6% 85px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.portfolio-hero .section-label{margin-bottom:45px}
.portfolio-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end}
.portfolio-hero h1{font-size:clamp(64px,7vw,118px);line-height:1.02;margin:0;letter-spacing:-.07em}
.portfolio-hero h1 em{color:var(--green)}
.portfolio-hero .portfolio-deck{font:500 clamp(21px,2vw,29px)/1.4 Manrope,Arial,sans-serif;color:#efeee9;margin:0 0 24px;letter-spacing:-.7px}
.portfolio-hero-grid p:last-child{color:#a1aaa2;font-size:16px;line-height:1.8;margin:0}
.portfolio-hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:65px;gap:25px}
.portfolio-hero-bottom>a{font-size:12px;letter-spacing:1px;display:flex;align-items:center;gap:35px}
.portfolio-hero-bottom>a span{color:var(--green);font-size:26px}
.portfolio-signature{display:flex;align-items:center;gap:15px;font-size:11px;letter-spacing:1.4px;color:#a1aaa2}
.portfolio-signature img{width:32px;height:35px}
.portfolio-page .portfolio-section{padding:90px 6%}
.portfolio-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.portfolio-page h2{font-size:clamp(34px,3.4vw,58px);letter-spacing:-.05em;line-height:1.13;margin:0 0 30px}
.portfolio-intro p{font-size:17px;line-height:1.8;color:#a1aaa2;margin:0 0 24px}
.portfolio-intro .portfolio-principle{color:var(--green);font-size:19px}
.portfolio-areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin-top:60px}
.portfolio-area{border-top:1px solid #ffffff30;padding-top:24px}
.portfolio-area>span{font-size:11px;color:var(--green)}
.portfolio-area h3{font-size:18px;line-height:1.4;margin:17px 0 12px;font-weight:500}
.portfolio-area p{color:#a1aaa2;font-size:14px;line-height:1.75;margin:0}
.portfolio-page .portfolio-work{background:#f3f3ed;color:#171c18}
.portfolio-work .section-label{color:#637268}
.portfolio-work-intro{font-size:17px;color:#59645b;line-height:1.7;max-width:670px;margin-bottom:35px}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:10px;margin:36px 0 45px}
.portfolio-filters button{border:1px solid #173e2730;border-radius:30px;background:transparent;color:#526158;padding:11px 19px;font-size:13px;transition:background .2s,color .2s}
.portfolio-filters button:hover,.portfolio-filters button[aria-pressed=true]{background:#173322;color:#fff;border-color:#173322}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 36px}
.portfolio-card[hidden]{display:none}
.portfolio-cover{aspect-ratio:1.48;background:#fff;position:relative;overflow:hidden;border-radius:12px}
.portfolio-cover img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .6s}
.portfolio-card:hover .portfolio-cover img{transform:scale(1.035)}
.portfolio-card.porta .portfolio-cover,.portfolio-card.phone .portfolio-cover{background:#111}
.portfolio-card.phone .portfolio-cover img{padding:45px}
.portfolio-card.social .portfolio-cover{background:#d8ebd9}
.portfolio-card.social .portfolio-cover img{padding:65px}
.portfolio-card.expo .portfolio-cover{background:#e7dfd1}
.portfolio-card.expo .portfolio-cover img{padding:70px}
.portfolio-cover .portfolio-badge{position:absolute;z-index:1;top:18px;left:18px;background:var(--green);color:#10291b;border-radius:4px;padding:9px 12px;font-size:10px;letter-spacing:1px;font-weight:600}
.portfolio-card-meta{display:flex;justify-content:space-between;gap:20px;margin-top:24px;color:#637268;font-size:10px;letter-spacing:1.4px;line-height:1.7}
.portfolio-card h3{font:600 clamp(23px,2.2vw,34px)/1.25 Manrope,Arial,sans-serif;letter-spacing:-1px;margin:12px 0 16px}
.portfolio-card>p{font-size:15px;line-height:1.8;color:#59645b;margin:0;max-width:540px}
.portfolio-count{font-size:12px;color:#637268;margin:0 0 25px}
.portfolio-page .portfolio-closing{background:#173322;position:relative}
.portfolio-closing .section-label{color:#91b69c}
.portfolio-closing>p{font-size:18px;line-height:1.8;max-width:770px;color:#c0d0c2;margin-bottom:30px}
.portfolio-closing .actions{display:flex;flex-wrap:wrap;gap:25px;align-items:center}
.portfolio-page footer{padding-top:65px}
.portfolio-page .footer-top{justify-content:space-between;gap:25px}
.portfolio-page .footer-bottom{flex-wrap:wrap;gap:16px}
.portfolio-page dialog{width:min(560px,calc(100% - 32px));max-height:85vh;overflow:auto}
.portfolio-page dialog h2{font-size:38px}
@media(max-width:1100px){.portfolio-page header{padding:0 4%;gap:20px}.portfolio-page nav{gap:16px;font-size:13px}.portfolio-page .brand img{width:110px}.portfolio-hero-grid{gap:35px}.portfolio-areas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portfolio-page header{height:auto;min-height:85px;flex-wrap:wrap;padding:15px 5%;gap:12px}.portfolio-page nav{order:3;width:100%;overflow:auto;gap:22px;padding:5px 0 15px;white-space:nowrap}.portfolio-page .brand img{height:42px}.portfolio-page .portfolio-hero{padding:50px 6% 55px}.portfolio-hero-grid,.portfolio-intro{grid-template-columns:1fr;gap:30px}.portfolio-hero h1{font-size:68px}.portfolio-hero-bottom{margin-top:35px;align-items:flex-start;flex-direction:column}.portfolio-page .portfolio-section{padding:60px 6%}.portfolio-areas{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px;margin-top:35px}.portfolio-grid{grid-template-columns:1fr;gap:45px}.portfolio-filters{gap:8px}.portfolio-filters button{padding:10px 14px}.portfolio-page .footer-top{flex-wrap:wrap}.portfolio-page .footer-top>a{font-size:14px;overflow-wrap:anywhere}.portfolio-page .footer-grid{grid-template-columns:1fr 1fr;gap:30px}.portfolio-page .footer-bottom{font-size:9px}.portfolio-signature{font-size:10px}.portfolio-closing .text-button{margin-left:0}}
