@charset "UTF-8";
@font-face{font-family:Manrope;src:url("manrope-latin.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap;}
:root{--ink:#111820;--paper:#f0f3f5;--lime:#79c9f5;--muted:#727b84;--line:#d7dfe5;--darkline:#33424d;--radius:18px;--max:1360px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;height:auto;display:block}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid #1f75aa;outline-offset:5px}.skip{position:fixed;top:-100px;left:12px;background:var(--lime);padding:12px;z-index:1000}.skip:focus{top:10px}.wrap{width:min(var(--max),calc(100% - 96px));margin:auto}.site-header{background:var(--ink);color:white;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--darkline)}.header-inner{height:90px;display:flex;align-items:center;gap:36px}.brand{width:172px;flex-shrink:0}.brand img{width:172px;height:54px;object-fit:contain}.nav{display:flex;gap:28px;align-items:center;margin-left:auto;font-size:14px}.nav a{padding:8px 0;color:#c4d0d9;position:relative}.nav a:hover,.nav a[aria-current=page]{color:var(--lime)}.nav a[aria-current=page]:after{content:"";position:absolute;bottom:1px;left:0;width:100%;height:2px;background:var(--lime)}.header-cta{background:var(--lime);color:var(--ink);padding:11px 18px;border-radius:50px;font-size:13px;font-weight:700;white-space:nowrap}.menu-toggle{display:none;background:none;border:1px solid #4b6477;border-radius:50%;width:45px;height:45px;color:white}.topnote{font-size:11px;letter-spacing:.09em;text-align:center;padding:7px;background:var(--lime);color:var(--ink)}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700;margin:0 0 28px}.eyebrow:before{content:"";width:7px;height:7px;background:currentColor;border-radius:50%;flex-shrink:0}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-weight:600;line-height:1.06;letter-spacing:-.045em}h1{font-size:clamp(42px,5.8vw,88px);margin-bottom:28px}h2{font-size:clamp(34px,4.4vw,64px);margin-bottom:24px}h3{font-size:28px;letter-spacing:-.035em}em{font-family:inherit;font-weight:600;font-style:normal}.lead{font-size:19px;line-height:1.6;max-width:630px;color:#5d6d79}.btn{display:inline-flex;justify-content:center;align-items:center;gap:26px;min-height:52px;border-radius:50px;padding:13px 24px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:14px;font-weight:600;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-3px);background:#233d50}.btn.lime{background:var(--lime);border-color:var(--lime);color:var(--ink)}.btn.outline{background:transparent;color:var(--ink);border-color:#9eb2c0}.btn.light{background:white;color:var(--ink);border-color:white}.btn .arrow{font-size:22px;font-weight:400;line-height:1}.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hero{background:var(--ink);color:var(--paper);overflow:hidden}.hero-grid{min-height:690px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:30px;padding-top:54px;padding-bottom:48px}.hero .eyebrow{color:var(--lime)}.hero h1{font-size:clamp(56px,6.2vw,94px);max-width:750px;line-height:1.02}.hero h1 em{color:var(--lime)}.hero .lead{color:#adc1ce;font-size:17px;max-width:485px}.hero .btn.outline{color:white;border-color:#527289}.hero-art{position:relative;isolation:isolate;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:540px}.hero-art:before{content:"";position:absolute;inset:15% 3%;border-radius:50%;background:radial-gradient(ellipse,#285a7d 0%,#182b39 46%,transparent 70%);z-index:-1}.hero-art>img{height:600px;width:100%;object-fit:cover;object-position:44% center;mix-blend-mode:lighten;border-radius:50% 50% 30% 30%}.orbital{position:absolute;inset:10% -5%;border:1px solid #7eabc650;border-radius:50%;transform:rotate(-28deg);pointer-events:none}.orbital.two{inset:19% -12%;transform:rotate(40deg);border-color:#5e8fae50}.art-label{position:absolute;background:#1a3041e8;backdrop-filter:blur(12px);border:1px solid #416b87;color:#dfedf5;border-radius:12px;padding:13px 18px;font-size:12px;letter-spacing:.03em;box-shadow:0 20px 50px #0003}.art-label span{display:block;font-size:10px;text-transform:uppercase;color:var(--lime);letter-spacing:.1em}.art-label.one{left:0;top:18%;transform:rotate(-5deg)}.art-label.two{bottom:12%;right:0;transform:rotate(4deg)}.hero-bottom{border-top:1px solid var(--darkline);padding:24px 0;display:flex;justify-content:space-between;gap:24px;color:#adc4d3;font-size:12px}.hero-bottom span{display:flex;align-items:center;gap:8px}.hero-bottom b{font-weight:400;color:var(--lime);font-size:18px}.ticker{border-bottom:1px solid var(--line);padding:22px 0;overflow:hidden;display:flex;gap:40px;justify-content:space-around;font-size:12px;text-transform:uppercase;letter-spacing:.11em;white-space:nowrap}.ticker i{color:#2a83b9;font-style:normal}.section{padding:105px 0}.section.compact{padding:68px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:46px}.section-head h2{max-width:780px;margin-bottom:0}.section-head p{max-width:320px;color:#657786;font-size:15px;margin-bottom:3px}.text-link{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid currentColor;padding:5px 0;font-size:14px;white-space:nowrap}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{position:relative;border:1px solid var(--line);padding:30px;min-height:340px;display:flex;flex-direction:column;border-radius:var(--radius);transition:background .25s,transform .25s}.service-card:hover{background:white;transform:translateY(-6px)}.service-card.featured{background:var(--lime);border-color:var(--lime)}.service-card .num{font-size:12px;color:#637a89;margin-bottom:45px;display:flex;justify-content:space-between}.service-card .num span:last-child{font-size:25px;line-height:1}.service-card h3{font-size:31px;max-width:270px}.service-card p{color:#5a6f7c;font-size:14px;max-width:300px}.chips{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap}.chips span{font-size:10px;padding:4px 9px;border:1px solid #a9becb;border-radius:20px;white-space:nowrap}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.split.reverse .visual{order:2}.visual{overflow:hidden;border-radius:var(--radius);background:#d8e3e9;position:relative;min-height:420px}.visual img{width:100%;height:100%;min-height:420px;object-fit:cover}.visual.dark{background:var(--ink)}.visual.dark img{mix-blend-mode:lighten}.dark-section{background:var(--ink);color:var(--paper)}.dark-section .lead,.dark-section p{color:#a7bfce}.dark-section .eyebrow{color:var(--lime)}.dark-section .text-link{color:var(--lime)}.dark-section .btn.outline{color:white;border-color:#57788e}.nfc-art{background:#d9eaf4;min-height:480px;display:grid;place-items:center;isolation:isolate;overflow:hidden;position:relative}.nfc-art:before,.nfc-art:after{content:"";position:absolute;border:1px solid #9fbccc;border-radius:50%;width:520px;height:520px;z-index:-1}.nfc-art:after{width:370px;height:370px}.nfc-art img{width:78%;height:380px;min-height:0;object-fit:contain;filter:drop-shadow(10px 25px 22px #23445a26);transform:rotate(-9deg)}.nfc-note{position:absolute;bottom:26px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:center;background:#fff9;border:1px solid #fffa;padding:14px 20px;border-radius:12px;font-size:12px}.nfc-note strong{font-size:18px}.mini-list{padding:0;list-style:none;margin:26px 0}.mini-list li{border-top:1px solid var(--line);padding:13px 0;display:flex;gap:12px;font-size:14px}.mini-list li:before{content:'↗';color:#2581bb}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-card{display:block}.project-image{height:375px;overflow:hidden;border-radius:var(--radius);background:#162632}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}.project-card:hover img{transform:scale(1.05)}.project-info{display:flex;justify-content:space-between;align-items:start;padding:23px 0;border-bottom:1px solid var(--line)}.project-info h3{margin:0 0 9px;font-size:29px}.project-info p{font-size:12px;color:#677d8b;margin:0}.round-arrow{border:1px solid #a3bac8;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-size:22px;flex-shrink:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:55px}.step{border-top:1px solid #637c8d;padding-top:24px}.step .num{font-family:Manrope,sans-serif;color:var(--lime);font-size:34px;margin-bottom:30px}.step h3{font-size:24px;margin-bottom:15px}.step p{font-size:14px}.cta-panel{background:var(--lime);border-radius:24px;padding:65px 64px;display:flex;gap:40px;align-items:center;justify-content:space-between}.cta-panel h2{max-width:700px;margin:0;font-size:clamp(37px,4vw,60px)}.cta-panel p{font-size:14px;max-width:350px;margin-bottom:22px}.site-footer{background:var(--ink);color:#c9d1c3;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:50px}.footer-grid .brand{display:block;margin-bottom:22px}.footer-grid p{font-size:13px;max-width:280px;color:#94adbe}.footer-grid h2{font-size:11px;font-family:Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:var(--lime);margin:12px 0 25px}.footer-grid a:not(.brand){display:block;font-size:13px;padding:4px 0}.footer-grid a:hover{color:var(--lime)}.footer-bottom{margin-top:55px;border-top:1px solid var(--darkline);padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#839fb2}.footer-bottom a{margin-left:20px}.mobile-contact{display:none}.page-hero{padding:74px 0 66px;border-bottom:1px solid var(--line)}.page-hero .eyebrow{color:#2475a4;margin-bottom:25px}.page-hero h1{max-width:1020px}.breadcrumb{font-size:11px;color:#79816f;margin-bottom:35px}.breadcrumb a{text-decoration:underline}.page-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:start}.page-grid .lead{font-size:18px}.page-grid .visual{min-height:360px}.page-grid .visual img{min-height:360px;height:400px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.detail-card{border-top:1px solid #9fb9c9;padding-top:25px}.detail-card h3{font-size:25px}.detail-card p{font-size:14px;color:#607887}.faq{max-width:900px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:18px;line-height:1.5}.faq summary:after{content:'+';font-size:25px}.faq details[open] summary:after{content:'−'}.faq p{font-size:15px;margin:18px 50px 4px 0;color:#5b7788}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:30px}.filter{border:1px solid #adc4d2;background:transparent;border-radius:40px;padding:10px 18px;font-size:12px}.filter.active,.filter[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.search-box{margin-left:auto;position:relative}.search-box input{background:transparent;border:1px solid #afc3d1;border-radius:30px;padding:10px 16px;max-width:230px;outline-offset:3px}.catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.product-card{display:flex;flex-direction:column;background:#fafcfd;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.product-card[hidden]{display:none}.product-image{position:relative;background:#e4ebf0;overflow:hidden;display:block}.product-image img{aspect-ratio:1.15;object-fit:contain;width:100%;padding:28px;mix-blend-mode:multiply;transition:transform .4s}.product-card:hover .product-image img{transform:scale(1.04)}.product-tag{position:absolute;top:15px;left:15px;background:var(--lime);padding:5px 10px;border-radius:20px;font-size:10px}.product-body{padding:25px;display:flex;flex-direction:column;flex:1}.product-body h2,.product-body h3{font-size:23px;line-height:1.2;letter-spacing:-.035em;margin-bottom:12px}.product-body p{font-size:12px;color:#617b8a;margin-bottom:15px}.product-price{font-size:25px;font-weight:500;letter-spacing:-.04em;margin-top:auto;margin-bottom:18px}.product-price del{font-size:14px;color:#7e9aab;margin-right:10px}.product-body .btn{min-height:43px;font-size:12px}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px}.product-detail .visual{background:#e1eaf0;min-height:480px}.product-detail .visual img{object-fit:contain;min-height:480px;padding:40px;mix-blend-mode:multiply}.product-detail h1{font-size:49px}.product-detail .product-price{font-size:39px;margin:20px 0}.product-detail .desc{font-size:16px;color:#5b7688}.product-benefits{display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;margin-top:25px;font-size:11px;color:#5e7b8d}.notice{border:1px solid #a3c4d8;background:#e1eef6;border-radius:12px;padding:18px 22px;font-size:13px;line-height:1.6;margin-bottom:26px}.contact-panel{background:white;border:1px solid var(--line);padding:35px;border-radius:var(--radius)}.contact-panel label{font-size:12px;font-weight:600;display:block;margin-bottom:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{margin-bottom:20px}.contact-panel input,.contact-panel select,.contact-panel textarea{border:1px solid #b8cddc;background:#fafcfd;color:var(--ink);padding:13px 15px;border-radius:8px;min-width:0;width:100%;font-size:15px}.contact-panel textarea{min-height:130px;resize:vertical}.contact-panel .consent{display:flex;align-items:start;gap:12px;font-size:11px;font-weight:400;line-height:1.5;color:#617f92}.consent input{width:18px;flex-shrink:0}.contact-panel .btn{width:100%}.hp{position:absolute;left:-9999px;opacity:0}.contact-line{border-top:1px solid var(--line);padding:22px 0}.contact-line small{font-size:11px;text-transform:uppercase;letter-spacing:.1em;display:block;color:#6a889b;margin-bottom:10px}.contact-line a{font-size:25px;letter-spacing:-.035em}.contact-line p{margin:0}.shelf{padding:24px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;font-size:12px;justify-content:space-between}.empty-result{padding:40px;text-align:center;border:1px solid var(--line);border-radius:15px;grid-column:1/-1}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:var(--radius)}.big-type{font-size:clamp(90px,18vw,260px);line-height:.8;letter-spacing:-.09em;color:var(--lime);margin:0 0 45px}.reveal{opacity:1}.js .reveal.pending{opacity:0;transform:translateY(22px)}.js .reveal{transition:opacity .7s,transform .7s}.js .reveal.in{opacity:1;transform:none}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);max-width:90%;background:var(--ink);color:white;border:1px solid #4d83a7;padding:15px 22px;border-radius:12px;z-index:200;font-size:13px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
/* WooCommerce shares the design system, with checkout handled by the commerce engine. */
.woocommerce{padding:50px 0}.woocommerce .products{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0;list-style:none}.woocommerce .products .product{float:none!important;width:100%!important;margin:0!important}.woocommerce .button,.woocommerce button.button,.woocommerce a.button{background:var(--ink);color:white;padding:14px 22px;border-radius:30px;border:0;line-height:1.3}.woocommerce a.button:hover{background:#35472a;color:white}.woocommerce .quantity input{padding:12px;width:85px;border:1px solid var(--line);border-radius:8px}.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{padding:12px;border:1px solid #abc6d8;border-radius:7px;max-width:100%}.woocommerce div.product .product_title{font-size:48px}.woocommerce div.product p.price{color:#226e9d;font-size:32px}.woocommerce div.product div.images img{object-fit:contain;background:#e1ebf2;border-radius:18px}.woocommerce table.shop_table{border:1px solid var(--line);border-radius:12px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:22px}.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:#2b83ba;background:#dcecf6}.woocommerce-message::before,.woocommerce-info::before{color:#1f74aa}.woocommerce form .form-row label{display:block}.woocommerce .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:24px}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:100%;float:none}.woocommerce #payment{background:#dceaf4}.woocommerce-order{max-width:1000px}.woocommerce .product_meta{font-size:12px;color:#63879d;margin-top:25px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0}.woocommerce .related.products{clear:both;padding-top:65px}.woocommerce .related h2{font-size:35px}.woocommerce .woocommerce-breadcrumb{font-size:12px}.woocommerce .woocommerce-result-count{font-size:13px}.woocommerce .woocommerce-ordering select{font-size:13px}.woocommerce span.onsale{background:var(--lime);color:var(--ink);border-radius:30px;padding:3px 14px;min-height:0;line-height:2}.woocommerce .cart-collaterals .cart_totals{float:none;width:100%;max-width:550px;margin-left:auto}.woocommerce .woocommerce-tabs h2{font-size:30px}.woocommerce-cart .entry-title,.woocommerce-checkout .entry-title{font-size:56px}.wp-site-blocks{margin:0}.article-body{max-width:850px;margin:0 auto;padding:60px 0}.article-body h2{font-size:36px}.article-body h3{font-size:27px}.article-body img{border-radius:14px}.entry-title{font-size:60px}.cookie-link{text-decoration:underline}.wp-admin-bar~.site-header{top:32px}
@media(min-width:1600px){.hero-grid{min-height:740px}.hero-art>img{height:650px}}@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.header-inner{gap:20px}.nav{gap:17px;font-size:12px}.brand,.brand img{width:145px}.hero-grid{min-height:610px}.hero h1{font-size:70px}.hero-art>img{height:500px}.hero-art{min-height:470px}.split{gap:45px}.service-card{padding:24px}.services-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{gap:25px}.section{padding:80px 0}.page-grid{gap:35px}.product-detail{gap:35px}.project-image{height:310px}.contact-line a{font-size:21px}}@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header-inner{height:73px;gap:15px}.brand,.brand img{width:140px}.brand img{height:43px}.header-cta{margin-left:auto;font-size:11px;padding:10px 14px}.menu-toggle{display:block;flex-shrink:0;margin-left:auto}.nav{position:absolute;left:0;right:0;top:73px;background:var(--ink);padding:20px;display:none;flex-direction:column;gap:0;align-items:stretch;border-top:1px solid #314d61}.nav.open{display:flex}.nav a{padding:14px 0;border-bottom:1px solid #263c4d;font-size:17px}.nav a[aria-current=page]:after{display:none}.hero-grid{grid-template-columns:1fr;gap:15px;padding-top:42px;padding-bottom:20px}.hero h1{font-size:clamp(50px,10vw,77px);max-width:650px}.hero .lead{font-size:16px;max-width:540px}.hero-art{min-height:360px;max-width:550px;width:100%;margin:auto}.hero-art>img{height:390px;width:90%}.art-label.one{left:3%;top:13%}.art-label.two{right:2%;bottom:8%}.hero-bottom{flex-wrap:wrap;gap:14px;font-size:10px}.ticker{gap:25px;justify-content:start;padding-left:20px;font-size:10px}.section{padding:65px 0}.section-head{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.section-head p{max-width:500px}.services-grid{gap:12px}.service-card{min-height:300px}.service-card h3{font-size:28px}.service-card .num{margin-bottom:35px}.split,.page-grid,.product-detail{grid-template-columns:1fr;gap:35px}.split.reverse .visual{order:0}.visual{min-height:320px}.visual img{min-height:320px}.nfc-art{min-height:400px}.projects-grid{gap:16px}.project-image{height:240px}.project-info h3{font-size:24px}.steps{grid-template-columns:1fr 1fr;gap:25px}.step .num{margin-bottom:20px}.cta-panel{padding:38px;flex-direction:column;align-items:start;gap:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-bottom{margin-bottom:40px;flex-direction:column}.footer-bottom a{margin-left:0;margin-right:15px}.mobile-contact{display:flex;position:fixed;bottom:12px;left:20px;right:20px;background:var(--ink);color:white;border:1px solid #5287a9;border-radius:35px;z-index:90;box-shadow:0 5px 30px #0002;min-height:48px;font-size:12px;align-items:center;justify-content:space-around}.mobile-contact a{padding:10px 14px}.mobile-contact a:first-child{color:var(--lime)}.page-hero{padding:45px 0}.page-hero h1{font-size:52px}.catalog{grid-template-columns:1fr 1fr;gap:15px}.product-body{padding:20px}.product-body h2,.product-body h3{font-size:21px}.product-image img{padding:15px}.detail-grid{grid-template-columns:1fr;gap:20px}.search-box{margin:15px 0 0;width:100%}.search-box input{max-width:none;width:100%}.product-detail h1{font-size:43px}.product-detail .visual,.product-detail .visual img{min-height:350px}.product-detail .visual img{max-height:450px}.woocommerce .products{grid-template-columns:1fr 1fr}.woocommerce .col2-set{grid-template-columns:1fr}.shelf{flex-wrap:wrap;gap:10px}.gallery{gap:12px}}@media(max-width:480px){h2{font-size:37px}.hero h1{font-size:57px}.hero .eyebrow{font-size:9px;letter-spacing:.11em}.hero-art{min-height:315px}.hero-art>img{height:340px}.hero-grid{padding-top:34px}.hero .lead{font-size:15px}.hero .button-row{gap:9px}.hero .btn{font-size:12px;min-height:47px;padding:12px 18px;gap:14px}.hero-bottom span:last-child{display:none}.services-grid{grid-template-columns:1fr}.service-card{min-height:270px;padding:27px}.service-card .num{margin-bottom:30px}.service-card h3{max-width:330px;font-size:34px}.service-card p{max-width:100%}.chips{margin-top:16px}.projects-grid{grid-template-columns:1fr;gap:30px}.project-image{height:290px}.steps{grid-template-columns:1fr 1fr;gap:25px 20px}.step h3{font-size:22px}.step p{font-size:12px}.cta-panel{padding:31px 25px}.cta-panel h2{font-size:38px}.footer-grid{gap:30px 22px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.catalog{gap:12px}.product-body{padding:14px}.product-body h2,.product-body h3{font-size:18px}.product-body p{font-size:11px}.product-price{font-size:23px}.product-body .btn{padding:10px;font-size:11px;gap:10px}.product-image img{padding:12px;aspect-ratio:1}.product-tag{top:9px;left:9px;font-size:8px;padding:4px 7px}.page-hero h1{font-size:43px}.form-row{grid-template-columns:1fr;gap:0}.contact-panel{padding:23px}.header-cta{font-size:10px;padding:9px 12px}.header-inner{gap:10px}.brand,.brand img{width:125px}.menu-toggle{width:38px;height:38px}.nfc-art{min-height:360px}.nfc-art img{height:290px}.nfc-note{left:17px;right:17px;bottom:17px}.visual,.visual img{min-height:290px}.product-detail .visual,.product-detail .visual img{min-height:300px}.product-detail .visual img{padding:20px}.product-detail h1{font-size:37px}.woocommerce div.product .product_title{font-size:36px}.gallery{grid-template-columns:1fr}}
:root{--yellow:#f4d35e}
.hero .eyebrow,.dark-section .eyebrow,.art-label span{color:var(--yellow)}
.hero .btn.lime{background:var(--yellow);border-color:var(--yellow)}
.hero-bottom b,.ticker i{color:#d2a92d}
.cta-panel{background:var(--yellow)}
.service-card:nth-child(4) .num span:last-child,.service-card:nth-child(6) .num span:last-child{color:#287fb2}
.service-card.featured .num span:last-child{color:#153a52}
.step:nth-child(even) .num{color:var(--yellow)}
.product-card:nth-child(even) .product-tag{background:var(--yellow)}
.footer-grid h2{color:var(--yellow)}
.header-cta{background:var(--yellow)}
.page-hero .eyebrow:before{background:#d5ad2f}
.nfc-note strong{color:#2b709e}
.mobile-contact a:first-child{color:var(--yellow)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal.pending{opacity:1;transform:none}}
.site-header .header-inner{position:relative}.site-header .menu-toggle{display:flex;align-items:center;justify-content:center;gap:15px;margin-left:auto;width:auto;height:46px;padding:0 20px;border:1px solid #587183;border-radius:30px;background:#1c2933;transition:background .2s,border-color .2s}.menu-label{font-size:13px;font-weight:600}.menu-lines{position:relative;width:20px;height:14px}.menu-lines i{position:absolute;left:0;top:3px;width:20px;height:1.5px;background:var(--lime);transition:transform .25s,top .25s}.menu-lines i:last-child{top:10px;width:14px}.menu-toggle[aria-expanded=true] .menu-lines i{top:6px;transform:rotate(45deg);width:20px}.menu-toggle[aria-expanded=true] .menu-lines i:last-child{transform:rotate(-45deg)}.site-header .menu-toggle:hover{background:#283d4c;border-color:var(--lime)}.site-header .nav{position:absolute;top:calc(100% + 12px);left:auto;right:0;width:460px;max-width:calc(100vw - 40px);display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:0;padding:20px;background:#14212cf5;backdrop-filter:blur(24px);border:1px solid #456074;border-radius:22px;box-shadow:0 24px 65px #07101955;opacity:0;visibility:hidden;transform:translateY(-12px) scale(.98);transform-origin:top right;transition:opacity .22s,transform .22s,visibility .22s;max-height:calc(100dvh - 115px);overflow-y:auto;overscroll-behavior:contain}.site-header .nav.open{opacity:1;visibility:visible;transform:none}.nav-heading{padding:7px 10px 17px;border-bottom:1px solid #334654;margin-bottom:7px}.nav-heading>span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--yellow)}.nav-heading>small{display:block;font-size:11px;color:#91a6b5;margin-top:5px}.site-header .nav a{display:flex;align-items:center;gap:16px;padding:13px 12px;border:1px solid transparent;border-radius:13px;color:#ecf4f8;transition:background .2s,border-color .2s,transform .2s}.site-header .nav a:after{display:none}.site-header .nav a:hover,.site-header .nav a[aria-current=page]{background:#233746;border-color:#3c586a;color:white}.nav-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:#79c9f512;border:1px solid #79c9f533;border-radius:12px;color:var(--lime)}.nav-icon svg{width:23px;height:23px}.nav a:nth-of-type(even) .nav-icon{background:#f4d35e10;border-color:#f4d35e33;color:var(--yellow)}.nav-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.nav-copy strong{font-size:17px;font-weight:600;letter-spacing:-.02em}.nav-copy small{font-size:11px;color:#a9bfce;line-height:1.5}.nav-arrow{margin-left:auto;color:#8eacbe;transition:transform .2s,color .2s}.nav a:hover .nav-arrow{transform:translate(2px,-2px);color:var(--yellow)}@media(max-width:480px){.site-header .nav{right:0;padding:14px;top:calc(100% + 8px);max-height:calc(100dvh - 95px)}.site-header .nav a{padding:11px 8px;gap:12px}.nav-copy strong{font-size:16px}.nav-copy small{font-size:10px}.site-header .menu-toggle{padding:0 15px;height:40px}}@media(prefers-reduced-motion:reduce){.site-header .nav,.menu-lines i,.nav-arrow{transition:none}}
/* Product photographs: original Wix galleries, accessible controls and zoom. */
.product-gallery{min-width:0}.product-gallery .gallery-main{position:relative;width:100%;border:1px solid var(--line);padding:0;cursor:zoom-in;display:block}.product-gallery .gallery-main img{width:100%;height:clamp(300px,38vw,540px);min-height:0;object-fit:contain;padding:30px;mix-blend-mode:normal}.gallery-zoom{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--lime);font-size:23px}.gallery-toolbar{display:flex;justify-content:center;align-items:center;gap:22px;padding:14px 0;font-size:12px}.gallery-toolbar button{width:38px;height:38px;border-radius:50%;border:1px solid #9ab6c9;background:transparent;color:inherit}.gallery-toolbar button:hover{background:var(--lime);color:var(--ink)}.gallery-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.gallery-thumb{padding:4px;border:2px solid transparent;border-radius:12px;background:#e1eaf0;overflow:hidden;transition:border-color .2s,background .2s}.gallery-thumb[aria-pressed=true]{border-color:#2479aa;background:#d0e9f7}.gallery-thumb img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:7px}.gallery-thumb:hover{border-color:#82a8c0}.gallery-dialog{width:min(1050px,94vw);max-height:94dvh;padding:46px 20px 14px;border:1px solid #4f6a7d;border-radius:20px;background:#111c26;color:white}.gallery-dialog::backdrop{background:#050b12d9;backdrop-filter:blur(8px)}.gallery-dialog>img{width:100%;height:min(70dvh,800px);object-fit:contain}.gallery-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:1px solid #6c8799;border-radius:50%;background:#213442;color:white;font-size:25px;line-height:1}.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}.woocommerce div.product div.images .flex-control-thumbs li{width:auto;float:none;margin:0;border-radius:10px;overflow:hidden}.woocommerce div.product div.images .flex-control-thumbs li img{border:2px solid transparent;opacity:.6;border-radius:10px;aspect-ratio:1;object-fit:contain}.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{border-color:#2479aa;opacity:1}@media(max-width:480px){.product-gallery .gallery-main img{height:320px;padding:20px}.gallery-thumbs{gap:7px}.gallery-dialog{padding:45px 10px 8px}.gallery-dialog .gallery-toolbar{gap:10px;font-size:10px}}@media(prefers-reduced-motion:reduce){.gallery-thumb{transition:none}}
/* A compact storefront: one introduction, one toolbar, products first. */
.shop-intro{padding:46px 0 30px}.shop-intro .eyebrow{color:#28688f;font-size:10px;margin-bottom:17px}.shop-intro h1{font-size:clamp(36px,4.2vw,60px);line-height:1.08;letter-spacing:-.045em;margin-bottom:14px;max-width:800px}.shop-intro h1 br{display:none}.shop-intro h1 em{color:#236b98}.shop-intro>div>p:last-child{font-size:15px;color:#5f7382;max-width:650px;margin:0}.shop-products{padding:0 0 32px}.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.shop-toolbar .filters{display:flex;flex-wrap:nowrap;gap:4px;margin:0;padding:4px;background:#e1e7ec;border-radius:12px}.shop-toolbar .filter{border:0;border-radius:8px;padding:9px 15px;font-size:12px;font-weight:600;white-space:nowrap}.shop-toolbar .filter:hover{background:#cbdde9}.shop-toolbar .filter.active{background:var(--ink);color:white}.shop-toolbar .search-box{display:flex;align-items:center;gap:8px;margin:0;width:250px;flex-shrink:0;background:#fafcfd;border:1px solid #ccd7df;border-radius:10px;padding:0 12px}.shop-toolbar .search-box svg{width:18px;height:18px;flex-shrink:0;color:#6b8495}.shop-toolbar .search-box input{border:0;border-radius:10px;width:100%;max-width:none;min-width:0;padding:11px 0;font-size:13px;background:transparent}.shop-category{display:none}.shop-results{display:flex;align-items:center;justify-content:space-between;padding:15px 0;font-size:11px;color:#647b8a}.shop-results p{margin:0}.shop-results a{text-decoration:underline;text-underline-offset:3px}.shop-page .catalog{gap:20px}.shop-page .product-card{border-radius:15px;background:#fff;border-color:#dce3e8;transition:box-shadow .2s,border-color .2s}.shop-page .product-card:hover{border-color:#a2becf;box-shadow:0 9px 25px #1734480a}.shop-page .product-image{background:#e8edf1}.shop-page .product-image img{aspect-ratio:1.25;padding:22px;mix-blend-mode:normal}.shop-page .product-body{padding:20px}.shop-page .product-body h3{font-size:22px;line-height:1.25;min-height:2.5em;margin-bottom:8px}.shop-page .product-body>p{font-size:11px;line-height:1.5;margin-bottom:14px}.shop-page .product-price{font-size:26px;margin-bottom:14px;font-weight:600;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.shop-page .product-price del{font-size:14px;font-weight:400;margin:0}.shop-page .product-price ins{text-decoration:none}.product-body .btn.product-button{min-height:40px;gap:0;padding:9px 14px;border:1px solid #b7d9ed;border-radius:9px;background:#d9edf9;color:#164866;font-weight:700;font-size:12px;transform:none}.product-body .btn.product-button:hover{background:#bfe1f5;border-color:#8bbbd7}.shop-help{padding-top:22px;padding-bottom:35px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;color:#627887}.shop-help p{margin:0}.shop-help a{color:#235f85;text-decoration:underline;text-underline-offset:3px}@media(max-width:800px){.shop-intro{padding:32px 0 24px}.shop-intro h1{font-size:43px}.shop-intro h1 br{display:block}.shop-intro>div>p:last-child{font-size:14px;max-width:470px}.shop-toolbar{gap:10px;padding:12px 0}.shop-toolbar .shop-tabs{display:none}.shop-category{display:block;flex:1;min-width:0}.shop-category select{width:100%;padding:11px 30px 11px 11px;border:1px solid #ccd7df;border-radius:10px;background:#fafcfd;color:var(--ink);font-size:12px;min-height:43px}.shop-toolbar .search-box{flex:1;width:auto;min-width:0}.shop-page .catalog{gap:14px}.shop-page .product-body{padding:15px}.shop-page .product-body h3{font-size:19px}.shop-page .product-image img{padding:14px;aspect-ratio:1.1}.shop-help{align-items:start;flex-direction:column}}@media(max-width:480px){.shop-intro{padding:26px 0 22px}.shop-intro .eyebrow{margin-bottom:12px}.shop-intro h1{font-size:36px;margin-bottom:11px}.shop-intro>div>p:last-child{font-size:13px;line-height:1.6}.shop-toolbar{gap:8px}.shop-toolbar .search-box{padding:0 9px}.shop-toolbar .search-box input{font-size:12px}.shop-toolbar .search-box svg{width:15px;height:15px}.shop-category select{font-size:11px;padding-left:9px;padding-right:20px}.shop-results{padding:12px 0;font-size:10px}.shop-page .catalog{gap:12px}.shop-page .product-body{padding:12px}.shop-page .product-body h3{font-size:16px;min-height:3.75em;margin-bottom:6px}.shop-page .product-body>p{font-size:10px;margin-bottom:12px}.shop-page .product-price{font-size:23px;margin-bottom:11px}.shop-page .product-image img{aspect-ratio:1;padding:10px}.shop-page .product-body .btn{font-size:11px;padding:9px 6px;min-height:37px}.shop-help{font-size:11px;padding-bottom:28px}}
@media(min-width:801px){.shop-intro{padding:32px 0 24px}.shop-intro h1{font-size:48px;max-width:1100px}.shop-intro .eyebrow{margin-bottom:12px}.shop-page .product-image img{aspect-ratio:1.5}}
/* One consistent photo frame, filled edge to edge on every catalog card. */
.shop-page .product-image{aspect-ratio:4/3}.shop-page .product-image img{display:block;width:100%;height:100%;aspect-ratio:auto;padding:0;object-fit:cover;object-position:center;mix-blend-mode:normal}
/* Denser desktop catalog, with comfortable text and consistent card heights. */
@media(min-width:1024px){.shop-page .catalog{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.shop-page .product-body{padding:16px}.shop-page .product-body h3{font-size:18px;line-height:1.3;min-height:3.9em}.shop-page .product-body>p{min-height:3em;margin-bottom:11px}.shop-page .product-price{font-size:24px}.shop-page .product-body .btn{min-height:38px}}
@media(min-width:1440px){.shop-page .catalog{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}}
/* Product quick view: preserve the catalog while inspecting a product. */
.product-back{display:inline-flex;align-items:center;gap:10px;margin:0 0 28px;padding:10px 16px;border:1px solid #b3c9d7;border-radius:10px;font-size:13px;font-weight:600;color:#235f85;background:#e4eef5}.product-back:hover{background:#d0e8f7}.quickview-open{overflow:hidden}.product-quickview{padding:0;width:min(1060px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 64px);border:1px solid #b0c5d3;border-radius:24px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0005;overscroll-behavior:contain}.product-quickview::backdrop{background:#071019bd;backdrop-filter:blur(9px)}.quickview-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;background:#14212c;color:#bacddb}.quickview-bar>span{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--yellow)}.quickview-close{display:flex;align-items:center;gap:18px;border:1px solid #638296;border-radius:30px;padding:7px 14px;color:white;background:#233745;font-size:12px}.quickview-close>span:last-child{font-size:24px;line-height:1;color:var(--lime)}.quickview-close:hover{background:#324e61}.quickview-content{padding:30px}.quickview-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:start}.quickview-media{min-width:0}.quickview-picture{display:block;width:100%;height:380px;object-fit:contain;background:#e3ebf0;border-radius:15px}.quickview-thumbs{display:flex;gap:9px;overflow-x:auto;margin-top:12px;padding-bottom:4px}.quickview-thumbs button{width:65px;height:65px;padding:2px;flex-shrink:0;border:2px solid transparent;background:#dfe9f0;border-radius:10px;overflow:hidden}.quickview-thumbs button[aria-pressed=true]{border-color:#287eae}.quickview-thumbs img{width:100%;height:100%;object-fit:contain;border-radius:6px}.quickview-details h2{font-size:34px;line-height:1.13;letter-spacing:-.035em;margin:5px 0 20px}.quickview-price{font-size:30px;font-weight:600;color:#236c98;margin-bottom:22px}.quickview-price del{font-size:16px;color:#79909f;margin-right:10px}.quickview-price ins{text-decoration:none}.quickview-description{font-size:14px;line-height:1.7;color:#5d7585;margin-bottom:24px}.quickview-details .stock{font-size:12px;color:#527657}.quickview-details form.cart{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}.quickview-details .quantity input{width:70px;min-height:46px;padding:10px;border:1px solid #a5bdcc;border-radius:9px;font-size:15px;background:white}.quickview-details button.single_add_to_cart_button,.quickview-details .quickview-consult{background:var(--yellow);border:1px solid var(--yellow);color:var(--ink);border-radius:10px;padding:13px 20px;font-size:13px;font-weight:700;min-height:46px;cursor:pointer}.quickview-details button.single_add_to_cart_button:hover{background:#f7df88}.quickview-full{display:block;width:fit-content;margin-top:23px;font-size:12px;color:#386f91;text-decoration:underline;text-underline-offset:4px}.quickview-loading{padding:80px 20px;text-align:center;color:#6e8799}.product-quickview[open]{animation:quickview-in .22s ease-out}@keyframes quickview-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:700px){.product-quickview{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:18px}.quickview-bar{padding:12px 16px}.quickview-bar>span{font-size:9px;letter-spacing:.08em}.quickview-content{padding:19px}.quickview-grid{grid-template-columns:1fr;gap:22px}.quickview-picture{height:260px}.quickview-thumbs button{width:52px;height:52px}.quickview-details h2{font-size:27px;margin:0 0 14px}.quickview-price{font-size:27px;margin-bottom:16px}.quickview-description{font-size:13px;margin-bottom:18px}.quickview-full{margin-top:18px}.product-back{font-size:12px;margin-bottom:22px}}@media(prefers-reduced-motion:reduce){.product-quickview[open]{animation:none}}
.product-quickview .quickview-details form.cart button.single_add_to_cart_button{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.product-quickview .quickview-details form.cart button.single_add_to_cart_button:hover{background:#f7df88;color:var(--ink)}
/* White tags on the highlighted audiovisual service card. */
.service-card.featured .chips span{border-color:#fff;color:#fff}
/* Native page transitions keep regular links, history and checkout intact. */
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 .site-header{view-transition-name:site-header}
 ::view-transition-old(root){animation:page-out .18s ease-in both}
 ::view-transition-new(root){animation:page-in .3s cubic-bezier(.2,.65,.3,1) both}
 ::view-transition-old(site-header),::view-transition-new(site-header){animation:none}
 .hero-grid>div:first-child,.page-hero .wrap,.shop-intro .wrap{animation:content-arrive .55s cubic-bezier(.2,.65,.3,1) both}
}
@keyframes page-out{to{opacity:0;transform:translateY(-7px)}}
@keyframes page-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes content-arrive{from{opacity:.25;transform:translateY(14px)}to{opacity:1;transform:none}}
@supports(transition-behavior:allow-discrete){
 @media(prefers-reduced-motion:no-preference){
  .product-quickview{opacity:0;transform:translateY(14px) scale(.985);transition:opacity .2s ease,transform .2s ease,display .2s allow-discrete,overlay .2s allow-discrete}
  .product-quickview[open]{opacity:1;transform:none;animation:none}
  .product-quickview::backdrop{background:#07101900;backdrop-filter:blur(0);transition:background .2s,backdrop-filter .2s,display .2s allow-discrete,overlay .2s allow-discrete}
  .product-quickview[open]::backdrop{background:#071019bd;backdrop-filter:blur(9px)}
  @starting-style{.product-quickview[open]{opacity:0;transform:translateY(14px) scale(.985)}.product-quickview[open]::backdrop{background:#07101900;backdrop-filter:blur(0)}}
 }
}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
/* Keep the storefront actions clear of the floating contact shortcut. */
body:has(.shop-page) .mobile-contact,body:has(.product-detail) .mobile-contact,body.single-product .mobile-contact,body.woocommerce-cart .mobile-contact,body.woocommerce-checkout .mobile-contact{display:none}
/* Visual service navigation and a clear overview of audiovisual production. */
.service-number{display:flex;align-items:center;gap:12px}.service-number svg{width:30px;height:30px;color:#2a719b;flex-shrink:0}.service-card.featured .service-number svg{color:#fff}.service-card .num{align-items:center;margin-bottom:32px}.av-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.av-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;transition:transform .25s,border-color .25s,box-shadow .25s}.av-card:hover{transform:translateY(-5px);border-color:#94b9d0;box-shadow:0 16px 35px #1232470d}.av-cover{position:relative;background:var(--ink);overflow:hidden}.av-cover>img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .5s}.av-card:hover .av-cover>img{transform:scale(1.035)}.av-cover>span{position:absolute;bottom:15px;left:20px;right:20px;color:#a8c1d2;font-size:10px;letter-spacing:.04em}.av-copy{padding:26px;display:flex;flex-direction:column;flex:1}.av-copy h3{font-size:27px;line-height:1.15;max-width:310px;margin-bottom:13px}.av-copy p{font-size:13px;color:#617d8d;line-height:1.7}.av-copy .av-promise{font-size:14px;font-weight:600;color:#244f69;margin-bottom:12px}.av-more{margin-top:auto;padding-top:15px;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:#236b98}.av-more>span{font-size:22px}.equipment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.equipment-card{border:1px solid #3d5261;border-radius:16px;padding:27px 23px;background:#172530}.equipment-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:27px;border:1px solid #79c9f547;background:#79c9f510;color:var(--lime);border-radius:14px}.equipment-icon svg{width:31px;height:31px}.equipment-card:nth-child(even) .equipment-icon{color:var(--yellow);border-color:#f4d35e47;background:#f4d35e10}.equipment-card h3{font-size:23px;line-height:1.2;margin-bottom:15px}.equipment-card p{font-size:13px;line-height:1.7;margin:0}.detail-icon{display:block;width:35px;color:#236b98;margin-bottom:20px}.detail-icon svg{width:35px;height:35px}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-image{height:290px}.project-info{gap:14px}.project-info h3{font-size:27px;margin-bottom:12px}.project-info .project-category{color:#2a7098;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.project-info p{line-height:1.7;font-size:12px}.project-info .round-arrow{width:38px;height:38px;font-size:19px}@media(max-width:1100px){.av-grid{gap:16px}.av-copy{padding:22px}.av-copy h3{font-size:25px}.equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-image{height:250px}.project-info h3{font-size:24px}}@media(max-width:800px){.av-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-grid{grid-template-columns:1fr 1fr}.project-card:first-child{grid-column:1/-1}.project-card:first-child .project-image{height:340px}.equipment-card{padding:23px}.av-copy h3{font-size:24px}.av-cover>span{font-size:9px;left:15px;bottom:11px}}@media(max-width:480px){.av-grid,.equipment-grid,.projects-grid{grid-template-columns:1fr}.av-grid{gap:22px}.av-copy{padding:24px}.av-copy h3{font-size:29px}.av-copy p{font-size:14px}.equipment-card{padding:26px}.equipment-card h3{font-size:25px}.equipment-card p{font-size:14px}.equipment-icon{margin-bottom:20px}.project-card:first-child{grid-column:auto}.project-card:first-child .project-image,.project-image{height:280px}.project-info h3{font-size:28px}}
/* Two complementary product actions: purchase and personal advice. */
.product-actions{display:flex;gap:12px;flex-wrap:wrap}.product-actions .product-buy{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.quickview-whatsapp{margin-top:13px;min-height:44px;padding:11px 18px;border-radius:10px;font-size:12px;background:transparent;color:#235f85;border:1px solid #9bbccc}.quickview-whatsapp:hover,.product-whatsapp:hover{background:#dbeefa;color:#164866}.single-product .woocommerce div.product form.cart button.single_add_to_cart_button{background:var(--yellow);color:var(--ink);border:1px solid var(--yellow);border-radius:10px}.single-product .product-whatsapp{border-radius:10px;font-size:13px;min-height:45px;margin:0 0 20px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-image{height:340px}@media(max-width:800px){.project-card:first-child{grid-column:auto}.project-card:first-child .project-image,.project-image{height:250px}}@media(max-width:480px){.projects-grid{grid-template-columns:1fr}.project-card:first-child .project-image,.project-image{height:280px}.product-actions{flex-direction:column}.product-actions .btn{width:100%}.quickview-whatsapp{display:flex;width:100%;justify-content:center}}
.av-page .page-hero{padding:44px 0 38px}.av-page .page-hero h1{font-size:clamp(41px,4.8vw,68px);line-height:1.07;margin-bottom:22px}.av-page .page-hero .lead{max-width:850px;font-size:17px}.av-page .page-hero .breadcrumb{margin-bottom:23px}.av-page .page-hero .eyebrow{margin-bottom:20px}.av-page .av-formats{padding-top:58px}.av-page .av-formats .section-head h2{font-size:clamp(33px,3.8vw,53px)}@media(max-width:480px){.av-page .page-hero{padding:33px 0 28px}.av-page .page-hero .lead{font-size:15px}.av-page .av-formats{padding-top:43px}}
/* Service cards lead with the service, without serial numbers or arrows. */
.service-card{min-height:330px;padding:30px;gap:0;background:#f9fbfc;border-color:#d5e0e7;border-radius:20px;box-shadow:0 3px 0 #102c3f02;transition:transform .24s,box-shadow .24s,border-color .24s,background .24s}.service-card:hover{transform:translateY(-4px);border-color:#91b7ce;box-shadow:0 14px 34px #1032490a;background:white}.service-card.featured{background:var(--lime);border-color:var(--lime)}.service-card.featured:hover{background:#8cd2f9;border-color:#8cd2f9}.service-icon{display:grid;place-items:center;width:51px;height:51px;margin-bottom:25px;background:#dfeef8;color:#246b96;border:1px solid #b9d8eb;border-radius:15px}.service-icon svg{display:block;width:28px;height:28px}.service-card:nth-child(even) .service-icon{background:#f8efd1;border-color:#ebd99b;color:#74601e}.service-card.featured .service-icon{background:#ffffff24;border-color:#ffffff70;color:white}.service-card h3{font-size:28px;line-height:1.12;max-width:320px;margin-bottom:15px}.service-card p{font-size:13px;line-height:1.7;max-width:340px;margin-bottom:22px}.service-card .chips{gap:7px;margin-top:auto}.service-card .chips span{font-size:10px;padding:4px 10px;border-color:#c2d2dd;color:#527388;background:#f0f5f8}.service-card.featured .chips span{color:white;border-color:white;background:transparent}@media(max-width:480px){.service-card{padding:26px;min-height:310px}.service-icon{margin-bottom:22px}.service-card h3{font-size:29px}.service-card p{font-size:14px}}

/* Compact service introduction keeps the offer visible sooner. */
.services-page .page-hero{padding:36px 0 34px}.services-page .page-hero .breadcrumb{margin-bottom:20px}.services-page .page-hero .eyebrow{margin-bottom:18px}.services-page .page-hero h1{font-size:clamp(39px,4.6vw,65px);line-height:1.08;margin-bottom:20px}.services-page .page-hero .lead{font-size:16px;max-width:760px}.services-page>.section{padding-top:48px}.service-card.featured .chips span{background:#235f85;color:#fff;border-color:#fff}.service-card.featured .service-icon{background:#235f85;color:#fff;border-color:#ffffffa0}@media(max-width:480px){.services-page .page-hero{padding:26px 0}.services-page .page-hero .lead{font-size:14px}.services-page>.section{padding-top:30px}}

.services-page .service-card{min-height:268px}.services-page .service-card p{margin-bottom:0}.services-page .service-card.featured p{color:#244d65}

/* Hide legacy breadcrumb output from commerce blocks and cached templates. */
.breadcrumb,.woocommerce-breadcrumb,.wc-block-breadcrumbs{display:none!important}

/* Shared action language: compact shapes, clear labels and restrained motion. */
.btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{gap:10px;min-height:48px;padding:13px 23px;border-radius:14px;font-weight:700;letter-spacing:0;line-height:1.35;box-shadow:0 3px 0 #0000000a;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{transform:translateY(-2px);box-shadow:0 9px 24px #00000016}.btn:active{transform:translateY(0);box-shadow:none}.btn .arrow,.nav-arrow,.round-arrow{display:none}.text-link{gap:8px;padding:9px 0;font-weight:700}.mini-list li:before{content:'•';font-size:20px}.nav a{grid-template-columns:46px 1fr}.product-button{border-radius:12px;min-height:42px}.av-viewer-controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.site-panel{padding:0;width:min(1080px,calc(100% - 48px));height:min(860px,calc(100dvh - 64px));max-height:calc(100dvh - 32px);border:1px solid #ffffff28;border-radius:24px;background:#111b25;color:#eef5fa;box-shadow:0 30px 110px #0009;overflow:hidden}.site-panel::backdrop{background:#061018b8;backdrop-filter:blur(12px)}.site-panel[open]{display:flex;flex-direction:column;animation:panel-in .24s ease-out}.site-panel-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 22px;border-bottom:1px solid #ffffff1c;flex-shrink:0;background:#14222e}.site-panel-bar>span{font-size:13px;font-weight:700}.site-panel-close{display:inline-flex;align-items:center;gap:14px;border:1px solid #ffffff32;border-radius:11px;background:#ffffff08;color:white;padding:8px 13px;font-size:12px}.site-panel-close span{font-size:23px;line-height:1}.site-panel-close:hover{background:#ffffff17}.site-panel-content{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.site-panel-frame{border:0;width:100%;flex:1;min-height:0;background:#111b25}.panel-loading{position:absolute;top:20px;left:30px;pointer-events:none}.panel-fallback{padding:10px 22px;font-size:11px;color:#b6cad9;background:#14222e;text-decoration:underline}.site-panel-open{overflow:hidden}.site-panel-external{width:min(560px,calc(100% - 40px));height:auto}.site-panel-external .site-panel-content{padding:35px}.external-badge{align-self:start;color:#f4d35e;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:20px}.site-panel-external h2{font-size:33px;overflow-wrap:anywhere;margin-bottom:17px}.site-panel-external p{color:#acc1d0;font-size:15px;line-height:1.7}.site-panel-external .btn.outline{color:white;border-color:#587182}.embedded-view .site-header,.embedded-view .site-footer,.embedded-view .mobile-contact,.embedded-view #wpadminbar,.embedded-view .skip,.embedded-view .woocommerce-store-notice,.embedded-view .woocommerce-coming-soon-banner{display:none!important}.embedded-view{margin-top:0!important}.embedded-view body{margin-top:0!important}.embedded-view .wrap{width:calc(100% - 64px)}.embedded-view .page-hero{padding:34px 0 26px}.embedded-view h1{font-size:clamp(34px,4.5vw,58px)}.embedded-view .section{padding:42px 0}.embedded-view .page-grid{gap:32px}.embedded-view .cta-panel{padding:30px}.embedded-view .reveal.pending{opacity:1;transform:none}.embedded-view .av-hero{padding:38px 0}
@keyframes panel-in{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:600px){.btn{padding:12px 18px;min-height:46px;border-radius:12px}.site-panel{width:calc(100% - 16px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:18px}.site-panel-bar{padding:12px 15px}.site-panel-external{height:auto;width:calc(100% - 28px)}.site-panel-external .site-panel-content{padding:27px 22px}.site-panel-external .button-row{align-items:stretch;flex-direction:column}.embedded-view .wrap{width:calc(100% - 36px)}.embedded-view .page-grid{grid-template-columns:1fr}.embedded-view h1{font-size:36px}.embedded-view .section{padding:30px 0}}
@media(prefers-reduced-motion:reduce){.site-panel[open]{animation:none}.btn:hover{transform:none}}
/* A consultation window puts the form first, especially on a phone. */
.embedded-contact .page-hero{display:none}.embedded-contact .section{padding:30px 0}.embedded-contact .page-grid>div>h2{font-size:34px}.embedded-contact .contact-line{padding:14px 0}.embedded-contact .page-grid{grid-template-columns:.85fr 1.15fr}.embedded-contact .contact-panel{padding:26px}
@media(max-width:600px){.embedded-contact .page-grid{display:flex;flex-direction:column-reverse;gap:25px}.embedded-contact .page-grid>*{width:100%}.embedded-contact .contact-panel{padding:20px}.embedded-contact .contact-panel h2{font-size:28px}.embedded-contact .page-grid>div>h2{font-size:28px}}

/* Refined service and project cards: clear hierarchy, tactile surfaces. */
.services-grid{gap:20px;align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card{isolation:isolate;overflow:hidden;min-height:350px;padding:32px;border-radius:26px;border:1px solid #d8e3eb;background:linear-gradient(145deg,#fff 15%,#f7fafc);box-shadow:0 2px 3px #18354803,0 12px 30px #18354804;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.service-card:before{content:"";position:absolute;top:32px;right:32px;width:7px;height:7px;border-radius:50%;background:#3e9ed6;box-shadow:0 0 0 5px #3e9ed60d;pointer-events:none}
.service-card:nth-child(even):before{background:#d7b339;box-shadow:0 0 0 5px #d7b33910}
.service-card:after{content:"";position:absolute;width:180px;height:180px;right:-86px;top:-94px;border:1px solid #4d9bc315;border-radius:50%;box-shadow:0 0 0 24px #4d9bc306,0 0 0 48px #4d9bc303;z-index:-1;pointer-events:none}
.service-icon{width:62px;height:62px;margin-bottom:30px;border-radius:19px;background:linear-gradient(145deg,#f0f9ff,#dfedf7);border:1px solid #ccdfed;color:#226a98;box-shadow:inset 0 1px 0 #fff,0 5px 12px #14516b06;transition:transform .3s ease}
.service-icon svg{width:31px;height:31px;stroke-width:1.5}
.service-card:nth-child(even) .service-icon{background:linear-gradient(145deg,#fffaf0,#faf0cc);border-color:#eddfaf;color:#82671b}
.service-card h3{font-size:clamp(25px,2.1vw,30px);line-height:1.15;letter-spacing:-.035em;margin-bottom:14px;max-width:310px;text-wrap:balance}
.service-card p{font-size:14px;line-height:1.75;color:#5e7180;max-width:350px;margin-bottom:25px}
.service-card .chips{padding-top:19px;border-top:1px solid #e0e9ef;gap:7px;width:100%}
.service-card .chips span{font-size:10px;line-height:1.5;padding:5px 10px;border:1px solid #d8e4ec;background:#f1f6fa;color:#47667a}
.service-card.featured{background:radial-gradient(ellipse at 100% 0,#287bad 0,transparent 65%),linear-gradient(145deg,#174e75,#102d48);color:#fff;border-color:#286186;box-shadow:0 12px 30px #103b6519}
.service-card.featured:before{background:#f4d35e;box-shadow:0 0 0 5px #f4d35e12}
.service-card.featured:after{border-color:#c0e8ff20;box-shadow:0 0 0 24px #c0e8ff07,0 0 0 48px #c0e8ff04}
.service-card.featured .service-icon{background:#ffffff12;border-color:#ffffff40;color:#f4d35e;box-shadow:inset 0 1px 0 #ffffff20}
.service-card.featured p,.services-page .service-card.featured p{color:#d1e5f2}
.service-card.featured .chips{border-color:#ffffff26}
.service-card.featured .chips span{background:#ffffff08;color:#fff;border-color:#ffffffa6}
.services-page .service-card{min-height:300px}
.services-page .service-card p{margin-bottom:0}
.project-card{border:1px solid #d6e2ea;border-radius:26px;overflow:hidden;background:white;box-shadow:0 10px 30px #16324905;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.project-image{margin:10px 10px 0;border-radius:19px;overflow:hidden;height:320px}
.project-info{padding:28px 30px 30px;display:block}
.project-info h3{font-size:31px;line-height:1.15;margin-bottom:14px}
.project-info .project-category{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.1em;font-weight:700;margin-bottom:16px;color:#296b95}
.project-info .project-category:before{content:"";width:6px;height:6px;border-radius:50%;background:#e4be3a}
.project-info p{font-size:14px;line-height:1.75;color:#5e7180;max-width:490px;margin-bottom:0}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-card:hover{transform:translateY(-6px);background:linear-gradient(145deg,#fff,#f7fafc);border-color:#91bdd7;box-shadow:0 20px 45px #153f6510}.service-card:hover .service-icon{transform:translateY(-3px) rotate(-3deg)}.service-card.featured:hover{background:radial-gradient(ellipse at 100% 0,#2b85ba 0,transparent 65%),linear-gradient(145deg,#174e75,#102d48);border-color:#72bbdf;box-shadow:0 20px 45px #103b6525}.project-card:hover{transform:translateY(-5px);border-color:#9dbed3;box-shadow:0 20px 45px #153f6512}}
@media(max-width:1000px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{padding:28px;min-height:330px}.service-card h3{font-size:28px}.project-image{height:260px}.project-info{padding:24px}.project-info h3{font-size:27px}}
@media(max-width:600px){.services-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:27px;min-height:0;border-radius:23px}.service-card:before{top:30px;right:28px}.service-icon{width:56px;height:56px;border-radius:17px;margin-bottom:24px}.service-card h3{font-size:28px;max-width:100%;margin-bottom:13px}.service-card p{font-size:14px;margin-bottom:23px}.services-page .service-card{min-height:0}.service-card .chips{padding-top:17px}.project-card{border-radius:23px}.project-image,.project-card:first-child .project-image{height:250px;border-radius:16px;margin:8px 8px 0}.project-info{padding:25px}.project-info h3{font-size:28px}}
@media(prefers-reduced-motion:reduce){.service-card,.service-icon,.project-card{transition:none}.service-card:hover,.project-card:hover{transform:none}}

/* Muted, distinct home service colours; shared surface treatment keeps the set calm. */
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card{--card-start:#405b78;--card-end:#354c65;--card-ink:#fff;--card-copy:#f0f2f4;--card-stroke:#ffffff70;--card-detail:#e5d6ac;background:linear-gradient(145deg,var(--card-start),var(--card-end));color:var(--card-ink);border-color:#ffffff24;box-shadow:0 12px 30px #102d4810}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:nth-child(2){--card-start:#73576f;--card-end:#5f495c}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:nth-child(3){--card-start:#885b47;--card-end:#734c3c}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:nth-child(4){--card-start:#526b5b;--card-end:#43594a}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:nth-child(5){--card-start:#d3bd8b;--card-end:#c3ab75;--card-ink:#263342;--card-copy:#344352;--card-stroke:#34435270;--card-detail:#42586c}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:nth-child(6){--card-start:#426e72;--card-end:#365b60}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card h3{color:var(--card-ink)}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card p{color:var(--card-copy)}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card .service-icon{color:var(--card-ink);background:#ffffff0b;border-color:var(--card-stroke);box-shadow:inset 0 1px 0 #ffffff12}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card .chips{border-color:var(--card-stroke)}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card .chips span{color:var(--card-ink);background:#ffffff05;border-color:var(--card-stroke)}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:before{background:var(--card-detail);box-shadow:none}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:after{border-color:var(--card-stroke);opacity:.16;box-shadow:0 0 0 24px #ffffff05,0 0 0 48px #ffffff03}
@media(hover:hover) and (prefers-reduced-motion:no-preference){:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:hover{background:linear-gradient(145deg,var(--card-start),var(--card-end));border-color:var(--card-stroke);box-shadow:0 20px 42px #102d481c}}

/* Rich dimensional finish over the distinct six-colour home palette. */
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card{--card-start:#345d88;--card-end:#203b59;--card-glow:#4a749b;--card-copy:#fff;background:radial-gradient(ellipse at 95% 0,var(--card-glow),transparent 68%),linear-gradient(145deg,var(--card-start),var(--card-end));border-color:#ffffff36;box-shadow:inset 0 1px 0 #ffffff30,inset 0 -1px 0 #00000018,0 7px 12px #1833480d,0 20px 38px #18334820}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:nth-child(2){--card-start:#754b80;--card-end:#482c53;--card-glow:#896291}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:nth-child(3){--card-start:#975e3d;--card-end:#613b2c;--card-glow:#a16b49}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:nth-child(4){--card-start:#486f56;--card-end:#2c4938;--card-glow:#587860}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:nth-child(5){--card-start:#dec075;--card-end:#c7a254;--card-glow:#f3dca0;--card-copy:#273847}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:nth-child(6){--card-start:#2c737d;--card-end:#1b4956;--card-glow:#3c7883}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card p{position:relative;z-index:1}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card .service-icon{background:linear-gradient(145deg,#ffffff25,#ffffff08);box-shadow:inset 0 1px 0 #ffffff36,0 6px 15px #0000000d}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:after{width:240px;height:240px;top:-145px;right:-100px;opacity:.36;border-color:var(--card-stroke);background:radial-gradient(ellipse at 25% 80%,#ffffff1a,transparent 70%);box-shadow:0 0 0 25px #ffffff09,0 0 0 52px #ffffff04}
:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card .chips span{background:linear-gradient(145deg,#ffffff14,#ffffff05);box-shadow:inset 0 1px 0 #ffffff12}
@media(hover:hover) and (prefers-reduced-motion:no-preference){:is(body:has(.home-teide-bg),body:has(.services-page)) .service-card:hover{background:radial-gradient(ellipse at 95% 0,var(--card-glow),transparent 68%),linear-gradient(145deg,var(--card-start),var(--card-end));box-shadow:inset 0 1px 0 #ffffff40,inset 0 -1px 0 #00000018,0 10px 18px #18334812,0 28px 50px #1833482b}}

/* Individual home layers retain their own hover/reveal transforms. */
@media(prefers-reduced-motion:no-preference){.home-motion-layer{translate:0 var(--home-drift,0px)}.home-motion-visible{will-change:translate}.home-has-teide .hero-art>img{max-width:100%}}
@media(prefers-reduced-motion:reduce){.home-motion-layer{translate:none!important;will-change:auto}}
/* Canarias Sin Barreras: a dedicated editorial identity within the studio. */
.csb-page{--csb-night:#11202a;--csb-blue:#85cef5;--csb-gold:#f4d35e;background:#f0f3f5}
.csb-hero{background:var(--csb-night);color:#fff;padding:58px 0 48px}
.csb-hero-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:10%;align-items:end}
.csb-hero .eyebrow{color:var(--csb-gold);font-size:10px;margin-bottom:25px}
.csb-hero h1{font-size:clamp(62px,7.1vw,104px);letter-spacing:-.065em;margin:0 0 24px;line-height:.98}
.csb-hero h1 em{color:var(--csb-blue)}
.csb-intro{font-size:19px;line-height:1.5;margin:0;color:#d1e0e8}
.csb-hero-note{padding-bottom:3px;color:#b9cdd9;font-size:16px;line-height:1.75}
.csb-kicker{display:block;color:var(--csb-gold);font-size:10px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:14px;font-weight:700}
.csb-free-link{display:flex;align-items:center;gap:16px;margin-top:23px;padding:19px 20px;background:#1d3644;border:1px solid #456473;border-radius:15px;font-size:13px;line-height:1.6;color:white}
.csb-free-link svg{width:33px;height:33px;color:var(--csb-gold);flex:none}
.csb-free-link:hover{border-color:var(--csb-gold)}
.csb-journey{background:var(--csb-night)}
.csb-scene{height:clamp(380px,40vw,610px);position:relative;overflow:hidden;isolation:isolate}
.csb-landscape{width:100%;height:100%;object-fit:cover;object-position:center 69%}
.csb-scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,#11202a9e 0%,#11202a0d 50%,#11202a33 100%);pointer-events:none}
.csb-scene-caption{position:absolute;top:30px;left:max(48px,calc((100vw - 1360px)/2));color:white;text-shadow:0 2px 20px #132733a1}
.csb-scene-caption>span{text-transform:uppercase;font-size:10px;letter-spacing:.15em}
.csb-scene-caption p{font-size:36px;letter-spacing:-.04em;line-height:1.1;margin:14px 0 0}
.csb-scene-caption strong{font-weight:600;color:#fff3c6}
.csb-van{position:absolute;left:49%;bottom:8%;width:clamp(300px,44vw,670px);transform:translate3d(var(--van-x,0px),0,0);will-change:transform;filter:drop-shadow(0 15px 9px #172b3a66)}
.csb-van img{width:100%;height:auto;display:block}
.csb-sign-rail{position:absolute;right:32px;top:24px;display:flex;flex-direction:column;gap:8px}
.csb-sign-rail a{display:flex;align-items:center;gap:11px;background:#10232ad9;backdrop-filter:blur(12px);color:#f4e5a9;border:1px solid #e0eaf145;padding:10px 14px;border-radius:12px;font-size:10px;max-width:170px;line-height:1.3}
.csb-sign-rail svg{width:24px;height:24px;flex:none}
.csb-sign-rail a:hover{background:#1d3948}
.csb-scene-footnote{position:absolute;bottom:13px;left:max(48px,calc((100vw - 1360px)/2));color:#fff;font-size:9px;letter-spacing:.03em;text-shadow:0 1px 5px #000}
.csb-page .section{padding:80px 0}
.csb-page .section.compact{padding:50px 0}
.csb-page h2{font-size:clamp(34px,3.8vw,53px);line-height:1.09}
.csb-page .eyebrow{color:#366b8b;font-size:10px;margin-bottom:22px}
.csb-free-panel{display:grid;grid-template-columns:.45fr 1.3fr;gap:8%;align-items:center;background:#dceef8;border:1px solid #bbd6e5;border-radius:26px;padding:60px 66px}
.csb-free-symbol{width:100%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#256789;background:#c2e3f5;border:1px solid #a7cde3;border-radius:50%;max-width:260px}
.csb-free-symbol svg{width:95px;height:95px;stroke-width:1.1}
.csb-free-symbol span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-top:16px;font-weight:600}
.csb-free-panel h2 em{color:#20628a}
.csb-free-panel p{font-size:14px;line-height:1.8;color:#466578;max-width:720px}
.csb-free-panel .csb-free-statement{font-size:20px;line-height:1.6;color:#193e56;margin-bottom:18px}
.csb-free-panel small{display:block;font-size:11px;margin-top:18px;color:#5b7688}
.csb-free-panel .btn{background:#183f57;border-color:#183f57}
.csb-inline-link{color:#225c81;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.csb-section-heading{display:grid;grid-template-columns:1.2fr .7fr;gap:12%;align-items:end;margin-bottom:37px}
.csb-section-heading h2{margin-bottom:0}
.csb-section-heading>p{font-size:14px;color:#5d7586;line-height:1.85;margin:0 0 4px}
.csb-films{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.csb-film{border:1px solid #d0dde6;background:#fff;border-radius:18px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.csb-film:hover{transform:translateY(-5px);box-shadow:0 15px 35px #1d3f5010}
.csb-film-image{aspect-ratio:1.5;position:relative;overflow:hidden}
.csb-film-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.csb-film:hover img{transform:scale(1.035)}
.csb-film-image>span{position:absolute;top:15px;left:16px;border:1px solid #fff6;border-radius:20px;background:#132633cc;color:#fff;padding:5px 11px;font-size:9px;letter-spacing:.05em}
.csb-film-copy{padding:25px 26px 27px}
.csb-film-copy>p{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#347397;margin-bottom:12px}
.csb-film h3{font-size:27px;line-height:1.2;min-height:65px;margin-bottom:18px}
.csb-film-link{font-size:11px;border-bottom:1px solid #adc7d7;color:#286386;padding-bottom:3px}
.csb-catalog-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px}
.csb-catalog-footer p{font-size:11px;color:#668092;margin:0;max-width:630px;line-height:1.9}
.csb-catalog-footer .btn{font-size:11px;min-height:44px;white-space:nowrap}
.csb-how{background:var(--csb-night);color:white}
.csb-how-grid{display:grid;grid-template-columns:1fr .85fr;gap:13%;align-items:center}
.csb-how p{color:#b4cbd9;font-size:14px;line-height:1.85}
.csb-how h2 em{color:var(--csb-blue)}
.csb-vr-label{display:block;color:var(--csb-gold);font-size:75px;line-height:1;letter-spacing:-.065em;margin-bottom:28px}
.csb-vr-label small{display:block;font-size:9px;letter-spacing:.13em;margin-top:13px}
.csb-how-steps article{display:flex;gap:21px;padding:25px 0;border-bottom:1px solid #36505f}
.csb-how-steps article:last-child{border:0}
.csb-how-steps article>span{flex:none;color:var(--csb-gold);padding-top:4px}
.csb-how-steps svg{width:30px;height:30px}
.csb-how-steps h3{font-size:23px;margin:0 0 10px}
.csb-how-steps p{font-size:13px;margin:0}
.csb-formats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.csb-format{display:flex;flex-direction:column;border:1px solid #d0dde5;border-radius:18px;padding:32px;background:#fbfcfd}
.csb-format-icon{display:grid;place-items:center;width:49px;height:49px;color:#2b7099;background:#e0eff8;border:1px solid #bdd9e9;border-radius:14px;margin-bottom:24px}
.csb-format-icon svg{width:26px;height:26px}
.csb-format:nth-child(even) .csb-format-icon{color:#7b651e;background:#f8f0d6;border-color:#ecdda9}
.csb-format h3{font-size:28px;margin-bottom:16px;line-height:1.15}
.csb-format p{font-size:14px;line-height:1.8;color:#5e7889;max-width:480px;margin-bottom:25px}
.csb-format>a{display:flex;justify-content:space-between;gap:20px;margin-top:auto;padding-top:18px;border-top:1px solid #d7e2e9;font-size:12px;font-weight:600;color:#286486}
.csb-visit{background:#e8eef2;border-top:1px solid #d5e0e7;border-bottom:1px solid #d5e0e7}
.csb-signs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-bottom:25px}
.csb-sign>span{display:grid;place-items:center;width:54px;height:54px;background:#f8f0d8;color:#6d602a;border:1px solid #e4d69f;border-radius:50%;margin-bottom:18px}
.csb-sign:first-child>span{background:#d6eaf7;color:#29678c;border-color:#accde2}
.csb-sign svg{width:29px;height:29px}
.csb-sign h3{font-size:17px;letter-spacing:-.02em;line-height:1.3;margin-bottom:10px}
.csb-sign p{font-size:11px;line-height:1.8;color:#5e7687}
.csb-faq>.wrap{max-width:1000px}
.csb-faq h2{font-size:35px;margin-bottom:25px}
.csb-faq .faq summary{font-size:17px}
.csb-funding-panel{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:8%;padding:40px 45px;background:#fff;border:1px solid #cfdce4;border-radius:20px}
.csb-funding-panel .eyebrow{font-size:9px;margin-bottom:17px}
.csb-funding-panel h2{font-size:31px;margin-bottom:20px}
.csb-funding-panel p{font-size:12px;line-height:1.8;color:#526f81}
.csb-funding-panel small{display:block;color:#668192;font-size:10px;line-height:1.8}
.csb-funding-logo{padding:24px 0;background:#fff}
.csb-funding-logo img{width:100%;height:auto;mix-blend-mode:multiply}
.csb-final{background:var(--csb-night);color:#fff;padding:75px 0 85px}
.csb-final>.wrap{text-align:center}
.csb-final p{color:#b8d0df;font-size:13px;margin-bottom:23px}
.csb-final h2{font-size:clamp(36px,4.2vw,59px);margin-bottom:33px}
.csb-final h2 em{color:var(--csb-blue)}
.csb-final .button-row{justify-content:center}
.csb-final .btn.lime{background:var(--csb-gold);border-color:var(--csb-gold)}
.csb-final .btn.outline{color:white;border-color:#7794a5}
.csb-event-banner{display:flex;align-items:center;gap:32px;background:#dfedf5;border:1px solid #bed5e3;border-radius:22px;padding:37px 42px}
.csb-event-banner>.csb-format-icon{flex:none;width:66px;height:66px;margin:0;background:#f8efd1;color:#7b671f;border-color:#e7d99e}
.csb-event-banner>div{flex:1}
.csb-event-banner h2{font-size:34px;line-height:1.1;margin-bottom:14px}
.csb-event-banner p{font-size:13px;color:#547386;margin-bottom:0}
.csb-event-banner .eyebrow{font-size:9px;margin-bottom:14px}
.csb-event-banner .btn{font-size:12px}
.event-vr-page .page-hero h1{font-size:clamp(40px,5vw,70px)}
.event-vr-page .page-hero .button-row{margin-top:27px}
.event-vr-page .visual{max-height:540px}
.event-vr-page .visual img{max-height:540px;object-fit:cover}
.csb-event-cta{margin-top:45px;border-radius:22px;padding:40px;background:#dcecf6;display:flex;align-items:center;justify-content:space-between;gap:30px}
.csb-event-cta h2{font-size:34px;margin:0}
/* A stationary sunset Teide sits behind the home hero's independent layers. */
body:has(.home-teide-bg){background:#111820}
.home-has-teide{position:relative;background:transparent;isolation:isolate}
.home-teide-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:#111820 url('./teide-sunset-dark.webp') 65% 45%/cover no-repeat}
.home-teide-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#111820e6 0%,#11182091 35%,#1118200d 70%),linear-gradient(0deg,#111820 0%,#11182000 35%,#11182033 100%)}
.home-has-teide>.wrap{position:relative;z-index:1}
.home-has-teide .hero-art:before{opacity:.2}
.home-has-teide .hero-art>img{mix-blend-mode:lighten;position:relative;z-index:1}
.home-has-teide .orbital{z-index:2}
.home-has-teide .art-label{z-index:3}
body:has(.home-teide-bg) main>.section,body:has(.home-teide-bg) main>.ticker{position:relative;z-index:1}
body:has(.home-teide-bg) main>.section:not(.dark-section){background:var(--paper)}
body:has(.home-teide-bg) .site-footer{position:relative;z-index:1}
@media(min-width:1600px){.csb-van{left:48%;width:620px}}
@media(max-width:1050px){
 .csb-hero-grid{gap:6%;grid-template-columns:1fr 1fr}.csb-hero h1{font-size:76px}.csb-hero-note{font-size:14px}
 .csb-free-panel{padding:42px;grid-template-columns:.4fr 1fr;gap:7%}.csb-free-symbol svg{width:70px;height:70px}.csb-free-symbol span{font-size:8px}
 .csb-section-heading{gap:7%;grid-template-columns:1fr .8fr}.csb-film h3{font-size:23px}.csb-film-copy{padding:22px}
 .csb-funding-panel{padding:32px;gap:5%}.csb-signs{gap:15px}.csb-sign h3{font-size:15px}
 .csb-event-banner{padding:30px;gap:24px}.csb-event-banner h2{font-size:28px}
}
@media(max-width:760px){
 .csb-hero{padding:37px 0}.csb-hero-grid{grid-template-columns:1fr;gap:28px}.csb-hero h1{font-size:74px}.csb-intro{font-size:17px}.csb-hero-note{max-width:600px}.csb-free-link{margin-top:20px}
 .csb-scene{height:430px}.csb-scene-caption{left:28px;top:24px}.csb-scene-caption p{font-size:29px}.csb-scene-footnote{left:28px}.csb-sign-rail{right:18px;top:18px}.csb-sign-rail a{width:44px;height:44px;padding:9px;border-radius:50%;justify-content:center}.csb-sign-rail a span{display:none}.csb-van{left:30%;bottom:7%;width:430px}
 .csb-page .section{padding:55px 0}.csb-page .section.compact{padding:40px 0}
 .csb-free-panel{padding:32px;grid-template-columns:1fr;gap:24px}.csb-free-symbol{width:82px;height:82px;border-radius:24px}.csb-free-symbol svg{width:45px;height:45px}.csb-free-symbol span{display:none}.csb-free-panel .csb-free-statement{font-size:18px}.csb-free-panel p{font-size:13px}.csb-free-panel h2{font-size:38px}
 .csb-section-heading{grid-template-columns:1fr;gap:22px}.csb-section-heading>p{max-width:550px}.csb-page h2{font-size:38px}
 .csb-films{gap:13px}.csb-film-copy{padding:18px 15px}.csb-film h3{font-size:21px;min-height:72px}.csb-catalog-footer{align-items:start;flex-direction:column;gap:18px}
 .csb-how-grid{grid-template-columns:1fr;gap:20px}.csb-how-steps{max-width:600px}.csb-vr-label{font-size:65px}
 .csb-format{padding:25px}.csb-format h3{font-size:26px}.csb-format p{font-size:13px}
 .csb-signs{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.csb-sign h3{font-size:16px}
 .csb-funding-panel{grid-template-columns:1fr;gap:28px}.csb-page .csb-funding-panel h2{font-size:29px}.csb-funding-logo{max-width:560px;padding:0}
 .csb-event-banner{align-items:start;flex-wrap:wrap}.csb-event-banner>div{flex-basis:calc(100% - 100px)}.csb-event-banner .btn{margin-left:90px}.csb-event-cta{flex-direction:column;align-items:start}
 .home-teide-bg{background-position:58% 20%;background-size:auto 85vh}.home-teide-bg:after{background:linear-gradient(90deg,#111820b3,#1118202e),linear-gradient(0deg,#111820 7%,transparent 60%)}
}
@media(max-width:480px){
 .csb-hero h1{font-size:65px}.csb-hero .eyebrow{font-size:8px;letter-spacing:.1em}.csb-hero-note{font-size:14px}.csb-free-link{padding:16px;font-size:12px}.csb-free-link svg{width:28px}
 .csb-scene{height:350px}.csb-landscape{object-position:55% 70%}.csb-scene-caption{left:24px;top:22px}.csb-scene-caption p{font-size:26px}.csb-scene-caption>span{font-size:8px}.csb-van{left:10%;bottom:6%;width:360px;max-width:none}.csb-scene-footnote{left:24px;font-size:8px}
 .csb-page h2{font-size:33px}.csb-free-panel{padding:27px 23px;border-radius:20px}.csb-free-panel h2{font-size:34px}.csb-free-panel .csb-free-statement{font-size:17px}.csb-free-panel .button-row{gap:18px}.csb-free-panel .btn{font-size:12px;padding:12px 18px}
 .csb-films{grid-template-columns:1fr;gap:24px}.csb-film-image{aspect-ratio:1.6}.csb-film-copy{padding:24px}.csb-film h3{font-size:28px;min-height:0;margin-bottom:22px}.csb-film-copy>p{font-size:11px}
 .csb-formats-grid{grid-template-columns:1fr;gap:16px}.csb-format{padding:27px}.csb-format h3{font-size:29px}.csb-format p{font-size:14px}
 .csb-signs{grid-template-columns:1fr;gap:20px}.csb-sign{display:flex;gap:18px;align-items:start}.csb-sign>span{flex:none;margin:0;width:48px;height:48px}.csb-sign h3{font-size:17px;margin:0 0 7px}.csb-sign p{font-size:12px;margin:0}
 .csb-page .csb-faq h2{font-size:30px}.csb-faq .faq summary{font-size:15px}.csb-funding-panel{padding:27px 23px}.csb-funding-panel p{font-size:12px}.csb-final{padding:55px 0}.csb-final .button-row{flex-direction:column}.csb-final .btn{width:100%;max-width:320px}
 .csb-event-banner{padding:26px;gap:20px}.csb-event-banner>.csb-format-icon{width:48px;height:48px}.csb-event-banner>div{flex-basis:100%}.csb-event-banner .btn{margin-left:0;width:100%}.csb-event-banner h2{font-size:31px}.csb-event-cta{padding:27px}.csb-event-cta h2{font-size:30px}
}
@media(prefers-reduced-motion:reduce){.csb-van{transform:none!important;will-change:auto}.csb-film,.csb-film img{transition:none}}
/* Measured motion: no scroll interception, and no transition over the persistent header. */
@media(prefers-reduced-motion:no-preference){
 .js .reveal.pending{opacity:0;transform:translateY(28px);filter:blur(3px)}
 .js .reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1),filter .65s ease;transition-delay:var(--reveal-delay,0s)}
 .js .reveal.in{opacity:1;transform:none;filter:blur(0)}
 ::view-transition-old(root){animation:studio-page-leave .24s ease-in both}
 ::view-transition-new(root){animation:studio-page-open .46s cubic-bezier(.2,.7,.2,1) both}
 .csb-hero-grid{animation:content-arrive .65s cubic-bezier(.2,.65,.3,1) both}
}
@keyframes studio-page-leave{to{opacity:0;filter:blur(3px);transform:translateY(-12px) scale(.992)}}
@keyframes studio-page-open{from{opacity:0;filter:blur(3px);transform:translateY(18px);clip-path:inset(0 0 5% 0 round 18px)}to{opacity:1;filter:blur(0);transform:none;clip-path:inset(0 0 0 0 round 0)}}
@media(prefers-reduced-motion:reduce){.js .reveal,.js .reveal.pending,.js .reveal.in{filter:none;transform:none;opacity:1;transition:none!important;animation:none!important}}
.csb-page .csb-hero .eyebrow{color:var(--csb-gold)}
body:has(.home-teide-bg) main>.ticker{background:var(--paper)}
/* Real photographs lead the audiovisual offer. */
.av-photo-hero{position:relative;isolation:isolate;min-height:650px;background:#10232f;color:white;display:flex;align-items:center;overflow:hidden}
.av-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 52%;z-index:-2}
.av-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b1a26ed 0%,#0b1a26bd 34%,#0b1a2638 70%,#0b1a2626),linear-gradient(0deg,#0b1a268a,transparent 45%)}
.av-hero-content{padding:65px 0 70px}
.av-hero-content>div{max-width:675px}
.av-hero-content .eyebrow{color:#f4d35e;font-size:10px;margin-bottom:28px}
.av-photo-hero h1{font-size:clamp(54px,5.6vw,83px);line-height:1.03;letter-spacing:-.055em;margin-bottom:28px}
.av-photo-hero h1 em{color:#8fd6fc}
.av-hero-content>div>p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:470px;color:#d6e5ee;margin-bottom:29px}
.av-hero-content .btn{min-height:48px;font-size:12px;padding:12px 22px}
.av-hero-content .btn.lime{background:#f4d35e;border-color:#f4d35e;color:#15252e}
.av-hero-content .btn.outline{color:white;border-color:#b6d0df;background:#172b3b40}
.av-hero-formats{display:flex;gap:20px;color:#d0e2ed;font-size:10px;letter-spacing:.04em;margin-top:43px}
.av-hero-formats span+span{border-left:1px solid #a0bed361;padding-left:20px}
.av-hero-caption{position:absolute;bottom:24px;right:max(48px,calc((100vw - 1360px)/2));font-size:10px;color:#fff;text-shadow:0 1px 8px #000;letter-spacing:.05em}
.av-page .av-formats{padding-top:72px}
.av-page .av-cover{aspect-ratio:1.5;position:relative}
.av-page .av-cover>img{aspect-ratio:auto;height:100%;width:100%;object-fit:cover}
.av-page .av-cover:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#10212bb3);pointer-events:none}
.av-page .av-cover>span{z-index:1;bottom:17px;left:24px;color:#fff;font-size:10px;letter-spacing:.03em}
.av-page .av-video>img{object-position:50% 35%}
.av-page .av-tour>img{object-position:center}
.av-page .av-copy h3{font-size:27px}
.av-page .av-card{background:#fbfcfd}
.av-page .av-more{border-top:1px solid #d6e2e9;margin-top:20px;padding-top:17px}
.av-page .av-more>span{font-size:20px;font-weight:400}
.av-portfolio{background:#e6edf2;border-top:1px solid #d1dfe9;border-bottom:1px solid #d1dfe9}
.av-portfolio-heading{display:grid;grid-template-columns:1.2fr .7fr;align-items:end;gap:12%;margin-bottom:36px}
.av-portfolio-heading h2{font-size:clamp(35px,4vw,56px);margin-bottom:0}
.av-portfolio-heading>p{font-size:14px;color:#577489;line-height:1.85;margin:0 0 4px}
.av-portfolio-heading .eyebrow{color:#396e8e;font-size:10px;margin-bottom:20px}
.av-portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:178px;gap:17px}
.av-portfolio-item{position:relative;min-width:0;overflow:hidden;border:0;padding:0;border-radius:16px;background:#233a49;display:block;text-align:left;color:white;grid-column:span 4;isolation:isolate}
.av-portfolio-1{grid-column:span 8;grid-row:span 2}
.av-portfolio-4{grid-row:span 2}
.av-portfolio-5{grid-column:span 8;grid-row:span 2}
.av-portfolio-item>img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0;z-index:-2}
.av-portfolio-item:hover>img{transform:scale(1.045)}
.av-portfolio-shade{position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#0b1c2ae6);z-index:-1}
.av-portfolio-caption{position:absolute;left:24px;right:45px;bottom:23px;display:block;text-shadow:0 1px 9px #0003}
.av-portfolio-caption small{font-size:9px;letter-spacing:.07em;text-transform:uppercase;display:block;color:#cbe7f8;margin-bottom:8px}
.av-portfolio-caption strong{font-size:22px;line-height:1.15;letter-spacing:-.025em;font-weight:600;display:block}
.av-portfolio-1 .av-portfolio-caption strong,.av-portfolio-5 .av-portfolio-caption strong{font-size:31px}
.av-portfolio-zoom{position:absolute;right:17px;top:17px;width:31px;height:31px;display:grid;place-items:center;border:1px solid #ffffff78;background:#10263788;color:#fff;border-radius:50%;font-size:23px;font-weight:400;line-height:1;backdrop-filter:blur(8px)}
.av-gallery-hint{color:#648294;font-size:11px;margin:20px 0 0}
.av-viewer-open{overflow:hidden}
.av-viewer{padding:0;width:min(1240px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 44px);background:#101d28;color:white;border:1px solid #5b7689;border-radius:20px;box-shadow:0 35px 100px #0006}
.av-viewer::backdrop{background:#08131dde;backdrop-filter:blur(9px)}
.av-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 23px;background:#172a38;border-bottom:1px solid #334f62}
.av-viewer-caption{font-size:13px;line-height:1.5;margin:0;color:#d7e8f4}
.av-viewer-close{display:flex;align-items:center;gap:13px;border:1px solid #608094;background:#203a4b;color:white;border-radius:24px;padding:6px 13px;font-size:11px;white-space:nowrap}
.av-viewer-close>span{font-size:23px;line-height:1}
.av-viewer-image{width:100%;height:min(69dvh,760px);object-fit:contain;background:#0d1822}
.av-viewer-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:13px 20px}
.av-viewer-controls button{display:grid;place-items:center;width:37px;height:37px;border:1px solid #577589;background:#203c4e;color:#fff;border-radius:50%;font-size:19px}
.av-viewer-controls button:hover,.av-viewer-close:hover{background:#345a73}
.av-viewer-count{font-size:11px;color:#abc6d8;min-width:44px;text-align:center}
@media(prefers-reduced-motion:no-preference){.av-viewer[open]{animation:quickview-in .22s ease-out}.av-hero-content>div{animation:content-arrive .6s cubic-bezier(.2,.65,.3,1) both}}
@media(max-width:1050px){
 .av-photo-hero{min-height:590px}.av-hero-content>div{max-width:590px}.av-photo-hero h1{font-size:65px}.av-hero-shade{background:linear-gradient(90deg,#0b1a26ed,#0b1a268c 65%,#0b1a2655)}
 .av-portfolio-grid{grid-auto-rows:160px;gap:14px}.av-portfolio-caption{left:20px;bottom:20px}.av-portfolio-caption strong{font-size:19px}.av-portfolio-1 .av-portfolio-caption strong,.av-portfolio-5 .av-portfolio-caption strong{font-size:27px}
}
@media(max-width:760px){
 .av-photo-hero{min-height:610px}.av-hero-content{padding:48px 0 65px}.av-photo-hero h1{font-size:60px}.av-hero-content>div>p:not(.eyebrow){font-size:16px;max-width:450px}.av-hero-image{object-position:65% center}.av-hero-caption{right:28px;font-size:9px}
 .av-portfolio-heading{grid-template-columns:1fr;gap:23px}.av-portfolio-heading>p{max-width:560px}.av-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:205px;gap:14px}.av-portfolio-item{grid-column:auto;grid-row:auto}.av-portfolio-1,.av-portfolio-4,.av-portfolio-5,.av-portfolio-8{grid-column:1/-1}.av-portfolio-caption strong{font-size:23px}.av-portfolio-1 .av-portfolio-caption strong,.av-portfolio-5 .av-portfolio-caption strong{font-size:27px}.av-portfolio-5>img{object-position:center 58%}
 .av-page .av-formats{padding-top:48px}.av-page .av-copy h3{font-size:25px}
}
@media(max-width:480px){
 .av-photo-hero{min-height:650px;align-items:start}.av-hero-content{padding:44px 0 65px}.av-hero-content .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:25px}.av-photo-hero h1{font-size:54px;line-height:1.07}.av-hero-content>div>p:not(.eyebrow){font-size:15px;line-height:1.8;margin-bottom:25px}.av-hero-shade{background:linear-gradient(90deg,#0b1a26e8,#0b1a2673),linear-gradient(0deg,#0b1a2699,transparent 50%)}.av-hero-image{object-position:58% center}
 .av-hero-content .button-row{gap:12px}.av-hero-content .btn{font-size:12px}.av-hero-formats{gap:12px;flex-wrap:wrap;margin-top:30px;font-size:9px}.av-hero-formats span+span{padding-left:12px}.av-hero-caption{bottom:22px;right:24px;font-size:8px}
 .av-page .av-cover{aspect-ratio:1.4}.av-page .av-cover>span{font-size:9px;left:22px}.av-page .av-copy h3{font-size:28px}
 .av-portfolio-heading h2{font-size:37px}.av-portfolio-heading>p{font-size:13px}.av-portfolio-grid{grid-auto-rows:190px;gap:11px}.av-portfolio-item{border-radius:12px}.av-portfolio-caption{left:16px;right:16px;bottom:17px}.av-portfolio-caption small{font-size:8px;line-height:1.4;margin-bottom:7px}.av-portfolio-caption strong{font-size:18px}.av-portfolio-1 .av-portfolio-caption strong,.av-portfolio-5 .av-portfolio-caption strong{font-size:25px}.av-portfolio-zoom{top:12px;right:12px;width:26px;height:26px;font-size:20px}
 .av-viewer{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:15px}.av-viewer-head{padding:14px 16px;gap:14px}.av-viewer-caption{font-size:11px}.av-viewer-image{height:57dvh}.av-viewer-close{font-size:10px;padding:6px 10px}
}
@media(prefers-reduced-motion:reduce){.av-portfolio-item>img{transition:none}.av-viewer[open]{animation:none}}

/* A fixed photographic backdrop, with content moving over it. */
.av-page{position:relative;isolation:isolate;background:transparent}
.av-page .av-photo-hero{isolation:auto;background:transparent;overflow:visible;min-height:clamp(620px,calc(100svh - 90px),900px)}
.av-page .av-hero-image{position:fixed;inset:0;height:100vh;height:100dvh;width:100%;object-fit:cover;object-position:60% 50%;z-index:-2;pointer-events:none}
.av-page .av-hero-shade{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#091522e8 0%,#091522b8 30%,#09152240 65%,#09152214),linear-gradient(0deg,#09152294,transparent 55%)}
.av-page>section:not(.av-photo-hero){position:relative;z-index:1;background:var(--paper)}
.av-page>.av-portfolio{background:#e5edf3}
.av-page>.av-equipment{background:linear-gradient(140deg,#132836,#101b26)}
.av-page .av-hero-content{padding:85px 0 95px}
.av-page .av-hero-content>div{max-width:740px}
.av-page .av-photo-hero h1{font-size:clamp(54px,5.7vw,88px);max-width:740px;text-wrap:balance;line-height:1.06}
.av-page .av-hero-content>div>p:not(.eyebrow){max-width:500px;font-size:18px;line-height:1.75;color:#e1edf5}
.av-page .av-hero-formats{margin-top:36px;align-items:center;gap:15px;font-size:11px;flex-wrap:wrap}
.av-hero-formats a{font-weight:700;color:#f4d35e;text-decoration:underline;text-underline-offset:5px}
.av-page .av-hero-caption{bottom:28px;color:#e8f0f6}
.av-wayfinding{position:relative;z-index:2;background:#142431;border-top:1px solid #ffffff20;color:#e2edf6}
.av-wayfinding>.wrap{min-height:76px;display:flex;align-items:center;gap:12px}
.av-wayfinding span{margin-right:auto;color:#f4d35e;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700}
.av-wayfinding a{padding:11px 16px;border:1px solid #ffffff20;border-radius:12px;font-size:12px;font-weight:600;transition:background .2s,border-color .2s}
.av-wayfinding a:hover{background:#ffffff0b;border-color:#82c5ec}
.av-page .av-formats{padding:82px 0 90px}
.av-page .av-formats .section-head{margin-bottom:36px;align-items:start}
.av-page .av-formats .section-head>p{font-size:15px;line-height:1.75;max-width:360px}
.av-page .av-grid{gap:25px;align-items:stretch}
.av-page .av-card{border-radius:25px;border:1px solid #d0dfe9;background:linear-gradient(145deg,#fff,#f7fafc);box-shadow:inset 0 1px 0 #fff,0 5px 8px #14374b04,0 16px 32px #14374b09;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.av-page .av-cover{aspect-ratio:16/10;margin:9px 9px 0;border-radius:17px;overflow:hidden}
.av-page .av-cover>span{left:20px;bottom:19px;font-size:10px;font-weight:600;max-width:calc(100% - 90px);line-height:1.5}
.av-format-badge{position:absolute;top:15px;right:15px;z-index:2;width:45px;height:45px;display:grid;place-items:center;border:1px solid #ffffff66;border-radius:14px;background:#0c2536c9;backdrop-filter:blur(10px);color:#9bd9ff;box-shadow:inset 0 1px 0 #ffffff20}
.av-format-badge svg{width:25px;height:25px}
.av-card:nth-child(even) .av-format-badge{color:#f4d35e}
.av-page .av-copy{padding:26px 28px 27px}
.av-page .av-copy h3{font-size:28px;line-height:1.16;letter-spacing:-.035em;margin-bottom:14px;text-wrap:balance}
.av-page .av-copy .av-promise{font-size:14px;line-height:1.6;color:#285d7b;font-weight:700;margin-bottom:12px}
.av-page .av-copy p:not(.av-promise){font-size:14px;line-height:1.75;color:#5c7282;margin-bottom:0}
.av-page .av-more{margin-top:auto;padding:21px 0 0;border-top:0;color:#245f85;font-size:12px;font-weight:700}
.av-page .av-more:before{content:"";display:block;width:28px;height:2px;background:#b7d5e6;margin-right:12px}
.av-page .av-card:nth-child(even) .av-more:before{background:#dbc475}
.av-page .av-process{padding:75px 0 80px;background:#e1eaf0;border-top:1px solid #ccdce7;border-bottom:1px solid #ccdce7}
.av-process-heading .eyebrow{color:#3c7394;font-size:10px;margin-bottom:20px}
.av-process-heading h2{font-size:clamp(34px,3.6vw,52px);margin-bottom:36px}
.av-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.av-process-grid article{position:relative;padding:28px 28px 26px;border:1px solid #c2d4e1;border-radius:20px;background:#f4f8fb}
.av-process-grid article>span{display:grid;place-items:center;width:36px;height:36px;margin-bottom:22px;border:1px solid #c0d6e4;border-radius:12px;background:#dfeef7;color:#285f82;font-weight:700;font-size:13px}
.av-process-grid article:nth-child(2)>span{background:#f7edce;border-color:#e1d29c;color:#766120}
.av-process-grid h3{font-size:24px;line-height:1.2;margin-bottom:14px}
.av-process-grid p{font-size:14px;line-height:1.75;margin:0;color:#577184}
.av-page .equipment-card{border-radius:22px;background:linear-gradient(145deg,#233c4d,#162b3a);border-color:#496173;box-shadow:inset 0 1px 0 #ffffff0c,0 12px 28px #00000012}
.av-page .equipment-card p{font-size:14px;color:#bfd0dc}
.av-page .equipment-icon{box-shadow:inset 0 1px 0 #ffffff14;border-radius:17px;background:linear-gradient(145deg,#79c9f51c,#79c9f506)}
.av-page .av-portfolio-item{border:1px solid #ffffff66;box-shadow:0 12px 28px #17364713;border-radius:20px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.av-page .av-card:hover{transform:translateY(-6px);border-color:#9dbed4;box-shadow:0 12px 20px #14374b09,0 26px 48px #14374b15}.av-page .av-card:hover .av-cover>img{transform:scale(1.035)}}
@media(max-width:1050px){.av-page .av-copy{padding:24px}.av-page .av-copy h3{font-size:26px}.av-wayfinding a{padding:10px 12px}.av-wayfinding span{max-width:130px}.av-process-grid{gap:18px}.av-process-grid article{padding:25px}}
@media(max-width:760px){.av-page .av-photo-hero{min-height:680px;min-height:calc(100svh - 73px)}.av-page .av-hero-content{padding:65px 0 85px}.av-page .av-hero-image{object-position:62% center}.av-page .av-hero-shade{background:linear-gradient(90deg,#091522e3,#0915225c),linear-gradient(0deg,#0915227a,transparent 70%)}.av-wayfinding>.wrap{flex-wrap:wrap;gap:8px;padding:18px 0}.av-wayfinding span{width:100%;max-width:none;margin:0 0 4px}.av-wayfinding a{font-size:11px;padding:10px 12px}.av-page .av-formats{padding:55px 0 60px}.av-page .av-grid{gap:20px}.av-page .av-copy{padding:23px}.av-page .av-copy h3{font-size:25px}.av-page .av-cover>span{font-size:9px;left:16px;bottom:15px}.av-format-badge{width:37px;height:37px;right:12px;top:12px;border-radius:11px}.av-format-badge svg{width:22px;height:22px}.av-process-grid{grid-template-columns:1fr}.av-process-grid article{padding:25px 27px}.av-process-grid article>span{margin-bottom:19px}.av-page .av-process{padding:55px 0}.av-process-grid h3{font-size:26px}}
@media(max-width:480px){.av-page .av-hero-content{padding:48px 0 72px}.av-page .av-photo-hero h1{font-size:53px}.av-page .av-hero-content>div>p:not(.eyebrow){font-size:16px}.av-page .av-hero-formats{gap:12px;font-size:10px;margin-top:29px}.av-page .av-hero-formats span+span{padding-left:12px}.av-page .av-hero-formats a{flex-basis:100%;margin-top:8px}.av-page .av-hero-caption{font-size:8px;bottom:19px}.av-page .av-cover{margin:8px 8px 0;border-radius:16px;aspect-ratio:1.5}.av-page .av-card{border-radius:23px}.av-page .av-copy{padding:25px}.av-page .av-copy h3{font-size:28px}.av-page .av-copy .av-promise{font-size:14px}.av-page .av-more{padding-top:22px}.av-wayfinding a{flex:1 1 calc(50% - 8px);text-align:center}.av-process-heading h2{font-size:35px}.av-page .av-portfolio-item{border-radius:15px}}
@media(prefers-reduced-motion:reduce){.av-page .av-hero-image,.av-page .av-hero-shade{position:absolute;height:100%}.av-page .av-photo-hero{position:relative;isolation:isolate;overflow:hidden}.av-page .av-card{transition:none}.av-page .av-card:hover{transform:none}}

/* On-location team photography and three unambiguous immersive formats. */
.av-team-grid,.vr-rig-grid{display:grid;grid-template-columns:.85fr 1fr;gap:8%;align-items:center}
.av-team figure,.vr-rig figure{margin:0;position:relative;border-radius:26px;overflow:hidden;border:1px solid #c8dae6;box-shadow:0 20px 45px #1c3c5314}
.av-team figure img,.vr-rig figure img{width:100%;height:620px;object-fit:cover;object-position:center 65%}
.av-team figcaption,.vr-rig figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#122533db);padding:50px 25px 23px;font-size:11px;color:white;letter-spacing:.03em}
.av-team .eyebrow{color:#3b7496;font-size:10px}
.av-team h2{font-size:clamp(34px,3.8vw,55px);line-height:1.1}
.av-team .lead{font-size:18px;line-height:1.75}
.av-team p:not(.lead):not(.eyebrow){font-size:15px;color:#5e7688;line-height:1.8;max-width:580px}
.av-team-tags{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 30px}
.av-team-tags span{font-size:11px;background:#e0edf5;border:1px solid #bfd5e4;border-radius:30px;padding:7px 12px;color:#386b8c}
.vr-page{background:var(--paper)}
.vr-intro{background:radial-gradient(ellipse at 100% 0,#284f6a,transparent 65%),#142633;color:#fff;padding:65px 0 55px}
.vr-intro .eyebrow{color:#f4d35e;font-size:10px;margin-bottom:25px}
.vr-intro h1{font-size:clamp(52px,6vw,86px);line-height:1.05;letter-spacing:-.05em;margin-bottom:25px}
.vr-intro h1 em{color:#94d4fa}
.vr-intro>.wrap>p:not(.eyebrow){max-width:700px;font-size:18px;line-height:1.75;color:#c9deec;margin-bottom:28px}
.vr-intro-links{display:flex;gap:10px;flex-wrap:wrap}
.vr-intro-links a{font-size:12px;border:1px solid #7495ab70;background:#ffffff08;border-radius:12px;padding:11px 17px;color:#fff;font-weight:600}
.vr-intro-links a:hover{background:#ffffff13;border-color:#94d4fa}
.vr-services{padding:55px 0 65px}
.vr-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;align-items:stretch}
.vr-service{border:1px solid #d0dfe9;border-radius:25px;overflow:hidden;background:linear-gradient(145deg,#fff,#f7fafc);box-shadow:inset 0 1px 0 #fff,0 16px 34px #163f5910;scroll-margin-top:120px}
.vr-service-image{position:relative;margin:9px 9px 0;border-radius:17px;overflow:hidden;aspect-ratio:1.6;background:#142c3d}
.vr-service-image>img{width:100%;height:100%;object-fit:cover}
.vr-service-image>span{display:grid;place-items:center;position:absolute;top:15px;left:15px;width:46px;height:46px;border-radius:14px;background:#142c3ddb;border:1px solid #ffffff66;color:#94d4fa;backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 #ffffff20}
.vr-service-image svg{width:27px;height:27px}
.vr-service:nth-child(2) .vr-service-image>span{color:#f4d35e}
.vr-service-copy{padding:27px;display:flex;flex-direction:column;height:calc(100% - 260px)}
.vr-service .vr-format-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#346f93;margin-bottom:13px}
.vr-service:nth-child(2) .vr-format-label{color:#7b5f24}
.vr-service h2{font-size:31px;line-height:1.15;letter-spacing:-.035em;margin-bottom:17px}
.vr-service-copy>p:not(.vr-format-label){font-size:14px;line-height:1.8;color:#526d80;margin-bottom:22px}
.vr-service dl{border-top:1px solid #d7e3ec;padding-top:19px;margin:0 0 25px}
.vr-service dt{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#3a6a88;margin:0 0 7px}
.vr-service dd{font-size:13px;line-height:1.7;margin:0 0 16px;color:#597386}
.vr-service dd:last-child{margin-bottom:0}
.vr-service .btn{margin-top:auto;width:100%;font-size:12px;min-height:44px}
.vr-format-note{font-size:13px;line-height:1.8;color:#4e6d81;margin:30px 0 0;max-width:900px;padding-left:20px;border-left:3px solid #ddc779}
.vr-rig{background:linear-gradient(140deg,#142c3e,#101e2b);color:#fff;padding:80px 0}
.vr-rig figure{border-color:#577082}
.vr-rig .eyebrow{color:#f4d35e;font-size:10px;margin-bottom:23px}
.vr-rig h2{font-size:clamp(35px,3.8vw,54px);line-height:1.1;margin-bottom:22px}
.vr-rig h2 em{color:#94d4fa}
.vr-rig-lead{font-size:17px;line-height:1.75;color:#c9dfed;max-width:600px;margin-bottom:17px}
.vr-dual-diagram{display:block;width:100%;max-width:390px;height:auto;margin:15px 0 25px}
.vr-rig-details{list-style:none;padding:0;margin:0 0 28px}
.vr-rig-details li{display:flex;gap:17px;align-items:start;padding:16px 0;border-top:1px solid #4b657744}
.vr-rig-details li>span{color:#a1d5f6;padding-top:2px;flex:none}
.vr-rig-details li svg{width:26px;height:26px}
.vr-rig-details h3{font-size:20px;line-height:1.2;margin-bottom:7px}
.vr-rig-details p{font-size:13px;line-height:1.7;color:#bdd2df;margin:0}
.vr-rig .btn.lime{background:#f4d35e;border-color:#f4d35e}
.vr-next{padding:65px 0 75px}
.vr-next>.wrap{display:flex;justify-content:space-between;align-items:center;gap:50px}
.vr-next .eyebrow{color:#3d7293;font-size:10px}
.vr-next h2{font-size:40px;line-height:1.15}
.vr-next p:not(.eyebrow){font-size:15px;color:#587487;max-width:620px;line-height:1.8;margin-bottom:0}
.vr-next .button-row{flex-direction:column;align-items:stretch;flex-shrink:0}
@media(max-width:1100px){.vr-service-copy{padding:23px;height:auto}.vr-service{display:flex;flex-direction:column}.vr-service-copy{flex:1}.vr-service h2{font-size:27px}.vr-services-grid{gap:16px}.av-team-grid,.vr-rig-grid{gap:6%}.av-team figure img,.vr-rig figure img{height:570px}.vr-next>.wrap{gap:30px}.vr-next .button-row .btn{font-size:12px}}
@media(min-width:1101px){.vr-service{display:flex;flex-direction:column}.vr-service-copy{height:auto;flex:1}}
@media(max-width:800px){.vr-services-grid{grid-template-columns:1fr}.vr-service{display:grid;grid-template-columns:.85fr 1fr}.vr-service-image{margin:9px;aspect-ratio:auto;min-height:300px}.vr-service-copy{padding:27px}.vr-service h2{font-size:30px}.av-team-grid,.vr-rig-grid{grid-template-columns:1fr;gap:35px}.av-team figure,.vr-rig figure{max-width:550px;width:100%;margin:auto}.av-team figure img,.vr-rig figure img{height:620px}.vr-rig>.wrap>div{max-width:650px}.vr-next>.wrap{display:block}.vr-next .button-row{flex-direction:row;margin-top:28px}.vr-intro{padding:47px 0}.vr-intro>.wrap>p:not(.eyebrow){font-size:17px}.vr-rig{padding:60px 0}}
@media(max-width:540px){.vr-intro{padding:37px 0}.vr-intro .eyebrow{font-size:8px;letter-spacing:.1em}.vr-intro h1{font-size:55px}.vr-intro>.wrap>p:not(.eyebrow){font-size:16px}.vr-intro-links{gap:8px}.vr-intro-links a{font-size:11px;padding:10px 13px}.vr-services{padding:33px 0 45px}.vr-service{display:flex;border-radius:23px}.vr-service-image{min-height:0;aspect-ratio:1.6;margin:8px 8px 0}.vr-service-copy{padding:25px}.vr-service h2{font-size:31px}.vr-service-copy>p:not(.vr-format-label){font-size:14px}.vr-format-note{font-size:12px;margin-top:25px;padding-left:17px}.av-team figure img,.vr-rig figure img{height:auto;aspect-ratio:3/4;object-fit:cover}.av-team h2{font-size:35px}.av-team .lead{font-size:16px}.av-team p:not(.lead):not(.eyebrow){font-size:14px}.av-team-tags{margin:23px 0 26px}.vr-rig h2{font-size:36px}.vr-rig-lead{font-size:16px}.vr-next h2{font-size:34px}.vr-next .button-row{flex-direction:column}.vr-next .button-row .btn{font-size:13px}}

/* Google services: recognisable brand context and a dated professional credential. */
.gm-page{background:var(--paper)}
.gm-hero{background:radial-gradient(ellipse at 100% 0,#254a65,transparent 65%),#142633;color:#fff;padding:65px 0 70px}
.gm-hero-grid{display:grid;grid-template-columns:1fr 310px;align-items:center;gap:9%}
.gm-copy .eyebrow{font-size:10px;color:#f4d35e;margin-bottom:25px}
.gm-copy h1{font-size:clamp(49px,5vw,74px);line-height:1.07;letter-spacing:-.045em;max-width:820px;margin-bottom:26px}
.gm-copy h1 em{color:#98d9ff}
.gm-copy>p:not(.eyebrow){max-width:620px;font-size:18px;line-height:1.8;color:#cde0ed;margin-bottom:28px}
.gm-copy .btn.lime{background:#f4d35e;border-color:#f4d35e}
.gm-copy .btn.outline{color:#fff;border-color:#7897ab}
.gm-brand-card{padding:39px 31px 32px;background:#fff;border:1px solid #d2e1eb;border-radius:25px;box-shadow:inset 0 1px 0 #fff,0 22px 50px #00000020;color:#354f62}
.gm-brand-card img{display:block;width:100%;height:auto;margin-bottom:24px}
.gm-brand-card>span{display:block;padding-top:20px;border-top:1px solid #dce6ed;font-size:12px;font-weight:700;color:#3c5b70}
.gm-brand-card>p{font-size:13px;line-height:1.8;color:#708491;margin:12px 0 0}
.gm-expert{padding:80px 0}
.gm-expert-grid{display:grid;grid-template-columns:.8fr 1fr;gap:8%;align-items:center}
.gm-expert figure{margin:0;position:relative;border-radius:26px;overflow:hidden;border:1px solid #cfdee8;box-shadow:0 20px 45px #193c5215}
.gm-expert figure img{width:100%;height:610px;object-fit:cover;object-position:55% 65%}
.gm-expert figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#102638d9);padding:45px 26px 23px;font-size:11px;color:white}
.gm-expert .eyebrow{font-size:10px;color:#3a7091;margin-bottom:23px}
.gm-expert h2{font-size:clamp(35px,3.5vw,51px);line-height:1.12;margin-bottom:26px}
.gm-expert p:not(.eyebrow){font-size:15px;line-height:1.8;color:#587286}
.gm-expert .gm-expert-lead{font-size:17px;color:#385a70}
.gm-credential{display:flex;align-items:center;gap:17px;padding:20px 23px;background:linear-gradient(145deg,#e0eef7,#f5f8fa);border:1px solid #bdd5e5;border-radius:18px;margin-bottom:24px;box-shadow:inset 0 1px 0 #fff}
.gm-credential>span{display:grid;place-items:center;width:48px;height:48px;flex:none;color:#346c91;border-radius:14px;border:1px solid #b9d3e5;background:#edf7fc}
.gm-credential svg{width:29px;height:29px}
.gm-credential>div>p{font-size:10px!important;text-transform:uppercase;font-weight:700;letter-spacing:.07em;color:#537b96!important;margin:0 0 6px}
.gm-credential h3{font-size:23px;line-height:1.2;letter-spacing:-.025em;margin:0;color:#214761}
.gm-expert .gm-credential-note{font-size:11px!important;line-height:1.8;margin:0 0 25px;color:#6d8290!important;padding-left:15px;border-left:2px solid #d7c789;max-width:630px}
.gm-services{background:#e5edf3;padding:75px 0 85px;border-top:1px solid #d1dfe9;border-bottom:1px solid #d1dfe9;scroll-margin-top:100px}
.gm-services .eyebrow{color:#3e7597;font-size:10px}
.gm-services h2{font-size:clamp(34px,3.6vw,52px);line-height:1.12}
.gm-services .section-head>p{font-size:15px;line-height:1.8;max-width:350px}
.gm-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gm-service{display:flex;flex-direction:column;border:1px solid #cadce8;border-radius:25px;background:linear-gradient(145deg,#fff,#f7fafc);overflow:hidden;box-shadow:inset 0 1px 0 #fff,0 16px 34px #163e5610}
.gm-service-photo{position:relative;aspect-ratio:1.6;overflow:hidden;margin:9px 9px 0;border-radius:17px}
.gm-service-photo>img{width:100%;height:100%;object-fit:cover}
.gm-service:nth-child(2) .gm-service-photo>img{object-position:center 35%}
.gm-service-photo>span{position:absolute;top:15px;left:15px;display:grid;place-items:center;width:45px;height:45px;border-radius:14px;color:#a1dcff;background:#142d3ed6;border:1px solid #ffffff66;backdrop-filter:blur(8px)}
.gm-service-photo svg{width:26px;height:26px}
.gm-service:nth-child(2) .gm-service-photo>span{color:#f4d35e}
.gm-service-copy{padding:26px 27px 28px;display:flex;flex-direction:column;flex:1}
.gm-service-copy .gm-service-label{font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#3b7396;margin-bottom:14px}
.gm-service h3{font-size:28px;line-height:1.16;letter-spacing:-.03em;margin-bottom:17px}
.gm-service-copy>p:not(.gm-service-label){font-size:14px;line-height:1.8;color:#597487;margin-bottom:25px}
.gm-service .btn{font-size:12px;margin-top:auto;min-height:44px}
.gm-profile{padding:75px 0;background:linear-gradient(140deg,#172f40,#11212f);color:#fff}
.gm-profile>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.gm-profile .eyebrow{font-size:10px;color:#f4d35e}
.gm-profile h2{font-size:clamp(34px,3.5vw,50px);line-height:1.12}
.gm-profile h2 em{color:#98d9ff}
.gm-profile p:not(.eyebrow){font-size:16px;line-height:1.8;color:#c1d7e5;max-width:520px}
.gm-profile ul{list-style:none;padding:0;margin:0}
.gm-profile li{display:flex;align-items:start;gap:21px;padding:23px 0;border-bottom:1px solid #4a65754f}
.gm-profile li:first-child{padding-top:0}
.gm-profile li:last-child{border-bottom:0;padding-bottom:0}
.gm-profile li>svg{width:29px;height:29px;flex:none;color:#a3dafa;margin-top:2px}
.gm-profile li:nth-child(even)>svg{color:#f4d35e}
.gm-profile li strong{display:block;font-size:19px;line-height:1.3;letter-spacing:-.015em;font-weight:600;margin-bottom:9px}
.gm-profile li span{display:block;font-size:14px;line-height:1.75;color:#bad1e0}
.gm-faq{padding:70px 0}
.gm-faq>.wrap{max-width:1000px}
.gm-faq .eyebrow{font-size:10px;color:#3b7396}
.gm-faq h2{font-size:39px}
.gm-final{background:#e1ecf4;padding:65px 0 75px;border-top:1px solid #cadce8;text-align:center}
.gm-final h2{font-size:clamp(35px,4vw,55px);line-height:1.12;margin-bottom:22px}
.gm-final p{font-size:15px;line-height:1.8;color:#587488;margin-bottom:26px}
.gm-final .btn.lime{background:#f4d35e;border-color:#e5c44f}
@media(max-width:1050px){.gm-hero-grid{grid-template-columns:1fr 250px;gap:6%}.gm-brand-card{padding:30px 25px}.gm-copy h1{font-size:60px}.gm-expert-grid{gap:6%}.gm-expert figure img{height:590px}.gm-service-grid{gap:18px}.gm-service-copy{padding:23px}.gm-service h3{font-size:26px}.gm-profile>.wrap{gap:6%}}
@media(max-width:760px){.gm-hero{padding:39px 0 45px}.gm-hero-grid{display:block;position:relative}.gm-brand-card{position:absolute;top:0;right:0;width:114px;padding:15px 13px;border-radius:13px}.gm-brand-card img{margin:0}.gm-brand-card>span,.gm-brand-card>p{display:none}.gm-copy .eyebrow{padding-right:135px;min-height:34px;line-height:1.6;margin-bottom:25px;max-width:none}.gm-copy h1{font-size:56px}.gm-copy>p:not(.eyebrow){font-size:16px}.gm-expert-grid{grid-template-columns:1fr;gap:35px}.gm-expert figure{max-width:540px;width:100%;margin:auto}.gm-expert figure img{height:auto;aspect-ratio:3/4;object-fit:cover}.gm-expert{padding:50px 0}.gm-expert h2{font-size:39px}.gm-service-grid{grid-template-columns:1fr;gap:23px}.gm-service{display:grid;grid-template-columns:.8fr 1fr}.gm-service-photo{margin:9px;aspect-ratio:auto;min-height:280px}.gm-services{padding:50px 0 60px}.gm-profile{padding:55px 0}.gm-profile>.wrap{grid-template-columns:1fr;gap:28px}.gm-profile p:not(.eyebrow){font-size:15px}.gm-faq{padding:50px 0}.gm-final{padding:50px 0 60px}}
@media(max-width:480px){.gm-copy .eyebrow{font-size:8px;letter-spacing:.1em;padding-right:125px;min-height:39px}.gm-brand-card{width:107px;padding:15px 12px}.gm-copy h1{font-size:47px;line-height:1.1}.gm-copy .button-row{gap:10px}.gm-copy .btn{font-size:12px;padding:12px 15px}.gm-expert h2{font-size:35px}.gm-expert .gm-expert-lead{font-size:16px}.gm-expert p:not(.eyebrow){font-size:14px}.gm-credential{padding:18px;gap:13px}.gm-credential>span{width:41px;height:41px;border-radius:12px}.gm-credential svg{width:25px;height:25px}.gm-credential h3{font-size:21px}.gm-credential>div>p{font-size:9px!important}.gm-service{display:flex;border-radius:23px}.gm-service-photo{margin:8px 8px 0;aspect-ratio:1.6;min-height:0}.gm-service-copy{padding:25px}.gm-service h3{font-size:28px}.gm-profile h2{font-size:35px}.gm-profile li{gap:17px}.gm-profile li strong{font-size:19px}.gm-faq h2{font-size:33px}}
/* Navigation labels stay on a single line with a shared control height. */
.av-wayfinding a{white-space:nowrap;min-height:42px;display:inline-flex;align-items:center;justify-content:center}
/* Product icon in a square tile; mobile wordmark shares the heading's top row. */
.gm-credential>span{width:58px;height:58px;border-radius:16px;background:#fff;border-color:#c7d9e6;box-shadow:inset 0 1px 0 #fff,0 4px 12px #163d5508}
.gm-credential>span>img{width:42px;height:42px;object-fit:contain;display:block}
@media(max-width:760px){.gm-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 114px;align-items:center;gap:0 20px}.gm-copy{display:contents}.gm-copy .eyebrow{grid-column:1;grid-row:1;padding:0;min-height:0;margin:0;font-size:9px;line-height:1.7}.gm-brand-card{position:static;grid-column:2;grid-row:1;align-self:center;justify-self:end;width:114px;padding:16px 14px;margin:0}.gm-copy h1{grid-column:1/-1;margin-top:29px}.gm-copy>p:not(.eyebrow),.gm-copy>.button-row{grid-column:1/-1}.gm-credential>span{width:52px;height:52px}.gm-credential>span>img{width:39px;height:39px}}
@media(max-width:480px){.gm-hero-grid{grid-template-columns:minmax(0,1fr) 110px;gap:0 17px}.gm-brand-card{width:110px;padding:16px 13px}.gm-copy .eyebrow{padding:0;min-height:0;font-size:8px}.gm-credential>span{width:48px;height:48px;border-radius:13px}.gm-credential>span>img{width:36px;height:36px}}
/* Full lifecycle support, followed by real NFC products with the shop quick view. */
.gm-support-card{display:flex;flex-direction:column;padding:28px;background:radial-gradient(ellipse at 100% 0,#e6f1f9,transparent 65%),linear-gradient(145deg,#fff,#f7fafc);min-height:325px}
.gm-support-icon{width:57px;height:57px;display:grid;place-items:center;margin-bottom:25px;color:#316c94;border:1px solid #bcd5e7;border-radius:17px;background:linear-gradient(145deg,#edf8ff,#dcebf6);box-shadow:inset 0 1px 0 #fff}
.gm-support-icon svg{width:29px;height:29px}
.gm-support-card:nth-child(even) .gm-support-icon{background:linear-gradient(145deg,#fff9e8,#f2e7bd);color:#806922;border-color:#e1d19a}
.gm-support-card .gm-service-copy{padding:0}
.gm-support-card h3{font-size:26px}
.gm-support-card .gm-service-copy>p{font-size:14px;line-height:1.8}
.gm-support-card .btn{align-self:start;width:auto;min-width:125px}
.gm-nfc{padding:75px 0 80px;background:#f5f8fa}
.gm-nfc .eyebrow{font-size:10px;color:#3a7295}
.gm-nfc h2{font-size:clamp(34px,3.6vw,50px);line-height:1.14}
.gm-nfc .section-head>p{font-size:15px;line-height:1.8;max-width:340px}
.gm-nfc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gm-nfc-card{border-radius:24px;background:#fff;border-color:#d0e0eb;box-shadow:0 12px 30px #163c550a}
.gm-nfc-image{display:block;aspect-ratio:1.4;overflow:hidden;background:#e8eef2;margin:9px 9px 0;border-radius:16px}
.gm-nfc-image img{width:100%;height:100%;object-fit:cover}
.gm-nfc-copy{display:flex;flex-direction:column;flex:1;padding:25px 27px 28px}
.gm-nfc-copy h3{font-size:26px;line-height:1.2;margin-bottom:15px}
.gm-nfc-copy p{font-size:14px;line-height:1.8;color:#5b7689;margin-bottom:22px}
.gm-nfc-copy .btn{margin-top:auto;align-self:start;font-size:12px}
.gm-nfc-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #d2e1eb;padding-top:25px;margin-top:30px}
.gm-nfc-footer p{font-size:12px;line-height:1.8;color:#607c8e;max-width:590px;margin:0}
.gm-nfc-footer .btn{font-size:12px;flex-shrink:0}
@media(max-width:760px){.gm-support-card{display:flex;padding:27px;min-height:0}.gm-support-card h3{font-size:28px}.gm-support-icon{margin-bottom:23px}.gm-nfc{padding:50px 0 60px}.gm-nfc-grid{grid-template-columns:1fr;gap:23px}.gm-nfc-card{display:grid;grid-template-columns:.8fr 1fr}.gm-nfc-image{aspect-ratio:auto;margin:8px;min-height:240px}.gm-nfc-copy{padding:25px}.gm-nfc-footer{align-items:start;flex-direction:column;gap:20px}}
@media(max-width:480px){.gm-support-card{padding:25px}.gm-support-icon{width:53px;height:53px}.gm-nfc-card{display:flex}.gm-nfc-image{aspect-ratio:1.4;min-height:0;margin:8px 8px 0}.gm-nfc-copy{padding:25px}.gm-nfc-copy h3{font-size:28px}}

/* Shared design language; distinct photography, film, AI, menu and NFC layouts. */
.page-hero{background:radial-gradient(ellipse at 100% 0,#24465d,transparent 65%),#142633;color:#fff;border-color:#344e62;padding:53px 0 49px}
.page-hero h1{font-size:clamp(40px,4.7vw,68px);line-height:1.08}
.page-hero h1 em{color:#96d5fb}
.page-hero .lead{color:#c9deeb;font-size:17px;max-width:780px}
.page-hero .eyebrow{color:#f4d35e;font-size:10px}
.page-hero .eyebrow:before{background:currentColor}
.detail-card{padding:28px;border:1px solid #cfdee8;border-radius:23px;background:linear-gradient(145deg,#fff,#f4f8fb);box-shadow:inset 0 1px 0 #fff,0 12px 28px #14364d08}
.detail-card h3{font-size:27px;line-height:1.16}
.detail-card p{font-size:14px;line-height:1.8}
.detail-card .text-link{font-size:12px}
.contact-panel{border-radius:24px;border-color:#c5dae8;box-shadow:inset 0 1px 0 #fff,0 18px 38px #163b530b}
.contact-panel input,.contact-panel select,.contact-panel textarea{border-radius:11px;border-color:#bcd1df;background:#f7fafc}
.contact-line a{overflow-wrap:anywhere}
.article-body{line-height:1.85}
.article-body h2{font-size:31px;line-height:1.2;margin:35px 0 20px}
.article-body h2:first-child{margin-top:0}
.article-body p{font-size:15px;color:#526e81}
.u-page{background:var(--paper)}
.u-hero{background:radial-gradient(ellipse at 100% 0,#254c67,transparent 65%),#142633;color:#fff;padding:57px 0 62px}
.u-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:7%;align-items:center;min-height:470px}
.u-hero-copy .eyebrow{font-size:10px;color:#f4d35e;margin-bottom:25px}
.u-hero-copy h1{font-size:clamp(44px,4.7vw,69px);line-height:1.08;margin-bottom:26px;letter-spacing:-.045em}
.u-hero-copy h1 em{color:#97d8fd}
.u-hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;color:#c9dfec;max-width:620px;margin-bottom:29px}
.u-hero-copy .btn.lime{background:#f4d35e;border-color:#f4d35e}
.u-hero-copy .btn.outline{color:white;border-color:#7395ad;background:#ffffff05}
.u-hero-visual{position:relative;overflow:hidden;border:1px solid #7797ab75;border-radius:26px;box-shadow:inset 0 1px 0 #ffffff1c,0 22px 45px #00000020;aspect-ratio:1.12;background:#1d3546}
.u-hero-visual>img{width:100%;height:100%;object-fit:cover}
.u-hero-visual>span{position:absolute;bottom:20px;left:20px;display:grid;place-items:center;width:52px;height:52px;background:#163144e6;border:1px solid #b4d9f18c;border-radius:16px;color:#a7ddff;backdrop-filter:blur(10px)}
.u-hero-visual svg{width:29px;height:29px}
.u-visual-menu-digital{aspect-ratio:1.1;background:radial-gradient(ellipse,#2f536c,transparent 70%),#10212e;border-color:#50728a}
.u-visual-menu-digital>img{object-fit:contain;padding:20px;mix-blend-mode:lighten}
.u-visual-menu-digital>span{left:auto;right:20px;color:#f4d35e}
.u-visual-nfc{background:#f1f6f9;aspect-ratio:1.12}
.u-visual-nfc>img{object-fit:contain;padding:30px}
.u-video-hero{position:relative;isolation:isolate;min-height:650px;display:flex;align-items:center;color:white;overflow:hidden}
.u-video-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;z-index:-2}
.u-video-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0e1e2bf2,#0e1e2bbc 38%,#0e1e2b30 85%),linear-gradient(0deg,#0e1e2b70,transparent);z-index:-1}
.u-video-hero .u-hero-copy{max-width:740px;padding:70px 0}
.u-video-hero .u-hero-copy h1{font-size:clamp(49px,5.3vw,80px)}
.u-ai-board{border:1px solid #5b7f98;border-radius:26px;padding:36px;background:radial-gradient(ellipse at 100% 0,#365b77,transparent 70%),linear-gradient(145deg,#1c3a50,#152a3d);box-shadow:inset 0 1px 0 #ffffff1a,0 24px 45px #00000020}
.u-ai-board-icon{width:60px;height:60px;display:grid;place-items:center;border:1px solid #9bcfed66;border-radius:18px;background:linear-gradient(145deg,#ffffff18,#ffffff04);color:#a3dcfe;margin-bottom:27px}
.u-ai-board-icon svg{width:34px;height:34px}
.u-ai-board h2{font-size:32px;line-height:1.16;margin-bottom:14px}
.u-ai-board>p{font-size:14px;color:#bdd8e8;line-height:1.75;margin-bottom:25px}
.u-ai-board>div{display:flex;gap:13px;align-items:center;padding:17px 0;border-top:1px solid #6f8fa044;font-size:14px}
.u-ai-board>div>svg{width:23px;height:23px;color:#a3dcfe;flex:none}
.u-ai-board>div>i{margin-left:auto;font-style:normal;color:#f4d35e}
.u-section-heading{margin-bottom:35px}
.u-section-heading>.eyebrow{font-size:10px;color:#3c7497;margin-bottom:21px}
.u-section-heading h2{font-size:clamp(34px,3.6vw,53px);line-height:1.13;margin-bottom:0}
.u-options{padding:75px 0 80px;scroll-margin-top:105px}
.u-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.u-service-card{display:flex;flex-direction:column;padding:29px;border:1px solid #cddfe9;border-radius:25px;background:radial-gradient(ellipse at 100% 0,#edf5fb,transparent 65%),linear-gradient(145deg,#fff,#f6fafc);box-shadow:inset 0 1px 0 #fff,0 15px 30px #153c550b}
.u-service-icon{display:grid;place-items:center;width:57px;height:57px;border:1px solid #bfd8e9;border-radius:17px;background:linear-gradient(145deg,#edf8ff,#dfedf7);color:#346f98;margin-bottom:26px;box-shadow:inset 0 1px 0 #fff}
.u-service-icon svg{width:29px;height:29px}
.u-service-card:nth-child(even) .u-service-icon{background:linear-gradient(145deg,#fff9e8,#f4e9c3);border-color:#e6d7a2;color:#806924}
.u-service-card h3{font-size:27px;line-height:1.17;letter-spacing:-.03em;margin-bottom:16px}
.u-service-card p{font-size:14px;line-height:1.8;color:#577385;margin-bottom:24px}
.u-service-card>.text-link{margin-top:auto;align-self:start;font-size:12px}
.u-service-card>.btn{margin-top:auto;align-self:start;font-size:12px}
.u-result{padding:55px 0;background:#e2edf4;border-top:1px solid #ccdee9;border-bottom:1px solid #ccdee9}
.u-result>.wrap{display:flex;gap:30px;align-items:center}
.u-result-icon{display:grid;place-items:center;width:68px;height:68px;flex:none;border:1px solid #decb8d;border-radius:20px;color:#786325;background:linear-gradient(145deg,#fff5da,#eddfab)}
.u-result-icon svg{width:34px;height:34px}
.u-result>.wrap>div{flex:1}
.u-result .eyebrow{font-size:9px;color:#487998;margin-bottom:16px}
.u-result h2{font-size:32px;line-height:1.16;margin-bottom:15px}
.u-result p{font-size:14px;line-height:1.8;color:#567284;max-width:720px;margin-bottom:0}
.u-result .btn{font-size:12px;flex-shrink:0}
.u-gallery{padding:70px 0 75px;background:#e6eef4;border-bottom:1px solid #d1e0eb}
.u-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.u-gallery-grid>button{position:relative;display:block;padding:0;border:1px solid #ffffff88;overflow:hidden;border-radius:23px;background:#142b3c;color:white;text-align:left;aspect-ratio:1.3;box-shadow:0 15px 30px #163c5512;isolation:isolate}
.u-gallery-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.u-gallery-grid>button:after{position:absolute;content:"";inset:40% 0 0;background:linear-gradient(transparent,#102537e8);z-index:-1}
.u-gallery-grid span{position:absolute;left:24px;right:22px;bottom:25px;font-size:23px;line-height:1.2;letter-spacing:-.025em;font-weight:600}
.u-gallery-grid i{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:31px;height:31px;border:1px solid #ffffff88;border-radius:50%;font-style:normal;background:#173349a8;font-size:23px;line-height:1}
.u-ai-practice{background:linear-gradient(140deg,#173449,#111f2e);color:#fff;padding:70px 0}
.u-ai-practice>.wrap{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center}
.u-ai-practice .eyebrow{font-size:10px;color:#f4d35e}
.u-ai-practice h2{font-size:clamp(34px,3.5vw,52px);line-height:1.13}
.u-ai-practice h2 em{color:#a1dcff}
.u-ai-practice p{font-size:16px;line-height:1.8;color:#c1d9e9}
.u-ai-points{display:flex;flex-direction:column;gap:13px}
.u-ai-points>span{font-size:16px;padding:18px 20px;border:1px solid #5c7a925c;background:#ffffff06;border-radius:14px}
.u-ai-points>.btn{align-self:start;margin-top:15px;background:#f4d35e;border-color:#f4d35e}
.u-menu-steps{background:#e4edf4;padding:70px 0}
.u-menu-steps>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.u-menu-steps .eyebrow{font-size:10px;color:#477895}
.u-menu-steps h2{font-size:clamp(34px,3.7vw,53px);line-height:1.13}
.u-menu-steps p{font-size:16px;line-height:1.8;color:#577487;margin-bottom:27px}
.u-menu-steps ul{list-style:none;padding:0;margin:0;border:1px solid #c3d8e7;border-radius:24px;background:#f7fafc;overflow:hidden;box-shadow:0 15px 30px #163c5508}
.u-menu-steps li{padding:25px 28px;border-bottom:1px solid #d2e2ee}
.u-menu-steps li:last-child{border-bottom:0}
.u-menu-steps strong{display:block;font-size:22px;line-height:1.2;margin-bottom:10px;letter-spacing:-.02em}
.u-menu-steps li>span{display:block;font-size:14px;line-height:1.8;color:#5a778a}
.u-products{padding:70px 0 80px;background:#f5f8fa}
.u-faq{padding:70px 0}
.u-faq>.wrap{max-width:1000px}
.u-faq .eyebrow{font-size:10px;color:#3e7597}
.u-faq h2{font-size:39px}
.u-final{padding:58px 0 65px;background:#e1ecf4;border-top:1px solid #cadae6;text-align:center}
.u-final h2{font-size:clamp(35px,3.8vw,52px);line-height:1.13;margin-bottom:21px}
.u-final p{font-size:15px;line-height:1.8;color:#5a7588;max-width:650px;margin:0 auto 27px}
.u-final .btn.lime{background:#f4d35e;border-color:#e1bf47}
.u-about-photo{position:relative;margin:0;border:1px solid #7293a978;border-radius:26px;overflow:hidden;box-shadow:0 22px 45px #00000020}
.u-about-photo img{width:100%;height:510px;object-fit:cover;object-position:center 65%}
.u-about-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0f2436db);padding:45px 25px 23px;font-size:11px;color:#fff}
@media(max-width:1050px){.u-hero-grid{gap:5%}.u-hero-copy h1{font-size:55px}.u-service-grid{gap:18px}.u-service-card{padding:25px}.u-service-card h3{font-size:25px}.u-ai-board{padding:28px}.u-ai-board h2{font-size:28px}.u-result>.wrap{gap:23px}.u-result h2{font-size:28px}.u-gallery-grid{gap:18px}.u-gallery-grid span{font-size:21px;left:20px;bottom:20px}.u-result-icon{width:58px;height:58px}.u-about-photo img{height:480px}}
@media(max-width:760px){.page-hero{padding:39px 0}.page-hero .lead{font-size:16px}.u-hero{padding:40px 0 45px}.u-hero-grid{grid-template-columns:1fr;gap:35px;min-height:0}.u-hero-copy h1{font-size:55px;max-width:650px}.u-hero-copy>p:not(.eyebrow){font-size:16px}.u-hero-visual{max-width:550px;width:100%;margin:auto;aspect-ratio:1.35}.u-visual-menu-digital{aspect-ratio:1.2}.u-service-grid{grid-template-columns:1fr;gap:20px}.u-service-card h3{font-size:28px}.u-service-icon{margin-bottom:23px}.u-options{padding:50px 0 60px}.u-result>.wrap{flex-wrap:wrap;align-items:start}.u-result>.wrap>div{flex-basis:calc(100% - 100px)}.u-result .btn{margin-left:81px}.u-result h2{font-size:31px}.u-gallery{padding:50px 0 55px}.u-gallery-grid{gap:15px}.u-gallery-grid>button{aspect-ratio:.85;border-radius:18px}.u-gallery-grid span{font-size:19px;left:16px;bottom:18px;right:15px}.u-gallery-grid i{top:12px;right:12px;width:27px;height:27px;font-size:21px}.u-ai-practice>.wrap,.u-menu-steps>.wrap{grid-template-columns:1fr;gap:29px}.u-ai-practice,.u-menu-steps{padding:55px 0}.u-ai-practice p,.u-menu-steps p{font-size:15px}.u-faq{padding:50px 0}.u-video-hero{min-height:610px}.u-video-hero .u-hero-copy{padding:55px 0}.u-video-hero .u-hero-copy h1{font-size:59px}.u-products{padding:50px 0 60px}.u-about-photo{max-width:520px;width:100%;margin:auto}.u-about-photo img{height:auto;aspect-ratio:3/4;object-fit:cover}.u-ai-board{max-width:550px;width:100%;margin:auto}}
@media(max-width:480px){.page-hero h1{font-size:42px}.page-hero .lead{font-size:15px}.u-hero-copy .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:23px}.u-hero-copy h1{font-size:47px;line-height:1.1}.u-hero-copy .btn{font-size:12px;padding:12px 17px}.u-hero-copy .button-row{gap:9px}.u-hero-visual{aspect-ratio:1.2;border-radius:23px}.u-hero-visual>span{bottom:17px;left:17px;width:45px;height:45px;border-radius:14px}.u-visual-menu-digital{aspect-ratio:1}.u-visual-menu-digital>img{padding:16px}.u-visual-nfc>img{padding:22px}.u-section-heading{margin-bottom:28px}.u-section-heading h2{font-size:35px}.u-service-card{padding:25px;border-radius:23px}.u-gallery-grid{grid-template-columns:1fr;gap:21px}.u-gallery-grid>button{aspect-ratio:1.4;border-radius:21px}.u-gallery-grid span{font-size:25px;left:23px;bottom:23px}.u-result{padding:40px 0}.u-result>.wrap{gap:20px}.u-result>.wrap>div{flex-basis:100%}.u-result .btn{margin-left:0}.u-result h2{font-size:29px}.u-ai-board{padding:26px;border-radius:23px}.u-ai-board h2{font-size:29px}.u-ai-board>div{font-size:13px}.u-ai-practice h2,.u-menu-steps h2{font-size:35px}.u-ai-points>span{font-size:14px}.u-menu-steps li{padding:24px}.u-faq h2{font-size:34px}.u-final{padding:45px 0 50px}.u-final p{font-size:14px}.u-video-hero{min-height:620px}.u-video-hero .u-hero-copy h1{font-size:51px}.u-video-shade{background:linear-gradient(90deg,#0e1e2be8,#0e1e2b70),linear-gradient(0deg,#0e1e2b60,transparent)}.detail-card{padding:25px;border-radius:22px}.detail-card h3{font-size:28px}}

/* VR events memory: familiar headset artwork, clear future viewing story. */
.vr-next>.wrap{display:block}
.vr-memory-card{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;overflow:hidden;border:1px solid #ffffff20;border-radius:32px;background:radial-gradient(ellipse at 88% 30%,#285c7780,transparent 60%),linear-gradient(135deg,#172b38,#101923 75%);box-shadow:0 22px 55px #11253624,inset 0 1px 0 #ffffff17}
.vr-memory-copy{padding:54px 0 52px 52px;position:relative;z-index:1}
.vr-next .vr-memory-card .eyebrow{color:#f4d35e}
.vr-next .vr-memory-card h2{color:#f6f9fb;font-size:clamp(32px,3.2vw,46px)}
.vr-memory-card h2 em{color:#9ed8fa}
.vr-next .vr-memory-card p:not(.eyebrow){color:#c2d0dc;line-height:1.75;font-size:15px}
.vr-next .vr-memory-card .vr-memory-lead{color:#fff;font-size:18px;margin:20px 0 12px}
.vr-memory-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.vr-memory-tags span{padding:7px 12px;font-size:11px;color:#d7eafa;border:1px solid #a9dafa45;border-radius:50px;background:#b2ddff0a}
.vr-next .vr-memory-card .button-row{flex-direction:row;margin:0}
.vr-next .vr-memory-card .vr-memory-project{font-size:12px;margin-top:22px;color:#a7bac9;max-width:440px}
.vr-memory-project a{color:#b8e2ff;text-underline-offset:3px}
.vr-memory-visual{margin:0;position:relative;align-self:stretch;display:flex;align-items:flex-end;isolation:isolate}
.vr-memory-visual:before{content:'';position:absolute;inset:15% 3% 15% 8%;border-radius:50%;background:#5caeea27;filter:blur(35px);z-index:-1}
.vr-memory-visual>img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(-15px 10px 30px #0005)}
.vr-memory-visual figcaption{position:absolute;bottom:23px;left:20px;right:20px;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 16px;border-radius:15px;border:1px solid #ffffff35;background:#142b3cdb;color:#e8f4ff;font-size:12px;backdrop-filter:blur(12px)}
.vr-memory-visual figcaption svg{width:23px;height:23px;display:block}
@media(max-width:900px){.vr-memory-copy{padding:35px 0 35px 30px}.vr-memory-visual{align-items:center}.vr-memory-visual figcaption{font-size:10px;padding:10px;left:10px;right:10px}.vr-next .vr-memory-card h2{font-size:34px}}
@media(max-width:650px){.vr-memory-card{grid-template-columns:1fr;border-radius:25px}.vr-memory-copy{padding:30px 25px 0}.vr-memory-visual{width:min(100%,400px);margin:10px auto 0}.vr-memory-visual>img{max-height:340px;object-fit:contain;object-position:bottom}.vr-memory-visual figcaption{bottom:17px;font-size:11px;left:20px;right:20px}.vr-next .vr-memory-card .button-row{margin-top:0}.vr-next .vr-memory-card .button-row .btn{width:100%}.vr-next .vr-memory-card .vr-memory-lead{font-size:17px}.vr-next .vr-memory-card p:not(.eyebrow){font-size:14px}}

/* Interior framing for stereoscopic production cards. */
.vr-service-image img[src*="av-interior-room"],.av-card img[src*="av-interior-room"]{object-position:50% 70%}

/* Immersive event page: clear action and four dimensional occasion cards. */
.event-vr-page .page-hero .event-project-btn{background:linear-gradient(140deg,#f8de7a,#efca57);color:#192735;border:1px solid #ffe99a;box-shadow:0 7px 19px #0003,inset 0 1px 0 #fff7}
.event-vr-page .page-hero .event-project-btn:hover{background:linear-gradient(140deg,#ffe996,#f5d568);box-shadow:0 9px 24px #0004}
.event-options{padding-top:25px}
.event-options-head{margin-bottom:32px}
.event-options-head .eyebrow{color:#52788e}
.event-options-head h2{font-size:clamp(32px,3vw,43px);line-height:1.15}
.event-vr-page .csb-format{position:relative;overflow:hidden;padding:34px;border-radius:27px;border:1px solid #ffffff40;background:radial-gradient(ellipse at 95% 0,#e0b7e14d,transparent 65%),linear-gradient(135deg,#74576e,#463c55);box-shadow:0 15px 30px #23374b20,inset 0 1px 0 #ffffff50,inset 0 -1px 0 #0002;min-height:250px}
.event-vr-page .csb-format:nth-child(2){background:radial-gradient(ellipse at 95% 0,#a3d8fb55,transparent 65%),linear-gradient(135deg,#467c9d,#314b70)}
.event-vr-page .csb-format:nth-child(3){background:radial-gradient(ellipse at 95% 0,#a5e4cc44,transparent 65%),linear-gradient(135deg,#4c827b,#315d60)}
.event-vr-page .csb-format:nth-child(4){background:radial-gradient(ellipse at 95% 0,#ffe7a755,transparent 65%),linear-gradient(135deg,#92794e,#62563d)}
.event-vr-page .csb-format h3{position:relative;color:#fff;font-size:28px;margin-bottom:13px}
.event-vr-page .csb-format p{position:relative;color:#f0f4f6e8;font-size:15px;line-height:1.75;margin-bottom:0;max-width:520px}
.event-vr-page .csb-format .csb-format-icon{color:#fff;background:linear-gradient(135deg,#ffffff2b,#ffffff0a);border:1px solid #ffffff65;box-shadow:0 5px 15px #0001,inset 0 1px 0 #ffffff30}
.event-vr-page .csb-format:after{content:'';position:absolute;width:200px;height:200px;border-radius:50%;border:1px solid #ffffff12;right:-95px;top:-85px;pointer-events:none}
@media(max-width:540px){.event-vr-page .csb-format{padding:27px;min-height:0}.event-vr-page .csb-format h3{font-size:27px}.event-vr-page .csb-format p{font-size:14px}.event-vr-page .page-hero .event-project-btn{white-space:normal;text-align:center}.event-options-head{margin-bottom:24px}}
.event-vr-page .page-hero .btn:not(.event-project-btn){background:linear-gradient(140deg,#a6dcfa,#78bae2);color:#152a38;border:1px solid #b5e5ff;box-shadow:0 6px 18px #0002,inset 0 1px 0 #ffffff70}

/* Generated photographic covers for immersive occasions. */
.event-vr-page .event-camera-visual{margin:0;max-height:none;background:#e4ddd2;border-radius:26px;overflow:hidden;position:relative}
.event-vr-page .event-camera-visual img{width:100%;height:auto;max-height:none;aspect-ratio:4/3;object-fit:contain;display:block}
.event-camera-visual figcaption{position:absolute;bottom:12px;left:12px;right:12px;padding:10px 12px;border-radius:10px;background:#132231d9;color:#fff;font-size:10px;text-align:center;backdrop-filter:blur(10px)}
.event-vr-page .csb-format.event-photo-card{padding:0;display:block;min-height:0}
.event-cover{height:190px;overflow:hidden;position:relative;border-bottom:1px solid #ffffff30}
.event-cover img{width:100%;height:100%;object-fit:cover;display:block}
.event-card-copy{padding:28px 32px 32px}
.event-vr-page .event-photo-card:after{display:none}
.event-vr-page .event-photo-card.event-nature-card{grid-column:1/-1;background:radial-gradient(ellipse at 95% 0,#a5e4cc44,transparent 65%),linear-gradient(135deg,#4c827b,#315d60)}
.event-nature-card .event-cover{height:220px}
.event-vr-page .event-nature-card p{max-width:950px}
.event-image-note{font-size:10px;color:#687e8d;margin:14px 0 28px}
.event-delivery-strip{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:30px 34px;border:1px solid #d2dfe7;border-radius:22px;background:linear-gradient(135deg,#e7eff5,#f8fafc)}
.event-delivery-strip h3{font-size:21px;margin-bottom:9px}
.event-delivery-strip p{font-size:14px;line-height:1.75;color:#526e80;margin:0}
@media(max-width:700px){.event-cover{height:auto;aspect-ratio:3/1}.event-nature-card .event-cover{height:auto}.event-card-copy{padding:25px}.event-delivery-strip{grid-template-columns:1fr;gap:24px;padding:26px}.event-vr-page .event-nature-card{grid-column:auto}.event-camera-visual figcaption{font-size:9px;bottom:8px;left:8px;right:8px}}

/* Canarias Sin Barreras: compact catalogue, dimensional possibilities, visitor guidance. */
.csb-page .csb-films{max-width:1120px;margin:0 auto;gap:18px}
.csb-page .csb-film{border-radius:21px;box-shadow:0 8px 22px #1b35450b}
.csb-page .csb-film-image{aspect-ratio:2.2}
.csb-page .csb-film-copy{padding:19px 21px 21px}
.csb-page .csb-film-copy>p{font-size:10px;margin-bottom:9px}
.csb-page .csb-film h3{font-size:23px;min-height:54px;margin-bottom:14px}
.csb-page .csb-film-link{font-size:11px}
.csb-page .csb-formats .csb-format{padding:0;border-radius:27px;overflow:hidden;border:1px solid #ffffff40;background:radial-gradient(ellipse at 95% 0,#a3d8fb55,transparent 65%),linear-gradient(135deg,#467c9d,#314b70);box-shadow:0 14px 32px #23374b22,inset 0 1px 0 #ffffff50}
.csb-page .csb-formats .csb-format:nth-child(2){background:radial-gradient(ellipse at 95% 0,#e0b7e14d,transparent 65%),linear-gradient(135deg,#74576e,#463c55)}
.csb-page .csb-formats .csb-format:nth-child(3){background:radial-gradient(ellipse at 95% 0,#a5e4cc44,transparent 65%),linear-gradient(135deg,#4c827b,#315d60)}
.csb-page .csb-formats .csb-format:nth-child(4){background:radial-gradient(ellipse at 95% 0,#ffe7a755,transparent 65%),linear-gradient(135deg,#92794e,#62563d)}
.csb-format-cover{height:175px;overflow:hidden;border-bottom:1px solid #ffffff35;background:#172a39}
.csb-format-cover>img{height:100%;width:100%;object-fit:cover;display:block}
.csb-format-cover.csb-mobile-cinema{background:linear-gradient(90deg,#15263255,#15263222),url('csb-canary-landscape.webp') center 65%/cover}
.csb-format-cover.csb-mobile-cinema>img{object-fit:contain;object-position:55% 70%;width:80%;margin-left:10%;transform:scale(1.18)}
.csb-format-cover.csb-headset-cover{background:radial-gradient(ellipse at 70% 30%,#4b8db36b,transparent 75%),#192c3c}
.csb-format-cover.csb-headset-cover>img{object-fit:contain;object-position:center 25%;transform:scale(1.5);transform-origin:50% 20%}
.csb-format-copy{display:flex;flex-direction:column;flex:1;padding:28px 31px 30px}
.csb-page .csb-format-copy h3{color:#fff;font-size:28px;margin-bottom:13px}
.csb-page .csb-format-copy p{color:#f0f4f6e8;font-size:14px;line-height:1.8;margin-bottom:25px;max-width:560px}
.csb-format-copy>a{display:inline-flex;align-self:flex-start;align-items:center;min-height:40px;margin-top:auto;padding:10px 15px;border:1px solid #ffffff60;border-radius:12px;background:linear-gradient(135deg,#ffffff25,#ffffff0b);color:white;font-size:12px;font-weight:600;box-shadow:inset 0 1px 0 #ffffff25;transition:background .2s}
.csb-format-copy>a:hover{background:#ffffff32}
.csb-page .csb-signs{gap:13px}
.csb-page .csb-sign{padding:22px 18px 23px;border:1px solid #ccdce5;border-top:3px solid #9ebed3;border-radius:21px;background:linear-gradient(145deg,#ffffff,#edf3f7);box-shadow:0 8px 20px #29495c08;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.csb-page .csb-sign:first-child{background:linear-gradient(145deg,#e8f5ff,#dcecf5);border-color:#bad5e6;border-top-color:#299de0}
.csb-page .csb-sign:nth-child(2){border-top-color:#e78a27}
.csb-page .csb-sign:nth-child(n+3){border-top-color:#cf454d}
.csb-page .csb-sign>span{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#fff,#eef2f5);border:1px solid #cbdbe5;color:#456a80;box-shadow:0 4px 11px #29495c0c,inset 0 1px 0 #fff;margin-bottom:18px}
.csb-page .csb-sign:first-child>span{background:linear-gradient(135deg,#41b2ef,#167bc2);border-color:#258cd0;color:#fff}
.csb-page .csb-sign:nth-child(2)>span{color:#b45912;background:linear-gradient(135deg,#fff4df,#ffe3bc);border-color:#efbd7f}
.csb-page .csb-sign:nth-child(n+3)>span{color:#bc303c;background:linear-gradient(135deg,#fff2f2,#ffe0e2);border-color:#e9a5ac}
.csb-page .csb-sign h3{font-size:16px;line-height:1.35;margin-bottom:9px}
.csb-page .csb-sign p{font-size:12px;line-height:1.7;margin:0;color:#4d687a}
@media(max-width:1000px){.csb-page .csb-signs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.csb-page .csb-films{grid-template-columns:1fr;gap:14px;max-width:540px}.csb-page .csb-film{display:grid;grid-template-columns:115px 1fr}.csb-page .csb-film-image{aspect-ratio:auto;min-height:138px;height:100%}.csb-page .csb-film-image>span{font-size:7px;left:7px;top:9px;padding:4px 6px}.csb-page .csb-film-copy{padding:17px}.csb-page .csb-film h3{min-height:0;font-size:21px;margin-bottom:12px}.csb-page .csb-film-copy>p{font-size:9px}.csb-format-cover{height:auto;aspect-ratio:3/1}.csb-format-copy{padding:25px}.csb-page .csb-format-copy h3{font-size:27px}.csb-page .csb-signs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.csb-page .csb-signs{grid-template-columns:1fr;gap:12px}.csb-page .csb-sign{display:grid;grid-template-columns:48px 1fr;gap:17px;padding:20px}.csb-page .csb-sign>span{margin:0}.csb-page .csb-sign h3{font-size:17px}.csb-page .csb-sign p{font-size:12px}.csb-page .csb-film{grid-template-columns:103px 1fr}.csb-page .csb-film h3{font-size:20px}}

/* Film the moment, relive the memory: paired images without technical captions. */
.event-story-heading{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;margin-bottom:32px}
.event-story-heading h2{font-size:clamp(34px,3.3vw,48px);line-height:1.15;margin-bottom:0}
.event-story-heading p:not(.eyebrow){font-size:15px;color:#526e80;line-height:1.8}
.event-story-heading p:last-child{margin-bottom:0}
.event-story-pictures{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.event-story-pictures figure{margin:0;border-radius:25px;overflow:hidden;border:1px solid #d1dce3;box-shadow:0 12px 32px #18394b12}
.event-story-pictures img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.event-cover img{transform:translate3d(0,var(--cover-drift,0px),0) scale(1.24);transform-origin:center;backface-visibility:hidden}
.event-cover.cover-motion-visible img{will-change:transform}
.csb-page .csb-formats .csb-format:nth-child(3){background:radial-gradient(ellipse at 95% 0,#efd0a455,transparent 65%),linear-gradient(135deg,#967252,#604735)}
@media(max-width:700px){.event-story-heading{grid-template-columns:1fr;gap:22px;margin-bottom:27px}.event-story-heading h2{font-size:35px}.event-story-heading p:not(.eyebrow){font-size:14px}.event-story-pictures{grid-template-columns:1fr;gap:16px}.event-story-pictures figure{border-radius:21px}}
@media(prefers-reduced-motion:reduce){.event-cover img{transform:none!important;will-change:auto}}

/* Verified five-film catalogue: uncropped Spanish posters and compact metadata. */
.csb-page .csb-film-image{aspect-ratio:1672/941}
.csb-page .csb-film-image img{object-fit:contain}
.csb-page .csb-film h3{min-height:0;font-size:23px;margin-bottom:10px}
.csb-film-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#54768c;margin-bottom:12px}
.csb-page .csb-film-copy .csb-film-description{font-size:12px;color:#587286;line-height:1.65;text-transform:none;letter-spacing:0;margin:0 0 16px;min-height:40px}
.csb-film-swipe{display:none}
@media(max-width:700px){.csb-page .csb-films{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(82vw,310px);max-width:100%;gap:15px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:3px 2px 17px;margin:0;scrollbar-width:thin}.csb-page .csb-film{display:flex;flex-direction:column;scroll-snap-align:start;min-width:0}.csb-page .csb-film-image{aspect-ratio:1672/941;min-height:0;height:auto}.csb-page .csb-film-copy{padding:17px 18px 19px}.csb-page .csb-film h3{font-size:22px}.csb-film-swipe{display:block;font-size:11px;color:#597689;margin:5px 0 0}}

/* Clean film artwork, readable specifications below, and an obvious horizontal catalogue. */
.csb-page .csb-films{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3.18);max-width:1120px;gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:3px 2px 17px;scrollbar-width:thin;scrollbar-color:#98b2c3 transparent}
.csb-page .csb-film{display:flex;flex-direction:column;scroll-snap-align:start;min-width:0}
.csb-page .csb-film-image{height:auto;min-height:0;aspect-ratio:1672/941}
.csb-film-quality{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.csb-film-quality span{padding:5px 8px;border-radius:7px;background:#172b3a;color:#fff;font-size:10px;font-weight:700;letter-spacing:.01em}
.csb-film-quality span:last-child{color:#f8dd7f}
.csb-film-pagination{display:flex;justify-content:center;align-items:center;gap:10px;min-height:28px;margin:12px auto 0}
.csb-film-pagination button{appearance:none;display:grid;place-items:center;border:0;padding:8px;background:transparent;cursor:pointer;border-radius:50%;min-width:30px;min-height:30px}
.csb-film-pagination button:before{content:'';width:8px;height:8px;border-radius:50%;background:#a2b7c5;transition:width .2s,background .2s}
.csb-film-pagination button[aria-current="true"]:before{width:23px;border-radius:8px;background:#347ba5}
.csb-film-pagination button:focus-visible{outline:2px solid #347ba5;outline-offset:1px}
.vr-text-badge{font-size:18px;letter-spacing:-.04em;line-height:1;font-weight:750}
.vr-360-badge{font-size:14px;letter-spacing:-.07em;padding:7px 2px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;border-radius:50%}
@media(max-width:900px){.csb-page .csb-films{grid-auto-columns:calc((100% - 25px)/2.18)}}
@media(max-width:700px){.csb-page .csb-films{grid-auto-columns:min(82vw,310px);gap:15px}.csb-page .csb-film-image{aspect-ratio:1672/941}.csb-film-quality span{font-size:10px}.csb-film-pagination{margin-top:6px}}

/* Compact photo-header service cards across audiovisual, photography and video. */
.av-page .av-formats .section-head .eyebrow,.u-page .u-section-heading .eyebrow{font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.13em;max-width:none;margin-bottom:20px;color:#47768e}
.av-page .av-formats .section-head h2,.u-page .u-section-heading h2{font-size:clamp(33px,3.6vw,50px);line-height:1.15}
.av-page .av-card,.u-page .u-service-card.u-photo-card{border-radius:26px;border:1px solid #ffffff45;overflow:hidden;background:radial-gradient(ellipse at 95% 0,#a3d8fb55,transparent 65%),linear-gradient(135deg,#467c9d,#314b70);box-shadow:0 14px 30px #23374b20,inset 0 1px 0 #ffffff50}
.av-page .av-card:nth-child(2),.u-page .u-service-card.u-photo-card:nth-child(2){background:radial-gradient(ellipse at 95% 0,#e0b7e14d,transparent 65%),linear-gradient(135deg,#74576e,#463c55)}
.av-page .av-card:nth-child(3),.u-page .u-service-card.u-photo-card:nth-child(3){background:radial-gradient(ellipse at 95% 0,#a5e4cc44,transparent 65%),linear-gradient(135deg,#4c827b,#315d60)}
.av-page .av-card:nth-child(4){background:radial-gradient(ellipse at 95% 0,#ffd2b54d,transparent 65%),linear-gradient(135deg,#a57560,#715147)}
.av-page .av-card:nth-child(5){background:radial-gradient(ellipse at 95% 0,#ffe7a755,transparent 65%),linear-gradient(135deg,#92794e,#62563d)}
.av-page .av-card:nth-child(6){background:radial-gradient(ellipse at 95% 0,#9bdddf44,transparent 65%),linear-gradient(135deg,#4a7f8c,#355661)}
.av-page .av-cover{margin:0;border-radius:0;aspect-ratio:3/1;border-bottom:1px solid #ffffff35}
.av-page .av-cover:after{display:none}
.av-page .av-copy{padding:25px 27px 27px}
.av-page .av-copy h3,.u-photo-card .u-card-copy h3{font-size:25px;line-height:1.2;color:#fff;margin:0 0 13px}
.av-page .av-copy p:not(.av-promise),.u-photo-card .u-card-copy p{font-size:14px;line-height:1.75;color:#f0f4f6e8;margin-bottom:0}
.av-page .av-more{margin-top:auto;padding-top:20px;color:#fff;font-size:11px}
.av-page .av-more:before{display:none}
.av-page .av-card:hover{transform:translateY(-4px);border-color:#b9def5;box-shadow:0 21px 40px #23374b33,inset 0 1px 0 #ffffff50}
.u-page .u-service-card.u-photo-card{padding:0}
.u-card-cover{aspect-ratio:3/1;overflow:hidden;border-bottom:1px solid #ffffff35}
.u-card-cover img{display:block;width:100%;height:100%;object-fit:cover}
.u-card-copy{display:flex;flex-direction:column;padding:25px 27px 27px;flex:1}
.u-photo-card .u-card-copy .text-link{margin-top:auto;padding:20px 0 0;color:#fff;font-size:12px;align-self:flex-start}
.u-videografia{position:relative;isolation:isolate;background:transparent}
.u-videografia>.u-video-hero{isolation:auto;background:transparent;overflow:visible;min-height:clamp(620px,calc(100svh - 90px),900px)}
.u-videografia>.u-video-hero>img{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;object-fit:cover;z-index:-2;pointer-events:none}
.u-videografia .u-video-shade{position:fixed;inset:0;z-index:-1;pointer-events:none}
.u-videografia>section:not(.u-video-hero){position:relative;z-index:1;background:var(--paper)}
.u-videografia>.u-result{background:#e2ecf2}
@media(max-width:540px){.av-page .av-formats .section-head .eyebrow,.u-page .u-section-heading .eyebrow{font-size:9px}.av-page .av-copy,.u-card-copy{padding:24px}.av-page .av-copy h3,.u-photo-card .u-card-copy h3{font-size:26px}.av-page .av-formats{padding-top:48px}.u-options{padding-top:48px}}
@media(prefers-reduced-motion:reduce){.u-videografia>.u-video-hero>img,.u-videografia .u-video-shade{position:absolute}}

/* Google business services: recognizable product icons and a shared four-colour family. */
.gm-support-card{border:1px solid #ffffff40;border-radius:26px;background:radial-gradient(ellipse at 95% 0,#b7d8ff50,transparent 65%),linear-gradient(135deg,#4c7cbe,#315892);box-shadow:0 14px 30px #23374b20,inset 0 1px 0 #ffffff50}
.gm-support-card:nth-child(2){background:radial-gradient(ellipse at 95% 0,#ffe7a755,transparent 65%),linear-gradient(135deg,#b6984b,#806a39)}
.gm-support-card:nth-child(3){background:radial-gradient(ellipse at 95% 0,#ffc9ba45,transparent 65%),linear-gradient(135deg,#b65e55,#874641)}
.gm-support-card:nth-child(4){background:radial-gradient(ellipse at 95% 0,#b4e7cc44,transparent 65%),linear-gradient(135deg,#528c6c,#345d4a)}
.gm-support-card:nth-child(5){background:radial-gradient(ellipse at 95% 0,#b7d8ff50,transparent 65%),linear-gradient(135deg,#4c7cbe,#315892)}
.gm-support-card:nth-child(6){background:radial-gradient(ellipse at 95% 0,#ffc9ba45,transparent 65%),linear-gradient(135deg,#b65e55,#874641)}
.gm-support-card h3{color:#fff}
.gm-support-card .gm-service-copy>p{color:#f3f6f9eb}
.gm-support-card .gm-support-icon,.gm-support-card:nth-child(even) .gm-support-icon{background:linear-gradient(135deg,#fff,#f0f4f9);border:1px solid #ffffffb0;box-shadow:0 7px 18px #17324820,inset 0 1px 0 #fff;width:64px;height:64px;border-radius:18px}
.gm-support-icon svg{width:45px;height:45px}
.gm-support-icon>img{width:32px;height:38px;object-fit:contain}
.gm-support-card .btn.outline{color:#fff;border-color:#ffffff70;background:#ffffff0b}
.gm-support-card .btn.outline:hover{background:#ffffff25}

/* Relive-at-home photographic background, with one concise camera block. */
.event-vr-page{position:relative;isolation:isolate;background:transparent}
.event-vr-page .event-home-hero{position:relative;isolation:auto;background:transparent;min-height:clamp(590px,calc(100svh - 90px),850px);display:flex;align-items:center;padding:65px 0 70px;overflow:visible}
.event-home-background{position:fixed;inset:0;z-index:-2;width:100%;height:100vh;height:100dvh;object-fit:cover;object-position:65% 40%;pointer-events:none}
.event-home-shade{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#091522f2 0%,#091522c9 30%,#09152262 62%,#09152226),linear-gradient(0deg,#101923d9 0%,transparent 50%,#1019233b)}
.event-vr-page .event-home-hero h1{max-width:790px;font-size:clamp(44px,5vw,74px);line-height:1.09;text-wrap:balance}
.event-vr-page .event-home-hero .lead{max-width:590px;color:#d6e4ef;font-size:17px;line-height:1.8}
.event-vr-page>section:not(.event-home-hero){position:relative;z-index:1;background:var(--paper)}
.event-camera-story{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.event-story-camera{margin:0;border-radius:26px;overflow:hidden;border:1px solid #d1dce3;box-shadow:0 12px 32px #18394b12}
.event-story-camera img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.event-camera-story h2{font-size:clamp(34px,3.3vw,48px);line-height:1.15}
.event-camera-story p:not(.eyebrow){max-width:490px;font-size:17px;line-height:1.85;color:#526e80}
.event-vr-page .csb-format.event-photo-card:nth-child(2){background:radial-gradient(ellipse at 95% 0,#efd0a455,transparent 65%),linear-gradient(135deg,#967252,#604735)}
@media(max-width:700px){.event-home-background{object-position:62% 35%}.event-home-shade{background:linear-gradient(90deg,#091522d9,#09152280),linear-gradient(0deg,#101923e8,transparent 80%)}.event-vr-page .event-home-hero{min-height:680px;padding:48px 0 55px}.event-vr-page .event-home-hero h1{font-size:47px;max-width:550px}.event-vr-page .event-home-hero .lead{font-size:15px}.event-camera-story{grid-template-columns:1fr;gap:30px}.event-camera-story h2{font-size:35px}.event-camera-story p:not(.eyebrow){font-size:16px}.event-story-camera{border-radius:22px}}
@media(prefers-reduced-motion:reduce){.event-home-background,.event-home-shade{position:absolute}}
/* Keep the visor fully visible beneath the fixed site header. */
.event-home-background{top:90px;height:calc(100vh - 90px);height:calc(100dvh - 90px);object-position:65% 0}
@media(max-width:700px){.event-home-background{top:78px;height:calc(100vh - 78px);height:calc(100dvh - 78px);object-position:62% 0}}
@media(prefers-reduced-motion:reduce){.event-home-background{top:0;height:100%}}

/* Virtual flight is a seated 360-degree experience, distinct from stereoscopic films. */
.csb-flight{background:#e5eef4}
.csb-flight-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center}
.csb-flight-image{position:relative;border-radius:27px;overflow:hidden;box-shadow:0 18px 38px #18394b1c}
.csb-flight-image img{display:block;width:100%;height:auto;aspect-ratio:1.25;object-fit:cover}
.csb-flight-image>span{position:absolute;left:20px;bottom:20px;padding:9px 13px;border:1px solid #ffffff70;background:#142c3ddd;border-radius:11px;color:#fff;font-size:11px;backdrop-filter:blur(10px)}
.csb-flight .eyebrow{font-size:10px;color:#47778f}
.csb-flight h2{font-size:clamp(33px,3.3vw,47px);line-height:1.17}
.csb-flight p:not(.eyebrow){font-size:15px;line-height:1.85;color:#506f81}
.csb-flight-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.csb-flight-tags span{padding:8px 12px;border:1px solid #b9cfdd;background:#f2f7fa;color:#345f7b;border-radius:25px;font-size:10px}
@media(max-width:760px){.csb-flight-grid{grid-template-columns:1fr;gap:30px}.csb-flight-image img{aspect-ratio:1.65}.csb-flight h2{font-size:35px}.csb-flight p:not(.eyebrow){font-size:14px}.csb-flight-image{border-radius:23px}}

/* Paired panoramic photography scenes and hospitality VR. */
.gm-shoot-pair{display:grid;gap:18px;min-width:0}
.gm-expert .gm-shoot-pair figure{width:100%;max-width:none;margin:0}
.gm-expert .gm-shoot-pair figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
.gm-expert .gm-shoot-pair figcaption{font-size:12px}
.csb-page .csb-formats .csb-format:nth-child(4){background:radial-gradient(ellipse at 95% 0,#b8e2c94a,transparent 65%),linear-gradient(135deg,#487b68,#2c5044)}

/* AV248: photographic palettes, dimensional gradients and clearer cover framing. */
.av-page .av-card:nth-child(1){background:radial-gradient(ellipse at 95% 0,#f7dec450,transparent 65%),linear-gradient(140deg,#89636a,#523c43)}
.av-page .av-card:nth-child(2){background:radial-gradient(ellipse at 95% 0,#e5b7814a,transparent 65%),linear-gradient(140deg,#785440,#3c302c)}
.av-page .av-card:nth-child(4){background:radial-gradient(ellipse at 95% 0,#dce7ec30,transparent 65%),linear-gradient(140deg,#535b62,#272f36)}
.av-page .av-card:nth-child(5){background:radial-gradient(ellipse at 95% 0,#ecc39740,transparent 65%),linear-gradient(140deg,#8c6446,#50372b)}
.av-page .av-card:nth-child(6){background:radial-gradient(ellipse at 0 0,#47b4d63d,transparent 65%),radial-gradient(ellipse at 100% 30%,#b66bce45,transparent 65%),linear-gradient(140deg,#3c3a50,#202a39)}
.av-page .av-card{box-shadow:0 18px 38px #17273726,inset 0 1px 0 #ffffff60}
.av-page .av-cover{aspect-ratio:2/1}
.av-page .av-cover img{object-fit:cover;object-position:center}
.av-page .av-card:nth-child(2) .av-cover img{object-position:50% 48%}
.av-page .av-card:nth-child(6) .av-cover img{object-position:50% 46%}
.av-page .av-hero-image{filter:none;image-rendering:auto}
@media(max-width:540px){.av-page .av-cover{aspect-ratio:1.9/1}}
