/* Bounded page controls shared by live preview and published rendering. */
.screen[data-page] {padding-left:var(--display-padding,16px);padding-right:var(--display-padding,16px)}
.screen[data-page] .page-title h1 {font-size:var(--display-titleSize,28px)}
.screen[data-page] .page-title p {font-size:var(--display-bodySize,14px)}
.screen[data-page=home] .home-editorial {margin-inline:calc(-1 * var(--display-padding,24px))}
.screen[data-page=home] .home-masthead {padding-inline:var(--display-padding,24px)}
.screen[data-page=home] .home-masthead h1 {font-size:var(--display-titleSize,42px)}
.screen[data-page=home] .home-hero .photo-frame {aspect-ratio:var(--display-heroRatio,1.13)}
.screen[data-page=home] .home-stories {padding-inline:var(--display-padding,24px)}
.screen[data-page=home] .home-gallery {grid-template-columns:repeat(var(--display-columns,2),minmax(0,1fr));gap:var(--display-gap,20px)}
.screen[data-page=home] .home-story-caption strong {font-size:var(--display-captionSize,14px)}
.screen[data-page=home][data-layout=photo-first] .home-editorial {display:flex;flex-direction:column}
.screen[data-page=home][data-layout=photo-first] .topbar {order:0}
.screen[data-page=home][data-layout=photo-first] .home-hero {order:1}
.screen[data-page=home][data-layout=photo-first] .home-masthead {order:2}
.screen[data-page=home][data-layout=photo-first] .home-action {order:3}
.screen[data-page=home][data-layout=photo-first] .home-stories {order:4}
.screen[data-page=home][data-layout=photo-first] .home-album-entry {order:5}
.screen[data-page=home][data-layout=photo-first] .site-footer {order:6}
.screen[data-page=home][data-layout=compact] .home-mat {padding:0;border:0}
.screen[data-page=home][data-layout=compact] .home-story:nth-child(even) {margin-top:0}
.screen[data-page=works] .works-grid {grid-template-columns:repeat(var(--display-columns,2),minmax(0,1fr));gap:var(--display-gap,16px)}
.screen[data-page=works][data-layout=uniform] .tile.is-landscape {grid-column:auto}
.screen[data-page=works][data-layout=uniform] .tile .photo-frame {aspect-ratio:var(--display-photoRatio,.8)}
.screen[data-page=works][data-layout=uniform] .photo-image {object-fit:cover}
.screen[data-page=albums] .album-card {gap:var(--display-gap,18px);padding-block:var(--display-gap,18px)}
.screen[data-page=albums][data-layout=cards] {display:block}
.screen[data-page=albums][data-layout=cards] .album-card {display:inline-flex;flex-direction:column;vertical-align:top;width:calc(100% / var(--display-columns,2) - var(--display-gap,16px));margin-right:var(--display-gap,16px);border:0}
.screen[data-page=albums][data-layout=cards] .album-card .photo-frame {height:auto;aspect-ratio:var(--display-photoRatio,.8)}
.screen[data-page=albums][data-layout=cards] .album-card img {object-fit:cover}
.screen[data-page=albums][data-layout=compact] .album-card .photo-frame {height:92px}
.screen[data-page=packages] .package {padding-block:var(--display-gap,20px)}
.screen[data-page=packages] .features {font-size:var(--display-bodySize,14px)}
.screen[data-page=packages][data-layout=cards] .package {display:inline-block;vertical-align:top;width:calc(100% / var(--display-columns,2) - var(--display-gap,16px));margin-right:var(--display-gap,16px);padding:16px;border:1px solid #ddd}
.screen[data-page=packages][data-layout=cards] .package-head {flex-direction:column}
.detail-sheet .detail-intro {padding-inline:var(--display-padding,20px)}
.detail-sheet .detail-intro h2 {font-size:var(--display-titleSize,28px)}
.detail-sheet .detail-description,.detail-sheet .story-section p {font-size:var(--display-bodySize,14px)}
.detail-sheet .arranged-gallery {padding-inline:var(--display-padding,20px);gap:var(--display-gap,24px)}
.detail-sheet .photo-story-caption {font-size:var(--display-captionSize,13px)}
.detail-sheet .detail-frame[style] .photo-frame {aspect-ratio:var(--custom-photo-ratio)}
.detail-sheet .detail-frame[style] .photo-image {object-fit:cover}

.screen[data-page=works][data-ratio=custom] .tile .photo-frame {aspect-ratio:var(--display-photoRatio)}
.screen[data-page=albums][data-ratio=custom] .album-card .photo-frame {height:auto;aspect-ratio:var(--display-photoRatio)}
.detail-sheet .fit-contain[style] .photo-image {object-fit:contain}

.screen[data-page=home] .home-masthead p {font-size:var(--display-bodySize,14px)}
.screen[data-page=works] .tile-info strong {font-size:var(--display-captionSize,14px)}
.screen[data-page=albums] .album-card h3 {font-size:var(--display-captionSize,14px)}
.screen[data-page=albums] .album-card p {font-size:var(--display-bodySize,14px)}
.screen[data-page=packages] .package h3 {font-size:var(--display-captionSize,14px)}
.home-editorial [hidden],.screen [hidden],.detail-sheet [hidden] {display:none!important}
.screen[data-page=consult] .contact-page {padding-inline:0}
.screen[data-page=consult] .contact-page h1 {font-size:var(--display-titleSize,28px)}
.screen[data-page=consult] .contact-lead,.screen[data-page=consult] .contact-phone {font-size:var(--display-bodySize,14px)}
.screen[data-page=consult] .contact-qr figcaption {font-size:var(--display-captionSize,13px)}
.screen[data-page=consult] .contact-qr {margin-block:var(--display-gap,24px)}
.screen[data-page=consult] .contact-qr {width:min(100%,var(--display-qrWidth,300px));margin-inline:auto}
.contact-qr-dialog img {width:min(100%,var(--display-qrWidth,300px));margin-inline:auto}
.contact-qr-dialog h2 {font-size:var(--display-titleSize,28px)}
.contact-qr-dialog p:not(.eyebrow) {font-size:var(--display-captionSize,13px)}
.package-description,.package-story p {font-size:var(--display-bodySize,14px);line-height:1.9;white-space:pre-wrap}

/* Magazine is a restrained, complete-frame photo book in both preview and publication. */
.detail-sheet.layout-magazine {width:min(760px,100%);--editorial-image-height:320px}
.detail-sheet.layout-magazine .detail-intro {padding-top:30px;padding-bottom:20px}
.detail-sheet.layout-magazine .detail-intro h2 {font-family:"Songti SC","STSong",serif;font-weight:500;letter-spacing:.025em}
.detail-sheet.layout-magazine .article-canvas {align-items:start;row-gap:var(--display-gap,14px);column-gap:12px;padding-bottom:32px}
.detail-sheet.layout-magazine .article-canvas .article-heading {display:flex;align-items:baseline;gap:12px;border-top:1px solid var(--photo-line,#dedede);padding-top:18px;margin-top:22px}
.detail-sheet.layout-magazine .article-canvas .article-heading .article-text {font-size:min(var(--article-block-size,26px),calc(var(--display-titleSize,26px) * .8));line-height:1.55}
.detail-sheet.layout-magazine .article-canvas .article-paragraph {width:min(100%,38ch);justify-self:start;margin-bottom:6px}
.detail-sheet.layout-magazine .article-canvas .article-paragraph .article-text {font-size:var(--display-bodySize,14px);line-height:1.9}
.detail-sheet.layout-magazine .article-canvas .article-image.layout-half {--editorial-image-height:238px}
.detail-sheet.layout-magazine .article-canvas .article-image .detail-photo-link,
.detail-sheet.layout-magazine .detail-gallery .detail-photo-link {background:transparent}
.detail-sheet.layout-magazine .article-canvas .article-image .photo-frame,
.detail-sheet.layout-magazine .detail-gallery .photo-frame {width:min(100%,var(--native-width,100%),calc(var(--editorial-image-height) * var(--photo-ratio)));aspect-ratio:var(--photo-ratio);max-height:var(--editorial-image-height);margin-inline:auto;background:transparent}
.detail-sheet.layout-magazine .article-canvas .article-image .photo-image,
.detail-sheet.layout-magazine .detail-gallery .photo-image {object-fit:contain}
.detail-sheet.layout-magazine .article-canvas .article-image figcaption {font-size:var(--display-captionSize,11px);line-height:1.7;padding-top:7px;max-width:40ch;margin-inline:auto;letter-spacing:.015em}
.detail-sheet.layout-magazine .article-canvas .article-image.layout-full {padding-block:6px}
.detail-sheet.layout-magazine .detail-gallery .layout-half {--editorial-image-height:238px}
.detail-sheet.layout-magazine .detail-intro,
.detail-sheet.layout-magazine .article-canvas,
.detail-sheet.layout-magazine .detail-gallery {max-width:680px;margin-inline:auto}
@media(min-width:700px){
 .detail-sheet.layout-magazine {--editorial-image-height:420px}
 .detail-sheet.layout-magazine .detail-intro {padding-top:40px;padding-bottom:28px}
 .detail-sheet.layout-magazine .article-canvas {column-gap:24px}
 .detail-sheet.layout-magazine .article-canvas .article-image.layout-half,
 .detail-sheet.layout-magazine .detail-gallery .layout-half {--editorial-image-height:320px}
 .detail-sheet.layout-magazine .article-canvas .article-heading {margin-top:30px;padding-top:22px}
}
