/* Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V4 */
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.contact-actions>a{min-height:52px;white-space:nowrap}
.studio-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,6vw,80px);background:var(--color-panel)}
.studio-copy h2{font-size:var(--text-2xl);line-height:1.05;letter-spacing:-.04em}.studio-copy>p:not(.kicker),.studio-location>p:not(.kicker){color:var(--color-muted);max-width:46ch}.contact-phone{display:block;width:fit-content;margin-top:24px;font-size:clamp(1.4rem,3vw,2rem);font-weight:800;white-space:nowrap}.studio-location h3{font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.12;letter-spacing:-.03em}
.map-frame{height:340px;margin-top:24px;border:1px solid var(--color-rule);border-radius:var(--radius-lg);overflow:clip;background:var(--color-panel-raised)}.map-frame iframe{width:100%;height:100%;border:0}
.max-contact{margin-top:24px;border-block:1px solid var(--color-rule);padding-block:16px}.max-contact summary{font-weight:700;cursor:pointer;min-height:28px}.max-contact p{color:var(--color-muted)}.max-contact button{cursor:pointer}.copy-state{display:block;margin-top:8px;font-size:.85rem;color:var(--color-muted)}
.album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.album-card{display:block;min-width:0;border-radius:var(--radius-lg);overflow:clip;background:var(--color-panel-raised);border:1px solid var(--color-rule)}.album-card img{width:100%;height:240px;object-fit:cover}.album-card>div{padding:20px}.album-card h3{font-size:1.6rem;line-height:1.15;letter-spacing:-.03em}.album-card span{display:block;color:var(--color-muted);font-size:.85rem;margin-top:10px;white-space:nowrap}.gallery-open{margin-top:24px;width:fit-content}
.gallery-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px clamp(16px,5vw,80px);border-bottom:1px solid var(--color-rule)}.gallery-header nav{display:flex;gap:24px}.gallery-header nav a{min-height:44px;display:flex;align-items:center;font-size:.9rem;white-space:nowrap}
.gallery-intro,.gallery-library,.gallery-help{padding-inline:clamp(16px,5vw,80px)}.gallery-intro{padding-block:56px 40px}.gallery-intro h1{font-size:clamp(2.5rem,7vw,6.2rem);font-family:var(--font-display);line-height:1.02;letter-spacing:-.05em;margin:0}.gallery-intro>p:not(.kicker){color:var(--color-muted);max-width:58ch;font-size:1.1rem}.gallery-intro .line-link{margin-top:4px}
.gallery-library{padding-bottom:56px}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;padding:20px 0;border-block:1px solid var(--color-rule)}.gallery-filters button{font:inherit;color:var(--color-ink);border:1px solid var(--color-rule-strong);background:var(--color-panel);border-radius:var(--radius-pill);padding:12px 18px;min-height:46px;font-size:.9rem;white-space:nowrap;cursor:pointer}.gallery-filters span{margin-left:6px;color:var(--color-muted);font-size:.78rem}.gallery-filters button[aria-pressed=true]{background:var(--color-blue);border-color:var(--color-blue)}.gallery-filters button[aria-pressed=true] span{color:var(--color-ink)}
.gallery-count{margin-block:20px;color:var(--color-muted);font-size:.9rem}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.gallery-card{display:block;min-width:0;border:1px solid var(--color-rule);border-radius:var(--radius-lg);overflow:clip;background:var(--color-panel-raised)}.gallery-card figure{height:290px;margin:0;background:var(--color-panel)}.gallery-card img{width:100%;height:100%;object-fit:cover}.gallery-card>div{padding:18px}.gallery-card span{color:var(--color-blue-bright);font-size:.75rem;font-weight:700}.gallery-card h2{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;margin-top:8px;overflow-wrap:anywhere}.gallery-card p{font-size:.85rem;color:var(--color-muted);line-height:1.45;margin-bottom:0}.gallery-card:hover{border-color:var(--color-blue-bright)}.gallery-help{padding-block:52px;background:var(--color-panel)}.gallery-help h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;letter-spacing:-.03em}.gallery-help>p:not(.kicker){color:var(--color-muted);max-width:52ch}.gallery-footer{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:28px clamp(16px,5vw,80px);font-size:.9rem}.gallery-footer a{white-space:nowrap}
.gallery-dialog{width:min(1100px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--color-rule-strong);border-radius:var(--radius-lg);background:var(--color-panel);color:var(--color-ink);overflow:auto}.gallery-dialog::backdrop{background:var(--color-overlay);backdrop-filter:blur(6px)}.gallery-close{position:absolute;top:12px;right:12px;z-index:3;width:46px;height:46px;border:1px solid var(--color-rule-strong);border-radius:50%;font-size:2rem;line-height:1;color:var(--color-ink);background:var(--color-panel);cursor:pointer}.gallery-stage{position:relative;min-height:240px;background:var(--color-canvas);display:grid;place-items:center}.gallery-stage img{width:100%;height:65dvh;object-fit:contain}.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border:1px solid var(--color-rule-strong);border-radius:50%;color:var(--color-ink);background:var(--color-overlay);font-size:1.5rem;cursor:pointer}.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-caption{padding:24px}.gallery-caption h2{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.12;letter-spacing:-.025em}.gallery-position{color:var(--color-blue-bright);font-size:.85rem;margin-top:0}.gallery-description{color:var(--color-muted)}.gallery-source{display:inline-block;margin-top:18px;color:var(--color-muted);font-size:.85rem;text-decoration:underline}.gallery-more{display:block;margin:28px auto 0;cursor:pointer}.gallery-stage img.is-loading{opacity:.4}
@media(max-width:62rem){.album-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-contact{grid-template-columns:minmax(0,1fr)}.album-card img{height:250px}}
@media(max-width:40rem){.gallery-header{padding-block:14px;gap:12px;align-items:center}.gallery-header .logo img{width:34px;height:34px;flex-basis:34px}.gallery-header .logo b{font-size:.8rem}.gallery-header .logo small{font-size:.45rem}.gallery-header nav{gap:12px}.gallery-header nav a{font-size:.75rem}.gallery-intro{padding-block:36px 28px}.gallery-intro>p:not(.kicker){font-size:1rem}.gallery-filters{gap:8px}.gallery-filters button{padding:10px 12px;font-size:.82rem}.gallery-grid{gap:12px}.gallery-card figure{height:210px}.gallery-card>div{padding:12px}.gallery-card h2{font-size:.95rem}.gallery-card p{font-size:.75rem}.gallery-card span{font-size:.7rem}.album-grid{gap:12px}.album-card img{height:190px}.album-card>div{padding:14px}.album-card h3{font-size:1.3rem}.album-card span{font-size:.7rem;white-space:normal}.contact-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.contact-actions>a{width:100%}.contact-phone{font-size:1.65rem}.map-frame{height:300px}.studio-copy h2{font-size:2.3rem}.messenger-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.gallery-stage img{height:49dvh}.gallery-caption{padding:20px}.gallery-stage{min-height:180px}.gallery-caption .contact-actions{margin-top:18px}.gallery-footer{display:grid;padding-bottom:28px}.gallery-page{padding-bottom:0}.gallery-help{padding-block:40px}}
@media(max-width:350px){.gallery-header nav a:first-child{display:none}.gallery-card figure{height:175px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* First-screen messenger actions. */
:root { --color-whatsapp: #25d366; --color-telegram: #2aabee; }
.messenger-icon { width:24px; height:24px; flex:0 0 24px; display:block; }
.hero-messengers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:470px; }
.hero-messengers a { gap:10px; padding-inline:16px; min-width:0; }
.hero-messengers .messenger-whatsapp { color:var(--color-canvas); background:var(--color-whatsapp); border-color:var(--color-whatsapp); }
.hero-messengers .messenger-telegram { color:var(--color-canvas); background:var(--color-telegram); border-color:var(--color-telegram); }
.hero-messengers .hero-gallery-link { grid-column:1 / -1; gap:12px; }
.contact-actions a:has(.messenger-icon) { display:inline-flex; align-items:center; justify-content:center; gap:10px; }
.messenger-bar a:has(.messenger-icon) { display:flex; align-items:center; justify-content:center; gap:6px; }
.messenger-bar .messenger-icon { width:20px; height:20px; flex-basis:20px; }
@media(max-width:40rem){.hero-messengers { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }.hero-messengers a{padding-inline:10px;font-size:.9rem;gap:8px}.hero-messengers .hero-gallery-link{min-height:48px}.messenger-bar a{font-size:.7rem}}

.hero-messengers a > span { font-size: inherit; }

.hero-messengers .messenger-whatsapp > span, .hero-messengers .messenger-telegram > span { color: #fff; }

.hero-messengers .hero-funnel { grid-column: 1 / -1; min-height: 56px; font-size: 1rem; color: var(--color-blue-ink); }

/* Contextual conversion actions. */
.conversion-cta { margin-top:32px; padding:24px; border:1px solid var(--color-rule-strong); border-radius:var(--radius-sm); background:var(--color-panel); }
.conversion-cta p { max-width:65ch; color:var(--color-muted); margin:0 0 16px; line-height:1.55; }
.case-enquiry { margin-top:20px; }
.case-enquiry .hero-primary { width:100%; padding-inline:12px; white-space:normal; text-align:center; }
.funnel-explainer { max-width:470px; color:var(--color-muted); font-size:.8rem; line-height:1.5; margin-top:12px; }
.gallery-inline-cta { grid-column:1 / -1; margin:8px 0; }
.gallery-inline-cta .hero-primary { white-space:normal; text-align:center; }
@media(max-width:40rem){.conversion-cta{padding:20px}.conversion-cta .hero-primary{width:100%;padding-inline:12px;white-space:normal;text-align:center}.funnel-explainer{font-size:.75rem}}

.hero-content > .funnel-explainer { color: var(--color-muted); font-size: .8rem; font-weight: 400; letter-spacing: normal; margin-top: 14px; line-height: 1.5; }

.hero-messengers .messenger-telegram { grid-column: 1 / -1; color: #fff; }
.messenger-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
