/* Photo-led portfolio refinement, October 2026. Existing brand is retained. */
.site-header{background:#fff}
.hero-shell{border-bottom:0}
.hero-shell .hero{grid-template-columns:minmax(0,.65fr) minmax(0,1.2fr);gap:clamp(28px,4vw,60px);align-items:center;padding-block:48px 52px}
.hero-shell h1{font-size:clamp(2.5rem,3.6vw,3.5rem);line-height:1.3;letter-spacing:-.045em;margin-top:22px;font-weight:700}
.hero-shell h1 .hero-line{display:block}
.hero-shell .hero-description{margin-top:22px;max-width:30em;font-size:.9375rem;line-height:1.9}
.hero-shell .hero-actions{margin-top:27px;gap:12px 22px}
.hero-shell .hero-location{margin-top:30px;font-size:.75rem}
.hero-shell .hero-visual.hero-carousel{min-height:0;background:transparent;overflow:hidden;color:#fff}
.hero-shell .hero-window,.hero-shell .hero-carousel>.hero-slide{min-height:0;flex:none;aspect-ratio:4/3;width:100%;background:#171b20}
.hero-slide{background:#171b20}
.hero-slide>img{object-fit:contain;background:#171b20}
.hero-slide>img.is-contained{padding:0;background:#171b20}
.hero-carousel .hero-slide figcaption{display:none}
.hero-carousel:not(.carousel-ready) .hero-slide figcaption{display:flex;background:#20242be6;color:white}
.hero-carousel:not(.carousel-ready) .hero-slide figcaption>span:first-child{display:none}
.hero-caption-fixed{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;padding-top:12px;font-size:.8125rem;line-height:1.6;color:#dfe3e7}
.hero-caption-fixed:before{content:"";width:22px;height:2px;flex-shrink:0;background:var(--yellow)}
.hero-caption-fixed span{margin-right:auto}
.carousel-play{top:14px;right:14px;background:#20242bd9}
.service-strip{border-top:1px solid #dde0e1}
.strip-inner{min-height:70px}
.projects.section-space{padding-block:72px 48px}
.projects .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.projects .section-heading>div{order:-1}
.projects .section-heading h2{font-size:clamp(1.85rem,2.6vw,2.4rem);line-height:1.35;font-weight:700}
.projects .section-heading>div>p{font-size:.9375rem;margin-top:12px;line-height:1.75}
.projects .section-heading>.eyebrow{align-self:auto;color:var(--muted);white-space:nowrap;font-size:.75rem}
.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 30px;align-items:start}
.portfolio-grid .project-image{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#f1f2f2}
.portfolio-grid .project-image img{width:100%;height:100%;object-fit:contain;transition:filter .2s}
.project-album-link:hover img{filter:brightness(1.025)}
.project-album-link:after{content:"↗";position:absolute;right:14px;top:14px;display:grid;place-items:center;width:34px;height:34px;background:#fffef8;color:var(--ink);border-radius:50%;font:19px Arial,sans-serif;opacity:0;transition:opacity .2s}
.project-album-link:hover:after,.project-album-link:focus-visible:after{opacity:1}
.project figcaption{display:grid;grid-template-columns:1fr auto;gap:5px 14px;padding-top:17px}
.project h3{font-size:1.1rem;font-weight:600;line-height:1.5}
.project figcaption>.project-category{grid-column:1/-1;grid-row:2;line-height:1.7;margin:0;font-size:.875rem}
.project figcaption>.album-count{grid-column:2;grid-row:1;font-size:.75rem;line-height:1.9;margin:0;color:#606870;white-space:nowrap}
.project figcaption .album-detail{grid-column:1/-1;justify-self:start;font-size:.8125rem;margin-top:4px}
.portfolio-more{min-width:250px;min-height:52px;font-size:.9375rem}
.portfolio-pagination{padding-top:44px;gap:12px}
.album-article{display:inline-flex;align-items:center;gap:7px;color:#d3d8df;font-size:.8125rem;text-decoration:underline;text-underline-offset:4px;min-height:44px}
.album-article[hidden]{display:none}
.album-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:0 24px;margin-top:4px}
.album-footer[hidden]{display:none}
.project-links{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:0 22px;margin-top:4px}
.project figcaption .project-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.8125rem;margin:0;text-decoration:underline;text-underline-offset:5px;color:var(--ink)}
.project-links a:hover{color:#675000}
.project-links a:focus-visible,.album-article:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
.projects-footer{padding-block:24px}
@media(max-width:1000px){
 .hero-shell .hero{grid-template-columns:minmax(0,.78fr) minmax(0,1fr);gap:28px}
 .hero-shell h1{font-size:2.55rem}
 .hero-shell .hero-description br{display:none}
}
@media(max-width:900px){
 .hero-shell .hero{grid-template-columns:minmax(0,1fr);gap:30px;padding-block:34px 32px}
 .hero-shell .hero-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;align-items:center}
 .hero-shell .hero-copy>.eyebrow{grid-column:1/-1}
 .hero-shell h1{grid-column:1;grid-row:2/4;font-size:clamp(2.2rem,4.7vw,3rem);margin-top:18px}
 .hero-shell .hero-description{grid-column:2;grid-row:2;margin-top:18px}
 .hero-shell .hero-actions{grid-column:2;grid-row:3;margin-top:16px}
 .hero-shell .hero-location{display:none}
 .hero-shell .hero-window,.hero-shell .hero-carousel>.hero-slide{aspect-ratio:4/3;max-height:520px}
 .projects .section-heading{align-items:flex-start}
 .portfolio-grid{gap:36px 22px}
 .project figcaption{grid-template-columns:1fr}
 .project figcaption>.album-count{grid-column:1;grid-row:3}
}
@media(max-width:640px){
 :root{--gutter:20px}
 .site-header{height:72px}
 .primary-nav{top:72px}
 .brand-type strong{font-size:1.3rem}
 .brand img{width:34px;height:34px}
 .brand-type>span{font-size:.64rem;letter-spacing:.025em}
 .hero-shell .hero{padding-block:29px 27px;gap:25px}
 .hero-shell .hero-copy{display:flex;align-items:flex-start}
 .hero-shell h1{font-size:clamp(1.95rem,7.6vw,2.6rem);line-height:1.34;margin-top:16px}
 .hero-shell h1 .hero-line{display:inline}
 .hero-shell h1 .hero-line:before{content:" "}
 .hero-shell .hero-description{margin-top:16px;font-size:.875rem;line-height:1.85}
 .hero-shell .hero-actions{margin-top:21px;gap:13px 18px}
 .hero-shell .hero-actions .button{min-height:48px;font-size:.875rem;padding:12px 16px}
 .hero-shell .hero-window,.hero-shell .hero-carousel>.hero-slide{aspect-ratio:4/3;max-height:none}
 .hero-caption-fixed{min-height:40px;font-size:.75rem;padding-top:10px;gap:10px}
 .strip-inner{min-height:70px;padding-block:14px;gap:4px}
 .strip-inner>span:first-child{font-size:.875rem}
 .strip-inner>p{font-size:.8125rem}
 .projects.section-space{padding-block:46px 30px}
 .projects .section-heading{display:block;margin-bottom:25px}
 .projects .section-heading>.eyebrow{display:none}
 .projects .section-heading h2{font-size:1.75rem;line-height:1.4}
 .projects .section-heading>div>p{font-size:.875rem;margin-top:10px}
 .portfolio-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .portfolio-grid .project-image{aspect-ratio:var(--mobile-ratio,4/3);max-height:460px}
 .project figcaption{grid-template-columns:1fr auto;padding-top:13px;gap:4px 12px}
 .project h3{font-size:1.025rem}
 .project figcaption>.project-category{font-size:.8125rem}
 .project figcaption>.album-count{grid-column:2;grid-row:1;font-size:.6875rem}
 .project-album-link:after{opacity:1;width:28px;height:28px;font-size:16px;right:10px;top:10px;background:#ffffffdb}
 .photo-viewer{width:100%;max-width:100%;max-height:100dvh;min-height:80dvh;padding:14px 12px}
 .album-stage{height:calc(85dvh - 180px)}
 .album-header h2{font-size:.875rem}
 .album-navigation{margin-top:10px}
 .kakao-floating-banner{min-height:50px;padding:11px 18px}
}
@media(prefers-reduced-motion:reduce){.project-image img,.project-album-link:after{transition:none}}
