:root { --ink:#071018; --ink-2:#0d1821; --gold:#c9913f; --gold-light:#e4b96e; --cream:#f7f5f1; --white:#fff; --muted:#65707a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1280px, calc(100% - 64px)); margin:auto; }
.site-header { height:88px; padding:0 max(32px, calc((100% - 1400px)/2)); background:#050d13; color:white; display:flex; align-items:center; position:sticky; top:0; z-index:50; border-bottom:1px solid rgba(255,255,255,.08); }
.brand { display:flex; align-items:center; gap:13px; min-width:335px; }
.brand>span:last-child { display:flex; flex-direction:column; gap:3px; font-size:12px; letter-spacing:1.5px; }
.brand strong { color:var(--gold-light); font-family:Georgia,serif; font-size:18px; letter-spacing:4px; }
.crest { width:52px; height:60px; clip-path:polygon(50% 0, 94% 14%, 88% 72%, 50% 100%, 12% 72%, 6% 14%); background:linear-gradient(135deg,var(--gold-light),#85551a); display:grid; place-items:center; color:#071018; font:bold 31px Georgia,serif; position:relative; }
.crest:after { content:""; position:absolute; inset:4px; clip-path:inherit; border:2px solid #071018; }
.nav { margin:auto; height:100%; display:flex; align-items:center; gap:34px; }
.nav a { text-transform:uppercase; font-size:12px; font-weight:700; letter-spacing:.6px; height:100%; display:grid; place-items:center; border-bottom:3px solid transparent; transition:.2s; }
.nav a:hover { color:var(--gold-light); border-bottom-color:var(--gold); }
.header-phone { font-size:19px; font-weight:700; white-space:nowrap; }
.header-phone span { color:var(--gold-light); margin-right:8px; }
.menu-button { display:none; }
.hero { min-height:640px; color:white; display:flex; position:relative; background:#05090d url('/kanis-hero.png') center/cover no-repeat; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,8,11,.98) 0%,rgba(3,8,11,.88) 31%,rgba(3,8,11,.18) 68%,rgba(3,8,11,.08)); }
.hero-content { position:relative; align-self:center; padding:72px 0 54px; }
.eyebrow,.section-kicker { color:var(--gold-light); font-size:14px; text-transform:uppercase; letter-spacing:2.4px; font-weight:800; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; }
h1 { font-size:clamp(54px,6vw,88px); line-height:.98; margin:17px 0 24px; font-weight:500; letter-spacing:-2px; }
.hero-copy { max-width:570px; font-size:19px; line-height:1.65; color:#edf0f2; }
.hero-actions { display:flex; gap:16px; margin:34px 0 28px; flex-wrap:wrap; }
.button { min-height:55px; padding:0 28px; border-radius:3px; display:inline-flex; align-items:center; justify-content:center; gap:10px; font-size:14px; text-transform:uppercase; letter-spacing:.5px; font-weight:800; transition:transform .2s,background .2s; border:0; cursor:pointer; }
.button:hover { transform:translateY(-2px); }
.button.gold { color:white; background:linear-gradient(135deg,#d6a150,#b87927); box-shadow:0 10px 30px rgba(201,145,63,.18); }
.button.outline { border:1px solid var(--gold-light); color:#fff; }
.button.outline:hover { background:rgba(201,145,63,.13); }
.hero-notes { display:flex; align-items:center; flex-wrap:wrap; gap:15px; color:#d6dadd; font-size:13px; }
.hero-notes i { width:4px;height:4px;border-radius:50%;background:var(--gold); }
.section { padding:92px 0; }
.section-kicker { text-align:center; margin:0 0 10px; }
h2 { font-size:clamp(37px,4vw,54px); line-height:1.1; margin:0; font-weight:500; }
.section h2 { text-align:center; }
.gold-line { width:45px;height:3px;background:var(--gold);margin:22px auto 43px; }
.services { background:var(--cream); }
.service-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:22px; }
.service-card { background:#fff;padding:34px 28px 30px;box-shadow:0 8px 28px rgba(7,16,24,.08);border-bottom:3px solid transparent;transition:.25s; }
.service-card:hover { transform:translateY(-6px);border-color:var(--gold); }
.service-icon { width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#f7eddc;color:#b87720;font-size:32px;margin-bottom:22px;font-family:Georgia,serif; }
.service-card h3,.step h3 { font:600 23px Georgia,serif;margin:0 0 12px; }
.service-card p,.step p,.about-section p,.contact-copy>p { color:var(--muted);line-height:1.65; }
.service-card a { color:#a96e23;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;display:inline-block;margin-top:12px; }
.trust { background:var(--ink); color:white; padding:34px 0; }
.trust-grid { display:grid;grid-template-columns:repeat(3,1fr); }
.trust-item { display:flex;align-items:center;justify-content:center;gap:19px;padding:8px 34px;border-right:1px solid #45505a; }
.trust-item:last-child { border:0; }
.round-icon { width:58px;height:58px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold-light);font:700 17px Georgia,serif;flex:0 0 auto; }
.trust-item b { font:600 20px Georgia,serif; }.trust-item p { margin:5px 0 0;color:#aeb7be;font-size:13px; }
.process { background:white; }.steps { display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px; }
.step { display:flex;align-items:center;gap:19px;padding:0 46px 0 20px;position:relative; }
.step-number { width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ddb36e,#b57825);color:white;font:600 20px Georgia,serif;flex:0 0 auto; }
.step h3 { font-size:19px;margin-bottom:7px; }.step p { font-size:13px;margin:0; }.step-arrow { position:absolute;right:8px;color:#cbb792;font-size:25px; }
.about-section { padding:92px 0;background:#f5f3ef; }.about-grid { display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:center; }
.about-mark { min-height:390px;background:radial-gradient(circle at center,#25313a,#071018 68%);display:grid;place-items:center;position:relative;overflow:hidden; }
.about-mark:after { content:"KANIS";position:absolute;font:700 90px Georgia,serif;letter-spacing:18px;color:rgba(255,255,255,.025);transform:rotate(-35deg); }
.crest.large { width:150px;height:175px;font-size:85px; }.about-section .section-kicker { text-align:left; }.about-section h2 { margin-bottom:25px; }
.check-list { display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:28px;font-weight:700; }.check-list span { color:#29353e; }.check-list span::first-letter { color:var(--gold); }
.contact { background:#071018;color:white;padding:92px 0; }.contact-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center; }
.contact h2 { font-size:clamp(44px,5vw,68px); }.contact-copy>p { color:#b9c1c7;font-size:17px;max-width:560px; }
.big-phone { display:grid;grid-template-columns:62px 1fr;grid-template-rows:auto auto;column-gap:18px;margin-top:30px;width:max-content; }.big-phone>span { grid-row:1/3;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--gold);font-size:26px; }.big-phone small { color:#9faab2;align-self:end; }.big-phone b { font-size:24px;color:var(--gold-light); }
.instagram-contact{display:inline-flex;align-items:center;gap:13px;margin-top:24px;padding:11px 16px 11px 12px;border:1px solid rgba(145,186,240,.42);border-radius:10px;background:rgba(255,255,255,.05);transition:.2s}
.instagram-contact:hover{border-color:#91baf0;background:rgba(145,186,240,.12);transform:translateY(-2px)}
.instagram-contact>span:last-child{display:grid;gap:2px}.instagram-contact small{color:#aebdcb;font-size:12px}.instagram-contact strong{color:#fff;font-size:14px}
.instagram-mark{position:relative;width:38px;height:38px;border:2px solid #91baf0;border-radius:11px;flex:0 0 38px}.instagram-mark:before{content:"";position:absolute;left:9px;top:9px;width:14px;height:14px;border:2px solid #91baf0;border-radius:50%}.instagram-mark:after{content:"";position:absolute;right:6px;top:6px;width:4px;height:4px;background:#91baf0;border-radius:50%}
.contact-form { background:white;color:var(--ink);padding:38px;display:grid;gap:18px;box-shadow:0 18px 60px rgba(0,0,0,.25); }.contact-form h3 { font:600 30px Georgia,serif;margin:0 0 5px; }.contact-form label { display:grid;gap:8px;font-size:13px;font-weight:700; }.contact-form input,.contact-form textarea { width:100%;border:1px solid #d8dde0;background:#fafafa;padding:14px 15px;font:inherit;outline:none; }.contact-form input:focus,.contact-form textarea:focus { border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,145,63,.12); }.form-row { display:grid;grid-template-columns:1fr 1fr;gap:15px; }.consent { grid-template-columns:18px 1fr!important;line-height:1.4;color:#59636b; }.consent input { width:16px;height:16px;padding:0; }.consent a { color:#9b641c;text-decoration:underline; }.form-button { width:100%; }.form-success { background:#edf8ef;color:#226230;padding:13px;margin:0;font-size:13px;line-height:1.4; }
footer { background:#03090e;color:#aeb7be;padding:55px 0 20px; }.footer-grid { display:grid;grid-template-columns:1.5fr .7fr 1fr .7fr;gap:50px; }.footer-brand { display:flex;align-items:center;gap:15px;color:white; }.footer-brand>div { display:flex;flex-direction:column;font-size:12px;letter-spacing:1.2px; }.footer-brand strong { color:var(--gold-light);font:700 20px Georgia,serif;letter-spacing:4px;margin-top:4px; }.footer-grid h4 { color:white;margin:0 0 18px; }.footer-grid>div:not(:first-child) { display:flex;flex-direction:column;gap:11px;font-size:13px; }.footer-grid a:hover { color:var(--gold-light); }.copyright { border-top:1px solid #263039;margin-top:42px;padding-top:20px;text-align:center;font-size:12px; }
.floating-call { position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;background:var(--gold);color:white;display:none;place-items:center;font-size:24px;z-index:40;box-shadow:0 8px 25px rgba(0,0,0,.28); }
.legal-page { min-height:100vh;background:#f5f3ef;padding:70px 0; }.legal-card { max-width:900px;background:#fff;padding:55px;margin:auto;box-shadow:0 10px 40px rgba(7,16,24,.07); }.legal-card h1 { font-size:50px;color:var(--ink); }.legal-card h2 { font-size:28px;margin:35px 0 12px; }.legal-card p,.legal-card li { line-height:1.7;color:#4e5961; }.back-link { color:#9f6820;font-weight:800; }
@media(max-width:1050px){.brand{min-width:auto}.brand>span:last-child{display:none}.header-phone{font-size:0}.header-phone span{font-size:22px}.nav{gap:20px}.service-grid{grid-template-columns:1fr 1fr}.trust-item{padding:8px 16px}.steps{grid-template-columns:1fr;gap:32px;max-width:700px;margin:45px auto 0}.step-arrow{display:none}.contact-grid{gap:45px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.shell{width:min(100% - 36px,1280px)}.site-header{height:72px;padding:0 18px;justify-content:space-between}.crest{width:42px;height:49px;font-size:25px}.menu-button{display:block;background:transparent;border:0;color:white;font-size:27px;order:3}.header-phone{margin-left:auto;margin-right:16px}.nav{display:none;position:absolute;top:72px;left:0;right:0;height:auto;background:#071018;padding:15px 20px 24px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{height:auto;padding:15px 8px;display:block;border-bottom:1px solid #26313a}.hero{min-height:670px;background-position:63% center}.hero-shade{background:linear-gradient(90deg,rgba(3,8,11,.98),rgba(3,8,11,.74))}.hero-content{padding:65px 0 38px}.hero-copy{font-size:16px}.hero-actions{flex-direction:column}.button{width:100%}.hero-notes{gap:10px;font-size:11px}.hero-notes i{display:none}.section{padding:70px 0}.service-grid,.trust-grid,.about-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.service-grid{gap:14px}.trust-item{border-right:0;border-bottom:1px solid #45505a;justify-content:flex-start;padding:23px 6px}.about-grid{gap:38px}.about-mark{min-height:280px}.check-list{grid-template-columns:1fr}.contact-grid{gap:45px}.form-row{grid-template-columns:1fr}.contact-form{padding:25px 20px}.footer-grid{gap:34px}.floating-call{display:grid}.legal-card{padding:30px 20px}.legal-card h1{font-size:40px}}

/* Original KANIS logo and live appointment form */
.brand { min-width:280px; gap:0; background:transparent!important; box-shadow:none!important; }
.brand > span { display:none; }
.brand-logo { width:126px; height:66px; object-fit:contain; background:transparent!important; border-radius:0; padding:0; box-shadow:none!important; filter:drop-shadow(0 2px 5px rgba(255,255,255,.12)); }
.about-logo { width:min(78%,340px); max-height:300px; object-fit:contain; background:transparent; border-radius:0; padding:0; position:relative; z-index:1; filter:drop-shadow(0 8px 18px rgba(0,0,0,.3)); }
.footer-brand > *:not(.footer-logo) { display:none; }
.footer-logo { width:150px; height:110px; object-fit:contain; background:transparent; border-radius:0; padding:0; filter:drop-shadow(0 2px 5px rgba(255,255,255,.12)); }
.contact-form input,.contact-form textarea,.contact-form select { width:100%;border:1px solid #d8dde0;background:#fafafa;padding:14px 15px;font:inherit;outline:none; }
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus { border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,145,63,.12); }
.form-button:disabled { opacity:.65; cursor:wait; }
.form-error { background:#fff0f0;color:#8b2525;padding:13px;margin:0;font-size:13px;line-height:1.4; }
.honey { display:none!important; }
@media(max-width:1050px){.brand-logo{width:108px}.brand{min-width:auto}}
@media(max-width:720px){.brand-logo{width:82px;height:54px}.footer-logo{width:125px;height:92px}}
/* KANIS brand color harmonization */
:root {
  --gold:#2f66ad;
  --gold-light:#91baf0;
}
.site-header {
  background:linear-gradient(100deg,#06111d 0%,#0b2137 48%,#06111d 100%);
  border-bottom-color:rgba(129,169,220,.22);
}
.brand {
  min-width:142px;
  width:142px;
  height:72px;
  flex:0 0 142px;
  justify-content:center;
  padding:4px 12px;
  border:1px solid rgba(196,215,237,.42);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(236,242,249,.96) 0%,rgba(183,198,216,.88) 55%,rgba(126,148,176,.82) 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 8px 24px rgba(0,0,0,.18)!important;
  overflow:hidden;
}
.brand > img.brand-logo {
  display:block;
  width:102px!important;
  max-width:102px!important;
  height:62px!important;
  max-height:62px!important;
  object-fit:contain!important;
  flex:0 0 auto;
  filter:drop-shadow(0 3px 5px rgba(7,21,34,.18));
}
.button.gold {
  background:linear-gradient(135deg,#3976c5 0%,#174987 100%);
  box-shadow:0 10px 30px rgba(28,79,145,.28);
}
.button.outline { border-color:#7faee9; }
.button.outline:hover { background:rgba(74,126,194,.18); }
.gold-line { background:linear-gradient(90deg,#74a7e5,#214f91); }
.service-icon { background:linear-gradient(145deg,#edf4fc,#d5e3f4); color:#24599f; }
.step-number { background:linear-gradient(135deg,#75a9e8,#214f91); }
.about-section {
  background:linear-gradient(115deg,#f7f8fa 0%,#eef2f6 50%,#e4eaf1 100%);
}
.about-mark {
  background:
    radial-gradient(circle at 48% 42%,rgba(255,255,255,.98) 0%,rgba(232,238,245,.96) 46%,rgba(173,188,206,.96) 72%,rgba(106,129,157,.98) 100%);
  border:1px solid rgba(55,91,137,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 22px 55px rgba(22,49,79,.18);
}
.about-mark:after { display:none; }
.about-logo {
  width:min(82%,390px);
  max-width:390px;
  height:auto;
  max-height:340px;
  object-fit:contain;
  filter:drop-shadow(0 12px 18px rgba(7,21,34,.24));
}
.contact { background:linear-gradient(115deg,#06111d 0%,#0d2945 62%,#071522 100%); }
.big-phone>span,.floating-call { background:linear-gradient(135deg,#4b83cc,#1e518f); }
.footer-brand {
  width:172px;
  min-height:124px;
  justify-content:center;
  padding:8px 12px;
  border:1px solid rgba(196,215,237,.28);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(231,239,248,.94),rgba(130,151,178,.82));
}
.footer-logo { display:block;width:135px;max-width:135px;height:102px;max-height:102px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(7,21,34,.2)); }
@media(max-width:1050px){
  .brand{width:120px;min-width:120px;flex-basis:120px}
  .brand > img.brand-logo{width:88px!important;max-width:88px!important}
}
@media(max-width:720px){
  .brand{width:88px;min-width:88px;flex-basis:88px;height:62px;padding:3px 7px;border-radius:9px}
  .brand > img.brand-logo{width:70px!important;max-width:70px!important;height:52px!important;max-height:52px!important}
  .about-logo{width:88%}
}

/* Compact language switcher — German remains the default on the bare URL */
.language-switcher{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(47,102,173,.28);border-radius:999px;background:rgba(255,255,255,.62);flex:0 0 auto}
.language-switcher a{display:grid;place-items:center;min-width:31px;height:28px;padding:0 7px;border-radius:999px;color:#183a61;font:800 11px/1 Arial,sans-serif;letter-spacing:.4px;text-decoration:none;border:0!important}
.language-switcher a:hover{background:#dce9f6;color:#0b2c50!important}
.language-switcher a[aria-current="true"]{background:#245fa9;color:#fff!important;box-shadow:0 2px 8px rgba(36,95,169,.22)}
.site-header>.language-switcher{margin-left:18px}
.legal-header>.language-switcher{margin-left:4px}
@media(max-width:1050px){.site-header>.language-switcher{margin-left:10px}.language-switcher a{min-width:29px;padding:0 5px}}
@media(max-width:720px){.site-header>.language-switcher{margin-left:auto;margin-right:10px}.language-switcher{gap:1px;padding:2px}.language-switcher a{min-width:27px;height:26px;padding:0 4px;font-size:10px}.legal-header{flex-wrap:wrap}.legal-header>.language-switcher{order:3;margin-left:auto}.legal-header>nav:not(.language-switcher){display:none}}

/* Local-search content and customer FAQs */
.local-seo{background:linear-gradient(135deg,#f8fafc 0%,#eaf1f8 100%);border-top:1px solid #d5e0eb;border-bottom:1px solid #d5e0eb}
.local-seo h2{max-width:900px;margin-left:auto;margin-right:auto;text-align:center}
.local-seo>.shell>.section-kicker{text-align:center}
.local-intro{max-width:900px;margin:22px auto 44px;text-align:center;color:#50677d;font-size:18px;line-height:1.75}
.local-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:stretch}
.area-card,.faq-list{background:#fff;border:1px solid #d9e2eb;box-shadow:0 14px 35px rgba(20,48,76,.07)}
.area-card{padding:38px;display:flex;flex-direction:column;align-items:flex-start}
.area-card h3{font:700 clamp(26px,3vw,34px)/1.15 Georgia,serif;margin:0 0 16px;color:#071522}
.area-card p{color:#50677d;line-height:1.7;margin:0 0 24px}
.area-tags{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 30px}
.area-tags span{padding:8px 12px;border-radius:999px;background:#e8f1fb;color:#164d89;font-size:12px;font-weight:800}
.area-card .button{margin-top:auto}
.faq-list{padding:8px 28px}
.faq-list details{border-bottom:1px solid #dbe3eb}
.faq-list details:last-child{border-bottom:0}
.faq-list summary{position:relative;padding:23px 38px 23px 0;cursor:pointer;list-style:none;color:#0b2948;font-size:16px;font-weight:800;line-height:1.4}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:3px;top:18px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e6f0fa;color:#2365af;font-size:21px}
.faq-list details[open] summary::after{content:'–'}
.faq-list p{margin:-4px 38px 23px 0;color:#536a80;line-height:1.65}
@media(max-width:900px){.local-grid{grid-template-columns:1fr}.area-card{padding:30px}.local-intro{font-size:16px}}
@media(max-width:520px){.area-card{padding:26px 20px}.faq-list{padding:5px 20px}.faq-list summary{font-size:15px}.local-intro{text-align:left}}

/* Clean, borderless presentation of the original transparent logo */
.site-header {
  height:104px;
  color:#071522;
  background:linear-gradient(110deg,#f8fafc 0%,#e8eef5 52%,#d7e2ed 100%);
  border-bottom:1px solid rgba(30,69,113,.22);
  box-shadow:0 5px 18px rgba(5,21,35,.08);
}
.nav a:hover { color:#24599f; border-bottom-color:#2f66ad; }
.header-phone { color:#0b2c50; }
.header-phone span { color:#2f66ad; }
.menu-button { color:#0b2c50; }
.brand {
  position:relative;
  width:165px;
  min-width:165px;
  height:92px;
  flex-basis:165px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible;
}
.brand::before {
  display:none;
}
.brand > img.brand-logo {
  position:relative;
  z-index:1;
  width:148px!important;
  max-width:148px!important;
  height:88px!important;
  max-height:88px!important;
  filter:drop-shadow(0 4px 7px rgba(16,47,80,.2));
}
.about-mark {
  min-height:410px;
  background:transparent!important;
  border:0;
  box-shadow:none;
  overflow:visible;
}
.about-logo {
  width:min(92%,430px);
  max-width:430px;
  max-height:390px;
  filter:drop-shadow(0 18px 24px rgba(27,55,88,.17));
}
.footer-brand {
  width:172px;
  min-height:112px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.footer-logo {
  filter:drop-shadow(0 2px 2px rgba(255,255,255,.45)) drop-shadow(0 5px 9px rgba(0,0,0,.32));
}
@media(max-width:1050px){
  .site-header{height:94px}
  .brand{width:136px;min-width:136px;height:82px;flex-basis:136px}
  .brand > img.brand-logo{width:126px!important;max-width:126px!important;height:78px!important;max-height:78px!important}
}
@media(max-width:720px){
  .site-header{height:78px}
  .brand{width:92px;min-width:92px;height:70px;flex-basis:92px;padding:0;border-radius:0}
  .brand > img.brand-logo{width:86px!important;max-width:86px!important;height:66px!important;max-height:66px!important}
  .nav{top:78px;background:#edf3f8;color:#071522}
  .nav a{border-bottom-color:#c8d6e4}
  .about-mark{min-height:310px}
  .about-logo{width:min(94%,360px)}
}

/* Horizontal KANIS lockup: original logo + readable wordmark */
.site-header { height:88px; }
.brand {
  width:300px;
  min-width:300px;
  height:76px;
  flex:0 0 300px;
  justify-content:flex-start;
  gap:12px;
}
.brand > img.brand-logo {
  width:72px!important;
  max-width:72px!important;
  height:72px!important;
  max-height:72px!important;
}
.brand > .brand-wordmark {
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  gap:1px;
  white-space:nowrap;
  color:#0a294d;
}
.brand-wordmark small {
  font-size:9px;
  line-height:1;
  font-weight:800;
  letter-spacing:1.7px;
}
.brand-wordmark strong {
  color:#06285c;
  font-family:"Arial Black",Arial,sans-serif;
  font-size:30px;
  line-height:1;
  font-style:italic;
  letter-spacing:2.5px;
}
@media(max-width:1050px){
  .site-header{height:82px}
  .brand{width:88px;min-width:88px;height:74px;flex-basis:88px}
  .brand > img.brand-logo{width:74px!important;max-width:74px!important;height:74px!important;max-height:74px!important}
  .brand > .brand-wordmark{display:none!important}
}
@media(max-width:720px){
  .site-header{height:72px}
  .brand{width:76px;min-width:76px;height:66px;flex-basis:76px}
  .brand > img.brand-logo{width:66px!important;max-width:66px!important;height:66px!important;max-height:66px!important}
  .nav{top:72px}
}

/* Services: no dead links, one intentional continuous brand line */
.service-grid {
  position:relative;
  padding-bottom:4px;
}
.service-grid::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg,#77a9e5 0%,#2f66ad 42%,#163f78 100%);
}
.service-card,
.service-card:hover {
  border-bottom:0;
}
.service-card p { margin-bottom:0; }

/* Original KANIS service catalogue inspired by, but not copied from, the reference */
.service-grid {
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  counter-reset:service-card;
}
.service-card {
  counter-increment:service-card;
  min-height:330px;
  position:relative;
  padding:30px 30px 32px;
  background:linear-gradient(145deg,#ffffff 0%,#f4f7fa 100%);
  border:1px solid rgba(48,91,142,.12);
  box-shadow:0 12px 32px rgba(14,40,68,.09);
}
.service-card::before {
  content:"0" counter(service-card);
  position:absolute;
  top:24px;
  right:25px;
  color:rgba(35,85,145,.22);
  font:700 13px Arial,sans-serif;
  letter-spacing:1px;
}
.service-card:hover {
  transform:translateY(-5px);
  border-color:rgba(47,102,173,.35);
}
.service-card h3 {
  max-width:85%;
  font-size:24px;
  line-height:1.18;
  margin-bottom:20px;
}
.service-icon {
  width:58px;
  height:58px;
  margin-bottom:20px;
  font-size:26px;
}
.service-list {
  display:grid;
  gap:11px;
  margin:0;
  padding:0;
  list-style:none;
  color:#52616e;
  font-size:14px;
  line-height:1.45;
}
.service-list li {
  position:relative;
  padding-left:18px;
}
.service-list li::before {
  content:"";
  position:absolute;
  left:0;
  top:.52em;
  width:7px;
  height:7px;
  background:#2f66ad;
  transform:rotate(45deg);
}
@media(max-width:1050px){.service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}}

/* Supplied horizontal transparent logo for the header */
.site-header { height:88px; }
.brand {
  position:relative;
  width:370px;
  min-width:370px;
  height:76px;
  flex:0 0 370px;
  overflow:hidden;
}
.brand > img.brand-logo {
  position:absolute;
  left:0;
  top:50%;
  width:360px!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  transform:translateY(-50%);
  object-fit:initial!important;
  filter:drop-shadow(0 4px 7px rgba(16,47,80,.16));
}
.brand > .brand-wordmark { display:none!important; }
@media(max-width:1050px){
  .site-header{height:82px}
  .brand{width:250px;min-width:250px;height:72px;flex-basis:250px}
  .brand > img.brand-logo{width:240px!important}
}
@media(max-width:720px){
  .site-header{height:72px}
  .brand{width:150px;min-width:150px;height:64px;flex-basis:150px}
  .brand > img.brand-logo{left:-12px;width:180px!important}
  .nav{top:72px}
}

/* Five-service layout and original KANIS about section */
.service-grid{grid-template-columns:repeat(6,1fr)}
.service-card{grid-column:span 2}
.service-card:nth-child(4){grid-column:2/span 2}
.service-card:nth-child(5){grid-column:4/span 2}

.about-section{padding:100px 0;background:linear-gradient(120deg,#f8fafc 0%,#edf3f8 58%,#dde8f2 100%);scroll-margin-top:88px}
.about-grid{grid-template-columns:1.02fr .98fr;gap:72px;align-items:center}
.about-copy .section-kicker{text-align:left;margin-bottom:14px}
.about-copy h2{font-size:clamp(42px,4.4vw,66px);line-height:1.05;margin:0 0 26px;color:#071522}
.about-copy>p{font-size:17px;line-height:1.72;margin:0 0 16px;max-width:670px}
.about-copy .check-list{margin:28px 0 32px}
.about-contact{display:inline-flex;align-items:center;min-height:52px;padding:0 22px;background:#245fa9;color:#fff;font-weight:800;letter-spacing:.2px;box-shadow:0 10px 26px rgba(36,95,169,.22);transition:.2s}
.about-contact:hover{background:#174b8b;transform:translateY(-2px)}
.about-photo{position:relative;min-height:470px;background:linear-gradient(90deg,rgba(4,15,26,.12),rgba(4,15,26,.02)),url('/kanis-hero.png') 72% center/cover no-repeat;box-shadow:0 24px 55px rgba(13,42,73,.22);overflow:hidden}
.about-photo:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.48);pointer-events:none}
.about-photo span{position:absolute;left:0;bottom:0;padding:15px 22px;background:#071522;color:#fff;font-size:13px;font-weight:800;letter-spacing:1px;text-transform:uppercase}

@media(max-width:1050px){
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto}
  .service-card:last-child{grid-column:1/-1;width:calc(50% - 11px);justify-self:center}
  .about-grid{grid-template-columns:1fr 1fr;gap:42px}
  .about-photo{min-height:420px}
}
@media(max-width:720px){
  .service-grid{grid-template-columns:1fr}
  .service-card,.service-card:nth-child(4),.service-card:nth-child(5),.service-card:last-child{grid-column:auto;width:auto}
  .about-section{padding:72px 0;scroll-margin-top:72px}
  .about-grid{grid-template-columns:1fr;gap:38px}
  .about-copy h2{font-size:42px}
  .about-photo{min-height:360px;order:-1;background-position:70% center}
}

/* Equal service-card heights and uncropped mobile header logo */
.service-grid{grid-auto-rows:1fr;align-items:stretch}
.service-card{height:100%;min-height:380px}
@media(max-width:1050px){
  .service-card{min-height:370px}
}
@media(max-width:720px){
  .site-header{padding-left:12px;padding-right:14px}
  .brand{width:142px;min-width:142px;max-width:142px;height:62px;flex-basis:142px;overflow:visible}
  .brand > img.brand-logo{position:static!important;inset:auto!important;transform:none!important;left:auto!important;top:auto!important;width:138px!important;max-width:138px!important;height:54px!important;max-height:54px!important;object-fit:contain!important;object-position:left center!important}
  .service-card{min-height:370px;height:370px}
}

@media(max-width:720px){
  .service-card,.service-card:nth-child(4),.service-card:nth-child(5),.service-card:last-child{width:100%!important;max-width:none!important;justify-self:stretch!important}
}

/* High-contrast footer wordmark */
footer .footer-brand{width:min(100%,320px);min-height:112px;padding:13px 18px;background:linear-gradient(135deg,#f8fbfe,#dce7f2);border:1px solid rgba(145,186,240,.5);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.3);justify-content:center;overflow:hidden}
footer .footer-logo{display:block;width:285px!important;max-width:100%!important;height:86px!important;max-height:86px!important;object-fit:contain;filter:none!important;transform:scale(1.28)}
@media(max-width:720px){
  footer .footer-brand{width:100%;max-width:300px;min-height:96px;padding:10px 14px}
  footer .footer-logo{width:260px!important;height:76px!important;max-height:76px!important;transform:scale(1.22)}
}

/* Footer shares the logo's light background */
footer{background:linear-gradient(135deg,#f8fbfe 0%,#eaf1f7 48%,#dce7f2 100%);color:#30475d}
footer .footer-brand{width:min(100%,350px);min-height:112px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;justify-content:flex-start}
footer .footer-logo{width:320px!important;max-width:100%!important;height:96px!important;max-height:96px!important;transform:scale(1.16);transform-origin:left center}
footer .footer-grid h4{color:#071522}
footer .footer-grid a,footer .footer-grid span{color:#29465f}
footer .footer-grid a:hover{color:#245fa9}
.footer-instagram{font-weight:700;color:#245fa9!important}
.footer-contact-name{color:#123b69;font-weight:800}
footer .copyright{border-top-color:#b8c9d9;color:#4d6479}
@media(max-width:720px){
  footer .footer-brand{width:100%;max-width:310px;min-height:92px;padding:0}
  footer .footer-logo{width:285px!important;height:82px!important;max-height:82px!important;transform:scale(1.1)}
}


/* Professional KANIS line-icon system and individual card accents */
.header-phone span,
.big-phone > span,
.floating-call,
.service-icon,
.round-icon,
.step-arrow {
  font-size:0!important;
}

.header-phone span::before,
.big-phone > span::before,
.floating-call::before,
.hero-actions .button::before,
.hero-notes > span::before,
.service-icon::before,
.round-icon::before,
.step-arrow::before {
  content:"";
  display:block;
  width:1.25em;
  height:1.25em;
  flex:0 0 auto;
  background:currentColor;
  -webkit-mask:var(--ui-icon) center / contain no-repeat;
  mask:var(--ui-icon) center / contain no-repeat;
}

.header-phone span,
.hero-actions .button,
.hero-notes > span {
  display:inline-flex;
  align-items:center;
}
.hero-actions .button{gap:10px}
.hero-notes > span{gap:7px}
.header-phone span{justify-content:center}

.header-phone span,
.hero-actions .button.outline,
.big-phone > span,
.floating-call {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.8 2.1Z'/%3E%3C/svg%3E");
}
.hero-actions .button.gold,
.service-card:nth-child(1) .service-icon {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-8 9-4.5-1.5-8-4-8-9V5l8-3 8 3v8Z'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E");
}
.hero-notes > span:nth-of-type(1) {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4Z'/%3E%3Cpath d='m9 11 2 2 4-4'/%3E%3C/svg%3E");
}
.hero-notes > span:nth-of-type(2) {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18m-9 4v4m-2-2h4'/%3E%3C/svg%3E");
}
.hero-notes > span:nth-of-type(3) {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.service-card:nth-child(2) .service-icon,
.trust-item:nth-child(1) .round-icon {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h12M4 14h9M19 6.3A7 7 0 1 0 19 17.7'/%3E%3C/svg%3E");
}
.service-card:nth-child(3) .service-icon {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.4 15a9 9 0 1 0-16.8 0M12 12l4-4M12 18h.01'/%3E%3C/svg%3E");
}
.service-card:nth-child(4) .service-icon {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5-5l2.1 2.1-2.4 2.4-2.1-2.1a4 4 0 0 0 5 5l6.5 6.5a2 2 0 1 1-2.8 2.8l-6.5-6.5'/%3E%3C/svg%3E");
}
.service-card:nth-child(5) .service-icon {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4M11 8v6M8 11h6'/%3E%3C/svg%3E");
}
.trust-item:nth-child(2) .round-icon {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-8 9-4.5-1.5-8-4-8-9V5l8-3 8 3v8Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}
.trust-item:nth-child(3) .round-icon {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}
.step-arrow {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

.header-phone span::before{width:22px;height:22px}
.hero-actions .button::before{width:19px;height:19px}
.hero-notes > span::before{width:16px;height:16px;color:#91baf0}
.big-phone > span::before{width:28px;height:28px;color:#fff}
.floating-call::before{width:25px;height:25px;color:#fff}
.service-icon::before{width:31px;height:31px;color:#245fa9}
.round-icon::before{width:25px;height:25px;color:#91baf0}
.step-arrow::before{width:42px;height:28px;color:#2f66ad}

.service-grid::after{display:none!important}
.service-card{overflow:hidden;border-bottom:0!important}
.service-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg,#91baf0 0%,#3e7bc5 50%,#123f78 100%);
  transition:height .2s ease,filter .2s ease;
}
.service-card:hover::after{height:6px;filter:saturate(1.12)}

.check-list span{display:flex;align-items:center;gap:9px}
.check-list span::before{
  content:"";
  width:19px;
  height:19px;
  flex:0 0 19px;
  background:#2f66ad;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.5 2.5L16 9'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.5 2.5L16 9'/%3E%3C/svg%3E") center / contain no-repeat;
}


/* Legal pages and privacy notice */
.privacy-hint{margin:-2px 0 12px;color:#617284;font-size:12px;line-height:1.5}
.footer-link-button{
  display:block;
  padding:0;
  border:0;
  background:transparent;
  color:#29465f;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.footer-link-button:hover{color:#245fa9}

.legal-header{
  min-height:96px;
  padding:10px max(28px,calc((100% - 1600px)/2));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  background:linear-gradient(135deg,#f8fbfe,#dce7f2);
  border-bottom:1px solid #bfd0e0;
}
.legal-header>a{display:flex;align-items:center;width:min(390px,42vw);height:76px}
.legal-header img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.legal-header nav{display:flex;align-items:center;gap:26px}
.legal-header nav a{color:#0d2947;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.6px}
.legal-header nav a:hover{color:#2f66ad}
.legal-page{padding:64px 20px 80px;background:linear-gradient(140deg,#f7f5f1 0%,#edf3f8 100%)}
.legal-card{max-width:980px;padding:62px 70px;border-top:5px solid #2f66ad;box-shadow:0 18px 55px rgba(18,55,91,.1)}
.legal-card h1{margin:15px 0 12px;font-size:clamp(44px,6vw,68px);line-height:1;color:#071522;overflow-wrap:anywhere;hyphens:auto}
.legal-card h2{margin:40px 0 12px;color:#0b2948;font-size:26px;line-height:1.25}
.legal-card p,.legal-card li{font-size:16px;line-height:1.78;color:#42566a}
.legal-card a{color:#245fa9;text-decoration:underline;text-underline-offset:3px}
.legal-card code{padding:2px 6px;border-radius:4px;background:#eaf1f8;color:#123f78;font:600 .92em ui-monospace,SFMono-Regular,Consolas,monospace}
.legal-kicker{margin:34px 0 0!important;color:#2f66ad!important;font-size:12px!important;font-weight:900;letter-spacing:1.6px;text-transform:uppercase}
.legal-intro{max-width:760px;font-size:18px!important;color:#526a7f!important}
.legal-status{margin-top:48px!important;padding-top:18px;border-top:1px solid #d5e0e9;font-size:13px!important;color:#718396!important}
.back-link{display:inline-flex;color:#245fa9!important;text-decoration:none!important}
.legal-footer{
  padding:34px max(28px,calc((100% - 980px)/2));
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:36px;
  background:#071522;
  color:#dce7f1;
}
.legal-footer>div{display:grid;gap:6px}
.legal-footer span{color:#9eb0c1;font-size:14px}
.legal-footer nav{display:flex;flex-wrap:wrap;gap:18px 26px;justify-content:flex-end}
.legal-footer a,.legal-footer .footer-link-button{color:#dce7f1;font-size:14px}
.legal-footer a:hover,.legal-footer .footer-link-button:hover{color:#91baf0}
.legal-footer [aria-current="page"]{color:#91baf0}

.cookie-notice{
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:100;
  width:min(920px,calc(100% - 48px));
  margin:auto;
  padding:20px 22px;
  display:grid;
  grid-template-columns:52px 1fr auto;
  align-items:center;
  gap:18px;
  background:#071522;
  color:#fff;
  border:1px solid rgba(145,186,240,.5);
  border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.cookie-notice__icon{
  width:52px;
  height:52px;
  border-radius:50%;
  background:#2f66ad;
  position:relative;
}
.cookie-notice__icon::before{
  content:"";
  position:absolute;
  inset:13px;
  background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-8 9-4.5-1.5-8-4-8-9V5l8-3 8 3v8Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-8 9-4.5-1.5-8-4-8-9V5l8-3 8 3v8Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.cookie-notice__copy{min-width:0}
.cookie-notice__copy strong{display:block;margin-bottom:5px;font-size:16px}
.cookie-notice__copy p{margin:0;color:#bfccd8;font-size:13px;line-height:1.5}
.cookie-notice__copy a{display:inline-block;margin-top:5px;color:#91baf0;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.cookie-notice__button{
  min-height:46px;
  padding:0 22px;
  border:0;
  border-radius:6px;
  background:linear-gradient(135deg,#4b83cc,#245fa9);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.cookie-notice__button:hover{background:linear-gradient(135deg,#5a92dc,#174b8b)}
.cookie-notice__button:focus-visible,.footer-link-button:focus-visible{outline:3px solid #91baf0;outline-offset:3px}

@media(max-width:720px){
  .legal-header{min-height:76px;padding:7px 16px}
  .legal-header>a{width:174px;height:60px}
  .legal-header nav{gap:14px}
  .legal-header nav a{font-size:11px}
  .legal-page{padding:34px 14px 58px}
  .legal-card{min-width:0;padding:36px 23px}
  .legal-card h1{font-size:36px}
  .legal-card h2{font-size:23px;margin-top:34px}
  .legal-card p,.legal-card li{font-size:15px}
  .legal-intro{font-size:16px!important}
  .legal-footer{padding:30px 20px;flex-direction:column}
  .legal-footer nav{justify-content:flex-start}
  .cookie-notice{
    left:12px;
    right:12px;
    bottom:12px;
    width:calc(100% - 24px);
    padding:17px;
    grid-template-columns:42px 1fr;
    gap:12px;
  }
  .cookie-notice__icon{width:42px;height:42px}
  .cookie-notice__icon::before{inset:10px}
  .cookie-notice__button{grid-column:1/-1;width:100%}
}


/* Webtreu designer credit */
.copyright{display:flex;flex-direction:column;align-items:center;gap:8px}
.webdesign-credit{font-size:11px;letter-spacing:.35px;color:#60778c}
.webdesign-credit a{display:inline-block;color:#245fa9;font-weight:800;text-decoration:none;position:relative}
.webdesign-credit a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:currentColor;transition:right .22s ease}
.webdesign-credit a:hover::after,.webdesign-credit a:focus-visible::after{right:0}
.webdesign-credit a:focus-visible{outline:2px solid #245fa9;outline-offset:4px;border-radius:2px}
.legal-footer{flex-wrap:wrap}
.legal-webdesign-credit{flex-basis:100%;margin-top:8px;padding-top:14px;border-top:1px solid rgba(184,201,217,.75);color:#60778c!important;font-size:11px;letter-spacing:.3px;text-decoration:none}
.legal-webdesign-credit strong{color:#245fa9}
.legal-webdesign-credit:hover strong{text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){.webdesign-credit,.legal-webdesign-credit{font-size:10.5px}.legal-webdesign-credit{margin-top:2px}}


/* Floating WhatsApp contact */
.floating-whatsapp{position:fixed;right:24px;bottom:24px;z-index:41;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#25D366;box-shadow:0 10px 30px rgba(0,0,0,.28);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.floating-whatsapp img{display:block;width:36px;height:36px;object-fit:contain}
.floating-whatsapp:hover,.floating-whatsapp:focus-visible{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 34px rgba(0,0,0,.34);filter:brightness(1.03)}
@media(max-width:720px){
  .floating-whatsapp{right:24px;bottom:94px;width:58px;height:58px}
  .floating-whatsapp img{width:34px;height:34px}
}


/* Floating Instagram contact */
.floating-instagram{position:fixed;right:24px;bottom:98px;z-index:41;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);box-shadow:0 10px 30px rgba(0,0,0,.28);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.floating-instagram img{display:block;width:36px;height:36px;object-fit:contain}
.floating-instagram:hover,.floating-instagram:focus-visible{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 34px rgba(0,0,0,.34);filter:brightness(1.03)}
@media(max-width:720px){
  .floating-instagram{right:24px;bottom:162px;width:58px;height:58px}
  .floating-instagram img{width:34px;height:34px}
}
