/* Shared visual roles; existing content, media and functional scripts stay intact. */
.premium-site{--container:1440px;--content-width:1200px;--reading-width:800px;--section-spacing:clamp(64px,7.5vw,112px);--heading-scale:clamp(42px,4vw,58px);--body-scale:17px;--radius:4px;--border:1px solid #095d7f40;--button-height:54px;--focus-ring:3px solid #58c2e9;--tracking-display:-.035em;--tracking-uppercase-display:.015em;--tracking-label:.10em;--tracking-nav:.025em;--tracking-button:.045em;font-kerning:normal;text-rendering:optimizeLegibility;line-height:1.65}
.premium-site .wrap,.premium-site .header-inner{max-width:var(--container)}
.premium-site .section,.premium-site .guide-surface,.premium-site .rental-section,.premium-site .guide-related{padding-block:var(--section-spacing)}
.premium-site .eyebrow{letter-spacing:var(--tracking-label);line-height:1.4}
.premium-site .header nav a{letter-spacing:var(--tracking-nav)}
.premium-site .button{min-height:var(--button-height);border-radius:var(--radius);letter-spacing:var(--tracking-button);line-height:1.4}
.premium-site .button.small{min-height:44px}
.premium-site :focus-visible{outline:var(--focus-ring);outline-offset:5px}
.premium-site .light :focus-visible,.premium-site .guide-surface :focus-visible,.premium-site .home-resources :focus-visible,.premium-site .faq :focus-visible{outline-color:#095d7f}
.premium-site .display-hero,.premium-site .display-section,.premium-site .heading-section,.premium-site .article-heading{letter-spacing:var(--tracking-display)}
.premium-site .display-section,.premium-site .heading-section{line-height:1.08}
.premium-site .uppercase-type,.premium-site.rental-page h3,.premium-site.premium-home .hero .display-hero,.premium-site.premium-home .contact .display-section{letter-spacing:var(--tracking-uppercase-display)}
.premium-site.premium-home .hero .display-hero{line-height:1.02}
.premium-site.premium-home .contact .display-section{font-size:clamp(40px,3.8vw,60px);line-height:1.04}
.premium-site.premium-home .platforms .heading-item,.premium-site.premium-home .safety-grid .heading-item{letter-spacing:var(--tracking-label);line-height:1.4}
.premium-site .section-aside,.premium-site .experience-copy>p,.premium-site .contact-intro,.premium-site .platforms p,.premium-site .faq-answer{line-height:1.65}
.premium-site.knowledge-page .article-heading,.premium-site.commercial-page .article-heading,.premium-site.commercial-page .rental-hero h1,.premium-site.tool-page .article-heading{font-size:var(--heading-scale);line-height:1.06}
.premium-site.knowledge-page .article-body{max-width:var(--reading-width);font-size:var(--body-scale);line-height:1.7}
.premium-site.knowledge-page .article-body .heading-section{font-size:clamp(28px,2.5vw,36px);line-height:1.1}
.premium-site.knowledge-page .article-body .heading-item{font-size:clamp(21px,2vw,27px);line-height:1.3}
.premium-site .guide-toc .heading-section{font-size:18px;line-height:1.4}
.premium-site.commercial-page .guide-hero,.premium-site.commercial-page .rental-hero{padding-block:148px 80px;min-height:640px}
.premium-site.commercial-page .service-copy{max-width:820px;line-height:1.65}
.premium-site.tool-page .result-card h3{font-size:16px;letter-spacing:var(--tracking-label);line-height:1.4}
.premium-site.tool-page fieldset{border-radius:var(--radius)}
/* Editorial services: three desktop columns, two tablet columns, one mobile. */
.premium-site.premium-home .services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 38px}
.premium-site.premium-home .service{grid-template-columns:minmax(0,1fr) 24px;column-gap:16px;padding:28px 0 32px;transition:border-color .2s}
.premium-site.premium-home .service .heading-item{grid-column:1;grid-row:1;font-size:clamp(22px,1.8vw,26px);line-height:1.2;margin-bottom:14px}
.premium-site.premium-home .service .service-description{grid-column:1;grid-row:2;font-size:16px;line-height:1.6;max-width:none}
.premium-site.premium-home .service-arrow{grid-column:2;grid-row:1}
.premium-site.premium-home .service:hover{border-top-color:#58c2e9}
.premium-site.premium-home .service:hover .service-arrow{transform:translateX(4px)}
/* Preview stays lightweight. Playback is reserved for the native modal. */
.premium-site .video{width:min(72vw,920px);max-width:920px;aspect-ratio:16/9;margin-inline:auto}
.showreel-modal{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:56px 0;border:0;background:rgba(3,12,17,.94);color:#fff;overflow:hidden}
.showreel-modal::backdrop{background:transparent}
.showreel-modal[open]{display:grid;place-items:center}
.showreel-frame{position:relative;width:min(92vw,1440px,calc((100dvh - 112px)*16/9));aspect-ratio:16/9;max-height:90dvh;background:#030c11}
.showreel-frame iframe{display:block;border:0;width:100%;height:100%}
.showreel-close{position:absolute;top:-52px;right:0;display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;color:#fff;border:1px solid #ffffff70;border-radius:4px;font:28px/1 Arial,sans-serif;cursor:pointer}
.showreel-close:hover{background:#ffffff14}
.showreel-close:focus-visible{outline:3px solid #58c2e9;outline-offset:4px}
html.showreel-open{overflow:hidden;scrollbar-gutter:stable}
/* Portfolio social presence reuses the existing festival picture. */
.premium-site .follow-work{background:#082b3a}
.premium-site .follow-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center}
.premium-site .social-picture{display:block;width:100%;overflow:hidden;background:#061f2a}
.premium-site .social-picture img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.premium-site .follow-copy{min-width:0}
.premium-site .follow-copy h2{font-size:clamp(32px,3.1vw,48px);line-height:1.08;letter-spacing:var(--tracking-display);margin-bottom:28px}
.premium-site .social-handle{font-size:clamp(28px,3vw,42px);letter-spacing:var(--tracking-display);line-height:1.1;margin:0 0 24px}
.premium-site .follow-description{font-size:17px;line-height:1.65;color:#c8d6dc;margin:0 0 28px;max-width:430px}
.premium-site .social-links{display:flex;flex-wrap:wrap;gap:8px 22px}
.premium-site .social-links a{display:inline-flex;gap:10px;align-items:center;min-height:44px;border-bottom:1px solid #ffffff50;font-size:14px;color:#fff}
.premium-site .social-links a:hover{border-color:#58c2e9;color:#e0e9ec}
.social-mark{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.social-mark .solid{fill:currentColor;stroke:none}
/* Four compact groups, shared on every route. */
.premium-site .premium-footer{padding-block:64px calc(32px + env(safe-area-inset-bottom))}
.premium-site .premium-footer-grid{grid-template-columns:1.25fr 1fr 1.2fr 1fr;gap:40px}
.premium-site .premium-footer .footer-logo{margin-bottom:20px}
.premium-site .premium-footer .brand-place{white-space:nowrap}
.premium-site .premium-footer nav .heading-section{font-size:11px;line-height:1.4;letter-spacing:var(--tracking-label);margin-bottom:16px}
.premium-site .premium-footer nav a{font-size:14px;min-height:40px;gap:9px}
.premium-site .premium-footer .social-mark{width:19px;height:19px;flex-basis:19px}
.premium-site .footer-bottom{margin-top:38px;padding-top:36px;padding-right:0}
/* Reserve a horizontal lane for the floating assistant near critical actions. */
.premium-site form button[type=submit],.premium-site .tool-actions{max-width:calc(100% - 84px)}
.premium-site.premium-home .faq-item .heading-item{font-size:20px;line-height:1.4}
@media(max-width:1100px){.premium-site.premium-home .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.premium-site .video{width:82vw}.premium-site .follow-grid{gap:32px}.premium-site .follow-copy h2{font-size:34px}}
@media(max-width:900px){.premium-site .premium-footer-grid{grid-template-columns:1fr 1fr;gap:34px 40px}.premium-site .follow-grid{grid-template-columns:1fr}.premium-site .social-picture img{aspect-ratio:16/9}.premium-site .follow-copy{max-width:650px}.premium-site .follow-copy h2{font-size:clamp(32px,5vw,42px)}.premium-site.commercial-page .guide-hero,.premium-site.commercial-page .rental-hero{padding-block:130px 64px;min-height:0}}
@media(max-width:600px){.premium-site{--heading-scale:clamp(36px,9.6vw,44px)}.premium-site.premium-home .hero .display-hero{font-size:clamp(29px,9.3vw,48px);letter-spacing:var(--tracking-uppercase-display)}.premium-site.premium-home .contact .display-section{font-size:clamp(29px,8.5vw,44px)}.premium-site.premium-home .services-grid{grid-template-columns:1fr;gap:0}.premium-site.premium-home .service{grid-template-columns:minmax(0,1fr) 24px}.premium-site .video{width:calc(100vw - 32px);max-width:none;margin-inline:calc((100% - 100vw + 32px)/2)}.premium-site .social-picture img{aspect-ratio:4/5}.premium-site .follow-grid{gap:32px}.premium-site .social-links{max-width:calc(100% - 72px);gap:12px 24px}.premium-site .social-links a{width:100%;justify-content:flex-start}.premium-site .premium-footer-grid{grid-template-columns:1fr;gap:28px}.premium-site .premium-footer .footer-brand{padding-bottom:12px}.premium-site .premium-footer nav a{min-height:40px;max-width:calc(100% - 72px)}.premium-site.premium-home .faq-item .heading-item{font-size:18px}.premium-site form button[type=submit],.premium-site .tool-actions{max-width:calc(100% - 72px)}.premium-site .tool-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.premium-site.premium-home .service:hover .service-arrow{transform:none}}
@media print{.showreel-modal,.follow-work{display:none!important}.premium-site.tool-page .article-heading{font-size:24pt}.premium-site .tool-actions{max-width:none}}
.premium-site.commercial-page .guide-hero{padding-top:56px}
@media(max-width:600px){.premium-site.commercial-page .guide-hero{padding-top:40px}}
.premium-site .guide-categories{grid-template-columns:repeat(4,minmax(0,1fr))}
.premium-site .guide-categories .heading-section{font-size:18px;letter-spacing:var(--tracking-label);line-height:1.4}
@media(max-width:900px){.premium-site .guide-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.premium-site .guide-categories .heading-section{font-size:15px;letter-spacing:.08em}}
.premium-site.commercial-page .rental-hero{padding-block:64px 80px}
.premium-site.commercial-page .rental-hero-content{padding-block:0}
.premium-site.rental-page .modality-card .heading-item{font-size:18px;letter-spacing:var(--tracking-label);line-height:1.4}
.premium-site.rental-page .rate-card .heading-item,.premium-site.rental-page .equipment-card .heading-item{font-size:24px;letter-spacing:var(--tracking-uppercase-display);line-height:1.2}
.premium-site.rental-page .included-grid .heading-item,.premium-site.rental-page .application-grid .heading-item,.premium-site.rental-page .operation-grid .heading-item{font-size:16px;letter-spacing:var(--tracking-label);line-height:1.4}
@media print{.premium-site{--section-spacing:0}.premium-site .guide-surface,.premium-site .guide-related{padding:0}.premium-site .wrap{max-width:none}.premium-site.tool-page .result-card h3{font-size:12pt;letter-spacing:.02em}}
.premium-site .contact-wa,.premium-site .whatsapp-button{max-width:calc(100% - 84px)}
@media(max-width:600px){.premium-site .contact-wa,.premium-site .whatsapp-button,.premium-site.rental-page .hero-actions .button{max-width:calc(100% - 72px)}}
/* Editorial roles override earlier template declarations, without affecting labels. */
.premium-site{--border:1px solid #095d7f70}
.premium-site .guide-card,.premium-site .guide-toc{border-top:var(--border)}
.premium-site .guide-lead{max-width:min(810px,var(--content-width));line-height:1.65}
.premium-site .service-copy{max-width:min(820px,var(--content-width))}
.premium-site .hero-description,.premium-site .intro-copy p,.premium-site .coverage-copy,.premium-site .form-hint{line-height:1.65}
.premium-site.guide-page main .heading-section:not(.uppercase-type){line-height:1.1}
.premium-site.guide-page main .guide-toc .heading-section{line-height:1.4}

/* Compact footer and session-only assistant discovery. */
.premium-site .footer-bottom p{max-width:calc(100% - 76px)}
.csd-assistant-launch{width:64px;height:64px;min-height:64px;border:1px solid #ffffffb3;box-shadow:0 0 0 2px #a9ddf044,0 4px 16px #061f2a26}
.csd-assistant-launch.is-nudging{animation:csd-refined-nudge .5s ease-in-out 2}
.csd-assistant-launch.is-single-nudge{animation:csd-refined-nudge .5s ease-in-out 1}
@keyframes csd-refined-nudge{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.06)}}
.csd-assistant-capsule{position:fixed;right:100px;bottom:calc(24px + 12px);z-index:45;max-width:calc(100vw - 116px);padding:10px 14px;border:1px solid #ffffff33;border-radius:6px;background:#082b3a;color:#fff;box-shadow:0 3px 12px #061f2a22;font:500 14px/1.4 Inter,Arial,system-ui,sans-serif;text-align:center;cursor:pointer;opacity:0;transition:opacity .2s;touch-action:manipulation}
.csd-assistant-capsule[hidden]{display:none}
.csd-assistant-capsule.is-visible{opacity:1}
.csd-assistant-capsule.is-obstructed{visibility:hidden;pointer-events:none}
.csd-assistant-capsule:focus-visible{outline:3px solid #58c2e9;outline-offset:4px}
@media(max-width:600px){.csd-assistant-launch{width:58px;height:58px;min-height:58px}.csd-assistant-capsule{right:86px;bottom:calc(16px + 9px + env(safe-area-inset-bottom));max-width:calc(100vw - 102px)}}
@media(prefers-reduced-motion:reduce){.csd-assistant-launch{animation:none!important;transform:none!important}.csd-assistant-capsule{transition:none}}
@media print{.csd-assistant-capsule{display:none!important}}
