/*
 * KASIOPES corporate presentation site — PHP edition
 * The font files are intentionally external to this package. Copy the client-owned
 * Kongress WOFF2 files to assets/fonts/kongress/ using the names below.
 */
@font-face{font-family:"Kongress";src:url("../fonts/kongress/Kongress-Light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Kongress";src:url("../fonts/kongress/Kongress-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Kongress";src:url("../fonts/kongress/Kongress-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Kongress";src:url("../fonts/kongress/Kongress-DemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Kongress";src:url("../fonts/kongress/Kongress-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Kongress";src:url("../fonts/kongress/Kongress-Heavy.woff2") format("woff2");font-weight:800 900;font-style:normal;font-display:swap}
@font-face{font-family:"Kongress Book";src:url("../fonts/kongress/Kongress-Book.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  --font-kongress:"Kongress",Arial,sans-serif;
  --font-book:"Kongress Book","Kongress",Arial,sans-serif;
  --accent:#0b1d2e;
  --accent-2:#163a57;
  --accent-soft:rgba(11,29,46,.09);
  --dark:#0b0f14;
  --text:#0e1620;
  --muted:#4b5563;
  --bg:#fff;
  --surface:#f4f6f8;
  --surface-2:#eef2f5;
  --border:#d8dee6;
  --border-dark:rgba(11,29,46,.22);
  --shadow:0 18px 50px rgba(3,7,18,.12);
  --shadow-soft:0 10px 28px rgba(3,7,18,.07);
  --radius:14px;
  --radius-sm:10px;
  --header-height:82px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-book);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
[hidden]{display:none!important}
::selection{background:rgba(22,58,87,.22)}

.skipLink{position:fixed;left:16px;top:-100px;z-index:500;background:#fff;border:1px solid var(--border);padding:10px 14px;border-radius:8px;box-shadow:var(--shadow)}
.skipLink:focus{top:12px}

.container{width:min(100% - 40px,1200px);margin-inline:auto}
.siteHeader>.container{width:min(100% - 32px,1480px)}
.strip{padding:72px 0}
.strip.surface{background:var(--surface)}
.strip.accent{background:linear-gradient(135deg,var(--accent),#102e47);color:#fff}
.strip.dark{background:var(--dark);color:#fff}

.h1,.h2,.h3,.contentHeading,.detailHeading{font-family:var(--font-kongress);color:var(--text)}
.h1{font-size:clamp(30px,3.4vw,48px);font-weight:800;line-height:1.06;letter-spacing:-.025em;margin:0 0 22px}
.h2{font-size:clamp(23px,2.2vw,34px);font-weight:700;line-height:1.14;letter-spacing:-.015em;margin:0 0 16px}
.h3{font-size:20px;margin:0 0 10px}
.p{margin:10px 0 0;color:var(--muted);line-height:1.65}
.noMargin{margin:0!important}
.pageLead{max-width:78ch;margin-bottom:28px;font-size:17px}
.centered{text-align:center}
.alignCenter{align-items:center}
.alignStart{align-items:start}

.kicker{font-family:var(--font-kongress);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2)}
.badge{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.13);color:#fff;border-radius:999px;padding:5px 11px;font-family:var(--font-kongress);font-size:12px;font-weight:700;letter-spacing:.1em}

.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.contentCard{padding:clamp(20px,3vw,34px);box-shadow:var(--shadow-soft)}
.contentCard>*:first-child{margin-top:0}
.contentCard>*:last-child{margin-bottom:0}
.contentCard p{color:var(--muted);line-height:1.72;margin:0 0 16px}
.contentCard ul,.contentCard ol{color:var(--muted);line-height:1.7;padding-left:24px}
.contentHeading{font-size:clamp(20px,2vw,28px);font-weight:700;margin:30px 0 12px}

.grid2{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:28px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sectionActions,.productActions,.formActions,.locationActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text);font-family:var(--font-kongress);font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,filter .16s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(3,7,18,.09)}
.btn.primary{color:#fff;background:linear-gradient(135deg,var(--accent-2),var(--accent));border-color:var(--accent);box-shadow:0 10px 24px rgba(3,7,18,.18)}
.btn.primary:hover{filter:brightness(1.06)}
.btn.ghost{color:#fff;background:transparent;border-color:rgba(255,255,255,.4);box-shadow:none}
.btn svg{flex:0 0 auto}
.icon16{width:17px;height:17px;display:inline-block}

/* Header */
.siteHeader{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);backdrop-filter:saturate(140%) blur(9px);border-bottom:1px solid var(--border);box-shadow:0 5px 20px rgba(3,7,18,.055)}
.siteHeaderInner{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0}
.brand{display:flex;align-items:center;gap:10px;min-width:0;flex:0 1 auto}
.brandMarkImg{display:block;width:auto;height:clamp(36px,3.1vw,46px);max-width:70px;object-fit:contain;flex:0 0 auto}
.brandText{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;line-height:1.03}
.brandName{font-family:var(--font-kongress);font-size:clamp(19px,1.65vw,27px);font-weight:800;letter-spacing:-.025em;white-space:nowrap;color:var(--text)}
.brandTagline{max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(14,22,32,.64);font-size:11px;font-weight:600;letter-spacing:.025em}

.navRow{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:2px;flex-wrap:nowrap;white-space:nowrap;min-width:0}
.navLink,.localeBtn,.navCaret{position:relative;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:0;background:transparent;border-radius:8px;color:var(--text);font-family:var(--font-kongress);font-size:11px;font-weight:700;letter-spacing:.065em;text-transform:uppercase;cursor:pointer}
.navLink{padding:11px 7px}
.navLink:hover,.navCaret:hover,.localeBtn:hover{background:rgba(3,7,18,.035)}
.navLink.active{color:var(--accent)}
.navLink.active:after{content:"";position:absolute;left:8px;right:8px;bottom:5px;height:2px;border-radius:2px;background:var(--accent)}
.localeBtn{min-width:38px;padding:10px 8px;border:1px solid var(--border)}
.navCaret{padding:11px 6px;font-size:12px;line-height:1}
.dropdown{position:relative;display:inline-flex;align-items:center;gap:0}
.dropdown:after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
.dropdownPanel{position:absolute;right:0;top:100%;margin-top:12px;width:350px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;z-index:100}
.dropdownItem{display:block;padding:12px 15px;border-bottom:1px solid var(--border);font-family:var(--font-kongress);font-size:14px;font-weight:600;line-height:1.25}
.dropdownItem:last-child{border-bottom:0}
.dropdownItem:hover{background:var(--surface)}

.iconBtn{display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:#fff;min-width:42px;height:42px;padding:8px;cursor:pointer}
.menuIcon{width:23px;height:23px}
.hideDesktop{display:none!important}
.mobileControls{align-items:center;gap:8px}
.mobileMenu{padding:0 0 14px}
.mobileGroup{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}
.mobileLink{display:block;padding:12px 15px;border-bottom:1px solid var(--border);font-family:var(--font-kongress);font-size:14px;font-weight:650}
.mobileLink:last-child{border-bottom:0}
.mobileSubmenu{background:var(--surface)}
.mobileSubLink{padding-left:28px;font-size:13px}

/* Hero */
.hero{position:relative;min-height:clamp(520px,72vh,780px);overflow:hidden;border-bottom:1px solid var(--border)}
.heroBg{position:absolute;inset:-18px;background-image:linear-gradient(90deg,rgba(11,29,46,.92) 0%,rgba(11,29,46,.58) 47%,rgba(11,29,46,.19) 100%),radial-gradient(circle at 18% 18%,rgba(255,255,255,.11),transparent 46%),var(--hero-image);background-size:cover;background-position:center;transform:translate3d(0,0,0) scale(1.03);will-change:transform;filter:saturate(.8) contrast(1.06) brightness(.94)}
.heroOverlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(3,7,18,.12))}
.heroInner{position:relative;z-index:1;min-height:inherit;display:flex;align-items:center;padding:88px 0}
.heroCard{max-width:830px;color:#fff}
.heroTitle{color:#fff;margin-top:15px;margin-bottom:0;transition:opacity .25s ease,transform .25s ease}
.heroSubtitle{max-width:64ch;margin-top:15px;color:rgba(255,255,255,.88);font-size:17px;line-height:1.62;transition:opacity .25s ease,transform .25s ease}
.heroCard.isChanging .heroTitle,.heroCard.isChanging .heroSubtitle{opacity:.15;transform:translateY(5px)}
.heroActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}

/* Home sections */
.aboutMedia{position:relative;min-height:390px;box-shadow:var(--shadow-soft)}
.aboutMedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.mediaShade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,7,18,.72))}
.mediaLabel{position:absolute;left:18px;bottom:16px;color:#fff;font-family:var(--font-kongress);font-size:14px;font-weight:700;letter-spacing:.12em}
.productionGrid{margin-top:26px}
.productionCard{padding:12px 18px}
.productionLink{display:block;padding:14px 2px;border-bottom:1px solid var(--border);font-family:var(--font-kongress);font-size:15px;font-weight:650}
.productionLink:last-child{border-bottom:0}
.productionLink:hover{color:var(--accent-2)}
.carouselPanel{padding:16px;align-self:center}
.serviceTeasers{display:grid;gap:10px;margin-top:18px}
.serviceTeaser{padding:15px 16px}
.serviceTeaser strong{font-family:var(--font-kongress);font-size:16px}

/* Infinite carousels */
.marquee{width:100%;overflow:hidden}
.marqueeTrack{display:flex;align-items:center;gap:12px;width:max-content;will-change:transform;animation:marquee var(--marqueeDuration,30s) linear infinite}
.marqueeHover .marqueeTrack{animation-play-state:paused}
.marqueeHover:hover .marqueeTrack{animation-play-state:running}
.marqueeItem{flex:0 0 auto;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.marqueeItem.product{width:180px;height:180px}
.marqueeItem.service{width:260px;height:320px}
.marqueeItem img{display:block;width:100%;height:100%;object-fit:cover}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 6px))}}

/* EU programme strip */
.euHeading{margin:0 0 20px;color:#fff;text-align:center;font-family:var(--font-kongress);font-size:clamp(15px,1.35vw,21px);font-weight:400;letter-spacing:.13em;text-transform:uppercase}
.euProgramsWrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px}
.euProgramCard{display:inline-block;color:#fff;transition:transform .18s ease,filter .18s ease}
.euProgramCard:hover{transform:translateY(-3px);filter:brightness(1.04)}
.euProgramMedia{position:relative;display:inline-block;max-width:100%;height:180px;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:rgba(0,0,0,.18)}
.euProgramImg{display:block;width:auto;max-width:100%;height:180px;object-fit:contain}
.euProgramOverlay{position:absolute;left:10px;right:10px;bottom:10px;display:flex;flex-direction:column;gap:5px;padding:9px 11px;border-radius:9px;background:rgba(0,0,0,.48);backdrop-filter:blur(5px)}
.euProgramTitle{font-family:var(--font-kongress);font-size:13px;font-weight:550;line-height:1.25}
.euProgramCta{font-size:11px;font-weight:700;letter-spacing:.08em;opacity:.92}

/* About timeline */
.aboutIntro{margin-bottom:46px}
.timelineSection{margin-top:16px}
.timeline{position:relative;margin-top:30px}
.timeline:before{content:"";position:absolute;z-index:0;left:50%;top:0;bottom:0;width:2px;background:var(--border);transform:translateX(-1px)}
.timelineRow{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 142px minmax(0,1fr);gap:18px;padding:13px 0;align-items:start}
.timelineCenter{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center}
.timelineYear{position:relative;z-index:4;padding:7px 13px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--accent);box-shadow:0 5px 16px rgba(3,7,18,.06);font-family:var(--font-kongress);font-weight:800;white-space:nowrap}
.timelineDot{position:relative;z-index:4;width:10px;height:10px;margin-top:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(11,29,46,.1)}
.timelineCard{position:relative;z-index:2;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft)}
.timelineLeft{grid-column:1}.timelineRight{grid-column:3}.timelineEmpty{visibility:hidden}

/* Product catalogue */
.filterBar{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}
.filterButton{padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text);font-family:var(--font-kongress);font-size:12px;font-weight:650;cursor:pointer}
.filterButton:hover,.filterButton.active{background:var(--accent);border-color:var(--accent);color:#fff}
.productGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;min-height:60px}
.productCard{display:flex;flex-direction:column;color:var(--text);transition:transform .16s ease,box-shadow .16s ease}
.productCard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.productCard[hidden]{display:none!important}
.productCardBody{padding:17px 17px 15px;order:2}
.productMetaRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.productCategoryLabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-2);font-family:var(--font-kongress);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.productTags{flex:0 0 auto;color:#78828e;font-size:10px}
.productCardTitle{margin:0 0 8px;font-family:var(--font-kongress);font-size:18px;font-weight:700;line-height:1.24}
.clamp3{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-overflow:ellipsis}
.tiltImage{position:relative;overflow:hidden;background:var(--surface);transform-style:preserve-3d;transition:transform .14s ease;will-change:transform}
.tiltImage.square{width:100%;aspect-ratio:1/1;order:1;border-bottom:1px solid var(--border)}
.tiltImage.wide{width:100%;height:320px;border:1px solid var(--border);border-radius:var(--radius);margin:24px 0 42px}
.tiltImage img{display:block;width:100%;height:100%;object-fit:cover;transform:translateZ(14px) scale(1.025)}
.tiltShine{position:absolute;inset:-25%;pointer-events:none;background:radial-gradient(circle at var(--shine-x,25%) var(--shine-y,20%),rgba(255,255,255,.28),transparent 48%);opacity:.45;transform:translateZ(24px)}
.categoryHero{box-shadow:var(--shadow-soft)}
.breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px;color:var(--muted);font-size:13px}
.breadcrumbs a:hover{color:var(--accent-2)}
.productDetailGrid{align-items:start}
.productImageCard{padding:14px;position:sticky;top:calc(var(--header-height) + 20px)}
.productImageCard .tiltImage{border:1px solid var(--border);border-radius:11px}
.detailSection{padding-top:24px;margin-top:24px;border-top:1px solid var(--border)}
.detailHeading{font-size:20px;font-weight:700;margin:0 0 13px}
.detailList{margin:0;padding-left:22px;color:var(--muted);line-height:1.7}
.specBlock{margin:14px 0;color:var(--muted)}
.chipList{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.chip{display:inline-flex;padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:12px}
.productDescription{margin-top:28px}
.backToTopWrap{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:36px;color:var(--muted);font-size:12px;font-family:var(--font-kongress);font-weight:650;letter-spacing:.08em}
.backToTopBtn{display:inline-grid;place-items:center;width:48px;height:48px;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--accent);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}
.backToTopBtn:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.upIcon{width:22px;height:22px}

/* Services */
.stackedRows{display:grid;gap:24px;margin-top:28px}
.serviceRow{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:center;padding:22px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft)}
.serviceRow.reverse .serviceMedia{order:-1;justify-self:start}
.serviceBody{min-width:0}
.serviceMedia{width:min(480px,100%);aspect-ratio:1/1;justify-self:end;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.serviceMedia img{display:block;width:100%;height:100%;object-fit:cover}

/* Business */
.businessIntro{margin-bottom:28px}
.businessCards{margin-top:28px}
.businessCard{display:flex;flex-direction:column;box-shadow:var(--shadow-soft)}
.businessCard>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--border)}
.businessCardBody{padding:22px}
.businessDirections{margin-top:38px;padding:26px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}

/* Contacts */
.contactHighlights{margin-bottom:28px}
.contactCard{display:flex;min-height:132px;flex-direction:column;justify-content:space-between;gap:14px;padding:20px;color:var(--text);transition:transform .16s ease,box-shadow .16s ease}
.contactCard:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.contactCard>strong{font-family:var(--font-kongress);font-size:14px;letter-spacing:.08em}
.contactCard>span{display:flex;align-items:center;gap:10px;color:var(--accent-2);word-break:break-word}
.contactCard b{font-size:14px}
.quickInquiry{margin:28px 0 44px}
.formGrid{display:grid;gap:14px}
.formRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fieldLabel{display:grid;gap:6px;color:#56606c;font-family:var(--font-kongress);font-size:11px;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
.input,.textarea{width:100%;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);padding:11px 12px;outline:none;text-transform:none;letter-spacing:normal;font-family:var(--font-book);font-size:15px}
.textarea{min-height:130px;resize:vertical}
.input:focus,.textarea:focus{border-color:rgba(22,58,87,.62);box-shadow:0 0 0 4px rgba(22,58,87,.09)}
.input.isInvalid,.textarea.isInvalid{border-color:#b42318}
.formStatus{min-height:22px;color:var(--muted);font-size:14px}
.formStatus.success{color:#18794e}.formStatus.error{color:#b42318}
.formNote{margin:0;color:#7a8490;font-size:12px}
.honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.locationsSection{margin-top:20px}
.locationsGrid{margin-top:22px;align-items:start}
.locationCard{padding:20px;box-shadow:var(--shadow-soft)}
.locationCard h3{margin:0;font-family:var(--font-kongress);font-size:21px}
.locationActions .btn{font-size:11px;padding:8px 10px}
.mapFrame{position:relative;width:100%;margin-top:18px;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.mapFrame iframe{display:block;width:100%;height:100%;border:0}
.mapPlaceholder{position:absolute;inset:0;display:grid;place-items:center;padding:22px;text-align:center;color:var(--muted);font-size:13px}

/* EU project details */
.euProjectImage{display:flex;justify-content:center;margin:26px 0}
.euProjectImage img{display:block;width:auto;max-width:min(520px,100%);height:auto;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.euDescription{margin:25px auto;max-width:900px}
.euFacts{max-width:900px;margin:28px auto 0}
.factCard{padding:22px}
.factCard>strong{font-family:var(--font-kongress);font-size:13px;letter-spacing:.1em;color:var(--accent)}

/* Legal / 404 */
.legalContent{max-width:920px}
.notFound{text-align:center;max-width:720px;margin:0 auto}
.notFound .kicker{font-size:24px;margin-bottom:10px}

/* Footer */
.accentStrip{padding:20px 0;background:linear-gradient(135deg,var(--accent),#0e2a40);color:#fff}
.accentStripInner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.accentStrip .brandName{color:#fff}
.accentStrip .brandTagline{color:rgba(255,255,255,.78)}
.accentStrip .brandMarkImg{height:38px}
.accentNav{display:flex;align-items:center;justify-content:flex-end;gap:3px;white-space:nowrap}
.accentLink{padding:9px 7px;border-radius:7px;color:#fff;font-family:var(--font-kongress);font-size:11px;font-weight:700;letter-spacing:.055em}
.accentLink:hover{background:rgba(255,255,255,.1)}
.footerDark{padding:24px 0;background:var(--dark);color:#fff}
.footerRow{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footerCopyright{color:rgba(255,255,255,.68);font-size:12px}
.footerLinks{display:flex;align-items:center;justify-content:flex-end;gap:13px;flex-wrap:wrap}
.footerLinks a,.cookieSettingsButton{color:rgba(255,255,255,.82);font-size:12px}
.footerLinks a:hover,.cookieSettingsButton:hover{color:#fff}
.cookieSettingsButton{border:0;background:transparent;padding:0;cursor:pointer}
.social{display:flex;gap:8px}
.social a{display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(255,255,255,.2);border-radius:9px}

/* Floating Viber */
.floatingStack{position:fixed;right:16px;bottom:16px;z-index:90;display:flex;flex-direction:column;gap:10px}
.floatBtn{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--border);border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.16)}
.floatBtn.viberBtn{color:#fff;background:linear-gradient(135deg,var(--accent-2),var(--accent));border-color:rgba(255,255,255,.12)}
.floatBtn:hover{filter:brightness(1.07)}
.viberIcon{width:25px;height:25px}

/* Cookie consent */
.cookieBanner{position:fixed;left:16px;right:16px;bottom:16px;z-index:120}
.cookieCard{max-width:1120px;margin:auto;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 20px 60px rgba(0,0,0,.19);backdrop-filter:blur(10px)}
.cookieRow{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.cookieText{min-width:250px;flex:1}
.cookieTitle{font-family:var(--font-kongress);font-size:17px;font-weight:700}
.cookieCopy{margin-top:6px;font-size:14px}
.cookieActions{display:flex;gap:8px;flex-wrap:wrap}
.modalBackdrop{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.46)}
.modalCard{width:min(700px,100%);overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow)}
.modalHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 17px;border-bottom:1px solid var(--border);font-family:var(--font-kongress)}
.modalBody{padding:18px}
.toggleRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--border)}
.toggleLabel{display:flex;flex-direction:column;gap:3px}.toggleLabel strong{font-family:var(--font-kongress);font-size:14px}.toggleLabel span{color:var(--muted);font-size:12px}
.switch{position:relative;flex:0 0 auto;width:45px;height:27px;border:1px solid var(--border);border-radius:999px;background:#eef0f3;cursor:pointer}
.switchKnob{position:absolute;left:2px;top:2px;width:21px;height:21px;border:1px solid var(--border);border-radius:50%;background:#fff;transition:transform .16s ease}
.switch.on{background:rgba(11,29,46,.19);border-color:rgba(11,29,46,.58)}
.switch.on .switchKnob{transform:translateX(18px)}
.modalActions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:18px}

/* Responsive */
@media (max-width:1180px){
  .hideMobile{display:none!important}
  .hideDesktop{display:flex!important}
  .siteHeaderInner{min-height:74px}
  .siteHeader>.container{width:min(100% - 28px,1200px)}
  .mobileMenu.hideDesktop{display:block!important}
  .mobileMenu[hidden]{display:none!important}
  .brandTagline{max-width:55vw}
  .accentStrip .hideMobile{display:none!important}
}
@media (min-width:1181px){
  .mobileMenu{display:none!important}
}
@media (max-width:980px){
  .strip{padding:56px 0}
  .grid2,.grid3{grid-template-columns:1fr}
  .productGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .serviceRow{grid-template-columns:1fr}
  .serviceRow.reverse .serviceMedia{order:0}
  .serviceMedia,.serviceRow.reverse .serviceMedia{justify-self:center}
  .productImageCard{position:static}
  .timeline:before{left:30px;transform:none}
  .timelineRow{grid-template-columns:62px minmax(0,1fr);gap:12px}
  .timelineCenter{grid-column:1;grid-row:1;align-items:flex-start}
  .timelineLeft,.timelineRight{grid-column:2;grid-row:1}
  .timelineEmpty{display:none}
  .timelineYear{font-size:12px;padding:6px 8px}
  .euProgramMedia,.euProgramImg{height:180px}
  .accentStripInner{justify-content:center}
}
@media (max-width:700px){
  .container{width:min(100% - 28px,1200px)}
  .strip{padding:46px 0}
  .h1{font-size:clamp(28px,9vw,39px)}
  .hero{min-height:590px}
  .heroInner{padding:72px 0}
  .brandMarkImg{height:36px;max-width:52px}
  .brandName{font-size:19px}
  .brandTagline{font-size:9px;max-width:54vw}
  .productGrid{grid-template-columns:1fr}
  .formRow{grid-template-columns:1fr}
  .cookieRow{flex-direction:column}
  .cookieActions{width:100%}.cookieActions .btn{flex:1}
  .footerRow,.footerLinks{justify-content:center;text-align:center}
  .marqueeItem.service{width:230px;height:285px}
  .euProgramMedia{height:180px;max-width:calc(100vw - 44px)}
  .euProgramImg{height:180px;max-width:100%;object-fit:contain}
}
@media (max-width:430px){
  .brandTagline{display:none}
  .brandText{gap:0}
  .localeBtn{min-width:35px}
  .mobileControls{gap:5px}
  .timelineRow{grid-template-columns:55px minmax(0,1fr)}
  .timeline:before{left:26px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .heroBg,.tiltImage{transform:none!important}
}
