:root {
  --color-bg: #0b0d13;
  --color-bg-alt: #11141c;
  --color-bg-elevated: #171b26;
  --color-bg-elevated-2: #1d2230;
  --color-border: rgba(255,255,255,.09);
  --color-border-strong: rgba(255,255,255,.18);
  --color-text: #ede9e1;
  --color-text-muted: #a3a9ba;
  --color-text-dim: #6d7386;
  --color-primary: #c9a24b;
  --color-primary-bright: #e9c878;
  --color-primary-dim: #8a6f34;
  --color-secondary: #48bba4;
  --color-secondary-bright: #6ed9c1;

  --shadow-sm: 0 1px 2px rgba(0,0,0,.5);
  --shadow-md: 0 6px 16px -4px rgba(0,0,0,.5), 0 2px 4px rgba(0,0,0,.4);
  --shadow-lg: 0 24px 48px -16px rgba(0,0,0,.65), 0 8px 20px -8px rgba(0,0,0,.5);
  --shadow-glow-gold: 0 0 0 1px rgba(201,162,75,.35), 0 10px 28px rgba(201,162,75,.18);
  --shadow-glow-teal: 0 0 0 1px rgba(72,187,164,.35), 0 10px 28px rgba(72,187,164,.16);

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-xl: 32px;
  --radius-full: 999px;

  --font-heading: 'Libre Baskerville', serif;
  --font-body: 'DM Sans', sans-serif;

  --container-w: min(1240px, 92vw);
  --header-h: 78px;

  --space-3xs: clamp(.35rem,.3rem + .3vw,.5rem);
  --space-2xs: clamp(.6rem,.5rem + .4vw,.85rem);
  --space-xs: clamp(.85rem,.7rem + .6vw,1.25rem);
  --space-sm: clamp(1.2rem,1rem + .9vw,1.75rem);
  --space-md: clamp(1.8rem,1.4rem + 1.8vw,2.8rem);
  --space-lg: clamp(2.8rem,2.1rem + 3vw,4.8rem);
  --space-xl: clamp(4rem,3rem + 4.5vw,7.5rem);

  --transition: .3s cubic-bezier(.4,0,.2,1);
  --transition-fast: .18s cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }

body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: clamp(1rem, .95rem + .2vw, 1.08rem);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  padding-top: var(--header-h);
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(ellipse 60% 40% at 15% 0%, rgba(201,162,75,.09), transparent 60%),
    radial-gradient(ellipse 50% 40% at 100% 20%, rgba(72,187,164,.07), transparent 60%),
    var(--color-bg);
}

h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: 700; line-height: 1.18; margin: 0 0 .6em; color: #fbf8f2; }
p { margin: 0 0 1.1em; color: var(--color-text-muted); }
a { color: var(--color-secondary-bright); text-decoration: none; transition: color var(--transition-fast); }
a:hover { color: var(--color-primary-bright); }
img { max-width: 100%; display: block; }
ul { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; cursor: pointer; }

.Btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .85rem 1.7rem; border-radius: var(--radius-full);
  font-weight: 600; font-size: .95rem; border: 1px solid transparent;
  transition: transform var(--transition-fast), box-shadow var(--transition), background var(--transition), border-color var(--transition), color var(--transition);
  min-height: 44px; white-space: nowrap;
}
.Btn--primary {
  background: linear-gradient(135deg, var(--color-primary-bright), var(--color-primary));
  color: #1b1508; box-shadow: var(--shadow-glow-gold);
}
.Btn--primary:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(201,162,75,.3); color: #1b1508; }
.Btn--outline {
  background: transparent; border-color: var(--color-border-strong); color: var(--color-text);
}
.Btn--outline:hover { border-color: var(--color-secondary); color: var(--color-secondary-bright); box-shadow: var(--shadow-glow-teal); }
.Btn--lg { padding: 1rem 2.2rem; font-size: 1rem; }


.SiteHeader {
  position: fixed; top: 0; left: 0; right: 0; z-index: 500;
  background: rgba(11,13,19,.92); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition);
  height: var(--header-h);
}
.SiteHeader.is-scrolled { box-shadow: var(--shadow-lg); }
.SiteHeader-inner {
  max-width: var(--container-w); margin: 0 auto; height: 100%;
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm);
}
.SiteHeader-logo { display: flex; align-items: center; gap: .6rem; font-family: var(--font-heading); font-weight: 700; font-size: 1.15rem; color: #fbf8f2; }
.SiteHeader-logo:hover { color: var(--color-primary-bright); }
.SiteHeader-nav { display: none; }
.SiteHeader-navList { display: flex; align-items: center; gap: var(--space-xs); }
.SiteHeader-navItem { position: relative; }
.SiteHeader-navLink {
  background: none; border: none; color: var(--color-text-muted); font-size: .96rem; font-weight: 500;
  display: flex; align-items: center; gap: .35rem; padding: .5rem .2rem; position: relative;
  transition: color var(--transition-fast);
}
.SiteHeader-navLink::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 2px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
  transform: scaleX(0); transform-origin: left; transition: transform var(--transition-fast);
}
.SiteHeader-navLink:hover, .SiteHeader-navLink.is-active { color: var(--color-text); }
.SiteHeader-navLink:hover::after, .SiteHeader-navLink.is-active::after { transform: scaleX(1); }
.SiteHeader-chevron { font-size: .7rem; transition: transform var(--transition-fast); }
.SiteHeader-navItem--mega[data-open="true"] .SiteHeader-chevron { transform: rotate(180deg); }
.SiteHeader-cta { display: none; }
.SiteHeader-mobileToggle {
  background: var(--color-bg-elevated); border: 1px solid var(--color-border); color: var(--color-text);
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  transition: border-color var(--transition-fast), color var(--transition-fast);
}
.SiteHeader-mobileToggle:hover { border-color: var(--color-primary); color: var(--color-primary-bright); }


.MegaMenu {
  position: absolute; top: calc(100%); left: 50%; transform: translateX(-50%) translateY(-8px);
  min-width: 620px; background: var(--color-bg-elevated); border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: var(--space-sm);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
}
.SiteHeader-navItem--mega[data-open="true"] .MegaMenu {
  opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0);
}
.MegaMenu-inner { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
.MegaMenu-columnTitle { display: block; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--color-text-dim); margin-bottom: .7rem; font-weight: 600; }
.MegaMenu-item { display: flex; align-items: center; gap: .65rem; padding: .55rem .4rem; border-radius: var(--radius-sm); color: var(--color-text-muted); transition: background var(--transition-fast), color var(--transition-fast); }
.MegaMenu-item:hover { background: var(--color-bg-elevated-2); color: var(--color-text); }
.MegaMenu-icon { color: var(--color-primary); width: 20px; text-align: center; }


.MobileMenu {
  position: fixed; inset: 0; z-index: 900;
  background: linear-gradient(160deg, #11131b 0%, #0b0d13 60%, #131a1a 100%);
  display: flex; flex-direction: column; padding: var(--space-md);
  transform: translateY(-8px); opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
  overflow-y: auto;
}
.MobileMenu.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.MobileMenu-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-lg); }
.MobileMenu-logo { display: flex; align-items: center; gap: .6rem; font-family: var(--font-heading); font-weight: 700; font-size: 1.1rem; color: #fbf8f2; }
.MobileMenu-close { width: 46px; height: 46px; border-radius: var(--radius-md); background: var(--color-bg-elevated); border: 1px solid var(--color-border); color: var(--color-text); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; transition: border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast); }
.MobileMenu-close:hover { border-color: var(--color-primary); color: var(--color-primary-bright); transform: rotate(90deg); }
.MobileMenu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xs); }
.MobileMenu-item {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem;
  padding: var(--space-md) var(--space-xs); background: rgba(255,255,255,.03); border: 1px solid var(--color-border);
  border-radius: var(--radius-lg); color: var(--color-text); text-align: center; font-weight: 600; font-size: .95rem;
  min-height: 110px; transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}
.MobileMenu-item:hover { background: rgba(255,255,255,.06); border-color: var(--color-primary); transform: translateY(-3px); }
.MobileMenu-icon { font-size: 1.4rem; color: var(--color-primary); }
.MobileMenu-item--accordion { position: relative; }
.MobileMenu-chevron { position: absolute; bottom: 12px; right: 16px; font-size: .8rem; color: var(--color-text-dim); transition: transform var(--transition-fast); }
.MobileMenu-item--accordion[aria-expanded="true"] .MobileMenu-chevron { transform: rotate(180deg); color: var(--color-primary); }
.MobileMenu-accordionPanel {
  display: grid; grid-template-rows: 0fr; overflow: hidden; transition: grid-template-rows var(--transition);
  margin-top: var(--space-xs);
}
.MobileMenu-accordionPanel.is-open { grid-template-rows: 1fr; }
.MobileMenu-accordionPanel > div,
.MobileMenu-accordionPanel { min-height: 0; }
.MobileMenu-accordionPanel a {
  display: flex; align-items: center; gap: .7rem; padding: .9rem 1rem; color: var(--color-text-muted);
  border-bottom: 1px solid var(--color-border); overflow: hidden;
}
.MobileMenu-accordionPanel a:hover { color: var(--color-primary-bright); }
.MobileMenu-accordionPanel { display: flex; flex-direction: column; max-height: 0; opacity: 0; transition: max-height var(--transition), opacity var(--transition); }
.MobileMenu-accordionPanel.is-open { max-height: 400px; opacity: 1; }


.Strip {
  height: 8px; width: 100%;
  background: repeating-linear-gradient(-45deg, var(--color-primary) 0 14px, var(--color-secondary) 14px 28px);
  opacity: .55;
}
.Strip--alt { opacity: .3; }


.Hero { padding: var(--space-xl) 0 var(--space-lg); }
.Hero-inner {
  max-width: var(--container-w); margin: 0 auto; display: grid; gap: var(--space-lg);
  grid-template-columns: 1fr; align-items: center;
}
.Hero-eyebrow { display: inline-block; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--color-secondary-bright); margin-bottom: var(--space-xs); font-weight: 600; }
.Hero-heading { font-size: clamp(2.4rem, 1.8rem + 3vw, 4.2rem); margin-bottom: var(--space-sm); }
.Hero-heading span { color: var(--color-primary-bright); display: block; }
.Hero-lead { font-size: clamp(1.02rem, 1rem + .3vw, 1.2rem); max-width: 52ch; margin-bottom: var(--space-md); }
.Hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.Hero-visual { position: relative; display: flex; justify-content: center; padding: var(--space-md) 0; }
.Hero-circle {
  width: min(360px, 72vw); aspect-ratio: 1/1; border-radius: 50%; overflow: hidden;
  border: 6px solid var(--color-bg-elevated); box-shadow: var(--shadow-lg), var(--shadow-glow-gold);
  position: relative;
}
.Hero-image { width: 100%; height: 100%; object-fit: cover; }
.Hero-badge {
  position: absolute; display: flex; align-items: center; gap: .5rem;
  background: var(--color-bg-elevated); border: 1px solid var(--color-border-strong);
  padding: .7rem 1.1rem; border-radius: var(--radius-full); font-size: .85rem; font-weight: 600;
  box-shadow: var(--shadow-md); color: var(--color-text);
}
.Hero-badge i { color: var(--color-secondary); }
.Hero-badge--top { top: 4%; left: 2%; }
.Hero-badge--bottom { bottom: 6%; right: 0%; }


.Section { padding: var(--space-xl) 0; }
.Section--alt { background: var(--color-bg-alt); }
.Section-header { max-width: var(--container-w); margin: 0 auto var(--space-lg); text-align: center; }
.Section-header--narrow { max-width: 700px; }
.Section-eyebrow { display: inline-block; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--color-secondary-bright); font-weight: 600; margin-bottom: var(--space-2xs); }
.Section-title { font-size: clamp(1.8rem, 1.5rem + 1.5vw, 2.6rem); }
.Section-title--sm { font-size: clamp(1.4rem, 1.2rem + 1vw, 1.9rem); }
.Section-lead { max-width: 60ch; margin: 0 auto; }

.Section-splitGrid { max-width: var(--container-w); margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: var(--space-lg); align-items: center; }
.Section-splitGrid--reverse { direction: rtl; }
.Section-splitGrid--reverse > * { direction: ltr; }
.Section-splitImage img { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }


.ContentCard-grid { max-width: var(--container-w); margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: var(--space-sm); }
.ContentCard {
  background: var(--color-bg-elevated); border: 1px solid var(--color-border); border-radius: var(--radius-lg);
  padding: var(--space-md); transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}
.ContentCard:hover { transform: translateY(-6px); border-color: var(--color-primary); box-shadow: var(--shadow-glow-gold); }
.ContentCard-icon { width: 52px; height: 52px; border-radius: var(--radius-md); background: linear-gradient(135deg, rgba(201,162,75,.18), rgba(72,187,164,.14)); display: flex; align-items: center; justify-content: center; font-size: 1.3rem; color: var(--color-primary-bright); margin-bottom: var(--space-xs); }
.ContentCard-title { font-size: 1.2rem; margin-bottom: .5em; }
.ContentCard-body { margin: 0; font-size: .95rem; }
.ContentCard--slide { height: 100%; }
.ContentCard--slide img { border-radius: var(--radius-md); margin-bottom: var(--space-xs); height: 190px; width: 100%; object-fit: cover; }


.ProcessStep-list { max-width: var(--container-w); margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: var(--space-md); }
.ProcessStep { position: relative; padding-left: var(--space-lg); }
.ProcessStep-number { position: absolute; left: 0; top: -6px; font-family: var(--font-heading); font-size: 2.6rem; color: transparent; -webkit-text-stroke: 1.5px var(--color-primary); opacity: .55; }
.ProcessStep-title { font-size: 1.25rem; margin-bottom: .4em; }
.ProcessStep-body { margin: 0; }


.PracticeSwiper { max-width: var(--container-w); margin: 0 auto; padding-bottom: 3rem; position: relative; }
.PracticeSwiper .swiper-pagination-bullet { background: var(--color-text-dim); opacity: 1; }
.PracticeSwiper .swiper-pagination-bullet-active { background: var(--color-primary); }
.PracticeSwiper .swiper-button-next, .PracticeSwiper .swiper-button-prev { color: var(--color-primary); }
.PracticeSwiper .swiper-button-next::after, .PracticeSwiper .swiper-button-prev::after { font-size: 1.2rem; }


.Faq { max-width: 780px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--space-2xs); }
.Faq-item { border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg-elevated); overflow: hidden; }
.Faq-question { width: 100%; text-align: left; background: none; border: none; color: var(--color-text); font-family: var(--font-body); font-weight: 600; font-size: 1rem; padding: 1.1rem 1.3rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; transition: color var(--transition-fast); min-height: 44px; }
.Faq-question:hover { color: var(--color-primary-bright); }
.Faq-icon { transition: transform var(--transition-fast); color: var(--color-primary); flex-shrink: 0; }
.Faq-question[aria-expanded="true"] .Faq-icon { transform: rotate(45deg); }
.Faq-answer { max-height: 0; overflow: hidden; transition: max-height var(--transition), padding var(--transition); padding: 0 1.3rem; }
.Faq-answer p { margin: 0 0 1.1rem; }
.Faq-item.is-open .Faq-answer { max-height: 300px; padding: 0 1.3rem; }


.CtaBand { padding: var(--space-xl) 0; background: linear-gradient(135deg, rgba(201,162,75,.12), rgba(72,187,164,.1)); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.CtaBand-inner { max-width: 720px; margin: 0 auto; text-align: center; padding: 0 var(--space-sm); }
.CtaBand-title { font-size: clamp(1.6rem, 1.3rem + 1.5vw, 2.3rem); }
.CtaBand-text { margin-bottom: var(--space-md); }


.PageHero { padding: var(--space-xl) 0 var(--space-lg); }
.PageHero--compact { padding: calc(var(--space-lg) + 1rem) 0 var(--space-md); }
.PageHero-inner { max-width: var(--container-w); margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: var(--space-lg); align-items: center; }
.PageHero-heading { font-size: clamp(2rem, 1.6rem + 2vw, 3.2rem); }
.PageHero-lead { max-width: 62ch; font-size: 1.08rem; }
.PageHero-image img { border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); }


.SidebarLayout { max-width: var(--container-w); margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: var(--space-lg); padding: var(--space-lg) 0; }
.Sidebar-nav { display: flex; flex-direction: column; gap: .3rem; }
.Sidebar-link { padding: .7rem 1rem; border-radius: var(--radius-sm); color: var(--color-text-muted); font-weight: 500; border-left: 2px solid transparent; transition: color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast); }
.Sidebar-link:hover, .Sidebar-link.is-active { color: var(--color-primary-bright); border-left-color: var(--color-primary); background: var(--color-bg-elevated); }
.SidebarSection { padding-bottom: var(--space-lg); margin-bottom: var(--space-lg); border-bottom: 1px solid var(--color-border); scroll-margin-top: calc(var(--header-h) + 20px); }
.SidebarSection:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.SidebarSection-title { font-size: 1.6rem; }
.SidebarSection-image { border-radius: var(--radius-lg); margin: var(--space-sm) 0; box-shadow: var(--shadow-md); }


.PricingCard-grid { max-width: var(--container-w); margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: var(--space-md); }
.PricingCard { position: relative; background: var(--color-bg-elevated); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-md); transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition); }
.PricingCard:hover { transform: translateY(-6px); border-color: var(--color-secondary); box-shadow: var(--shadow-glow-teal); }
.PricingCard--featured { border-color: var(--color-primary); box-shadow: var(--shadow-glow-gold); }
.PricingCard-tag { position: absolute; top: -14px; right: var(--space-md); background: linear-gradient(135deg, var(--color-primary-bright), var(--color-primary)); color: #1b1508; font-size: .75rem; font-weight: 700; padding: .3rem .8rem; border-radius: var(--radius-full); }
.PricingCard-icon { width: 48px; height: 48px; border-radius: var(--radius-md); background: rgba(201,162,75,.15); display: flex; align-items: center; justify-content: center; color: var(--color-primary-bright); font-size: 1.2rem; margin-bottom: var(--space-xs); }
.PricingCard-title { font-size: 1.3rem; margin-bottom: .3em; }
.PricingCard-price { font-family: var(--font-heading); font-size: 1.5rem; color: #fbf8f2; margin-bottom: var(--space-xs); }
.PricingCard-price span { font-family: var(--font-body); font-size: .8rem; color: var(--color-text-dim); font-weight: 400; }
.PricingCard-desc { font-size: .93rem; margin-bottom: var(--space-sm); }
.PricingCard-features { display: flex; flex-direction: column; gap: .6rem; }
.PricingCard-features li { display: flex; align-items: flex-start; gap: .6rem; font-size: .9rem; color: var(--color-text-muted); }
.PricingCard-features i { color: var(--color-secondary); margin-top: .2rem; }


.ComparisonTable-wrap { max-width: var(--container-w); margin: var(--space-lg) auto 0; overflow-x: auto; border-radius: var(--radius-lg); border: 1px solid var(--color-border); }
.ComparisonTable { width: 100%; border-collapse: collapse; min-width: 620px; }
.ComparisonTable th, .ComparisonTable td { padding: 1rem 1.2rem; text-align: left; border-bottom: 1px solid var(--color-border); font-size: .93rem; }
.ComparisonTable th { background: var(--color-bg-elevated-2); color: var(--color-primary-bright); font-weight: 600; }
.ComparisonTable tr:last-child td { border-bottom: none; }
.ComparisonTable td { color: var(--color-text-muted); }


.ContactLayout { max-width: var(--container-w); margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: var(--space-lg); }
.ContactForm { display: flex; flex-direction: column; gap: var(--space-sm); }
.FormGroup { display: flex; flex-direction: column; gap: .4rem; }
.FormGroup-label { font-size: .88rem; font-weight: 600; color: var(--color-text); }
.FormGroup-input {
  background: var(--color-bg-elevated); border: 1px solid var(--color-border); border-radius: var(--radius-sm);
  padding: .85rem 1rem; color: var(--color-text); font-family: var(--font-body); font-size: .96rem;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast); min-height: 44px;
}
.FormGroup-input:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(201,162,75,.2); }
.FormGroup-textarea { resize: vertical; min-height: 130px; }
.FormGroup--checkbox { flex-direction: row; align-items: flex-start; }
.FormGroup-checkboxLabel { display: flex; align-items: flex-start; gap: .7rem; font-size: .88rem; color: var(--color-text-muted); }
.FormGroup-checkboxLabel input { margin-top: .3rem; width: 18px; height: 18px; accent-color: var(--color-primary); flex-shrink: 0; }
.ContactForm-submit { align-self: flex-start; }
.ContactForm-hint { font-size: .85rem; color: var(--color-secondary-bright); min-height: 1.2em; }
.ContactInfo-list { display: flex; flex-direction: column; gap: var(--space-xs); margin-bottom: var(--space-md); }
.ContactInfo-list li { display: flex; align-items: center; gap: .8rem; color: var(--color-text-muted); }
.ContactInfo-list i { color: var(--color-primary); width: 20px; text-align: center; }
.ContactInfo-map { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); border: 1px solid var(--color-border); }
.ContactInfo-map iframe { display: block; }


.TeamSection { max-width: var(--container-w); margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: var(--space-lg); align-items: center; }
.TeamSection-image img { border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); }


.ThanksSection { padding: var(--space-xl) 0; display: flex; justify-content: center; }
.ThanksSection-inner { max-width: 560px; text-align: center; padding: 0 var(--space-sm); }
.ThanksSection-icon { font-size: 3rem; color: var(--color-secondary-bright); margin-bottom: var(--space-sm); }
.ThanksSection-heading { font-size: clamp(1.8rem, 1.5rem + 1.5vw, 2.4rem); }
.ThanksSection-countdown { color: var(--color-text); font-weight: 600; margin-bottom: var(--space-md); }
.ThanksSection-countdown span { color: var(--color-primary-bright); font-size: 1.2rem; }


.LegalSection { padding: var(--space-lg) 0 var(--space-xl); }
.LegalSection-inner { max-width: 820px; margin: 0 auto; padding: 0 var(--space-sm); }
.LegalSection-inner h2 { font-size: 1.25rem; margin-top: var(--space-md); border-bottom: 1px solid var(--color-border); padding-bottom: .5rem; }
.LegalSection-inner h2:first-child { margin-top: 0; }
.LegalSection-inner p, .LegalSection-inner li { font-size: .95rem; }
.LegalList { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1.1em; padding-left: 1.2rem; }
.LegalList li { list-style: disc; color: var(--color-text-muted); }
.LegalTable { width: 100%; border-collapse: collapse; margin: var(--space-xs) 0 var(--space-md); }
.LegalTable td, .LegalTable th { padding: .7rem 1rem; border: 1px solid var(--color-border); font-size: .9rem; color: var(--color-text-muted); }
.LegalTable td:first-child { color: var(--color-text); font-weight: 600; width: 40%; }
.LegalTable th { background: var(--color-bg-elevated); color: var(--color-primary-bright); }


.SiteFooter { background: #08090d; border-top: 1px solid var(--color-border); margin-top: auto; }
.SiteFooter-inner { max-width: var(--container-w); margin: 0 auto; padding: var(--space-lg) 0 var(--space-md); display: grid; grid-template-columns: 1fr; gap: var(--space-md); }
.SiteFooter-logo { display: flex; align-items: center; gap: .6rem; font-family: var(--font-heading); font-weight: 700; color: #fbf8f2; margin-bottom: var(--space-xs); }
.SiteFooter-text { font-size: .9rem; }
.SiteFooter-heading { font-size: 1rem; font-family: var(--font-body); font-weight: 600; color: var(--color-text); margin-bottom: var(--space-xs); }
.SiteFooter-list { display: flex; flex-direction: column; gap: .55rem; }
.SiteFooter-list li { font-size: .9rem; color: var(--color-text-muted); display: flex; align-items: center; gap: .5rem; }
.SiteFooter-list i { color: var(--color-primary); width: 16px; }
.SiteFooter-list a { color: var(--color-text-muted); }
.SiteFooter-list a:hover { color: var(--color-primary-bright); }
.SiteFooter-bottom { border-top: 1px solid var(--color-border); padding: var(--space-sm) 0; text-align: center; }
.SiteFooter-bottom p { margin: 0; font-size: .82rem; color: var(--color-text-dim); }

html, body { height: 100%; }
body { display: flex; flex-direction: column; min-height: 100vh; }
main { flex: 1; }


.CookieConsent { position: fixed; bottom: 20px; left: 0; right: 0; z-index: 1000; display: flex; justify-content: center; padding: 0 var(--space-sm); pointer-events: none; }
.CookieConsent-pill {
  pointer-events: auto; display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap;
  background: var(--color-bg-elevated); border: 1px solid var(--color-border-strong); border-radius: var(--radius-full);
  padding: .8rem 1.4rem; box-shadow: var(--shadow-lg); max-width: 720px;
  transition: opacity var(--transition), transform var(--transition);
}
.CookieConsent-text { margin: 0; font-size: .85rem; color: var(--color-text-muted); }
.CookieConsent-text a { color: var(--color-secondary-bright); }
.CookieConsent-pillActions { display: flex; gap: .6rem; align-items: center; flex-shrink: 0; }
.CookieConsent-linkBtn { background: none; border: none; color: var(--color-text-muted); font-size: .85rem; font-weight: 600; padding: .5rem; transition: color var(--transition-fast); }
.CookieConsent-linkBtn:hover { color: var(--color-primary-bright); }
.CookieConsent-btn { padding: .6rem 1.2rem; font-size: .85rem; }
.CookieConsent-modal {
  pointer-events: auto; background: var(--color-bg-elevated); border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-lg); padding: var(--space-md); box-shadow: var(--shadow-lg); max-width: 480px; width: 100%;
}
.CookieConsent-modalTitle { font-size: 1.2rem; }
.CookieConsent-modalText { font-size: .88rem; margin-bottom: var(--space-sm); }
.CookieConsent-categories { display: flex; flex-direction: column; gap: .7rem; margin-bottom: var(--space-md); }
.CookieConsent-category { display: flex; align-items: center; gap: .7rem; font-size: .92rem; color: var(--color-text); }
.CookieConsent-category input { width: 18px; height: 18px; accent-color: var(--color-primary); }
.CookieConsent-modalActions { display: flex; gap: .8rem; flex-wrap: wrap; }
.CookieConsent-modalActions .Btn { flex: 1; }


@media (min-width: 720px) {
  .Hero-inner { grid-template-columns: 1.1fr .9fr; }
  .Section-splitGrid { grid-template-columns: 1fr 1fr; }
  .ContentCard-grid { grid-template-columns: repeat(2, 1fr); }
  .ProcessStep-list { grid-template-columns: repeat(2, 1fr); }
  .PricingCard-grid { grid-template-columns: repeat(2, 1fr); }
  .ContactLayout { grid-template-columns: 1.1fr .9fr; }
  .TeamSection { grid-template-columns: .8fr 1.2fr; }
  .PageHero-inner { grid-template-columns: 1.2fr .8fr; }
}

@media (min-width: 900px) {
  .SiteHeader-nav { display: block; }
  .SiteHeader-cta { display: inline-flex; }
  .SiteHeader-mobileToggle { display: none; }
  .ContentCard-grid { grid-template-columns: repeat(4, 1fr); }
  .ProcessStep-list { grid-template-columns: repeat(4, 1fr); }
  .PricingCard-grid { grid-template-columns: repeat(2, 1fr); }
  .SidebarLayout { grid-template-columns: 240px 1fr; }
  .Sidebar { position: sticky; top: calc(var(--header-h) + 24px); align-self: start; }
}

@media (min-width: 1150px) {
  .PricingCard-grid { grid-template-columns: repeat(4, 1fr); }
}