/* Artwork and guest moments at a comfortable browsing scale. */
.specialty-page section{padding:52px 0}
.specialty-page .hero{padding-bottom:48px}
.specialty-page .hero-grid{gap:36px;padding-top:30px}
.specialty-page h2{font-size:clamp(1.8rem,3.2vw,2.65rem)}
.specialty-page .section-heading{margin-bottom:25px}
.specialty-page figcaption{font-size:.9rem;line-height:1.4;margin-top:9px}
.specialty-gallery,.specialty-gallery.mixed-gallery{display:grid;columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1020px;gap:24px 22px;align-items:start;margin:0 auto}
.specialty-gallery figure,.specialty-gallery .wide,.specialty-gallery .portrait-detail{grid-column:auto;width:100%;max-width:var(--gallery-width,320px);min-width:0;margin:0;justify-self:center}
.specialty-gallery img{display:block;width:100%;height:auto;border-radius:15px;background:none}
.specialty-gallery.mixed-gallery figure{break-inside:auto;margin:0}
.specialty-gallery.gallery-pair{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}
.specialty-gallery.single-artwork{grid-template-columns:1fr;max-width:680px}
.specialty-gallery.single-artwork figure{max-width:680px}
.specialty-gallery.guest-gallery{max-width:820px}
.specialty-gallery .gallery-guest{max-width:min(100%,var(--gallery-width,230px))}
.gallery-heading{font-size:1.25rem;font-weight:850;letter-spacing:-.025em;margin:30px 0 20px}
.gallery-break{height:28px}
.specialty-gallery.artwork-samples{grid-template-columns:repeat(4,minmax(0,1fr));max-width:960px;gap:28px 18px}
.specialty-gallery.paper-artwork{grid-template-columns:repeat(3,minmax(0,1fr));max-width:860px}
.art-extract{position:relative;width:100%;overflow:hidden;border-radius:12px}
.specialty-gallery .art-extract img{position:absolute;max-width:none;height:auto;display:block;border-radius:0}
.behind-scenes{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:30px;align-items:center;margin:34px auto 0;max-width:1020px;padding-top:28px;border-top:1px solid var(--line)}
.behind-scenes figure{width:100%;margin:0}
.behind-scenes img{width:100%;height:auto;border-radius:16px}
.behind-scenes h3{font-size:1.4rem;font-weight:850;letter-spacing:-.025em}
.behind-scenes p{font-size:1rem;color:var(--soft)}
.flower-process{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);max-width:840px}
.flower-process figure{max-width:350px}
.detail-steps .detail-step{padding:22px}
.detail-step .detail-number{margin-bottom:12px}
.specialty-page .cta-panel{padding:32px}
.specialty-page .cta-panel h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.silhouette-gallery{max-width:880px}
.format-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:30px;align-items:center;margin:30px auto 0;max-width:920px;padding:24px;background:var(--cream);border-left:5px solid var(--page-color);border-radius:0 22px 22px 0}
.format-feature figure{margin:0;max-width:360px}
.format-feature img{width:100%;height:auto;border-radius:14px}
.format-feature h3{font-size:1.5rem;letter-spacing:-.03em}
.format-feature p{font-size:1rem;color:var(--soft);margin-bottom:0}
.pet-page .pet-hero{max-width:440px;margin:auto;max-height:none;aspect-ratio:auto;background:none}
.pet-page .pet-hero img{width:100%;height:auto}
.pet-page .pet-art-heading{font-family:inherit;font-size:1.35rem;font-weight:850;margin-bottom:22px}
.pet-page .pet-originals{max-width:1020px;margin:0 auto 32px;gap:18px}
.pet-page .pet-originals figure{width:100%;max-width:240px;justify-self:center}
.pet-page .pet-originals img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;background:none;border:0}
.pet-page .compact-pet-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:1020px;margin:auto;align-items:start}
.pet-page .compact-pet-gallery figure{width:100%;margin:0}
.pet-page .compact-pet-gallery img{width:100%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover;background:none;border-radius:15px}
.pet-page .compact-pet-gallery figcaption{font-size:.9rem;margin-top:9px}
.pet-process{margin:0 0 30px}
@media(max-width:920px){.specialty-page .hero-grid{gap:28px}.specialty-page .hero-image{max-width:570px}.specialty-page .hero-image.portrait-hero,.specialty-page .hero-image.flower-hero{max-width:360px}.pet-page .hero-image.pet-hero{max-width:400px}.specialty-page .detail-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail-steps .detail-step{padding:18px}.detail-steps .other-card h3{font-size:1.1rem}.detail-steps .other-card p{font-size:.95rem}}
@media(max-width:680px){.specialty-page section{padding:38px 0}.specialty-page .hero{padding-bottom:36px}.specialty-page .hero-grid{gap:24px}.specialty-page .section-heading{margin-bottom:22px}.specialty-page .hero-image.portrait-hero,.specialty-page .hero-image.flower-hero{max-width:300px}.specialty-gallery,.specialty-gallery.mixed-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.specialty-gallery.artwork-samples,.specialty-gallery.paper-artwork{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.specialty-gallery.guest-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.specialty-gallery.silhouette-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.silhouette-gallery figcaption{font-size:.8rem}.gallery-heading{font-size:1.18rem;margin-top:26px}.behind-scenes{grid-template-columns:1fr;gap:20px;margin-top:28px;padding-top:22px}.behind-scenes figure{max-width:440px;margin:auto}.flower-process{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:18px}.flower-process h3{font-size:1.1rem}.flower-process p{font-size:.92rem}.specialty-page .detail-steps{grid-template-columns:1fr}.detail-steps .detail-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:7px 12px;padding:18px}.detail-step .detail-number{grid-row:1/3;margin:0}.detail-step h3{margin:3px 0 0}.detail-step p{grid-column:2}.format-feature{grid-template-columns:1fr;gap:22px;padding:20px}.format-feature figure{max-width:310px;margin:auto}.pet-page .compact-pet-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.pet-page .pet-originals{gap:20px 14px}.specialty-page .cta-panel{padding:26px}.silhouette-page .hero h1{font-size:clamp(2.5rem,11vw,3.3rem)}}
.specialty-gallery .tile-group-example img{aspect-ratio:23/20;object-fit:cover;object-position:right center}

.specialty-gallery.frame-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;gap:26px}.specialty-gallery.frame-gallery figure{max-width:380px}.specialty-page .calligraphy-gallery{row-gap:30px}.specialty-page .calligraphy-gallery figure:first-child{align-self:center}

/* Useful format choices within the existing digital and paper galleries. */
.digital-options{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px}
.digital-options>div+div{border-left:1px solid rgba(255,255,255,.28);padding-left:28px}
.digital-options .upgrade-copy{margin-top:12px}
.digital-options .upgrade-copy strong{font-weight:750}
.paper-style-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);align-items:center;gap:28px;max-width:860px;margin:30px auto 0;padding-top:28px;border-top:1px solid var(--line)}
.paper-style-feature figure{margin:0;min-width:0}
.paper-style-feature img{width:100%;height:auto;border-radius:15px}
.paper-style-feature h3{font-size:1.4rem;font-weight:850;letter-spacing:-.025em}
.paper-style-feature p{font-size:1rem;color:var(--soft);margin:0}
@media(max-width:680px){.digital-options{grid-template-columns:1fr;gap:20px}.digital-options>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.28);padding:20px 0 0}.paper-style-feature{grid-template-columns:1fr;gap:18px;padding-top:24px;margin-top:26px}.paper-style-feature figure{max-width:460px;margin:auto}.paper-style-feature h3{font-size:1.25rem}}

.specialty-gallery.portrait-variety-gallery{grid-template-columns:repeat(4,minmax(0,1fr));max-width:960px;gap:22px}
.portrait-variety-gallery figure{max-width:210px}
.portrait-variety-gallery img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
.digital-page .event-uses{list-style:none;padding:0;margin:18px 0;display:grid;gap:12px;color:var(--soft);font-size:1rem;line-height:1.55}
.digital-page .event-uses strong{color:var(--ink);font-weight:750}
.digital-page .behind-scenes .eyebrow{color:var(--page-color);font-size:.875rem}
@media(max-width:680px){.specialty-gallery.portrait-variety-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}}

/* Paper portraits and the actual creative process, kept at gallery scale. */
.specialty-gallery.paper-portrait-gallery{max-width:860px}
.paper-portrait-gallery figure{max-width:248px}
.specialty-gallery.paper-anime-guests{max-width:640px;gap:24px}
.specialty-gallery.paper-anime-guests .gallery-guest{max-width:290px}
.paper-anime-guests img{aspect-ratio:1;object-fit:cover;object-position:center}
.flower-page .flower-process-summary{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:34px}
.flower-process-summary figure{width:100%;max-width:380px;margin:0 auto}
.flower-process-summary img{display:block;width:100%;height:auto;border-radius:15px}
.digital-process-gallery img{aspect-ratio:3/2;object-fit:cover}
@media(max-width:680px){.specialty-gallery.paper-anime-guests{gap:14px}.flower-page .flower-process-summary{grid-template-columns:1fr;gap:24px}.flower-process-summary figure{max-width:380px}.flower-process-summary>div{min-width:0}}

/* Clearly separate the standard digital experience from separately quoted add-ons. */
.digital-page .digital-branding-note{font-size:1rem;color:#fff;margin:24px 0 0}
.digital-page .digital-addons{display:block;margin-top:24px;padding:26px 28px;border:1px solid rgba(255,255,255,.22);border-left:5px solid var(--page-accent)}
.digital-page .digital-addons>h3{font-size:1.5rem;font-weight:850;line-height:1.2;margin:0 0 12px}
.digital-addons .addon-notice{font-size:1rem;line-height:1.55;max-width:70ch}
.digital-addon-options{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.3)}
.digital-addon-options>div{padding:18px;background:rgba(255,255,255,.07);border-radius:10px}
.digital-addon-options>div+div{border:0;padding:18px}
.digital-addon-options h4{color:#fff;font-size:1.0625rem;line-height:1.35;font-weight:750;margin:0 0 9px}
.digital-addon-options p{font-size:1rem;line-height:1.55}
.paper-keepsake-formats{scroll-margin-top:100px;border-top:1px solid var(--line);margin-top:30px}
.paper-keepsake-formats>p{font-size:1rem;line-height:1.6;color:var(--soft);max-width:65ch;margin-bottom:22px}
.paper-keepsake-gallery figcaption{color:var(--ink);font-weight:700}
@media(max-width:680px){.digital-page .digital-addons{padding:22px 18px}.digital-addon-options{grid-template-columns:1fr;gap:14px}.digital-addon-options>div+div{border:0;padding:18px}.paper-keepsake-gallery{align-items:center}}

/* Keep broader portfolios compact, with fashion before portraits and caricatures. */
.specialty-gallery.portrait-selection{grid-template-columns:repeat(3,minmax(0,1fr));max-width:800px}
.specialty-gallery.campaign-gallery{max-width:820px;align-items:start}
.custom-fashion-examples{max-width:960px;margin:30px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}
.custom-fashion-examples>h3{font-size:1.25rem;font-weight:850;color:var(--ink);margin:4px 0 0}
.custom-fashion-examples>p{font-size:1rem;line-height:1.6;color:var(--soft);max-width:72ch;margin:16px 0 22px}
.custom-fashion-examples .campaign-gallery{margin-bottom:8px}
.specialty-gallery.caricature-selection{max-width:800px}
.caricature-selection figcaption{font-size:.875rem}
.specialty-gallery.painting-gallery{align-items:center}
@media(max-width:680px){.specialty-gallery.portrait-selection{grid-template-columns:repeat(2,minmax(0,1fr))}.specialty-gallery.campaign-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-gallery figure:last-child{grid-column:1/-1;max-width:210px}.specialty-gallery.digital-process-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.digital-process-gallery figure:last-child{grid-column:1/-1;max-width:320px}.caricature-selection figure:last-child{grid-column:1/-1;max-width:210px}.traditional-page .paper-keepsake-gallery .gallery-guest{max-width:100%}}

/* Variety without oversized images; every image keeps its natural proportions. */
.digital-page .artwork-samples{grid-template-columns:repeat(8,minmax(0,1fr));max-width:900px;gap:24px 18px;align-items:center}
.digital-page .artwork-samples>figure{grid-column:span 2;max-width:min(var(--gallery-width,190px),190px)}
.digital-page .artwork-samples>figure:nth-last-child(3){grid-column:2/span 2}
.specialty-gallery.paper-artwork{max-width:900px;align-items:center}
.specialty-gallery.paper-artwork .tropical-fashion{grid-column:span 2;max-width:460px}
.specialty-gallery.painting-gallery{grid-template-columns:repeat(6,minmax(0,1fr));max-width:1050px;gap:26px;align-items:center}
.specialty-gallery.painting-gallery>figure{grid-column:span 2;max-width:310px}
.specialty-gallery.painting-gallery>figure:nth-child(n+4){grid-column:span 3;max-width:350px}
.miniature-page .frame-planning-note{font-size:1rem;line-height:1.6;color:var(--soft);max-width:74ch;margin:14px 0 0}
.calligraphy-gallery figure{scroll-margin-top:100px}
@media(max-width:680px){.digital-page .artwork-samples{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.digital-page .artwork-samples>figure,.digital-page .artwork-samples>figure:nth-last-child(3){grid-column:auto}.digital-page .artwork-samples>figure:last-child{grid-column:1/-1;max-width:172px}.specialty-gallery.paper-artwork .tropical-fashion{grid-column:1/-1;max-width:460px}.specialty-gallery.painting-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.specialty-gallery.painting-gallery>figure,.specialty-gallery.painting-gallery>figure:nth-child(n+4){grid-column:auto}.specialty-gallery.painting-gallery>figure:last-child{grid-column:1/-1;max-width:310px}}

/* A themed collection, linked to the individual services. */
.floral-collection-page{--page-color:#6834bd;--page-accent:#ffbe38}
.floral-collection-page .hero-image.floral-collection-hero{max-width:300px;margin:auto}
.floral-collection-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:36px 28px}
.floral-collection-card{grid-column:span 2;min-width:0}
.floral-collection-card:nth-last-child(-n+2){grid-column:span 3}
.floral-card-image{display:flex;align-items:center;justify-content:center;height:250px;margin:0 0 20px}
.floral-card-image img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;border-radius:15px}
.floral-collection-card h3{font-size:1.3rem;line-height:1.25;letter-spacing:-.025em;font-weight:850;margin:0 0 12px}
.floral-collection-card p{font-size:1rem;line-height:1.6;color:var(--soft);max-width:47ch;margin:0 0 14px}
.floral-collection-card .text-link{font-size:.95rem;line-height:1.45;text-underline-offset:4px}
.floral-collection-page .experience-summary{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
@media(max-width:920px){.floral-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}.floral-collection-card,.floral-collection-card:nth-last-child(-n+2){grid-column:auto}.floral-collection-card:last-child{grid-column:1/-1;max-width:500px;justify-self:center}.floral-card-image{height:220px}}
@media(max-width:680px){.floral-collection-page .hero-image.floral-collection-hero{max-width:250px}.floral-collection-grid{grid-template-columns:1fr;gap:32px}.floral-collection-card,.floral-collection-card:nth-last-child(-n+2){grid-column:auto;display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;align-items:start}.floral-collection-card:last-child{max-width:none;justify-self:stretch}.floral-card-image{height:auto;min-height:110px;margin:0;align-items:flex-start}.floral-card-image img{max-height:180px}.floral-collection-card h3{font-size:1.15rem}.floral-collection-card p{font-size:.95rem;line-height:1.5}.floral-collection-card .text-link{font-size:.875rem}.floral-collection-page .experience-summary{grid-template-columns:1fr}}

/* September additions: preserve the collection and keep new samples compact. */
.digital-page .artwork-samples>figure:nth-last-child(3){grid-column:span 2}
.specialty-gallery.portrait-selection{grid-template-columns:repeat(4,minmax(0,1fr));max-width:920px}
.specialty-gallery.caricature-selection{grid-template-columns:repeat(4,minmax(0,1fr));max-width:920px}
.specialty-gallery.digital-process-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}
.specialty-gallery.monochrome-portraits{max-width:760px}
.specialty-gallery.monochrome-portraits img{aspect-ratio:2/3;object-fit:contain}
.specialty-gallery.paper-artwork .tropical-fashion{grid-column:1/-1;max-width:460px}
.specialty-gallery.minimal-paper-gallery{margin-top:28px;max-width:800px}
.specialty-gallery.expressive-paper-gallery{max-width:560px}
.gallery-intro{font-size:1rem;margin:0 0 22px}
.pet-page .pet-originals{grid-template-columns:repeat(5,minmax(0,1fr));max-width:1080px}
.team-capacity{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:38px;align-items:center;padding-top:24px;border-top:1px solid var(--line)}
.team-capacity p{font-size:1rem;line-height:1.6;color:var(--soft)}
.team-capacity figure{margin:0;min-width:0}.team-capacity img{width:100%;height:auto;border-radius:18px}.team-capacity figcaption{font-size:.8rem;color:var(--soft);font-weight:500}
.calligraphy-page .calligraphy-gallery{grid-template-columns:repeat(3,minmax(0,1fr));max-width:870px;gap:28px 30px}
.calligraphy-page .calligraphy-gallery figure{max-width:250px;align-self:start}
.calligraphy-page .calligraphy-gallery img{aspect-ratio:4/5;object-fit:cover;width:100%}
@media(max-width:680px){
 .digital-page .artwork-samples>figure:nth-last-child(3),.digital-page .artwork-samples>figure:last-child{grid-column:auto;max-width:min(var(--gallery-width,190px),190px)}
 .specialty-gallery.portrait-selection,.specialty-gallery.caricature-selection{grid-template-columns:repeat(2,minmax(0,1fr))}
 .caricature-selection figure:last-child,.digital-process-gallery figure:last-child{grid-column:auto;max-width:100%}
 .specialty-gallery.monochrome-portraits,.specialty-gallery.minimal-paper-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .pet-page .pet-originals{grid-template-columns:repeat(2,minmax(0,1fr))}.pet-page .pet-originals figure:last-child{grid-column:1/-1;max-width:210px}
 .team-capacity{grid-template-columns:1fr;gap:24px}.team-capacity figure{max-width:520px;margin:auto}
 .calligraphy-page .calligraphy-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
}
