:root {
  --btn-bg: var(--theme-color1);
  --btn-text: var(--theme-color1-text-color);
  --btn-hover-bg: var(--theme-color3);
  --btn-hover-text: var(--theme-color3-text-color);
  --btn-outline-text: var(--theme-color1-text-color);
  --band-bg: #DFEDDF;
  --cta-box-bg: #064737;
  --blob-rgb: var(--theme-color1-rgb);
  --faq-shadow-rgb: 169, 255, 155;
  --orn-strong: rgb(88, 139, 26);
  --orn-soft: rgb(194, 214, 196);
  --stage-bg: #000;
  --glow-1: 0, 142, 116;
  --glow-1b: 1, 65, 64;
  --glow-2: 184, 32, 169;
  --glow-3: 1, 59, 19;
  --uc-active-text: #042125;
  --line: rgba(var(--theme-color3-rgb), 0.1);
  --shadow: 10px 4px 60px 0 rgba(var(--theme-color3-rgb), 0.1);
  --shadow-strong: 10px 4px 60px 0 rgba(var(--theme-color3-rgb), 0.2);
  --error: #C2262B;
  --status-open: #23874B;
  --status-closed: var(--error);
}
html { scroll-padding-top: 96px; }
.page-wrapper { overflow-x: clip; }
.container { --bs-gutter-x: 30px; }
.line-shape-animation span { background: rgba(var(--theme-color3-rgb), 0.1); }
p a, .text a { color: var(--theme-color3); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
p a:hover, .text a:hover { color: var(--theme-color3); text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible, input:focus-visible + span, .acc-btn:focus-visible { outline: 2px solid var(--headings-color) !important; outline-offset: 3px; }
.on-dark a:focus-visible, .on-dark button:focus-visible { outline-color: #fff !important; }
.sec-title .h1 { font-size: clamp(34px, 2.2vw + 26px, 62px); letter-spacing: -0.03em; line-height: 1.14; text-wrap: balance; }
.sec-title .h1 span { display: block; }
.sec-title .h1 span.plain { font-family: var(--sec-title-font-family); font-style: normal; }
.sec-title .title { font-size: clamp(28px, 1.9vw + 20px, 46px); letter-spacing: -0.03em; line-height: 1.18; text-wrap: balance; }
.sec-title .sub-title { text-transform: none; line-height: 1.25; }
.sec-title .sub-title span { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; font-size: 12px; }
.sec-title .text { font-size: 16px; }
.sec-title.narrow { max-width: 860px; margin-left: auto; margin-right: auto; }
.sec-title .text.lead { font-size: 18px; line-height: 1.6; color: var(--headings-color); }
.h5.title, .h6.title { text-wrap: balance; }
.lead-text { font-size: 18px; line-height: 1.6; color: var(--headings-color); }
.aside-note { font-size: 15px; line-height: 1.6; color: var(--text-color); max-width: 56em; margin: 0; }
.brand::before { content: ""; flex: none; width: 1.6em; height: 1.6em; background: url(../images/logo.svg) center / contain no-repeat; }
.main-header .brand { display: flex; align-items: center; gap: 10px; font-family: var(--heading-font-family); font-weight: 700; font-size: 26px; line-height: 1; letter-spacing: -0.03em; color: var(--headings-color); white-space: nowrap; }
.header-style-one .logo-box .logo { width: auto; }
@media (max-width: 359.98px) { .main-header .brand { font-size: 21px; } .mobile-nav-toggler { margin-left: 8px; } }
.header-style-one .header-lower .main-box { gap: clamp(28px, 4vw, 67px); }
.header-style-one .action-box { gap: 14px; }
.main-menu .navigation > li > a { white-space: nowrap; }
.main-menu .navigation > li > a[aria-current="page"], .main-menu .navigation > li > a.nav-drop.is-current { color: var(--theme-color3); }
.main-header .header-lower .main-box, .header-style-one .header-lower .main-box .nav-outer, .main-header .nav-outer, .main-header .main-menu, .main-header .main-menu .navigation,
.main-header .main-menu .navigation > li.dropdown, .sticky-header .inner-container { position: static; }
.main-menu .navigation > li.dropdown { margin-right: 74px; }
.main-menu .navigation > li.dropdown:focus-within > ul, .main-menu .navigation > li.dropdown.is-open > ul { visibility: visible; opacity: 1; margin-top: 0; }
.main-menu .navigation > li > ul.branch-menu { top: 100%; left: 0; right: 0; width: auto; padding: 28px max(15px, calc((100% - 1630px) / 2)) 32px; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: auto; gap: 16px; border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; background-color: var(--theme-color-white); box-shadow: 0 30px 40px -30px rgba(var(--theme-color3-rgb), 0.25); }
.main-menu .navigation > li > ul.branch-menu::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 16px; }
.main-menu .navigation > li > ul.branch-menu > li { width: auto; border-bottom: 0; }
.main-menu .navigation > li > ul.branch-menu > li > a { display: flex; align-items: center; justify-content: space-between; gap: 14px; height: 100%; margin: 0; padding: 22px 22px; border: 1px solid var(--line); border-radius: 10px; background-color: var(--body-bg); font-size: 17px; line-height: 1.3; font-weight: 600; color: var(--headings-color); text-transform: none; }
.main-menu .navigation > li > ul.branch-menu > li > a::after { content: "\f061"; flex: none; font-family: "Font Awesome 6 Pro"; font-weight: 300; font-size: 15px; color: var(--theme-color3); opacity: 0; transform: translateX(-6px); transition: all 200ms ease; }
.main-menu .navigation > li > ul.branch-menu > li > a:hover, .main-menu .navigation > li > ul.branch-menu > li > a:focus-visible { border-color: var(--theme-color3); background-color: var(--theme-color-white); color: var(--theme-color3); }
.main-menu .navigation > li > ul.branch-menu > li > a:hover::after, .main-menu .navigation > li > ul.branch-menu > li > a:focus-visible::after { opacity: 1; transform: none; }
.main-menu .navigation > li > ul.branch-menu > li > a[aria-current="page"] { border-color: var(--theme-color3); color: var(--theme-color3); }
.sticky-header .main-menu .navigation > li.dropdown { margin-right: 58px; }
@media (max-width: 1199.98px) { .main-menu .navigation > li { margin-right: 24px; } .main-menu .navigation > li.dropdown { margin-right: 46px; } .main-menu .navigation > li:last-child { margin-right: 0; } }
.mobile-menu .navigation li > ul.branch-menu > li > a { text-transform: none; }
.main-menu .navigation > li > ul.wissen-menu > li > a { padding: 16px 20px; }
.wissen-menu .menu-item { display: flex; flex-direction: column; gap: 4px; }
.wissen-menu .menu-sub { font-size: 14px; line-height: 1.4; font-weight: 400; color: var(--text-color); text-transform: none; letter-spacing: 0; }
.mobile-menu .wissen-menu .menu-sub { display: block; font-size: 13px; opacity: 0.8; }
.header-btn-main { white-space: nowrap; color: var(--btn-text); background-color: var(--btn-bg); }
.header-btn-main:before { background-color: var(--btn-hover-bg); }
.header-btn-main:hover { color: var(--btn-hover-text); }
.header-btn-main.header-btn-outline { background-color: var(--theme-color-white); color: var(--btn-outline-text); box-shadow: inset 0 0 0 2px var(--btn-bg); }
.header-btn-main.header-btn-outline:before { background-color: var(--btn-bg); }
.header-btn-main.header-btn-outline:hover { color: var(--btn-text); }
.main-header .header-btn .header-btn-main { display: block; }
.main-header .header-phone { display: none; }
@media (min-width: 1400px) { .main-header .header-phone { display: inline-flex; } }
button.mobile-nav-toggler { background: none; padding: 6px 4px; line-height: 1; color: var(--headings-color); }
.sticky-header .mobile-nav-toggler { color: var(--headings-color); }
.sticky-header .logo { padding: 16px 0; }
.sticky-header .main-menu .navigation > li { margin-left: 0; margin-right: 44px; }
.sticky-header .main-menu .navigation > li:last-child { margin-right: 0; }
.main-menu .navigation > li.nav-login > a { padding-left: 24px; border-left: 1px solid rgba(var(--theme-color3-rgb), 0.18); }
.main-menu .navigation > li.nav-login > a { gap: 8px; }
.main-menu .navigation > li.nav-login > a i { font-size: 18px; }
.mobile-menu .navigation li.nav-login > a i { margin-right: 10px; }
.sticky-header .nav-login .nav-login-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (min-width: 1200px) {
  .main-menu .navigation > li { margin-right: 32px; }
  .main-menu .navigation > li.dropdown { margin-right: 56px; }
  .main-menu .navigation > li:last-child { margin-right: 0; }
  .sticky-header .main-menu .navigation > li { margin-right: 28px; }
  .sticky-header .main-menu .navigation > li.dropdown { margin-right: 50px; }
  .sticky-header .main-menu .navigation > li:last-child { margin-right: 0; }
  .sticky-header .main-menu .navigation > li.nav-login > a { padding-left: 20px; }
}
@media (min-width: 1800px) {
  .main-menu .navigation > li { margin-right: 48px; }
  .main-menu .navigation > li.dropdown { margin-right: 66px; }
  .main-menu .navigation > li:last-child { margin-right: 0; }
  .sticky-header .main-menu .navigation > li { margin-right: 28px; }
  .sticky-header .main-menu .navigation > li.dropdown { margin-right: 50px; }
  .sticky-header .main-menu .navigation > li:last-child { margin-right: 0; }
}
@media (min-width: 1200px) and (max-width: 1439.98px) {
  .main-menu .navigation > li { margin-right: 26px; }
  .main-menu .navigation > li.dropdown { margin-right: 50px; }
  .main-menu .navigation > li:last-child { margin-right: 0; }
  .main-menu .navigation > li.nav-login > a { padding-left: 20px; }
  .main-menu .navigation > li.nav-login .nav-login-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .sticky-header .main-menu .navigation > li { margin-right: 22px; }
  .sticky-header .main-menu .navigation > li.dropdown { margin-right: 44px; }
  .sticky-header .main-menu .navigation > li:last-child { margin-right: 0; }
  .sticky-header .main-menu .navigation > li.nav-login > a { padding-left: 16px; }
}
.sticky-header .nav-outer { display: flex; align-items: center; }
.sticky-header .action-box { display: flex; align-items: center; gap: 14px; }
@media (max-width: 767.98px) { .sticky-header .action-box { display: none; } }
@media (min-width: 768px) and (max-width: 1023.98px) { .sticky-header .inner-container { justify-content: flex-start; } .sticky-header .logo { margin-right: auto; } .sticky-header .nav-outer { order: 3; } }
.mobile-menu .brand { color: #fff; font-family: var(--heading-font-family); font-weight: 700; font-size: 22px; letter-spacing: -0.03em; display: inline-flex; align-items: center; gap: 10px; }
.mobile-menu button.close-btn { background: none; padding: 8px; }
.mobile-menu .navigation li > a { text-transform: none; }
.mobile-menu .mobile-cta { padding: 26px 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.mobile-menu .mobile-cta .mobile-phone { color: #fff; font-weight: 600; font-size: 18px; }
.mobile-menu .mobile-cta .mobile-phone:hover { color: var(--theme-color1); }
.btn-style-one { color: var(--btn-text); background-color: var(--btn-bg); }
.btn-style-one:before { background-color: var(--btn-hover-bg); }
.btn-style-one:hover { color: var(--btn-hover-text); }
button.btn-style-one, button.btn-style-three { font-family: var(--body-font-family); }
.on-dark { --btn-bg: var(--theme-color1); --btn-text: var(--theme-color1-text-color); }
.btn-style-three.outlined { box-shadow: inset 0 0 0 1px var(--line); }
.button-box { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.button-box.center { justify-content: center; }
.cta-note { font-size: 15px; line-height: 1.6; color: var(--text-color); margin: 22px 0 0; }
.cta-note a { color: var(--headings-color); }
.cta-note a[href^="tel:"] { white-space: nowrap; }
.nobr, .sec-title .title span.nobr { white-space: nowrap; font-family: inherit; font-style: inherit; font-weight: inherit; letter-spacing: inherit; }
.on-dark .cta-note { color: rgba(var(--theme-color-white-rgb), 0.7); }
.on-dark .cta-note a { color: var(--theme-color-white); }
.cta-note + .cta-note { margin-top: 6px; }
.more { margin-top: auto; align-self: flex-start; }
.blob { position: absolute; pointer-events: none; z-index: -1; border-radius: 50%; background: radial-gradient(closest-side, rgba(var(--blob-rgb), 0.5), rgba(var(--blob-rgb), 0)); }
.orn { position: absolute; pointer-events: none; display: block; background-color: var(--orn-soft); -webkit-mask: var(--orn) center / contain no-repeat; mask: var(--orn) center / contain no-repeat; }
.orn-7 { --orn: url(../images/icons/shape7.png); width: 71px; height: 71px; }
.orn-8 { --orn: url(../images/icons/shape8.png); width: 64px; height: 64px; }
.orn-10 { --orn: url(../images/icons/shape10.png); width: 83px; height: 83px; background-color: var(--orn-strong); }
.orn-11 { --orn: url(../images/icons/shape11.png); width: 68px; height: 68px; }
.orn-funkeln { --orn: url(../images/orn-funkeln.svg); width: 68px; height: 68px; }
@media (max-width: 1199.98px) { .orn { display: none; } }
.app-frame { position: relative; background: var(--theme-color-white); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-strong); overflow: hidden; text-align: left; }
.app-frame .bar { display: flex; align-items: center; gap: 7px; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.app-frame .bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--theme-color3); }
.app-frame .bar i:nth-child(2) { background: var(--theme-color1); }
.app-frame .bar i:nth-child(3) { background: rgba(var(--theme-color3-rgb), 0.18); }
.qa { padding: 28px 30px 32px; }
.qa-label { font-size: 13px; line-height: 1; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; color: var(--text-color); margin-bottom: 10px; }
.qa-ask { background: var(--theme-color-lighter2); border-radius: 14px 14px 14px 4px; padding: 16px 20px; font-size: 18px; line-height: 1.5; font-weight: 500; color: var(--headings-color); margin-bottom: 24px; }
.qa-answer { font-size: 18px; line-height: 1.55; color: var(--headings-color); }
.funds { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.fund { display: inline-flex; align-items: center; gap: 9px; padding: 5px 15px 5px 5px; border-radius: 30px; background: var(--theme-color-white); border: 1px solid var(--line); font-size: 14px; line-height: 1.3; font-weight: 500; color: var(--headings-color); }
.fund > i { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--theme-color1); color: var(--theme-color1-text-color); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; }
.qa-note { font-size: 14px; line-height: 1.5; color: var(--text-color); margin: 20px 0 0; }
@media (max-width: 575.98px) { .qa { padding: 22px 18px 24px; } .qa-ask, .qa-answer { font-size: 16px; } }
.banner-section-one { padding: clamp(60px, 7vw, 110px) 0 clamp(80px, 8vw, 120px); }
.banner-section-one .content-box .inner-box { max-width: 620px; }
.banner-section-one .content-box .inner-box .sec-title .text { line-height: 1.5; margin-top: 24px; margin-bottom: 34px; }
.banner-section-one .content-box .inner-box .button-box { flex-wrap: wrap; gap: 14px 20px; }
.hero .blob-a { width: 760px; height: 600px; left: 18%; bottom: -260px; opacity: 0.55; }
.hero--bau .hero-head { max-width: 1100px; margin-bottom: clamp(30px, 3.6vw, 56px); }
.hero--bau .hero-head .sub-title { margin-bottom: 16px; }
.hero--bau .content-box .inner-box .sec-title .text { margin-top: 0; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); }
.hero--split .hero-media { margin-top: 48px; }
@media (min-width: 1200px) {
  .hero-grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: 24px; grid-template-areas: "head head" "body media"; }
  .hero--split .hero-head { grid-area: head; }
  .hero--split .hero-body { grid-area: body; }
  .hero--split .hero-media { grid-area: media; margin-top: 0; }
}
@media (min-width: 1400px) {
  .hero-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 40px; grid-template-areas: "pill ." "h1 media" "body media"; grid-template-rows: auto auto 1fr; }
  .hero--split .hero-head { display: contents; }
  .hero--split .hero-head .sub-title { grid-area: pill; justify-self: start; }
  .hero--split .hero-head .h1 { grid-area: h1; }
  .hero--split .hero-body { margin-top: 28px; }
  .hero--split .hero-media { margin-top: 13px; margin-right: calc(-1 * clamp(0px, 50vw - 658px, 180px)); }
}
@media (max-width: 1199.98px) { .banner-section-one .content-box .inner-box { max-width: 760px; } }
.about-features-column .blob { width: 380px; height: 420px; left: -70px; bottom: -90px; opacity: 0.6; }
.about-features-box:last-child .inner-box { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.about-features-box .content .text { margin-bottom: 0; }
.about-section .sec-title .text { margin-top: 26px; }
@media (max-width: 1199.98px) { .about-section .sec-title { margin-bottom: 36px; } }
.services-section .inner-container { background-color: var(--band-bg); }
.services-section .inner-container .sec-title .text { margin-top: 22px; }
.band-deco .orn-10 { left: 76px; top: 70px; }
.band-deco .orn-11, .band-deco .orn-funkeln { left: 60px; bottom: 22px; }
.band-deco .orn-7 { right: 120px; top: 96px; }
.band-deco .orn-8 { right: 76px; bottom: 22px; }
.services-section .inner-container > .container, .services-section .inner-container > .sec-title { position: relative; z-index: 1; }
.services-section .inner-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 87px; }
.services-section .inner-row:before { display: none; }
.services-section .service-block { padding: 6px 0 44px; }
.service-block .inner-block { max-width: 300px; }
.service-block .icon i { display: inline-block; }
.service-block .text { margin-bottom: 0; color: rgba(var(--theme-color-white-rgb), 0.85); }
@media (min-width: 1200px) {
  .services-section .service-block:nth-child(n+4) { position: relative; padding: 50px 0 0; }
  .services-section .service-block:nth-child(n+4)::before { content: ""; position: absolute; top: 0; left: -200px; right: -200px; height: 1px; background-color: rgba(var(--theme-color-white-rgb), 0.1); }
}
@media (max-width: 1199.98px) { .services-section .inner-row { gap: 0 30px; } .services-section .service-block:nth-last-child(1) { padding-bottom: 0; } }
@media (max-width: 991.98px) { .services-section .inner-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .services-section .inner-row { grid-template-columns: minmax(0, 1fr); } .service-block .inner-block { max-width: none; } }
.after-box { margin-top: 26px; }
.perm-block { margin-top: clamp(64px, 8vw, 110px); }
.perm-block .sec-title .title { font-size: clamp(26px, 2.6vw, 36px); }
.links-row { display: flex; flex-wrap: wrap; gap: 8px 32px; }
.card-box { position: relative; display: flex; flex-direction: column; height: 100%; background-color: var(--theme-color-white); border: 1px solid var(--line); border-radius: 14px; padding: 30px; transition: all 300ms ease; }
.card-box .icon { flex: none; margin-bottom: 22px; }
.feature-box .icon i { line-height: inherit; font-size: 30px; }
.card-box .title { margin-bottom: 8px; }
.src-zone .src-zone-alt { color: var(--theme-color3); }
.card-box .title-sub { margin: -4px 0 8px; font-size: 14px; line-height: 1.4; font-weight: 600; color: var(--theme-color3); }
.card-box .text { margin-bottom: 0; max-width: none; color: var(--text-color); }
.card-box .text + .more { margin-top: 22px; }
.card-box .text:has(+ .more) { margin-bottom: auto; }
a.card-box:hover { box-shadow: var(--shadow-strong); transform: translateY(-4px); color: inherit; }
a.card-box:hover .more:before { width: 0; }
a.card-box:hover .icon i { transform: rotateY(360deg); }
.note-box { height: 100%; display: flex; align-items: center; background-color: var(--theme-color1); border-radius: 14px; padding: 30px 34px; font-size: 18px; line-height: 1.55; color: var(--theme-color1-text-color); margin: 0; }
.note-box b { font-weight: 600; }
@media (max-width: 575.98px) { .card-box { padding: 24px 22px; } .note-box { padding: 24px 22px; font-size: 16px; } }
.cta-section .outer-box { background-color: var(--cta-box-bg); padding: clamp(50px, 6vw, 80px) 0; z-index: 1; }
.cta-section .outer-box::before { content: ""; position: absolute; z-index: -1; left: -10%; right: 30%; bottom: -55%; height: 100%; border-radius: 50%; background: radial-gradient(closest-side, rgba(var(--glow-1), 0.75), rgba(var(--glow-1), 0)); pointer-events: none; }
.box-muster { position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; }
.box-muster--himmelskarte { background-color: rgba(var(--accent-3-rgb), 0.45); -webkit-mask: url(../images/background/muster-himmelskarte.svg) 50% 50% / cover no-repeat; mask: url(../images/background/muster-himmelskarte.svg) 50% 50% / cover no-repeat; }
.cta-section .outer-box::after { content: ""; position: absolute; z-index: -1; right: -8%; top: -60%; width: 48%; height: 120%; border-radius: 50%; background: radial-gradient(closest-side, rgba(var(--blob-rgb), 0.22), rgba(var(--blob-rgb), 0)); pointer-events: none; }
.cta-section .lead-text { color: var(--theme-color-white); margin-bottom: 16px; }
.cta-section .lead-text + p { color: rgba(var(--theme-color-white-rgb), 0.78); margin-bottom: 30px; }
.stage { background-color: var(--stage-bg); background-image: radial-gradient(60% 70% at 0% 0%, rgba(var(--glow-1b), 0.95) 0%, rgba(var(--glow-1b), 0) 70%), radial-gradient(55% 65% at 90% 100%, rgba(var(--glow-1), 0.95) 0%, rgba(var(--glow-1), 0) 70%); }
.stage.stage--closing { background-image: none; }
.stage.stage--sky { background-image: none; isolation: isolate; }
.cta-section-layout1 .outer-box { padding: clamp(76px, 8.5vw, 128px) 15px; }
.cta-section-layout1 .sec-title .text { margin-top: 20px; font-size: 18px; line-height: 1.6; }
.cta-section-layout1 .button-box { margin-top: 34px; }
.cta-section-layout1 .cta-note { text-align: center; }
.testimonial-section .outer-box { padding: clamp(70px, 8vw, 110px) 0; }
.testimonial-section .sec-title .text { margin-top: 16px; color: rgba(var(--theme-color-white-rgb), 0.7); }
.uc-tabs.progress-box-layout5 { max-width: 480px; }
.uc-tabs .block { margin-top: 20px; padding: 0 0 20px 24px; }
.uc-tabs .block:first-child { margin-top: 0; }
.uc-tabs .block.active-block { padding: 22px 24px 20px; margin-top: 0; }
.uc-tabs .block.active-block + .block { margin-top: 20px; }
.uc-tabs .block .acc-btn { display: block; width: 100%; background: none; text-align: left; font-family: var(--heading-font-family); font-size: 20px; line-height: 26px; }
.uc-tabs .block .acc-btn.active { color: var(--uc-active-text); }
.uc-tabs .block .acc-btn:not(.active):hover { color: var(--theme-color1); }
.uc-tabs .acc-content .content { padding-top: 8px; }
.uc-tabs .acc-content .content .text { font-size: 16px; }
.uc-panel[hidden] { display: none; }
.uc-panel:focus-visible { outline: 2px solid #fff !important; outline-offset: 4px; border-radius: 14px; }
.uc-panel .app-frame { box-shadow: none; }
@media (max-width: 991.98px) { .uc-tabs.progress-box-layout5 { max-width: none; margin-bottom: 6px; } .uc-tabs .block { margin-top: 14px; padding-bottom: 14px; } .uc-tabs .block .acc-btn { font-size: 18px; line-height: 24px; } }
.duo { background-color: var(--theme-color-white); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); padding: 10px clamp(20px, 3.4vw, 44px) 14px; }
.duo table { width: 100%; border-collapse: collapse; }
.duo th { padding: 24px 0 20px; width: 50%; text-align: left; }
.duo th span { display: inline-block; font-size: 14px; line-height: 1; font-weight: 500; padding: 8px 16px; border-radius: 30px; background-color: var(--theme-color1); color: var(--theme-color1-text-color); }
.duo th + th span { background-color: var(--theme-color3); color: var(--theme-color3-text-color); }
.duo td { padding: 22px 30px 22px 0; border-top: 1px solid var(--line); font-size: 18px; line-height: 1.5; font-weight: 500; color: var(--headings-color); vertical-align: top; }
.duo td + td { padding-right: 0; }
@media (max-width: 767.98px) {
  .duo thead { display: none; }
  .duo tr { display: block; padding: 18px 0; border-top: 1px solid var(--line); }
  .duo tr:first-child { border-top: 0; }
  .duo td { display: block; border: 0; padding: 6px 0; font-size: 16px; }
  .duo td::before { content: attr(data-label); display: inline-block; font-size: 13px; line-height: 1; font-weight: 500; padding: 6px 12px; border-radius: 30px; background-color: var(--theme-color1); color: var(--theme-color1-text-color); margin-right: 10px; }
  .duo td + td::before { background-color: var(--theme-color3); color: var(--theme-color3-text-color); }
}
.step-card .step-no { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; border: 1px solid var(--line); color: var(--theme-color3); font-size: 18px; font-weight: 600; line-height: 1; margin-bottom: 24px; transition: all 300ms ease; }
.step-card:hover .step-no { background-color: var(--theme-color3); color: var(--theme-color3-text-color); border-color: var(--theme-color3); }
.step-card .step-price { position: absolute; top: 43px; right: 30px; margin: 0; padding: 8px 14px; border-radius: 30px; background-color: var(--theme-color1); color: var(--theme-color1-text-color); font-size: 14px; line-height: 1; font-weight: 600; white-space: nowrap; }
@media (max-width: 575.98px) { .step-card .step-price { top: 37px; right: 22px; } }
.dark-card { position: relative; }
.dark-card .step-price { position: absolute; top: 37px; right: 30px; margin: 0; padding: 8px 14px; border-radius: 30px; background-color: var(--theme-color1); color: var(--theme-color1-text-color); font-size: 14px; line-height: 1; font-weight: 600; white-space: nowrap; }
@media (min-width: 992px) and (max-width: 1199.98px), (max-width: 575.98px) { .step-card .step-price, .dark-card .step-price { position: static; display: inline-block; margin-top: 16px; } }
.step-card:hover { background-color: color-mix(in srgb, var(--theme-color3) 6%, var(--theme-color-white)); }
.step-card .text.small { font-size: 14px; line-height: 1.6; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--headings-color); }
.steps-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; margin-top: 34px; }
.steps-foot .lead-text { margin: 0; font-weight: 500; }
.measure-steps { margin-top: clamp(30px, 3.6vw, 50px); margin-bottom: 0; padding-left: 0; list-style: none; }
.measure-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 30px; }
.measure-foot .cta-note { margin: 0; font-size: 16px; }
.cta-section.gap-after { padding-bottom: clamp(70px, 8.4vw, 120px) !important; }
.quality-card { margin-top: 30px; background-color: rgba(var(--theme-color-white-rgb), 0.7); -webkit-backdrop-filter: blur(60px); backdrop-filter: blur(60px); border-radius: 14px; padding: clamp(26px, 3.4vw, 50px); }
.quality-card .quality-title { font-size: clamp(24px, 1.2vw + 18px, 34px); line-height: 1.2; letter-spacing: -0.03em; font-weight: 600; margin: 0; text-wrap: balance; }
.quality-card .lead-text { margin: 0; }
.quality-card .quality-items { margin-top: clamp(26px, 3vw, 44px); padding-top: clamp(26px, 3vw, 40px); border-top: 1px solid var(--line); }
.quality-card .feature-box .text { max-width: none; color: var(--text-color); margin-bottom: 0; }
.faqs-section .outer-box { box-shadow: 10px 4px 60px 0 rgba(var(--faq-shadow-rgb), 0.149); }
.accordion-box .block .acc-btn { display: block; width: 100%; background: none; text-align: left; font-family: var(--heading-font-family); font-size: 18px; line-height: 26px; }
.accordion-box .block .acc-btn .icon { top: -7px; border-color: var(--line); }
.accordion-box .acc-content .content .text { margin-bottom: 0; padding-right: 20px; }
.accordion-box .block:last-child { margin-bottom: 0; }
@media (min-width: 1200px) { .faqs-section .accordion-box .block:last-child { border-bottom: 0; padding-bottom: 0; } }
@media (max-width: 1199.98px) { .faqs-section .row > div:last-child .accordion-box .block:last-child { border-bottom: 0; padding-bottom: 0; } }
@media (max-width: 575.98px) { .faqs-section .outer-box { padding: 30px 20px; } .accordion-box .block .acc-btn { font-size: 17px; padding-right: 62px; } }
@media (max-width: 991.98px) {
  .accordion-box .block .acc-btn, .uc-tabs .block .acc-btn { padding-top: 10px; padding-bottom: 10px; margin-top: -10px; margin-bottom: -10px; }
  .accordion-box .block .acc-btn .icon { top: 3px; }
}
.player { margin: 0; container-type: inline-size; }
.screen { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: var(--theme-color-white); font-family: var(--heading-font-family); color: var(--headings-color); font-size: clamp(10px, 1.55cqi, 19px); line-height: 1.45; user-select: none; text-align: left; }
.screen .app-bar { position: absolute; inset: 0 0 auto 0; height: 9%; display: flex; align-items: center; gap: 0.6em; padding: 0 3.2%; border-bottom: 1px solid var(--line); font-weight: 600; font-size: 0.92em; }
.screen .app-bar i { width: 0.7em; height: 0.7em; border-radius: 50%; background: var(--theme-color3); display: inline-block; }
.screen .app-bar span + span { margin-left: auto; font-weight: 500; color: var(--text-color); font-size: 0.9em; }
.pane-ask { position: absolute; top: 9%; bottom: 0; left: 0; width: 54%; padding: 4.5% 4% 4% 5%; }
.pane-doc { position: absolute; top: 9%; bottom: 0; right: 0; width: 46%; background: var(--theme-color-lighter2); border-left: 1px solid var(--line); overflow: hidden; }
.screen .q { display: flex; gap: 0.7em; align-items: flex-start; padding: 0.85em 1em; border: 2px solid var(--theme-color3); border-radius: 0.9em; background: var(--theme-color-white); min-height: 5.4em; font-weight: 500; }
.screen .q svg { width: 1.1em; height: 1.1em; flex: none; margin-top: 0.2em; color: var(--theme-color3); }
.q-text::after { content: ""; display: inline-block; width: 1.5px; height: 1.1em; background: var(--headings-color); vertical-align: -0.18em; margin-left: 1px; animation: blink 1s steps(1) infinite; }
.screen.has-answer .q-text::after { display: none; }
@keyframes blink { 50% { opacity: 0; } }
.thinking { display: flex; gap: 0.35em; margin: 1.4em 0 0 0.2em; opacity: 0; }
.thinking span { width: 0.45em; height: 0.45em; border-radius: 50%; background: var(--theme-color3); animation: pulse 1s ease-in-out infinite; }
.thinking span:nth-child(2) { animation-delay: 0.15s; }
.thinking span:nth-child(3) { animation-delay: 0.3s; }
@keyframes pulse { 50% { opacity: 0.25; } }
.screen.is-thinking .thinking { opacity: 1; }
.screen .answer { margin-top: 1.3em; opacity: 0; transform: translateY(0.4em); transition: opacity 0.45s ease, transform 0.45s ease; }
.screen.has-answer .thinking { display: none; }
.screen.has-answer .answer { opacity: 1; transform: none; }
.answer-label { font-size: 0.8em; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--text-color); margin-bottom: 0.3em; }
.screen .answer p { font-family: inherit; font-size: 1.12em; line-height: 1.45; color: var(--headings-color); margin: 0; font-weight: 500; }
.screen .answer p b { font-weight: 700; }
.screen .fund { margin-top: 1em; font-size: 0.92em; padding: 0.45em 1em 0.45em 0.8em; gap: 0.5em; background: var(--theme-color-lighter2); transition: background-color 0.15s ease, transform 0.15s ease; }
.screen .fund svg { width: 1em; height: 1em; flex: none; color: var(--theme-color3); }
.screen .fund small { font-size: 1em; color: var(--text-color); font-weight: 500; }
.screen.is-clicking .fund { background: var(--theme-color1); transform: scale(0.97); }
.doc-empty { position: absolute; inset: 0; display: grid; place-items: center; text-align: center; padding: 10%; color: var(--text-color); font-size: 0.9em; transition: opacity 0.3s ease; }
.doc-empty svg { width: 2.2em; height: 2.2em; margin: 0 auto 0.6em; opacity: 0.55; display: block; }
.screen.has-scan .doc-empty { opacity: 0; }
.scan { position: absolute; left: 9%; right: 7%; top: 7%; height: 118%; background: #f7f5ef; background-image: radial-gradient(rgba(0, 0, 0, 0.035) 1px, transparent 1px), radial-gradient(rgba(0, 0, 0, 0.025) 1px, transparent 1px); background-size: 7px 7px, 11px 11px; background-position: 0 0, 3px 5px; box-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.06); padding: 9% 9% 0 13%; font-family: Georgia, "Times New Roman", serif; color: #2a2a28; font-size: 0.74em; line-height: 1.45; transform: translateY(105%) rotate(-0.6deg); transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1); }
.screen.has-scan .scan { transform: translateY(0) rotate(-0.6deg); }
.scan .holes::before, .scan .holes::after { content: ""; position: absolute; left: 4%; width: 1.25em; height: 1.25em; border-radius: 50%; background: var(--theme-color-lighter2); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25); }
.scan .holes::before { top: 30%; }
.scan .holes::after { top: 52%; }
.scan .lh { font-weight: 700; font-size: 1.05em; letter-spacing: 0.01em; }
.scan .lh small { display: block; font-weight: 400; font-size: 0.8em; color: #666; }
.scan .addr { margin-top: 1.4em; font-size: 0.92em; }
.scan .date { margin-top: 1.1em; text-align: right; font-size: 0.92em; }
.scan .subj { margin-top: 1.1em; font-weight: 700; }
.scan .bars { margin-top: 0.8em; }
.scan .bars i { display: block; height: 0.5em; margin: 0.55em 0; background: rgba(42, 42, 40, 0.22); border-radius: 1px; }
.scan .hit { margin: 0.7em 0 0; font-family: inherit; font-size: 1em; line-height: inherit; color: inherit; }
.scan mark { color: inherit; padding: 0 0.1em; background-color: transparent; background-image: linear-gradient(var(--theme-color1), var(--theme-color1)); background-repeat: no-repeat; background-position: 0 55%; background-size: 0% 85%; -webkit-box-decoration-break: clone; box-decoration-break: clone; transition: background-size 0.8s ease; }
.screen.is-marked .scan mark { background-size: 100% 85%; }
.doc-label { position: absolute; left: 0; right: 0; bottom: 0; padding: 0.55em 1em; background: rgba(255, 255, 255, 0.94); border-top: 1px solid var(--line); font-size: 0.82em; color: var(--text-color); transform: translateY(100%); transition: transform 0.4s ease 0.3s; }
.screen.has-scan .doc-label { transform: none; }
.screen .cursor { position: absolute; left: 0; top: 0; width: 1.4em; height: 1.4em; z-index: 5; color: var(--headings-color); transform: translate(var(--cx, 80cqi), var(--cy, 70cqi)); transition: transform 0.9s cubic-bezier(0.45, 0.05, 0.25, 1), opacity 0.3s ease; opacity: 0; pointer-events: none; }
.screen.is-pointing .cursor { opacity: 1; }
.screen.has-scan .cursor { opacity: 0; }
.screen.is-fading > * { opacity: 0 !important; transition: opacity 0.4s ease; }
.screen.is-fading > .app-bar, .screen.is-fading > .pane-doc, .screen.is-fading > .screen-note { opacity: 1 !important; }
.screen .screen-note { position: absolute; left: 5%; bottom: 5%; width: 45%; margin: 0; font-family: inherit; font-size: 0.82em; line-height: 1.4; color: var(--text-color); }
@container (max-width: 540px) {
  .screen { aspect-ratio: 4 / 5; font-size: 3.2cqi; }
  .screen .app-bar { height: 7.5%; }
  .pane-ask { top: 7.5%; width: 100%; height: 50%; bottom: auto; padding: 5%; }
  .screen .screen-note { width: 90%; bottom: calc(42.5% + 0.6em); }
  .pane-doc { top: 57.5%; width: 100%; border-left: 0; border-top: 1px solid var(--line); }
  .screen .q { min-height: 4.4em; }
  .scan { left: 12%; right: 12%; top: 8%; height: 160%; }
  .screen.has-scan .scan { transform: translateY(-34%) rotate(-0.6deg); }
}
.player-meta { display: flex; gap: 16px; align-items: center; justify-content: space-between; margin-top: 18px; text-align: left; }
.player figcaption { font-size: 15px; line-height: 1.6; color: var(--text-color); max-width: 46em; }
.player-btn { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 8px; background: var(--theme-color-white); box-shadow: inset 0 0 0 1px var(--line); color: var(--headings-color); font: 600 14px/1 var(--body-font-family); transition: all 300ms ease; }
.player-btn:hover { background: var(--theme-color3); color: var(--theme-color3-text-color); }
.player-btn svg { width: 12px; height: 12px; }
.player-meta--end { justify-content: flex-end; }
.app-frame .player-btn { position: absolute; right: 12px; bottom: 12px; z-index: 6; width: 34px; height: 34px; min-height: 0; padding: 0; justify-content: center; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--line), 0 2px 8px rgba(var(--theme-color2-rgb), 0.12); }
.app-frame .player-btn svg { width: 11px; height: 11px; }
.player .doc-label { padding-right: 56px; }
@media (max-width: 767.98px) { .player-meta { flex-direction: column; align-items: flex-start; } }
.booking { display: grid; grid-template-columns: minmax(0, 1fr); background: var(--theme-color-white); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); overflow: hidden; }
@media (min-width: 992px) { .booking { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.booking-cal { padding: clamp(22px, 3.2vw, 44px); background: var(--theme-color-lighter2); border-bottom: 1px solid var(--line); }
@media (min-width: 992px) { .booking-cal { border-bottom: 0; border-right: 1px solid var(--line); } }
.booking-form { padding: clamp(22px, 3.2vw, 44px); }
.booking fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.booking legend, .field label, .field .label { display: block; float: none; width: auto; font-size: 16px; line-height: 1.4; font-weight: 600; color: var(--headings-color); padding: 0; margin-bottom: 10px; }
.field .opt { font-weight: 400; color: var(--text-color); }
.days { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.day-name { font-size: 13px; color: var(--text-color); text-align: center; line-height: 1.3; margin-bottom: 8px; }
.day-name b { display: block; color: var(--headings-color); font-size: 15px; font-weight: 600; }
.slot { position: relative; display: block; margin: 8px 0 0; }
.slot input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.slot span { display: block; text-align: center; padding: 10px 0; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-color-white); font-size: 14px; line-height: 1.4; font-weight: 500; color: var(--headings-color); font-variant-numeric: tabular-nums; transition: all 200ms ease; }
.slot input:hover + span { border-color: var(--theme-color3); }
.slot input:checked + span { background: var(--theme-color3); color: var(--theme-color3-text-color); border-color: var(--theme-color3); }
.fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px 18px; }
@media (min-width: 576px) { .fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } .span-2 { grid-column: span 2; } }
.field input[type="text"], .field textarea { display: block; width: 100%; height: 56px; padding: 0 20px; font-family: var(--body-font-family); font-size: 16px; color: var(--headings-color); background-color: var(--theme-color-white); border: 1px solid var(--line); border-radius: 8px; transition: border-color 200ms ease; }
.field textarea { height: 120px; padding: 14px 20px; overflow: auto; }
.field input[type="text"]:focus, .field textarea:focus { border-color: var(--theme-color3); }
.field.has-error input[type="text"], .field.has-error textarea { border-color: var(--error); }
.error-msg { display: none; color: var(--error); font-size: 14px; line-height: 1.5; margin: 8px 0 0; }
.has-error .error-msg { display: block; }
.choices { display: flex; flex-wrap: wrap; gap: 10px; }
.choice { position: relative; margin: 0; }
.choice input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.choice span { display: inline-block; padding: 9px 20px; border: 1px solid var(--line); border-radius: 30px; font-size: 15px; line-height: 1.4; font-weight: 500; color: var(--headings-color); transition: all 200ms ease; }
.choice input:hover + span { border-color: var(--theme-color3); }
.choice input:checked + span { background: var(--theme-color3); color: var(--theme-color3-text-color); border-color: var(--theme-color3); }
.form-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 30px; }
.form-foot p { font-size: 14px; line-height: 1.5; color: var(--text-color); max-width: 30em; margin: 0; }
.callback { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 34px; }
.callback p { margin: 0; font-size: 18px; line-height: 1.5; color: var(--headings-color); }
.booking-section { position: relative; padding: 120px 0; }
.booking-embed { background: var(--theme-color-white); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.booking-embed iframe { display: block; width: 100%; height: 2800px; border: 0; }
@media (min-width: 1200px) { .booking-embed iframe { height: 2440px; } }
.booking-embed-note { margin: 14px 0 0; font-size: 14px; color: var(--text-color); }
.booking-consent { max-width: 640px; margin: 0 auto; padding: clamp(36px, 6vw, 72px) clamp(22px, 4vw, 44px); text-align: center; }
.booking-consent-icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 18px; border-radius: 50%; background: color-mix(in srgb, var(--theme-color3) 8%, var(--theme-color-white)); color: var(--theme-color3); font-size: 28px; }
.booking-consent-title { margin: 0 0 4px; font-size: 22px; line-height: 1.3; font-weight: 600; color: var(--headings-color); }
.booking-consent-meta { margin: 0 0 18px; font-size: 15px; font-weight: 600; color: var(--theme-color3); }
.booking-consent-text { margin: 0 0 24px; font-size: 16px; line-height: 1.6; color: var(--text-color); }
.booking-consent .booking-embed-note { margin-top: 16px; }
@media (max-width: 991.98px) { .booking-section { padding: 80px 0; } }
@media (max-width: 420px) { .days { gap: 5px; } .slot span { font-size: 13px; padding: 9px 0; } .day-name { font-size: 12px; } .day-name b { font-size: 13px; } }
@media (max-width: 991.98px) { .slot span { display: flex; align-items: center; justify-content: center; min-height: 44px; } }
.main-footer .widgets-section { padding-top: clamp(70px, 7vw, 100px); }
.footer-style-one .about-widget .brand { font-family: var(--heading-font-family); font-weight: 700; font-size: 26px; line-height: 1; letter-spacing: -0.03em; color: var(--headings-color); display: inline-flex; align-items: center; gap: 10px; }
.footer-style-one .about-widget .text { margin-bottom: 14px; }
.footer-style-one .about-widget .addr { margin: 0 0 14px; font-style: normal; line-height: 1.6; }
.footer-style-one .about-widget .hours { margin: 0; font-size: 15px; }
.open-state { display: inline-flex; align-items: center; gap: 6px; margin-left: 10px; padding: 3px 10px 3px 8px; border-radius: 20px; font-size: 13px; line-height: 1.4; font-weight: 600; white-space: nowrap; color: var(--status-closed); background-color: color-mix(in srgb, var(--status-closed) 10%, transparent); }
.open-state svg { width: 12px; height: 12px; flex: none; }
.open-state.is-open { color: var(--status-open); background-color: color-mix(in srgb, var(--status-open) 12%, transparent); }
.open-state.is-open svg { animation: open-twinkle 2.4s ease-in-out infinite; }
@keyframes open-twinkle { 0%, 100% { transform: scale(1) rotate(0); opacity: 1; } 50% { transform: scale(0.75) rotate(45deg); opacity: 0.7; } }
@media (prefers-reduced-motion: reduce) { .open-state.is-open svg { animation: none; } }
.footer-style-one .about-widget .tel:hover { color: var(--theme-color3); }
.main-footer .widget-title { margin-top: 0; }
.footer-style-one .footer-middle { padding-bottom: clamp(20px, 3vw, 44px); }
.footer-bottom .inner-container { position: relative; z-index: 1; gap: 10px 30px; }
.footer-bottom { background-color: transparent; }
.footer-bottom .inner-container { padding: 26px 0 30px; border-top: 1px solid var(--line); }
.footer-bottom .copyright-text { color: var(--text-color); font-size: 16px; line-height: 1.6; }
.footer-bottom .footer-nav li { font-size: 18px; line-height: 32px; font-weight: 500; }
.back-to-top-wrapper { right: 16px; }
.back-to-top-wrapper.back-to-top-btn-show { bottom: 16px; }
@media (max-width: 767.98px) { .footer-style-one .footer-middle { padding-bottom: 56px; } }
.footer-bottom .footer-nav li a:hover { color: var(--theme-color3); text-decoration: underline; }
@media (max-width: 991.98px) { .main-footer .widget-title { margin-bottom: 6px; } }
.section-pad { position: relative; padding: 120px 0; }
@media (max-width: 991.98px) { .section-pad { padding: 80px 0; } }
.head-row { margin-bottom: clamp(34px, 4vw, 56px); }
.head-row .sec-title { margin-bottom: 0; }
.head-row .lead-text, .head-row p { margin-bottom: 0; }
.features-section .content-column .sec-title { margin-bottom: 0; }
.page-title.page-head { padding: 15px 0 0; }
.page-head .outer-box { position: relative; z-index: 1; overflow: hidden; border-radius: 15px; padding: clamp(60px, 7vw, 108px) 15px clamp(56px, 6.6vw, 100px); }
.page-head .sec-title { max-width: 900px; margin-left: auto; margin-right: auto; }
.page-head .sec-title .sub-title { background-color: rgba(var(--theme-color-white-rgb), 0.1); border-color: rgba(var(--theme-color-white-rgb), 0.1); color: var(--theme-color-white); margin-bottom: 16px; }
.page-head .sec-title .h1 { color: var(--theme-color-white); }
.page-head .sec-title .text { max-width: 760px; margin: 20px auto 0; font-size: 18px; line-height: 1.6; letter-spacing: 0; color: rgba(var(--theme-color-white-rgb), 0.85); }
.page-head .overview { margin-top: clamp(34px, 4.2vw, 60px); }
.page-head--only { padding-bottom: clamp(60px, 8vw, 110px); }
.after-head.services-section, .after-head.booking-section { padding-top: clamp(40px, 5vw, 70px); }
.after-head.benefits-section { padding-top: clamp(60px, 8vw, 110px); }
@media (max-width: 991.98px) { .services-section .inner-container > .sec-title { padding-left: 20px; padding-right: 20px; } }
.dark-card { height: 100%; background-color: var(--theme-color3); border: 1px solid rgba(var(--theme-color-white-rgb), 0.1); border-radius: 14px; padding: 30px; text-align: left; transition: all 300ms ease; }
.dark-card:hover { background-color: var(--theme-color4); }
.dark-card .step-no { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background-color: var(--theme-color1); color: var(--theme-color1-text-color); font-size: 15px; font-weight: 600; line-height: 1; margin-bottom: 20px; }
.dark-card .title { color: var(--theme-color-white); margin-bottom: 8px; }
.dark-card .text { color: rgba(var(--theme-color-white-rgb), 0.85); margin-bottom: 0; }
.page-head .dark-card .title { font-size: var(--h5-font-size); margin-bottom: 8px; }
.page-head .dark-card .text { font-size: 16px; line-height: 26px; letter-spacing: 0; max-width: none; }
.page-head .dark-card { display: flex; flex-direction: column; align-items: flex-start; background-color: var(--theme-color-white); border-color: var(--theme-color-white); }
.page-head .dark-card:hover { background-color: var(--theme-color-white); border-color: var(--theme-color3); }
.page-head .dark-card .title { color: var(--headings-color); line-height: 1.25; }
.page-head .dark-card .text { flex: 1 1 auto; align-self: stretch; margin-top: 8px; color: var(--text-color);
  background: repeating-linear-gradient(to bottom, transparent 0 25px, var(--line) 25px 26px); }
@media (max-width: 575.98px) { .page-head .dark-card { padding: 22px 20px; } }
.about-features-column .side-card .lead-text { margin-bottom: 16px; }
.about-features-column .side-card .lead-text:last-of-type { margin-bottom: 28px; }
.about-features-column .side-card { padding-bottom: 40px; }
.tag-pill { align-self: flex-start; display: inline-block; font-size: 14px; line-height: 1; font-weight: 500; padding: 8px 16px; border-radius: 30px; background-color: var(--theme-color1); color: var(--theme-color1-text-color); margin: 0 0 20px; }
.tag-pill.alt { background-color: var(--theme-color3); color: var(--theme-color3-text-color); }
.card-box .text + .text { margin-top: 12px; }
.fact-stack { display: grid; gap: 24px; height: 100%; align-content: start; }
.fact-stack .card-box { height: auto; }
.card-box.prose .title { margin-bottom: 16px; }
.prose > :last-child { margin-bottom: 0; }
.prose p { font-size: 17px; line-height: 1.65; margin: 0 0 1em; }
.card-box.prose p { font-size: 16px; }
.prose b { font-weight: 600; color: var(--headings-color); }
.prose a { color: var(--theme-color3); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.prose a:hover { color: var(--theme-color3); text-decoration-thickness: 2px; }
.prose ul.dash, .prose ol.num { margin: 0 0 1em; }
.prose ul.dash li { position: relative; padding: 7px 0 7px 30px; font-size: 17px; line-height: 1.55; color: var(--headings-color); }
.card-box.prose ul.dash li { font-size: 16px; }
.prose ul.dash li::before { content: ""; position: absolute; left: 0; top: 19px; width: 16px; height: 2px; border-radius: 2px; background-color: var(--theme-color3); }
.prose ol.num { counter-reset: num; }
.prose ol.num li { counter-increment: num; position: relative; padding: 16px 0 16px 60px; font-size: 16px; line-height: 1.6; color: var(--text-color); border-top: 1px solid var(--line); }
.prose ol.num li:first-child { border-top: 0; padding-top: 4px; }
.prose ol.num li:last-child { padding-bottom: 0; }
.prose ol.num li::before { content: counter(num, decimal-leading-zero); position: absolute; left: 0; top: 14px; width: 42px; height: 42px; line-height: 40px; text-align: center; border-radius: 50%; border: 1px solid var(--line); color: var(--theme-color3); font-size: 15px; font-weight: 600; }
.prose ol.num li:first-child::before { top: 2px; }
.prose ol.num li:last-child { min-height: 58px; }
.split-section { position: relative; }
.split-section.is-first { padding-top: clamp(60px, 8vw, 110px); }
.split-section.is-last { padding-bottom: clamp(70px, 9vw, 120px); }
.split-row { position: relative; padding: clamp(34px, 4.4vw, 58px) 0; }
.split-row::before { content: ""; position: absolute; top: 0; left: 15px; right: 15px; height: 1px; background-color: var(--line); }
.split-section.is-first .split-row:first-child { padding-top: 0; }
.split-section.is-first .split-row:first-child::before { display: none; }
.split-section.is-last .row.split-row:last-child { padding-bottom: 0; }
.split-row .sec-title { margin-bottom: 0; }
.split-row .sec-title .title { font-size: clamp(24px, 1.1vw + 18px, 34px); }
@media (max-width: 991.98px) { .split-row .sec-title { margin-bottom: 18px; } }
.table-card { background-color: var(--theme-color-white); border: 1px solid var(--line); border-radius: 14px; padding: 8px clamp(18px, 2.6vw, 34px) 10px; }
.table-card table { width: 100%; border-collapse: collapse; margin: 0; }
.table-card th { padding: 18px 0 14px; font-size: 14px; line-height: 1.3; font-weight: 600; color: var(--text-color); text-align: left; }
.table-card td { padding: 16px 0; border-top: 1px solid var(--line); font-size: 16px; line-height: 1.4; font-weight: 600; color: var(--headings-color); }
.table-card th + th, .table-card td + td { text-align: right; padding-left: 16px; white-space: nowrap; }
.table-card--explain th + th, .table-card--explain td + td { text-align: left; white-space: normal; padding-left: 24px; }
.table-card--explain td + td { font-weight: 400; color: var(--text-color); }
.table-card--explain td:first-child { white-space: nowrap; vertical-align: top; }
.cta-section .sec-title.light .text { margin-top: 18px; color: rgba(var(--theme-color-white-rgb), 0.82); }
.header-min .header-lower { min-height: 81px; }
@media (max-width: 1023.98px) { .header-min .header-lower { min-height: 44px; } }
.page-wrapper:has(> .footer-min) { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
.page-wrapper:has(> .footer-min) > main { flex: 1 0 auto; display: flex; flex-direction: column; }
.thanks-section { position: relative; overflow: clip; flex: 1 0 auto; padding: clamp(50px, 8vw, 110px) 0 clamp(80px, 10vw, 130px); }
.thanks-card { max-width: 760px; height: auto; margin: 0 auto; align-items: center; text-align: center; padding: clamp(34px, 5vw, 64px) clamp(22px, 4.4vw, 60px); box-shadow: var(--shadow); }
.thanks-check { width: 72px; height: 72px; border-radius: 50%; background-color: var(--theme-color3); color: var(--theme-color3-text-color); display: flex; align-items: center; justify-content: center; font-size: 30px; margin-bottom: 26px; }
.thanks-card .h1 { font-size: clamp(30px, 1.8vw + 22px, 48px); font-weight: 600; letter-spacing: -0.03em; line-height: 1.15; margin-bottom: 16px; text-wrap: balance; }
.thanks-card .lead-text { max-width: 34em; margin-bottom: 30px; color: var(--text-color); }
.thanks-section .blob-a { width: 720px; height: 520px; left: 50%; margin-left: -360px; bottom: -220px; opacity: 0.5; }
.branch-q { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 24px; padding: 14px 16px; border: 1.5px solid var(--theme-color3); border-radius: 12px; background: var(--theme-color-white); font-size: 16px; line-height: 1.45; font-weight: 500; color: var(--headings-color); }
.branch-q svg { flex: none; width: 18px; height: 18px; margin-top: 3px; color: var(--theme-color3); }
.branch-note { display: block; margin: 18px 0 0; font-size: 14px; line-height: 1.5; color: var(--text-color); }
@media (min-width: 768px) { .branch-q { min-height: calc(2.9em + 31px); } }
.what-grid { list-style: none; margin: 0; padding-left: 0; display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 1fr; gap: 24px; }
.what-grid > li { padding: 32px 30px 34px; border-radius: 14px; background-color: var(--theme-color-white); box-shadow: var(--shadow); }
.what-grid > li::before { content: ""; display: block; width: 36px; height: 4px; margin-bottom: 22px; border-radius: 2px; background-color: var(--theme-color1); }
.what-grid .title { margin: 0 0 10px; }
.what-grid .text { margin: 0; font-size: 16px; line-height: 1.6; color: var(--text-color); }
@media (max-width: 767.98px) { .what-grid { grid-template-columns: 1fr; grid-auto-rows: auto; } }
.gain-list { list-style: none; margin: 0; padding-left: 0; }
.gain-list > li { display: flex; flex-direction: column; }
.gain-list .title { margin: 0 0 10px; padding-top: 18px; border-top: 2px solid var(--theme-color3); }
.gain-list .text { margin: 0; font-size: 16px; line-height: 1.6; color: var(--text-color); max-width: 30em; }
.src-map, .perm-map { margin: 0; padding: clamp(22px, 3.2vw, 44px); border: 1px solid var(--line); border-radius: 14px; background: radial-gradient(circle, rgba(var(--theme-color3-rgb), 0.09) 1px, transparent 1.4px) 0 0 / 18px 18px, var(--theme-color-white); }
.src-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) clamp(56px, 7vw, 110px) minmax(0, 0.7fr) clamp(36px, 4vw, 60px) minmax(0, 1.4fr); padding-top: 34px; }
.src-col { position: relative; z-index: 1; min-width: 0; }
.src-col--hub, .src-col--out { align-self: center; }
.src-zone { position: absolute; left: 0; bottom: 100%; margin: 0 0 8px; font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-color); }
.src-col--sources .src-zone { margin-bottom: 0; }
.src-col--sources { display: flex; flex-direction: column; }
.src-list { flex: 1; list-style: none; margin: 0; padding: 0; display: grid; grid-auto-rows: 1fr; }
.src-list > li { min-width: 0; padding: 9px 0; }
.src-node { position: relative; display: flex; align-items: center; gap: 14px; height: 100%; padding: 13px 16px; border: 1px solid rgba(var(--theme-color3-rgb), 0.3); border-radius: 10px; background: var(--theme-color-white); }
.src-node::after { content: ""; position: absolute; right: -5px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px; border-radius: 50%; background: var(--theme-color3); box-shadow: 0 0 0 3px var(--theme-color-white); }
.src-icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 10px; font-size: 19px; background: var(--theme-color3); color: var(--theme-color3-text-color); }
.src-body { display: flex; flex-direction: column; min-width: 0; }
.src-body strong { font-size: 16px; line-height: 1.3; font-weight: 600; color: var(--headings-color); }
.src-body span { font-size: 14px; line-height: 1.4; color: var(--text-color); }
.src-tag { position: absolute; top: -10px; right: 16px; padding: 3px 9px; border: 1px solid rgba(var(--theme-color3-rgb), 0.3); border-radius: 30px; background: var(--theme-color-white); font-size: 12px; line-height: 1; font-weight: 500; color: var(--theme-color3); }
.src-wires { position: relative; min-width: 0; }
.src-wires svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.src-wires .wire { fill: none; stroke: var(--theme-color3); stroke-width: 1.5; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.src-flow { position: relative; align-self: center; height: 1.5px; background-color: var(--theme-color3); }
.src-wires::after, .src-flow::after { content: ""; position: absolute; right: 0; top: 50%; margin-top: -5.5px; border-style: solid; border-width: 5.5px 0 5.5px 9px; border-color: transparent transparent transparent var(--theme-color3); }
.src-hub { display: flex; align-items: center; justify-content: center; min-height: 170px; padding: 20px; border-radius: 14px; background-color: var(--theme-color3); box-shadow: var(--shadow-strong); }
.src-hub img { display: block; width: min(120px, 70%); height: auto; }
.src-out { padding: 22px; border: 1px solid rgba(var(--theme-color3-rgb), 0.3); border-radius: 14px; background: var(--theme-color-white); }
.src-out .title { margin: 0 0 8px; }
.src-out .text { margin: 0; font-size: 15px; line-height: 1.55; color: var(--text-color); }
.src-out .funds { margin-top: 12px; }
.src-ex { margin-top: 16px; padding-top: 14px; border-top: 1px dashed rgba(var(--theme-color3-rgb), 0.3); }
.src-ex-label { margin: 0 0 6px; font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-color); }
.src-ex-q { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 14px; padding: 10px 12px; border: 1.5px solid var(--theme-color3); border-radius: 10px; background: var(--theme-color-white); font-size: 15px; line-height: 1.45; font-weight: 500; color: var(--headings-color); }
.src-ex-q svg { flex: none; width: 16px; height: 16px; margin-top: 3px; color: var(--theme-color3); }
.src-ex-a { margin: 0; font-size: 15px; line-height: 1.5; font-weight: 500; color: var(--headings-color); }
.src-ex-note { margin: 14px 0 0; font-size: 13px; line-height: 1.5; color: var(--text-color); }
.src-files { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin-top: clamp(22px, 3vw, 34px); padding-top: 18px; border-top: 1px solid var(--line); }
.src-files-label { font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-color); }
.src-files-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.src-files-list li { padding: 6px 13px; border: 1px solid rgba(var(--theme-color3-rgb), 0.3); border-radius: 30px; background: var(--theme-color-white); font-size: 14px; line-height: 1.3; font-weight: 500; color: var(--headings-color); }
.src-files-list li.src-files-more { border-color: transparent; background: none; padding-left: 4px; font-weight: 400; color: var(--text-color); }
.src-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; margin-top: clamp(22px, 3vw, 34px); padding-top: 18px; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.5; color: var(--text-color); }
.src-types { flex: 1 1 420px; min-width: 0; }
@media (max-width: 991.98px) {
  .src-grid { grid-template-columns: minmax(0, 1fr); padding-top: 0; }
  .src-zone, .src-col--sources .src-zone { position: static; margin: 0 0 8px; }
  .src-col--sources .src-zone { margin-bottom: 0; }
  .src-node::after, .src-wires svg { display: none; }
  .src-wires, .src-flow { justify-self: center; width: 1.5px; height: 40px; margin: 6px 0 10px; background-color: var(--theme-color3); }
  .src-wires::after, .src-flow::after { right: auto; left: 50%; top: auto; bottom: -2px; margin: 0 0 0 -5.5px; border-width: 9px 5.5px 0; border-color: var(--theme-color3) transparent transparent; }
}
@media (max-width: 991.98px) { .src-hub { min-height: 110px; } }
@media (max-width: 575.98px) { .src-node { padding: 12px 14px; gap: 12px; } .src-out { padding: 20px; } }
.perm-eyebrow { margin: 0 0 12px; text-align: center; font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-color); }
.perm-q { display: flex; align-items: flex-start; gap: 12px; max-width: 640px; margin: 0 auto; padding: 14px 18px; border: 1.5px solid var(--theme-color3); border-radius: 12px; background: var(--theme-color-white); font-size: 17px; line-height: 1.45; font-weight: 500; color: var(--headings-color); }
.perm-q svg { flex: none; width: 18px; height: 18px; margin-top: 4px; color: var(--theme-color3); }
.perm-wires { position: relative; height: 46px; }
.perm-wires svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.perm-wires .wire { fill: none; stroke: var(--theme-color3); stroke-width: 1.5; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.perm-wires::before, .perm-wires::after { content: ""; position: absolute; bottom: -1px; margin-left: -5.5px; border-style: solid; border-width: 9px 5.5px 0; border-color: var(--theme-color3) transparent transparent; }
.perm-wires::before { left: 25%; }
.perm-wires::after { left: 75%; }
.perm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.perm-col { display: flex; flex-direction: column; min-width: 0; padding: 0 clamp(8px, 1.6vw, 24px); }
.perm-person { display: flex; align-items: center; gap: 14px; padding: 13px 16px; border: 1px solid rgba(var(--theme-color3-rgb), 0.3); border-radius: 10px 10px 0 0; background: var(--theme-color-white); }
.perm-lock { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 10px; font-size: 18px; background: var(--theme-color3); color: var(--theme-color3-text-color); }
.perm-who { display: flex; flex-direction: column; min-width: 0; }
.perm-who strong { font-size: 16px; line-height: 1.3; font-weight: 600; color: var(--headings-color); }
.perm-who span { font-size: 14px; line-height: 1.4; color: var(--text-color); }
.perm-answer { flex: 1; padding: 18px 16px 20px; border: 1px solid rgba(var(--theme-color3-rgb), 0.3); border-top: 0; border-radius: 0 0 10px 10px; background: var(--theme-color-lighter2); }
.perm-label { margin: 0 0 6px; font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-color); }
.perm-text { margin: 0; font-size: 17px; line-height: 1.5; font-weight: 500; color: var(--headings-color); }
.perm-answer .funds { margin-top: 14px; }
.perm-note { margin: 14px 0 0; padding-top: 12px; border-top: 1px dashed rgba(var(--theme-color3-rgb), 0.3); font-size: 14px; line-height: 1.5; color: var(--text-color); }
.perm-col--no .perm-person, .perm-col--no .perm-answer { border-style: dashed; }
.perm-col--no .perm-lock { background: rgba(var(--theme-color3-rgb), 0.08); color: var(--theme-color3); }
.perm-example { margin-left: auto; white-space: nowrap; }
.perm-points { list-style: none; margin-bottom: 0; padding-left: 0; margin-top: clamp(6px, 1.4vw, 20px); }
.perm-points > li > .title { margin: 0 0 8px; }
.perm-points > li { display: flex; flex-direction: column; }
.perm-points > li > .text { margin: 0 0 16px; font-size: 16px; line-height: 1.6; color: var(--text-color); }
.perm-term { margin: 0 0 10px; padding-top: 16px; border-top: 2px solid var(--theme-color3); font-size: 12px; line-height: 1.5; letter-spacing: 0.08em; text-transform: uppercase; color: var(--theme-color3); }
.perm-term strong { font-weight: 600; }
@media (max-width: 767.98px) {
  .perm-wires { display: none; }
  .perm-q { margin-bottom: 22px; font-size: 16px; }
  .perm-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .perm-col { padding: 0; }
  .perm-example { white-space: normal; }
}
.calc { margin: 0; padding: clamp(22px, 3.2vw, 44px); border: 1px solid var(--line); border-radius: 14px; background: radial-gradient(circle, rgba(var(--theme-color3-rgb), 0.09) 1px, transparent 1.4px) 0 0 / 18px 18px, var(--theme-color-white); }
.calc-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(28px, 3.4vw, 48px); align-items: start; }
.calc-in { min-width: 0; }
.calc-block { min-width: 0; margin: 0 0 28px; padding: 0; border: 0; }
.calc-block:last-child { margin-bottom: 0; }
.calc-zone { float: none; width: auto; margin: 0 0 12px; padding: 0; font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-color); }
.calc-sources { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.calc-src { position: relative; min-width: 0; border: 1px dashed rgba(var(--theme-color3-rgb), 0.3); border-radius: 10px; background: var(--theme-color-white); transition: border-color 200ms ease, box-shadow 200ms ease; }
.calc-src.is-on { border-style: solid; border-color: rgba(var(--theme-color3-rgb), 0.45); box-shadow: 0 6px 24px rgba(var(--theme-color3-rgb), 0.08); }
.calc-head { display: flex; align-items: center; gap: 14px; margin: 0; padding: 13px 16px; cursor: pointer; }
.calc-head .src-body { flex: 1 1 auto; }
.calc-src .src-icon { background: rgba(var(--theme-color3-rgb), 0.08); color: var(--theme-color3); transition: background-color 200ms ease, color 200ms ease; }
.calc-src.is-on .src-icon { background: var(--theme-color3); color: var(--theme-color3-text-color); }
.calc-on { flex: none; width: 22px; height: 22px; margin: 0; accent-color: var(--theme-color3); cursor: pointer; }
.calc-src .src-tag { right: 52px; }
.calc-detail { display: grid; gap: 10px; margin: 0 16px; padding: 14px 0 18px; border-top: 1px dashed rgba(var(--theme-color3-rgb), 0.2); }
.calc-detail[hidden] { display: none; }
.calc-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.calc-row label, .calc-label, .calc-field label { margin: 0; font-size: 15px; line-height: 1.4; font-weight: 600; color: var(--headings-color); }
.calc-val { font-size: 17px; line-height: 1.4; font-weight: 600; color: var(--theme-color3); font-variant-numeric: tabular-nums; }
.calc-range { display: block; width: 100%; height: 32px; margin: 0; accent-color: var(--theme-color3); cursor: pointer; }
.calc-scale { display: flex; justify-content: space-between; margin-top: -6px; font-size: 12px; line-height: 1.4; color: var(--text-color); }
.calc-row--umfang { margin-top: 4px; }
.choices--sm { gap: 8px; }
.choices--sm .choice span { padding: 6px 16px; font-size: 14px; }
.calc-hint { margin: 0; font-size: 14px; line-height: 1.45; color: var(--text-color); }
.calc-block > .calc-hint { margin-top: 10px; }
.calc-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.calc-field { min-width: 0; }
.calc-field label { display: block; margin-bottom: 6px; }
.calc-field input { display: block; width: 100%; height: 48px; padding: 0 14px; font-family: var(--body-font-family); font-size: 16px; color: var(--headings-color); background: var(--theme-color-white); border: 1px solid rgba(var(--theme-color3-rgb), 0.25); border-radius: 8px; transition: border-color 200ms ease; }
.calc-field input:focus { border-color: var(--theme-color3); }
.calc-check { display: flex; align-items: flex-start; gap: 10px; margin: 2px 0 0; font-size: 15px; line-height: 1.4; color: var(--headings-color); cursor: pointer; }
.calc-check input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--theme-color3); cursor: pointer; }
.calc-out { min-width: 0; padding: clamp(24px, 2.6vw, 34px); border-radius: 14px; background-color: var(--theme-color3); color: var(--theme-color3-text-color); box-shadow: var(--shadow-strong); }
.calc-eyebrow { margin: 0 0 14px; font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(var(--theme-color-white-rgb), 0.7); }
.calc-empty { margin: 0 0 8px; font-size: 18px; line-height: 1.5; font-weight: 500; color: var(--theme-color-white); }
.calc-big { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0; font-family: var(--heading-font-family); font-size: clamp(40px, 4.2vw, 58px); line-height: 1.05; font-weight: 600; letter-spacing: -0.02em; color: var(--theme-color-white); font-variant-numeric: tabular-nums; }
.calc-unit { font-size: 20px; font-weight: 500; letter-spacing: 0; color: rgba(var(--theme-color-white-rgb), 0.85); }
.calc-sub { margin: 10px 0 0; font-size: 15px; line-height: 1.5; color: rgba(var(--theme-color-white-rgb), 0.8); }
.calc-list { margin: 22px 0 0; padding: 0; }
.calc-list > div { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr); gap: 4px 16px; padding: 12px 0; border-top: 1px solid rgba(var(--theme-color-white-rgb), 0.16); }
.calc-list > div[hidden] { display: none; }
.calc-list dt { margin: 0; font-size: 14px; line-height: 1.5; font-weight: 500; color: rgba(var(--theme-color-white-rgb), 0.75); }
.calc-list dd { display: flex; flex-direction: column; gap: 3px; margin: 0; }
.calc-list dd > span { font-size: 20px; line-height: 1.3; font-weight: 600; color: var(--theme-color-white); }
.calc-list > .calc-echo dd > span { font-size: 16px; font-weight: 500; color: rgba(var(--theme-color-white-rgb), 0.92); }
.calc-list small { font-size: 13px; line-height: 1.45; color: rgba(var(--theme-color-white-rgb), 0.72); }
.calc-note[hidden] { display: none; }
.calc-note { margin: 8px 0 0; font-size: 14px; line-height: 1.5; color: rgba(var(--theme-color-white-rgb), 0.88); }
.calc-list + .calc-note { margin-top: 0; padding-top: 14px; border-top: 1px solid rgba(var(--theme-color-white-rgb), 0.16); }
.calc-cta { margin-top: 24px; }
@media (min-width: 992px) and (min-height: 880px) { .calc-out { position: sticky; top: 96px; } }
.calc-foot { margin: clamp(22px, 3vw, 34px) 0 0; padding-top: 18px; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.5; color: var(--text-color); }
@media (max-width: 991.98px) {
  .calc-grid { grid-template-columns: minmax(0, 1fr); }
  .calc-out { position: static; }
  .choices--sm .choice span { padding: 11px 16px; }
  .calc-range { height: 44px; }
  .calc-scale { margin-top: -10px; }
  .calc-check { align-items: center; min-height: 44px; }
  .calc-check input { margin: 0; }
}
@media (max-width: 575.98px) {
  .calc { padding: 18px 14px; }
  .calc-out { padding: 24px 20px; }
  .calc-head { gap: 12px; padding: 12px 14px; }
  .calc-detail { margin: 0 14px; }
  .calc-src .src-tag { right: 48px; }
  .calc-list > div { grid-template-columns: minmax(0, 1fr); }
}
:root[data-primary="blue"] {
  --theme-color3: #173F7A; --theme-color3-rgb: 23, 63, 122;
  --theme-color4: #1F5199; --theme-color4-rgb: 31, 81, 153;
  --theme-color2: #0C1D3A; --theme-color2-rgb: 12, 29, 58;
  --accent: #D9661A; --accent-rgb: 217, 102, 26;
  --theme-color1: #F6CF5E; --theme-color1-rgb: 246, 207, 94;
  --accent-3: #4FB3D9; --accent-3-rgb: 79, 179, 217;
  --theme-color1-text-color: var(--theme-color2);
  --headings-color: var(--theme-color2);
  --body-bg: color-mix(in srgb, var(--theme-color3) 4%, #FAFAF9);
  --theme-color-lighter2: color-mix(in srgb, var(--theme-color3) 5%, #FAFAF9);
  --gradient-1: linear-gradient(181.35deg, rgba(var(--theme-color2-rgb), 0) 1.15%, rgba(var(--accent-3-rgb), 0.1) 98.91%);
  --btn-bg: var(--theme-color3);
  --btn-text: #fff;
  --btn-hover-bg: var(--theme-color4);
  --btn-hover-text: #fff;
  --btn-outline-text: var(--theme-color3);
  --band-bg: color-mix(in srgb, var(--theme-color3) 11%, #fff);
  --cta-box-bg: var(--theme-color3);
  --uc-active-text: var(--theme-color2);
  --blob-rgb: var(--accent-3-rgb);
  --faq-shadow-rgb: var(--accent-3-rgb);
  --orn-strong: var(--accent-3);
  --orn-soft: color-mix(in srgb, var(--accent-3) 45%, #fff);
  --glow-1: var(--theme-color4-rgb);
  --glow-1b: var(--theme-color3-rgb);
  --glow-2: var(--accent-rgb);
  --glow-3: var(--theme-color3-rgb);
}
.faq-cats { display: flex; flex-direction: column; gap: 8px; position: sticky; top: 110px; }
.faq-cat { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 16px 20px; border: 1px solid var(--line); border-radius: 12px; background-color: var(--theme-color-white); font-family: var(--body-font-family); font-size: 17px; line-height: 1.3; font-weight: 600; text-align: left; color: var(--headings-color); cursor: pointer; transition: background-color 0.2s, color 0.2s, border-color 0.2s; }
.faq-cat:hover { border-color: rgba(var(--theme-color3-rgb), 0.35); }
.faq-cat.is-active { background-color: var(--theme-color3); border-color: var(--theme-color3); color: var(--theme-color3-text-color); }
.faq-count { flex: none; min-width: 28px; padding: 3px 8px; border-radius: 20px; background-color: var(--band-bg); font-size: 13px; line-height: 1.2; text-align: center; color: var(--theme-color3); }
.faq-cat.is-active .faq-count { background-color: rgba(255, 255, 255, 0.18); color: inherit; }
@media (max-width: 991.98px) {
  .faq-cats { position: static; flex-direction: row; flex-wrap: wrap; }
  .faq-cat { width: auto; padding: 10px 14px; font-size: 15px; }
}
.guide-section { padding: clamp(50px, 6vw, 90px) 0 clamp(70px, 8vw, 120px); }
.guide-grid { --gap: 24px; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 280px; gap: var(--gap); }
.guide-item { display: flex; min-width: 0; }
.guide-card { position: relative; z-index: 0; display: flex; flex-direction: column; justify-content: flex-end; width: 100%; padding: 28px 28px 26px; border-radius: 14px; background-color: var(--theme-color-white); box-shadow: var(--shadow); overflow: hidden; color: inherit; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.guide-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-strong); color: inherit; }
.guide-cat { align-self: flex-start; margin-bottom: 12px; font-size: 12px; line-height: 1.4; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--theme-color3); }
.guide-title { margin: 0 0 8px; color: var(--headings-color); transition: color 0.2s; }
.guide-card:hover .guide-title { color: var(--theme-color3); }
.guide-text { margin: 0 0 14px; font-size: 15px; line-height: 1.55; color: var(--text-color); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.guide-meta { font-size: 13px; line-height: 1.4; color: var(--text-color); }
.guide--small .guide-text { -webkit-line-clamp: 2; }
.guide-art { position: absolute; z-index: -1; background-color: var(--band-bg); pointer-events: none; }
.guide-art::before { content: ""; position: absolute; inset: 0; background-color: rgba(var(--theme-color3-rgb), 0.35); -webkit-mask: url(../images/background/muster-sternbilder.svg) 0 0 / 520px 293px repeat; mask: url(../images/background/muster-sternbilder.svg) 0 0 / 520px 293px repeat; }
.guide--tall .guide-art { inset: 0 0 auto 0; height: 46%; }
.guide--wide .guide-art { inset: 0 0 0 auto; width: 38%; }
.guide--wide .guide-card > :not(.guide-art) { max-width: 58%; }
.guide--l .guide-card { background-color: var(--theme-color3); }
.guide--l .guide-art { inset: 0; background-color: transparent; }
.guide--l .guide-art::before { background-color: rgba(var(--accent-3-rgb), 0.5); -webkit-mask: url(../images/background/muster-himmelskarte.svg) 50% 50% / cover no-repeat; mask: url(../images/background/muster-himmelskarte.svg) 50% 50% / cover no-repeat; }
.guide--l .guide-card { padding: 36px; }
.guide--l .guide-cat { color: var(--theme-color1); }
.guide--l .guide-title, .guide--l .guide-card:hover .guide-title { color: var(--theme-color-white); max-width: 26em; }
.guide--l .guide-text { color: rgba(var(--theme-color-white-rgb), 0.82); max-width: 40em; }
.guide--l .guide-meta { color: rgba(var(--theme-color-white-rgb), 0.7); }
@media (min-width: 992px) {
  .gi-a { grid-area: 1 / 1 / 2 / 3; }
  .gi-b { grid-area: 1 / 3 / 2 / 4; }
  .gi-c { grid-area: 1 / 4 / 3 / 5; }
  .gi-d { grid-area: 2 / 1 / 4 / 2; }
  .gi-f { grid-area: 2 / 2 / 3 / 3; z-index: 1; }
  .gi-l { grid-area: 2 / 2 / 4 / 4; }
  .gi-g { grid-area: 3 / 4 / 5 / 5; }
  .gi-h { grid-area: 4 / 1 / 5 / 3; }
  .gi-i { grid-area: 4 / 3 / 5 / 4; }
  .guide--l .guide-card { --cut: calc(50% + var(--gap) / 2); clip-path: polygon(var(--cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--cut), var(--cut) var(--cut)); box-shadow: none; }
  .guide--l .guide-card > :not(.guide-art) { max-width: none; }
}
@media (max-width: 991.98px) {
  .guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; }
  .guide-card { min-height: 240px; }
  .guide--wide, .guide--l { grid-column: span 2; }
  .guide--l .guide-card { min-height: 360px; }
  .guide--tall .guide-card { padding-top: 150px; }
  .guide--tall .guide-art { height: 124px; }
  .guide--wide .guide-art { width: 34%; }
}
@media (max-width: 575.98px) {
  .guide-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .guide--wide, .guide--l { grid-column: auto; }
  .guide--wide .guide-art { display: none; }
  .guide--wide .guide-card > :not(.guide-art) { max-width: none; }
}
.ph { background-color: #FBD3E4; color: #7A1240; border-radius: 4px; padding: 0 4px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.doc-card .text { margin-bottom: 14px; }
.doc-meta { margin: auto 0 14px; font-size: 14px; line-height: 1.5; color: var(--text-color); }
.prose .doc-meta { margin: 0; }
.doc-dl { display: inline-flex; align-self: flex-start; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 8px; box-shadow: inset 0 0 0 1px var(--line); font: 600 14px/1 var(--body-font-family); color: var(--headings-color); }
.doc-dl.is-pending { color: var(--text-color); background-color: var(--band-bg); }
.sp-table { margin: 6px 0 22px; border: 1px solid var(--line); border-radius: 14px; background-color: var(--theme-color-white); padding: 4px clamp(16px, 2.4vw, 28px); }
.sp-table table { width: 100%; border-collapse: collapse; }
.sp-table th { padding: 16px 20px 12px 0; text-align: left; font-size: 14px; line-height: 1.3; font-weight: 600; color: var(--theme-color3); }
.sp-table td { padding: 16px 20px 16px 0; border-top: 1px solid var(--line); font-size: 16px; line-height: 1.5; color: var(--headings-color); vertical-align: top; }
.sp-table th:last-child, .sp-table td:last-child { padding-right: 0; }
@media (max-width: 767.98px) {
  .sp-table thead { display: none; }
  .sp-table tr { display: block; padding: 14px 0; border-top: 1px solid var(--line); }
  .sp-table tbody tr:first-child { border-top: 0; }
  .sp-table td { display: block; border: 0; padding: 3px 0; }
  .sp-table td::before { content: attr(data-label) ": "; font-weight: 600; color: var(--theme-color3); }
}
.guide-art--fig::before { display: none; }
.guide-art--fig svg, .guide-art--over svg { position: absolute; display: block; overflow: visible; }
.guide-art--fig svg { inset: 10% 8%; width: 84%; height: 80%; }
.guide-art--over svg { top: 0; right: 0; width: 100%; height: 58%; padding: 28px 32px 0 0; }
.guide--wide .guide-art--fig svg { inset: 10% 6%; width: 88%; height: 80%; }
.ga-paper { fill: var(--theme-color-white); stroke: var(--theme-color3); stroke-width: 2; stroke-linejoin: round; }
.ga-line { fill: none; stroke: var(--theme-color3); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ga-line.ga-thin { stroke-width: 2; opacity: 0.35; }
.ga-soft { fill: none; stroke: var(--accent-3); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.ga-soft.ga-dashed { stroke-width: 2; stroke-dasharray: 6 7; fill: rgba(var(--theme-color-white-rgb), 0.5); }
.ga-dot { fill: var(--accent-3); }
.ga-dot--small { fill: var(--theme-color3); }
.ga-mark { fill: var(--theme-color1); }
.ga-fill { fill: var(--theme-color3); }
.ga-key { fill: var(--theme-color1); }
.ga-key-line { stroke: var(--theme-color1); stroke-width: 3; stroke-linecap: round; }
.ga-speck { fill: var(--theme-color3); opacity: 0.45; }
.ga-num { font-family: var(--body-font-family); font-size: 13px; font-weight: 600; fill: var(--theme-color3); }
.ga-bar { fill: none; stroke: var(--theme-color3); stroke-width: 7; stroke-linecap: round; opacity: 0.22; }
.ga-pip { fill: none; stroke: var(--theme-color3); stroke-width: 1.5; opacity: 0.6; }
.ga-pip--on { fill: var(--theme-color3); opacity: 1; }
.guide-art--over .ga-page { fill: rgba(var(--theme-color-white-rgb), 0.05); stroke: rgba(var(--theme-color-white-rgb), 0.55); stroke-width: 1.6; stroke-linejoin: round; }
.guide-art--over .ga-light { fill: none; stroke: rgba(var(--theme-color-white-rgb), 0.55); stroke-width: 1.6; stroke-linecap: round; }
.guide-art--over .ga-light.ga-thin { opacity: 0.55; }
.guide-art--over .ga-soft { stroke: rgba(var(--accent-3-rgb), 0.8); }
.guide-art--over .ga-dot--small { fill: var(--theme-color1); }
@media (max-width: 991.98px) {
  .guide-art--over svg { width: 50%; height: 44%; padding: 18px 18px 0 0; }
  .guide--tall .guide-art--fig svg { inset: 6% 8%; height: 88%; }
}
@media (max-width: 575.98px) {
  .guide-art--over svg { display: none; }
}
.page-head--article .outer-box { padding-top: clamp(56px, 7vw, 96px); padding-bottom: clamp(56px, 7vw, 96px); }
.article-head { max-width: 46em; margin-left: auto; margin-right: auto; }
.article-head .sub-title a { color: inherit; }
.article-head .sub-title a:hover { color: var(--theme-color1); }
.article-head .sub-title .sep { margin: 0 8px; opacity: 0.6; }
.article-head .h1 { font-size: clamp(30px, 2.2vw + 14px, 46px); line-height: 1.2; }
.article-head .text { margin-top: 18px; font-size: 18px; line-height: 1.6; color: rgba(var(--theme-color-white-rgb), 0.82); }
.article-meta { margin: 18px 0 0; font-size: 14px; line-height: 1.4; letter-spacing: 0.04em; color: rgba(var(--theme-color-white-rgb), 0.6); }
.article-section { padding: clamp(50px, 6vw, 90px) 0 clamp(50px, 6vw, 80px); }
.article { max-width: 46em; margin: 0 auto; }
.article h2 { font-size: clamp(22px, 0.8vw + 16px, 28px); line-height: 1.3; margin: 2em 0 0.7em; }
.article h2:first-child { margin-top: 0; }
.article h3 { font-size: 19px; line-height: 1.35; margin: 1.6em 0 0.5em; }
.article p.lead { font-size: 19px; line-height: 1.6; color: var(--headings-color); margin-bottom: 1.4em; }
.article .note { font-size: 15px; line-height: 1.55; color: var(--text-color); }
.article ul.dash li { color: var(--headings-color); }
.article ol.num li { font-size: 17px; }
.article-qa { margin: 1.6em 0; border: 1px solid var(--line); border-radius: 14px; background-color: var(--theme-color-white); box-shadow: var(--shadow); }
.article-qa .qa-ask, .article-qa .qa-answer { font-size: 17px; }
.article .sp-table { margin: 1.2em 0 1.8em; }
.article .sp-table th { font-size: 13px; }
.article .sp-table td { font-size: 15.5px; line-height: 1.5; padding: 14px 18px 14px 0; }
.article .sp-table td:first-child { font-weight: 600; }
.article .box { margin: 1.6em 0; padding: 22px 26px; border-radius: 14px; background-color: var(--band-bg); }
.article .box > :last-child { margin-bottom: 0; }
.article .box .box-title { display: block; margin-bottom: 8px; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; color: var(--theme-color3); }
.related-section { padding: 0 0 clamp(70px, 8vw, 110px); }
.related-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 22px; padding-top: clamp(34px, 4vw, 54px); border-top: 1px solid var(--line); }
.related-head .h3 { margin: 0; }
.related-all { font-size: 15px; font-weight: 600; color: var(--theme-color3); text-decoration: underline; text-underline-offset: 3px; }
.related-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.related-grid li { display: flex; min-width: 0; }
.related-card { min-height: 180px; padding: 22px 22px 20px; }
.related-card .guide-title { display: block; margin: 0 0 10px; font-size: 17px; line-height: 1.35; font-weight: 600; }
.related-next { margin: 22px 0 0; font-size: 15px; color: var(--text-color); }
.related-next a { color: var(--theme-color3); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 991.98px) {
  .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .related-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .related-card { min-height: 0; }
  .article .box { padding: 18px 18px; }
}
.sp-table--sources { margin-top: 18px; }
.sp-table--sources td:first-child { font-weight: 600; color: var(--headings-color); }
.sp-table--sources td:first-child .sub { display: block; margin-top: 2px; font-size: 13px; line-height: 1.4; font-weight: 400; color: var(--text-color); }
.sp-table--sources td { font-size: 15px; line-height: 1.5; padding: 14px 18px 14px 0; }
.sp-table--sources th:first-child, .sp-table--sources td:first-child { width: 20%; }
.split-section .note { font-size: 14px; line-height: 1.55; color: var(--text-color); margin: 0; }
@media (max-width: 767.98px) {
  .sp-table--sources th:first-child, .sp-table--sources td:first-child { width: auto; }
  .sp-table--sources td:first-child::before { display: none; }
}
