/* Eternal / refinement layer. Original identity and components retained. */
:root { --ease-out: cubic-bezier(.2,.75,.25,1); }
html { scroll-padding-top: 105px; }
button,a,input,textarea,select { -webkit-tap-highlight-color: transparent; }
button:focus-visible,a:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
.reading-progress { position:absolute; bottom:0; left:0; right:0; height:2px; pointer-events:none; overflow:hidden; }
.reading-progress>span { display:block; width:100%; height:100%; background:var(--blue); transform:scaleX(0); transform-origin:left center; }
.hero-team { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:12px; margin-top:20px; }
.hero-team>.icon { color:var(--blue); width:23px; height:23px; flex:none; }
.hero-team strong { color:var(--ink); font-weight:650; }
.hero-visual { padding-bottom:40px; }
.hero-photo { height:calc(100% - 3px); }
.hero-photo-tabs { position:absolute; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.hero-photo-tabs>button { padding:12px 0 9px; text-align:left; color:var(--muted); font-size:10px; border-top:2px solid var(--line); transition:color .25s,border-color .25s; min-height:42px; }
.hero-photo-tabs>button>span { font-size:8px; margin-right:9px; }
.hero-photo-tabs>button.is-active { color:var(--ink); border-color:var(--blue); }
.hero-photo-tabs>button:hover { color:var(--blue); }
.hero-stamp { transition:transform .5s var(--ease-out); }
.hero-visual:hover .hero-stamp { transform:rotate(0); }
.hero-photo>img { transition:none; }
.word-underline path { stroke-dasharray:270; stroke-dashoffset:0; }
.service-tab { position:relative; }
.service-tab::after { content:""; position:absolute; left:0; bottom:-1px; height:2px; width:100%; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease-out); }
.service-tab.is-active::after { transform:scaleX(1); }
.service-panel-image>img { transition:opacity .28s ease; }
.service-panel-copy>p { font-size:14px; line-height:1.85; }
.service-panel-copy h3 { font-size:32px; line-height:1.12; }
#service-photo-label { font-size:8px; max-width:calc(100% - 24px); }
.projects-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 34px; }
.project-image { height:430px; border-radius:12px; }
.project-card:nth-child(even) { padding-top:46px; }
.project-card[hidden] { display:none!important; }
.projects-grid.is-filtered .project-card { padding-top:0; }
.project-image>img { transition:transform .75s var(--ease-out); }
.project-image:hover>img { transform:scale(1.035); }
.project-title { font-size:21px; font-weight:600; letter-spacing:-.65px; }
.project-caption>span { font-size:11px; }
.project-open { transform:translateY(5px); transition:transform .35s,background .35s; }
.project-image:hover .project-open { transform:translateY(0); }
.project-open>.icon { transition:transform .3s var(--ease-out); }
.project-image:hover .project-open>.icon { transform:translate(2px,-2px); }
.work-filters { flex-wrap:wrap; }
.filter-chip { min-height:42px; }
.work-bottom { margin-top:38px; }
.work-bottom>p { font-size:11px; }
.media-original-link { display:inline-flex; align-items:center; gap:6px; color:var(--blue-dark); font-size:11px; padding:4px 0 10px; text-decoration:underline; text-underline-offset:3px; }
.media-original-link>.icon { width:12px; height:12px; }
.car-section { background:#082d3e; color:#fff; padding:76px 0 27px; position:relative; overflow:hidden; }
.car-section::before { content:""; position:absolute; width:900px; height:900px; top:-600px; right:-400px; border:1px solid #6ebde920; border-radius:50%; box-shadow:0 0 0 100px #6ebde906,0 0 0 200px #6ebde903; pointer-events:none; }
.car-section>.container { position:relative; }
.car-section-top { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:38px; border-bottom:1px solid #ffffff24; padding-bottom:22px; }
.car-section-top>.eyebrow { color:#b2d5e7; margin:0; }
.car-section-top .section-index { color:var(--sky); }
.car-section-top>.mini-label { color:#aec4d0; font-size:8px; }
.car-feature-grid { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:clamp(40px,6vw,88px); }
.car-photo-area { min-width:0; }
.car-photo-button { position:relative; overflow:hidden; width:100%; display:block; border-radius:12px; aspect-ratio:1.4; background:#163a4b; cursor:zoom-in; }
.car-photo-button>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 60%; }
.car-photo-button::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(transparent 70%,#03162183); }
.car-photo-button .image-label { top:18px; left:18px; font-size:8px; z-index:2; }
.car-open-label { display:flex; align-items:center; gap:13px; position:absolute; bottom:18px; right:20px; z-index:2; font-size:11px; color:white; }
.car-open-label>.icon { width:15px; height:15px; }
.car-photo-controls { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:13px; }
.car-photo-controls>button { text-align:left; display:flex; flex-direction:column; gap:3px; font-size:10px; padding:9px 0; min-height:50px; border-bottom:2px solid #ffffff26; color:#b4c8d2; transition:color .3s,border-color .3s; }
.car-photo-controls>button>span { font-size:8px; color:#92b2c3; }
.car-photo-controls>button.is-active { color:#fff; border-bottom-color:var(--sky); }
.car-photo-controls>button:hover { color:white; border-bottom-color:#b2d5e7; }
.car-feature-copy>.eyebrow { color:#b2d5e7; font-size:9px; margin-bottom:23px; }
.car-feature-copy h2 { color:white; font-size:clamp(43px,4.5vw,65px); line-height:1.04; letter-spacing:-2.8px; margin-bottom:24px; }
.car-feature-copy h2>span { color:var(--sky); }
.car-feature-copy>p:not(.eyebrow) { color:#c4d3db; max-width:395px; font-size:14px; line-height:1.9; margin-bottom:13px; }
.car-feature-copy>.btn { margin:15px 0 18px; background:#087bd0; }
.car-feature-copy>.btn:hover { background:#068be5; }
.car-gallery-link { display:flex; gap:9px; align-items:center; font-size:11px; color:#d1e1e9; width:fit-content; padding-block:5px; }
.car-gallery-link>.icon { width:13px; height:13px; }
.car-section-bottom { display:flex; justify-content:space-between; gap:24px; margin-top:48px; padding-top:19px; border-top:1px solid #ffffff26; font-size:7px; letter-spacing:1.65px; color:#b1c6d2; }
.films-section { border-top:1px solid #ffffff19; }
.film-card>img { transition:transform .7s var(--ease-out); }
.film-card:hover>img { transform:scale(1.05); }
.film-nav .icon-button:disabled { opacity:.35; cursor:default; }
.team-detail { display:flex; gap:20px; align-items:center; margin-top:26px; padding:22px 0; border-block:1px solid var(--line); }
.team-number { font-size:70px; font-weight:600; line-height:.9; letter-spacing:-4px; color:var(--blue); min-width:44px; }
.team-detail h3 { font-size:19px; letter-spacing:-.6px; font-weight:600; line-height:1.35; }
.team-detail p { font-size:11px; color:var(--muted); margin-top:6px; }
.about-copy>p { font-size:14px; }
.process-card { position:relative; }
.process-card::after { content:""; position:absolute; bottom:0; left:0; width:100%; height:2px; background:var(--blue); transform-origin:left; transform:scaleX(var(--process-progress,0)); }
.process-card>p { font-size:13px; line-height:1.9; }
.faq-item { transition:background .25s; }
.faq-item[open] { background:#f7f9f8; }
.faq-answer>p { font-size:13px; line-height:1.9; }
.direct-message { display:flex; flex-direction:column; gap:4px; margin-top:25px; color:#bdd0dc; font-size:11px; width:fit-content; }
.direct-message>span { color:white; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.motion-toggle { display:inline-flex; gap:6px; align-items:center; font-size:10px; color:var(--muted); white-space:nowrap; min-height:35px; }
.motion-toggle>.icon { width:14px; height:14px; }
.footer-bottom { flex-wrap:wrap; font-size:10px; }
.footer-bottom>span:nth-child(2) { display:none; }
.quote-dialog { overflow:hidden; }
body[data-motion="reduced"] *,body[data-motion="reduced"] *::before,body[data-motion="reduced"] *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
body[data-motion="reduced"] .hero-stamp { transform:none; }
body[data-motion="reduced"] .process-card::after { transform:scaleX(1); }
@media(hover:hover) and (pointer:fine) {
 .btn { transition:transform .3s var(--ease-out),background .3s,box-shadow .3s; }
 .btn-primary:hover { transform:translateY(-2px); box-shadow:0 7px 18px #005da31c; }
 .btn:active { transform:translateY(0); }
 .text-link>.icon,.project-title>.icon { transition:transform .3s var(--ease-out); }
 .text-link:hover>.icon,.project-title:hover>.icon { transform:translate(3px,-3px); }
}
@media(min-width:1600px) { .hero-photo { min-height:600px; }.project-image { height:465px; } }
@media(max-width:1100px) {
 .hero-team { font-size:11px; }
 .project-image { height:365px; }
 .car-feature-grid { gap:38px; }
 .car-feature-copy h2 { font-size:48px; }
 .service-panel-copy h3 { font-size:27px; }
 .service-panel-copy>p { font-size:13px; }
}
@media(max-width:760px) {
 html { scroll-padding-top:88px; }
 .hero-team { font-size:11px; line-height:1.7; margin-top:17px; gap:9px; }
 .hero-team>.icon { width:20px; }
 .hero-visual { min-height:445px; padding-bottom:43px; }
 .hero-photo { min-height:402px; }
 .hero-photo-tabs { gap:12px; }
 .hero-photo-tabs>button { font-size:11px; min-height:44px; padding-block:10px; }
 .hero-photo-tabs>button>span { font-size:8px; margin-right:7px; }
 .hero-video-card { bottom:150px; }
 .hero-description { font-size:15px; }
 .hero-foot { margin-top:23px; }
 .services-layout { gap:20px; }
 .service-tab { min-height:58px; }
 .service-tab>span:nth-of-type(2) { font-size:13px; }
 .service-tab::after { bottom:0; left:10px; width:calc(100% - 20px); height:2px; }
 .service-panel { display:flex; flex-direction:column; min-height:0; }
 .service-panel-image { height:240px; min-height:240px; }
 #service-feature-photo { object-position:50% 55%; }
 .service-panel-copy { padding:24px; }
 .service-panel-copy>.mini-label { font-size:9px; }
 .service-panel-copy h3 { font-size:29px; max-width:300px; }
 .service-panel-copy>p { font-size:14px; max-width:410px; }
 .service-panel-actions { margin-top:21px; }
 .service-panel-actions .btn { font-size:12px; min-height:46px; }
 .service-panel-actions .text-link { font-size:12px; }
 #service-photo-label { font-size:8px; }
 .services-extra { font-size:11px; }
 .projects-grid { grid-template-columns:1fr; gap:32px; }
 .project-card:nth-child(even) { padding-top:0; }
 .project-image { height:auto; aspect-ratio:1.03; min-height:290px; }
 .project-card[data-category="cars"] .project-image>img { object-position:50% 65%!important; }
 .project-title { font-size:19px; }
 .project-caption>span { font-size:11px; }
 .image-label { font-size:9px; }
 .project-open { font-size:10px; min-height:38px; }
 .media-count { font-size:10px; }
 .filter-chip { min-height:44px; font-size:12px; }
 .work-intro>p { font-size:13px; }
 .work-bottom { gap:12px; }
 .work-bottom>p { font-size:11px; }
 .work-bottom>.text-link { font-size:12px; }
 .car-section { padding:45px 0 23px; }
 .car-section-top { margin-bottom:27px; padding-bottom:17px; }
 .car-section-top>.eyebrow { font-size:8px; letter-spacing:1px; }
 .car-section-top>.mini-label { display:none; }
 .car-feature-grid { display:flex; flex-direction:column; gap:27px; align-items:stretch; }
 .car-photo-button { aspect-ratio:1.3; border-radius:10px; }
 .car-photo-button>.image-label { font-size:7px; top:12px; left:12px; }
 .car-photo-controls { gap:9px; margin-top:9px; }
 .car-photo-controls>button { font-size:10px; gap:4px; }
 .car-feature-copy>.eyebrow { font-size:8px; margin-bottom:16px; }
 .car-feature-copy h2 { font-size:48px; letter-spacing:-2.3px; margin-bottom:20px; }
 .car-feature-copy>p:not(.eyebrow) { font-size:14px; line-height:1.85; max-width:100%; }
 .car-feature-copy>.btn { font-size:12px; min-height:48px; margin-top:11px; }
 .car-gallery-link { font-size:12px; min-height:44px; }
 .car-section-bottom { font-size:6px; line-height:1.8; letter-spacing:1px; margin-top:32px; gap:30px; }
 .car-section-bottom>span { max-width:47%; }
 .films-heading-right>p { font-size:13px!important; line-height:1.85; }
 .film-card { flex-basis:74%; max-width:310px; height:370px; }
 .film-card h3 { font-size:18px; }
 .films-foot { font-size:7px; line-height:1.8; letter-spacing:.4px; }
 .about-copy>p { font-size:14px; }
 .about-grid { gap:30px; }
 .about-visual { height:400px; }
 .team-detail { gap:18px; padding:22px 0; margin-top:23px; }
 .team-number { font-size:64px; }
 .team-detail h3 { font-size:19px; }
 .team-detail p { font-size:12px; }
 .process-card>p { font-size:14px; }
 .faq-item>summary { font-size:14px; min-height:60px; }
 .faq-answer>p { font-size:14px; }
 .mobile-action-bar { gap:9px; padding-left:16px; padding-right:16px; }
 .mobile-action-bar>a { flex:0 0 59px; width:59px; font-size:10px; min-height:45px; gap:3px; display:flex; flex-direction:column; line-height:1.3; justify-content:center; }
 .mobile-action-bar>a>.icon { width:18px; height:18px; }
 .mobile-action-bar>.btn { font-size:12px; min-height:46px; gap:16px; padding-inline:17px; }
 .footer-bottom { gap:13px 22px; font-size:10px; }
 .footer-bottom>a { font-size:10px; }
 .motion-toggle { font-size:11px; min-height:42px; }
 .direct-message { font-size:12px; margin-top:22px; }
 .quote-dialog h2 { font-size:29px; }
 .dialog-description { font-size:13px; }
 .quote-stepper>li { font-size:9px; }
 .quote-info { font-size:12px; }
 .quote-privacy-note { font-size:11px; }
 .quote-dialog .field label { font-size:12px; }
 .quote-dialog .booking-note { font-size:11px; }
 .whatsapp-message { font-size:12px; }
 .project-dialog-description>p { font-size:13px; }
 .project-detail-note { font-size:11px; }
 .media-caption { font-size:11px; }
 .media-thumb { min-width:46px; }
 .video-dialog-copy>p { font-size:13px; }
 .quote-card-footer { font-size:10px; }
 .quote-smallprint { font-size:11px; }
 .media-stage img { width:100%; height:100%; object-fit:contain; }
}
@media(max-width:374px) {
 .hero-team { font-size:10px; gap:8px; }
 .hero-visual { min-height:415px; }
 .hero-photo { min-height:370px; }
 .hero-video-card { bottom:132px; }
 .service-tab>span:nth-of-type(2) { font-size:11px; }
 .service-panel-copy { padding:21px; }
 .project-image { min-height:260px; }
 .car-feature-copy h2 { font-size:43px; }
 .car-photo-controls { gap:7px; }
 .car-photo-controls>button { font-size:9px; }
 .mobile-action-bar>a { flex-basis:49px; width:49px; font-size:9px; }
 .mobile-action-bar { gap:7px; padding-inline:12px; }
 .mobile-action-bar>.btn { padding-inline:12px; gap:11px; }
 .team-detail h3 { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-stamp,.hero-visual:hover .hero-stamp { transform:none; }
 .process-card::after { transform:scaleX(1); }
}
@media print {
 .hero-photo-tabs,.car-photo-controls,.motion-toggle,.reading-progress { display:none!important; }
 .car-section { background:#fff; color:#092d40; padding:25px 0; }
 .car-feature-copy h2,.car-feature-copy>p:not(.eyebrow) { color:#092d40; }
 .project-card:nth-child(even) { padding-top:0; }
}
.process-card::after { transition:transform .9s var(--ease-out); }
@media(min-width:761px) { .hero-video-card { bottom:160px; } }
