.portfolio-page{font-size:18px;line-height:1.65}
.portfolio-header-inner{height:76px}
.portfolio-header nav{font-size:16px}
.portfolio-primary,.portfolio-secondary{min-height:48px;padding:0 22px;font-size:16px}
.portfolio-hero p{font-size:18px}
.portfolio-breadcrumb{font-size:14px}
.portfolio-filters a{padding:9px 17px;font-size:15px}
.portfolio-section>header>span,.portfolio-hero span{font-size:13px}
.portfolio-section h2{font-size:34px}
.portfolio-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(47,35,28,.06);transition:transform .25s ease,box-shadow .25s ease}
.portfolio-card>.portfolio-card-image{position:relative;display:block;width:100%;overflow:hidden;background:#eee;cursor:pointer;aspect-ratio:4/3}
.portfolio-card-image:focus-visible .portfolio-card-overlay{opacity:1;transform:none}
.portfolio-card:hover{box-shadow:0 18px 42px rgba(47,35,28,.14);transform:translateY(-4px)}
.portfolio-card>div{padding:18px}
.portfolio-card-category{font-size:14px!important}
.portfolio-card h3{margin:7px 0;font-size:21px;line-height:1.4}
.portfolio-card p{font-size:16px}
.portfolio-card-link{display:inline-flex;align-items:center;gap:9px;margin-top:13px;color:var(--accent);font-size:15px;font-weight:500}
.portfolio-card-link span{font-size:20px;transition:transform .2s}
.portfolio-card:hover .portfolio-card-link span{transform:translateX(4px)}
.portfolio-category-badge{display:inline-flex;border-radius:999px;background:#f0e8f5;color:var(--accent);padding:6px 12px;font-size:14px;font-weight:600}
.portfolio-detail{grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);align-items:center;gap:68px;padding:50px 0 76px}
.portfolio-detail-copy{position:static}
.portfolio-detail-copy h1{margin-top:14px}
.portfolio-detail-copy .lead{font-size:19px;line-height:1.7}
.portfolio-rich-copy{font-size:17px;line-height:1.85}
.portfolio-tags span{font-size:13px}
.portfolio-detail-action{display:inline-flex;align-items:center;gap:12px;margin-top:30px;color:var(--accent);font-size:17px;font-weight:600}
.portfolio-detail-main{position:relative;overflow:hidden;border:0;border-radius:20px;background:#ede9e4;padding:0;box-shadow:0 24px 60px rgba(43,32,25,.16);cursor:zoom-in}
.portfolio-detail-main img{display:block;width:100%;height:auto;max-height:680px;object-fit:cover}
.portfolio-detail-main>span{position:absolute;right:16px;bottom:16px;border-radius:999px;background:rgba(20,17,14,.78);color:#fff;padding:8px 13px;font-size:13px}
.portfolio-detail-gallery{display:block;padding:14px 0 70px}
.portfolio-detail-gallery header{margin-bottom:18px}
.portfolio-detail-gallery header>span{color:var(--accent);font-size:13px;letter-spacing:.18em}
.portfolio-detail-gallery h2{margin:4px 0 0;font-size:30px}
.portfolio-detail-gallery>div{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.portfolio-detail-gallery button{overflow:hidden;border-radius:13px}
.portfolio-detail-gallery img{height:230px;object-fit:cover}
.portfolio-related{border-top:1px solid var(--line)}
.portfolio-detail-cta{margin-top:40px;background:linear-gradient(120deg,#2a2521,#463b33);color:#fff;padding:70px 0}
.portfolio-detail-cta>.portfolio-shell{display:flex;align-items:center;justify-content:space-between;gap:40px}
.portfolio-detail-cta span{color:#d9bca4;font-size:13px;letter-spacing:.16em}
.portfolio-detail-cta h2{margin:7px 0;font-size:38px}
.portfolio-detail-cta p{margin:0;color:#d7d0ca;font-size:17px}
.portfolio-detail-cta>div>div:last-child{display:flex;gap:10px}
.portfolio-detail-cta .portfolio-primary{background:#fff;color:#25221f}
.portfolio-secondary{display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.65);border-radius:999px;color:#fff}
.portfolio-footer p,.portfolio-footer small{font-size:14px}
.portfolio-lightbox{position:fixed;z-index:9999;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;background:rgba(0,0,0,.92);color:#fff;padding:38px 76px 90px}
.portfolio-lightbox::backdrop{background:rgba(0,0,0,.92)}
.portfolio-lightbox[open]{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:14px}
.portfolio-lightbox figure{display:grid;width:100%;height:calc(100dvh - 128px);grid-template-rows:minmax(0,1fr) auto;gap:12px;margin:0}
.lightbox-image-stage{display:flex;min-width:0;min-height:0;align-items:center;justify-content:center}
.portfolio-lightbox figure .lightbox-image-stage>img{width:auto;height:auto;max-width:min(92vw,1600px);max-height:82vh;object-fit:contain;box-shadow:0 18px 60px rgba(0,0,0,.36)}
.portfolio-lightbox figcaption{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:20px;min-height:50px;padding:0 8px}
.portfolio-lightbox figcaption>div{display:grid}
.portfolio-lightbox figcaption strong{font-size:17px}
.portfolio-lightbox figcaption span,.portfolio-lightbox figcaption small,.portfolio-lightbox figcaption b{color:#c9c4bf;font-size:14px;font-weight:400}
.portfolio-lightbox figcaption b{text-align:right}
.lightbox-close{z-index:2;top:10px;right:18px;width:52px;height:52px;font-size:42px}
.lightbox-arrow{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:rgba(255,255,255,.12);font-size:42px}
.lightbox-thumbnails{right:76px;bottom:16px;left:76px;justify-content:center;max-width:none;height:54px}
.lightbox-thumbnails button{width:68px;height:48px;border-radius:5px}
.lightbox-thumbnails button:focus-visible,.lightbox-close:focus-visible,.lightbox-arrow:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(max-width:900px){.portfolio-page{font-size:17px}.portfolio-header nav{font-size:15px}.portfolio-detail{grid-template-columns:1fr;gap:32px}.portfolio-detail-main{order:-1}.portfolio-detail-gallery>div{grid-template-columns:repeat(2,1fr)}.portfolio-detail-cta>.portfolio-shell{align-items:flex-start;flex-direction:column}.portfolio-lightbox{padding:48px 12px 82px}.portfolio-lightbox[open]{grid-template-columns:50px minmax(0,1fr) 50px;gap:2px}.portfolio-lightbox figure{height:calc(100dvh - 142px)}.portfolio-lightbox figure .lightbox-image-stage>img{max-width:calc(100vw - 112px);max-height:72vh}.portfolio-lightbox figcaption{grid-template-columns:1fr auto;gap:4px 12px}.portfolio-lightbox figcaption small{grid-column:1/-1}.lightbox-arrow{width:48px;height:48px}.lightbox-thumbnails{right:12px;bottom:15px;left:12px;justify-content:flex-start}}
@media(max-width:580px){.portfolio-header-inner{height:68px}.portfolio-brand{font-size:19px}.portfolio-primary,.portfolio-secondary{font-size:14px}.portfolio-hero p{font-size:17px}.portfolio-section h2{font-size:28px}.portfolio-card h3{font-size:20px}.portfolio-card p{font-size:15px}.portfolio-detail-copy .lead{font-size:18px}.portfolio-rich-copy{font-size:16px}.portfolio-detail-gallery>div{grid-template-columns:1fr}.portfolio-detail-gallery img{height:auto}.portfolio-detail-cta{padding:52px 0}.portfolio-detail-cta h2{font-size:30px}.portfolio-detail-cta>div>div:last-child{width:100%;flex-direction:column}.portfolio-lightbox{padding-inline:4px}.portfolio-lightbox[open]{grid-template-columns:42px minmax(0,1fr) 42px}.portfolio-lightbox figure .lightbox-image-stage>img{max-width:calc(100vw - 92px)}.portfolio-lightbox figcaption strong{font-size:15px}.portfolio-lightbox figcaption span,.portfolio-lightbox figcaption small,.portfolio-lightbox figcaption b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.portfolio-card,.portfolio-card-link span{transition:none}}
