/* Portfolio expansion 2026-11-11. No global overrides beyond the new scoped components. */
.portfolio-home-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:32px 28px;}
.portfolio-home-grid .work-item{min-height:100%;}
.portfolio-home-grid .work-item h3{font-size:22px;}
.portfolio-home-grid .work-media{margin:0 0 14px;}
.portfolio-more{display:flex;justify-content:center;margin-top:48px;}
.portfolio-salon-frame{width:100%;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#f7f4f2;}
.portfolio-salon-frame img{display:block;width:100%;height:100%;object-fit:cover;}
.portfolio-salon-frame:hover img{transform:scale(1.018);transition:transform .2s ease;}
.portfolio-kicker{font-size:14px;font-weight:700;letter-spacing:.14em;color:var(--blue);margin-bottom:18px;}
.portfolio-intro{max-width:900px;}
.portfolio-intro .lead{max-width:780px;}
.portfolio-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;}
.portfolio-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px;margin-top:48px;}
.portfolio-index-grid .work-item{min-height:100%;}
.portfolio-index-grid .work-item h3{font-size:22px;}
.portfolio-index-grid .work-media{margin-bottom:14px;}
.portfolio-feature{padding:0 0 100px;}
.portfolio-feature+.portfolio-feature{padding-top:96px;border-top:1px solid var(--border);}
.portfolio-feature-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:56px;}
.portfolio-feature-top figure{margin:0;}
.portfolio-feature-top .portfolio-salon-frame{aspect-ratio:16/9;}
.portfolio-feature h2{font-size:clamp(28px,3vw,40px);}
.portfolio-feature .lead{font-size:18px;}
.portfolio-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:38px 0 0;padding:0;list-style:none;}
.portfolio-features li{padding:18px 0 14px;border-top:1px solid var(--border);min-width:0;}
.portfolio-features h3{font-size:20px;margin:6px 0 12px;}
.portfolio-features p{font-size:16px;line-height:1.85;color:var(--muted-foreground);}
.portfolio-flow-figure{margin:34px 0 0;}
.portfolio-flow-figure img{width:100%;height:auto;display:block;border-radius:8px;background:#fff;}
.portfolio-flow-figure figcaption{margin-top:12px;font-size:14px;color:var(--muted-foreground);}
.portfolio-step-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:32px 0 45px;padding:0;list-style:none;}
.portfolio-step-list li{padding:21px 16px;border:1px solid var(--border);border-radius:10px;background:#fff;min-width:0;}
.portfolio-step-list strong{display:block;color:var(--blue);font-family:Arial,sans-serif;font-size:20px;margin-bottom:8px;}
.portfolio-step-list h3{font-size:18px;margin-bottom:8px;}
.portfolio-step-list p{font-size:14px;color:var(--muted-foreground);line-height:1.7;}
.portfolio-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;margin-top:34px;}
.portfolio-gallery-item{margin:0;min-width:0;}
.portfolio-gallery-item button{display:block;position:relative;width:100%;margin:0;padding:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#f4f6f8;cursor:zoom-in;}
.portfolio-gallery-item button::after{content:"拡大して見る  ↗";position:absolute;right:12px;bottom:12px;border-radius:4px;background:rgba(10,27,61,.87);padding:6px 10px;color:#fff;font-size:13px;font-weight:700;}
.portfolio-gallery-item button img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:left top;}
.portfolio-gallery-item figcaption{margin-top:10px;font-size:15px;line-height:1.65;}
.portfolio-gallery-item figcaption strong{display:block;color:var(--ink);font-size:17px;}
.portfolio-disclaimer{border-left:3px solid var(--blue);background:var(--muted);padding:18px 22px;margin-top:30px;font-size:14px;line-height:1.85;}
.portfolio-ctabar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 0;margin-top:50px;border-top:1px solid var(--border);}
.portfolio-ctabar p{font-size:16px;}
.portfolio-more-link{margin-top:20px;}
.portfolio-lightbox{width:min(95vw,1260px);max-width:none;max-height:94vh;border:0;border-radius:10px;padding:16px;background:#fff;color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.28);}
.portfolio-lightbox::backdrop{background:rgba(2,13,28,.83);}
.portfolio-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;}
.portfolio-lightbox-head strong{font-size:16px;}
.portfolio-lightbox-close{border:1px solid var(--border);border-radius:4px;padding:5px 12px;min-height:42px;}
.portfolio-lightbox img{display:block;max-width:100%;max-height:72vh;object-fit:contain;margin:0 auto;}
.portfolio-lightbox-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;}
.portfolio-lightbox-nav button{min-height:42px;padding:6px 15px;border-radius:4px;border:1px solid var(--border);}
.portfolio-lightbox-nav button:hover,.portfolio-lightbox-close:hover{background:var(--pale-blue);}
.portfolio-lightbox-counter{font-size:14px;color:var(--muted-foreground);}
.portfolio-index-grid .work-media-link:focus-visible{outline-offset:3px;}
@media(max-width:1023px){.portfolio-home-grid,.portfolio-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.portfolio-feature-top{gap:28px;}.portfolio-step-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.portfolio-home-grid,.portfolio-index-grid,.portfolio-gallery,.portfolio-feature-top,.portfolio-features,.portfolio-step-list{grid-template-columns:1fr;}.portfolio-home-grid,.portfolio-index-grid{gap:32px;}.portfolio-feature,.portfolio-feature+.portfolio-feature{padding-top:56px;padding-bottom:56px;}.portfolio-feature-top{gap:26px;}.portfolio-feature .lead{font-size:17px;}.portfolio-ctabar{align-items:flex-start;flex-direction:column;}.portfolio-lightbox{padding:10px;}.portfolio-lightbox img{max-height:65vh;}}

/* Six equal cards in the home works section. */
.portfolio-home-grid{align-items:stretch;}
.portfolio-home-grid .work-item{min-width:0;padding:0;display:flex;flex-direction:column;}
.portfolio-home-grid .work-item h3{min-height:3em;}
.portfolio-home-grid .work-media{aspect-ratio:16/9;overflow:hidden;border-radius:8px;}
.portfolio-home-grid .work-media img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block;}
.portfolio-feature-preview{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:left top;border-radius:8px;border:1px solid var(--border);}
.portfolio-gallery-heading{font-size:24px;margin-top:36px;}

@media(max-width:767px){.portfolio-home-grid{grid-template-columns:1fr;grid-auto-rows:auto;}.portfolio-home-grid .work-item h3{min-height:0;}}
