:root {
  --ink: #07100c;
  --ink-2: #0b1610;
  --panel: #101c15;
  --panel-2: #0e1d13;
  --paper: #eef4ed;
  --lime: #72ef45;
  --lime-bright: #9cf77b;
  --line: rgba(221, 248, 223, .15);
  --copy: #adbdaf;
  --muted: #839487;
  --amber: #f2bd5b;
  --radius: 7px;
  --sans: Avenir Next, Avenir, Segoe UI, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: #edf6ed; font-family: var(--sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }
:focus-visible { outline: 3px solid #b1fb90; outline-offset: 3px; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 100; padding: 10px 13px; transform: translateY(-160%); border-radius: 4px; background: #eff9ef; color: #07100c; font-size: .75rem; font-weight: 800; transition: transform .15s ease; }
.skip-link:focus { transform: translateY(0); }
.mobile-quicknav { display: none; }
.section-frame { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section { padding: clamp(74px, 9vw, 124px) 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 740; letter-spacing: -.06em; }
h1 { max-width: 730px; margin-bottom: 25px; font-size: clamp(3.1rem, 6.3vw, 5.55rem); line-height: .96; }
h2 { margin-bottom: 0; font-size: clamp(2.45rem, 4.6vw, 4.4rem); line-height: .98; }
h1 em, h2 em { color: var(--lime); font-style: normal; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin-bottom: 18px; color: #91f36e; font-size: .67rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow > span { width: 22px; height: 1px; background: currentColor; }
.eyebrow-dark { color: #0c6b30; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(7,16,12,.92); border-bottom: 1px solid rgba(220,251,227,.1); backdrop-filter: blur(18px); }
.header-inner { display: grid; grid-template-columns: 200px 1fr auto; gap: 28px; align-items: center; width: min(1280px, calc(100% - 48px)); height: 80px; margin: auto; }
.brand { display: flex; align-items: center; width: 184px; }
.brand-logo { display: block; width: 168px; height: 64px; object-fit: contain; object-position: left center; }
.main-nav { display: flex; justify-content: center; gap: 28px; }
.main-nav a { color: #c7d2c9; font-size: .76rem; font-weight: 750; letter-spacing: .045em; transition: color .16s ease; }
.main-nav a:hover { color: var(--lime-bright); }
.header-actions { display: flex; align-items: center; gap: 12px; }
.header-phone { display: flex; align-items: center; gap: 8px; color: #cbd6ce; font-size: .78rem; font-weight: 750; white-space: nowrap; }
.header-cta, .button-primary { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 15px; border-radius: 5px; background: var(--lime); color: #07100c; font-size: .76rem; font-weight: 850; letter-spacing: .02em; transition: transform .16s ease, background .16s ease; }
.header-cta:hover, .button-primary:hover { background: var(--lime-bright); transform: translateY(-1px); }
.language-control { position: relative; z-index: 2; }
.language-control summary { display: flex; align-items: center; gap: 5px; min-height: 34px; list-style: none; cursor: pointer; color: #c7d4ca; font-size: .67rem; font-weight: 850; letter-spacing: .04em; }
.language-control summary::-webkit-details-marker { display: none; }
.language-control[open] summary { color: #99f675; }
.language-popover { position: absolute; right: 0; top: calc(100% + 10px); width: 250px; padding: 14px; border: 1px solid rgba(157,247,120,.28); border-radius: 5px; background: #112017; box-shadow: 0 18px 50px rgba(0,0,0,.35); }
.language-popover p { margin: 0 0 10px; color: #a7b8ab; font-size: .63rem; line-height: 1.45; }
.language-popover a { display: block; margin-top: 10px; color: #97f470; font-size: .66rem; font-weight: 750; }
#google_translate_element select { width: 100%; min-height: 34px; padding: 6px; border: 1px solid rgba(221,249,223,.2); border-radius: 3px; background: var(--ink); color: #edf5ed; font-size: .72rem; }

.assurance-strip { background: linear-gradient(90deg, var(--lime), #9bf770 55%, #65db40); color: #061008; }
.assurance-inner { display: flex; align-items: center; gap: 10px; min-height: 37px; font-size: .69rem; font-weight: 800; letter-spacing: .025em; }
.assurance-mark { width: 7px; height: 7px; border-radius: 50%; background: #0b4a21; box-shadow: 0 0 0 5px rgba(6,70,31,.15); }
.assurance-inner p { margin: 0; }
.assurance-inner p span { margin: 0 7px; opacity: .6; }
.assurance-inner a { margin-left: auto; text-decoration: underline; text-underline-offset: 3px; }

.hero-section { position: relative; overflow-x: hidden; overflow-x: clip; padding: clamp(72px,10vw,130px) 0 84px; background: radial-gradient(circle at 75% 25%,rgba(50,158,76,.2),transparent 34%), var(--ink); }
.hero-section::after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; content: ''; background: linear-gradient(90deg,transparent,rgba(114,239,69,.4),transparent); }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(390px,.95fr); align-items: center; gap: clamp(40px,8vw,112px); }
.hero-intro { max-width: 640px; margin-bottom: 34px; color: #b7c5bb; font-size: clamp(1rem,1.35vw,1.14rem); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 48px; }
.button-primary { min-height: 52px; padding: 0 20px; font-size: .82rem; }
.button-ghost { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 16px; border: 1px solid rgba(221,248,223,.18); border-radius: 5px; color: #d9e6dc; font-size: .8rem; font-weight: 750; transition: border-color .16s ease, color .16s ease; }
.button-ghost:hover { border-color: var(--lime); color: var(--lime-bright); }
.hero-facts { display: grid; grid-template-columns: repeat(3,1fr); max-width: 645px; border-top: 1px solid var(--line); }
.hero-facts > div { display: flex; flex-direction: column; gap: 5px; padding: 16px 14px 0 0; }
.hero-facts > div + div { padding-left: 15px; border-left: 1px solid var(--line); }
.hero-facts strong { color: #f3fbf5; font-size: .86rem; }
.hero-facts span { color: #91a396; font-size: .68rem; line-height: 1.35; }
.hero-visual { position: relative; display: grid; min-height: 510px; place-items: center; }
.hero-orbit { position: absolute; border: 1px solid rgba(129,255,104,.16); border-radius: 50%; }
.hero-orbit-one { width: 460px; height: 460px; transform: rotate(-22deg); }
.hero-orbit-two { width: 580px; height: 236px; transform: rotate(-33deg); }
.consulting-card { position: relative; z-index: 2; width: min(100%,406px); min-height: 393px; padding: 22px; overflow: hidden; border: 1px solid rgba(160,248,153,.28); border-radius: 8px; background: linear-gradient(135deg,rgba(18,42,25,.98),rgba(7,17,12,.92)); box-shadow: 0 26px 80px rgba(0,0,0,.32); }
.consulting-card::before { position: absolute; top: -165px; right: -155px; width: 360px; height: 360px; content: ''; border-radius: 50%; background: radial-gradient(circle,rgba(122,246,78,.4),transparent 66%); }
.consulting-card-top, .consulting-card-bottom { position: relative; display: flex; align-items: center; justify-content: space-between; }
.card-index { color: #87b68f; font-size: .62rem; font-weight: 800; letter-spacing: .13em; }
.live-status { display: inline-flex; align-items: center; gap: 7px; color: #bcefb4; font-size: .63rem; font-weight: 700; }
.live-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(114,239,69,.13); }
.consulting-card-word { position: relative; display: flex; flex-direction: column; margin-top: 77px; letter-spacing: -.07em; }
.consulting-card-word span { color: #d7f4d9; font-size: 3.85rem; font-weight: 300; line-height: .9; }
.consulting-card-word strong { color: #8af553; font-size: 3.06rem; line-height: .95; }
.consulting-lines { position: relative; display: flex; gap: 5px; margin: 28px 0 24px; }
.consulting-lines span { display: block; height: 3px; background: #84f454; }
.consulting-lines span:nth-child(1) { width: 46%; }.consulting-lines span:nth-child(2) { width: 29%; opacity: .65; }.consulting-lines span:nth-child(3) { flex: 1; opacity: .28; }
.consulting-matrix { position: relative; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(200,255,197,.16); border-bottom: 1px solid rgba(200,255,197,.16); }
.consulting-matrix div { display: flex; flex-direction: column; gap: 3px; padding: 12px 8px; }
.consulting-matrix div + div { border-left: 1px solid rgba(200,255,197,.16); }
.consulting-matrix small { color: #7ff153; font-size: .57rem; font-weight: 800; }.consulting-matrix span { color: #cfddcf; font-size: .67rem; font-weight: 700; }
.consulting-card-bottom { margin-top: 19px; color: #91a995; font-size: .63rem; letter-spacing: .11em; text-transform: uppercase; }
.hero-logo-panel { position: absolute; z-index: 1; right: -16px; bottom: 8px; display: flex; align-items: center; gap: 14px; width: 268px; padding: 12px; border: 1px solid rgba(214,255,211,.16); border-radius: 6px; background: rgba(9,24,15,.9); backdrop-filter: blur(12px); }
.hero-logo-panel img { width: 77px; height: 61px; object-fit: contain; }.hero-logo-panel p { margin: 0; color: #dce9df; font-size: .67rem; font-weight: 700; line-height: 1.45; }

.services-section { background: #0a130e; }
.section-heading { margin-bottom: 49px; }.split-heading, .process-heading { display: grid; grid-template-columns: 1fr minmax(270px,360px); align-items: end; gap: 56px; }
.section-heading > p { margin: 0 0 3px; color: #a6b6a9; font-size: .96rem; line-height: 1.67; }
.services-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.service-card { display: flex; flex-direction: column; min-height: 294px; padding: 22px; border: 1px solid rgba(214,247,216,.11); background: var(--panel); transition: transform .18s ease,border-color .18s ease,background .18s ease; }
.service-card:hover { border-color: rgba(128,242,88,.55); background: #13241a; transform: translateY(-4px); }
.service-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: auto; color: #83f158; }.service-card-top span { font-size: .65rem; font-weight: 800; letter-spacing: .12em; }.service-card-top b { font-size: 1.3rem; font-weight: 400; }
.service-card h3 { margin: 37px 0 12px; color: #f1f8f2; font-size: 1.25rem; letter-spacing: -.03em; }.service-card p { min-height: 72px; margin-bottom: 19px; color: #a7b6aa; font-size: .8rem; line-height: 1.6; }.service-card a { color: #8ff168; font-size: .71rem; font-weight: 800; line-height: 1.35; }.service-card a:hover { color: #c1ffa6; }

.principle-section { position: relative; overflow: hidden; background: var(--lime); color: #061009; }.principle-section::after { position: absolute; right: -2vw; bottom: -4vw; content: 'SCC'; color: rgba(4,48,20,.11); font-size: min(28vw,340px); font-weight: 800; letter-spacing: -.13em; line-height: .65; }.principle-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 90px; }.principle-statement h2 { max-width: 620px; color: #07100a; }.principle-statement h2 em { color: #0d7b35; }.principle-copy { max-width: 440px; }.principle-copy p { margin-bottom: 27px; color: #093719; font-size: 1rem; line-height: 1.7; }.principle-copy a { color: #0a4620; font-size: .78rem; font-weight: 850; text-decoration: underline; text-underline-offset: 5px; }

.process-section { background: var(--ink); }.process-list { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }.process-list li { display: grid; grid-template-columns: 96px 1fr 24px; gap: 20px; align-items: center; min-height: 127px; border-bottom: 1px solid var(--line); transition: padding .18s ease,background .18s ease; }.process-list li:hover { padding-left: 13px; background: rgba(114,239,69,.035); }.process-list li > span { color: #7ff151; font-size: .69rem; font-weight: 850; letter-spacing: .11em; }.process-list h3 { margin-bottom: 7px; color: #eff7f0; font-size: 1.21rem; letter-spacing: -.03em; }.process-list p { margin: 0; color: #9dada0; font-size: .83rem; line-height: 1.5; }.process-list b { color: #8cf265; font-size: 1.1rem; font-weight: 400; }

.audit-section { background: #0e1b13; }.audit-grid { display: grid; grid-template-columns: minmax(350px,.88fr) minmax(0,1.12fr); align-items: center; gap: clamp(44px,9vw,122px); }.audit-visual { position: relative; display: grid; min-height: 430px; place-items: center; }.audit-ring { position: absolute; width: 366px; height: 366px; border: 1px solid rgba(129,245,92,.25); border-radius: 50%; }.audit-ring::before,.audit-ring::after { position: absolute; content: ''; border-radius: 50%; }.audit-ring::before { inset: 38px; border: 1px dashed rgba(129,245,92,.27); }.audit-ring::after { inset: 83px; background: radial-gradient(circle,rgba(114,239,69,.33),transparent 64%); }.audit-ticket { position: relative; z-index: 1; width: 260px; padding: 22px; border: 1px solid rgba(170,246,154,.45); background: linear-gradient(145deg,#183925,#0b1b11); box-shadow: 22px 25px 0 rgba(114,239,69,.1); }.ticket-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 45px; color: #83f15a; font-size: .58rem; font-weight: 850; letter-spacing: .13em; }.audit-ticket > strong { color: #f3fbf3; font-size: 1.75rem; letter-spacing: -.05em; }.ticket-divider { display: block; height: 1px; margin: 20px 0 6px; background: rgba(213,255,211,.2); }.audit-ticket > div:not(.ticket-header) { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; color: #9eb4a4; font-size: .65rem; }.audit-ticket > div b { color: #a4f783; font-size: .57rem; letter-spacing: .08em; text-transform: uppercase; }.audit-ticket p { margin: 25px 0 0; color: #7c9682; font-size: .6rem; letter-spacing: .09em; text-transform: uppercase; }.audit-copy > p:not(.eyebrow) { max-width: 560px; margin: 27px 0; color: #adbfb1; font-size: .97rem; line-height: 1.72; }.audit-copy ul { display: grid; gap: 12px; margin: 0 0 28px; padding: 0; list-style: none; }.audit-copy li { color: #e0ece2; font-size: .8rem; }.audit-copy li::first-letter { color: #7cf150; }.audit-copy a { color: #8ff168; font-size: .75rem; font-weight: 800; }

.interface-section { padding-top: clamp(68px,8vw,108px); padding-bottom: clamp(68px,8vw,108px); background: var(--ink); }.interface-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 74px; align-items: center; }.interface-grid h2 { max-width: 520px; }.interface-links { border-top: 1px solid var(--line); }.interface-links a { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; border-bottom: 1px solid var(--line); color: #dae7dc; font-size: .86rem; font-weight: 750; transition: color .16s ease,padding .16s ease; }.interface-links a:hover { padding-left: 8px; color: #94f470; }

.faq-section { background: #0b1610; }.faq-grid { display: grid; grid-template-columns: minmax(275px,.75fr) minmax(0,1.25fr); gap: clamp(56px,10vw,150px); }.faq-intro p:not(.eyebrow) { max-width: 390px; margin: 26px 0; color: #a8b9ac; font-size: .92rem; line-height: 1.68; }.faq-intro a { color: #8ff168; font-size: .75rem; font-weight: 800; }.faq-list { border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 21px 0; cursor: pointer; color: #eef8ef; font-size: .96rem; font-weight: 700; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary b { color: #96f373; font-size: 1.1rem; font-weight: 400; }.faq-list details[open] summary b { transform: rotate(180deg); }.faq-list p { padding: 0 34px 19px 0; margin: 0; color: #aabaae; font-size: .88rem; line-height: 1.65; }

.sources-section { background: var(--paper); color: #07100b; }.sources-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(45px,10vw,145px); }.sources-intro h2 { color: #0a1b10; }.sources-intro h2 em { color: #168640; }.sources-intro p:not(.eyebrow) { max-width: 400px; margin: 25px 0 0; color: #496052; font-size: .92rem; line-height: 1.7; }.sources-list { border-top: 1px solid rgba(10,45,19,.2); }.sources-list a { position: relative; display: block; padding: 17px 35px 16px 0; border-bottom: 1px solid rgba(10,45,19,.2); }.sources-list a:hover strong { color: #0c8136; }.sources-list a::after { position: absolute; top: 24px; right: 0; content: '↗'; color: #188b3f; }.sources-list small { display: block; margin-bottom: 5px; color: #12833c; font-size: .58rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }.sources-list strong { display: block; color: #0d2715; font-size: .88rem; transition: color .15s ease; }.sources-list span { display: block; margin-top: 5px; color: #5d6f61; font-size: .74rem; line-height: 1.45; }

.contact-section { padding: clamp(78px,10vw,132px) 0; background: radial-gradient(circle at 80% 50%,rgba(67,179,70,.18),transparent 36%),var(--ink); }.contact-grid { display: grid; grid-template-columns: minmax(275px,.83fr) minmax(390px,1.17fr); gap: clamp(46px,9vw,124px); align-items: start; }.contact-copy { min-width: 0; }.contact-copy h2 { max-width: 100%; overflow-wrap: anywhere; }.contact-copy h2 .contact-title-prefix,.contact-copy h2 em { display: block; }.contact-copy h2 em { overflow-wrap: normal; }.contact-copy > p:not(.eyebrow) { max-width: 430px; margin: 29px 0 34px; color: var(--copy); font-size: .96rem; line-height: 1.7; }.contact-details { display: grid; gap: 12px; }.contact-details > a { display: flex; gap: 13px; align-items: center; min-width: 0; padding: 11px 0; border-bottom: 1px solid rgba(219,248,225,.13); }.contact-details > a > b { flex: none; color: #82f258; font-size: 1rem; }.contact-details > a > span { display: flex; flex-direction: column; min-width: 0; gap: 3px; }.contact-details small { color: #809383; font-size: .59rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }.contact-details strong { color: #dce8de; font-size: .78rem; }.contact-details .contact-phone strong { display: block; min-width: max-content; color: #effcf0; font-size: .92rem; font-weight: 850; letter-spacing: .02em; line-height: 1.25; white-space: nowrap; }.contact-details > a:hover strong { color: #95f471; }.business-locations { max-width: 540px; margin-top: 27px; }.business-locations > p { margin: 0 0 10px; color: #85ef5e; font-size: .61rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.location-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.location-cards a { display: flex; flex-direction: column; min-height: 129px; padding: 13px; border: 1px solid rgba(219,248,225,.14); background: rgba(18,37,24,.65); transition: border-color .16s ease,background .16s ease; }.location-cards a:hover { border-color: rgba(130,242,89,.62); background: rgba(20,52,30,.76); }.location-cards small { color: #7c9a82; font-size: .54rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.location-cards strong { margin: 4px 0; color: #f0f8f1; font-size: .87rem; }.location-cards span { color: #9aaea0; font-size: .64rem; line-height: 1.46; }.location-cards em { margin-top: auto; padding-top: 10px; color: #8eef68; font-size: .59rem; font-style: normal; font-weight: 800; }.contact-note { display: flex; align-items: flex-start; gap: 10px; max-width: 410px; margin-top: 32px; padding: 13px 14px; border: 1px solid rgba(240,189,91,.3); background: rgba(242,189,91,.06); }.contact-note b { color: var(--amber); }.contact-note p { margin: 0; color: #d1c5a4; font-size: .71rem; line-height: 1.55; }.contact-note strong,.contact-note a { color: #f3d487; }.contact-note a { text-decoration: underline; text-underline-offset: 3px; }

.contact-form-shell { padding: clamp(22px,3.2vw,38px); border: 1px solid rgba(171,247,156,.24); border-radius: var(--radius); background: var(--panel-2); box-shadow: 0 24px 80px rgba(0,0,0,.25); }.form-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 19px; border-bottom: 1px solid rgba(223,250,225,.13); color: #bdccbf; font-size: .68rem; font-weight: 700; }.form-heading > span:first-child { color: #87b68f; font-size: .62rem; font-weight: 800; letter-spacing: .13em; }.contact-form-shell form { padding-top: 20px; }.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }.form-grid { display: grid; gap: 13px; margin-bottom: 13px; }.two-columns { grid-template-columns: 1fr 1fr; }.contact-form-shell label { display: grid; gap: 6px; color: #c7d6c9; font-size: .67rem; font-weight: 700; }.contact-form-shell label i { color: #86ef5c; font-style: normal; }.contact-form-shell input,.contact-form-shell textarea,.contact-form-shell select { width: 100%; border: 1px solid rgba(218,250,221,.19); border-radius: 4px; background: rgba(6,15,10,.65); color: #f0f8f1; }.contact-form-shell input { height: 40px; padding: 0 11px; }.contact-form-shell textarea { min-height: 104px; padding: 10px 11px; resize: vertical; }.contact-form-shell select { height: 40px; padding: 0 34px 0 11px; }.contact-form-shell input::placeholder,.contact-form-shell textarea::placeholder { color: #73877a; }.contact-form-shell input:focus,.contact-form-shell textarea:focus,.contact-form-shell select:focus { outline: 2px solid rgba(128,242,88,.6); outline-offset: 1px; }.message-field { margin-bottom: 14px; }.consent-row { grid-template-columns: 17px 1fr; align-items: start; gap: 9px !important; margin-bottom: 14px; }.consent-row > span { color: #9fb1a2; font-size: .65rem; font-weight: 500; line-height: 1.45; }.consent-row a { color: #91ef69; text-decoration: underline; text-underline-offset: 3px; }.security-note { margin: 0 0 12px; color: #a89b74; font-size: .64rem; line-height: 1.45; }.form-result { min-height: 0; margin: 0; }.form-result.success,.form-result.error { margin: 0 0 13px; padding: 9px 10px; font-size: .69rem; line-height: 1.45; }.form-result.success { border-left: 2px solid #82ed5b; background: rgba(130,237,91,.08); color: #b9e8ad; }.form-result.error { border-left: 2px solid var(--amber); background: rgba(242,189,91,.08); color: #f4d996; }.contact-form-shell button[type=submit] { width: 100%; height: 48px; border: 0; border-radius: 4px; background: var(--lime); color: #061009; font-weight: 850; }.contact-form-shell button[type=submit]:hover { background: var(--lime-bright); }.contact-form-shell button[disabled] { cursor: wait; opacity: .75; }.form-disclaimer { margin: 11px 0 0; color: #718276; font-size: .6rem; line-height: 1.4; text-align: center; }.calendly-consent { display: grid; min-width: 0; gap: 14px; margin-top: 26px; padding: 17px; border: 1px solid rgba(141,239,106,.25); border-radius: 6px; background: linear-gradient(135deg,rgba(91,230,75,.1),rgba(14,29,19,.7)); }.calendly-kicker { margin: 0 0 5px; color: #8eee68; font-size: .58rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }.calendly-consent strong { display: block; color: #eff9ef; font-size: .91rem; }.calendly-consent > div:first-child > p:not(.calendly-kicker) { margin: 7px 0 0; color: #aabdaf; font-size: .68rem; line-height: 1.48; }.calendly-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }.calendly-load { min-height: 39px; padding: 0 13px; border: 0; border-radius: 4px; background: var(--lime); color: #061009; font-size: .69rem; font-weight: 850; }.calendly-load:hover { background: var(--lime-bright); }.calendly-external { color: #bdecb6; font-size: .66rem; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }.calendly-external:hover { color: #9cf77b; }.calendly-disclaimer { margin: 0; color: #849a89; font-size: .58rem; line-height: 1.45; }.calendly-disclaimer a { color: #a7eb94; text-decoration: underline; text-underline-offset: 2px; }.calendly-widget { min-width: 0; margin-top: 14px; overflow: hidden; border: 1px solid rgba(159,245,136,.28); border-radius: 6px; background: #eff6ef; }.calendly-widget[hidden] { display: none; }.calendly-widget-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 14px; border-bottom: 1px solid rgba(8,35,14,.16); background: #eef8ef; color: #0b2312; }.calendly-widget-heading small { display: block; color: #28713c; font-size: .53rem; font-weight: 850; letter-spacing: .12em; }.calendly-widget-heading strong { display: block; margin-top: 3px; font-size: .78rem; }.calendly-widget-heading button { border: 1px solid rgba(10,58,24,.22); border-radius: 4px; background: transparent; color: #174325; font-size: .62rem; font-weight: 800; }.calendly-widget-heading button:hover { border-color: #258c45; color: #0b6a2e; }.calendly-widget iframe { display: block; width: 100%; min-height: 720px; border: 0; background: #fff; }

.it-recht-mandantenhinweis { box-sizing: border-box; display: flex; align-items: center; justify-content: center; gap: 1rem; width: 100%; padding: 1rem max(1rem,calc((100% - 72rem) / 2)); border-block: 1px solid #b8d8c0; background: #eef7f0; color: #12351f; font: 500 .875rem/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align: left; }.it-recht-mandantenhinweis a { display: inline-flex; flex: 0 0 auto; border-radius: .35rem; }.it-recht-mandantenhinweis a:focus-visible { outline: 3px solid #0b6b36; outline-offset: 4px; }.it-recht-mandantenhinweis img { display: block; width: 16.75rem; max-width: 100%; height: auto; }.it-recht-mandantenhinweis p { max-width: 32rem; margin: 0; }
.site-footer { background: #040a07; }.footer-grid { display: grid; grid-template-columns: 1fr auto; gap: 80px; padding: 48px 0 38px; }.footer-brand img { display: block; width: 179px; height: 104px; object-fit: contain; object-position: left center; }.footer-brand p { max-width: 290px; margin: 10px 0 0; color: #a4b4a7; font-size: .7rem; line-height: 1.55; }.footer-links { display: grid; grid-template-columns: repeat(2,155px); gap: 45px; }.footer-links div { display: flex; flex-direction: column; gap: 9px; }.footer-links span { margin-bottom: 3px; color: #8af05f; font-size: .6rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.footer-links a { color: #c1d0c4; font-size: .7rem; }.footer-links a:hover { color: #a0f579; }.footer-bottom { display: flex; justify-content: space-between; gap: 24px; padding: 15px 0 23px; border-top: 1px solid rgba(221,248,223,.11); color: #9bac9f; font-size: .6rem; }

.chat-launcher { position: fixed; right: 22px; bottom: 22px; z-index: 60; }.chat-toggle { display: flex; align-items: center; gap: 9px; min-height: 48px; padding: 0 17px; border: 1px solid rgba(177,250,155,.44); border-radius: 999px; background: #112c19; color: #eff9ef; box-shadow: 0 14px 38px rgba(0,0,0,.35); font-size: .76rem; font-weight: 800; }.chat-toggle:hover { background: #1b4828; }.chat-toggle b { display: grid; width: 23px; height: 23px; border-radius: 50%; background: var(--lime); color: #061009; place-items: center; }.chat-panel { position: absolute; right: 0; bottom: 60px; display: none; width: min(370px,calc(100vw - 32px)); overflow: hidden; border: 1px solid rgba(177,250,155,.36); border-radius: 10px; background: #0d1b12; box-shadow: 0 24px 80px rgba(0,0,0,.45); }.chat-launcher.open .chat-panel { display: block; }.chat-panel-header { display: flex; align-items: start; justify-content: space-between; gap: 14px; padding: 18px; border-bottom: 1px solid var(--line); background: linear-gradient(135deg,#173824,#0d1b12); }.chat-panel-header p { margin: 3px 0 0; color: #a8bcae; font-size: .67rem; line-height: 1.45; }.chat-panel-header strong { color: #f1fbf1; font-size: .89rem; }.chat-close { width: 29px; height: 29px; border: 1px solid rgba(220,248,223,.18); border-radius: 50%; background: transparent; color: #b7cbb9; }.chat-close:hover { color: var(--lime); }.chat-messages { display: grid; gap: 10px; max-height: 282px; min-height: 92px; padding: 15px 18px; overflow-y: auto; }.chat-message { width: fit-content; max-width: 91%; padding: 10px 12px; border-radius: 8px 8px 8px 2px; background: #183122; color: #dceadd; font-size: .75rem; line-height: 1.45; }.chat-message.user { justify-self: end; border-radius: 8px 8px 2px 8px; background: #71e949; color: #061009; }.chat-message.error { border-left: 2px solid var(--amber); background: rgba(242,189,91,.1); color: #f3d48d; }.chat-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 13px 18px 7px; border-top: 1px solid var(--line); }.chat-form input { min-width: 0; height: 40px; padding: 0 10px; border: 1px solid rgba(218,250,221,.2); border-radius: 5px; background: #07100c; color: #eef8ef; font-size: .74rem; }.chat-form input:focus { outline: 2px solid rgba(128,242,88,.6); }.chat-form button { min-width: 58px; border: 0; border-radius: 5px; background: var(--lime); color: #061009; font-size: .7rem; font-weight: 850; }.chat-form button[disabled] { opacity: .7; }.chat-consent { display: grid; grid-template-columns: 13px 1fr; gap: 8px; padding: 3px 18px 5px; color: #a8bcae; font-size: .58rem; line-height: 1.4; }.chat-consent input { width: 13px; height: 13px; margin: 1px 0 0; accent-color: var(--lime); }.chat-note { margin: 0; padding: 0 18px 15px; color: #809783; font-size: .58rem; line-height: 1.45; }.chat-note a { color: #98ed78; text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 1040px) { .header-inner { grid-template-columns: 185px 1fr auto; gap: 16px; }.main-nav { gap: 16px; }.header-phone span { display: none; }.header-phone { padding: 10px; border: 1px solid var(--line); border-radius: 5px; }.hero-grid,.audit-grid,.contact-grid { grid-template-columns: 1fr; }.hero-grid { gap: 35px; }.hero-visual { width: 100%; max-width: 520px; min-height: 440px; margin: auto; }.split-heading,.process-heading,.interface-grid,.faq-grid,.sources-grid,.principle-grid { grid-template-columns: 1fr; gap: 30px; }.section-heading > p { max-width: 550px; }.services-grid { grid-template-columns: repeat(2,1fr); }.principle-copy { max-width: 560px; }.interface-links { max-width: 660px; }.audit-visual { min-height: 350px; }.contact-copy > p:not(.eyebrow),.contact-details { max-width: 540px; }.footer-grid { grid-template-columns: 1fr; gap: 38px; } }
@media (max-width: 720px) { .section-frame,.header-inner { width: min(100% - 32px,1180px); }.site-header { position: relative; }.header-inner { grid-template-columns: 1fr auto; height: 72px; }.brand { width: 144px; }.brand-logo { width: 146px; height: 55px; }.main-nav { display: none; }.header-actions { gap: 8px; }.header-cta { min-height: 38px; padding: 0 10px; font-size: .66rem; }.language-control summary { font-size: 0; }.language-control summary span { font-size: 1rem; }.language-popover { right: -52px; }.assurance-inner { min-height: 41px; font-size: .61rem; line-height: 1.28; }.assurance-inner a { display: none; }.mobile-quicknav { display: flex; gap: 4px; padding: 9px 16px; overflow-x: auto; border-bottom: 1px solid rgba(221,248,223,.12); background: #0b1610; white-space: nowrap; }.mobile-quicknav a { flex: none; padding: 7px 9px; border: 1px solid rgba(221,248,223,.17); border-radius: 999px; color: #dbe8de; font-size: .62rem; font-weight: 750; }.mobile-quicknav a:hover { border-color: #72ef45; color: #9cf77b; }.hero-section { padding: 66px 0 65px; }.hero-facts { grid-template-columns: 1fr; max-width: 340px; }.hero-facts > div,.hero-facts > div + div { padding: 11px 0; border-right: 0; border-bottom: 1px solid var(--line); border-left: 0; }.hero-visual { min-height: 375px; }.hero-orbit-one { width: 340px; height: 340px; }.hero-orbit-two { width: 410px; height: 185px; }.consulting-card { width: min(100%,335px); min-height: 340px; padding: 17px; }.consulting-card-word { margin-top: 58px; }.consulting-card-word span { font-size: 3.15rem; }.consulting-card-word strong { font-size: 2.5rem; }.hero-logo-panel { right: 0; bottom: 0; width: 220px; }.services-grid { grid-template-columns: 1fr; }.service-card { min-height: 248px; }.service-card p { min-height: auto; }.process-list li { grid-template-columns: 58px 1fr; gap: 14px; min-height: 0; padding: 18px 0; }.process-list li > b { display: none; }.audit-visual { min-height: 310px; }.audit-ring { width: 290px; height: 290px; }.audit-ticket { width: 236px; }.two-columns,.location-cards { grid-template-columns: 1fr; }.booking-hint { min-height: 46px; }.footer-links { grid-template-columns: repeat(2,minmax(120px,1fr)); gap: 26px; }.footer-bottom { display: grid; gap: 6px; }.chat-launcher { right: 16px; bottom: 16px; }.chat-toggle span { display: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
@media (max-width: 430px) { .header-phone { display: none; }.hero-actions { align-items: stretch; flex-direction: column; }.button-primary,.button-ghost { width: 100%; }.section { padding-top: 66px; padding-bottom: 66px; }.contact-section { padding-top: 70px; padding-bottom: 70px; }.contact-form-shell { margin-inline: -1px; padding: 19px; }.form-heading { align-items: flex-start; flex-direction: column; } }
@media (max-width: 40rem) { .it-recht-mandantenhinweis { flex-direction: column; padding: 1rem; text-align: center; }.it-recht-mandantenhinweis img { width: min(16.75rem,78vw); } }
@media (forced-colors: active) { .it-recht-mandantenhinweis { border: 1px solid CanvasText; } }
@media (max-width: 720px) { .calendly-actions { align-items: stretch; flex-direction: column; }.calendly-load { width: 100%; }.calendly-external { padding: 5px 0; text-align: center; }.calendly-widget-heading { align-items: flex-start; flex-direction: column; }.calendly-widget iframe { min-height: 760px; } }

/* Beratungs-Detailseiten */
.detail-page { background: var(--ink); color: var(--copy); }.detail-header .brand { flex: 0 0 auto; }.detail-header .main-nav { justify-content: flex-start; }.detail-header .header-actions { justify-content: flex-end; }.detail-main { overflow: hidden; }.breadcrumbs { padding: 20px 0 0; color: #9fb2a3; font-size: .7rem; }.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }.breadcrumbs li + li::before { margin-right: 8px; color: #6f8576; content: "/"; }.breadcrumbs a { color: #b6d5bb; }.breadcrumbs a:hover { color: var(--lime-bright); }.detail-hero { position: relative; padding: clamp(54px,8vw,106px) 0 clamp(68px,10vw,132px); background: radial-gradient(circle at 82% 12%,rgba(94,228,77,.17),transparent 30%),linear-gradient(142deg,#0d2115 0%,#07100c 68%); }.detail-hero-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(250px,.75fr); align-items: end; gap: clamp(34px,7vw,110px); }.detail-hero h1 { max-width: 790px; margin: 13px 0 22px; color: #f1faf2; font-size: clamp(2.25rem,5.1vw,4.9rem); line-height: .98; letter-spacing: -.065em; }.detail-hero h1 em { color: var(--lime-bright); font-style: normal; }.detail-hero-intro { max-width: 700px; margin: 0; color: #bdcbbf; font-size: clamp(1rem,1.6vw,1.18rem); line-height: 1.7; }.detail-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }.detail-aside { display: grid; gap: 13px; padding: 23px; border: 1px solid rgba(178,249,158,.25); border-radius: var(--radius); background: rgba(11,33,18,.68); box-shadow: 0 20px 60px rgba(0,0,0,.22); }.detail-aside small { color: #91ed70; font-size: .59rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }.detail-aside strong { color: #eff9ef; font-size: 1.05rem; line-height: 1.25; }.detail-aside p { margin: 0; color: #a6b9aa; font-size: .76rem; line-height: 1.58; }.detail-aside a { color: #9bf17d; font-size: .73rem; font-weight: 800; }.detail-section { padding: clamp(62px,8vw,108px) 0; }.detail-section-light { background: var(--paper); color: #0b2111; }.detail-section-light .eyebrow { color: #147c39; }.detail-section-light h2,.detail-section-light h3 { color: #0b2412; }.detail-section-light p,.detail-section-light li { color: #48604f; }.detail-heading { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(34px,8vw,120px); align-items: start; margin-bottom: 38px; }.detail-heading h2 { max-width: 560px; margin: 11px 0 0; color: inherit; font-size: clamp(1.85rem,3.8vw,3.35rem); line-height: 1.02; letter-spacing: -.055em; }.detail-heading h2 em { color: #19863e; font-style: normal; }.detail-heading > p { max-width: 640px; margin: 6px 0 0; font-size: 1rem; line-height: 1.72; }.detail-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.detail-card { min-height: 100%; padding: 25px; border: 1px solid rgba(220,248,223,.13); border-radius: 5px; background: var(--panel); }.detail-section-light .detail-card { border-color: rgba(12,61,24,.16); background: #f8fcf8; }.detail-card small { color: #8df06c; font-size: .6rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.detail-section-light .detail-card small { color: #19833c; }.detail-card h3 { margin: 16px 0 10px; color: #eff9f0; font-size: 1.18rem; letter-spacing: -.035em; }.detail-card p { margin: 0; color: #a7b9aa; font-size: .83rem; line-height: 1.65; }.detail-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(220,248,223,.15); }.detail-steps li { display: grid; grid-template-columns: 75px minmax(0,1fr); gap: 28px; padding: 26px 0; border-bottom: 1px solid rgba(220,248,223,.15); }.detail-steps b { color: #91f06e; font-size: .72rem; letter-spacing: .12em; }.detail-steps h3 { margin: 0 0 8px; color: #eef8ef; font-size: 1.1rem; }.detail-steps p { max-width: 730px; margin: 0; color: #a6b8a9; font-size: .88rem; line-height: 1.68; }.detail-faq { display: grid; grid-template-columns: minmax(0,.68fr) minmax(0,1.32fr); gap: clamp(34px,8vw,126px); }.detail-faq-intro h2 { margin: 10px 0 16px; color: #0b2512; font-size: clamp(1.9rem,3.5vw,3.2rem); line-height: 1.02; letter-spacing: -.055em; }.detail-faq-intro p { margin: 0; font-size: .96rem; line-height: 1.7; }.detail-faq-list { border-top: 1px solid rgba(9,50,20,.2); }.detail-faq-list details { border-bottom: 1px solid rgba(9,50,20,.2); }.detail-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; color: #0b2512; cursor: pointer; font-size: .94rem; font-weight: 800; list-style: none; }.detail-faq-list summary::-webkit-details-marker { display: none; }.detail-faq-list summary::after { flex: 0 0 auto; color: #177e39; content: "+"; font-size: 1.35rem; font-weight: 400; }.detail-faq-list details[open] summary::after { content: "−"; }.detail-faq-list p { max-width: 760px; margin: -3px 0 21px; color: #4d6553; font-size: .88rem; line-height: 1.7; }.detail-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.detail-links a { display: grid; gap: 8px; min-height: 162px; padding: 20px; border: 1px solid rgba(177,246,156,.18); border-radius: 5px; background: rgba(13,35,20,.75); transition: border-color .16s ease,transform .16s ease,background .16s ease; }.detail-links a:hover { border-color: rgba(139,241,107,.7); background: #15301e; transform: translateY(-3px); }.detail-links small { color: #8bed68; font-size: .58rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.detail-links strong { color: #f0f9f1; font-size: 1rem; }.detail-links span { color: #a9bbaa; font-size: .76rem; line-height: 1.55; }.detail-cta { padding: clamp(52px,7vw,88px) 0; background: linear-gradient(135deg,#113720,#0a1710); }.detail-cta-inner { display: flex; align-items: end; justify-content: space-between; gap: 34px; }.detail-cta h2 { max-width: 700px; margin: 10px 0 0; color: #f0faf1; font-size: clamp(1.9rem,3.6vw,3.25rem); line-height: 1.02; letter-spacing: -.055em; }.detail-cta p:not(.eyebrow) { max-width: 640px; margin: 17px 0 0; color: #b2c5b5; line-height: 1.68; }.detail-cta .button-primary { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 900px) { .detail-hero-grid,.detail-heading,.detail-faq { grid-template-columns: 1fr; }.detail-hero-grid { align-items: start; }.detail-aside { max-width: 590px; }.detail-grid,.detail-links { grid-template-columns: repeat(2,1fr); }.detail-cta-inner { align-items: start; flex-direction: column; } }
@media (max-width: 620px) { .detail-hero { padding-top: 44px; }.breadcrumbs { padding-top: 14px; }.detail-hero h1 { font-size: clamp(2.1rem,12vw,3.5rem); }.detail-hero-actions,.detail-hero-actions a { width: 100%; }.detail-grid,.detail-links { grid-template-columns: 1fr; }.detail-steps li { grid-template-columns: 48px minmax(0,1fr); gap: 14px; }.detail-section { padding: 62px 0; }.detail-cta .button-primary { width: 100%; text-align: center; } }

/* Keep chat and privacy controls in separate rows, including safe areas. */
.chat-launcher { bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
.chat-toggle span { display: inline; }
.chat-panel { max-height: calc(100vh - 148px - env(safe-area-inset-bottom, 0px)); max-height: calc(100dvh - 148px - env(safe-area-inset-bottom, 0px)); overflow-y: auto; }
#secuconsent-settings { bottom: calc(15px + env(safe-area-inset-bottom, 0px)); min-height: 44px; }
.chat-toggle:focus-visible, .chat-close:focus-visible { outline: 3px solid var(--lime); outline-offset: 4px; }
@media (max-width: 720px) {
  .chat-toggle { min-height: 44px; padding: 0 13px; }
  .chat-toggle span { display: inline; }
}

/* Readable service headings and source notes at narrow widths. */
.hero-copy h1 { font-size: clamp(2.6rem, 5.3vw, 4.7rem); }
h1, h2 { overflow-wrap: break-word; hyphens: auto; }
.editorial-sources { padding-block: 38px; }
.editorial-sources h2 { font-size: clamp(1.4rem, 2.8vw, 2rem); letter-spacing: -.03em; }
.editorial-sources p { max-width: 900px; line-height: 1.7; }
.editorial-sources a { color: var(--lime); text-decoration: underline; text-underline-offset: 3px; }
.editorial-sources .source-date { font-size: .8rem; color: #a6b9aa; }
.hero-copy h1 { hyphens: manual; }
.hero-copy h1 em { display: block; }
@media (min-width: 721px) and (max-width: 1040px) {
  .header-inner { grid-template-columns: 1fr auto; }
  .main-nav { display: none; }
  .mobile-quicknav { display: flex; gap: 12px; padding: 12px 24px; overflow-x: auto; background: #0b1610; border-bottom: 1px solid var(--line); }
  .mobile-quicknav a { flex: none; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; font-size: .8rem; }
}
.detail-section-light .detail-card h3 { color: #0b2412; }
.detail-section-light .detail-card p { color: #48604f; }
h1 { hyphens: manual; }
