/* =========================================================
   Teissl Premium UI (overrides)
   Drop-in file: /assets/css/teissl-premium.css
   ========================================================= */

:root{
  --teissl-ink:#0b1220;
  --teissl-ink-2:#1b2a44;
  --teissl-muted:#5b6b86;
  --teissl-line:rgba(11,18,32,.08);
  --teissl-card:rgba(255,255,255,.92);
  --teissl-card-2:rgba(255,255,255,.78);
  --teissl-glow:rgba(58,139,3,.18);
  --teissl-accent:#3a8b03;
  --teissl-accent-2:#1c9bd6;
  --teissl-radius:22px;
}

html, body{
  scroll-behavior:smooth;
}

body{
  background:
    radial-gradient(1200px 500px at 12% -10%, rgba(28,155,214,.16), transparent 55%),
    radial-gradient(900px 500px at 88% 0%, rgba(58,139,3,.14), transparent 55%),
    linear-gradient(180deg, rgba(247,250,255,1) 0%, rgba(248,250,252,1) 40%, rgba(244,247,251,1) 100%);
  color:var(--teissl-ink);
}

/* Typography polish */
h1,h2,h3,h4,h5,h6{
  letter-spacing:-0.02em;
}
p{
  color:var(--teissl-muted);
}
.section-title p{
  max-width: 860px;
  margin-left:auto;
  margin-right:auto;
}

/* Navbar: glass + subtle shadow */
.navbar-section.is-sticky,
.techvio-nav .navbar{
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.navbar-section.is-sticky{
  box-shadow: 0 14px 40px rgba(11,18,32,.10);
  border-bottom: 1px solid rgba(255,255,255,.6);
}
.techvio-nav{
  border-bottom: 1px solid rgba(255,255,255,.55);
}
.navbar-nav .nav-link{
  font-weight: 700;
}
.navbar-nav .dropdown-menu{
  border-radius: 16px;
  border: 1px solid var(--teissl-line);
  box-shadow: 0 18px 48px rgba(11,18,32,.18);
  overflow:hidden;
}
.navbar-nav .dropdown-menu .nav-link{
  font-weight: 700;
}
.navbar-nav .dropdown-menu .nav-link:hover{
  background: rgba(58,139,3,.08);
}

/* Buttons: premium gradient */
.default-btn,
.default-btn-one,
.default-btn-two,
.default-btn-three,
.default-btn-four{
  border-radius: 999px !important;
  box-shadow: 0 14px 34px rgba(58,139,3,.16);
}
.default-btn{
  background: linear-gradient(135deg, var(--teissl-accent) 0%, #2fb54f 100%) !important;
}
.default-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 44px rgba(58,139,3,.22);
}
.default-btn-two{
  border-radius: 999px !important;
}
.default-btn-two:hover{
  transform: translateY(-1px);
}

/* Card system: used across services + custom sections */
.service-item,
.single-services-three-item,
.features-single-item,
.workprocess-single-item,
.overview-content,
.contact-form,
.single-footer-widget{
  border-radius: var(--teissl-radius);
}

.service-item{
  background: var(--teissl-card);
  border: 1px solid var(--teissl-line);
  box-shadow: 0 14px 34px rgba(11,18,32,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.service-item:hover{
  transform: translateY(-3px);
  border-color: rgba(58,139,3,.18);
  box-shadow: 0 20px 56px rgba(11,18,32,.14);
}
.service-icon{
  filter: drop-shadow(0 10px 22px rgba(11,18,32,.12));
}
.service-link{
  font-weight: 800;
}

/* Home "Leistungen" cards */
.single-services-three-item{
  background: var(--teissl-card);
  border: 1px solid var(--teissl-line);
  box-shadow: 0 14px 34px rgba(11,18,32,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.single-services-three-item:hover{
  transform: translateY(-3px);
  border-color: rgba(28,155,214,.22);
  box-shadow: 0 20px 56px rgba(11,18,32,.14);
}

/* Hero section for Finanzexperte */
.teissl-hero{
  position: relative;
  padding: 88px 0 56px;
  overflow:hidden;
  background:
    radial-gradient(800px 420px at 15% 20%, rgba(28,155,214,.22), transparent 60%),
    radial-gradient(900px 520px at 80% 10%, rgba(58,139,3,.18), transparent 60%),
    linear-gradient(135deg, #0b1220 0%, #10223d 45%, #0b1220 100%);
  color: #fff;
}
.teissl-hero:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(700px 360px at 30% 40%, rgba(255,255,255,.10), transparent 55%),
    radial-gradient(500px 260px at 70% 60%, rgba(255,255,255,.08), transparent 55%);
  pointer-events:none;
}
.teissl-hero .container{ position:relative; z-index:1; }
.teissl-hero h1{
  color:#fff;
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: 1.1;
  margin-bottom: 14px;
}
.teissl-hero p{
  color: rgba(255,255,255,.82);
  font-size: 1.05rem;
  max-width: 760px;
}
.teissl-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 18px;
}
.teissl-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.92);
  font-weight: 800;
  font-size: .90rem;
}
.teissl-hero-card{
  margin-top: 26px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 26px;
  padding: 18px;
}
.teissl-hero-card .mini{
  color: rgba(255,255,255,.78);
  font-weight: 700;
  font-size: .95rem;
}

/* Premium list */
.teissl-checklist{
  list-style:none;
  padding:0;
  margin: 0;
}
.teissl-checklist li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding: 10px 0;
  border-bottom: 1px solid rgba(11,18,32,.06);
}
.teissl-checklist li:last-child{ border-bottom:none; }
.teissl-check{
  width:22px;
  height:22px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(58,139,3,.12);
  border: 1px solid rgba(58,139,3,.22);
  color: var(--teissl-accent);
  font-weight: 900;
  flex: 0 0 auto;
  margin-top: 2px;
}

/* Disclaimer box */
.teissl-disclaimer{
  background: rgba(245,247,251,.95);
  border: 1px solid rgba(11,18,32,.10);
  border-left: 6px solid rgba(28,155,214,.55);
  border-radius: 18px;
  padding: 16px 16px;
  box-shadow: 0 10px 26px rgba(11,18,32,.08);
}
.teissl-disclaimer p{
  margin:0;
  font-size: .95rem;
}

/* Footer: a bit cleaner */
.footer-area{
  border-top: 1px solid rgba(255,255,255,.10);
}
.single-footer-widget{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  padding: 18px;
}

/* Better spacing on small screens */
@media (max-width: 991px){
  .teissl-hero{ padding: 68px 0 46px; }
  .navbar-brand img{ max-height: 44px; }
  .section-padding{ padding: 70px 0; }
}
@media (max-width: 767px){
  .teissl-hero p{ font-size: 1rem; }
  .teissl-badge{ width: 100%; justify-content:center; }
  .service-item{ padding: 22px; }
}

/* =========================================================
   Finanzexperte – Luxury cards + Trust callout (2026-02)
   ========================================================= */

.teissl-lux-service{
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.84) 100%);
  border: 1px solid rgba(11,18,32,.10);
  box-shadow: 0 18px 60px rgba(11,18,32,.10);
}
.teissl-lux-service:before{
  content:"";
  position:absolute;
  inset:-70px;
  background:
    radial-gradient(260px 260px at 18% 0%, rgba(28,155,214,.28), transparent 60%),
    radial-gradient(260px 260px at 92% 10%, rgba(58,139,3,.20), transparent 60%),
    radial-gradient(320px 320px at 40% 110%, rgba(122,92,255,.16), transparent 60%);
  pointer-events:none;
}
.teissl-lux-service > *{
  position:relative;
  z-index:1;
}
.teissl-lux-service .service-icon{
  width: 60px;
  height: 60px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(11,18,32,.08);
  box-shadow: 0 14px 34px rgba(11,18,32,.10);
  margin-bottom: 18px;
}
.teissl-lux-service .service-icon i{
  font-size: 26px;
}
.teissl-lux-top{
  display:flex;
  align-items:center;
  gap: 10px;
  margin-bottom: 14px;
}
.teissl-lux-step{
  width: 42px;
  height: 30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  background: rgba(11,18,32,.06);
  border: 1px solid rgba(11,18,32,.10);
  color: var(--teissl-ink);
  font-weight: 900;
  letter-spacing: .08em;
  font-size: .82rem;
}
.teissl-lux-label{
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .78rem;
  color: rgba(11,18,32,.62);
}
.teissl-lux-service .service-content h4{
  margin-bottom: 10px;
}
.teissl-lux-service .service-content p{
  margin-bottom: 14px;
}
.teissl-lux-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap: 10px;
}
.teissl-lux-list li{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(11,18,32,.08);
}
.teissl-lux-list li i{
  margin-top: 2px;
  color: var(--teissl-accent);
}
.teissl-lux-list li span{
  font-weight: 700;
  color: var(--teissl-ink-2);
}
@media (max-width: 767px){
  .teissl-lux-service .service-icon{
    width: 54px;
    height: 54px;
    border-radius: 16px;
  }
  .teissl-lux-list li{
    padding: 10px 10px;
  }
}

/* Trust / Proof of Funds callout */
.teissl-trust-card{
  position: relative;
  overflow:hidden;
  border-radius: 30px;
  padding: 34px 30px;
  background:
    radial-gradient(700px 360px at 18% 0%, rgba(28,155,214,.22), transparent 60%),
    radial-gradient(780px 420px at 82% 10%, rgba(58,139,3,.18), transparent 60%),
    linear-gradient(135deg, #0b1220 0%, #10223d 45%, #0b1220 100%);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 26px 90px rgba(11,18,32,.18);
  color: #fff;
}
.teissl-trust-card:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(420px 220px at 30% 40%, rgba(255,255,255,.10), transparent 60%),
    radial-gradient(340px 220px at 70% 70%, rgba(255,255,255,.08), transparent 60%);
  pointer-events:none;
}
.teissl-trust-card > *{ position:relative; z-index:1; }
.teissl-trust-card h3{
  color:#fff;
  font-size: clamp(20px, 2.2vw, 28px);
  margin-bottom: 10px;
}
.teissl-trust-card p{
  color: rgba(255,255,255,.82);
  margin-bottom: 0;
}
.teissl-trust-kicker{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.92);
  font-weight: 900;
  font-size: .86rem;
  margin-bottom: 12px;
}
.teissl-trust-list{
  margin-top: 16px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}
.teissl-trust-list .item{
  display:flex;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
}
.teissl-trust-list .item i{
  margin-top: 2px;
  color: rgba(255,255,255,.92);
}
.teissl-trust-list .item span{
  color: rgba(255,255,255,.86);
  font-weight: 700;
}
.trust-action{
  text-align: right;
}
.teissl-trust-note{
  margin-top: 10px;
  color: rgba(255,255,255,.70);
  font-weight: 800;
  font-size: .92rem;
}
@media (max-width: 991px){
  .teissl-trust-card{ padding: 26px 20px; }
  .teissl-trust-list{ grid-template-columns: 1fr; }
  .trust-action{ text-align:left; margin-top: 18px; }
}


/* =========================================================
   Ultra Luxury – Finanzexperte (Gold Edition + Micro Motion)
   Scope: wrap page with .teissl-finanz
   ========================================================= */

.teissl-finanz{
  --teissl-accent: #d6b45a;        /* luxury gold */
  --teissl-accent-2: #8ad8ff;      /* platinum/ice highlight */
  --teissl-glow: rgba(214,180,90,.24);
}

/* Hero: deeper private-banking look */
.teissl-finanz .teissl-hero{
  background:
    radial-gradient(900px 520px at 18% 10%, rgba(214,180,90,.20), transparent 60%),
    radial-gradient(820px 480px at 86% 0%, rgba(138,216,255,.16), transparent 60%),
    linear-gradient(135deg, #070b12 0%, #0b1b31 45%, #070b12 100%);
}

.teissl-finanz .teissl-badge{
  background: rgba(214,180,90,.10);
  border-color: rgba(214,180,90,.22);
}
.teissl-finanz .teissl-badge i{
  color: rgba(255,255,255,.92);
}

/* Page-only button styling (gold gradient) */
.teissl-finanz .default-btn{
  background: linear-gradient(135deg, #d6b45a 0%, #f0dc9a 55%, #c79a34 100%) !important;
  box-shadow: 0 18px 44px rgba(214,180,90,.20);
}
.teissl-finanz .default-btn:hover{
  box-shadow: 0 24px 60px rgba(214,180,90,.26);
}

.teissl-finanz .default-btn-two{
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(214,180,90,.34) !important;
  color: rgba(255,255,255,.92) !important;
  box-shadow: 0 18px 44px rgba(11,18,32,.18);
}
.teissl-finanz .default-btn-two:hover{
  background: rgba(214,180,90,.14) !important;
  box-shadow: 0 24px 60px rgba(214,180,90,.18);
}



.teissl-finanz .teissl-hero-card{
  border-color: rgba(214,180,90,.18);
  box-shadow: 0 28px 90px rgba(11,18,32,.22);
}
.teissl-finanz .teissl-check{
  background: rgba(214,180,90,.14);
  color: #c79a34;
  box-shadow: inset 0 0 0 1px rgba(214,180,90,.18);
}
.teissl-finanz .teissl-hero-card .mini{
  color: rgba(11,18,32,.64);
}

/* Luxury cards: shimmer border + refined icon glass */
.teissl-finanz .teissl-lux-service{
  border-color: rgba(214,180,90,.18);
  box-shadow: 0 20px 70px rgba(11,18,32,.11);
}
.teissl-finanz .teissl-lux-service:before{
  background:
    radial-gradient(260px 260px at 18% 0%, rgba(214,180,90,.28), transparent 60%),
    radial-gradient(260px 260px at 92% 10%, rgba(138,216,255,.18), transparent 60%),
    radial-gradient(320px 320px at 40% 110%, rgba(255,255,255,.14), transparent 60%);
}

.teissl-finanz .teissl-lux-service:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(120deg,
    rgba(214,180,90,.75),
    rgba(138,216,255,.30),
    rgba(214,180,90,.18),
    rgba(255,255,255,.20),
    rgba(214,180,90,.55)
  );
  background-size: 260% 260%;
  opacity: .65;
  pointer-events:none;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  animation: teisslShimmer 7s linear infinite;
}

.teissl-finanz .teissl-lux-service .service-icon{
  background: rgba(255,255,255,.82);
  border-color: rgba(214,180,90,.18);
}
.teissl-finanz .teissl-lux-service .service-icon i{
  color: #c79a34;
  filter: drop-shadow(0 10px 22px rgba(214,180,90,.18));
}

.teissl-finanz .teissl-lux-step{
  background: linear-gradient(135deg, rgba(214,180,90,.20), rgba(240,220,154,.30));
  border-color: rgba(214,180,90,.28);
  color: rgba(11,18,32,.88);
}
.teissl-finanz .teissl-lux-label{
  color: rgba(11,18,32,.58);
}

/* Features tiles on this page: bring them to the same luxury level */
.teissl-finanz .features-single-item{
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.82));
  border: 1px solid rgba(11,18,32,.10);
  box-shadow: 0 18px 60px rgba(11,18,32,.09);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.teissl-finanz .features-single-item:hover{
  transform: translateY(-3px);
  border-color: rgba(214,180,90,.22);
  box-shadow: 0 24px 80px rgba(11,18,32,.14);
}
.teissl-finanz .features-single-item .features-icon{
  filter: drop-shadow(0 14px 30px rgba(214,180,90,.18));
}
.teissl-finanz .features-single-item .features-icon i{
  color: #c79a34;
}


.teissl-finanz .teissl-trust-grid .item i{
  color: rgba(214,180,90,.92);
}
.teissl-finanz .teissl-trust-note{
  color: rgba(255,255,255,.75);
}

/* Trust card: gold shimmer + refined CTA */
.teissl-finanz .teissl-trust-card{
  border-color: rgba(214,180,90,.22);
  background:
    radial-gradient(860px 420px at 18% 0%, rgba(214,180,90,.22), transparent 60%),
    radial-gradient(820px 420px at 82% 10%, rgba(138,216,255,.14), transparent 60%),
    linear-gradient(135deg, #070b12 0%, #0b1b31 45%, #070b12 100%);
  box-shadow: 0 28px 100px rgba(11,18,32,.20);
}

.teissl-finanz .teissl-trust-card:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(120deg,
    rgba(214,180,90,.70),
    rgba(255,255,255,.22),
    rgba(138,216,255,.20),
    rgba(214,180,90,.18),
    rgba(214,180,90,.58)
  );
  background-size: 240% 240%;
  opacity: .55;
  pointer-events:none;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  animation: teisslShimmer 8s linear infinite;
}

.teissl-finanz .teissl-trust-kicker{
  background: rgba(214,180,90,.12);
  border-color: rgba(214,180,90,.22);
}

/* Reveal / micro motion */
.teissl-reveal{
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .55s ease, transform .55s ease;
  will-change: opacity, transform;
}
.teissl-reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce){
  .teissl-reveal{ opacity: 1; transform:none; transition:none; }
  .teissl-finanz .teissl-lux-service:after,
  .teissl-finanz .teissl-trust-card:after{
    animation: none;
  }
}

@media (prefers-reduced-motion: no-preference){
  .teissl-finanz .teissl-lux-service:hover{
    transform: translateY(-6px);
    box-shadow: 0 34px 110px rgba(11,18,32,.16);
  }
  .teissl-finanz .teissl-lux-service:hover:before{
    transform: scale(1.02);
    opacity: .98;
  }
  .teissl-finanz .teissl-badge{
    transition: transform .18s ease, box-shadow .18s ease;
  }
  .teissl-finanz .teissl-badge:hover{
    transform: translateY(-2px);
    box-shadow: 0 18px 40px rgba(214,180,90,.18);
  }
}

@keyframes teisslShimmer{
  0%{ background-position: 0% 50%; }
  100%{ background-position: 200% 50%; }
}
