/* Cinematic refinement: the existing films, charcoal, cream, serif and gold lead. */
:root {--bg:#080808;--bg2:#0d0d0d;--bg3:#131313;--bg4:#1a1a1a;--gold:#c4a35a;--gold-dim:#8a7040;--text:#ede5d8;--text2:#bcb0a2;--text3:#aaa093;--border:#222;--border2:#2e2e2e;--polish-space:clamp(3.5rem,6vw,5.5rem);--reading-measure:70ch;}
.impeccable-preview {font-weight:400;scrollbar-color:var(--gold-dim) var(--bg);color-scheme:dark;}
::selection {background:var(--gold);color:var(--bg);}
:focus-visible {outline:2px solid var(--gold);outline-offset:5px;}
input,textarea {caret-color:var(--gold);}
[hidden] {display:none!important;}
.skip-link {position:fixed;top:.75rem;left:1rem;z-index:2100;padding:.7rem 1rem;background:var(--gold);color:var(--bg);transform:translateY(-180%);}
.skip-link:focus {transform:none;}
main {scroll-margin-top:90px;}
main:focus {outline:0;}
.impeccable-preview nav {padding-inline:clamp(1.25rem,3vw,3rem);background:rgba(8,8,8,.94);border-bottom:1px solid #332c20;}
.impeccable-preview .nav-links {gap:clamp(1rem,1.8vw,1.8rem);}
.impeccable-preview .nav-links a {display:inline-flex;align-items:center;min-height:44px;letter-spacing:.09em;}
.impeccable-preview .nav-links a[aria-current=page] {color:var(--text);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.5em;}
.impeccable-preview .nav-links .nav-cta {color:var(--gold);}
.impeccable-preview .nav-links .nav-cta:hover {color:var(--bg);}
.impeccable-preview .hamburger {width:44px;height:44px;align-items:center;justify-content:center;}
.impeccable-preview .container {max-width:1248px;padding-inline:clamp(1.25rem,4vw,3rem);}
.impeccable-preview .container-sm {max-width:900px;padding-inline:clamp(1.25rem,4vw,3rem);}
.impeccable-preview section {padding:var(--polish-space) 0;}
.impeccable-preview h1,.impeccable-preview h2 {font-weight:400;letter-spacing:-.025em;text-wrap:balance;}
.impeccable-preview h2 {font-size:clamp(2.5rem,4.4vw,3.8rem);}
.impeccable-preview h3 {font-weight:400;letter-spacing:-.015em;}
.impeccable-preview .section-header {margin-bottom:clamp(2rem,4vw,3.5rem);}
.impeccable-preview .section-header p {font-size:1rem;line-height:1.8;max-width:65ch;}
.impeccable-preview .label,.impeccable-preview .hero-eyebrow {font-size:.75rem;letter-spacing:.11em;line-height:1.6;margin-block:.8rem 1rem;}
.impeccable-preview .hero-eyebrow::before,.impeccable-preview .hero-eyebrow::after {display:none;}
.impeccable-preview .polish-redundant-label {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important;}
.impeccable-preview .cinematic-header {min-height:500px;padding:9rem 0 5rem;}
.impeccable-preview .cinematic-header h1 {font-size:clamp(3rem,6.3vw,5.7rem);max-width:920px;line-height:1.06;}
.impeccable-preview .cinematic-header p:not(.scene-credit) {font-size:1.05rem;line-height:1.8;max-width:65ch;}
.impeccable-preview .cinematic-header .page-hero-content {max-width:1248px;padding-inline:clamp(1.25rem,4vw,3rem);}
.impeccable-preview .scene-credit {font-size:.7rem;letter-spacing:.1em;}
.impeccable-preview .btn {min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.6rem;letter-spacing:.09em;line-height:1.5;}
.impeccable-preview .btn-outline {border-color:#766956;color:var(--text);background:rgba(8,8,8,.3);}
.impeccable-preview .btn-outline:hover {border-color:var(--gold);color:var(--gold);}
.impeccable-preview .btn:disabled {opacity:.65;cursor:wait;}
.impeccable-preview .body-sm,.impeccable-preview .card p {font-size:.95rem;line-height:1.8;}
.impeccable-preview .grid-2,.impeccable-preview .about-split,.impeccable-preview .contact-layout {gap:clamp(2rem,5vw,4.5rem);}
.impeccable-preview .grid-2>*,.impeccable-preview .contact-layout>*,.impeccable-preview .about-split>* {min-width:0;}
.impeccable-preview .card {background:transparent;border:0;border-top:1px solid var(--border2);padding:1.8rem 0;}
.impeccable-preview .card:hover,.impeccable-preview .ct-card:hover {transform:none;}
.impeccable-preview .card h3 {font-size:1.7rem;}
.impeccable-preview .card-icon,.impeccable-preview .ct-icon,.impeccable-preview .svc-icon {display:none;}
.impeccable-preview .pull-quote {border-left-width:1px;font-size:1.7rem;}
.impeccable-preview .philosophy-grid {gap:1.5rem 2rem;}
.impeccable-preview .phil-item {padding:1.5rem 0;background:transparent;border:0;border-top:1px solid var(--border2);}
.impeccable-preview .phil-item h4 {font-size:1.5rem;}
.impeccable-preview .phil-item p {font-size:.95rem;}
.impeccable-preview .about-intro-text {font-size:1rem;line-height:1.8;}
.impeccable-preview .service-full-card {background:transparent;border:0;border-top:1px solid var(--border2);padding:2.5rem 0;margin:0;gap:2rem;grid-template-columns:1fr 2fr 1fr;}
.impeccable-preview .service-full-card h3 {font-size:1.8rem;}
.impeccable-preview .price-card {padding:2rem;}
.impeccable-preview .price-card.featured {transform:none;}
.impeccable-preview .price-amount {font-variant-numeric:tabular-nums;}
.impeccable-preview .portfolio-filters {gap:.6rem;justify-content:flex-start;}
.impeccable-preview .filter-btn {min-height:44px;font-size:.8rem;padding:.7rem 1rem;}
.impeccable-preview .portfolio-full-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2rem;}
.impeccable-preview .pf-card {background:transparent;border:0;overflow:visible;}
.impeccable-preview .pf-card.wide {grid-column:auto;}
.impeccable-preview .pf-thumb {aspect-ratio:16/9;}
.impeccable-preview .pf-body {padding:1.4rem 0 0;}
.impeccable-preview .pf-body h3 {font-size:2rem;}
.impeccable-preview .pf-body p {font-size:.95rem;line-height:1.8;max-width:65ch;}
.impeccable-preview .pf-cat {font-size:.75rem;}
.impeccable-preview .pf-link {font-size:.8rem;color:var(--gold);}
.impeccable-preview .pf-card:focus-visible .port-overlay {opacity:1;}
.portfolio-watch {position:absolute;inset:0;width:100%;border:0;background:transparent;color:transparent;font:inherit;cursor:pointer;z-index:3;}
.portfolio-watch:focus-visible {outline-offset:-5px;background:rgba(8,8,8,.2);}
.impeccable-preview .pf-card:focus-within .port-overlay {opacity:1;}
.impeccable-preview .service-card {background:transparent;border:0;border-top:1px solid var(--border2);padding:1.8rem 0;}
.impeccable-preview .service-card::before {display:none;}
.impeccable-preview .service-card-icon {display:none;}
.impeccable-preview .service-card h3 {font-size:1.7rem;}
.impeccable-preview .service-card p,.impeccable-preview .local-point p,.impeccable-preview .process-step p {font-size:.95rem;line-height:1.8;}
.impeccable-preview .step-detail {background:transparent;border:0;border-top:1px solid var(--border2);padding:1.5rem 0;}
.impeccable-preview .step-detail ul li {font-size:.95rem;}
.impeccable-preview .local-grid {gap:clamp(2rem,5vw,4.5rem);}
.impeccable-preview details {font-size:1rem;line-height:1.8;}
.impeccable-preview details summary {min-height:48px;cursor:pointer;}
.portfolio-status {color:var(--text2);font-size:.875rem;margin-block:1rem 2rem;}
.impeccable-preview .vmodal-backdrop {padding:4rem 1.25rem 2rem;overflow:auto;}
.impeccable-preview .vmodal-close {min-width:44px;min-height:44px;top:-3rem;}
.impeccable-preview .vmodal-title {font-size:1.5rem;color:var(--text);}
.impeccable-preview .process-full-step {grid-template-columns:64px 1fr 1fr;gap:2rem;padding:3rem 0;}
.impeccable-preview .process-full-step h3 {font-size:2rem;}
.impeccable-preview .process-full-step p {font-size:1rem;line-height:1.8;}
.impeccable-preview .client-type-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 3rem;}
.impeccable-preview .ct-card {text-align:left;background:transparent;border:0;border-top:1px solid var(--border2);padding:2rem 0;}
.impeccable-preview .ct-card h4 {font-size:1.7rem;}
.impeccable-preview .ct-card p {font-size:.95rem;line-height:1.8;max-width:60ch;}
.impeccable-preview .faq-list {max-width:840px;}
.impeccable-preview .faq-q {width:100%;border:0;background:transparent;color:var(--text);text-align:left;font:inherit;padding:1.6rem 0;}
.faq-question-text {font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.35;}
.impeccable-preview .faq-a,.impeccable-preview .faq-item.open .faq-a {max-height:none;transition:none;}
.impeccable-preview .faq-a p {font-size:1rem;line-height:1.85;max-width:var(--reading-measure);padding-bottom:1.8rem;}
.impeccable-preview .contact-form {padding:clamp(1.25rem,3vw,2.5rem);background:var(--bg2);border-color:var(--border2);}
.impeccable-preview .form-group label {font-size:.8rem;letter-spacing:.07em;color:var(--text);}
.impeccable-preview .form-group input,.impeccable-preview .form-group select,.impeccable-preview .form-group textarea {font-size:1rem;min-height:48px;border-color:#494037;}
.impeccable-preview .form-group input::placeholder,.impeccable-preview .form-group textarea::placeholder {color:var(--text3);opacity:1;}
.impeccable-preview .form-group textarea {min-height:180px;line-height:1.75;}
.impeccable-preview .contact-detail-text strong {font-size:.75rem;color:var(--text3);}
.impeccable-preview .contact-detail-text span {font-size:1rem;}
.impeccable-preview .social-link {width:44px;height:44px;}
.impeccable-preview #inquiry-help {font-size:.85rem!important;line-height:1.75;}
.impeccable-preview #inquiry-status {font-size:1rem;}
.impeccable-preview .cta-banner {background:var(--bg);border-top:1px solid var(--border);}
.impeccable-preview .cta-banner::before {display:none;}
.impeccable-preview .cta-banner h2 {font-size:clamp(2.75rem,5.3vw,4.75rem);}
.impeccable-preview .cta-banner p {font-size:1rem;max-width:65ch;margin-block:1rem 2rem;}
.impeccable-preview footer {padding:3rem 0 2.5rem;}
.impeccable-preview .footer-grid {grid-template-columns:1.5fr 1fr 1fr;gap:3rem;}
.impeccable-preview .footer-col ul li {margin-bottom:.2rem;}
.impeccable-preview .footer-col ul li a {display:inline-flex;align-items:center;min-height:40px;font-size:.875rem;}
.impeccable-preview .analytics-choice {min-height:44px;}
.impeccable-preview .fade-up {opacity:1;transform:none;}
.impeccable-preview .hero-noise,.impeccable-preview .page-hero-noise {display:none;}
/* Homepage composition extends the approved homepage preview without changing its copy. */
.impeccable-preview .home-compact .hero {min-height:min(880px,90svh);padding:9.5rem 1.5rem 5rem;}
.impeccable-preview .hero-content {max-width:1040px;}
.impeccable-preview .hero h1 {font-size:clamp(3.25rem,6.3vw,5.7rem);line-height:1.05;margin-bottom:1.6rem;}
.impeccable-preview .hero-sub {font-size:1.1rem;color:var(--text);max-width:660px;line-height:1.75;margin-bottom:2rem;}
.impeccable-preview .hero-sound {flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.25rem 1rem;margin-top:2rem;}
.impeccable-preview .hero-sound button {border:0;border-radius:0;background:transparent;color:var(--text2);font-size:.8rem;text-decoration:underline;text-underline-offset:.3em;}
.impeccable-preview .hero-sound [role=status] {flex-basis:100%;}
.impeccable-preview .home-compact section:not(.hero) {padding:var(--polish-space) 0;}
.impeccable-preview .work-gallery {grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem 2rem;}
.impeccable-preview .work-gallery article {border:0;background:transparent;min-width:0;}
.impeccable-preview .work-gallery .preview-copy {padding:1.35rem 0 0;}
.impeccable-preview .work-gallery h3 {font-size:clamp(2rem,3vw,2.75rem);}
.impeccable-preview .work-gallery p {font-size:.95rem;line-height:1.75;margin-bottom:.75rem;max-width:48ch;}
.impeccable-preview .work-gallery .preview-copy>a {display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;}
.impeccable-preview .services-section .container {display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:center;}
.impeccable-preview .services-section .section-header {text-align:left;margin:0;}
.services-actions {display:flex;flex-direction:column;align-items:flex-start;gap:1rem;justify-self:end;}
.page-privacy {max-width:none!important;margin:0!important;padding:4rem clamp(1.25rem,4vw,3rem) 6rem!important;background:var(--bg)!important;font-family:'Inter',sans-serif!important;font-size:1rem!important;}
.page-privacy> a:not(.skip-link),.page-privacy main {display:block;max-width:var(--reading-measure);margin-inline:auto;}
.page-privacy h1 {font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,6vw,5rem);margin-block:3rem 1rem;}
.page-privacy h2 {font-family:'Cormorant Garamond',serif;font-size:2rem;margin-block:2.5rem .75rem;}
.page-privacy p {color:var(--text2);line-height:1.85;margin-bottom:1rem;}
.page-privacy a {text-decoration:underline;text-underline-offset:.25em;overflow-wrap:anywhere;}
@media(max-width:1200px) {
 .impeccable-preview .nav-links {display:none;position:fixed;top:70px;left:0;right:0;background:var(--bg);flex-direction:column;align-items:stretch;padding:1rem 1.5rem;gap:.2rem;border-bottom:1px solid var(--border2);max-height:calc(100svh - 70px);overflow-y:auto;}
 .impeccable-preview .nav-links.open {display:flex;}
 .impeccable-preview .nav-links a {width:100%;padding:.5rem .75rem;}
 .impeccable-preview .nav-links .nav-cta {display:inline-flex;width:fit-content;margin-top:.6rem;}
 .impeccable-preview .hamburger {display:flex;}
}
@media(max-width:900px) {
 .impeccable-preview .service-full-card {grid-template-columns:1fr;gap:1.5rem;}
 .impeccable-preview .contact-layout,.impeccable-preview .about-split {grid-template-columns:1fr;}
 .impeccable-preview .process-full-step {grid-template-columns:64px 1fr;}
 .impeccable-preview .process-full-step> :last-child {grid-column:2;}
}
@media(max-width:760px) {
 .impeccable-preview .cinematic-header,.impeccable-preview .cinematic-header.page-hero {min-height:440px;padding:8rem 0 4rem;}
 .impeccable-preview .grid-2 {grid-template-columns:1fr;gap:2rem!important;}
 .impeccable-preview [data-polish-layout],.impeccable-preview .local-grid {grid-template-columns:1fr!important;gap:2rem!important;}
 .impeccable-preview .portfolio-full-grid,.impeccable-preview .client-type-grid,.impeccable-preview .work-gallery {grid-template-columns:1fr;}
 .impeccable-preview .services-section .container {grid-template-columns:1fr;gap:2rem;}
 .services-actions {justify-self:start;flex-direction:row;flex-wrap:wrap;}
 .impeccable-preview .home-compact .hero {min-height:0;padding:8.5rem 1.25rem 4rem;}
 .impeccable-preview .hero h1 {font-size:clamp(2.75rem,9.7vw,4.5rem);}
 .impeccable-preview .footer-grid {grid-template-columns:1fr;gap:2rem;}
 .impeccable-preview .form-row {grid-template-columns:1fr;gap:0;}
}
@media(max-width:440px) {
 .impeccable-preview .nav-logo {font-size:1.12rem;letter-spacing:.04em;}
 .impeccable-preview .hero-btns {flex-direction:column;align-items:stretch;gap:.75rem;}
 .services-actions {flex-direction:column;align-items:stretch;width:100%;}
 .impeccable-preview .process-full-step {grid-template-columns:1fr;gap:1rem;}
 .impeccable-preview .process-full-step>:last-child {grid-column:auto;}
 .impeccable-preview .scene-credit {max-width:85%;font-size:.65rem;}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;}
 *,*::before,*::after {transition:none!important;animation:none!important;}
 .impeccable-preview .hero-video {display:none;}
 .impeccable-preview .hover-preview {display:none;}
}
