/* Public demonstration. The existing palette, illustration and interface stay intact. */
.film{padding-block:var(--section-gap);background:var(--color-paper)}
.film-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--gap-columns);align-items:end;margin-bottom:var(--space-lg)}
.film-intro h2{max-width:15ch}
.film-intro p{font-size:var(--text-lead);line-height:1.6;max-width:54ch}
.film-player{width:100%;margin:0}
.film-player video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--color-ink);border-radius:var(--radius-input)}
.film-player video:focus-visible{outline:3px solid var(--color-focus);outline-offset:6px}
.film-player figcaption{display:flex;justify-content:space-between;gap:var(--space-lg);padding-top:var(--space-md);font-size:var(--text-md);color:var(--color-muted)}
.film-player figcaption a{color:var(--color-accent);text-underline-offset:4px}
.service{border-top:0;padding-block:var(--section-gap);align-items:center;gap:var(--space-2xl)}
.service-copy .lead{margin-top:var(--space-md)}
.service-copy .client-preview{margin-top:var(--space-lg)}
.service .hero-acuse{padding:var(--space-md);border-radius:var(--radius-card);background:var(--color-paper)}
.service .acuse-image{padding:0;overflow:hidden;border-radius:var(--radius-input);transform-origin:50% 65%}
.service .hero-acuse figcaption{font-size:var(--text-sm);line-height:1.6}
.service-copy .receipt-stages{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl);margin-block:var(--space-lg);color:var(--color-muted)}
.service .service-evidence{align-self:center}
.receipt-stages dt{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-md);line-height:1.4}
.receipt-stages dd{margin-top:var(--space-xs);font-size:var(--text-sm);line-height:1.6}
.receipt-symbol{width:28px;height:32px;flex:none;fill:none;stroke:var(--color-accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.receipt-stages>div:nth-child(2){--receipt-delay:420ms}
.receipt-stages::before{content:"";position:absolute;top:15px;left:calc(50% - 16px);width:28px;height:2px;background:var(--color-accent);transform-origin:left}
.receipt-stages::after{content:"";position:absolute;top:12px;left:calc(50% + 7px);width:7px;height:7px;border-top:2px solid var(--color-accent);border-right:2px solid var(--color-accent);transform:rotate(45deg)}
.receipt-outline,.receipt-mark{stroke-dasharray:1;stroke-dashoffset:0}
.receipt-evidence-link{display:inline-flex;align-items:center;gap:var(--space-2xs)}
.receipt-evidence-link svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--dur-short) var(--ease-out)}
.receipt-evidence-link:hover svg{transform:translate(2px,-2px)}
.quotation-band{background:var(--color-accent-hover)}
.quote-ticket{padding:var(--space-lg)}
.quote-ticket form{gap:var(--space-lg)}
.quote-stub{gap:var(--space-md);padding-top:var(--space-sm)}
.quote-stub .small{margin-top:0}
.quotation-band .quote-intro{color:var(--color-accent-ink)}
.quotation-band .quote-intro h2,.quotation-band .quote-intro .lead{color:inherit}
.quotation-band .quote-terms{color:var(--color-paper-3)}
.contact-direct{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--space-xl);font-size:var(--text-lg);font-weight:600;color:var(--color-accent-ink);text-underline-offset:6px}
.contact-direct:hover{color:var(--color-paper-3)}
.contact-direct:focus-visible{outline-color:var(--color-accent-ink)}
.contact-methods{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);margin-top:var(--space-xl)}
.contact-methods .contact-direct{max-width:100%;margin-top:0;overflow-wrap:anywhere}
.footer-contact-links{display:flex;flex:none;flex-direction:column;align-items:flex-start;gap:var(--space-xs);overflow-wrap:anywhere}
.video-credit{margin-top:var(--space-xl);font-size:var(--text-sm);color:var(--color-paper-3)}
.video-credit a{color:inherit;text-underline-offset:3px}
@keyframes receipt-ink{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes receipt-paper{from{transform:translateY(14px) rotate(1deg);opacity:.6}to{transform:translateY(0) rotate(0);opacity:1}}
@keyframes receipt-route{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:no-preference){
 .receipt-revealed .hero-acuse{animation:receipt-paper 700ms var(--ease-out) both}
 .receipt-revealed .receipt-outline{animation:receipt-ink 650ms var(--receipt-delay,0ms) var(--ease-out) both}
 .receipt-revealed .receipt-mark{animation:receipt-ink 500ms calc(var(--receipt-delay,0ms) + 220ms) var(--ease-out) both}
 .receipt-revealed .receipt-stages::before{animation:receipt-route 500ms 250ms var(--ease-out) both}
}
@media(max-width:1100px){.quote-controls fieldset{margin-top:var(--space-md)}.quote-controls fieldset label{display:inline-flex;margin-right:var(--space-md)}}
@media(min-width:601px) and (max-width:1000px){
 .service{column-gap:var(--space-lg);row-gap:0}
 .service-copy{display:contents}
 .service-copy h2{grid-column:1;grid-row:1}
 .service-copy>.lead{grid-column:1;grid-row:2}
 .service-copy .client-preview{grid-column:1;grid-row:3}
 .service-copy .receipt-stages{grid-column:1/-1;grid-row:4;margin-block:var(--space-lg) 0}
 .service .service-evidence{grid-column:2;grid-row:1/4;align-self:center}
}
@media(max-width:900px){.film-intro{grid-template-columns:1fr;gap:var(--space-md)}.film-intro h2{max-width:20ch}}
@media(max-width:600px){.film-intro{margin-bottom:var(--space-lg)}.film-player figcaption{flex-direction:column;gap:var(--space-xs)}.film-player figcaption a{display:inline-flex;align-items:center;min-height:44px}.service-copy{display:block}.service-copy .receipt-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);margin-block:var(--space-lg)}.service .hero-acuse{padding:var(--space-sm)}}
@media(prefers-reduced-motion:reduce){.receipt-revealed .hero-acuse,.receipt-revealed .receipt-outline,.receipt-revealed .receipt-mark,.receipt-revealed .receipt-stages::before{animation:none;transform:none}.receipt-evidence-link:hover svg{transform:none}}
