
:root {
  --cvw: min(1vw, 25.6px);
  --edge: max(0px, 50vw - 1280px);
  --gnoise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E");
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-padding-top: var(--diw-header-offset, 7rem);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html:not(.reduce-motion) {
  scroll-behavior: smooth;
}

body {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-weight: 400;
  overflow-wrap: break-word;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

#main {
  overflow-x: hidden;
  overflow-x: clip;
}

@media (max-width: 767.98px) {
  .mx-auto[class*="max-w-"].px-4 {
    padding-left: 1vw;
    padding-right: 1vw;
  }
}

dd {
  margin: 0;
}

a {
  text-decoration: none !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Outfit', sans-serif;
  overflow-wrap: break-word;
}

h1 { font-weight: 800; }
h2 { font-weight: 600; }
h3 { font-weight: 500; }
h4 { font-weight: 500; }

:where(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}

::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #000;
}
::-webkit-scrollbar-thumb {
  background: #333;
}
::-webkit-scrollbar-thumb:hover {
  background: #555;
}


button {
  appearance: none;
  -webkit-appearance: none;
  border-width: 0;
  border-style: solid;
  background-color: transparent;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  font: inherit;
  color: inherit;
}

button:not(:disabled) {
  cursor: pointer;
}

input,
select,
textarea {
  appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
}

input[type="checkbox"],
input[type="radio"] {
  appearance: auto;
  -webkit-appearance: auto;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #1d4a4b;
  outline-offset: 2px;
}

.ed-focus-dark:focus-visible {
  outline-color: #efece7;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: #09090b;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  caret-color: #0073a6;
  transition: background-color 5000s ease-in-out 0s;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
input[type="number"],
input[type="password"],
textarea {
  caret-color: #0073a6;
}

html.overlay-open *:not(#mobile-menu):not(#mobile-menu *):not(#consultation-canvas):not(#consultation-canvas *):not(#consultation-backdrop) {
  animation-play-state: paused;
}

.media-loading {
  position: relative;
}

.media-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #ffffff;
  box-shadow: 0 0 0 1.5px rgba(0, 0, 0, 0.55);
  pointer-events: none;
  animation: media-loading-pulse 1.6s ease-in-out infinite;
}

.media-loading-video::after {
  top: auto;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
}

@keyframes media-loading-pulse {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 1; }
}

html.reduce-motion .media-loading::after {
  animation-duration: 3s;
  animation-name: media-loading-pulse-slow;
}

@keyframes media-loading-pulse-slow {
  0%, 100% { opacity: 0.55; }
  50% { opacity: 0.85; }
}

.ed-display {
    font-size: clamp(2.75rem, 8vw, 6.75rem);
    line-height: 0.97;
    letter-spacing: -0.03em;
    font-weight: 800;
}
.ed-display--sub {
    font-size: clamp(2.5rem, 5.2vw, 4.75rem);
    line-height: 1;
    letter-spacing: -0.025em;
}
.ed-ask {
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1.08;
    letter-spacing: -0.022em;
    font-weight: 700;
}
.ed-h3 {
    font-size: clamp(1.25rem, 1.7vw, 1.5rem);
    line-height: 1.25;
    font-weight: 600;
}
.ed-lead {
    font-size: clamp(1.125rem, 1.4vw, 1.3125rem);
    line-height: 1.55;
    font-weight: 400;
}
.ed-prose {
    font-size: clamp(1rem, 1.1vw, 1.0625rem);
    line-height: 1.65;
    font-weight: 400;
}
.ed-trust .ed-h3 {
    font-size: clamp(1rem, 1.36vw, 1.2rem);
}
.ed-trust .ed-prose {
    font-size: clamp(0.8rem, 0.88vw, 0.85rem);
}
.ed-table-card {
    background: #fff;
    border: 1px solid rgba(29,74,75,0.12);
    border-radius: 1.5rem;
    overflow-x: auto;
}
.ed-table { width: 100%; text-align: left; border-collapse: collapse; }
.ed-table thead { background: #1d4a4b; }
.ed-table thead th {
    padding: 1.25rem 1.5rem;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 0.95625rem;
    line-height: 1.3;
    color: #efece7;
}
.ed-table tbody th,
.ed-table tbody td {
    padding: 1.75rem 1.5rem;
    vertical-align: top;
    border-bottom: 1px solid rgba(29,74,75,0.15);
}
.ed-table tbody tr:last-child > th,
.ed-table tbody tr:last-child > td { border-bottom: 0; }
.ed-table tbody th {
    background: #efece7;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: clamp(1.0625rem, 1.445vw, 1.275rem);
    line-height: 1.25;
    color: #1d4a4b;
}
.ed-table tbody td {
    font-size: clamp(0.95625rem, 1.19vw, 1.115625rem);
    line-height: 1.55;
    color: rgba(9,9,11,0.8);
}
.ed-table__sub {
    display: block;
    margin-top: 0.375rem;
    font-weight: 400;
    font-size: clamp(0.85rem, 0.935vw, 0.903125rem);
    line-height: 1.65;
    color: rgba(9,9,11,0.65);
}
@media (min-width: 768px) {
    .ed-table thead th,
    .ed-table tbody th,
    .ed-table tbody td { padding-left: 2rem; padding-right: 2rem; }
}
@media (min-width: 1281px) {
    .ed-table thead th { font-size: 1.16875rem; }
}

.ed-label {
    font-size: 0.875rem;
    font-weight: 700;
}

.ed-kicker {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.ed-list { list-style: none; margin: 0; padding: 0; }
.ed-list > li { position: relative; padding-left: 1.9em; }
.ed-list > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.25em;
    width: 1.15em;
    height: 1.15em;
    background-color: #0073a6;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h14.5M13 6.5l5.5 5.5-5.5 5.5'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h14.5M13 6.5l5.5 5.5-5.5 5.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ed-list--light > li::before { background-color: #009fe3; }
.ed-num {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-size: clamp(3rem, 3.9vw, 3.75rem);
    line-height: 0.85;
    font-weight: 900;
    letter-spacing: -0.04em;
    color: #0073a6;
    user-select: none;
}
@media (min-width: 768px) {
    .ed-num--lg { font-size: clamp(6rem, 7.8vw, 7.5rem); }
}
.ed-follow { display: grid; grid-template-columns: clamp(6rem, 11vw, 10.5rem) minmax(0, 1fr) auto; align-items: center; column-gap: clamp(1.25rem, 2.2vw, 2.25rem); padding: 1.5rem 0; }
.ed-follow__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 0.875rem; background: #e7dfcf; }
.ed-follow__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
.ed-follow__arrow { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 3.25rem; height: 3.25rem; border-radius: 9999px; border: 1.5px solid rgba(9,9,11,0.14); color: #0073a6; background-color: #fff; transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease; }
.ed-follow__arrow svg { width: 1.375rem; height: 1.375rem; transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1); }
.ed-follow:focus-visible .ed-follow__arrow { background-color: #0073a6; border-color: #0073a6; color: #fff; }
@media (hover: hover) and (pointer: fine) {
    .ed-follow:hover .ed-follow__img { transform: scale(1.05) translateZ(0); }
    .ed-follow:hover .ed-follow__arrow { background-color: #0073a6; border-color: #0073a6; color: #fff; }
    .ed-follow:hover .ed-follow__arrow svg { transform: translateX(3px) translateZ(0); }
}
@media (max-width: 639px) {
    .ed-follow { grid-template-columns: 6rem minmax(0, 1fr) auto; align-items: start; column-gap: 1rem; padding: 1.25rem 0; }
    .ed-follow__media { border-radius: 0.625rem; }
    .ed-follow__arrow { width: 2.5rem; height: 2.5rem; margin-top: 1rem; }
    .ed-follow__arrow svg { width: 1.125rem; height: 1.125rem; }
}
html.reduce-motion .ed-follow__img,
html.reduce-motion .ed-follow__arrow svg { transition: none; }
html.reduce-motion .ed-follow:hover .ed-follow__img,
html.reduce-motion .ed-follow:hover .ed-follow__arrow svg { transform: none; }
:where(.ed-data) {
    font-family: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
}

.ed-quote-mark {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(5rem, 12vw, 11rem);
    line-height: 0.6;
    font-weight: 400;
    font-style: italic;
    color: currentColor;
    opacity: 0.2;
    display: block;
    margin-bottom: -0.2em;
    user-select: none;
    pointer-events: none;
}

.ed-mark {
    background: linear-gradient(180deg, transparent 55%, rgba(0,159,227,0.42) 55%, rgba(0,159,227,0.42) 92%, transparent 92%);
    padding: 0 0.1em;
}

.ed-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.9rem;
    border-radius: 9999px;
    border: 1px solid;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.2;
}
.ed-pill-dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 9999px;
    background: #009fe3;
    flex: none;
}

.ed-bleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    overflow: hidden;
}
.ed-frame img,
.ed-shot img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.ed-shot { position: relative; overflow: hidden; border-radius: 1.5rem; background: #efece7; }
.ed-shot:hover img { transform: scale(1.04) translateZ(0); }

.lightbox-trigger { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; line-height: 0; }
button.lightbox-trigger { cursor: zoom-in; }
.lightbox-trigger[hidden] { display: none; }
.lightbox-trigger:focus-visible { outline: 3px solid #1d4a4b; outline-offset: -3px; }
.lightbox-trigger:focus-visible > img { outline: 2px solid #fff; outline-offset: -5px; }
.ed-shot > .lightbox-trigger { position: absolute; inset: 0; }

.ed-people { position: relative; margin: 0; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; }
@media (min-width: 768px) { .ed-people { aspect-ratio: 5 / 2; } }
.ed-people__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }

.ed-dock-clear { --ed-dock-reach: 5rem; padding-inline-end: max(0px, calc(var(--ed-dock-reach) - (100vw - 100%) / 2)); }
@media (min-width: 1024px) { .ed-dock-clear { --ed-dock-reach: calc(6.5rem + var(--edge, 0px)); } }

.ed-nav-clear {
    padding-top: max(var(--ed-hero-pt, 7rem), calc(var(--diw-header-offset, 5.5rem) + 1.5rem), calc(var(--admin-bar-h, 0px) + 7rem));
}
@media (min-width: 768px) {
    .ed-nav-clear {
        padding-top: max(var(--ed-hero-pt, 8rem), calc(var(--diw-header-offset, 6.5rem) + 1.5rem), calc(var(--admin-bar-h, 0px) + 8rem));
    }
}
.ed-nav-clear--tall { --ed-hero-pt: 10rem; }
.ed-nav-clear--doc { --ed-hero-pt: 9rem; }
.ed-nav-clear--home { --ed-hero-pt: 10rem; }
@media (min-width: 768px) {
    .ed-nav-clear--tall { --ed-hero-pt: 13rem; }
    .ed-nav-clear--doc { --ed-hero-pt: 11rem; }
    .ed-nav-clear--home { --ed-hero-pt: 14rem; }
}

.ed-veil-petrol::after {
    content: "";
    position: absolute; inset: 0;
    background:
        linear-gradient(to bottom, rgba(29,74,75,0.15) 0%, transparent 30%, rgba(29,74,75,0.85) 100%),
        linear-gradient(135deg, rgba(29,74,75,0.22) 0%, transparent 65%);
    pointer-events: none;
}
.ed-veil-warm::after {
    content: "";
    position: absolute; inset: 0;
    background:
        linear-gradient(to bottom, transparent 35%, rgba(58,43,33,0.55) 70%, rgba(58,43,33,0.92) 100%);
    pointer-events: none;
}

.ed-answer {
    background: #fff;
    color: #09090b;
    border-radius: 1.5rem;
    padding: 2rem 2rem 2.25rem;
    border: 1px solid rgba(29,74,75,0.12);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.2s ease;
}
.ed-answer:hover {
    transform: translateY(-3px) translateZ(0);
    border-color: rgba(29,74,75,0.3);
    box-shadow: 0 22px 50px -22px rgba(29,74,75,0.22);
}
.ed-answer--featured {
    background: #1d4a4b;
    color: #efece7;
    border-color: #1d4a4b;
    box-shadow: 0 16px 36px -24px rgba(9,9,11,0.45);
}
.ed-answer--featured:hover { background: #1d4a4b; border-color: #1d4a4b; transform: translateY(-3px) translateZ(0); }
.ed-entry { padding: 0; overflow: hidden; border: 0; }
.ed-entry:hover { transform: none; box-shadow: none; }
.ed-entry.ed-answer--featured:hover { box-shadow: 0 16px 36px -24px rgba(9,9,11,0.45); }
.ed-entry__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #e7dfcf; }
.ed-entry__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
.ed-entry__time { position: absolute; top: 1rem; right: 1rem; z-index: 1; display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.6rem 1.05rem; border-radius: 9999px; font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 1.05rem; line-height: 1; white-space: nowrap; box-shadow: 0 6px 18px -6px rgba(9,9,11,0.45); }
.ed-entry__title { font-size: clamp(1.5rem, 2.1vw, 1.875rem); line-height: 1.2; font-weight: 600; margin: 0; }
.ed-entry__text { font-size: clamp(1.125rem, 1.3vw, 1.3125rem); line-height: 1.6; font-weight: 400; margin: 0; }
.ed-sublead { font-family: 'Outfit', sans-serif; font-size: clamp(1.375rem, 1.75vw, 1.625rem); line-height: 1.4; font-weight: 600; letter-spacing: -0.01em; }
@media (hover: hover) and (pointer: fine) {
    .ed-entry:hover .ed-entry__img { transform: scale(1.04) translateZ(0); }
}
html.reduce-motion .ed-entry__img { transition: none; }
html.reduce-motion .ed-entry:hover .ed-entry__img { transform: none; }

.ed-brand-logo { height: 1.75rem; }
@media (min-width: 768px) {
    .ed-brand-logo { height: 2.25rem; }
}
@media (min-width: 1281px) {
    .ed-brand-logo { height: calc(2.4 * var(--cvw)); }
}

.ed-time { --ed-time-bg: #f4f4f5; background: var(--ed-time-bg); }
.ed-steps { display: grid; margin: 0; padding: 0; }
.ed-step { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); column-gap: 1.25rem; align-items: start; }
.ed-step-num {
    --ed-num: 6.5rem;
    display: block;
    font-size: var(--ed-num);
    line-height: 0.78;
    font-weight: 900;
    letter-spacing: -0.05em;
    color: #0073a6;
    user-select: none;
}
.ed-step--key .ed-step-num { color: #cd1719; font-size: calc(var(--ed-num) * 1.25); margin-top: calc(var(--ed-num) * -0.195); }
.ed-step-body { position: relative; padding: 0.35rem 0 3rem 1.75rem; border-left: 2px solid rgba(29,74,75,0.16); }
.ed-step-body::before {
    content: "";
    position: absolute;
    left: -7px;
    top: 0.55rem;
    width: 12px;
    height: 12px;
    border-radius: 9999px;
    background: #09090b;
    box-shadow: 0 0 0 5px var(--ed-time-bg, #fff);
}
.ed-step:last-child .ed-step-body { padding-bottom: 0; border-left-color: transparent; }
.ed-step--key .ed-step-body { border-left-color: #cd1719; }
.ed-step--key .ed-step-body::before { background: #cd1719; }
@keyframes ed-step-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
html:not(.reduce-motion) .ed-step--key .ed-step-num { animation: ed-step-float 5s ease-in-out infinite; }
@media (min-width: 1024px) {
    .ed-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .ed-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .ed-step { display: block; }
    .ed-step-num { --ed-num: 8rem; margin-bottom: 2.25rem; }
    .ed-step-body,
    .ed-step:last-child .ed-step-body { border-left: 0; border-top: 2px solid rgba(29,74,75,0.16); padding: 2.25rem 2rem 0 0; }
    .ed-step:last-child .ed-step-body { padding-right: 0; }
    .ed-step-body::before { left: 0; top: -7px; }
    .ed-step--key .ed-step-body { border-top-color: #cd1719; }
}
@media (min-width: 1281px) {
    .ed-step-num { --ed-num: 9.5rem; }
}

.ed-durations { display: grid; gap: 2.25rem; margin-bottom: 0; }
.ed-durations dt { font-size: clamp(1.125rem, 1.35vw, 1.375rem); font-weight: 700; line-height: 1.3; color: #cd1719; }
.ed-durations dd { margin: 0.5rem 0 0; font-size: clamp(1.5rem, 2.2vw, 2rem); font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; color: #09090b; }
.ed-durations > div:first-child dd { font-size: clamp(1.75rem, 2.6vw, 2.5rem); color: #cd1719; }
.ed-durations > div:not(:first-child) dt,
.ed-durations > div:not(:first-child) dd { color: #3b4047; }
@media (min-width: 768px) {
    .ed-durations { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; align-items: end; }
}

.ed-chip {
    width: 3rem; height: 3rem;
    border-radius: 0.9rem;
    display: inline-flex; align-items: center; justify-content: center;
    flex: none;
}

.ed-faq-row { border-top: 1px solid rgba(29,74,75,0.18); }
.ed-faq-row:last-child { border-bottom: 1px solid rgba(29,74,75,0.18); }
.ed-faq-trigger {
    width: 100%;
    text-align: left;
    padding: 1.5rem 0.5rem;
    display: grid;
    grid-template-columns: 1fr 2.5rem;
    gap: 1.25rem;
    align-items: center;
    background: transparent;
    border: 0;
    cursor: pointer;
    min-height: 56px;
    color: #09090b;
    font-family: inherit;
    transition: padding 0.18s ease, color 0.18s ease;
}
.ed-faq-trigger:hover { padding-left: 1.25rem; color: #1d4a4b; }
.ed-faq-trigger:focus-visible { outline: 2px solid #1d4a4b; outline-offset: -2px; }
.ed-faq-icon {
    width: 34px; height: 34px;
    border-radius: 9999px;
    border: 1px solid currentColor;
    display: inline-flex; align-items: center; justify-content: center;
    transition: transform 0.25s ease, background 0.18s ease, color 0.18s ease;
    justify-self: end;
}
.ed-faq-icon svg { width: 14px; height: 14px; }
.ed-faq-icon .ed-faq-minus { display: none; }
.ed-faq-trigger[aria-expanded="true"] .ed-faq-icon {
    background: #1d4a4b; color: #fff; border-color: #1d4a4b;
}
.ed-faq-trigger[aria-expanded="true"] .ed-faq-plus { display: none; }
.ed-faq-trigger[aria-expanded="true"] .ed-faq-minus { display: block; }
.ed-faq-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.34s cubic-bezier(0.16, 1, 0.3, 1);
}
.ed-faq-panel > div { overflow: hidden; }
.ed-faq-row[data-open="true"] .ed-faq-panel { grid-template-rows: 1fr; }

:where(.ed-cta) { display: inline-flex; }
.ed-cta {
    align-items: center;
    gap: 0.6rem;
    padding: 1.05rem 2rem;
    background: #1d4a4b;
    color: #fff;
    border-radius: 9999px;
    border: 1px solid #1d4a4b;
    font-weight: 700;
    min-height: 52px;
    transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ed-cta svg { width: 1.05rem; height: 1.05rem; }
.ed-cta:hover { background: #163a3b; }
@media (hover: hover) and (pointer: fine) {
    .ed-cta:hover { transform: scale(1.03) translateZ(0); }
}
.ed-cta:active { transform: scale(0.98) translateZ(0); }
.ed-cta:focus-visible { outline: 2px solid #1d4a4b; outline-offset: 3px; box-shadow: 0 0 0 3px #fff; }
.ed-cta--cyan { background: #0073a6; color: #fff; border-color: #0073a6; }
.ed-cta--cyan:hover { background: #005f8a; border-color: #005f8a; }
.ed-cta--red { background: #cd1719; color: #fff; border-color: #cd1719; }
.ed-cta--red:hover { background: #b01315; border-color: #b01315; }
.ed-cta--ghost-dark { background: transparent; color: #efece7; border-color: #efece7; }
.ed-cta--ghost-dark:hover { background: #efece7; color: #1d4a4b; }
.ed-cta--ghost-dark:focus-visible { outline-color: #009fe3; }
.ed-cta--ghost { background: transparent; color: #1d4a4b; border-color: rgba(29,74,75,0.25); }
.ed-cta--ghost:hover { background: #1d4a4b; color: #fff; border-color: #1d4a4b; }
.ed-hero-split .ed-cta--ghost { color: #09090b; border-color: rgba(9,9,11,0.35); }
.ed-hero-split .ed-cta--ghost:hover { color: #fff; border-color: #1d4a4b; }
.ed-cta--lg { font-size: 1.3em; gap: 0.78rem; padding: 1.365rem 2.6rem; min-height: 68px; }
.ed-cta--lg svg { width: 1.365rem; height: 1.365rem; }
.ed-cta--sm { font-size: 0.9375em; gap: 0.5rem; padding: 0.625rem 1.5rem; min-height: 44px; }
.ed-cta--sm svg { width: 1rem; height: 1rem; }

.ed-calc-paket label, .ed-calc-pg label {
    font-family: inherit;
}
.ed-calc-paket { display: flex; flex-direction: column; gap: 0.6rem; }
.ed-calc-paket label {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    min-height: 56px;
    padding: 0.85rem 1.1rem;
    border-radius: 0.85rem;
    border: 1px solid rgba(29,74,75,0.25);
    background: #fff;
    color: #09090b;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.ed-calc-paket label:hover { border-color: rgba(29,74,75,0.55); }
.ed-calc-paket input { position: absolute; opacity: 0; pointer-events: none; }
.ed-calc-paket label:has(input:checked) { background: #1d4a4b; border-color: #1d4a4b; color: #fff; }
.ed-calc-paket label:focus-within { outline: 2px solid #0073a6; outline-offset: 2px; }
.ed-calc-paket-price { font-variant-numeric: tabular-nums; flex: none; opacity: 0.9; }
.ed-calc-pg { display: flex; gap: 0.6rem; }
.ed-calc-pg label {
    flex: 1;
    display: flex; align-items: center; justify-content: center;
    min-height: 48px;
    padding: 0.5rem 1rem;
    border-radius: 0.85rem;
    border: 1px solid rgba(29,74,75,0.25);
    background: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.ed-calc-pg input { position: absolute; opacity: 0; pointer-events: none; }
.ed-calc-pg input:checked + span { color: #fff; }
.ed-calc-pg label:has(input:checked) { background: #1d4a4b; border-color: #1d4a4b; color: #fff; }
.ed-calc-pg label:focus-within { outline: 2px solid #0073a6; outline-offset: 2px; }

html.reduce-motion .ed-shot:hover img,
html.reduce-motion .ed-answer:hover,
html.reduce-motion .ed-cta:hover { transform: none; box-shadow: none; }
html.reduce-motion .ed-cta:active { transform: none; }
html.reduce-motion .ed-shot img,
html.reduce-motion .ed-answer,
html.reduce-motion .ed-faq-trigger,
html.reduce-motion .ed-faq-icon,
html.reduce-motion .ed-faq-panel,
html.reduce-motion .ed-cta { transition: none !important; }
html.reduce-motion .ed-faq-trigger:hover { padding-left: 0.5rem; }
