/* Public product portfolio, with local, editable media assets. */
.works-search{display:flex;align-items:end;gap:18px;padding:24px 0;border-block:1px solid #dce0e4}
.works-search label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#737d8c}
.work-search-field{flex:1}.work-category-field{width:235px}
.works-search input,.works-search select{height:48px;padding:11px 14px;background:#fff;border:1px solid #d8dde4;border-radius:5px;color:#23334b;font-size:13px;width:100%}
.works-search .button{min-height:48px;font-size:12px;gap:20px;padding:12px 18px}
.works-reset{align-self:center;white-space:nowrap;font-size:12px;color:#617598;margin-top:23px}
.portfolio-caption{display:flex;justify-content:space-between;align-items:center;padding:23px 0;color:#7b8490;font-size:12px}
.works-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 32px}
.portfolio-card{min-width:0}
.portfolio-visual{position:relative;display:block;aspect-ratio:1.6;overflow:hidden;border-radius:9px;background:#e8edf3;border:1px solid #d4dce54d}
.portfolio-visual>img{width:100%;height:100%;object-fit:contain;transition:transform .5s ease}
.portfolio-visual:hover>img{transform:scale(1.025)}
.portfolio-visual .collection-open{right:15px;bottom:15px;width:36px;height:36px;font-size:20px}
.portfolio-card-copy{padding:21px 0 0}
.portfolio-meta{display:flex;align-items:center;justify-content:space-between;color:#718198;font-size:11px;letter-spacing:.04em}
.portfolio-meta>span:last-child{color:#9fa8b3;font-family:monospace}
.portfolio-card h2{font-size:27px;line-height:1.45;margin:13px 0 10px;letter-spacing:-.035em}
.portfolio-card-copy>p{font-size:13px;line-height:1.9;color:#6f7b8d;min-height:50px;margin:0}
.portfolio-tags{display:flex;flex-wrap:wrap;gap:8px 14px;color:#6d7f99;font-size:10px;margin-top:16px}
.portfolio-tags>span+span:before{content:'·';color:#bbc4d0;margin-right:14px}
.portfolio-card-copy>.text-link{margin-top:22px;font-size:12px}
.portfolio-card-copy>.example-badge{margin-top:15px;margin-right:12px}
.works-collection>.empty-state{grid-column:1/-1}
.portfolio-pagination{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #dce0e4;padding-top:25px}
.portfolio-pagination p{margin:0;color:#748196;font-size:12px}
.portfolio-page-links{display:flex;align-items:center;gap:7px}
.portfolio-page-links a,.portfolio-page-links .page-number,.portfolio-page-links .page-direction{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid #dce1e8;border-radius:5px;background:#fff;font-size:12px;color:#364d70;text-decoration:none}
.portfolio-page-links .page-number{min-width:42px}.portfolio-page-links .page-direction{padding:0 14px}.portfolio-page-links .page-gap{color:#8d98a8;padding:0 4px}
.portfolio-page-links .is-current{background:#285cff;border-color:#285cff;color:#fff}.portfolio-page-links .is-disabled{color:#a6afbb;background:transparent}.portfolio-page-links a:hover{background:#eef3ff;border-color:#a2b7ed}
.portfolio-page-links a:focus-visible{outline:2px solid #285cff;outline-offset:3px}
@media(max-width:600px){.portfolio-pagination{flex-direction:column;align-items:stretch;padding-top:20px;gap:17px}.portfolio-pagination p{font-size:11px}.portfolio-page-links{justify-content:center;gap:6px}.portfolio-page-links .page-number{min-width:38px}.portfolio-page-links .page-direction{padding:0 10px;font-size:11px}.portfolio-page-links .page-gap{padding:0 1px}}
.work-cover-zoom{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.is-interior .work-detail-visual .work-cover-zoom>img{width:100%;height:100%;object-fit:contain}
.work-cover-zoom>span{position:absolute;right:20px;bottom:20px;border:1px solid #d9e1ec;background:#fffffff0;color:#536481;border-radius:5px;padding:9px 14px;font-size:11px}
.is-interior .work-detail-visual{background:#e8edf3}
.portfolio-demo{font-size:12px;margin-top:25px;min-height:45px;padding:12px 16px;width:100%}
.home-portfolio{background:#f7f7f3;border-bottom:1px solid #dfe3e8}
.home-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:43px}
.home-portfolio-image{display:block;position:relative;aspect-ratio:1.6;background:#e8edf3;border:1px solid #dce3ec80;border-radius:8px;overflow:hidden}
.home-portfolio-image img{width:100%;height:100%;object-fit:contain;transition:transform .5s}
.home-portfolio-image:hover img{transform:scale(1.03)}
.home-portfolio-image>span{position:absolute;bottom:12px;right:12px;width:33px;height:33px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:19px;color:#344666}
.home-portfolio-meta{font-size:10px;color:#71839f;margin-top:22px}
.home-portfolio-card h3{font-size:23px;line-height:1.5;letter-spacing:-.035em;margin:8px 0 10px}
.home-portfolio-card p{font-size:12px;line-height:1.9;color:#738095;max-width:365px}
.home-portfolio-placeholder{height:100%;display:grid;place-items:center;padding:30px;color:#71839f;font-size:20px}
@media(max-width:1100px){.works-collection{gap:43px 24px}.portfolio-card h2{font-size:23px}.home-portfolio-card h3{font-size:20px}.home-portfolio-grid{gap:20px}}
@media(max-width:768px){.works-search{gap:12px;flex-wrap:wrap}.work-search-field{flex-basis:100%}.work-category-field{flex:1}.works-reset{margin-top:0}.works-collection{gap:38px 21px}.portfolio-card h2{font-size:21px}.portfolio-card-copy>p{font-size:12px}.home-portfolio-grid{grid-template-columns:1fr;gap:31px}.home-portfolio-card{display:grid;grid-template-columns:1.1fr 1fr;column-gap:25px}.home-portfolio-image{grid-row:1/5}.home-portfolio-meta{margin-top:3px}.home-portfolio-card p{font-size:12px}.home-portfolio-card h3{font-size:23px}.home-portfolio-card h3,.home-portfolio-meta{align-self:start}}
@media(max-width:600px){.works-search{padding:18px 0}.works-search input,.works-search select{height:45px;font-size:12px}.works-search .button{min-height:45px;font-size:11px}.portfolio-caption{font-size:10px;padding:18px 0}.works-collection{grid-template-columns:1fr;gap:35px}.portfolio-card-copy{padding-top:17px}.portfolio-card h2{font-size:23px;margin:10px 0}.portfolio-meta{font-size:10px}.portfolio-card-copy>p{min-height:0;font-size:12px}.portfolio-tags{margin-top:12px;font-size:9px}.portfolio-card-copy>.text-link{margin-top:16px}.work-cover-zoom>span{right:10px;bottom:10px;font-size:9px;padding:6px 9px}.home-portfolio-grid{margin-top:30px}.home-portfolio-card{display:block}.home-portfolio-meta{margin-top:15px}.home-portfolio-card h3{font-size:23px;margin-top:7px}.home-portfolio-card p{font-size:11px}.home-portfolio-image{border-radius:7px}}
@media(prefers-reduced-motion:reduce){.portfolio-visual>img,.home-portfolio-image img{transition:none}}
/* Portrait app screens retain their proportions in a framed product composition. */
.portfolio-visual.is-portrait,.home-portfolio-image.is-portrait{background:radial-gradient(ellipse at 50% 35%,#fff 0%,#e7eef9 62%,#d9e4f4 100%)}
.portfolio-visual.is-portrait>img,.home-portfolio-image.is-portrait>img{position:absolute;left:50%;top:22px;width:auto;height:116%;max-width:80%;object-fit:contain;border:5px solid #fff;border-radius:12px;box-shadow:8px 10px 35px #3b5f9935;transform:translateX(-50%) rotate(-4deg);transform-origin:50% 30%}
.portfolio-visual.is-portrait:hover>img,.home-portfolio-image.is-portrait:hover>img{transform:translateX(-50%) rotate(-2deg) translateY(-4px)}
.is-interior .work-detail-visual.is-portrait{background:radial-gradient(ellipse at 50% 25%,#fff,#e6edf7 72%)}
.is-interior .work-detail-visual.is-portrait .work-cover-zoom>img{width:auto;height:92%;max-width:92%;margin:auto;border:5px solid white;border-radius:11px;box-shadow:0 9px 35px #3b5f9925}
@media(max-width:600px){.is-interior .work-detail-visual.is-portrait{aspect-ratio:.78}.portfolio-visual.is-portrait>img,.home-portfolio-image.is-portrait>img{top:18px;border-width:4px;border-radius:10px}}
