/* Shared contact cards and construction albums. Real photos keep their full frame. */
.connect-section{padding:64px 0;background:#ebe5da;color:#24211c;scroll-margin-top:90px}
.connect-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}
.connect-head h2,.work-heading{font-family:var(--serif);font-size:clamp(28px,3.6vw,44px);font-weight:500;line-height:1.3}
.connect-head p,.connect-note{color:#62594d;font-size:14px;margin-top:10px}
.connect-phone{display:inline-block;color:#49391f;border:1px solid #90703f;padding:12px 20px;white-space:nowrap}
.social-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.social-card{padding:24px;background:#fffdf8;border:1px solid #d3c9b8;display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:center}
.social-card h3{font-size:20px;font-weight:600;color:#24211c}.social-card p{font-size:13px;color:#62594d;margin:8px 0;overflow-wrap:anywhere}
.social-card a.social-open{display:inline-block;font-size:13px;color:#75511f;text-decoration:underline;text-underline-offset:4px}
.qr-window{display:block;position:relative;overflow:hidden;width:140px;height:140px;background:white;border:1px solid #e5e0d8}
.qr-window img{position:absolute;height:auto;max-width:none;display:block}
.qr-douyin img{width:148.03%;left:-23.68%;top:-28.95%}
.qr-xiaohongshu img{width:336.58%;left:-217.1%;top:-336.84%}
.qr-wechat img{width:138.06%;left:-19.44%;top:-47.22%}
.work-section{padding:80px 0;background:#191713;color:#fff;scroll-margin-top:90px}
.work-head{display:flex;gap:30px;align-items:end;justify-content:space-between;margin-bottom:32px}.work-head p{color:#c2b9aa;max-width:520px;margin-top:14px;font-size:14px}
.work-link{display:inline-block;color:#e4c48e;border-bottom:1px solid #bc9152;padding:8px 0;white-space:nowrap}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.work-card{display:block;border:1px solid #514838;background:#242019;transition:border-color .2s}.work-card:hover{border-color:#e4c48e}
.work-card img{width:100%;height:240px;object-fit:contain;background:#100f0d}.work-card div{padding:20px}.work-card h3{font-family:var(--serif);font-size:23px;font-weight:500}.work-card p{color:#c6bcad;font-size:14px;margin-top:6px}.work-card span{display:block;color:#e4c48e;font-size:13px;margin-top:14px}
.album-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.album-nav a{padding:8px 13px;border:1px solid #b5a68f;font-size:13px}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px}.photo-grid figure{margin:0;border:1px solid #d6ccbc;background:#fffdf8}.photo-grid a{display:block;background:#e5dfd4}.photo-grid img{width:100%;height:320px;object-fit:contain}.photo-grid figcaption{padding:14px;font-size:13px;color:#62594d}
.album-summary{margin-top:20px;color:#62594d}.album-back{display:inline-block;margin-top:24px;color:#75511f;text-decoration:underline}
.photo-viewer{background:#11100e;color:#fff;border:1px solid #6f604a;width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:16px;margin:auto}.photo-viewer::backdrop{background:rgba(0,0,0,.88)}
.viewer-toolbar,.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.photo-viewer button,.photo-viewer a{padding:10px 16px;background:#242019;color:#f5f1e9;border:1px solid #776343;font:inherit;cursor:pointer}.photo-viewer img{display:block;width:100%;height:68dvh;object-fit:contain;margin:16px auto}.viewer-caption{font-size:14px;flex:1}.viewer-counter{font-size:13px;color:#e4c48e}
html:has(.photo-viewer[open]){overflow:hidden}.mobile-contact{display:none}a:focus-visible,button:focus-visible{outline:3px solid #bc9152;outline-offset:4px}
@media(max-width:1150px){.social-card{grid-template-columns:1fr;text-align:center}.qr-window{margin:auto}.work-card img{height:210px}}
@media(max-width:900px){.work-grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.connect-head{align-items:flex-start;flex-direction:column}.work-head{align-items:flex-start;flex-direction:column}.nav-links{gap:18px!important}}
@media(max-width:600px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.connect-section,.work-section{padding:44px 0}.social-cards{grid-template-columns:1fr;gap:12px}.social-card{grid-template-columns:140px minmax(0,1fr);padding:18px;text-align:left}.work-grid{grid-template-columns:1fr}.photo-grid{gap:12px}.photo-grid img{height:220px}.photo-grid figcaption{font-size:12px;padding:10px}.work-card img{height:260px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:#11100e;border-top:1px solid #bc9152;padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px}.mobile-contact a{flex:1;text-align:center;padding:9px 4px;font-size:13px;color:#f5f1e9;border:1px solid #68563c}.mobile-contact a:last-child{background:#bc9152;color:#11100e}.viewer-toolbar{gap:8px}.photo-viewer img{height:58dvh}.photo-viewer{padding:10px}.photo-viewer button,.photo-viewer a{font-size:13px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Homepage effect preview uses the shared card style without loading page.css. */
.section.alt[aria-labelledby="effects-heading"]{padding:80px 0;background:#ebe5da;color:#24211c}.section.alt[aria-labelledby="effects-heading"] .eyebrow{color:#75511f}.section.alt[aria-labelledby="effects-heading"] .effects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:32px}.section.alt[aria-labelledby="effects-heading"] .effect-card{margin:0;background:#fffdf8;border:1px solid #d6ccbc}.section.alt[aria-labelledby="effects-heading"] .effect-card img{width:100%;height:300px;object-fit:cover}.section.alt[aria-labelledby="effects-heading"] .effect-card figcaption{padding:16px 18px;color:#62594d;font-size:14px}.section.alt[aria-labelledby="effects-heading"] .effect-card strong{display:block;color:#24211c;font-family:var(--serif);font-size:20px;font-weight:500}.section.alt[aria-labelledby="effects-heading"] .lead{margin-top:22px;color:#62594d}.section.alt[aria-labelledby="effects-heading"] .lead a{color:#75511f;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.section.alt[aria-labelledby="effects-heading"]{padding:48px 0}.section.alt[aria-labelledby="effects-heading"] .effects-grid{grid-template-columns:1fr;gap:12px}.section.alt[aria-labelledby="effects-heading"] .effect-card img{height:240px}}
