/* ── Inter — self-hosted (GDPR-safe) ──
   Place InterVariable.woff2 in /assets/fonts/
   Download from: https://rsms.me/inter/download/
   If the file is missing, the system font stack below takes over gracefully. */
@font-face {
  font-family: 'InterVariable';
  src: url('../fonts/InterVariable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}


:root {
  --navy:#0b1f35;
  --navy-2:#102a46;
  --navy-3:#18395d;
  --gold:#c7a04a;
  --gold-2:#d9b76a;
  --gold-soft:#efe1bc;
  --ivory:#faf8f4;
  --ivory-2:#f6f2ea;
  --white:#ffffff;
  --text:#1f2d3d;
  --muted:#687587;
  --line:#e7e1d6;
  --shadow-sm:0 8px 26px rgba(11,31,53,.06);
  --shadow:0 16px 46px rgba(11,31,53,.09);
  --shadow-lg:0 24px 70px rgba(11,31,53,.16);
  --radius:24px;
  --radius-sm:18px;
  --max:1200px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'InterVariable',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-feature-settings:'liga' 1,'calt' 1;color:var(--text);background:#fff;line-height:1.68;overflow-x:hidden;overflow-x:clip}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}

.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.section{padding:110px 0;position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--gold);text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:800}
.eyebrow::before{content:"";width:34px;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:.2px;margin:0 0 14px}
h1{font-size:clamp(42px,6vw,76px);line-height:1.02;color:#fff}
h2{font-size:clamp(32px,4vw,50px);line-height:1.1;color:var(--navy)}
h3{font-size:26px;line-height:1.15;color:var(--navy)}
p{margin:0 0 14px}
.section-lead{font-size:18px;color:var(--muted);max-width:720px}
.gold{color:var(--gold)}

.reveal{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.delay-1{transition-delay:.08s}
.delay-2{transition-delay:.16s}
.delay-3{transition-delay:.24s}
.delay-4{transition-delay:.32s}

.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;background:transparent}
.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),#f3d899);box-shadow:0 0 24px rgba(199,160,74,.45)}

.topbar{position:sticky;position:-webkit-sticky;top:0;z-index:60;isolation:isolate;will-change:transform;background:rgba(10,24,41,.97);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08);transition:box-shadow .35s var(--ease)}
.topbar.scrolled{box-shadow:0 10px 34px rgba(2,7,14,.22)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:24px}
.brand{display:flex;align-items:center;gap:14px;min-width:0;transition:transform .25s var(--ease)}
.brand:hover{transform:translateY(-1px)}
.brand img{width:65px;height:auto;object-fit:contain;filter:brightness(1.25) contrast(1.08) drop-shadow(0 0 10px rgba(255,255,255,.28)) drop-shadow(0 8px 16px rgba(0,0,0,.15))}
.brand-text{display:flex;flex-direction:column}
.brand-name{color:#fff;font-weight:800;font-size:18px;line-height:1.1}
.brand-sub{color:var(--gold-soft);font-size:11px;text-transform:uppercase;letter-spacing:2px}
.nav-links{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.nav-links a{color:rgba(255,255,255,.82);font-size:14px;font-weight:700;position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav-links a:hover{color:#fff}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);transform-origin:left}
.hamburger{display:none;background:none;border:0;padding:0;width:42px;height:42px;place-items:center;cursor:pointer}
.hamburger span,.hamburger::before,.hamburger::after{content:"";display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:.3s var(--ease)}
.hamburger::before{transform:translateY(-6px)}
.hamburger::after{transform:translateY(6px)}
.hamburger.open span{opacity:0}
.hamburger.open::before{transform:translateY(2px) rotate(45deg)}
.hamburger.open::after{transform:translateY(0) rotate(-45deg)}

.language-switcher{position:relative;z-index:80}
.language-current{
  display:inline-flex;align-items:center;gap:8px;padding:9px 13px;
  border:1px solid rgba(199,160,74,.38);border-radius:999px;
  color:var(--gold-soft);background:rgba(255,255,255,.04);
  font-size:12px;font-weight:800;letter-spacing:.8px;cursor:pointer;
  transition:background .24s var(--ease),border-color .24s var(--ease),transform .24s var(--ease)
}
.language-current:hover{background:rgba(255,255,255,.08);border-color:rgba(199,160,74,.65);transform:translateY(-1px)}
.language-current .flag{font-size:15px;line-height:1}
.chevron{font-size:14px;color:rgba(255,255,255,.7);transform:translateY(-1px)}
.language-menu{
  position:absolute;top:calc(100% + 12px);right:0;width:230px;padding:10px;
  border:1px solid rgba(199,160,74,.20);border-radius:18px;
  background:rgba(8,22,38,.98);box-shadow:0 24px 60px rgba(0,0,0,.32);
  backdrop-filter:blur(18px);opacity:0;transform:translateY(8px) scale(.98);
  pointer-events:none;transition:opacity .22s var(--ease),transform .22s var(--ease)
}
.language-switcher.open .language-menu{opacity:1;transform:none;pointer-events:auto}
.language-menu::before{
  content:"";position:absolute;right:22px;top:-7px;width:12px;height:12px;
  background:rgba(8,22,38,.98);border-left:1px solid rgba(199,160,74,.20);
  border-top:1px solid rgba(199,160,74,.20);transform:rotate(45deg)
}
.language-menu a{
  display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;
  padding:11px 12px;border-radius:12px;color:rgba(255,255,255,.78);
  font-size:14px;font-weight:700;
  transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)
}
.language-menu a:hover,.language-menu a.active{background:rgba(199,160,74,.14);color:#fff;transform:translateX(2px)}
.language-menu a small{color:var(--gold-soft);font-size:11px;font-weight:900;letter-spacing:1px}

.hero{position:relative;padding:84px 0 74px;background:
  radial-gradient(circle at 10% 14%, rgba(199,160,74,.16), transparent 26%),
  radial-gradient(circle at 84% 12%, rgba(199,160,74,.12), transparent 18%),
  linear-gradient(135deg,var(--navy) 0%, var(--navy-2) 55%, #0e2741 100%);
  overflow:hidden;isolation:isolate}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.hero::before{width:520px;height:520px;right:-180px;bottom:-160px;background:radial-gradient(circle, rgba(199,160,74,.14), transparent 60%);animation:floatGlow 9s ease-in-out infinite}
.hero::after{width:300px;height:300px;left:-70px;top:50px;background:radial-gradient(circle, rgba(255,255,255,.06), transparent 60%);animation:floatGlow 7s ease-in-out infinite reverse}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center;position:relative;z-index:2}
.hero .lead{font-size:18px;color:#d9e0e9;max-width:690px}
.hero-copy{position:relative}
.hero-copy::after{content:"";position:absolute;left:0;bottom:-22px;width:140px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:14px;font-weight:800;position:relative;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease);border:0;cursor:pointer}
.btn::before{content:"";position:absolute;inset:-120% auto -120% -30%;width:40%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transition:transform .65s var(--ease)}
.btn:hover::before{transform:translateX(290%) rotate(22deg)}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:var(--navy);box-shadow:0 14px 30px rgba(199,160,74,.24)}
.btn-primary:hover{box-shadow:0 18px 36px rgba(199,160,74,.34)}
.btn-secondary{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.18);color:#fff}
.btn-secondary:hover{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08)}
.hero-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
.badge{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:16px 16px;border-radius:16px;color:#eef2f6;font-size:14px;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:transform .28s var(--ease),border-color .28s var(--ease),background .28s var(--ease)}
.badge:hover{transform:translateY(-3px);border-color:rgba(199,160,74,.34);background:rgba(255,255,255,.08)}

.hero-side{display:flex;flex-direction:column;gap:16px}
.glass-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);border-radius:26px;padding:30px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;transform-style:preserve-3d;text-align:center}
.glass-card::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 34%);pointer-events:none}
.glass-card img{width:286px;max-width:84%;margin:0 auto 22px;display:block;filter:brightness(1.18) contrast(1.05) drop-shadow(0 0 18px rgba(255,255,255,.35)) drop-shadow(0 10px 28px rgba(255,255,255,.12))}
.glass-card p{color:#e9eef4;font-size:16px;margin:0;position:relative;z-index:2;text-align:left}
.info-card{background:#fff;border-radius:20px;padding:20px 22px;box-shadow:var(--shadow);display:flex;gap:14px;align-items:flex-start;border:1px solid rgba(11,31,53,.04);transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s var(--ease)}
.info-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(11,31,53,.12);border-color:rgba(199,160,74,.22)}
.info-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(180deg,rgba(199,160,74,.2),rgba(199,160,74,.1));display:grid;place-items:center;color:var(--navy);font-weight:800;flex:0 0 44px}
.info-card strong{display:block;color:var(--navy);font-size:16px;margin-bottom:4px}
.info-card span{display:block;color:var(--muted);font-size:14px}

.about{background:linear-gradient(180deg,var(--ivory),#fff 68%)}
.about-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:54px;align-items:center}
.portrait-wrap{position:relative;perspective:1200px}
.portrait-card{background:linear-gradient(180deg,#f0e9dc,#fff);border-radius:34px;padding:22px;box-shadow:var(--shadow-lg);position:relative;transition:transform .28s var(--ease)}
.portrait-card::before{content:"";position:absolute;inset:12px;border-radius:24px;border:1px solid rgba(255,255,255,.55);pointer-events:none}
.portrait-card img{width:100%;border-radius:24px;object-fit:cover}
.stamp{position:absolute;right:-8px;bottom:26px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow);border:1px solid var(--line);transition:transform .3s var(--ease)}
.portrait-wrap:hover .stamp{transform:translateY(-3px)}
.stamp strong{display:block;font-size:22px;color:var(--navy);font-family:Georgia,'Times New Roman',serif;white-space:nowrap}
.stamp span{display:block;font-size:11px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin-top:3px}
.points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
.point{background:#fff;padding:18px;border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.point:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(11,31,53,.08);border-color:#dcc79a}
.point strong{display:block;color:var(--navy);margin-bottom:6px}
.point p{font-size:14px;color:var(--muted);margin:0}

.services-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:30px}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service{background:#fff;padding:30px;border-radius:26px;border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s var(--ease)}
.service::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--gold),#efd189)}
.service::after{content:"";position:absolute;inset:auto -10% -65% auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(199,160,74,.08),transparent 62%);pointer-events:none;transition:transform .4s var(--ease)}
.service:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(11,31,53,.12);border-color:#deceb0}
.service:hover::after{transform:scale(1.12)}
.service ul{padding-left:18px;margin:14px 0 0}
.service li{margin:8px 0;color:var(--muted)}
.service .num{position:absolute;right:24px;top:20px;color:#d6dce4;font-weight:800;font-size:14px;letter-spacing:1px}

.trust{padding-top:10px}
.trust-box{background:linear-gradient(135deg,var(--navy) 0%, var(--navy-2) 55%, var(--navy-3) 100%);border-radius:34px;padding:56px;display:grid;grid-template-columns:1.12fr .88fr;gap:30px;align-items:center;overflow:hidden;position:relative;box-shadow:var(--shadow-lg)}
.trust-box::before{content:"";position:absolute;right:-30px;top:-30px;width:240px;height:240px;border-radius:50%;border:1px solid rgba(199,160,74,.18)}
.trust-box::after{content:"";position:absolute;left:45%;bottom:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(199,160,74,.09),transparent 60%)}
.trust h2,.trust p,.trust li{color:#fff}
.trust p{color:#d8e0e9;max-width:700px}
.trust-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:24px 0 0}
.trust-list li{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);padding:14px 16px;border-radius:14px;font-weight:700;transition:transform .26s var(--ease),background .26s var(--ease)}
.trust-list li:hover{transform:translateY(-3px);background:rgba(255,255,255,.1)}
.trust-cta{justify-self:end;background:rgba(255,255,255,.96);padding:28px;border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.18);min-width:300px;transform-style:preserve-3d}
.trust-cta h3{margin-bottom:8px}
.trust-cta p{color:var(--muted)}
.trust-cta .btn{width:100%;margin-top:12px}

.contact{background:linear-gradient(180deg,var(--ivory),#fff 72%)}
.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:40px;align-items:start}
.contact-cards{display:grid;gap:14px;margin-top:28px}
.contact-card{background:#fff;padding:18px 20px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#dcc79a}
.contact-label{font-size:12px;text-transform:uppercase;letter-spacing:1.6px;color:var(--gold);font-weight:800;margin-bottom:6px}
.contact-value{font-size:18px;font-weight:800;color:var(--navy)}
.contact-note{font-size:14px;color:var(--muted)}
.form-wrap{background:rgba(255,255,255,.92);backdrop-filter:blur(16px);padding:30px;border-radius:26px;border:1px solid rgba(231,225,214,.9);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.form-wrap::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(199,160,74,.1),transparent 60%)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.field.full{grid-column:1/-1}
label{font-size:12px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}
input,textarea,select{width:100%;padding:14px 14px;border-radius:14px;border:1px solid #d8dde5;background:#fbfbfc;color:var(--text);transition:border-color .22s var(--ease),box-shadow .22s var(--ease),transform .22s var(--ease)}
textarea{min-height:130px;resize:vertical}
input:hover,textarea:hover,select:hover{border-color:#c9d2df}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(199,160,74,.12);transform:translateY(-1px)}
.mini{font-size:13px;color:var(--muted)}

footer{
  background:radial-gradient(circle at 12% 20%, rgba(199,160,74,.10), transparent 28%),linear-gradient(180deg,#0b1f35 0%, #071625 100%);
  padding:64px 0 28px;border-top:1px solid rgba(199,160,74,.18);position:relative;overflow:hidden
}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(199,160,74,.75),transparent)}
.footer-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.8fr);gap:34px;align-items:start;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.10);position:relative;z-index:1}
.footer-brand-block{color:#fff}
.footer-logo{width:210px;height:auto;object-fit:contain;margin-bottom:20px;filter:brightness(1.18) contrast(1.05) drop-shadow(0 0 16px rgba(255,255,255,.3)) drop-shadow(0 12px 24px rgba(0,0,0,.2))}
.footer-brand-block h3{color:#fff;font-size:28px;margin-bottom:8px}
.footer-brand-block p{max-width:410px;color:rgba(255,255,255,.68);margin-bottom:18px;font-size:15px}
.footer-languages{display:inline-flex;padding:8px 13px;border:1px solid rgba(199,160,74,.35);border-radius:999px;color:var(--gold-soft);font-size:12px;font-weight:800;letter-spacing:1px;background:rgba(255,255,255,.04)}
.footer-col h4{margin:0 0 18px;color:var(--gold-soft);font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:800}
.footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.footer-col a,.footer-col span{color:rgba(255,255,255,.74);font-size:14px;transition:color .24s var(--ease), transform .24s var(--ease)}
.footer-col a:hover{color:#fff;transform:translateX(3px)}
.footer-contact-item{display:grid;gap:3px;margin-bottom:15px}
.footer-contact-label{color:rgba(199,160,74,.82);font-size:11px;text-transform:uppercase;letter-spacing:1.5px;font-weight:800}
.footer-contact-value{color:rgba(255,255,255,.82);font-size:14px;line-height:1.55}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:24px;color:rgba(255,255,255,.48);font-size:13px;position:relative;z-index:1}
.footer-bottom-links{display:flex;gap:18px;flex-wrap:wrap}
.footer-bottom-links a{color:rgba(255,255,255,.58);transition:color .24s var(--ease)}
.footer-bottom-links a:hover{color:var(--gold-soft)}

.to-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,var(--gold-2),var(--gold));color:var(--navy);font-weight:900;box-shadow:0 18px 30px rgba(199,160,74,.3);border:none;cursor:pointer;opacity:0;transform:translateY(12px);transition:all .3s var(--ease);z-index:55}
.to-top.show{opacity:1;transform:none}
.to-top:hover{transform:translateY(-3px)}

.legal-page{background:linear-gradient(180deg,var(--ivory),#fff 70%);padding:90px 0}
.legal-card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:40px;max-width:920px}
.legal-card h1{color:var(--navy);font-size:48px}
.legal-card h2{font-size:28px;margin-top:26px}
.legal-card p,.legal-card li{color:var(--muted)}
.legal-card a{color:var(--navy);font-weight:800}

@keyframes floatGlow {
  0%,100% {transform:translateY(0) scale(1)}
  50% {transform:translateY(-14px) scale(1.04)}
}

@media (max-width: 980px) {
  .hero-grid,.about-grid,.contact-grid,.trust-box{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
  .trust-cta{justify-self:stretch;min-width:0}
  .services-head{display:block}
  .nav{min-height:74px}
  .hamburger{display:grid}
  .nav-links{position:fixed;left:14px;right:14px;top:78px;background:rgba(10,24,41,.98);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:18px;box-shadow:var(--shadow-lg);display:none;flex-direction:column;align-items:flex-start;gap:10px}
  .nav-links.show{display:flex}
  .language-menu{left:0;right:auto;width:min(270px,calc(100vw - 56px))}
  .language-menu::before{left:26px;right:auto}
}

@media (max-width: 780px) {
  .footer-main{grid-template-columns:1fr;gap:30px}
  .footer-logo{width:185px}
  .footer-bottom{align-items:flex-start;flex-direction:column}
}

@media (max-width: 640px) {
  .section{padding:84px 0}
  .container{width:min(var(--max),calc(100% - 28px))}
  .hero{padding-top:54px}
  .hero-badges,.points,.trust-list,.form-grid{grid-template-columns:1fr}
  .stamp{position:static;margin-top:14px;display:inline-block}
  .btns{flex-direction:column;align-items:stretch}
  .btn{width:100%}
  h1{font-size:42px}
  .glass-card{padding:22px}
  .service,.form-wrap{padding:24px}
  .trust-box{padding:32px 24px}
}

/* ── Language links in footer & contact ── */
.footer-languages a,
.contact-note a {
  color: inherit;
  text-decoration: none;
  opacity: 0.75;
  transition: opacity .2s;
}
.footer-languages a:hover,
.contact-note a:hover {
  opacity: 1;
  text-decoration: underline;
}
.footer-languages strong,
.contact-note strong {
  font-weight: 700;
  opacity: 1;
}

/* Safe hover bridge so menu doesn't vanish while moving mouse toward it */
.language-menu::after {
  content: "";
  position: absolute;
  top: -14px;
  left: 0; right: 0;
  height: 14px;
}

/* ── Skip to content (accessibility) ── */
.skip-link {
  position: absolute;
  top: -48px; left: 16px;
  background: var(--gold-soft, #c7a04a);
  color: #081626;
  padding: 10px 18px;
  border-radius: 0 0 10px 10px;
  font-weight: 800;
  font-size: 13px;
  z-index: 999;
  text-decoration: none;
  transition: top .25s ease;
}
.skip-link:focus { top: 0; }

/* ── WhatsApp link ── */
.wa-link {
  display: inline-block;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
  color: #25D366 !important;
  text-decoration: none;
  transition: opacity .2s;
}
.wa-link:hover { opacity: .8; text-decoration: underline; }

.contact-value a {
  color: inherit;
  text-decoration: none;
}
.contact-value a:hover { text-decoration: underline; }

/* ── Hero compact service cards (icon + title only) ── */
.info-card-compact{align-items:center;padding:16px 20px}
.info-card-compact .info-icon{color:var(--navy)}
.info-card-compact .info-icon svg{display:block}
.info-card-compact strong{margin-bottom:0;font-size:15.5px}
.info-card-compact > div:last-child{display:flex;align-items:center}
.info-card-compact:hover .info-icon{background:linear-gradient(180deg,rgba(199,160,74,.32),rgba(199,160,74,.16))}

/* ── Services section: icon badges ── */
.service-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.service-icon-badge{width:52px;height:52px;border-radius:14px;background:linear-gradient(180deg,rgba(199,160,74,.22),rgba(199,160,74,.08));display:grid;place-items:center;color:var(--navy);transition:transform .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease)}
.service:hover .service-icon-badge{background:linear-gradient(180deg,rgba(199,160,74,.38),rgba(199,160,74,.18));transform:scale(1.06) rotate(-3deg);box-shadow:0 8px 20px rgba(199,160,74,.25)}
.service-head .num{position:static;font-size:13px;font-weight:800;color:rgba(11,31,53,.25);letter-spacing:1px}

/* ── Footer design credit ── */
.design-credit{display:block;font-size:11px;opacity:.45;letter-spacing:.4px;margin-top:4px;font-style:italic}

/* ── Corporate effects: hero compact cards ── */
.info-card-compact{position:relative;overflow:hidden;cursor:default}
/* animated gold underline */
.info-card-compact::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--gold,#c7a04a),rgba(199,160,74,.35));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.info-card-compact:hover::after{transform:scaleX(1)}
/* sheen sweep on hover */
.info-card-compact::before{content:'';position:absolute;top:0;bottom:0;left:-80%;width:50%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);transition:left .65s ease;pointer-events:none}
.info-card-compact:hover::before{left:130%}
/* icon pop + rotate */
.info-card-compact .info-icon{transition:transform .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease)}
.info-card-compact:hover .info-icon{transform:scale(1.1) rotate(-4deg);box-shadow:0 8px 18px rgba(199,160,74,.3)}
/* slight lift + border glow */
.info-card-compact:hover{transform:translateY(-6px);border-color:rgba(199,160,74,.4)}
/* title color shift */
.info-card-compact strong{transition:color .3s var(--ease)}
.info-card-compact:hover strong{color:var(--gold,#a8893f)}

/* ── Footer overflow safety ── */
.footer-contact-value,.footer-col li,.footer-brand-block p{overflow-wrap:anywhere;word-break:break-word}
.footer-main > *{min-width:0}
/* Move 3→1 column earlier to avoid cramped layout at mid widths */
@media (max-width: 900px){
  .footer-main{grid-template-columns:1fr;gap:30px}
}

/* ── Contact form status (AJAX) ── */
.form-status{display:none;margin-top:16px;padding:14px 18px;border-radius:14px;font-weight:600;font-size:14.5px;line-height:1.5}
.form-status.show{display:block;animation:statusIn .4s var(--ease)}
.form-status.ok{background:rgba(34,138,84,.1);border:1px solid rgba(34,138,84,.3);color:#1e6b43}
.form-status.err{background:rgba(190,54,54,.08);border:1px solid rgba(190,54,54,.28);color:#9c2c2c}
@keyframes statusIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
button.sending{opacity:.7;cursor:wait}

/* ── Mobile fixes: centering + legal page overflow ── */
/* Long German words (Datenschutzerklärung, Verbraucherstreitbeilegung) must wrap */
.legal-card h1,.legal-card h2,.legal-card h3,.legal-card p,.legal-card li{
  overflow-wrap:break-word;word-break:break-word;hyphens:auto;-webkit-hyphens:auto
}
.legal-card{box-sizing:border-box;width:100%;margin-left:auto;margin-right:auto}
.legal-page .container,.legal-page{overflow-x:clip}

/* SVG flag alignment in language menu */
.language-menu .flag svg,.language-current .flag svg{display:block}
.language-menu .flag,.language-current .flag{display:inline-flex;align-items:center;flex:0 0 auto}

@media (max-width: 640px){
  /* Legal pages: smaller headings so they fit */
  .legal-card{padding:24px 18px;border-radius:18px}
  .legal-card h1{font-size:30px;line-height:1.15}
  .legal-card h2{font-size:20px}
  .legal-page{padding:40px 0}

  /* Global mobile centering: every section container gets symmetric padding */
  .container{padding-left:18px;padding-right:18px;box-sizing:border-box;max-width:100%}
  section,footer,.topbar{width:100%;box-sizing:border-box}

  /* Footer fully centered on mobile */
  .footer-main{text-align:center;justify-items:center}
  .footer-main .footer-col li,.footer-contact-value{text-align:center}
  .footer-logo{margin-left:auto;margin-right:auto}
  .footer-languages{display:block;text-align:center}
  .footer-bottom{flex-direction:column;align-items:center;text-align:center;gap:6px}

  /* Hero & content centered */
  .hero-inner > div:first-child{text-align:center}
  .hero-inner .badge{margin-left:auto;margin-right:auto}
}

/* ═══════════════════════════════════════════════════
   MOBILE RESPONSIVE OVERHAUL — full-width safety
   ═══════════════════════════════════════════════════ */

/* Global overflow guards (all viewports) */
img,svg,video{max-width:100%;height:auto}
h1,h2,h3{overflow-wrap:break-word}

@media (max-width: 640px){
  /* THE FIX: hero h1 was 42px → "Bilanzbuchhaltung" wider than iPhone screen.
     Scale to viewport + German hyphenation */
  h1{font-size:clamp(30px,8.6vw,40px);line-height:1.08;hyphens:auto;-webkit-hyphens:auto;word-break:break-word}
  h2{font-size:clamp(24px,6.8vw,32px);line-height:1.15;hyphens:auto;-webkit-hyphens:auto;word-break:break-word}
  h3{font-size:clamp(18px,5.4vw,22px);hyphens:auto;-webkit-hyphens:auto}

  /* Eyebrow / kicker text wraps cleanly */
  .eyebrow{font-size:11px;letter-spacing:2px;line-height:1.6}

  /* Language pill badge (Deutsch•Română•English•…) must wrap, not overflow */
  .badge{white-space:normal;overflow-wrap:anywhere;line-height:1.7;text-align:center}
  .footer-languages{white-space:normal;overflow-wrap:anywhere;line-height:2;border-radius:18px;padding:10px 14px}

  /* Stamp under portrait centered */
  .stamp{display:block;margin-left:auto;margin-right:auto;text-align:center;max-width:max-content}

  /* Hero buttons full-width, centered */
  .hero-ctas,.hero-actions{justify-content:center}
  .btn{text-align:center}

  /* Section leads centered with content */
  .section-lead{text-align:left}

  /* Forms: full width, no overflow */
  input,select,textarea{max-width:100%;box-sizing:border-box}
  .form-grid{grid-template-columns:1fr}

  /* Contact + service cards: consistent inner padding */
  .service,.info-card,.contact-card,.form-wrap{box-sizing:border-box;max-width:100%}

  /* Tables or wide content scroll inside, never push page */
  .legal-card table{display:block;overflow-x:auto}

  /* Absolute final guard: nothing escapes horizontally */
  html,body{max-width:100vw;overflow-x:clip}
}

/* Tablet range polish (641-980px) */
@media (min-width: 641px) and (max-width: 980px){
  h1{font-size:clamp(38px,6.5vw,56px);hyphens:auto;-webkit-hyphens:auto}
  h2{font-size:clamp(28px,5vw,40px)}
  .badge{white-space:normal}
}

@media (max-width: 640px){
  .trust-cta{min-width:0;width:100%;justify-self:stretch}
}
