/* Reference lock: existing charcoal/crimson glass + actual photography.
   Owner questionnaire: minimal text, projects first, calm factual tone, mobile booking.
   Motion: small hover/press feedback; no scroll gates or autoplay downloads. */
.public-copy { --copy-fast:120ms; --copy-enter:320ms; }
.public-copy [hidden] { display:none!important; }
.public-copy .copy-hero { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);gap:clamp(28px,5vw,72px);align-items:center;padding-block:48px 36px; }
.public-copy .copy-hero-text,.public-copy .copy-hero-visual { min-width:0; }
.public-copy .copy-hero h1 { margin:16px 0 24px;font-size:clamp(36px,4.4vw,60px);line-height:1.07;letter-spacing:-.05em;overflow-wrap:break-word; }
.public-copy .copy-hero h1 span { display:block;margin-top:14px;font-size:.43em;line-height:1.35;letter-spacing:-.025em;color:var(--text-2); }
.public-copy .copy-intro { max-width:600px;margin:20px 0 24px;font-size:17px;line-height:1.6;color:var(--text-2); }
.public-copy .copy-actions { display:flex;gap:10px;flex-wrap:wrap; }
.public-copy .copy-actions .btn,.public-copy .copy-page-header>.btn { min-height:52px;font-size:16px; }
.public-copy .copy-hero-visual { padding-block:8px 22px; }
.public-copy .copy-hero-visual .hero-photo-grid { grid-template-rows:240px 240px; }
.public-copy .copy-work,.public-copy .copy-services,.public-copy .copy-contact { padding-block:36px;scroll-margin-top:100px; }
.public-copy .copy-section-heading { display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:24px; }
.public-copy .copy-work h2,.public-copy .copy-services h2,.public-copy .copy-contact h2 { font-size:clamp(24px,3vw,36px);line-height:1.2;letter-spacing:-.035em;margin:0 0 20px; }
.public-copy .copy-section-heading h2 { margin:0; }
.public-copy .copy-text-link { display:inline-flex;gap:8px;align-items:center;min-height:48px;text-decoration:underline;text-underline-offset:5px;font-size:15px; }
.public-copy .copy-work-grid { columns:3;column-gap:24px; }
.public-copy .copy-project { margin:0 0 28px;break-inside:avoid;min-width:0; }
.public-copy .copy-project-media { display:block;border:1px solid var(--g-line);border-radius:18px;overflow:hidden;background:var(--card); }
.public-copy .copy-project-media img { display:block;width:100%;height:auto;transition:transform var(--copy-enter) ease-out; }
.public-copy .copy-project-media video { display:block;width:100%;height:auto;max-height:70svh;object-fit:contain; }
.public-copy .copy-project figcaption { padding:14px 2px 0; }
.public-copy .copy-project h3 { font-size:17px;line-height:1.4;margin:0 0 5px;overflow-wrap:anywhere; }
.public-copy .copy-project figcaption p { margin:3px 0;font-size:14px;line-height:1.45;color:var(--text-2); }
.public-copy .copy-project figcaption .copy-project-role { font-size:14px;color:var(--text-3); }
.public-copy .copy-service-links { display:flex;flex-wrap:wrap;gap:8px 16px; }
.public-copy .copy-service-links a { display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:12px 16px;border:1px solid var(--g-line);border-radius:16px;background:var(--studio-surface);font-size:16px;line-height:1.3;transition:border-color var(--copy-fast) ease-out,transform var(--copy-fast) ease-out; }
.public-copy .copy-service-links a[aria-current] { border-color:var(--accent);color:var(--text); }
.public-copy .copy-contact-panel { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:center;padding:clamp(22px,4vw,42px);border:1px solid var(--g-line);border-radius:26px;box-shadow:var(--studio-depth); }
.public-copy .copy-contact-panel p { font-size:16px;line-height:1.55;color:var(--text-2);margin:12px 0; }
.public-copy .copy-contact-panel .copy-price { font-size:14px;color:var(--text-3); }
.public-copy .copy-contact-actions { display:flex;flex-direction:column;gap:14px;align-items:stretch;min-width:0; }
.public-copy .copy-contact-actions .btn { min-height:54px;font-size:17px; }
.public-copy .copy-email { min-height:48px;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere;font-size:16px; }
.public-copy .copy-page-header { padding-block:48px 20px; }
.public-copy .copy-page-header h1 { max-width:950px;margin:12px 0;font-size:clamp(36px,5vw,64px);line-height:1.1;letter-spacing:-.045em; }
.public-copy .copy-about-facts { max-width:760px;margin-left:max(24px,calc((100vw - 1200px)/2));padding-block:16px; }
.public-copy .copy-about-facts p { color:var(--text-2);font-size:18px;line-height:1.65;margin:0 0 16px; }
.public-copy .proj-role { color:var(--text-2);font-size:16px;margin:12px 0 24px; }
@media(hover:hover) {
 .public-copy .copy-project-media:hover img { transform:scale(1.025); }
 .public-copy .copy-service-links a:hover { border-color:var(--border-strong);transform:translateY(-2px); }
}
.public-copy .copy-service-links a:active { transform:scale(.98); }
@media(prefers-reduced-motion:no-preference) {
 .public-copy .copy-hero-visual { animation:copy-entrance var(--copy-enter) ease-out both; }
 @keyframes copy-entrance { from { opacity:.65;transform:translateY(8px); } to { opacity:1;transform:none; } }
}
@media(max-width:1000px) { .public-copy .copy-work-grid { columns:2; }.public-copy .copy-hero-visual .hero-photo-grid { grid-template-rows:205px 205px; } }
@media(max-width:760px) {
 .public-copy .copy-hero { grid-template-columns:minmax(0,1fr);gap:22px;padding-block:30px 16px; }
 .public-copy .copy-hero h1 { max-width:560px;margin:12px 0 16px;font-size:clamp(36px,8vw,52px); }
 .public-copy .copy-intro { margin-block:16px 20px;font-size:16px; }
 .public-copy .copy-hero-visual { width:100%;padding-bottom:0; }
 .public-copy .copy-hero-visual .hero-photo-grid { grid-template-rows:175px 175px; }
 .public-copy .copy-work,.public-copy .copy-services,.public-copy .copy-contact { padding-block:28px; }
 .public-copy .copy-contact-panel { grid-template-columns:minmax(0,1fr);gap:18px; }
 .public-copy .copy-page-header { padding-top:32px; }
 .public-copy .copy-about-facts { margin-left:auto; }
}
@media(max-width:620px) { .public-copy .copy-work-grid { columns:1; }.public-copy .copy-project { margin-bottom:24px; }.public-copy .copy-actions .btn { flex:1;justify-content:center;padding-inline:14px; } }
@media(max-width:360px) { .public-copy .copy-actions { flex-direction:column; }.public-copy .copy-service-links a { font-size:15px;padding-inline:12px; } }
@media(prefers-reduced-motion:reduce) { .public-copy .copy-project-media img,.public-copy .copy-service-links a { transition:none;transform:none; }.public-copy .copy-hero-visual { animation:none; } }
html[data-motion="reduced"] .public-copy .copy-hero-visual { animation:none; }

.public-copy .filter-tab { min-height:48px; }
.public-copy .copy-service-links a:focus-visible,.public-copy .copy-project a:focus-visible { outline:2px solid #ffb3c7;outline-offset:4px; }

.public-copy .copy-brief { margin-top:28px; }
.public-copy .copy-brief p { color:var(--text-2);font-size:14px;margin:0 0 10px; }
.public-copy .copy-brief ul { list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0; }
.public-copy .copy-brief li { padding:8px 12px;border:1px solid var(--g-line);border-radius:12px;color:var(--text-2);font-size:14px;background:var(--studio-surface); }
