/* =========================================================
   ELUNVRAX HUB — Luminous Surfaces design system
   ========================================================= */


:root{
  --color-bg-dark:#10131a;
  --color-bg-dark-alt:#171b25;
  --color-bg-dark-elevated:#1d2230;
  --color-bg-light:#f8f5ef;
  --color-bg-light-alt:#f0ead e;
  --color-bg-light-alt:#efe8db;
  --color-text-dark:#1c1d24;
  --color-text-dark-muted:#5c5f6b;
  --color-text-light:#f5f2ea;
  --color-text-light-muted:#c4c0b8;

  --color-accent-gold:#f0b44d;
  --color-accent-gold-soft:#f7cd7e;
  --color-accent-teal:#35d6c4;
  --color-accent-teal-soft:#8beee2;
  --color-accent-coral:#e88a63;

  --gradient-primary:linear-gradient(135deg,#f0b44d 0%,#e88a63 48%,#35d6c4 100%);
  --gradient-soft:linear-gradient(135deg, rgba(240,180,77,.16), rgba(53,214,196,.12));

  --shadow-glow-gold:0 0 0 1px rgba(240,180,77,.14), 0 10px 34px -8px rgba(240,180,77,.38), 0 2px 10px rgba(8,9,14,.35);
  --shadow-glow-gold-strong:0 0 0 1px rgba(240,180,77,.28), 0 16px 46px -10px rgba(240,180,77,.55), 0 4px 14px rgba(8,9,14,.4);
  --shadow-glow-teal:0 0 0 1px rgba(53,214,196,.16), 0 10px 34px -8px rgba(53,214,196,.4);
  --shadow-elevate-light:0 2px 6px rgba(30,25,15,.06), 0 14px 34px -14px rgba(30,25,15,.18);
  --shadow-elevate-light-strong:0 6px 16px rgba(30,25,15,.1), 0 22px 44px -16px rgba(30,25,15,.24);

  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --radius-pill:999px;

  --space-3xs:.375rem;
  --space-2xs:.625rem;
  --space-xs:1rem;
  --space-sm:1.5rem;
  --space-md:2.25rem;
  --space-lg:3.5rem;
  --space-xl:5.5rem;
  --space-2xl:8rem;

  --font-heading:'Figtree',sans-serif;
  --font-body:'Figtree',sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);
  --ease-bounce:cubic-bezier(.2,.8,.2,1);
}


*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-text-dark);
  background:var(--color-bg-light);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
  display:flex;
  flex-direction:column;
  min-height:100vh;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,textarea{font:inherit;}
main{flex:1;}
h1,h2,h3,h4{
  font-family:var(--font-heading);
  font-weight:700;
  line-height:1.15;
  margin:0 0 .6em;
  letter-spacing:-.01em;
}
p{margin:0 0 1em;}
.container{
  width:min(1180px, 100% - 3rem);
  margin-inline:auto;
}


h1{font-size:clamp(2.4rem,5.5vw,4rem);font-weight:800;}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem);}
h3{font-size:clamp(1.15rem,2vw,1.4rem);}
.eyebrow-tag{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--color-accent-gold);
  margin-bottom:var(--space-xs);
}
.eyebrow-tag::before{
  content:"";
  width:22px;height:2px;
  background:var(--gradient-primary);
  border-radius:2px;
}
.highlight-text{
  background:var(--gradient-primary);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}


.primary-action{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.95rem 1.7rem;
  border-radius:var(--radius-pill);
  background:var(--gradient-primary);
  color:#191309;
  font-weight:700;
  font-size:.98rem;
  box-shadow:var(--shadow-glow-gold);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  min-height:48px;
}
.primary-action:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-glow-gold-strong);
}
.primary-action:active{transform:translateY(-1px);}
.secondary-action{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.9rem 1.4rem;
  border-radius:var(--radius-pill);
  border:1px solid rgba(245,242,234,.28);
  color:inherit;
  font-weight:600;
  transition:border-color .35s var(--ease), background .35s var(--ease), transform .35s var(--ease);
  min-height:48px;
}
.secondary-action:hover{
  border-color:var(--color-accent-teal);
  background:rgba(53,214,196,.08);
  transform:translateY(-2px);
}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-weight:600;
  color:var(--color-accent-teal);
  transition:gap .3s var(--ease), color .3s var(--ease);
}
.text-link:hover{gap:.75rem;color:var(--color-accent-gold);}
.nav-cta{padding:.7rem 1.35rem;font-size:.9rem;}


.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:transparent;
  transition:background .45s var(--ease), box-shadow .45s var(--ease), backdrop-filter .45s var(--ease);
}
.site-header.is-scrolled{
  background:rgba(16,19,26,.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(240,180,77,.12), 0 12px 30px -18px rgba(0,0,0,.6);
}
.header-inner{
  width:min(1180px, 100% - 2.5rem);
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.1rem 0;
  gap:1rem;
}
.brand-mark{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--font-heading);
  font-weight:800;
  font-size:1.15rem;
  color:var(--color-text-light);
}
.primary-nav ul{display:flex;gap:1.9rem;}
.primary-nav a{
  font-size:.95rem;
  font-weight:600;
  color:var(--color-text-light-muted);
  position:relative;
  padding:.3rem 0;
  transition:color .3s var(--ease);
}
.primary-nav a::after{
  content:"";
  position:absolute;
  left:0;bottom:-2px;
  width:0;height:2px;
  background:var(--gradient-primary);
  transition:width .35s var(--ease);
  border-radius:2px;
}
.primary-nav a:hover,.primary-nav a[aria-current="page"]{color:var(--color-text-light);}
.primary-nav a:hover::after,.primary-nav a[aria-current="page"]::after{width:100%;}

.menu-toggle{
  display:none;
  position:relative;
  width:46px;height:46px;
  border-radius:50%;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  background:rgba(245,242,234,.08);
  border:1px solid rgba(245,242,234,.16);
  transition:background .3s var(--ease);
}
.menu-toggle span{
  width:20px;height:2px;
  background:var(--color-text-light);
  border-radius:2px;
  transition:transform .35s var(--ease), opacity .35s var(--ease);
}
.menu-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle.is-active span:nth-child(2){opacity:0;}
.menu-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu-overlay{
  position:fixed;
  inset:0;
  z-index:95;
  background:radial-gradient(circle at 30% 20%, #22283a 0%, #14161f 55%, #0d0f15 100%);
  clip-path:circle(0% at var(--menu-x,92%) var(--menu-y,4%));
  transition:clip-path .65s var(--ease-bounce);
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.mobile-menu-overlay.is-open{
  clip-path:circle(150% at var(--menu-x,92%) var(--menu-y,4%));
  pointer-events:auto;
}
.mobile-menu-links{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1.7rem;
  opacity:0;
  transition:opacity .5s var(--ease) .25s;
}
.mobile-menu-overlay.is-open .mobile-menu-links{opacity:1;}
.mobile-menu-links a{
  font-family:var(--font-heading);
  font-size:1.7rem;
  font-weight:700;
  color:var(--color-text-light);
}
.mobile-menu-links a:hover{color:var(--color-accent-gold);}


.hero-section{
  position:relative;
  background:linear-gradient(175deg,#12141d 0%, #171a26 55%, #1c1420 100%);
  color:var(--color-text-light);
  padding:calc(var(--space-2xl) + 2rem) 0 var(--space-2xl);
  overflow:hidden;
}
.hero-backdrop{
  position:absolute;inset:0;
  background:
    radial-gradient(600px 400px at 85% 10%, rgba(53,214,196,.16), transparent 65%),
    radial-gradient(500px 380px at 10% 90%, rgba(240,180,77,.18), transparent 65%);
  pointer-events:none;
}
.hero-inner{
  position:relative;
  width:min(1180px, 100% - 3rem);
  margin-inline:auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:var(--space-lg);
  align-items:center;
}
.hero-copy .hero-heading{margin-bottom:.55em;}
.hero-text{
  color:var(--color-text-light-muted);
  font-size:1.1rem;
  max-width:52ch;
  margin-bottom:var(--space-sm);
}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:var(--space-md);}
.hero-badges{display:flex;flex-wrap:wrap;gap:1.2rem;}
.hero-badges span{
  display:flex;align-items:center;gap:.5rem;
  font-size:.86rem;font-weight:600;
  color:var(--color-text-light-muted);
}
.hero-badges i{color:var(--color-accent-teal);}

.hero-visual{position:relative;display:flex;justify-content:center;}
.hero-image{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-glow-teal), 0 30px 60px -20px rgba(0,0,0,.55);
  aspect-ratio:4/5;
  object-fit:cover;
  width:100%;
  max-width:420px;
}
.orbit-accent{
  position:absolute;
  top:-2.2rem;right:-1.2rem;
  width:110px;height:110px;
  z-index:2;
}
.orbit-ring{
  position:absolute;inset:0;
  border-radius:50%;
  border:2px dashed rgba(240,180,77,.5);
  animation:spin 14s linear infinite;
}
.orbit-core{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:64px;height:64px;
  border-radius:50%;
  background:var(--gradient-primary);
  display:flex;align-items:center;justify-content:center;
  color:#191309;font-size:1.4rem;
  box-shadow:var(--shadow-glow-gold-strong);
  animation:pulse-glow 3.2s ease-in-out infinite;
}
.orbit-dot{
  position:absolute;
  width:10px;height:10px;
  border-radius:50%;
  background:var(--color-accent-teal);
  box-shadow:0 0 14px 4px rgba(53,214,196,.6);
}
.orbit-dot-a{top:4%;left:50%;}
.orbit-dot-b{bottom:8%;left:8%;}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes pulse-glow{
  0%,100%{box-shadow:var(--shadow-glow-gold-strong);}
  50%{box-shadow:0 0 0 1px rgba(240,180,77,.4), 0 22px 60px -6px rgba(240,180,77,.7);}
}


.surface-dark{background:var(--color-bg-dark);color:var(--color-text-light);}
.surface-dark-alt{background:var(--color-bg-dark-alt);color:var(--color-text-light);}
.surface-light{background:var(--color-bg-light);color:var(--color-text-dark);}
.surface-light-alt{background:var(--color-bg-light-alt);color:var(--color-text-dark);}
.content-section,.process-section,.categories-section,.benefits-section,.carousel-section,.map-section{
  padding:var(--space-2xl) 0;
}
.page-hero{
  padding:calc(var(--space-2xl) - .5rem) 0 var(--space-lg);
  background:linear-gradient(175deg,#12141d 0%, #191c28 100%);
  color:var(--color-text-light);
}
.page-hero p{color:var(--color-text-light-muted);max-width:60ch;font-size:1.05rem;}
.legal-hero p{color:var(--color-accent-gold-soft);font-weight:600;}

.section-heading{max-width:60ch;margin-bottom:var(--space-lg);}
.surface-dark .section-heading p,.surface-dark-alt .section-heading p{color:var(--color-text-light-muted);}
.surface-light .section-heading p,.surface-light-alt .section-heading p{color:var(--color-text-dark-muted);}


.glow-card{
  position:relative;
  border-radius:var(--radius-md);
  isolation:isolate;
  transition:transform .4s var(--ease);
}
.glow-card::before{
  content:"";
  position:absolute;inset:0;
  border-radius:inherit;
  padding:1px;
  background:var(--gradient-primary);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.55;
  transition:opacity .4s var(--ease);
  pointer-events:none;
}
.glow-card:hover::before{opacity:1;}
.glow-card:hover{transform:translateY(-4px);}
.surface-dark .glow-card,.surface-dark-alt .glow-card{box-shadow:var(--shadow-glow-gold);}
.surface-dark .glow-card:hover,.surface-dark-alt .glow-card:hover{box-shadow:var(--shadow-glow-gold-strong);}
.surface-light .glow-card,.surface-light-alt .glow-card{box-shadow:var(--shadow-elevate-light);}
.surface-light .glow-card:hover,.surface-light-alt .glow-card:hover{box-shadow:var(--shadow-elevate-light-strong);}
.glow-card-inner{
  border-radius:calc(var(--radius-md) - 1px);
  padding:var(--space-md);
  height:100%;
}
.surface-dark .glow-card-inner,.surface-dark-alt .glow-card-inner{background:var(--color-bg-dark-elevated);}
.surface-light .glow-card-inner,.surface-light-alt .glow-card-inner{background:#ffffff;}


.process-flow{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--space-md);
  position:relative;
}
.process-flow::before{
  content:"";
  position:absolute;
  top:34px;left:8%;right:8%;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(240,180,77,.5), rgba(53,214,196,.5), transparent);
  z-index:0;
}
.process-step{
  position:relative;z-index:1;
  text-align:left;
  padding:1.6rem 1.4rem;
  background:var(--color-bg-dark-elevated);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-elevate-light);
}
.process-icon{
  width:56px;height:56px;
  border-radius:50%;
  background:var(--gradient-primary);
  color:#191309;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;
  margin-bottom:1rem;
  box-shadow:var(--shadow-glow-gold);
}
.process-step h3{margin-bottom:.4em;font-size:1.05rem;}
.process-step p{color:var(--color-text-light-muted);font-size:.94rem;margin:0;}


.accordion-stack{display:flex;flex-direction:column;gap:1rem;}
.content-block{
  border-radius:var(--radius-md);
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.content-block::before{
  content:"";
  position:absolute;inset:0;
  border-radius:inherit;
  padding:1px;
  background:var(--gradient-primary);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.4;
  transition:opacity .4s var(--ease);
  pointer-events:none;
}
.content-block.is-open::before{opacity:.9;}
.surface-light .content-block,.surface-light-alt .content-block{background:#fff;box-shadow:var(--shadow-elevate-light);}
.surface-dark .content-block,.surface-dark-alt .content-block{background:var(--color-bg-dark-elevated);box-shadow:var(--shadow-glow-gold);}

.content-block-header{
  width:100%;
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.3rem 1.5rem;
  text-align:left;
  color:inherit;
}
.content-block-index{
  font-family:var(--font-heading);
  font-weight:800;
  font-size:.95rem;
  color:var(--color-accent-gold);
  min-width:1.6rem;
}
.content-block-title{
  flex:1;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:1.08rem;
}
.content-block-icon{transition:transform .4s var(--ease);color:var(--color-accent-teal);}
.content-block.is-open .content-block-icon{transform:rotate(180deg);}

.content-block-body{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .45s var(--ease);
}
.content-block-body.is-open-default,.content-block.is-open .content-block-body{grid-template-rows:1fr;}
.content-block-body > div{overflow:hidden;}
.content-block-inner{
  padding:0 1.5rem 1.7rem;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:1.6rem;
  align-items:start;
}
.content-block-inner img{
  border-radius:var(--radius-sm);
  aspect-ratio:4/3;
  object-fit:cover;
  width:100%;
}
.content-block-inner-simple{grid-template-columns:1fr;padding-top:0;}
.content-block-text p{margin-bottom:.8em;}
.tag-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;}
.tag-list li{
  font-size:.9rem;
  padding-left:1.3rem;
  position:relative;
  color:var(--color-text-dark-muted);
}
.surface-dark .tag-list li,.surface-dark-alt .tag-list li{color:var(--color-text-light-muted);}
.tag-list li::before{
  content:"\2022";
  position:absolute;left:0;
  color:var(--color-accent-teal);
  font-weight:700;
}


.info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.4rem;
}
.benefit-icon{
  font-size:1.4rem;
  color:var(--color-accent-teal);
  margin-bottom:.8rem;
  display:block;
}
.info-grid h3{margin-bottom:.4em;}
.info-grid p{margin:0;font-size:.95rem;}
.surface-dark .info-grid p{color:var(--color-text-light-muted);}
.surface-light .info-grid p,.surface-light-alt .info-grid p{color:var(--color-text-dark-muted);}


.visual-break{padding:var(--space-xl) 0;background:var(--color-bg-light-alt);}
.visual-break-inner{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:var(--space-lg);
  align-items:center;
}
.visual-break-inner img{
  border-radius:var(--radius-lg);
  aspect-ratio:4/3;
  object-fit:cover;
  box-shadow:var(--shadow-elevate-light-strong);
}
.visual-break-copy p{color:var(--color-text-dark-muted);font-size:1.05rem;}


.content-carousel{padding-bottom:.5rem;}
.carousel-card{height:100%;}
.carousel-card .glow-card-inner{display:flex;flex-direction:column;gap:.6rem;}
.level-tag{
  align-self:flex-start;
  font-size:.75rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:.3rem .7rem;
  border-radius:var(--radius-pill);
  background:var(--gradient-soft);
  color:var(--color-accent-gold);
}
.swiper-nav-row{display:flex;gap:1rem;justify-content:center;margin-top:1.6rem;}
.carousel-nav,.carousel-nav-2{
  width:48px;height:48px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--color-bg-dark-elevated);
  color:var(--color-text-light);
  box-shadow:var(--shadow-glow-teal);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.carousel-nav:hover{transform:translateY(-3px) scale(1.05);}


.region-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.3rem;
}
.region-card{
  padding:1.6rem;
  border-radius:var(--radius-md);
  background:var(--color-bg-dark-elevated);
  box-shadow:var(--shadow-glow-teal);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.region-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(53,214,196,.3), 0 20px 50px -12px rgba(53,214,196,.55);}
.region-card i{color:var(--color-accent-gold);font-size:1.2rem;margin-bottom:.6rem;display:block;}
.region-card p{color:var(--color-text-light-muted);font-size:.92rem;margin:0;}


.cta-band{
  padding:var(--space-xl) 0;
  background:linear-gradient(120deg,#1c1420 0%, #171a26 50%, #10131a 100%);
  color:var(--color-text-light);
  text-align:center;
}
.cta-band-inner{max-width:640px;margin-inline:auto;}
.cta-band p{color:var(--color-text-light-muted);margin-bottom:var(--space-sm);}


.two-col-block{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:var(--space-lg);
  align-items:center;
}
.two-col-block.reverse{grid-template-columns:1.1fr .9fr;}
.two-col-block.reverse .two-col-media{order:2;}
.two-col-media img{
  border-radius:var(--radius-lg);
  aspect-ratio:4/3;
  object-fit:cover;
  box-shadow:var(--shadow-elevate-light-strong);
}
.surface-dark-alt .two-col-media img{box-shadow:var(--shadow-glow-gold-strong);}
.two-col-copy p{margin-bottom:1rem;}
.surface-dark-alt .two-col-copy p,.surface-dark .two-col-copy p{color:var(--color-text-light-muted);}
.surface-light .two-col-copy p{color:var(--color-text-dark-muted);}


.table-wrap{margin-bottom:1.2rem;}
.table-card-inner{padding:0;overflow-x:auto;}
.schedule-table{width:100%;border-collapse:collapse;min-width:640px;}
.schedule-table th,.schedule-table td{
  text-align:left;
  padding:1rem 1.4rem;
  font-size:.92rem;
  border-bottom:1px solid rgba(28,29,36,.08);
}
.schedule-table th{
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.76rem;
  color:var(--color-text-dark-muted);
}
.schedule-table tbody tr:last-child td{border-bottom:none;}
.table-note{font-size:.9rem;color:var(--color-text-dark-muted);}


.contact-grid{
  display:grid;
  grid-template-columns:1.4fr .9fr;
  gap:var(--space-lg);
  align-items:start;
}
.two-column-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.3rem;
}
.form-field{display:flex;flex-direction:column;gap:.45rem;}
.form-field-full{grid-column:1/-1;}
.form-field label{font-size:.88rem;font-weight:600;color:var(--color-text-dark-muted);}
.form-field input,.form-field textarea{
  padding:.85rem 1rem;
  border-radius:var(--radius-sm);
  border:1px solid rgba(28,29,36,.14);
  background:#fdfcfa;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
  min-height:48px;
}
.form-field textarea{min-height:140px;resize:vertical;}
.form-field input:focus,.form-field textarea:focus{
  outline:none;
  border-color:var(--color-accent-teal);
  box-shadow:0 0 0 4px rgba(53,214,196,.15);
}
.form-consent{
  flex-direction:row;
  align-items:flex-start;
  gap:.7rem;
}
.form-consent input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin-top:.2rem;}
.form-consent label{font-weight:500;font-size:.9rem;}
.contact-side{display:flex;flex-direction:column;gap:1.4rem;}
.contact-side p{margin-bottom:.6rem;font-size:.95rem;}
.contact-side-image{
  border-radius:var(--radius-md);
  aspect-ratio:4/3;
  object-fit:cover;
  box-shadow:var(--shadow-elevate-light-strong);
}
.map-frame-inner{padding:6px;}
.map-frame iframe{border-radius:calc(var(--radius-md) - 6px);display:block;}


.legal-content{max-width:820px;}
.legal-content h2{margin-top:2.2rem;font-size:1.4rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.92rem;}
.legal-table th,.legal-table td{
  border:1px solid rgba(28,29,36,.12);
  padding:.85rem 1rem;
  text-align:left;
  vertical-align:top;
}
.legal-table th{background:var(--color-bg-light-alt);font-weight:700;}
.legal-definitions{margin:1.4rem 0;}
.legal-definitions dt{font-weight:700;color:var(--color-accent-coral);margin-top:1rem;}
.legal-definitions dd{margin:.3rem 0 0;color:var(--color-text-dark-muted);}


.thanks-main{
  display:flex;
  align-items:center;
  min-height:60vh;
  background:linear-gradient(175deg,#12141d 0%, #191c28 100%);
  color:var(--color-text-light);
}
.thanks-content{text-align:center;padding:var(--space-2xl) 0;}
.thanks-content h1{font-size:clamp(2.2rem,6vw,3.6rem);margin-bottom:.5rem;}
.thanks-content p{color:var(--color-text-light-muted);font-size:1.1rem;margin-bottom:2rem;}


.site-footer{
  background:var(--color-bg-dark);
  color:var(--color-text-light-muted);
  padding-top:var(--space-xl);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:var(--space-md);
  padding-bottom:var(--space-lg);
}
.footer-brand .brand-mark{color:var(--color-text-light);margin-bottom:1rem;}
.footer-brand p{font-size:.92rem;max-width:32ch;}
.footer-links,.footer-legal{display:flex;flex-direction:column;gap:.7rem;}
.footer-links h3,.footer-legal h3,.footer-contact h3{
  color:var(--color-text-light);
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:.6rem;
}
.footer-links a,.footer-legal a{font-size:.92rem;transition:color .3s var(--ease);}
.footer-links a:hover,.footer-legal a:hover{color:var(--color-accent-gold);}
.footer-contact p{font-size:.92rem;display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;}
.footer-contact a:hover{color:var(--color-accent-teal);}
.footer-bottom{
  border-top:1px solid rgba(245,242,234,.08);
  padding:1.3rem 0;
  text-align:center;
  font-size:.82rem;
}


.cookie-corner-card{
  position:fixed;
  left:1.2rem;
  bottom:1.2rem;
  z-index:200;
  width:100%;
  max-width:360px;
  background:var(--color-bg-dark-elevated);
  color:var(--color-text-light);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-glow-gold-strong);
  padding:1.4rem;
  transform:translateY(140%);
  opacity:0;
  transition:transform .5s var(--ease-bounce), opacity .4s var(--ease);
}
.cookie-corner-card.is-visible{transform:translateY(0);opacity:1;}
.cookie-corner-card h3{font-size:1.02rem;margin-bottom:.5rem;}
.cookie-corner-card p{font-size:.86rem;color:var(--color-text-light-muted);margin-bottom:1rem;}
.cookie-actions{display:flex;flex-direction:column;gap:.6rem;}
.cookie-actions button{
  border-radius:var(--radius-pill);
  padding:.7rem 1rem;
  font-weight:700;
  font-size:.85rem;
  min-height:44px;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
}
.cookie-accept-all{background:var(--gradient-primary);color:#191309;box-shadow:var(--shadow-glow-gold);}
.cookie-accept-all:hover{transform:translateY(-2px);}
.cookie-reject-all,.cookie-customize-toggle{
  background:rgba(245,242,234,.08);
  color:var(--color-text-light);
  border:1px solid rgba(245,242,234,.16);
}
.cookie-reject-all:hover,.cookie-customize-toggle:hover{border-color:var(--color-accent-teal);}
.cookie-customize-panel{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .4s var(--ease);
  margin-top:.4rem;
}
.cookie-customize-panel.is-open{grid-template-rows:1fr;}
.cookie-customize-panel > div{overflow:hidden;}
.cookie-category{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.6rem 0;
  border-top:1px solid rgba(245,242,234,.08);
  font-size:.85rem;
}
.cookie-category label{font-weight:600;}
.cookie-category small{display:block;color:var(--color-text-light-muted);font-weight:400;}
.cookie-save-prefs{margin-top:.7rem;}


.scroll-reveal{will-change:transform,opacity;}
.visually-hidden{
  position:absolute;width:1px;height:1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1080px){
  .hero-inner{grid-template-columns:1fr;text-align:left;}
  .hero-visual{max-width:420px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .region-grid{grid-template-columns:repeat(2,1fr);}
  .info-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:880px){
  .primary-nav,.nav-cta{display:none;}
  .menu-toggle{display:flex;}
  .process-flow{grid-template-columns:1fr 1fr;}
  .process-flow::before{display:none;}
  .two-col-block,.two-col-block.reverse{grid-template-columns:1fr;}
  .two-col-block.reverse .two-col-media{order:0;}
  .visual-break-inner{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .two-column-form{grid-template-columns:1fr;}
}

@media (max-width:640px){
  .header-inner{padding:.9rem 0;}
  .hero-section{padding:calc(var(--space-2xl) - 1rem) 0 var(--space-xl);}
  .hero-badges{gap:.8rem;}
  .info-grid{grid-template-columns:1fr;}
  .region-grid{grid-template-columns:1fr;}
  .process-flow{grid-template-columns:1fr;}
  .content-block-inner{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:var(--space-sm);}
  .orbit-accent{display:none;}
  .cookie-corner-card{left:.75rem;right:.75rem;bottom:.75rem;max-width:none;}
}
