:root {
  --bg:#fff; --surface:#fff; --surface-alt:#f4f5f6; --text:#20242b;
  --muted:#62676e; --border:#e3e5e7; --dark:#161c25; --blue:#1267d9;
  --blue-hover:#004fae; --gold:#fff0a0; --shadow:0 24px 70px rgba(0,0,0,.11);
  color-scheme:light;
}
html[data-theme="dark"] {
  --bg:#000; --surface:#090909; --surface-alt:#141414; --text:#f6f6f6;
  --muted:#a8a8a8; --border:#303030; --dark:#080808;
  --shadow:0 24px 70px rgba(0,0,0,.5);
  color-scheme:dark;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:78px; }
body { margin:0; background:var(--bg); color:var(--text); font-family:"DM Sans",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
body.menu-lock { overflow:hidden; }
button,input { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-family:"Manrope","DM Sans",Arial,sans-serif; font-weight:600; letter-spacing:-.045em; }
button:focus-visible,a:focus-visible,input:focus-visible { outline:3px solid #3991ef; outline-offset:4px; }
.svg-definitions,.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.content-wide { width:min(1450px,calc(100% - 96px)); margin-inline:auto; }
.section-kicker,.tiny-label { display:block; font-size:12px; font-weight:800; letter-spacing:.135em; text-transform:uppercase; }
.section-kicker { color:var(--blue); }
.pill { border:1px solid transparent; min-height:45px; padding:0 23px; border-radius:100px; display:inline-flex; align-items:center; gap:12px; justify-content:center; width:max-content; font-size:13px; font-weight:700; transition:background .25s,color .25s,transform .25s; }
.pill:hover { transform:translateY(-2px); }
.pill svg { width:16px; height:16px; }
.pill-blue { background:var(--blue); color:#fff; }
.pill-blue:hover { background:var(--blue-hover); }
.pill-white { background:#fff; color:#17212d; }
.pill-ghost { color:#fff; border-color:rgba(255,255,255,.75); background:rgba(20,25,30,.16); }
.pill-glass { color:#fff; border-color:rgba(255,255,255,.4); background:rgba(10,16,19,.3); }
.pill-outline { color:var(--text); border-color:var(--border); background:var(--surface); }
.pill-outline:hover { background:var(--surface-alt); }
.pill-disabled { background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.25); color:#fff; cursor:default; }
.under-link,.text-action,.gallery-link { display:inline-flex; align-items:center; justify-content:space-between; gap:15px; font-size:14px; font-weight:800; border-bottom:1px solid currentColor; padding-bottom:8px; width:max-content; }
.under-link svg,.text-action svg,.gallery-link svg { width:17px; height:17px; transition:transform .2s; }
.under-link:hover svg,.text-action:hover svg,.gallery-link:hover svg { transform:translateX(4px); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:40px; }
.section-heading h2 { font-size:clamp(32px,4vw,59px); line-height:1.15; margin-top:18px; }
.section-heading .under-link { white-space:nowrap; }

/* Meta-inspired slim navigation, integrated into the home media rather than attached below it. */
.site-header { position:fixed; left:0; right:0; top:0; z-index:100; height:72px; background:var(--surface); color:var(--text); border-bottom:1px solid var(--border); transition:background .25s,border-color .25s,color .25s; }
.site-header.header-overlay:not(.header-scrolled) { background:transparent; color:#fff; border-color:transparent; }
.site-header.header-scrolled { background:var(--surface); color:var(--text); border-color:var(--border); }
.header-inner { height:72px; width:calc(100% - 64px); max-width:1800px; margin:0 auto; display:flex; align-items:center; gap:27px; }
.brand { display:inline-flex; align-items:center; gap:7px; flex-shrink:0; position:relative; z-index:1; }
.brand-mark { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; padding:5px; background:#16212a; border:1px solid rgba(250,235,163,.22); border-radius:12px; overflow:visible; }
.brand-mark img { display:block; width:100%; height:100%; min-width:0; min-height:0; object-fit:contain; object-position:center; }
.brand-type { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.brand-text { font-family:"Manrope",Arial,sans-serif; font-size:24px; line-height:1; font-weight:800; letter-spacing:-.07em; }
.brand-tagline { display:block; font-family:"DM Sans",Arial,sans-serif; font-size:9px; line-height:1.3; font-weight:700; letter-spacing:-.015em; margin-top:5px; white-space:nowrap; opacity:.8; }
.footer-brand .brand-tagline { font-size:11px; opacity:.75; }
.brand-period { color:#e8a62c; }
.desktop-nav { display:flex; align-items:center; gap:30px; min-width:0; width:100%; flex:1; }
.nav-item { border:0; background:transparent; color:inherit; font-size:13px; font-weight:700; display:flex; align-items:center; gap:5px; white-space:nowrap; height:72px; position:relative; padding:0; opacity:.94; }
.nav-item:hover,.nav-item.active { opacity:1; }
.nav-item.active:after { position:absolute; content:""; bottom:0; left:0; right:0; height:2px; background:var(--blue); }
.nav-item svg { width:12px; height:12px; transition:transform .2s; }
.nav-item[aria-expanded="true"] svg { transform:rotate(180deg); }
.nav-explore { margin-left:auto; }
.header-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.icon-button,.lang-button { color:inherit; border:0; background:transparent; width:35px; height:35px; display:grid; place-items:center; border-radius:50%; font-size:12px; font-weight:800; }
.icon-button:hover,.lang-button:hover { background:rgba(128,128,128,.14); }
.icon-button svg { width:21px; height:21px; }
.theme-sun { display:none; }
html[data-theme="dark"] .theme-moon { display:none; }
html[data-theme="dark"] .theme-sun { display:block; }
.account-link { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:750; border-radius:100px; border:1px solid currentColor; padding:9px 12px; white-space:nowrap; }
.account-link svg { width:17px; height:17px; }
.account-link:hover { background:rgba(128,128,128,.13); }
.menu-toggle { display:none; }
.mega-menu { position:absolute; top:72px; left:0; right:0; color:var(--text); background:var(--surface); box-shadow:var(--shadow); border-bottom:1px solid var(--border); }
.mega-menu[hidden],.mobile-menu[hidden] { display:none!important; }
.mega-shell { padding:47px 0 54px; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:65px; }
.mega-intro h2 { font-size:36px; line-height:1.17; margin:14px 0 13px; }
.mega-intro p { font-size:14px; line-height:1.8; max-width:460px; color:var(--muted); margin-bottom:24px; }
.mega-intro small,.mega-list h3 { font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.mega-list { display:flex; flex-direction:column; align-items:start; gap:18px; }
.mega-list h3 { margin-bottom:9px; }
.mega-list a { font-size:15px; font-weight:650; display:inline-flex; align-items:center; gap:12px; }
.mega-list a:hover { color:var(--blue); }
.mega-list a svg { width:20px; height:20px; }
.mega-image { overflow:hidden; border-radius:15px; min-height:245px; }
.mega-image img { width:100%; height:100%; object-fit:cover; }
.mobile-menu { display:none; }
main { min-height:75vh; }
main:focus { outline:none; }

/* Full-screen multi-scene hero: slide controls, pause, centered and anchored variants. */
.cinema-hero { position:relative; min-height:760px; height:100svh; max-height:1200px; width:100%; overflow:hidden; color:#fff; background:#151c23; }
.cinema-slides,.cinema-slide,.cinema-slide>img,.cinema-shade { position:absolute; inset:0; width:100%; height:100%; }
.cinema-slide { opacity:0; pointer-events:none; transition:opacity .9s ease; }
.cinema-slide.is-current { opacity:1; pointer-events:auto; z-index:1; }
.cinema-slide>img { object-fit:cover; transform:scale(1.04); transition:transform 8.5s linear; }
.cinema-slide.is-current>img { transform:scale(1); }
.cinema-slide>img[src$="official-itabba-team.png"] { object-position:50% 30%; }
.cinema-slide>img[src$="official-itabba-portrait.png"] { object-position:65% 38%; }
.cinema-slide>img[src$="official-mitonga-market.png"] { object-position:58% 42%; }
.cinema-shade { background:rgba(0,0,0,.46); }
.cinema-copy { position:absolute; z-index:2; top:50%; left:0; right:0; transform:translateY(-48%); }
.cinema-kicker { display:block; font-size:12px; letter-spacing:.2em; font-weight:800; text-transform:uppercase; color:#f9f9f9; margin-bottom:25px; }
.cinema-copy h1 { max-width:1110px; font-size:clamp(66px,7vw,120px); line-height:1.08; letter-spacing:-.067em; font-weight:700; }
.cinema-copy p { font-size:19px; line-height:1.6; max-width:600px; margin-top:32px; }
.cinema-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.cinema-controls { position:absolute; z-index:5; right:33px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; align-items:center; gap:22px; }
.slide-dots { display:flex; flex-direction:column; gap:13px; align-items:center; }
.slide-dots button { display:grid; place-items:center; width:18px; height:18px; border:0; background:transparent; padding:0; }
.slide-dots span { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.5); transition:width .2s,height .2s,background .2s; }
.slide-dots button.is-active span { width:10px; height:10px; background:#fff; }
.cinema-pause { width:43px; height:43px; border:1px solid rgba(255,255,255,.8); background:rgba(10,20,24,.22); border-radius:50%; color:#fff; display:grid; place-items:center; }
.cinema-pause svg { width:17px; height:17px; }
.cinema-rail { position:absolute; left:48px; right:48px; bottom:23px; z-index:5; display:flex; justify-content:space-between; align-items:center; font-size:10px; letter-spacing:.18em; font-weight:800; }
.rail-split { display:inline-block; width:42px; height:1px; background:rgba(255,255,255,.8); vertical-align:middle; margin:0 10px; }
.cinema-centered .cinema-copy { text-align:center; top:50%; }
.cinema-centered .cinema-copy h1 { max-width:1100px; margin-inline:auto; font-size:clamp(48px,5vw,86px); line-height:1.14; }
.cinema-centered .cinema-actions { justify-content:center; }
.cinema-centered .cinema-kicker { margin-bottom:18px; }
.cinema-centered .cinema-copy p { margin-inline:auto; }
.cinema-centered { height:calc(100svh - 72px); min-height:680px; margin-top:72px; }

/* Content rhythm and product discovery sections. */
.discovery-section { padding-top:130px; padding-bottom:124px; }
.discovery-tiles { display:grid; grid-template-columns:1.16fr 1fr; grid-template-rows:350px 350px; gap:20px; }
.service-tile { position:relative; overflow:hidden; border-radius:22px; min-height:300px; background:var(--service-color,#242a32); color:#fff; isolation:isolate; }
.service-tile>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .65s ease; z-index:-2; }
.service-tile:hover>img { transform:scale(1.045); }
.service-tile>img[src$="official-mitonga-seller.png"] { object-position:center 28%; }
.service-tile .tile-mask { position:absolute; inset:0; background:rgba(8,15,24,.42); z-index:-1; }
.service-tile-large { grid-row:span 2; }
.service-tile-medium { min-height:350px; }
.tile-top { position:absolute; left:36px; top:32px; right:35px; display:flex; justify-content:space-between; align-items:center; font-size:11px; letter-spacing:.13em; font-weight:800; text-transform:uppercase; }
.tile-icon { display:grid; place-items:center; border-radius:18px; width:57px; height:57px; color:#131820; background:var(--service-color); }
.tile-icon svg { width:29px; height:29px; }
.tile-content { position:absolute; bottom:35px; left:36px; right:40px; }
.tile-eyebrow { display:block; font-size:10px; letter-spacing:.19em; font-weight:800; margin-bottom:8px; }
.tile-content h3 { font-size:clamp(35px,4vw,65px); line-height:1.04; font-weight:700; }
.tile-content p { font-size:17px; margin:12px 0 24px; }
.tile-content .text-action { border-color:rgba(255,255,255,.75); }
.full-statement { background:var(--surface-alt); text-align:center; padding:138px 24px; }
.full-statement h2 { max-width:1100px; margin:20px auto 35px; font-size:clamp(39px,4.8vw,68px); line-height:1.23; }
.image-story { display:grid; grid-template-columns:1fr 1fr; min-height:700px; background:var(--bg); }
.image-story-media { overflow:hidden; min-height:640px; }
.image-story-media img { width:100%; height:100%; object-fit:cover; }
.image-story-media img[src$="official-mitonga-market.png"] { object-position:65% 50%; }
.image-story-media img[src$="official-itabba-team.png"] { object-position:center 25%; }
.image-story-copy { display:grid; place-items:center; padding:75px max(48px,10%); }
.image-story-copy .story-copy-inner { max-width:520px; }
.image-story-copy h2 { font-size:clamp(39px,4vw,64px); line-height:1.17; margin:23px 0; }
.image-story-copy p { color:var(--muted); font-size:16px; line-height:1.85; margin-bottom:29px; }
.image-story.reversed .image-story-media { order:2; }
.image-story.reversed .image-story-copy { order:1; }
.platform-universe { padding:130px 0 105px; overflow:hidden; }
.wide-rail { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(265px,29%); gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:12px; }
.wide-rail::-webkit-scrollbar { display:none; }
.rail-platform { scroll-snap-align:start; min-height:390px; border-radius:17px; background:var(--surface-alt); padding:29px; display:flex; flex-direction:column; color:var(--text); }
.platform-symbol { display:grid; place-items:center; width:92px; height:92px; border-radius:23px; background:var(--service-color); color:#15202a; margin-bottom:auto; }
.platform-symbol svg { width:47px; height:47px; stroke-width:1.4; }
.platform-rail-text small { color:var(--muted); text-transform:uppercase; letter-spacing:.13em; font-weight:800; }
.platform-rail-text h3 { font-size:35px; margin:7px 0; }
.platform-rail-text p { font-size:15px; color:var(--muted); margin-bottom:20px; }
.rail-more { font-size:14px; font-weight:800; display:inline-flex; gap:10px; align-items:center; }
.rail-more svg { width:17px; height:17px; }
.rail-buttons { display:flex; justify-content:flex-end; gap:12px; margin-top:25px; }
.rail-buttons button { display:grid; place-items:center; width:47px; height:47px; border:1px solid var(--border); border-radius:50%; background:var(--surface); color:var(--text); }
.editorial-showcase { padding-bottom:130px; }
.editorial-collage { display:grid; grid-template-columns:1.4fr 1fr; grid-template-rows:285px 285px; gap:20px; }
.collage-story { position:relative; isolation:isolate; border-radius:18px; overflow:hidden; background:#1b252f; color:white; display:flex; align-items:end; }
.collage-story>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .4s; }
.collage-story:after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.38); z-index:-1; }
.collage-story:hover>img { transform:scale(1.04); }
.collage-story>div { padding:30px; position:relative; z-index:1; }
.collage-story small { font-size:10px; letter-spacing:.17em; font-weight:800; }
.collage-story h3 { margin:10px 0 15px; font-size:clamp(27px,3vw,43px); line-height:1.2; }
.collage-story span { font-size:13px; font-weight:800; }
.collage-large { grid-row:span 2; }
.collage-plain { background:#1b2936; }
.collage-plain:after { display:none; }
.collage-star { position:absolute; right:32px; top:29px; display:grid; place-items:center; width:78px; height:78px; border:1px solid rgba(255,255,255,.5); border-radius:50%; }
.collage-star svg { width:39px; height:39px; }
.account-wide { display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:590px; background:#172d42; color:#fff; overflow:hidden; }
.account-copy { padding:80px 10vw; }
.account-copy .section-kicker { color:#c4d5ed; }
.account-copy h2 { font-size:clamp(43px,5vw,76px); line-height:1.12; margin:20px 0; }
.account-copy p { color:#e3e8ed; line-height:1.8; max-width:520px; margin-bottom:30px; }
.account-art { height:590px; display:grid; place-items:center; position:relative; }
.account-center { display:grid; place-items:center; width:205px; height:205px; background:#12202b; border-radius:44px; box-shadow:0 18px 50px rgba(0,0,0,.28); transform:rotate(-12deg); }
.account-center img { display:block; width:150px; height:150px; padding:9px; object-fit:contain; }
.account-orbit { position:absolute; display:grid; place-items:center; width:90px; height:90px; background:#f4efdb; border-radius:26px; color:#12202b; box-shadow:0 15px 40px rgba(0,0,0,.23); }
.account-orbit svg { width:42px; height:42px; }
.account-a { top:85px; left:13%; transform:rotate(-18deg); }
.account-b { right:15%; top:105px; transform:rotate(15deg); }
.account-c { right:19%; bottom:85px; transform:rotate(-9deg); }
.final-cta { text-align:center; padding:140px 20px 155px; background:var(--surface); }
.final-cta h2 { margin:18px 0 34px; font-size:clamp(45px,6vw,90px); line-height:1.15; }

/* Technologies is a real directory plus immersive category collections. */
.technology-hero { height:min(770px,90svh); min-height:610px; position:relative; background:#1b2732; color:#fff; overflow:hidden; }
.technology-cover,.technology-shade { position:absolute; inset:0; width:100%; height:100%; }
.technology-cover { object-fit:cover; }
.technology-cover[src$="official-itabba-team.png"] { object-position:center 28%; }
.technology-shade { background:rgba(0,0,0,.48); }
.technology-cover-text { position:relative; z-index:1; padding-top:215px; }
.technology-cover-text h1 { max-width:1000px; font-size:clamp(54px,6vw,100px); line-height:1.13; }
.technology-cover-text p { max-width:690px; margin-top:27px; line-height:1.7; font-size:18px; }
.technology-local-nav,.product-subnav { position:sticky; z-index:50; top:72px; background:var(--surface); border-bottom:1px solid var(--border); }
.technology-local-nav>.content-wide,.product-subnav>.content-wide { display:flex; height:65px; align-items:center; gap:40px; font-size:13px; }
.technology-local-nav strong,.product-subnav strong { font-size:15px; margin-right:auto; }
.technology-local-nav strong span { color:var(--muted); font-weight:500; }
.technology-local-nav a:hover,.product-subnav a:hover { color:var(--blue); }
.technologies-highlights { padding:125px 0; }
.tech-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.tech-feature-grid .service-tile { height:560px; }
.all-services { background:var(--surface-alt); padding:116px 0 130px; }
.directory-tools { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:38px; }
.technology-filters { display:flex; gap:8px; flex-wrap:wrap; }
.technology-filters button { background:transparent; border:1px solid var(--border); color:var(--text); padding:11px 15px; border-radius:40px; font-size:12px; font-weight:800; }
.technology-filters button.selected { background:var(--text); color:var(--bg); border-color:var(--text); }
.directory-search { display:flex; align-items:center; gap:9px; border:1px solid var(--border); background:var(--surface); padding:0 14px; height:43px; border-radius:25px; min-width:230px; }
.directory-search svg { width:18px; height:18px; }
.directory-search input { border:0; outline:0; color:var(--text); background:transparent; width:100%; font-size:12px; }
.app-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.gallery-card { background:var(--surface); border-radius:18px; overflow:hidden; min-width:0; }
.gallery-card[hidden] { display:none; }
.gallery-card-visual { height:275px; position:relative; overflow:hidden; background:var(--service-color); }
.gallery-card-visual img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.gallery-card:hover .gallery-card-visual img { transform:scale(1.055); }
.gallery-icon { position:absolute; left:23px; bottom:-1px; transform:translateY(-10px); background:var(--service-color); color:#16202a; border-radius:18px; display:grid; place-items:center; width:62px; height:62px; box-shadow:0 4px 16px rgba(0,0,0,.15); }
.gallery-icon svg { width:32px; height:32px; }
.gallery-card-copy { padding:25px 28px 30px; min-height:245px; display:flex; flex-direction:column; align-items:start; }
.gallery-card-copy small { text-transform:uppercase; letter-spacing:.11em; color:var(--muted); font-weight:800; font-size:10px; }
.gallery-card-copy h3 { font-size:33px; margin:7px 0 10px; }
.gallery-card-copy p { font-size:14px; line-height:1.65; color:var(--muted); margin-bottom:21px; }
.gallery-card-copy .gallery-link { margin-top:auto; }
.filter-empty { padding:65px 20px; text-align:center; }
.filter-empty[hidden] { display:none; }
.filter-empty h3 { margin-bottom:20px; }
.tech-identity { background:#1b3246; color:#fff; padding:100px 0; }
.tech-identity>.content-wide { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:50px; }
.tech-identity h2 { font-size:clamp(38px,4vw,60px); max-width:650px; line-height:1.2; margin:20px 0; }
.tech-identity p { color:#d7e1e9; max-width:580px; line-height:1.8; margin-bottom:27px; }
.tech-identity .section-kicker { color:#a9c5ed; }
.identity-symbol { border:1px solid rgba(255,255,255,.24); border-radius:50%; width:330px; height:330px; display:grid; place-items:center; margin:auto; }
.identity-symbol img { width:170px; padding:10px; object-fit:contain; }

/* Dedicated product story pages for all eleven platforms. */
.product-hero { height:min(790px,94svh); min-height:650px; background:#1d2630; position:relative; color:#fff; display:flex; align-items:center; }
.product-hero-photo,.product-hero-cover { position:absolute; inset:0; height:100%; width:100%; }
.product-hero-photo { object-fit:cover; }
.product-hero-photo[src$="official-mitonga-seller.png"] { object-position:70% 35%; }
.product-hero-cover { background:rgba(0,0,0,.62); }
.product-hero-inner { position:relative; z-index:1; padding-top:75px; }
.product-hero h1 { font-size:clamp(85px,12vw,190px); line-height:1; margin:13px 0; }
.product-hero h1 { overflow-wrap:anywhere; }
.product-symbol { display:grid; place-items:center; width:70px; height:70px; border-radius:21px; color:#15202b; background:var(--service-color); }
.product-symbol svg { width:34px; height:34px; }
.product-tagline { font-size:clamp(24px,3vw,42px); font-family:"Manrope",Arial,sans-serif; letter-spacing:-.04em; font-weight:650; }
.product-intro { max-width:650px; margin-top:20px; font-size:17px; line-height:1.8; color:#f1f1f1; }
.product-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
.product-subnav>div>div { display:flex; gap:30px; }
.product-statement { text-align:center; padding:150px 24px; }
.product-statement h2 { max-width:980px; font-size:clamp(39px,5vw,72px); line-height:1.18; margin:16px auto 25px; }
.product-statement p { color:var(--muted); max-width:660px; margin:auto; line-height:1.85; }
.related-products { padding:125px 0 140px; }
.related-grid,.innovation-strip-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.related-grid .service-tile,.innovation-strip-grid .service-tile { min-height:420px; }
.related-grid .tile-top,.innovation-strip-grid .tile-top { left:24px; right:24px; top:25px; }
.related-grid .tile-content,.innovation-strip-grid .tile-content { left:25px; bottom:25px; right:25px; }
.related-grid h3,.innovation-strip-grid h3 { font-size:42px; }

/* About: immersive multi-scene introductory reel, editorial stories, impact. */
.about-news { padding-top:125px; padding-bottom:130px; }
.about-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.about-news-card { display:block; }
.about-news-card img { width:100%; height:285px; object-fit:cover; border-radius:13px; transition:transform .3s; }
.about-news-card:hover img { transform:scale(1.025); }
.about-news-card small { display:block; font-size:11px; letter-spacing:.12em; font-weight:800; color:var(--blue); margin-top:23px; }
.about-news-card h3 { font-size:clamp(23px,2.25vw,34px); line-height:1.22; margin:8px 0 18px; }
.about-news-card span { font-weight:800; font-size:13px; }
.about-mission { background:var(--surface-alt); padding:140px 0 155px; }
.about-mission>.content-wide { max-width:1000px; text-align:center; }
.about-mission h2 { font-size:clamp(40px,5.2vw,75px); line-height:1.18; margin:17px 0 30px; }
.about-mission p { font-size:18px; line-height:1.85; color:var(--muted); }
.principles { padding:130px 0; }
.principles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.principles-grid article { padding:42px; background:var(--surface-alt); border-radius:15px; min-height:285px; }
.principles-grid article span { color:var(--blue); font-weight:800; letter-spacing:.1em; font-size:11px; }
.principles-grid h3 { font-size:32px; margin:38px 0 12px; }
.principles-grid p { font-size:14px; line-height:1.8; color:var(--muted); }
.about-world { height:620px; position:relative; display:grid; place-items:center; text-align:center; background:#17232d; color:#fff; overflow:hidden; }
.about-world>img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.about-world:before { content:""; position:absolute; inset:0; background:rgba(0,0,0,.58); z-index:1; }
.about-world-text { position:relative; z-index:2; max-width:850px; padding:30px; }
.about-world-text .section-kicker { color:#fff; }
.about-world h2 { font-size:clamp(44px,5vw,74px); line-height:1.16; margin:18px auto 25px; }
.about-world p { max-width:620px; margin:0 auto 27px; line-height:1.7; }

/* Innovation has a distinct chapter structure. */
.innovation-hero,.contact-hero { position:relative; height:770px; min-height:650px; overflow:hidden; background:#132333; color:#fff; }
.innovation-hero>img,.contact-hero>img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.innovation-hero:before,.contact-hero:before { content:""; position:absolute; inset:0; background:rgba(0,0,0,.52); z-index:1; }
.innovation-hero-copy { position:relative; z-index:2; top:50%; transform:translateY(-45%); width:min(1150px,calc(100% - 96px)); margin:auto; text-align:center; }
.innovation-hero h1 { font-size:clamp(51px,6vw,89px); line-height:1.12; }
.innovation-hero p { margin:25px auto 30px; max-width:710px; line-height:1.7; font-size:18px; }
.innovation-feature { padding:135px 0; }
.innovation-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:9%; align-items:center; margin-top:33px; }
.innovation-feature h2 { font-size:clamp(46px,4.7vw,69px); line-height:1.18; margin-bottom:25px; }
.innovation-feature p { color:var(--muted); line-height:1.85; margin-bottom:25px; }
.innovation-feature-media { position:relative; border-radius:24px; overflow:hidden; min-height:560px; }
.innovation-feature-media img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.innovation-puck { position:absolute; bottom:30px; right:28px; width:110px; height:110px; border-radius:29px; display:grid; place-items:center; color:#151b23; background:#eee4fd; }
.innovation-puck svg { width:60px; height:60px; }
.project-note { display:block; color:var(--muted); margin-top:20px; }
.innovation-strip { background:var(--surface-alt); padding:125px 0 135px; }

/* News: editorial magazine layout with honest empty official newsroom state. */
.news-hero { padding:170px 0 75px; }
.news-hero h1 { font-size:clamp(63px,7vw,115px); line-height:1.04; margin:18px 0 28px; }
.news-hero p { font-size:18px; line-height:1.7; max-width:660px; color:var(--muted); }
.news-feature { display:grid; grid-template-columns:1.3fr .8fr; gap:7%; align-items:center; padding-bottom:95px; }
.news-feature-image { height:560px; overflow:hidden; border-radius:14px; }
.news-feature-image img { width:100%; height:100%; object-fit:cover; }
.news-feature small { color:var(--blue); letter-spacing:.12em; font-weight:800; }
.news-feature h2 { margin:15px 0 25px; font-size:clamp(35px,4vw,60px); line-height:1.16; }
.news-feature p { color:var(--muted); line-height:1.85; margin-bottom:26px; }
.news-cards { padding-bottom:120px; }
.official-news-note { display:flex; gap:25px; background:var(--surface-alt); padding:38px; margin-top:65px; border-radius:16px; }
.official-news-note>span { width:58px; height:58px; border-radius:50%; color:var(--blue); background:var(--surface); display:grid; place-items:center; flex-shrink:0; }
.official-news-note h3 { font-size:22px; margin-bottom:8px; }
.official-news-note p { max-width:750px; color:var(--muted); line-height:1.8; }

/* Contact and pending legal content retain finished page-level layouts. */
.contact-hero { height:680px; }
.contact-hero-inner { position:relative; z-index:2; top:50%; transform:translateY(-42%); }
.contact-hero h1 { font-size:clamp(65px,8vw,135px); line-height:1.02; }
.contact-hero p { font-size:19px; margin-top:23px; max-width:670px; }
.contact-information { padding:120px 0 145px; }
.contact-columns { display:grid; grid-template-columns:1fr 1fr; gap:15%; padding-top:20px; }
.contact-main h2 { font-size:clamp(38px,4vw,59px); margin:18px 0 25px; line-height:1.15; }
.contact-main p { color:var(--muted); line-height:1.85; font-size:16px; }
.pending-mark { margin-top:27px; display:inline-block; padding:9px 14px; background:var(--surface-alt); border-radius:30px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.contact-links { display:flex; flex-direction:column; }
.contact-links h3 { font-size:27px; margin-bottom:15px; }
.contact-links a { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--border); padding:22px 0; font-size:18px; font-weight:700; }
.contact-links a:hover { color:var(--blue); }
.legal-hero { padding:180px 0 95px; }
.legal-hero h1 { font-size:clamp(57px,6vw,90px); line-height:1.12; margin:20px 0 26px; }
.legal-hero p { color:var(--muted); max-width:730px; line-height:1.8; }
.legal-content { display:grid; grid-template-columns:250px 1fr; gap:10%; padding-bottom:140px; }
.legal-sidebar { display:flex; flex-direction:column; align-items:start; gap:17px; position:sticky; top:110px; align-self:start; }
.legal-sidebar span { font-size:11px; letter-spacing:.13em; font-weight:800; color:var(--muted); margin-bottom:8px; }
.legal-sidebar a { font-size:14px; font-weight:750; }
.legal-sidebar a:hover { color:var(--blue); }
.legal-articles article { padding:28px 0 50px; border-bottom:1px solid var(--border); margin-bottom:35px; }
.legal-articles article small { color:var(--blue); font-weight:800; letter-spacing:.1em; }
.legal-articles h2 { font-size:clamp(33px,3vw,46px); margin:13px 0 19px; }
.legal-articles p { color:var(--muted); line-height:1.85; max-width:850px; }

/* Search overlay and mobile navigation are functional, not decorative. */
.global-search { width:min(780px,calc(100% - 32px)); max-height:min(80svh,800px); padding:28px; background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:18px; box-shadow:var(--shadow); }
.global-search::backdrop { background:rgba(0,0,0,.7); }
.global-search-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.global-search-head h2 { font-size:28px; }
.global-search-bar { display:flex; align-items:center; gap:15px; height:60px; border:1px solid var(--border); background:var(--surface-alt); border-radius:11px; padding:0 20px; }
.global-search-bar input { color:var(--text); background:transparent; outline:0; border:0; width:100%; font-size:17px; }
.global-search-results { max-height:50svh; overflow:auto; padding-top:17px; }
.search-result-label { color:var(--muted); letter-spacing:.12em; font-weight:800; display:block; margin:7px 0 10px; }
.search-result { display:flex; align-items:center; gap:15px; border-bottom:1px solid var(--border); padding:12px 3px; }
.search-result:hover { color:var(--blue); }
.search-result-icon { width:47px; height:47px; border-radius:12px; display:grid; place-items:center; color:#1e2430; }
.search-result span:nth-child(2) { display:flex; flex-direction:column; flex:1; gap:3px; }
.search-result small { color:var(--muted); }
.search-none { padding:30px 0; color:var(--muted); }
.search-pages { display:flex; flex-wrap:wrap; gap:11px; margin-top:21px; }
.search-pages a { border:1px solid var(--border); border-radius:30px; padding:9px 14px; font-size:12px; }

/* Multi-column institutional footer. */
.site-footer { background:var(--surface-alt); border-top:1px solid var(--border); }
.footer-top { padding:95px 0 100px; display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:55px; }
.footer-brand h2 { font-size:clamp(38px,3vw,50px); margin:25px 0; line-height:1.14; }
.footer-brand p { color:var(--muted); line-height:1.8; max-width:380px; }
.footer-column { display:flex; flex-direction:column; gap:17px; align-items:start; }
.footer-column h3 { font-size:13px; font-family:"DM Sans",sans-serif; letter-spacing:.05em; margin-bottom:10px; }
.footer-column a,.footer-search { font-size:13px; color:var(--muted); }
.footer-column a:hover,.footer-search:hover { color:var(--blue); }
.footer-search { display:flex; align-items:center; gap:10px; background:none; border:0; padding:0; }
.footer-search svg { width:16px; height:16px; }
.footer-bottom { border-top:1px solid var(--border); padding:26px 0 35px; display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:11px; color:var(--muted); }
.footer-bottom>div { display:flex; gap:8px; }
.footer-bottom button { background:none; border:0; color:inherit; display:flex; align-items:center; gap:6px; font-size:11px; }
.footer-bottom svg { width:14px; height:14px; }

/* Official content from the supplied company, contact and enterprise files. */
.footer-contact-email { display:inline-flex; margin-top:22px; color:var(--blue); font-size:15px; font-weight:800; }
.footer-location { display:block; margin-top:8px; font-size:12px; color:var(--muted); }
.about-offers { padding-top:138px; padding-bottom:145px; }
.about-offers-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.about-offers-grid article { background:var(--surface-alt); border-radius:17px; padding:48px 50px 57px; min-height:310px; }
.about-offers-grid article span { display:block; font-size:11px; letter-spacing:.15em; font-weight:850; color:var(--blue); }
.about-offers-grid article h3 { font-size:clamp(29px,2.7vw,44px); line-height:1.2; max-width:510px; margin:33px 0 15px; }
.about-offers-grid article p { max-width:530px; font-size:15px; line-height:1.85; color:var(--muted); }
.tower-teaser { display:grid; grid-template-columns:1.04fr 1fr; gap:9%; align-items:center; padding-top:125px; padding-bottom:130px; }
.tower-teaser-photo { overflow:hidden; border-radius:17px; height:590px; }
.tower-teaser-photo img { width:100%; height:100%; object-fit:cover; }
.tower-teaser h2 { font-size:clamp(38px,4.4vw,65px); line-height:1.16; margin:23px 0; }
.tower-teaser p { color:var(--muted); max-width:550px; line-height:1.85; font-size:16px; margin-bottom:28px; }
.tower-hero { height:790px; min-height:690px; position:relative; background:#14212a url('/assets/creative-studio.png') center 42% / cover no-repeat; color:#fff; display:flex; align-items:center; overflow:hidden; }
.tower-cover,.tower-shade { position:absolute; inset:0; width:100%; height:100%; }
.tower-cover { object-fit:cover; object-position:center 42%; }
.tower-shade { background:rgba(0,0,0,.57); }
.tower-hero-copy { position:relative; z-index:2; padding-top:65px; }
.tower-hero h1 { font-size:clamp(80px,11vw,164px); line-height:1; letter-spacing:-.065em; }
.tower-hero h1 span { color:#fff0a0; }
.tower-hero-lead { max-width:660px; font-size:clamp(23px,2.5vw,39px); font-weight:650; line-height:1.35; margin:26px 0 34px; }
.tower-hero .pill { margin-right:10px; }
.tower-intro { text-align:center; padding-top:130px; padding-bottom:135px; }
.tower-intro h2 { font-size:clamp(42px,5.1vw,75px); line-height:1.17; max-width:1040px; margin:23px auto 26px; }
.tower-intro p { font-size:17px; line-height:1.8; color:var(--muted); max-width:780px; margin:auto; }
.tower-pillars { background:var(--surface-alt); padding:120px 0 135px; }
.tower-pillar-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.tower-pillar-grid article { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:37px; min-height:350px; display:flex; flex-direction:column; }
.pillar-count { color:var(--blue); font-size:13px; font-weight:850; letter-spacing:.12em; }
.tower-pillar-grid h3 { font-size:clamp(25px,2.4vw,37px); line-height:1.2; margin:40px 0 15px; }
.tower-pillar-grid p { font-size:15px; color:var(--muted); line-height:1.75; }
.tower-closing { display:grid; grid-template-columns:1fr 1fr; min-height:700px; }
.tower-closing-photo { overflow:hidden; min-height:620px; }
.tower-closing-photo img { width:100%; height:100%; object-fit:cover; object-position:center 29%; }
.tower-closing-copy { display:flex; flex-direction:column; align-items:start; justify-content:center; padding:90px 12%; }
.tower-closing-copy h2 { font-size:clamp(41px,4.5vw,64px); line-height:1.18; margin:22px 0; }
.tower-closing-copy p { font-size:16px; line-height:1.8; color:var(--muted); margin-bottom:29px; }

/* Contact information is now actionable; no form promises unsupplied delivery. */
.contact-information { padding-bottom:110px; }
.contact-methods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.contact-methods article { border:1px solid var(--border); background:var(--surface-alt); border-radius:18px; padding:37px 33px 35px; min-height:430px; display:flex; flex-direction:column; align-items:start; }
.contact-method-icon { width:59px; height:59px; display:grid; place-items:center; border-radius:18px; background:#f1db9b; color:#1e2530; margin-bottom:32px; }
.contact-method-icon svg { width:29px; height:29px; }
.contact-methods h3 { font-size:clamp(26px,2.5vw,38px); margin:11px 0 17px; }
.contact-methods p { color:var(--muted); line-height:1.75; font-size:15px; margin-bottom:27px; }
.contact-methods a { display:flex; gap:12px; justify-content:space-between; align-items:center; font-size:15px; font-weight:800; border-bottom:1px solid var(--border); padding:12px 0; width:100%; overflow-wrap:anywhere; }
.contact-methods a:hover { color:var(--blue); }
.contact-methods a svg { width:17px; height:17px; }
.contact-visit { display:grid; grid-template-columns:1fr 1fr; min-height:650px; background:var(--surface-alt); }
.contact-visit-photo { min-height:600px; overflow:hidden; }
.contact-visit-photo img { width:100%; height:100%; object-fit:cover; object-position:center 25%; }
.contact-visit-content { display:flex; flex-direction:column; justify-content:center; align-items:start; padding:75px clamp(40px,7vw,125px); }
.contact-visit h2 { font-size:clamp(38px,4.8vw,66px); line-height:1.14; margin:20px 0; }
.contact-visit p { color:var(--muted); font-size:18px; line-height:1.7; max-width:570px; }
.contact-visit-actions { display:flex; flex-wrap:wrap; gap:11px; margin:28px 0; }
.contact-visit small { color:var(--muted); line-height:1.6; }
.contact-more { padding-top:130px; padding-bottom:140px; }
.contact-more-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.contact-more-links a { display:flex; justify-content:space-between; align-items:center; background:var(--surface-alt); padding:26px 30px; border-radius:12px; font-size:18px; font-weight:800; }
.contact-more-links a:hover { color:var(--blue); }

/* Faithful, searchable presentation of the supplied French terms. */
.legal-hero { padding-bottom:76px; }
.legal-hero p { max-width:910px; }
.legal-meta { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:34px; }
.legal-meta span,.legal-meta button { border:1px solid var(--border); border-radius:100px; padding:12px 18px; font-size:12px; font-weight:750; background:var(--surface-alt); color:var(--text); }
.legal-meta button { display:inline-flex; gap:10px; align-items:center; }
.legal-meta button:hover { border-color:var(--blue); }
.legal-meta button svg { width:16px; height:16px; }
.legal-navigation { position:sticky; z-index:50; top:72px; background:var(--surface); border-block:1px solid var(--border); }
.legal-navigation .content-wide { display:flex; flex-wrap:wrap; gap:37px; align-items:center; min-height:68px; }
.legal-navigation a { font-size:13px; font-weight:800; padding:22px 0; }
.legal-navigation a:hover { color:var(--blue); }
.legal-content { grid-template-columns:minmax(210px,260px) minmax(0,1fr); gap:clamp(35px,6vw,110px); padding-top:110px; }
.legal-sidebar { position:sticky; top:163px; align-self:start; overflow-y:auto; max-height:calc(100svh - 190px); padding-right:13px; gap:13px; scrollbar-width:thin; }
.legal-sidebar a { font-size:13px; line-height:1.4; font-weight:650; }
.legal-filter { width:100%; display:flex; align-items:center; gap:8px; border:1px solid var(--border); padding:10px; border-radius:9px; }
.legal-filter svg { width:15px; height:15px; color:var(--muted); }
.legal-filter input { border:0; outline:0; background:transparent; color:var(--text); min-width:0; width:100%; font-size:13px; }
.legal-intro { padding-bottom:50px; border-bottom:1px solid var(--border); }
.legal-intro h2 { font-size:clamp(37px,3.4vw,59px); line-height:1.12; margin:19px 0; }
.legal-intro p { font-size:15px; color:var(--muted); line-height:1.8; max-width:860px; }
.legal-language-note { margin-top:18px; border-left:3px solid var(--blue); padding:12px 17px; background:var(--surface-alt); }
.legal-chapter { scroll-margin-top:165px; padding:47px 0 53px; border-bottom:1px solid var(--border); }
.legal-chapter[hidden],.legal-sidebar a[hidden],.legal-empty[hidden] { display:none!important; }
.legal-chapter-number { color:var(--blue); font-size:12px; letter-spacing:.12em; font-weight:850; }
.legal-chapter h3 { margin:12px 0 23px; font-size:clamp(25px,2.5vw,39px); line-height:1.2; }
.legal-prose { color:var(--text); font-size:15px; line-height:1.94; overflow-wrap:anywhere; white-space:normal; }
.legal-prose b,.legal-prose strong { color:var(--blue); font-weight:850; }
.legal-prose ul,.legal-prose ol { margin:14px 0 14px 22px; padding-left:15px; }
.legal-prose li { margin:5px 0; }
.legal-empty { padding:45px 0; font-size:16px; }
.legal-additional { padding:128px 0; background:var(--surface-alt); scroll-margin-top:155px; }
.legal-additional .content-wide { max-width:1100px; }
.legal-additional h2,.legal-imprint h2 { font-size:clamp(40px,4.8vw,70px); line-height:1.15; margin:19px 0 26px; }
.legal-additional p { font-size:16px; color:var(--muted); line-height:1.85; max-width:910px; margin-bottom:31px; }
.legal-imprint { padding-top:125px; padding-bottom:130px; scroll-margin-top:155px; }
.legal-imprint-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:47px; }
.legal-imprint-grid>div { border:1px solid var(--border); background:var(--surface-alt); border-radius:16px; padding:32px; display:flex; flex-direction:column; align-items:start; gap:11px; }
.legal-imprint h3 { font-size:25px; margin-bottom:13px; }
.legal-imprint p { color:var(--muted); line-height:1.8; }
.legal-imprint a { font-weight:750; color:var(--blue); overflow-wrap:anywhere; }
.legal-completion-note { font-size:13px; margin-top:28px; }

/* Responsive pages, content, navigation and carousels. */
@media(max-width:1550px) {
  .site-header .brand-tagline { display:none; }
}
@media(max-width:1350px) {
  .desktop-nav { gap:20px; }
  .header-inner { gap:23px; }
  .nav-item { font-size:12px; }
  .mega-shell { gap:40px; }
}
@media(max-width:1130px) {
  .content-wide { width:calc(100% - 64px); }
  .nav-explore { margin-left:0; }
  .desktop-nav { gap:15px; }
  .account-link span { display:none; }
  .discovery-tiles { grid-template-rows:310px 310px; }
  .image-story { min-height:600px; }
  .image-story-media { min-height:600px; }
  .footer-top { grid-template-columns:1.6fr 1fr 1fr; }
  .footer-column:last-child { display:none; }
}
@media(max-width:1000px) {
  .desktop-nav,.account-link { display:none; }
  .header-actions { margin-left:auto; }
  .menu-toggle { display:grid; }
  .site-header,.header-inner { height:66px; }
  .mega-menu { display:none!important; }
  .mobile-menu { display:block; position:fixed; top:66px; bottom:0; left:0; right:0; background:var(--surface); color:var(--text); overflow:auto; padding:25px 35px 80px; }
  .mobile-menu-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; font-size:12px; letter-spacing:.13em; text-transform:uppercase; }
  .mobile-menu-head button { border:0; background:none; color:inherit; }
  .mobile-link { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--border); padding:17px 0; font-size:24px; font-weight:750; letter-spacing:-.03em; }
  .mobile-link svg { width:19px; height:19px; }
  .mobile-apps { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
  .mobile-chip { font-size:13px; border:1px solid var(--border); padding:10px 14px; border-radius:50px; }
  .mobile-account { display:flex; justify-content:space-between; align-items:center; margin-top:34px; font-weight:800; }
  .cinema-centered { margin-top:66px; }
  .technology-local-nav,.product-subnav { top:66px; }
  .cinema-copy h1 { font-size:clamp(57px,8vw,91px); }
  .cinema-copy p { font-size:17px; }
  .discovery-section,.technologies-highlights,.related-products,.innovation-feature { padding-top:90px; padding-bottom:95px; }
  .service-tile-large { grid-row:auto; grid-column:span 2; }
  .discovery-tiles { grid-template-columns:1fr 1fr; grid-template-rows:450px 340px; }
  .editorial-collage { grid-template-rows:260px 260px; }
  .image-story-copy { padding:65px 7%; }
  .wide-rail { grid-auto-columns:40%; }
  .app-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-copy { padding:70px 5vw; }
  .technology-cover-text { padding-top:190px; }
  .tower-pillar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-methods { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .legal-navigation { top:66px; }
}
@media(max-width:720px) {
  .content-wide { width:calc(100% - 36px); }
  .header-inner { width:calc(100% - 32px); gap:10px; }
  .brand-text { font-size:22px; }
  .brand-mark { flex:0 0 35px; width:35px; height:35px; padding:4px; border-radius:11px; }
  .header-actions { gap:3px; }
  .icon-button,.lang-button { width:32px; height:33px; }
  .icon-button svg { width:19px; height:19px; }
  .cinema-hero { height:100svh; min-height:620px; }
  .cinema-centered { height:calc(100svh - 66px); min-height:610px; }
  .cinema-slide>img { object-position:56% center; }
  .cinema-copy { top:50%; transform:translateY(-38%); }
  .cinema-copy h1 { font-size:clamp(45px,10vw,68px); }
  .cinema-centered .cinema-copy h1 { font-size:clamp(35px,9vw,53px); }
  .cinema-copy p { font-size:15px; margin-top:20px; }
  .cinema-kicker { font-size:10px; margin-bottom:18px; }
  .cinema-actions { gap:8px; margin-top:22px; }
  .pill { padding:0 17px; min-height:44px; font-size:12px; }
  .cinema-controls { top:auto; bottom:78px; right:20px; transform:none; flex-direction:row; }
  .slide-dots { flex-direction:row; }
  .cinema-pause { width:39px; height:39px; }
  .cinema-rail { left:18px; right:18px; bottom:21px; font-size:9px; }
  .rail-split { width:18px; margin:0 5px; }
  .section-heading { flex-direction:column; align-items:start; gap:21px; margin-bottom:27px; }
  .section-heading h2 { font-size:clamp(32px,8vw,49px); margin-top:14px; }
  .section-heading .under-link { font-size:13px; }
  .discovery-section { padding-top:79px; padding-bottom:82px; }
  .discovery-tiles { display:flex; flex-direction:column; gap:13px; }
  .service-tile,.service-tile-large,.service-tile-medium { min-height:390px; height:390px; }
  .tile-top { left:23px; right:23px; top:22px; }
  .tile-icon { width:49px; height:49px; border-radius:13px; }
  .tile-icon svg { width:26px; height:26px; }
  .tile-content { left:24px; bottom:25px; right:24px; }
  .tile-content h3 { font-size:clamp(38px,9vw,55px); }
  .tile-content p { font-size:15px; }
  .full-statement { padding:90px 18px; }
  .full-statement h2 { font-size:clamp(34px,8vw,51px); }
  .image-story { display:flex; flex-direction:column; min-height:0; }
  .image-story-media { min-height:0; height:440px; order:1!important; }
  .image-story-copy { order:2!important; padding:65px 18px 80px; }
  .image-story-copy h2 { font-size:clamp(36px,8vw,49px); }
  .platform-universe { padding:85px 0 78px; }
  .wide-rail { grid-auto-columns:80%; gap:12px; margin-right:-18px; }
  .rail-platform { min-height:330px; padding:23px; }
  .platform-symbol { width:76px; height:76px; }
  .platform-symbol svg { width:38px; height:38px; }
  .editorial-showcase { padding-bottom:82px; }
  .editorial-collage { display:flex; flex-direction:column; gap:13px; }
  .collage-story { min-height:335px; }
  .collage-story h3 { font-size:35px; }
  .account-wide { grid-template-columns:1fr; }
  .account-copy { padding:74px 25px 30px; }
  .account-copy h2 { font-size:clamp(43px,10vw,62px); }
  .account-art { height:340px; }
  .account-center { width:150px; height:150px; border-radius:34px; }
  .account-center img { width:110px; height:110px; }
  .account-orbit { width:65px; height:65px; border-radius:17px; }
  .account-orbit svg { width:30px; height:30px; }
  .account-a { top:20px; left:15%; }
  .account-b { top:18px; right:16%; }
  .account-c { bottom:30px; right:17%; }
  .final-cta { padding:88px 18px 100px; }
  .final-cta h2 { font-size:clamp(46px,9vw,67px); }
  .technology-hero { height:710px; min-height:0; }
  .technology-cover-text { padding-top:200px; }
  .technology-cover-text h1 { font-size:clamp(46px,9vw,65px); }
  .technology-cover-text p { font-size:15px; }
  .technology-local-nav>.content-wide,.product-subnav>.content-wide { height:60px; gap:18px; overflow-x:auto; white-space:nowrap; font-size:11px; }
  .technology-local-nav strong { font-size:13px; }
  .technologies-highlights { padding-top:85px; padding-bottom:85px; }
  .tech-feature-grid { grid-template-columns:1fr; gap:13px; }
  .tech-feature-grid .service-tile { height:420px; }
  .all-services { padding:86px 0; }
  .directory-tools { align-items:stretch; flex-direction:column; }
  .technology-filters { flex-wrap:nowrap; overflow-x:auto; padding-bottom:8px; }
  .technology-filters button { white-space:nowrap; }
  .directory-search { width:100%; }
  .app-gallery { grid-template-columns:1fr; gap:15px; }
  .gallery-card-visual { height:265px; }
  .gallery-card-copy { min-height:210px; }
  .tech-identity>.content-wide { grid-template-columns:1fr; }
  .tech-identity { padding:85px 0; }
  .identity-symbol { width:220px; height:220px; }
  .identity-symbol img { width:125px; }
  .product-hero { min-height:680px; height:90svh; }
  .product-hero-inner { padding-top:85px; }
  .product-hero h1 { font-size:clamp(70px,15vw,118px); }
  .product-tagline { font-size:clamp(26px,6vw,38px); }
  .product-intro { font-size:15px; }
  .product-statement { padding:95px 18px; }
  .product-statement h2 { font-size:clamp(39px,8vw,55px); }
  .related-products { padding:90px 0; }
  .related-grid,.innovation-strip-grid { grid-template-columns:1fr; gap:14px; }
  .related-grid .service-tile,.innovation-strip-grid .service-tile { min-height:340px; }
  .about-news { padding:85px 0; }
  .about-story-grid { grid-template-columns:1fr; gap:35px; }
  .about-news-card img { height:280px; }
  .about-news-card h3 { font-size:28px; }
  .about-mission { padding:91px 18px; }
  .about-mission h2 { font-size:clamp(39px,8vw,57px); }
  .about-mission p { font-size:15px; }
  .principles { padding:85px 0; }
  .principles-grid { grid-template-columns:1fr; }
  .principles-grid article { min-height:230px; padding:35px; }
  .principles-grid h3 { margin-top:25px; }
  .about-world { height:570px; }
  .about-world h2 { font-size:clamp(41px,9vw,61px); }
  .about-offers { padding-top:85px; padding-bottom:85px; }
  .about-offers-grid { grid-template-columns:1fr; gap:13px; }
  .about-offers-grid article { padding:28px 26px 35px; min-height:0; }
  .about-offers-grid article h3 { font-size:32px; margin-top:20px; }
  .tower-teaser { grid-template-columns:1fr; padding-top:85px; padding-bottom:90px; gap:30px; }
  .tower-teaser-photo { height:350px; }
  .tower-teaser h2 { font-size:clamp(37px,9vw,53px); }
  .tower-hero { height:690px; min-height:620px; }
  .tower-hero-copy { padding-top:70px; }
  .tower-hero h1 { font-size:clamp(64px,15vw,96px); }
  .tower-hero-lead { font-size:24px; max-width:440px; }
  .tower-hero .pill { margin:0 5px 9px 0; }
  .tower-intro { padding-top:85px; padding-bottom:90px; }
  .tower-intro h2 { font-size:clamp(40px,8vw,56px); }
  .tower-intro p { font-size:15px; }
  .tower-pillars { padding:90px 0; }
  .tower-pillar-grid { grid-template-columns:1fr; gap:12px; }
  .tower-pillar-grid article { min-height:0; padding:30px; }
  .tower-pillar-grid h3 { margin-top:29px; font-size:29px; }
  .tower-closing { grid-template-columns:1fr; min-height:0; }
  .tower-closing-photo { min-height:0; height:380px; }
  .tower-closing-copy { padding:75px 22px 90px; }
  .tower-closing-copy h2 { font-size:clamp(40px,9vw,56px); }
  .innovation-hero,.contact-hero { height:720px; min-height:0; }
  .innovation-hero-copy { width:calc(100% - 36px); }
  .innovation-hero h1 { font-size:clamp(42px,9vw,62px); }
  .innovation-hero p { font-size:15px; }
  .innovation-feature { padding:90px 0; }
  .innovation-feature-grid { grid-template-columns:1fr; }
  .innovation-feature h2 { font-size:clamp(42px,9vw,61px); }
  .innovation-feature-media { min-height:365px; margin-top:40px; }
  .innovation-strip { padding:90px 0; }
  .news-hero { padding-top:155px; }
  .news-hero h1 { font-size:clamp(54px,11vw,77px); }
  .news-hero p { font-size:15px; }
  .news-feature { grid-template-columns:1fr; gap:30px; }
  .news-feature-image { height:350px; }
  .news-feature h2 { font-size:39px; }
  .news-cards { padding-bottom:85px; }
  .official-news-note { padding:27px; gap:14px; }
  .official-news-note>span { width:43px; height:43px; }
  .official-news-note h3 { font-size:20px; }
  .contact-hero h1 { font-size:clamp(65px,12vw,95px); }
  .contact-hero p { font-size:16px; }
  .contact-information { padding:85px 0; }
  .contact-methods { grid-template-columns:1fr; gap:12px; }
  .contact-methods article { min-height:0; padding:29px; }
  .contact-methods h3 { font-size:30px; }
  .contact-visit { grid-template-columns:1fr; }
  .contact-visit-photo { min-height:0; height:380px; }
  .contact-visit-content { padding:75px 20px; }
  .contact-visit-content h2 { font-size:clamp(40px,9vw,56px); }
  .contact-visit-actions { display:flex; flex-wrap:wrap; gap:10px; }
  .contact-more { padding:85px 0; }
  .contact-more-links { grid-template-columns:1fr; }
  .contact-columns { grid-template-columns:1fr; gap:60px; }
  .contact-main h2 { font-size:42px; }
  .legal-hero { padding:160px 0 65px; }
  .legal-hero h1 { font-size:clamp(50px,9vw,71px); }
  .legal-navigation .content-wide { gap:24px; overflow-x:auto; flex-wrap:nowrap; white-space:nowrap; min-height:58px; }
  .legal-navigation a { font-size:11px; padding:18px 0; }
  .legal-content { grid-template-columns:1fr; gap:40px; padding-top:45px; padding-bottom:90px; }
  .legal-sidebar { position:static; overflow:visible; max-height:none; padding:23px; border-radius:14px; background:var(--surface-alt); gap:14px; }
  .legal-intro h2 { font-size:clamp(38px,8vw,51px); }
  .legal-chapter { scroll-margin-top:137px; padding:35px 0; }
  .legal-chapter h3 { font-size:clamp(27px,6vw,36px); }
  .legal-prose { font-size:14px; line-height:1.86; }
  .legal-additional { padding:85px 0; }
  .legal-imprint { padding-top:85px; padding-bottom:90px; }
  .legal-imprint-grid { grid-template-columns:1fr; margin-top:30px; }
  .legal-imprint-grid>div { padding:25px; }
  .footer-top { padding:78px 0; grid-template-columns:1fr 1fr; gap:55px 30px; }
  .footer-brand { grid-column:1/-1; }
  .footer-brand h2 { font-size:42px; }
  .footer-column:last-child { display:flex; }
  .footer-bottom { flex-wrap:wrap; align-items:start; gap:15px; }
}
@media(max-width:400px) {
  .lang-button { display:none; }
  .cinema-copy h1 { font-size:43px; }
  .cinema-centered .cinema-copy h1 { font-size:36px; }
  .cinema-actions .pill { font-size:11px; padding:0 14px; }
  .wide-rail { grid-auto-columns:88%; }
  .technology-local-nav>.content-wide { gap:12px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { transition:none!important; animation:none!important; }
}
@media print {
  .site-header,.site-footer,.legal-navigation,.legal-sidebar,.legal-meta button,.final-cta,.legal-additional,.legal-imprint { display:none!important; }
  html,body { background:#fff!important; color:#111!important; }
  .legal-hero { padding:0 0 30px; }
  .legal-hero h1 { font-size:33px; }
  .legal-hero p,.legal-meta span,.legal-intro p,.legal-prose { color:#111!important; }
  .legal-content { display:block; width:100%; padding:0; }
  .legal-chapter { break-inside:avoid-page; padding:20px 0; }
  .legal-chapter h3 { font-size:22px; }
  .legal-chapter[hidden] { display:block!important; }
}
