@font-face{font-family:Vazirmatn;src:url('assets/fonts/Vazirmatn-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:ABNES;src:url('assets/fonts/abnes.otf') format('opentype');font-display:swap}
:root{color-scheme:dark;--ink:#141414;--paper:#f1f1f1;--muted:#c6c6c6;--accent:#A381CE;--button:#fff;--line:#ffffff30;--gutter:40px;--grid-gap:16px;--viewport:100vw;--content:calc(var(--viewport) - 2 * var(--gutter));--unit:calc((var(--content) + var(--grid-gap)) / 12);--card:calc(var(--unit) * 4 - var(--grid-gap));--expanded:calc(var(--unit) * 10 - var(--grid-gap));font-family:Vazirmatn,sans-serif;background:var(--ink);color:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:112px}
*{box-sizing:border-box}html{overflow-x:clip}body{margin:0;-webkit-font-smoothing:antialiased;overflow-x:clip}main{position:relative}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{opacity:.25;cursor:default}img{display:block;max-width:100%;object-fit:cover}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:300}p{font-weight:300;line-height:20px;font-size:14px}strong{font-weight:500}[hidden]{display:none!important}.skip-link{position:fixed;z-index:100;top:10px;right:10px;padding:12px;background:var(--paper);color:var(--ink);transform:translateY(-160%)}.skip-link:focus{transform:none}.en,[lang=en]{font-family:Montserrat,sans-serif;direction:ltr}.eyebrow{font-size:12px;line-height:16px;font-weight:300}.eyebrow[lang=en]{font-size:10px;letter-spacing:.08em}.button-row{display:flex;justify-content:center;gap:24px;align-items:center}.solid-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 20px;min-height:40px;font-size:12px;font-weight:400;line-height:18px;border:1px solid #bdbdbd;transition:background .25s,color .25s;white-space:nowrap}.solid-button{background:var(--button);border-color:var(--button)}.solid-button:hover{background:#e8e8e8;border-color:#e8e8e8}.outline-button:hover{background:#ffffff12}.solid-button span,.outline-button span{font-size:17px;line-height:1}
/* Reference desktop header is in flow, 112px. Existing SOBATI emblem and contacts are retained. */
.page-header{position:relative;z-index:6;height:112px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);direction:ltr;background:linear-gradient(#0b0b0b,var(--ink))}.page-brand{font:22px/1 ABNES,sans-serif;letter-spacing:0;word-spacing:normal;font-kerning:normal}.header-tools{display:flex;align-items:center;gap:28px;direction:rtl;font-size:12px}.header-tools a,.header-tools button{padding:12px 0}.header-service-link{display:flex;align-items:center;gap:10px}.header-service-link span{font-size:18px}.page-brand-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.logo-frame{position:relative;display:block;width:145px;aspect-ratio:1766/772;overflow:hidden}.logo-frame img{position:absolute;width:115.9683%;max-width:none;height:auto;left:-7.9841%;top:0}.header-contact-tools{display:flex;gap:15px;align-items:center;direction:ltr}.header-contact-tools a,.header-contact-tools button{display:grid;place-items:center;width:44px;height:44px;padding:11px;background:transparent;border:0}.header-contact-tools svg{width:21px;height:21px}.header-contact-tools .whatsapp-action svg{fill:currentColor;stroke:none}.header-contact-tools a:hover,.header-contact-tools button:hover{color:var(--accent)}.header-mobile-cta{display:none}
/* Measured 7:3 stage, title -40px overlap, then 16/22 copy and 40px actions. */
.service-hero{position:relative;isolation:isolate;text-align:center;padding:0 var(--gutter);margin-bottom:80px}.hero-atmosphere{position:absolute;inset:-112px 0 -80px;z-index:-2;overflow:hidden;background:var(--ink)}.hero-atmosphere:before{content:'';position:absolute;inset:-24px;background-image:linear-gradient(#0008,#0006),var(--hero-image);background-size:cover;background-position:center;filter:blur(22px);opacity:.8}.hero-atmosphere:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 20%,#0001 55%,var(--ink) 100%)}.hero-media{width:100%;aspect-ratio:7/3;position:relative;overflow:hidden}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(#0001 35%,#0002 70%,#0005)}.hero-photo{width:100%;height:100%;object-fit:cover}.hero-heading{position:relative;margin-top:-40px}.hero-eyebrow{position:absolute;left:0;right:0;top:-56px;font-size:18px;line-height:24px}.hero-heading h1{font-size:64px;line-height:72px;font-weight:300;margin-bottom:16px}.hero-heading h2{font-size:36px;line-height:42px;font-weight:300;margin-bottom:16px}.hero-intro{font-size:16px;line-height:22px;min-height:88px;max-width:1280px;margin:auto}.hero-heading .button-row{margin-top:40px}
/* Twelve-column, three-plane collage: placement and transform tracks match observed reference. */
.collage-section{position:relative;padding:0 var(--gutter);overflow:clip}.collage{position:relative;direction:ltr;height:calc(var(--unit) * 6 + 5px);max-height:none}.collage figure{position:absolute;margin:0;overflow:hidden;will-change:transform}.collage img{width:100%;height:100%}.collage-main{left:calc(var(--unit));top:0;width:calc(var(--unit) * 8 - var(--grid-gap));aspect-ratio:16/9;z-index:3}.collage-portrait{left:calc(var(--unit) * 8);top:80px;width:calc((var(--unit) * 3 - var(--grid-gap)) * 1);aspect-ratio:2/3;z-index:2}.collage-detail{left:calc(var(--unit) * 4 + 20px);top:210px;width:calc(var(--unit) * 5 - var(--grid-gap));aspect-ratio:16/9;z-index:1}
/* In-flow transparent navigation becomes a solid 96px bar only at its own top edge. */
.service-nav-wrap{position:sticky;top:0;z-index:8;height:52px;direction:ltr}.service-nav{height:52px;display:flex;align-items:center;justify-content:center;background:transparent;transition:background .25s,transform .25s;padding:0 24px}.local-links{display:flex;gap:16px;justify-content:center;align-items:center;overflow-x:auto;scrollbar-width:none;white-space:nowrap;direction:rtl;width:100%}.local-links::-webkit-scrollbar{display:none}.local-links a{font-size:13px;line-height:20px;height:52px;padding:16px 24px;position:relative;flex-shrink:0}.local-links a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);opacity:0}.service-nav-wrap.is-stuck .service-nav{height:96px;background:#0b0b0b;border-bottom:1px solid #ffffff12}.service-nav-wrap.is-stuck .local-links a[aria-current=true]:after{opacity:1}.local-links a[aria-current=true]{color:var(--accent)}
section[id]{scroll-margin-top:112px}.editorial-copy{width:var(--expanded);margin-inline:auto;text-align:center}.editorial-copy h2,.split-copy h2{font-size:30px;line-height:36px;font-weight:300}.editorial-copy p{font-size:14px;line-height:20px}.range-intro{padding-top:54px;min-height:486px}.range-intro .eyebrow{font-size:12px;line-height:16px;margin-bottom:40px}.range-intro h2{margin-bottom:40px}.range-body p+p{margin-top:20px}.range-body{min-height:200px}.variant-rail{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;direction:ltr;scroll-snap-type:none;scroll-behavior:auto}.variant-rail::-webkit-scrollbar,.gallery-rail::-webkit-scrollbar{display:none}.variant-track{display:flex;align-items:center;gap:var(--grid-gap);padding-inline:var(--gutter);width:max-content;min-width:100%;box-sizing:border-box}.variant-rail.is-expanded .variant-track{padding-inline:calc((var(--viewport,100vw) - var(--expanded)) / 2)}.variant-card{position:relative;flex:0 0 var(--card);width:var(--card);height:calc(var(--card) * 458 / 304);min-height:0;max-height:none;display:flex;direction:ltr;scroll-snap-align:none;transition:width .3s linear,flex-basis .3s linear,height .3s linear;scroll-margin-top:112px;overflow:hidden}.variant-toggle{position:relative;display:block;flex:0 0 var(--card);width:var(--card);height:100%;padding:0;text-align:right;direction:rtl;overflow:hidden}.variant-photo{width:100%;height:100%;object-fit:cover;transition:transform .6s}.variant-shade{position:absolute;inset:0;background:linear-gradient(#0009 0%,#0003 28%,transparent 48%,#0009 100%)}.variant-cover-copy{position:absolute;top:24px;left:24px;right:24px;display:flex;flex-direction:column;gap:16px}.variant-title{font-size:20px;line-height:24px;font-weight:300}.variant-subtitle{font-size:14px;line-height:20px;font-weight:300}.variant-plus{position:absolute;bottom:24px;left:24px;font-size:22px}.variant-card:not(.is-open):hover .variant-photo{transform:scale(1.025)}.variant-card.is-open{flex-basis:var(--expanded);width:var(--expanded);height:calc(var(--card) * 530 / 304);min-height:0;max-height:none}.variant-card.is-open .variant-title{font-size:36px;line-height:42px}.variant-card.is-open .variant-plus,.variant-card.is-open .variant-subtitle{display:none}.variant-detail{position:relative;flex:1;min-width:0;background:#171717;color:var(--paper);direction:rtl;padding:64px 16px 24px;display:flex;flex-direction:column;justify-content:space-between}.variant-detail-copy h3{font-size:20px;line-height:24px;margin:0 0 24px}.variant-detail-copy .eyebrow{display:none}.variant-detail-copy p{font-size:14px;line-height:20px}.variant-close{position:absolute;top:12px;right:16px;width:36px;height:36px;font-size:28px;font-weight:300;z-index:2}.variant-detail-actions{display:flex;gap:24px;margin-top:24px;flex-wrap:wrap}.rail-controls{margin:32px var(--gutter) 0;display:flex;align-items:center;justify-content:space-between;height:40px;direction:ltr}.rail-progress{width:285px;height:2px;background:#ffffff35;position:relative;overflow:hidden}.rail-progress span{position:absolute;left:0;top:0;height:100%;background:#eee;width:33.333%;transform:translateX(var(--progress,0%));transition:transform .25s}.rail-arrows{display:flex;gap:24px}.rail-arrows button{width:32px;height:40px;font-size:21px}
/* Six images: large 4:3 beside two squares, repeated in a horizontally scrolling composition. */
.design-section{padding-top:122px}.design-copy h2{margin-bottom:40px}.design-copy>p+p{margin-top:20px}.design-copy .button-row{margin-top:64px}.gallery-rail{overflow-x:auto;overflow-y:hidden;direction:ltr;scrollbar-width:none;margin-top:48px;scroll-snap-type:none;scroll-behavior:auto}.gallery-track{display:grid;grid-auto-flow:column;grid-template-columns:repeat(2,calc(var(--unit) * 7 - var(--grid-gap)) calc(var(--unit) * 3 - var(--grid-gap)));grid-template-rows:repeat(2,calc(var(--unit) * 3 - var(--grid-gap)));gap:var(--grid-gap);padding-inline:var(--gutter);width:max-content;align-items:center}.gallery-image{padding:0;position:relative;overflow:hidden;width:100%;height:100%;scroll-snap-align:none}.gallery-image img{width:100%;height:100%;transition:transform .65s}.gallery-image:hover img{transform:scale(1.02)}.gallery-image-1,.gallery-image-4{grid-row:1/3;height:auto;aspect-ratio:4/3}.gallery-image-1{grid-column:1}.gallery-image-2{grid-row:1;grid-column:2}.gallery-image-3{grid-row:2;grid-column:2}.gallery-image-4{grid-column:3}.gallery-image-5{grid-row:1;grid-column:4}.gallery-image-6{grid-row:2;grid-column:4}.enlarge-mark{position:absolute;right:16px;bottom:16px;width:32px;height:32px;background:#0006;display:grid;place-items:center;font-size:22px;opacity:0;transition:opacity .2s}.gallery-image:hover .enlarge-mark,.gallery-image:focus-visible .enlarge-mark{opacity:1}
/* Technology and personalisation reverse a six-column text / five-column portrait pair. */
.editorial-split{margin:80px var(--gutter) 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);direction:ltr;align-items:center;min-height:584px}.split-copy{direction:rtl;grid-column:1/7}.split-copy .eyebrow{margin-bottom:16px}.split-copy h2{margin-bottom:16px}.split-copy p+p{margin-top:20px}.split-copy .button-row{justify-content:flex-start;flex-wrap:wrap;margin-top:40px;gap:24px}.split-copy .small-print{font-size:11px;line-height:20px;margin-top:24px}.split-photos{position:relative;grid-column:8/13;width:100%;aspect-ratio:446.08/583.92;direction:ltr}.split-photos figure{position:absolute;width:93%;aspect-ratio:3/4;overflow:hidden;will-change:transform}.split-photos img{width:100%;height:100%}.split-photo-back{left:7%;top:0}.split-photo-front{left:0;top:5.27%}.technology-section .split-photos{align-self:center}.personalisation-section{margin-top:112px}.personalisation-section .split-photos{grid-column:1/6}.personalisation-section .split-copy{grid-column:7/13}.feature-section{margin:64px var(--gutter) 0;position:relative}.feature-scene{position:relative;height:600px;display:flex;align-items:center;isolation:isolate;direction:ltr}.feature-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.feature-scene:after{content:'';position:absolute;inset:0;background:#0002;z-index:-1}.feature-panel{position:relative;width:calc(var(--unit) * 5 - var(--grid-gap));min-height:300px;margin-left:calc(var(--unit) * 6);padding:48px;direction:rtl;background:#171717d9;backdrop-filter:blur(28px);isolation:isolate}.feature-panel .eyebrow{margin-bottom:16px}.feature-panel h2{font-size:30px;line-height:36px;margin-bottom:16px}.feature-panel p{font-size:14px;line-height:20px}.feature-panel>.solid-button,.feature-actions{margin-top:40px}.feature-actions{display:flex;gap:16px;flex-wrap:wrap}.accessories-section{margin-top:64px;min-height:324px}.accessories-section .split-photos{grid-column:1/7;aspect-ratio:538.5/320}.accessories-section .split-photos figure{aspect-ratio:16/9}.accessories-section .split-photo-front{top:12.2%}.accessories-section .split-copy{grid-column:8/13}.accessories-section .split-copy>.solid-button{margin-top:40px}.contact-section{margin:64px 0 0}.contact-section .feature-panel{margin-left:calc(var(--gutter) + var(--unit) * 7)}
/* Full viewport reference gallery, native dialog gives Escape, inert background and focus trap. */
.gallery-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:72px 40px;background:#000;border:0;color:var(--paper);overflow:hidden}.gallery-dialog::backdrop{background:#000}.gallery-close{position:absolute;right:40px;top:16px;height:40px;padding:0 8px;font-size:12px;display:flex;align-items:center;gap:12px}.gallery-close span{font-size:24px}.gallery-view{height:100%;display:grid;place-items:center}.gallery-full-image{width:100%;height:100%;object-fit:contain!important}.gallery-dialog-controls{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);height:40px;display:flex;align-items:center;gap:24px;direction:ltr}.gallery-dialog-controls button{width:40px;height:40px;font-size:20px}.lightbox-progress{width:210px;height:2px;background:#ffffff35}.lightbox-progress span{height:100%;display:block;background:var(--paper);width:16.666%;transform:translateX(var(--progress,0%));transition:transform .2s}.gallery-count{font:10px Montserrat,sans-serif;white-space:nowrap}.variant-mobile-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;margin:0;padding:0;background:#171717;color:var(--paper);overflow:auto}.variant-mobile-dialog::backdrop{background:#000}.mobile-variant-image{width:100%;height:auto;aspect-ratio:375/243;object-fit:cover}.mobile-variant-content{padding:24px 16px 40px;min-height:calc(100dvh - 100vw * 243 / 375);display:flex;flex-direction:column;direction:rtl}.mobile-variant-content h3{font-size:20px;line-height:24px;margin-bottom:24px}.mobile-variant-content p{font-size:14px;line-height:20px}.mobile-variant-content .variant-detail-actions{margin-top:auto;padding-top:40px;flex-direction:column;gap:24px}.mobile-variant-content .solid-button,.mobile-variant-content .outline-button{width:100%}.mobile-variant-close{position:fixed;right:16px;top:16px;width:40px;height:40px;background:#0008;font-size:28px;z-index:2}
/* Original internal footer/directory retained; homepage/shared modules are untouched. */
.page-footer{padding:70px var(--gutter) 28px;background:#060606}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:45px}.footer-top .page-brand{font-size:30px}.footer-top>a:last-child{font-size:12px;border-bottom:1px solid #ffffff50;padding-bottom:7px}.footer-services{display:grid;grid-template-columns:repeat(5,1fr);gap:20px 30px;border-top:1px solid var(--line);padding:35px 0;font-size:12px;color:#aaa}.footer-services a:hover,.footer-services a[aria-current=page]{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;font:9px/1.9 Montserrat,sans-serif;letter-spacing:.15em;color:#949494;display:flex;justify-content:space-between;gap:20px}.service-directory{max-width:900px;width:calc(100% - 40px);max-height:85svh;overflow:auto;border:1px solid var(--line);padding:60px;background:#0c0c0c;color:var(--paper)}.service-directory::backdrop{background:#000a;backdrop-filter:blur(16px)}.directory-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.directory-heading h2{font-size:26px}.directory-heading button{width:44px;height:44px;font-size:28px}.directory-links{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.directory-links a{font-size:16px;border-top:1px solid var(--line);padding:21px 0;display:flex;justify-content:space-between}.directory-links a span{font:10px Montserrat,sans-serif;color:var(--accent)}

/* TITAN: three installed layers and a separate paint base, deliberately schematic. */
.film-section{height:1750px;position:relative;background:radial-gradient(ellipse at 20% 50%,#292929 0%,#111 45%,#080808 80%);scroll-margin-top:76px}.film-stage{position:sticky;top:76px;min-height:670px;height:calc(100svh - 76px);max-height:1100px;display:grid;grid-template-columns:1fr 1.2fr;gap:4vw;align-items:center;padding:55px var(--gutter);overflow:hidden}.film-copy{max-width:520px;position:relative;z-index:2}.film-copy .eyebrow{margin:24px 0 14px}.tinybot-logo{width:145px;height:auto;object-fit:contain}.film-copy h2{font-size:clamp(28px,3.1vw,46px);line-height:1.7}.film-intro{font-size:13px;color:#afafaf;margin-top:18px}.film-labels{list-style:none;margin:30px 0 0;padding:0}.film-labels li{border-top:1px solid var(--line);padding:15px 18px 15px 0;border-right:2px solid transparent;transition:border-color .3s,background .3s,opacity .3s;opacity:.5}.film-labels li.is-active{border-right-color:var(--accent);background:#ffffff08;opacity:1}.film-labels h3{font-size:16px}.film-labels h3 bdi{font:11px Montserrat,sans-serif;color:var(--accent);margin-right:8px}.film-labels p{font-size:11px;color:#b1b1b1;margin-top:5px;line-height:1.9}.film-source{font-size:9px!important;color:#8c8c8c;line-height:1.9;margin-top:24px}.film-source a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.film-visual{position:relative;height:490px;direction:ltr;perspective:1100px;align-self:center;--explode:.35}.film-plane{position:absolute;left:4%;top:46%;width:90%;height:63%;border-radius:28% 10% 27% 10%;transform:rotateX(58deg) rotateZ(-25deg) translateZ(0);transform-origin:center center;box-shadow:0 8px 22px #0005;border:1px solid #A381CE70;will-change:transform}.film-paint{background:linear-gradient(135deg,#101010,#656565 35%,#252525 70%,#0b0b0b);box-shadow:0 20px 45px #0008;border-color:#A381CE50;z-index:0}.film-adhesive{background:linear-gradient(135deg,#ffffff25,#ffffff10,#ffffff20);z-index:1;transform:translateY(calc(var(--explode) * -76px)) rotateX(58deg) rotateZ(-25deg)}.film-tpu{background:linear-gradient(135deg,#ffffff38,#ffffff17,#ffffff30);z-index:2;transform:translateY(calc(var(--explode) * -155px)) rotateX(58deg) rotateZ(-25deg)}.film-topcoat{background:linear-gradient(135deg,#ffffff2b,#ffffff22,#ffffff14);z-index:3;transform:translateY(calc(var(--explode) * -232px)) rotateX(58deg) rotateZ(-25deg);box-shadow:inset 0 2px 4px #ffffff25,0 10px 25px #0002}.film-plane:after{content:'';position:absolute;inset:12px;border-radius:inherit;border:1px solid #ffffff12}.film-mark{position:absolute;right:3%;font:10px Montserrat,sans-serif;color:var(--accent);border-bottom:1px solid #A381CE5c;width:85px;text-align:right;padding-bottom:7px;z-index:4}.film-mark-1{top:64%;transform:translateY(calc(var(--explode) * -232px))}.film-mark-2{top:64%;transform:translateY(calc(var(--explode) * -155px))}.film-mark-3{top:64%;transform:translateY(calc(var(--explode) * -76px))}.paint-caption{position:absolute;bottom:-22px;left:10%;color:#9e9e9e;font-size:11px;direction:rtl}.film-progress{height:1px;background:#ffffff20;width:130px;margin-top:28px;overflow:hidden}.film-progress span{height:100%;width:100%;display:block;background:var(--accent);transform-origin:right;transform:scaleX(var(--film-progress,0))}

.film-section{margin-top:64px;scroll-margin-top:112px}.film-stage{top:96px;height:calc(100svh - 96px)}
@media(max-width:900px){.header-home{display:none}.variant-detail-actions{gap:12px}.variant-detail{padding-top:54px}.feature-panel{padding:32px}.button-row{gap:16px}.split-copy .button-row{gap:16px}.solid-button,.outline-button{padding-inline:16px}}
@media(max-width:767px){
 :root{--gutter:16px;--grid-gap:8px;--card:calc(var(--unit) * 10 - var(--grid-gap));--expanded:calc(var(--unit) * 10 - var(--grid-gap));scroll-padding-top:96px}
 .page-header{height:128px;padding-top:56px;padding-inline:16px}.page-brand-logo{top:88px}.logo-frame{width:100px}.header-contact-tools{gap:0}.header-contact-tools a,.header-contact-tools button{width:32px;height:44px;padding:7px}.header-contact-tools svg{width:18px;height:18px}.header-tools{max-width:100px;font-size:11px;gap:0}.header-service-link span{display:none}.header-mobile-cta{display:flex;position:absolute;top:16px;left:16px;right:16px;height:40px;align-items:center;justify-content:center;font-size:12px;border:1px solid #bdbdbd;padding:0 12px}
 .service-hero{margin-bottom:48px}.hero-media{aspect-ratio:1}.hero-heading{margin-top:-33px}.hero-heading h1{font-size:52px;line-height:60px;margin-bottom:16px}.hero-heading h2{font-size:30px;line-height:36px;margin-bottom:16px}.hero-eyebrow{font-size:16px;line-height:22px;top:-48px}.hero-intro{font-size:16px;line-height:22px;min-height:0}.hero-heading .button-row{margin-top:40px}.button-row{flex-direction:column;gap:24px;align-items:stretch}.button-row .solid-button,.button-row .outline-button{width:100%}.hero-atmosphere{inset:-128px 0 -48px}.collage{height:calc(var(--unit) * 7.8);max-height:none}.collage-main{left:0;width:calc(var(--unit) * 10 - var(--grid-gap));top:0}.collage-portrait{left:calc(var(--unit) * 7);top:40px;width:calc(var(--unit) * 4 - var(--grid-gap));aspect-ratio:3/4}.collage-detail{left:calc(var(--unit) * 2 + 20px);top:90px;width:calc(var(--unit) * 8 - var(--grid-gap))}
 .service-nav-wrap{height:80px}.service-nav,.service-nav-wrap.is-stuck .service-nav{height:80px;padding:16px 24px}.local-links{justify-content:flex-start;gap:16px}.local-links a{height:48px;padding:14px 24px;font-size:13px}section[id]{scroll-margin-top:96px}
 .range-intro{padding-top:64px;min-height:0;padding-bottom:80px}.range-intro .eyebrow{margin-bottom:40px}.range-intro h2{margin-bottom:40px}.editorial-copy h2,.split-copy h2{font-size:28px;line-height:34px}.range-body{min-height:0}.range-body p{font-size:14px;line-height:20px}.variant-track{padding-inline:calc((var(--viewport,100vw) - var(--card)) / 2)}.variant-card,.variant-card.is-open{height:calc(var(--card) * 321 / 224);min-height:0;max-height:none;flex-basis:var(--card);width:var(--card)}.variant-cover-copy{top:16px;left:16px;right:16px}.variant-title,.variant-card.is-open .variant-title{font-size:20px;line-height:24px}.variant-card.is-open .variant-subtitle{display:block}.variant-card.is-open .variant-plus{display:block}.variant-card .variant-detail{display:none}.rail-controls{margin-top:24px}.rail-progress{width:calc(var(--unit) * 5)}.rail-arrows{gap:16px}.design-section{padding-top:64px}.design-copy h2{margin-bottom:40px}.design-copy .button-row{margin-top:40px}.gallery-rail{margin-top:48px}.gallery-track{grid-template-columns:repeat(4,calc((var(--viewport,100vw) - 24px) / 2));grid-template-rows:calc((var(--viewport,100vw) - 16px) * .548) calc((var(--viewport,100vw) - 24px) / 2);gap:8px}.gallery-image-1,.gallery-image-4{height:100%;aspect-ratio:auto}.gallery-image-1{grid-row:1;grid-column:1/3}.gallery-image-2{grid-row:2;grid-column:1}.gallery-image-3{grid-row:2;grid-column:2}.gallery-image-4{grid-row:2;grid-column:3/5}.gallery-image-5{grid-row:1;grid-column:3;height:100%;max-height:calc((var(--viewport,100vw) - 24px) / 2);align-self:start}.gallery-image-6{grid-row:1;grid-column:4;height:100%;max-height:calc((var(--viewport,100vw) - 24px) / 2);align-self:start}.enlarge-mark{opacity:1;right:12px;bottom:12px}
 .editorial-split{display:flex;flex-direction:column;gap:48px;min-height:0;margin-top:80px}.editorial-split .split-photos{width:100%;aspect-ratio:453/650;order:0}.editorial-split .split-copy{width:100%;order:1}.split-photos figure{width:93%;aspect-ratio:3/4}.split-photo-front{top:13.55%}.split-copy .button-row{align-items:stretch;gap:24px}.personalisation-section{margin-top:80px}.feature-section{margin-top:64px}.feature-scene{height:100svh;min-height:700px;align-items:flex-end}.feature-panel{width:100%;margin:0;padding:48px;min-height:300px}.feature-panel h2{font-size:28px;line-height:34px}.feature-panel>.solid-button{margin-top:40px}.accessories-section{margin-top:48px}.accessories-section .split-photos{aspect-ratio:453/270}.accessories-section .split-photos figure{aspect-ratio:16/9}.accessories-section .split-photo-front{top:12.2%}.contact-section{margin:64px 0 0}.contact-section .feature-panel{width:calc(100% - 32px);margin:0 16px}.feature-actions{gap:16px}.feature-actions .solid-button,.feature-actions .outline-button{flex:1}
 .gallery-dialog{padding:64px 16px 72px}.gallery-close{right:16px}.gallery-dialog-controls{gap:8px}.lightbox-progress{width:120px}.gallery-count{font-size:9px}.gallery-dialog-controls button{width:32px}
 .page-footer{padding-top:50px}.footer-top{gap:20px}.footer-top .page-brand{font-size:22px}.footer-services{grid-template-columns:repeat(2,1fr);font-size:11px;gap:20px}.footer-bottom{font-size:8px;flex-direction:column;gap:10px}.service-directory{padding:25px}.directory-heading{margin-bottom:25px}.directory-heading h2{font-size:23px}.directory-links{grid-template-columns:1fr;gap:0}.directory-links a{font-size:15px;padding:17px 0}
 .film-section{height:auto;scroll-margin-top:96px}.film-stage{position:relative;top:0;min-height:0;height:auto;max-height:none;grid-template-columns:1fr;padding:65px 16px 50px;gap:20px;overflow:hidden}.film-copy{max-width:none}.tinybot-logo{width:120px}.film-copy h2{font-size:29px}.film-copy .eyebrow{font-size:9px}.film-labels{margin-top:22px}.film-labels li{opacity:1;padding:13px 15px 13px 0}.film-labels h3{font-size:14px}.film-labels p{font-size:11px}.film-visual{height:390px;max-width:510px;width:100%;margin:20px auto 0;--explode:1}.film-plane{left:2%;width:88%;height:59%;top:55%}.film-mark{right:1%;width:60px}.film-mark-1{top:69%;transform:translateY(-232px)}.film-mark-2{top:69%;transform:translateY(-155px)}.film-mark-3{top:69%;transform:translateY(-76px)}.paint-caption{bottom:-5px}.film-progress{display:none}.film-source{font-size:10px!important}
}
@media(max-width:380px){.hero-heading h1{font-size:44px;line-height:54px}.hero-heading h2{font-size:26px;line-height:34px}.feature-panel{padding:32px}.feature-actions{flex-direction:column}.logo-frame{width:88px}.header-contact-tools a,.header-contact-tools button{width:28px}.header-tools{font-size:10px}}
@media(min-width:768px) and (max-height:780px){.film-section{height:auto}.film-stage{position:relative;top:0;min-height:0;height:auto;max-height:none;padding-top:70px;padding-bottom:85px;overflow:visible}.film-visual{--explode:1;height:450px}.film-labels li{opacity:1}.film-progress{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.collage figure,.split-photos figure{transform:none!important;will-change:auto}.film-section{height:auto}.film-stage{position:relative;top:0;height:auto;min-height:720px}.film-visual{--explode:1}.film-labels li{opacity:1}.film-plane{will-change:auto}.film-progress{display:none}.variant-card:hover .variant-photo,.gallery-image:hover img{transform:none}}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.film-stage{min-height:0}}

html.service-modal-open{overflow:hidden}.is-dragging{cursor:grabbing;user-select:none}.is-dragging img{pointer-events:none}

/* TITAN is an added editorial feature, not a Bentley section. All installed planes coincide at progress zero. */
.film-section{height:auto;background:var(--ink)}.film-scroll-area{height:1800px}.film-stage{min-height:0;height:calc(100svh - 96px);max-height:none;position:sticky;top:96px;padding:40px var(--gutter);overflow:hidden;grid-template-columns:1fr 1fr;gap:var(--unit)}.film-copy h2{font-size:30px;line-height:36px}.film-copy .eyebrow{margin:16px 0}.film-intro{font-size:14px;line-height:20px}.film-labels{margin-top:24px}.film-labels li{padding-block:12px}.film-labels p{line-height:18px}.film-section>.film-source{max-width:var(--expanded);margin:24px auto 0;font-size:11px!important;line-height:20px}.film-visual{--explode:0;height:450px}.film-plane{transform-origin:center center}.film-progress{display:block}.film-copy .tinybot-logo{width:120px}.film-labels li{opacity:.35}.film-labels li.is-active{opacity:1}
@media(max-width:767px){.film-scroll-area{height:1600px}.film-stage{top:80px;height:calc(100svh - 80px);display:flex;flex-direction:column;padding:24px 16px;gap:16px;justify-content:center}.film-visual{order:0;flex:0 0 240px;height:240px;max-width:400px;margin:0 auto}.film-copy{order:1;width:100%}.film-copy .tinybot-logo{width:88px}.film-copy .eyebrow{font-size:9px;line-height:14px;margin:12px 0}.film-copy h2{font-size:24px;line-height:32px}.film-intro{font-size:12px;line-height:18px;margin-top:12px}.film-labels{position:relative;min-height:72px;margin-top:12px}.film-labels li{position:absolute;inset:0;opacity:0;padding:8px 12px 8px 0;pointer-events:none}.film-labels li.is-active{opacity:1;pointer-events:auto}.film-labels h3{font-size:15px;line-height:22px}.film-labels p{font-size:11px;line-height:18px}.film-progress{margin-top:12px}.film-plane{top:55%;height:59%}.film-mark-1,.film-mark-2,.film-mark-3{top:69%}.film-section>.film-source{max-width:none;margin:24px 16px 0}.paint-caption{font-size:9px;bottom:0}.film-mark{font-size:9px}.film-mark-1{transform:translateY(calc(var(--explode) * -232px))}.film-mark-2{transform:translateY(calc(var(--explode) * -155px))}.film-mark-3{transform:translateY(calc(var(--explode) * -76px))}}
@media(min-width:768px) and (max-width:1023px){.variant-mobile-dialog[open]{display:grid;grid-template-columns:42% 58%;align-items:stretch}.mobile-variant-image{height:100dvh;aspect-ratio:auto}.mobile-variant-content{padding:64px 32px 40px;min-height:100dvh}.variant-card{height:calc(var(--card) * 321 / 224)}}
@media(prefers-reduced-motion:reduce){.film-visual{--explode:1}.film-scroll-area{height:auto}.film-stage{position:relative;top:0;min-height:0;height:auto;padding-block:64px}.film-visual{--explode:1}.film-labels li{position:relative;opacity:1;inset:auto}.film-progress{display:none}}
/* Verified rendered media-group grid and CSS view timelines, including both group flips. */
.collage-section{overflow:visible}.collage{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:1fr;gap:16px;width:var(--expanded);height:auto;aspect-ratio:784/464;margin-inline:auto;transform:scale(-1);direction:ltr}.collage figure{position:relative;inset:auto;width:auto;height:auto;will-change:transform}.collage figure img{transform:scale(-1);width:100%;height:100%;position:absolute;inset:0}.collage-main{grid-area:1/span 8/2/-1;align-self:end;aspect-ratio:16/9;--parallax-y-start:-255;--parallax-y-end:255;z-index:3}.collage-portrait{grid-area:1/1/2/span 3;align-self:start;aspect-ratio:2/3;--parallax-x-start:50;--parallax-x-end:-50;--parallax-y-start:-50;--parallax-y-end:50;z-index:2}.collage-detail{grid-area:1/3/2/span 5;align-self:start;top:11%;aspect-ratio:16/9;--parallax-x-start:-20;--parallax-x-end:-20;--parallax-y-start:-100;--parallax-y-end:100;z-index:1}.service-nav-wrap{height:96px}.service-nav{height:96px;padding:22px 24px}.range-intro{padding-top:32px;min-height:464px}.split-photos{aspect-ratio:343/449}.split-photos figure{width:93.0029%}.split-photo-front{top:auto;bottom:0;--parallax-y-start:424;--parallax-y-end:-149}.split-photo-back{top:0;bottom:auto;--parallax-y-start:279;--parallax-y-end:-58}.accessories-section .split-photos{aspect-ratio:343/204}.accessories-section .split-photo-front{top:auto;bottom:0;--parallax-y-start:37;--parallax-y-end:0}.accessories-section .split-photo-back{--parallax-x-start:-130;--parallax-x-end:0;--parallax-y-start:24;--parallax-y-end:0}.feature-panel{backdrop-filter:blur(40px)}
@keyframes service-parallax{0%{transform:translateX(calc(var(--parallax-x-start,0) * 1px)) translateY(calc(var(--parallax-y-start,0) * 1px)) scale(var(--parallax-scale-start,1))}100%{transform:translateX(calc(var(--parallax-x-end,0) * 1px)) translateY(calc(var(--parallax-y-end,0) * 1px)) scale(var(--parallax-scale-end,1))}}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.collage figure,.split-photos figure{animation-name:service-parallax;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-range:cover;animation-timeline:view()}}}
@media(max-width:767px){.collage{width:100%;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;aspect-ratio:343/226}.collage-main{grid-column:span 10/-1;--parallax-y-start:-172;--parallax-y-end:172}.collage-portrait{grid-column:1/span 4;aspect-ratio:3/4;--parallax-x-start:36;--parallax-x-end:-36;--parallax-y-start:-20;--parallax-y-end:20}.collage-detail{grid-column:3/span 8;top:14%;--parallax-y-start:-60;--parallax-y-end:60}.service-nav-wrap,.service-nav{height:80px}.service-nav{padding:16px 24px}.range-intro{padding-top:64px;min-height:0}.editorial-split .split-photos{aspect-ratio:343/449}.accessories-section .split-photos{aspect-ratio:343/204}.feature-panel>.solid-button{width:100%}}
@media(min-width:768px) and (max-width:1023px){.collage{width:100%;grid-template-columns:repeat(12,minmax(0,1fr));aspect-ratio:704/432}.collage-main{grid-column:span 10/-1}.collage-portrait{grid-column:1/span 4}.collage-detail{grid-column:3/span 6}}
@media(min-width:1440px){:root{--gutter:64px;--card:calc(var(--unit) * 3 - var(--grid-gap));--expanded:calc(var(--unit) * 8 - var(--grid-gap))}.editorial-copy{width:calc(var(--unit) * 10 - var(--grid-gap))}.hero-heading h1{font-size:80px;line-height:88px}.hero-heading h2{font-size:44px;line-height:50px}.hero-intro{font-size:18px;line-height:26px}.variant-card{height:calc(var(--card) * 459 / 318)}.variant-card.is-open{height:calc((var(--unit) * 4 - var(--grid-gap)) * 587 / 432)}.variant-card.is-open .variant-toggle{width:calc(var(--unit) * 4 - var(--grid-gap));flex-basis:calc(var(--unit) * 4 - var(--grid-gap))}.variant-cover-copy{top:32px;left:32px;right:32px}.variant-card.is-open .variant-title{font-size:48px;line-height:54px}.collage{width:calc(var(--unit) * 10 - var(--grid-gap));aspect-ratio:1116/638}.collage-detail{top:9%}.feature-scene{height:700px}.feature-panel h2{font-size:38px;line-height:44px}.feature-panel p{font-size:16px;line-height:24px}.editorial-copy h2,.split-copy h2{font-size:38px;line-height:44px}.editorial-copy p,.split-copy p{font-size:16px;line-height:24px}}
@media(min-width:1920px){:root{--gutter:80px}.hero-heading h1{font-size:96px;line-height:104px}.variant-card{height:calc(var(--card) * 674 / 400)}.variant-card.is-open{height:calc((var(--unit) * 4 - var(--grid-gap)) * 895 / 544)}.variant-cover-copy{top:48px;left:48px;right:48px}.variant-card.is-open .variant-title{font-size:54px;line-height:60px}.collage{aspect-ratio:1408/800}.collage-detail{top:8%}.feature-scene{height:800px}.feature-panel h2{font-size:44px;line-height:50px}.feature-panel p{font-size:18px;line-height:26px}}
/* Reference header/footer compositions with only real SOBATI destinations. */
.page-header .header-tools{direction:ltr;gap:32px}.header-home{display:block}.header-service-link{direction:rtl}.header-consult{font-size:14px;line-height:20px;min-width:200px}.logo-frame{width:110px}.page-header .page-brand-logo{top:60px}.page-footer{padding:32px var(--gutter) 40px;background:#000}.footer-utility{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;gap:24px;text-align:center;min-height:56px;direction:ltr;font-size:13px}.footer-utility a,.footer-utility button{padding:10px 0}.footer-brand{justify-self:center}.footer-brand .logo-frame{width:80px}.footer-social{display:flex;justify-content:center;gap:40px;padding:32px 0;border-bottom:1px solid #ffffff70;direction:ltr}.footer-social a{height:24px;display:grid;place-items:center}.footer-social svg{width:20px;height:20px}.footer-columns{display:grid;grid-template-columns:repeat(5,1fr);gap:32px;padding:40px 0 64px;direction:rtl}.footer-group summary{font-size:15px;line-height:20px;font-weight:300;list-style:none;pointer-events:none}.footer-group summary::-webkit-details-marker{display:none}.footer-group nav{display:flex;flex-direction:column;gap:22px;margin-top:40px}.footer-group nav a{font-size:11px;line-height:18px}.footer-group a:hover,.footer-group a[aria-current=page]{color:var(--accent)}.footer-bottom{border-top:0;padding-top:16px;color:#c5c5c5;letter-spacing:.06em}
@media(max-width:767px){.page-header{padding-top:56px;align-items:center}.page-header .page-brand-logo{top:88px}.page-header .logo-frame{width:88px}.header-consult{position:absolute;left:16px;right:16px;top:16px;height:40px;min-width:0;font-size:12px}.page-header .header-tools{width:100%;justify-content:space-between;gap:0;font-size:11px;max-width:none}.header-service-link span{display:inline}.page-footer{padding-top:32px}.footer-utility{grid-template-columns:1fr 1fr;gap:16px;font-size:12px}.footer-brand{grid-column:1/-1;grid-row:1;margin-bottom:16px}.footer-brand .logo-frame{width:64px}.footer-social{justify-content:space-evenly;padding:32px 0}.footer-columns{display:block;padding:24px 0 32px}.footer-group{border-bottom:1px solid #ffffff35}.footer-group summary{pointer-events:auto;cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-size:14px}.footer-group summary:after{content:'+';font-size:20px}.footer-group[open] summary:after{content:'−'}.footer-group nav{margin:0;padding:8px 0 24px;gap:20px}.footer-group nav a{font-size:12px}.footer-bottom{font-size:9px;line-height:18px}.gallery-track{grid-template-rows:calc((var(--viewport) - 16px) * .548 + (var(--viewport) - 24px) / 2 + 8px)}.gallery-image-1,.gallery-image-4{grid-row:1;height:calc((var(--viewport) - 16px) * .548)}.gallery-image-1{grid-column:1/3;align-self:start}.gallery-image-2,.gallery-image-3,.gallery-image-5,.gallery-image-6{grid-row:1;height:calc((var(--viewport) - 24px) / 2)}.gallery-image-2{grid-column:1;align-self:end}.gallery-image-3{grid-column:2;align-self:end}.gallery-image-4{grid-column:3/5;align-self:end}.gallery-image-5{grid-column:3;align-self:start}.gallery-image-6{grid-column:4;align-self:start}[data-controls=gallery] .rail-arrows{display:none}[data-controls=gallery] .rail-progress{width:100%}}
/* A single anchor clearance, matching the reference target. Split-section padding is content spacing, not a second scroll offset. */
:root{scroll-padding-top:0}section[id],.variant-card,.film-section{scroll-margin-top:96px}.editorial-split{margin-top:16px;padding-top:64px}.personalisation-section{margin-top:48px}.accessories-section{margin-top:0}
@media(max-width:767px){section[id],.variant-card,.film-section{scroll-margin-top:80px}.editorial-split,.personalisation-section{margin-top:16px;padding-top:64px}.accessories-section{margin-top:0;padding-top:48px}}

@media(prefers-reduced-motion:reduce){.film-visual{--explode:1!important}}
@media(max-width:767px){.film-adhesive{transform:translateY(calc(var(--explode) * -58px)) rotateX(58deg) rotateZ(-25deg)}.film-tpu{transform:translateY(calc(var(--explode) * -118px)) rotateX(58deg) rotateZ(-25deg)}.film-topcoat{transform:translateY(calc(var(--explode) * -178px)) rotateX(58deg) rotateZ(-25deg)}.film-mark-1{transform:translateY(calc(var(--explode) * -178px))}.film-mark-2{transform:translateY(calc(var(--explode) * -118px))}.film-mark-3{transform:translateY(calc(var(--explode) * -58px))}}
/* Do not clip the exploded sheet or long Persian copy on short viewports. Normal motion remains scroll-bound. */
.film-stage{overflow:visible}
@media(max-height:680px){.film-stage{height:auto;min-height:calc(100svh - 96px);padding-block:40px}.film-scroll-area{height:max(1800px,300svh)}}
@media(max-width:767px) and (max-height:680px){.film-stage{min-height:calc(100svh - 80px)}.film-visual{flex-basis:240px}}
@media(prefers-reduced-motion:reduce){.film-stage{overflow:visible}.film-visual{margin-block-start:64px}}

/* Browser QA: intrinsic portrait images must not enlarge or scroll the lightbox. */
.gallery-dialog{padding:0;overflow:hidden;overscroll-behavior:contain}.gallery-view{position:absolute;inset:72px 40px;height:auto;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.gallery-full-image{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain!important}.gallery-close,.gallery-dialog-controls{position:fixed;z-index:2}.gallery-close{top:16px;right:40px}.gallery-dialog-controls{bottom:16px}
@media(max-width:767px){.gallery-view{inset:64px 16px 72px}.gallery-close{right:16px}}
/* The sheets still coincide exactly. Leader labels appear only after collision-free separation. */
.film-mark{opacity:var(--film-label-opacity,0)}
@media(prefers-reduced-motion:reduce){.film-mark{opacity:1}}

/* Short-height browser QA: a stage taller than the viewport must scroll in normal document flow. */
@media(max-height:680px){.film-scroll-area{height:auto}.film-stage{position:relative;top:0;min-height:0;height:auto;overflow:visible}.film-labels{min-height:0}.film-labels li{position:relative;inset:auto;opacity:1;pointer-events:auto}}

/* Internal header correction: navigation right, consultation left, logo geometrically centered. */
.page-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"consult brand navigation";column-gap:24px;direction:ltr}
.page-header .header-tools{grid-area:navigation;justify-self:end;width:auto;max-width:none;direction:rtl;gap:24px;font-size:14px;line-height:22px}
.page-header .header-tools a{display:inline-flex;align-items:center;min-width:44px;min-height:44px;padding:4px 0;white-space:nowrap}
.page-header .page-brand-logo{grid-area:brand;position:relative;left:auto;top:auto;transform:none;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.page-header .header-consult{grid-area:consult;justify-self:start;position:static;inset:auto;min-width:152px;min-height:44px;height:44px;max-width:100%;padding:0 18px;font-size:14px;line-height:22px;direction:rtl}
@media(max-width:767px){
 .page-header{padding:16px;column-gap:12px}
 .page-header .header-tools{gap:16px;font-size:13px;line-height:20px}
 .page-header .header-consult{min-width:0;padding-inline:8px;font-size:13px;line-height:20px}
}
@media(max-width:479px){
 .page-header{column-gap:8px}
 .page-header .header-tools{flex-direction:column;align-items:flex-start;gap:0}
 .page-header .logo-frame{width:72px}
}

/* Internal-page hierarchy and approved brand palette; secondary outlines are retained. */
.hero-heading h1{font-weight:450}
.solid-button{color:#111}
.solid-button .button-icon,.outline-button .button-icon{display:inline-flex;align-items:center;justify-content:center;align-self:center;flex:0 0 18px;width:18px;height:18px;line-height:1}
.button-icon svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
/* Keep the original flipped composition and scroll tracks, with clearer photo separation. */
.collage .collage-main{margin-inline-start:clamp(12px,1.5vw,24px)}
.collage .collage-portrait{margin-inline-end:clamp(12px,1.5vw,24px)}
.collage .collage-detail{top:4%;overflow:hidden}
.collage .collage-detail img{inset:-60px;width:calc(100% + 120px);max-width:none;height:calc(100% + 120px);filter:blur(clamp(6px,.65vw,10px)) brightness(1.12)}

/* Variant choices only. The outer scroller stays LTR, with portable positive
   scrollLeft coordinates; the flex track supplies right-to-left visual order. */
.variants-section .variant-rail{direction:ltr;scroll-snap-type:none}
.variants-section .variant-track{flex-direction:row-reverse}
.variants-section [data-controls="variant"] .rail-arrows{flex-direction:row-reverse}
.variants-section [data-controls="variant"] .rail-progress span{left:auto;right:0;transform:translateX(calc(-1 * var(--progress,0%)))}

/* Same photo-derived material as the approved homepage section 3, never purple glass. */
.feature-panel{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.feature-material{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.feature-material:before{content:"";position:absolute;inset:-108px;background:var(--feature-image) center/cover no-repeat;filter:blur(34.2px)}
.feature-material:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2)}
/* The paired editorial photos stay on their original scroll paths, with more exposed edges. */
.editorial-split .split-photo-back{left:16%;width:84%;overflow:hidden}
.editorial-split .split-photo-back img{position:absolute;inset:-54px;width:calc(100% + 108px);max-width:none;height:calc(100% + 108px);filter:blur(clamp(10px,1.2vw,18px)) brightness(1.08)}
.editorial-split .split-photo-front{width:84%}
.editorial-copy h2,.split-copy h2,.feature-panel h2,.film-copy h2{font-weight:400}
.variant-title,.variant-detail h3{font-weight:450}
.feature-actions .contact-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px}
.feature-actions .contact-icon svg{display:block;width:20px;height:20px}
.feature-actions .whatsapp-icon svg{fill:currentColor;stroke:none}
@media(max-width:1023px){
 .feature-scene{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch}
 .feature-photo{position:relative;inset:auto;z-index:auto;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
 .feature-scene:after{content:none}
 .feature-panel,.contact-section .feature-panel{width:100%;min-height:0;margin:0;padding:32px}
}

/* Geometry-aware external paint callout: the substrate never follows film separation. */
.film-diagram{position:relative;align-self:center;width:100%;min-width:0;padding-bottom:64px;direction:ltr}
.film-diagram .film-visual{width:100%}
.paint-anchor{position:absolute;left:38%;bottom:1%;width:1px;height:1px;pointer-events:none}
.paint-callout{position:absolute;right:0;left:auto;bottom:0;max-width:65%;padding:0 0 0 8px;display:flex;flex-direction:column;gap:4px;text-align:right;direction:rtl;color:#d6d6d6;font-size:12px;line-height:20px}
.paint-callout strong{font-weight:500}
.paint-callout>span:not(.paint-callout-anchor){font-size:11px;color:#aaa}
.paint-callout-anchor{position:absolute;left:0;top:0;width:1px;height:1px}
.paint-leader{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:5;color:#d6d6d6;fill:none;stroke:currentColor;stroke-width:1}
.paint-leader polygon{fill:currentColor;stroke:none}
.paint-callout,.paint-leader{opacity:var(--film-label-opacity,0);visibility:var(--film-label-visibility,hidden)}
@media(prefers-reduced-motion:reduce){.paint-callout,.paint-leader{opacity:1;visibility:visible}}
@media(max-width:767px){.film-diagram{order:0;flex:0 0 auto;max-width:400px;margin:0 auto;padding-top:32px;padding-bottom:64px}.film-diagram .film-visual{margin:0}.paint-callout{font-size:11px;line-height:18px}.paint-callout>span:not(.paint-callout-anchor){font-size:10px}}
/* Variant-only slow/fast/slow motion; gallery timing stays untouched. */
.variants-section .variant-card{transition:width .6s cubic-bezier(.65,0,.35,1),flex-basis .6s cubic-bezier(.65,0,.35,1),height .6s cubic-bezier(.65,0,.35,1)}
.variants-section .variant-toggle{transition:width .6s cubic-bezier(.65,0,.35,1),flex-basis .6s cubic-bezier(.65,0,.35,1)}
.variants-section .variant-photo{transition:transform .6s cubic-bezier(.65,0,.35,1)}

/* Deliberate hierarchy inside the retained editorial and expanded-card compositions. */
.hero-heading h2{font-weight:350}
.process-step strong{display:block;margin-bottom:8px;font-weight:500}
.service-questions{margin-top:28px}
.service-question{padding:24px 0;border-top:1px solid #ffffff24}
.service-question h3{font-size:17px;line-height:27px;font-weight:500;margin:0 0 12px}
.service-question p{font-size:14px;line-height:24px;margin:0}
.variant-detail{overflow-y:auto;overscroll-behavior:contain}
.variant-detail-copy h3{margin-bottom:16px}
.variant-detail-actions .solid-button,.variant-detail-actions .outline-button{min-width:0;min-height:44px;padding-block:8px;white-space:normal;text-align:center;line-height:20px}
.variant-image-caption{margin:24px var(--gutter) 0;max-width:var(--content);font-size:12px;line-height:20px;color:#b5b5b5;text-align:right}
.variant-terms{margin:24px 0 0;padding:0;border:0;min-width:0;direction:rtl}
.variant-terms legend{padding:0;margin:0 0 12px;font-size:12px;line-height:20px;font-weight:500}
.variant-term-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.variant-term{position:relative;display:flex;min-height:70px;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;border:1px solid #ffffff40;cursor:pointer;transition:background .2s,border-color .2s}
.variant-term input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.variant-term:has(input:checked){border-color:var(--accent);background:#ffffff08}
.variant-term:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}
.variant-term-label{font-size:17px;line-height:22px;font-weight:500}
.variant-term-issuer{font-size:10px;line-height:18px;font-weight:350;color:#d0d0d0}
.variant-detail-copy .variant-term-note,.mobile-variant-terms .variant-term-note{margin:16px 0 0;font-size:11px;line-height:18px;color:#bdbdbd}
.mobile-variant-terms:empty{display:none}
.feature-actions{display:grid;grid-template-columns:1fr;gap:12px}
.feature-actions .solid-button,.feature-actions .outline-button{min-width:0;min-height:44px;padding-block:8px;white-space:normal;text-align:center;line-height:20px}

/* Curated desktop photo footprints: panels never widen across a protected subject. */
.feature-scene .feature-panel{width:var(--feature-panel-width,32%);min-height:0;padding:clamp(20px,1.875vw,32px);margin:0}
.feature-scene[data-panel-side="left"] .feature-panel{margin-left:var(--feature-panel-inset,3%);margin-right:auto}
.feature-scene[data-panel-side="right"] .feature-panel{margin-left:auto;margin-right:var(--feature-panel-inset,3%)}
.feature-scene .feature-panel .eyebrow{font-size:11px;line-height:16px;margin-bottom:12px}
.feature-scene .feature-panel h2{font-size:clamp(22px,1.8vw,30px);line-height:1.4;margin-bottom:16px}
.feature-scene .feature-panel p{font-size:14px;line-height:23px}
.feature-scene .feature-panel>.solid-button,.feature-scene .feature-actions{margin-top:24px}
.feature-scene-material{position:absolute;inset:0;z-index:-3;overflow:hidden;pointer-events:none}
.feature-scene-material:before{content:"";position:absolute;inset:-108px;background:var(--feature-image) center/cover no-repeat;filter:blur(34.2px)}
.feature-scene-material:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2)}
.feature-scene[data-feature-mode="extension"] .feature-photo{inset:0 auto auto 0;width:68%;height:100%}
.feature-scene[data-feature-mode="extension"]:after{content:none}
@media(max-width:1023px){
 .feature-scene .feature-panel,.feature-scene[data-panel-side] .feature-panel{width:100%;margin:0;padding:32px}
 .feature-scene[data-feature-mode="extension"] .feature-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:3/2}
 .feature-scene-material{display:none}
}
.variants-section .variant-title{transition:font-size .6s cubic-bezier(.65,0,.35,1),line-height .6s cubic-bezier(.65,0,.35,1)}

/* Same full menu as the homepage; retain the accepted in-flow header geometry. */
.page-header{z-index:30}

/* The owner-requested app prototype presents its final CTA without a live destination. */
.prototype-app-button:disabled{opacity:1;cursor:default}
/* The van app's early introduction keeps the same measured editorial rhythm. */
.van-app-section{padding-top:64px;padding-bottom:16px}
.van-app-section .eyebrow{margin-bottom:16px}
.van-app-section h2{margin-bottom:24px}
.van-app-section>p:not(.eyebrow){max-width:760px;margin-inline:auto;line-height:1.8}
.van-app-section .button-row{margin-top:32px;flex-wrap:wrap}
@media(max-width:767px){.van-app-section{padding-top:48px}.van-app-section .button-row{gap:16px}}

/* Only the curated background strips soften into the same-photo extension.
   The mobile garage's middle band stays fully sharp beneath the material panel. */
.feature-scene[data-feature-mode="extension"] .feature-panel{min-height:67.5%;display:flex;flex-direction:column;justify-content:center}
.feature-scene[data-feature-feather="background-edge"] .feature-photo{-webkit-mask-image:linear-gradient(to right,#000 88%,transparent 100%);mask-image:linear-gradient(to right,#000 88%,transparent 100%)}
.feature-scene[data-feature-feather="ceiling-floor"] .feature-photo{-webkit-mask-image:linear-gradient(to right,#000 94%,transparent 100%),linear-gradient(to bottom,transparent 16.25%,#000 16.25% 83.75%,transparent 83.75%);mask-image:linear-gradient(to right,#000 94%,transparent 100%),linear-gradient(to bottom,transparent 16.25%,#000 16.25% 83.75%,transparent 83.75%);-webkit-mask-composite:source-over;mask-composite:add}
@media(max-width:1279px){
 .feature-scene[data-feature-mode="extension"]{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch}
 .feature-scene[data-feature-mode="extension"] .feature-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:3/2;-webkit-mask-image:none;mask-image:none}
 .feature-scene[data-feature-mode="extension"] .feature-panel{width:100%;min-height:0;margin:0;padding:32px}
 .feature-scene[data-feature-mode="extension"] .feature-scene-material{display:none}
}

/* Caption placement follows each actual photograph, not a universal overlay.
   Action photos with no empty area have a real text row and a full-bleed crop. */
.variants-section .variant-card[data-caption-mode="lower"] .variant-cover-copy{top:auto;bottom:max(15%,64px)}
.variants-section .variant-card[data-caption-mode="band"] .variant-toggle{display:grid;grid-template-rows:auto minmax(0,1fr);background:#171717}
.variants-section .variant-card[data-caption-mode="band"] .variant-cover-copy{position:relative;inset:auto;grid-area:1/1;padding:20px 24px;gap:16px;transition:gap .6s cubic-bezier(.65,0,.35,1)}
.variants-section .variant-card[data-caption-mode="band"] .variant-photo{grid-area:2/1;min-height:0;object-fit:cover!important}
.variants-section .variant-card[data-caption-mode="band"] .variant-shade{display:none}
.variants-section .variant-card[data-caption-mode="band"] .variant-subtitle{display:block;max-height:80px;overflow:hidden;transition:max-height .6s cubic-bezier(.65,0,.35,1),opacity .18s}
@media(min-width:1024px){
 .variants-section .variant-card[data-caption-mode="band"].is-open .variant-cover-copy{gap:0}
 .variants-section .variant-card[data-caption-mode="band"].is-open .variant-subtitle{max-height:0;opacity:0}
}
@media(min-width:1440px){.variants-section .variant-card[data-caption-mode="band"] .variant-cover-copy{padding:24px 32px}}
@media(min-width:1920px){.variants-section .variant-card[data-caption-mode="band"] .variant-cover-copy{padding:32px 48px}}
/* Every compact card remains a full-height photograph: complete captions sit on
   a tapered readable gradient, never in an opaque row outside the photo. */
@media(max-width:359px),(min-width:768px) and (max-width:1023px){
 .variants-section .variant-card[data-caption-mode] .variant-toggle{display:block;background:transparent}
 .variants-section .variant-card[data-caption-mode] .variant-photo{display:block;width:100%;height:100%;min-height:0;object-fit:cover!important}
 .variants-section .variant-card[data-caption-mode] .variant-cover-copy{position:absolute;inset:16px 16px auto;padding:0;gap:12px;z-index:1;text-shadow:0 1px 6px #000c}
 .variants-section .variant-card[data-caption-mode="lower"] .variant-cover-copy{top:auto;bottom:max(15%,64px)}
 .variants-section .variant-card[data-caption-mode] .variant-shade{display:block;background:linear-gradient(to bottom,rgba(0,0,0,.72) 0%,rgba(0,0,0,.64) 28%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.12) 70%,rgba(0,0,0,.56) 100%)}
 .variants-section .variant-card[data-caption-mode="lower"] .variant-shade{background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,rgba(0,0,0,.1) 32%,rgba(0,0,0,.72) 48%,rgba(0,0,0,.8) 100%)}
 /* The preserved Ferrari has added empty ceiling; keep compact copy above its face. */
 .variants-section .variant-card[data-caption-mode="lower"]:has(.variant-photo[src*="0092-BLC09351-portrait-bg-"]) .variant-cover-copy{top:16px;bottom:auto}
 .variants-section .variant-card[data-caption-mode="lower"]:has(.variant-photo[src*="0092-BLC09351-portrait-bg-"]) .variant-shade{background:linear-gradient(to bottom,rgba(0,0,0,.72) 0%,rgba(0,0,0,.64) 28%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.12) 70%,rgba(0,0,0,.56) 100%)}
}
/* Detail-dialog photos use their intrinsic height, with no fixed box to letterbox. */
.mobile-variant-image{height:auto;aspect-ratio:auto;align-self:start;object-fit:cover!important;background:transparent}

/* Expanded opening collages: three real foreground photos, two opaque scene echoes.
   Opt-in only: all native three-plane pages, including bodykit, keep their layout. */
.collage.expanded-collage{display:block;position:relative;transform:none;aspect-ratio:3/2;direction:ltr;view-timeline-name:--expanded-collage;view-timeline-axis:block}
.collage.expanded-collage figure{position:absolute;inset:auto;grid-area:auto;margin:0;align-self:auto;overflow:hidden;--parallax-x-start:0;--parallax-x-end:0;--parallax-y-start:0;--parallax-y-end:0}
.collage.expanded-collage figure img{transform:none;inset:0;width:100%;height:100%;max-width:none}
.collage.expanded-collage .collage-main{left:21%;top:0;width:58%;aspect-ratio:16/10;z-index:3}
.collage.expanded-collage .collage-companion{top:42%;width:30%;aspect-ratio:4/3;z-index:4}
.collage.expanded-collage .collage-side-left{left:48px;--parallax-x-start:36;--parallax-x-end:-36}
.collage.expanded-collage .collage-side-right{right:48px;--parallax-x-start:-36;--parallax-x-end:36}
.collage.expanded-collage .collage-rear{top:16%;width:36%;aspect-ratio:4/3;z-index:1;opacity:.72}
.collage.expanded-collage .collage-rear-left{left:14%;--parallax-x-start:18;--parallax-x-end:-18}
.collage.expanded-collage .collage-rear-right{right:14%;--parallax-x-start:-18;--parallax-x-end:18}
.collage.expanded-collage .collage-rear img{inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);filter:blur(7px) brightness(.95)}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.collage.expanded-collage figure{animation-timeline:--expanded-collage}}}
@media(max-width:767px){.collage.expanded-collage .collage-side-left{left:18px;--parallax-x-start:16;--parallax-x-end:-16}.collage.expanded-collage .collage-side-right{right:18px;--parallax-x-start:-16;--parallax-x-end:16}.collage.expanded-collage .collage-rear-left{--parallax-x-start:8;--parallax-x-end:-8}.collage.expanded-collage .collage-rear-right{--parallax-x-start:-8;--parallax-x-end:8}.collage.expanded-collage .collage-rear img{filter:blur(4.5px) brightness(.95)}}
.collage.expanded-collage .collage-main[data-image-shape="portrait"]{left:32%;width:36%;aspect-ratio:2/3}
.collage.expanded-collage[data-companion-shape="portrait"] .collage-companion{width:24%;aspect-ratio:2/3}


/* Restore synchronized three-photo opening without changing the approved grid.
   Expanded five-plane openings keep their own paired tracks and timeline. */
.collage:not(.expanded-collage){view-timeline-name:--service-collage;view-timeline-axis:block}
.collage:not(.expanded-collage) .collage-main{--parallax-x-start:-50;--parallax-x-end:50;--parallax-y-start:-100;--parallax-y-end:100}
.collage:not(.expanded-collage) .collage-portrait{--parallax-x-start:50;--parallax-x-end:-50;--parallax-y-start:100;--parallax-y-end:-100}
.collage:not(.expanded-collage) .collage-detail{--parallax-x-start:0;--parallax-x-end:0;--parallax-y-start:0;--parallax-y-end:0}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.collage:not(.expanded-collage) figure{animation-timeline:--service-collage}}}
@media(max-width:767px){.collage:not(.expanded-collage) .collage-main{--parallax-x-start:-24;--parallax-x-end:24;--parallax-y-start:-40;--parallax-y-end:40}.collage:not(.expanded-collage) .collage-portrait{--parallax-x-start:24;--parallax-x-end:-24;--parallax-y-start:40;--parallax-y-end:-40}}

/* One coherent detailing triplet: no unoccupied second gallery group. */
.gallery-track.detailing-single-triplet{grid-template-columns:calc(var(--unit) * 7 - var(--grid-gap)) calc(var(--unit) * 3 - var(--grid-gap));margin-inline:auto}
.detailing-single-triplet .gallery-image-3{background:#090b0e}
@media(max-width:767px){.gallery-track.detailing-single-triplet{--triplet-small:calc((var(--viewport,100vw) - 2 * var(--gutter) - var(--grid-gap)) / 2);--triplet-large:calc((var(--viewport,100vw) - 2 * var(--gutter)) * .548);grid-template-columns:repeat(2,var(--triplet-small));grid-template-rows:calc(var(--triplet-large) + var(--triplet-small) + var(--grid-gap))}.detailing-single-triplet .gallery-image-1{height:var(--triplet-large)}.detailing-single-triplet .gallery-image-2,.detailing-single-triplet .gallery-image-3{height:var(--triplet-small)}}

/* Mobile-service's seventh portrait occupies a deliberate full-height final column. */
.gallery-track.mobile-service-seven-gallery{grid-template-columns:repeat(2,calc(var(--unit) * 7 - var(--grid-gap)) calc(var(--unit) * 3 - var(--grid-gap))) calc((var(--unit) * 6 - var(--grid-gap)) * 2 / 3)}
.mobile-service-seven-gallery .gallery-image-7{grid-column:5;grid-row:1/3;height:100%;min-height:0;align-self:stretch;aspect-ratio:auto}
@media(max-width:767px){.gallery-track.mobile-service-seven-gallery{grid-template-columns:repeat(4,calc((var(--viewport,100vw) - 24px) / 2)) calc(((var(--viewport,100vw) - 16px) * .548 + (var(--viewport,100vw) - 24px) / 2 + 8px) * 2 / 3)}.mobile-service-seven-gallery .gallery-image-7{grid-column:5;grid-row:1;height:100%;max-height:none;align-self:stretch}}

/* Full-bleed photographic frames: crop real photos, never add letterbox bands.
   Caption rows remain outside the image; transparent product cutouts are not photos. */
.gallery-image img{object-fit:cover}
.variants-section .variant-card[data-caption-mode] .variant-photo{object-fit:cover!important}
.variants-section .variant-card[data-caption-mode] .variant-photo[src*="/assets/section3/van-"]{object-fit:contain!important}

/* Four-photo vehicle collage. Three sharp photographs share deliberate slots;
   one complete rectangular photograph sits behind the center, never a strip.
   The untransformed root is the sole progress anchor. No-script is fully open. */
.photo-collage{
 --collage-drift:0px;--collage-main-left:20%;--collage-main-width:60%;--collage-main-ratio:3/2;--collage-main-top:0%;
 --collage-side-top:25.892857%;--collage-side-width:17%;--collage-side-ratio:2/3;
 --collage-rear-left:22%;--collage-rear-top:35.714286%;--collage-rear-width:56%;--collage-rear-ratio:16/9;
 --collage-side-travel:.08;--collage-side-rise:-.035;--collage-main-drop:.035;
 position:relative;display:block;direction:ltr;isolation:isolate;width:100%;max-width:1440px;height:auto;min-height:0;max-height:none;aspect-ratio:100/56;margin:0 auto;transform:none;view-timeline-name:none;
}
.photo-collage>figure{
 position:absolute;inset:auto;grid-area:auto;align-self:auto;margin:0;width:auto;height:auto;overflow:hidden;opacity:1;animation:none!important;will-change:transform;
}
.photo-collage>figure img{
 position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover!important;transform:none;filter:none;
}
.photo-collage>figure.photo-collage-main{
 left:var(--collage-main-left);top:var(--collage-main-top);width:var(--collage-main-width);aspect-ratio:var(--collage-main-ratio);z-index:3;transform:translate3d(0,calc(var(--collage-drift) * var(--collage-main-drop)),0);
}
.photo-collage>figure.photo-collage-side{
 top:var(--collage-side-top);width:var(--collage-side-width);aspect-ratio:var(--collage-side-ratio);z-index:2;
}
.photo-collage>figure.photo-collage-left{left:0;top:var(--collage-left-top,var(--collage-side-top));transform:translate3d(calc(var(--collage-drift) * var(--collage-side-travel) * var(--collage-left-direction,1)),calc(var(--collage-drift) * var(--collage-left-rise,var(--collage-side-rise))),0)}
.photo-collage>figure.photo-collage-right{right:0;top:var(--collage-right-top,var(--collage-side-top));transform:translate3d(calc(var(--collage-drift) * var(--collage-side-travel) * var(--collage-right-direction,-1)),calc(var(--collage-drift) * var(--collage-right-rise,var(--collage-side-rise))),0)}
.photo-collage>figure.photo-collage-rear{
 left:var(--collage-rear-left);top:var(--collage-rear-top);width:var(--collage-rear-width);aspect-ratio:var(--collage-rear-ratio);z-index:1;transform:none;will-change:auto;background:#141414;pointer-events:none;
}
.photo-collage>figure.photo-collage-rear img{filter:blur(7px)}
/* Editorial image/text pairs: preserve a full-size dominant foreground at
   the lower INNER corner, next to the copy. Only rectangle anchors change;
   source pixels and their orientation never flip. */
.split-photos.photo-collage{
 --collage-main-left:26%;--collage-main-width:74%;--collage-main-top:38.265306%;--collage-main-drop:-.035;
 --collage-side-width:23%;--collage-side-travel:.05;--collage-left-top:53.401361%;--collage-right-top:0%;--collage-left-rise:-.035;--collage-right-rise:.035;
 --collage-rear-left:30%;--collage-rear-top:58.163265%;--collage-rear-width:66%;aspect-ratio:100/98;
}
.technology-section .split-photos.photo-collage{--collage-main-left:0%;--collage-rear-left:4%;--collage-left-direction:-1;--collage-right-direction:1}
.technology-section .split-photos.photo-collage>figure.photo-collage-left{left:auto;right:0}
.technology-section .split-photos.photo-collage>figure.photo-collage-right{right:auto;left:0}
@media(max-width:767px){
 .photo-collage{
  --collage-main-left:14%;--collage-main-width:72%;--collage-side-top:52.970297%;--collage-side-width:28%;
  --collage-rear-left:18%;--collage-rear-top:24.752475%;--collage-rear-width:64%;
  --collage-side-travel:.08;--collage-side-rise:-.055;aspect-ratio:100/101;
 }
 .photo-collage>figure.photo-collage-rear img{filter:blur(4.5px)}
}
@media(prefers-reduced-motion:reduce){.photo-collage>figure{transform:none!important;will-change:auto}}

/* Subtle photo inspection: scroll transforms stay on figures, while the inner
   surface alone zooms/lifts. Stack restoration waits for the return fade. */
.photo-collage>figure[data-collage-interactive]{overflow:visible;pointer-events:auto;outline:none}
.photo-collage-surface{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;transform:translate3d(0,0,0) scale(1);transform-origin:50% 50%;box-shadow:0 0 0 #0000;transition:transform 360ms cubic-bezier(.2,.7,.2,1),box-shadow 360ms ease}
.photo-collage>figure[data-collage-interactive] img{transition:filter 360ms ease}
.photo-collage>figure.is-collage-returning{z-index:4}
.photo-collage>figure.is-collage-active{z-index:5}
.photo-collage>figure.is-collage-active .photo-collage-surface{transform:translate3d(0,-3px,0) scale(1.025);box-shadow:0 12px 26px #0003}
.photo-collage>figure.photo-collage-rear.is-collage-active img{filter:blur(0)}
.photo-collage>figure[data-collage-interactive]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
@media(prefers-reduced-motion:reduce){.photo-collage-surface,.photo-collage>figure[data-collage-interactive] img{transition:none}.photo-collage>figure.is-collage-active .photo-collage-surface{transform:none;box-shadow:none}}

/* Editorial correction: two actual, overlapping photographs only. The main
   stays lower and nearest the copy; only anchors mirror, never image pixels. */
.split-photos.photo-collage.photo-collage-pair{
 --collage-main-left:16%;--collage-main-width:84%;--collage-main-top:21.621622%;--collage-main-drop:-.025;
 --collage-rear-left:0%;--collage-rear-top:0%;--collage-rear-width:84%;--collage-rear-ratio:3/2;aspect-ratio:100/74;
}
.technology-section .split-photos.photo-collage.photo-collage-pair{--collage-main-left:0%;--collage-rear-left:16%}
.split-photos.photo-collage.photo-collage-pair>figure.photo-collage-rear{transform:translate3d(0,calc(var(--collage-drift) * .025),0)}
.split-photos.photo-collage.photo-collage-pair>figure.photo-collage-rear img{filter:blur(3px)}
.split-photos.photo-collage.photo-collage-pair>figure.photo-collage-rear.is-collage-active img{filter:blur(0)}
/* The revealing mask must include the backing color as well as the photo. */
.photo-collage>figure.photo-collage-rear[data-collage-interactive]{background:transparent}
.photo-collage-rear>.photo-collage-surface{background:#141414}
/* Enlarge opening portraits and tuck their inner edges slightly under the
   main photo. The main stays dominant; viewport margins remain safe. */
.collage.photo-collage{--opening-side-inset:4.5%;--opening-portrait-growth:clamp(0px,3vw,calc(var(--gutter) - 12px));--collage-side-width:calc(17% + var(--opening-portrait-growth));--collage-side-top:calc(25.892857% - var(--opening-portrait-growth) * 1.5)}
.collage.photo-collage>figure.photo-collage-left{left:calc(var(--opening-side-inset) - var(--opening-portrait-growth))}
.collage.photo-collage>figure.photo-collage-right{right:calc(var(--opening-side-inset) - var(--opening-portrait-growth))}
@media(max-width:767px){
 .collage.photo-collage{--opening-side-inset:0%;--opening-portrait-growth:0px;--collage-side-width:34%;--collage-side-top:44.607843%;--collage-rear-top:24.509804%;aspect-ratio:100/102}
 .split-photos.photo-collage.photo-collage-pair>figure.photo-collage-rear img{filter:blur(2px)}
 .split-photos.photo-collage.photo-collage-pair>figure.photo-collage-rear.is-collage-active img{filter:blur(0)}
}

/* Restore the original portrait editorial pair, at full image-column scale.
   Frame anchors remain textward; the shared reveal masks adapt to these bounds. */
.split-photos.photo-collage.photo-collage-pair{
 --collage-main-ratio:3/4;--collage-rear-ratio:3/4;--collage-main-top:12.307692%;aspect-ratio:100/130;
}

/* All horizontal controls use the same existing shafted arrow geometry. */
.rail-controls button[data-variant-prev],.rail-controls button[data-variant-next],.rail-controls button[data-gallery-prev],.rail-controls button[data-gallery-next],.gallery-dialog-controls button[data-lightbox-prev],.gallery-dialog-controls button[data-lightbox-next]{display:grid;place-items:center}
.rail-controls button svg,.gallery-dialog-controls button svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}

/* Slightly enlarge the complete opening composition, not individual photos.
   Keep its measured root in normal flow and preserve all four slot ratios. */
.collage-section{padding-inline:clamp(12px,calc(var(--gutter) * .25),20px)}
.collage-section>.collage.photo-collage{max-width:1560px}
@media(max-width:767px){.collage-section{padding-inline:10px}}

/* PPF only: one authorized third three-photo group after Volvo, same geometry. */
#ppf-more-projects[data-gallery-count="9"] .gallery-track{grid-template-columns:repeat(3,calc(var(--unit) * 7 - var(--grid-gap)) calc(var(--unit) * 3 - var(--grid-gap)))}
#ppf-more-projects[data-gallery-count="9"] .gallery-image-7{grid-column:5;grid-row:1/3;height:auto;aspect-ratio:4/3}
#ppf-more-projects[data-gallery-count="9"] .gallery-image-8{grid-column:6;grid-row:1}
#ppf-more-projects[data-gallery-count="9"] .gallery-image-9{grid-column:6;grid-row:2}
@media(max-width:767px){
 #ppf-more-projects[data-gallery-count="9"] .gallery-track{grid-template-columns:repeat(6,calc((var(--viewport,100vw) - 24px) / 2))}
 #ppf-more-projects[data-gallery-count="9"] .gallery-image-7{grid-column:5/7;grid-row:1;height:calc((var(--viewport) - 16px) * .548);aspect-ratio:auto;align-self:start}
 #ppf-more-projects[data-gallery-count="9"] .gallery-image-8{grid-column:5;grid-row:1;height:calc((var(--viewport) - 24px) / 2);align-self:end}
 #ppf-more-projects[data-gallery-count="9"] .gallery-image-9{grid-column:6;grid-row:1;height:calc((var(--viewport) - 24px) / 2);align-self:end}
}
