/* ==========================================================================
   Jeyuvi — Mesh Gradient Dark Theme
   ========================================================================== */

@media (prefers-reduced-motion: no-preference) {}

:root{
  --color-primary:#6C63FF;
  --color-secondary:#17B8A6;
  --color-accent:#F5A25D;
  --color-bg:#0A0C12;
  --color-surface:#12151D;
  --color-ink:#F3F4F8;

  --primary-100:color-mix(in oklch, var(--color-primary), white 75%);
  --primary-300:color-mix(in oklch, var(--color-primary), white 40%);
  --primary-500:var(--color-primary);
  --primary-700:color-mix(in oklch, var(--color-primary), black 30%);

  --secondary-300:color-mix(in oklch, var(--color-secondary), white 40%);
  --secondary-500:var(--color-secondary);
  --secondary-700:color-mix(in oklch, var(--color-secondary), black 30%);

  --accent-300:color-mix(in oklch, var(--color-accent), white 35%);
  --accent-500:var(--color-accent);

  --surface-0:var(--color-bg);
  --surface-1:color-mix(in oklch, var(--color-surface), white 3%);
  --surface-2:color-mix(in oklch, var(--color-surface), white 7%);
  --surface-glass:color-mix(in oklch, var(--color-surface), transparent 24%);
  --surface-glass-strong:color-mix(in oklch, var(--color-surface), transparent 8%);

  --border-soft:color-mix(in oklch, white, transparent 90%);
  --border-strong:color-mix(in oklch, white, transparent 78%);
  --border-primary:color-mix(in oklch, var(--color-primary), transparent 55%);

  --text-high:color-mix(in oklch, var(--color-ink), transparent 2%);
  --text-mid:color-mix(in oklch, var(--color-ink), transparent 26%);
  --text-low:color-mix(in oklch, var(--color-ink), transparent 48%);

  --shadow-1:0 1px 2px rgba(0,0,0,.35);
  --shadow-2:0 10px 30px -12px rgba(0,0,0,.55);
  --shadow-3:0 30px 60px -20px rgba(0,0,0,.6);
  --shadow-glow:0 20px 60px -24px color-mix(in oklch, var(--color-primary), transparent 55%);

  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:24px;
  --radius-xl:32px;

  --ease:cubic-bezier(.22,1,.36,1);
  --space-section:clamp(4rem, 8vw, 8rem);
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x: hidden; }
body{
  margin:0;
  background:var(--surface-0);
  color:var(--text-high);
  font-family:'Inter', sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}

h1,h2,h3,h4{
  font-family:'Space Grotesk', sans-serif;
  color:var(--text-high);
  line-height:1.15;
  margin:0 0 .6em;
  font-weight:600;
  letter-spacing:-.01em;
}
p{ margin:0 0 1em; color:var(--text-mid); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul, ol{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
input, textarea{ font-family:inherit; }
small{ color:var(--text-low); font-size:.85rem; }
mark{
  background:linear-gradient(120deg, color-mix(in oklch, var(--color-primary), transparent 55%), color-mix(in oklch, var(--color-secondary), transparent 65%));
  color:var(--text-high);
  padding:.05em .3em;
  border-radius:.3em;
  box-decoration-break:clone;
}
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 12% 18%, color-mix(in oklch, var(--color-primary), transparent 62%), transparent 55%),
    radial-gradient(circle at 88% 12%, color-mix(in oklch, var(--color-secondary), transparent 68%), transparent 52%),
    radial-gradient(circle at 78% 82%, color-mix(in oklch, var(--color-accent), transparent 78%), transparent 55%),
    radial-gradient(circle at 20% 92%, color-mix(in oklch, var(--color-secondary), transparent 74%), transparent 55%),
    var(--surface-0);
  pointer-events:none;
}

.global-container{ max-width:1220px; margin-inline:auto; padding-inline:clamp(1.25rem, 4vw, 3rem); }

.global-eyebrow{
  text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:600;
  color:var(--secondary-300); margin-bottom:.9rem;
}
.global-heading{ font-size:clamp(1.9rem, 3.4vw, 2.7rem); }
.global-heading--xl{ font-size:clamp(2.3rem, 5vw, 3.6rem); }


.global-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.9rem 1.7rem; border-radius:var(--radius-md);
  font-weight:600; font-size:.95rem; transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);
  min-height:44px;
}
.global-btn--primary{
  background:linear-gradient(135deg, var(--primary-500), var(--secondary-500));
  color:#fff;
  box-shadow:var(--shadow-2), var(--shadow-glow);
}
.global-btn--primary:hover{ transform:translateY(-2px); box-shadow:var(--shadow-3), var(--shadow-glow); }
.global-btn--ghost{
  background:var(--surface-glass);
  border:1px solid var(--border-strong);
  color:var(--text-high);
  backdrop-filter:blur(14px);
}
.global-btn--ghost:hover{ border-color:var(--border-primary); transform:translateY(-2px); }
.global-btn--small{ padding:.6rem 1.1rem; font-size:.85rem; }


.global-header{
  position:fixed; top:0; left:0; right:0; z-index:60;
  transform:translateY(-100%);
  transition:transform .5s var(--ease), background .3s var(--ease);
}
.global-header.is-visible{ transform:translateY(0); }
.global-header.is-scrolled{
  background:color-mix(in oklch, var(--color-bg), transparent 8%);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border-soft);
}
.global-header__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding-block:1.1rem;
}
.global-header__logo img{ height:32px; width:auto; }
.global-nav ul{ display:flex; gap:2.2rem; }
.global-nav a{
  font-size:.92rem; font-weight:500; color:var(--text-mid);
  transition:color .25s var(--ease);
  position:relative;
}
.global-nav a:hover, .global-nav a[aria-current="page"]{ color:var(--text-high); }
.global-nav a[aria-current="page"]::after{
  content:""; position:absolute; left:0; right:0; bottom:-8px; height:2px;
  background:linear-gradient(90deg, var(--primary-500), var(--secondary-500));
  border-radius:2px;
}
.global-header__cta{
  background:var(--surface-glass-strong);
  border:1px solid var(--border-strong);
  padding:.7rem 1.3rem; border-radius:var(--radius-md);
  font-weight:600; font-size:.88rem;
  transition:border-color .25s var(--ease), transform .25s var(--ease);
}
.global-header__cta:hover{ border-color:var(--border-primary); transform:translateY(-2px); }

@media (max-width:899px){
  .global-nav{ display:none; }
  .global-header__cta{ display:none; }
}


.global-mobile-menu{ position:fixed; inset:0; z-index:200; }
.global-mobile-menu[hidden]{ display:none; }
.global-mobile-menu__overlay{
  position:absolute; inset:0; left:80%;
  background:rgba(4,5,9,.55);
  backdrop-filter:blur(2px);
}
.global-mobile-menu__panel{
  position:absolute; top:0; left:0; bottom:0; width:80%; max-width:340px;
  background:var(--surface-1);
  border-right:1px solid var(--border-soft);
  padding:2rem 1.6rem;
  box-shadow:var(--shadow-3);
  transform:translateX(-100%);
  transition:transform .45s var(--ease);
  display:flex; flex-direction:column;
}
.global-mobile-menu.is-open .global-mobile-menu__panel{ transform:translateX(0); }
.global-mobile-menu__close{
  align-self:flex-end; font-size:1.2rem; color:var(--text-mid);
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; transition:background .25s var(--ease), color .25s var(--ease);
}
.global-mobile-menu__close:hover{ background:var(--surface-2); color:var(--text-high); }
.global-mobile-menu__panel ul{ margin-top:1.5rem; display:flex; flex-direction:column; gap:.4rem; }
.global-mobile-menu__panel li{
  opacity:0; transform:translateX(-16px);
}
.global-mobile-menu.is-open .global-mobile-menu__panel li{
  animation:menuItemIn .5s var(--ease) forwards;
  animation-delay:calc(var(--i) * 60ms);
}
@keyframes menuItemIn{ to{ opacity:1; transform:translateX(0); } }
.global-mobile-menu__panel a{
  display:block; padding:.85rem .5rem; font-family:'Space Grotesk', sans-serif;
  font-size:1.15rem; font-weight:600; color:var(--text-high);
  border-radius:var(--radius-sm); transition:background .25s var(--ease), padding-left .25s var(--ease);
}
.global-mobile-menu__panel a:hover{ background:var(--surface-2); padding-left:1rem; }
.global-mobile-menu__contact{
  margin-top:auto; padding-top:1.5rem; border-top:1px solid var(--border-soft);
  display:flex; flex-direction:column; gap:.6rem; color:var(--text-mid); font-size:.9rem;
}
.global-mobile-menu__contact i{ color:var(--secondary-300); margin-right:.5rem; width:16px; }


.global-bottom-nav{ display:none; }
@media (max-width:899px){
  .global-bottom-nav{
    display:block; position:fixed; bottom:0; left:0; right:0; z-index:150;
    background:color-mix(in oklch, var(--color-bg), transparent 4%);
    backdrop-filter:blur(20px);
    border-top:1px solid var(--border-soft);
    box-shadow:0 -8px 30px -10px rgba(0,0,0,.5);
    padding-bottom:env(safe-area-inset-bottom);
  }
  .global-bottom-nav ul{ display:flex; justify-content:space-around; }
  .global-bottom-nav a, .global-bottom-nav button{
    display:flex; flex-direction:column; align-items:center; gap:.25rem;
    padding:.7rem .4rem; min-width:44px; min-height:44px;
    font-size:.65rem; color:var(--text-low); transition:color .25s var(--ease);
  }
  .global-bottom-nav i{ font-size:1.05rem; }
  .global-bottom-nav a[aria-current="page"]{ color:var(--secondary-300); }
  .global-bottom-nav a:hover, .global-bottom-nav button:hover{ color:var(--text-high); }
  body{ padding-bottom:76px; }
}


.global-sidebar-cta{
  position:fixed; right:1.6rem; bottom:2.6rem; z-index:80;
  display:flex; align-items:center; gap:.6rem;
  background:linear-gradient(135deg, var(--primary-500), var(--secondary-500));
  color:#fff; padding:.9rem 1.3rem; border-radius:999px;
  font-weight:600; font-size:.85rem;
  box-shadow:var(--shadow-2), var(--shadow-glow);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.global-sidebar-cta:hover{ transform:translateY(-3px) scale(1.02); }
.global-sidebar-cta i{ font-size:1rem; }
@media (max-width:899px){ .global-sidebar-cta{ display:none; } }


.home-hero{
  position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:8rem 1.5rem 6rem; overflow:hidden;
}
.home-hero__mesh{
  position:absolute; inset:-20%;
  background:
    radial-gradient(circle at 25% 25%, color-mix(in oklch, var(--color-primary), transparent 45%), transparent 55%),
    radial-gradient(circle at 75% 20%, color-mix(in oklch, var(--color-secondary), transparent 55%), transparent 55%),
    radial-gradient(circle at 60% 80%, color-mix(in oklch, var(--color-accent), transparent 72%), transparent 55%);
  filter:blur(10px);
  animation:meshDrift 22s ease-in-out infinite alternate;
}
@keyframes meshDrift{ from{ transform:translate3d(0,0,0) scale(1);} to{ transform:translate3d(-2%,2%,0) scale(1.05);} }
.home-hero__content{ position:relative; z-index:2; max-width:760px; text-align:center; margin-inline:auto; }
.home-hero__eyebrow{
  text-transform:uppercase; letter-spacing:.16em; font-size:.8rem; font-weight:600;
  color:var(--secondary-300); margin-bottom:1.2rem;
}
.home-hero__title{ font-size:clamp(2.4rem, 6vw, 4.2rem); margin-bottom:1.2rem; }
.home-hero__lead{ font-size:1.1rem; color:var(--text-mid); max-width:600px; margin-inline:auto 1.2em; }
.home-hero__actions{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:1.6rem; }

.home-hero__floaters{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.home-hero__floater{
  position:absolute; display:flex; align-items:center; gap:.6rem;
  background:var(--surface-glass); border:1px solid var(--border-soft);
  backdrop-filter:blur(16px);
  padding:.8rem 1.1rem; border-radius:var(--radius-lg);
  font-size:.82rem; font-weight:600; color:var(--text-high);
  box-shadow:var(--shadow-2);
  animation:floatY 6s ease-in-out infinite;
}
.home-hero__floater i{ color:var(--secondary-300); font-size:1rem; }
.home-hero__floater[style*="--pos:1"]{ top:14%; left:6%; animation-delay:0s; }
.home-hero__floater[style*="--pos:2"]{ top:22%; right:6%; animation-delay:1.2s; }
.home-hero__floater[style*="--pos:3"]{ bottom:20%; left:9%; animation-delay:.6s; }
.home-hero__floater[style*="--pos:4"]{ bottom:14%; right:9%; animation-delay:1.8s; }
@keyframes floatY{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-14px);} }
@media (max-width:1024px){ .home-hero__floaters{ display:none; } }

.global-hero-sentinel{ height:1px; }


.highlight-statement{
  margin:0; padding:2.4rem clamp(1.5rem,4vw,3rem);
  background:var(--surface-glass);
  border:1px solid var(--border-soft);
  border-left:3px solid var(--secondary-500);
  border-radius:var(--radius-lg);
  backdrop-filter:blur(16px);
  box-shadow:var(--shadow-2);
}
.highlight-statement p{
  font-family:'Space Grotesk', sans-serif; font-size:clamp(1.2rem,2.4vw,1.6rem);
  color:var(--text-high); font-weight:500; margin-bottom:1rem; line-height:1.4;
}
.highlight-statement cite{ font-style:normal; font-size:.85rem; color:var(--text-low); letter-spacing:.04em; }
.highlight-statement--compact{ padding:1.6rem; margin-top:1.6rem; }
.highlight-statement--compact p{ font-size:1rem; }

.home-mission{ padding-block:var(--space-section); }


.home-features{ padding-block:var(--space-section); }
.home-features__intro{ max-width:680px; font-size:1.05rem; margin-bottom:2.6rem; }
.home-features__grid{ columns:3 320px; column-gap:1.6rem; }
.home-features__card{
  break-inside:avoid; display:inline-block; width:100%; margin-bottom:1.6rem;
  background:var(--surface-glass); border:1px solid var(--border-soft);
  border-radius:var(--radius-lg); padding:1.9rem;
  backdrop-filter:blur(16px);
  box-shadow:var(--shadow-1), var(--shadow-2);
  transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
}
.home-features__card:hover{
  transform:translateY(-6px);
  border-color:var(--border-primary);
  box-shadow:var(--shadow-3), var(--shadow-glow);
}
.home-features__card h3{ font-size:1.2rem; margin-bottom:1rem; }
.home-features__card dl{ margin:0; }
.home-features__card dt{
  font-weight:600; color:var(--secondary-300); font-size:.85rem;
  text-transform:uppercase; letter-spacing:.05em; margin-top:1rem;
}
.home-features__card dt:first-child{ margin-top:0; }
.home-features__card dd{ margin:.35rem 0 0; color:var(--text-mid); font-size:.94rem; }

@media (max-width:900px){ .home-features__grid{ columns:2 260px; } }
@media (max-width:600px){ .home-features__grid{ columns:1; } }


.home-tabs{ padding-block:var(--space-section); }
.home-tabs__wrap{ margin-top:2rem; }
.home-tabs__list{
  display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:2rem;
  border-bottom:1px solid var(--border-soft); padding-bottom:.6rem;
}
.home-tabs__btn{
  padding:.75rem 1.2rem; border-radius:var(--radius-md) var(--radius-md) 0 0;
  font-weight:600; font-size:.9rem; color:var(--text-low);
  position:relative; transition:color .25s var(--ease);
}
.home-tabs__btn.is-active{ color:var(--text-high); }
.home-tabs__btn.is-active::after{
  content:""; position:absolute; left:.6rem; right:.6rem; bottom:-.65rem; height:2px;
  background:linear-gradient(90deg, var(--primary-500), var(--secondary-500));
  border-radius:2px;
}
.home-tabs__panels{ position:relative; min-height:180px; }
.home-tabs__panel{
  background:var(--surface-glass); border:1px solid var(--border-soft);
  border-radius:var(--radius-lg); padding:2.2rem; backdrop-filter:blur(16px);
  box-shadow:var(--shadow-2);
  display:none;
  animation:panelFade .4s var(--ease);
}
.home-tabs__panel.is-active{ display:block; }
@keyframes panelFade{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:translateY(0);} }
.home-tabs__panel h3{ font-size:1.25rem; margin-bottom:.8rem; }


.home-stats{ padding-block:var(--space-section); }
.home-stats__grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; margin-top:2rem;
}
.home-stats__item{
  text-align:center; padding:2.2rem 1rem;
  background:var(--surface-glass); border:1px solid var(--border-soft);
  border-radius:var(--radius-lg); backdrop-filter:blur(16px);
  box-shadow:var(--shadow-1), var(--shadow-2);
}
.home-stats__number{
  display:block; font-family:'Space Grotesk', sans-serif; font-size:clamp(2.2rem,4vw,3rem);
  font-weight:700;
  background:linear-gradient(135deg, var(--primary-300), var(--secondary-300));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.home-stats__item p{ margin-top:.4rem; font-size:.9rem; color:var(--text-mid); }
@media (max-width:900px){ .home-stats__grid{ grid-template-columns:repeat(2,1fr); } }


.home-gallery{ padding-block:var(--space-section); }
.home-gallery__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; margin-top:2rem; }
.home-gallery__item{
  margin:0; border-radius:var(--radius-lg); overflow:hidden;
  border:1px solid var(--border-soft); box-shadow:var(--shadow-2);
  position:relative;
}
.home-gallery__item img{ width:100%; height:260px; object-fit:cover; transition:transform .5s var(--ease); }
.home-gallery__item:hover img{ transform:scale(1.06); }
.home-gallery__item figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:1rem;
  background:linear-gradient(0deg, rgba(6,8,14,.9), transparent);
  font-size:.82rem; color:var(--text-high);
}
@media (max-width:1024px){ .home-gallery__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .home-gallery__grid{ grid-template-columns:1fr; } }


.home-cta{ padding-block:var(--space-section); }
.home-cta__inner{
  display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap;
  background:linear-gradient(120deg, color-mix(in oklch, var(--color-primary), transparent 70%), color-mix(in oklch, var(--color-secondary), transparent 78%));
  border:1px solid var(--border-soft);
  border-radius:var(--radius-xl); padding:clamp(2rem,4vw,3.2rem);
  box-shadow:var(--shadow-2);
}
.home-cta__inner h2{ font-size:clamp(1.5rem,3vw,2.1rem); margin-bottom:.5rem; }
.home-cta__inner p{ max-width:480px; margin:0; }


.global-footer{
  margin-top:4rem;
  background:
    radial-gradient(circle at 15% 0%, color-mix(in oklch, var(--color-primary), transparent 78%), transparent 60%),
    radial-gradient(circle at 85% 100%, color-mix(in oklch, var(--color-secondary), transparent 80%), transparent 60%),
    var(--surface-1);
  border-top:1px solid var(--border-soft);
  padding-top:4rem;
}
.global-footer__grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:2.4rem;
  padding-bottom:2.6rem;
}
.global-footer__brand img{ margin-bottom:1rem; }
.global-footer__brand p{ font-size:.9rem; max-width:280px; }
.global-footer h3{ font-size:.95rem; margin-bottom:1rem; color:var(--text-high); }
.global-footer__nav ul, .global-footer__legal ul{ display:flex; flex-direction:column; gap:.6rem; }
.global-footer__nav a, .global-footer__legal a{
  font-size:.9rem; color:var(--text-mid); transition:color .25s var(--ease);
}
.global-footer__nav a:hover, .global-footer__legal a:hover{ color:var(--text-high); }
.global-footer__contact address{ font-style:normal; display:flex; flex-direction:column; gap:.6rem; font-size:.9rem; color:var(--text-mid); }
.global-footer__contact i{ color:var(--secondary-300); margin-right:.5rem; width:16px; }
.global-footer__contact a{ transition:color .25s var(--ease); }
.global-footer__contact a:hover{ color:var(--text-high); }
.global-footer__bottom{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem;
  padding-block:1.4rem; border-top:1px solid var(--border-soft);
}


.about-banner, .services-banner, .contact-banner, .legal-banner{
  padding:9rem 0 3.5rem;
  position:relative;
}
.services-banner__lead, .contact-banner__lead{ max-width:640px; font-size:1.05rem; }

.global-breadcrumb{ margin-bottom:1.6rem; }
.global-breadcrumb ol{ display:flex; gap:.5rem; flex-wrap:wrap; font-size:.85rem; color:var(--text-low); }
.global-breadcrumb a{ color:var(--text-low); transition:color .25s var(--ease); }
.global-breadcrumb a:hover{ color:var(--text-high); }
.global-breadcrumb li:not(:last-child)::after{ content:"/"; margin-left:.5rem; color:var(--text-low); }
.global-breadcrumb li[aria-current="page"]{ color:var(--text-mid); }


.about-story{ padding-block:3rem; }
.about-story__grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:3rem; align-items:center; }
.about-story__text h2{ font-size:1.8rem; }
.about-story__image img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-3); border:1px solid var(--border-soft); }
.about-story__image figcaption{ margin-top:.8rem; font-size:.85rem; color:var(--text-low); }

.about-quote{ padding-block:3rem; }

.about-values{ padding-block:var(--space-section); }
.about-values__intro{ max-width:680px; margin-bottom:2.4rem; }
.about-values__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; }
.about-values__item{
  background:var(--surface-glass); border:1px solid var(--border-soft); border-radius:var(--radius-lg);
  padding:1.8rem; backdrop-filter:blur(16px); box-shadow:var(--shadow-2);
}
.about-values__item h3{ font-size:1.05rem; margin-bottom:.9rem; }
.about-values__item p{ margin-top:.8rem; }
@media (max-width:900px){ .about-values__grid{ grid-template-columns:repeat(2,1fr); } }

.about-approach{ padding-block:var(--space-section); }
.about-approach__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:3rem; align-items:center; }
.about-approach__image img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-3); border:1px solid var(--border-soft); }
.about-approach__image figcaption{ margin-top:.8rem; font-size:.85rem; color:var(--text-low); }
.about-approach__text h2{ font-size:1.8rem; }

.about-team{ padding-block:var(--space-section); }
.about-team__grid{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.about-team__image img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-3); border:1px solid var(--border-soft); }
.about-team__image figcaption{ margin-top:.8rem; font-size:.85rem; color:var(--text-low); }
.about-team__text h2{ font-size:1.8rem; }

@media (max-width:900px){
  .about-story__grid, .about-approach__grid, .about-team__grid{ grid-template-columns:1fr; }
}


.services-grid{ padding-block:3rem var(--space-section); }
.services-grid__wrap{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.8rem; }
.services-grid__card{
  background:var(--surface-glass); border:1px solid var(--border-soft); border-radius:var(--radius-lg);
  padding:2rem; backdrop-filter:blur(16px); box-shadow:var(--shadow-1), var(--shadow-2);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.services-grid__card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-3); }
.services-grid__tag{
  text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; font-weight:600;
  color:var(--accent-300); margin-bottom:.5rem;
}
.services-grid__card h2{ font-size:1.35rem; margin-bottom:.7rem; }
.services-grid__card dl{ margin:1.1rem 0; }
.services-grid__card dt{ font-weight:600; font-size:.85rem; color:var(--secondary-300); text-transform:uppercase; letter-spacing:.04em; margin-top:.9rem; }
.services-grid__card dt:first-child{ margin-top:0; }
.services-grid__card dd{ margin:.3rem 0 0; font-size:.92rem; color:var(--text-mid); }
.services-grid__meter-label{ font-size:.82rem; font-weight:600; color:var(--text-mid); margin-bottom:.4rem; }
meter{ width:100%; height:10px; margin-bottom:.5rem; accent-color:var(--secondary-500); }

@media (max-width:900px){ .services-grid__wrap{ grid-template-columns:1fr; } }

.services-phase{ padding-block:var(--space-section); }
.services-phase__list{ display:flex; flex-direction:column; gap:1.4rem; margin-top:2rem; }
.services-phase__list li{
  display:flex; gap:1.4rem; align-items:flex-start;
  background:var(--surface-glass); border:1px solid var(--border-soft); border-radius:var(--radius-lg);
  padding:1.6rem 1.8rem; backdrop-filter:blur(16px); box-shadow:var(--shadow-1);
}
.services-phase__num{
  font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:1.6rem;
  background:linear-gradient(135deg, var(--primary-300), var(--secondary-300));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  min-width:52px;
}
.services-phase__list h3{ font-size:1.1rem; margin-bottom:.4rem; }
.services-phase__list p{ margin:0; }

.services-image{ padding-block:var(--space-section); }
.services-image__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.services-image__grid img{ border-radius:var(--radius-lg); border:1px solid var(--border-soft); box-shadow:var(--shadow-2); height:260px; width:100%; object-fit:cover; }
.services-image__grid figcaption{ margin-top:.7rem; font-size:.83rem; color:var(--text-low); }
@media (max-width:900px){ .services-image__grid{ grid-template-columns:1fr; } }

.services-faq{ padding-block:var(--space-section); }
.services-faq__list{ margin-top:2rem; display:flex; flex-direction:column; gap:1rem; }
.services-faq__item{
  background:var(--surface-glass); border:1px solid var(--border-soft); border-radius:var(--radius-lg);
  overflow:hidden; backdrop-filter:blur(16px);
}
.accordion-header{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:1.3rem 1.6rem; font-weight:600; font-size:1rem; color:var(--text-high);
  text-align:left; min-height:44px;
}
.accordion-header i{ transition:transform .3s var(--ease); color:var(--secondary-300); }
.accordion-header[aria-expanded="true"] i{ transform:rotate(180deg); }
.accordion-panel{ padding:0 1.6rem 1.4rem; }
.accordion-panel p{ margin:0; }


.contact-form-section{ padding-block:3rem var(--space-section); }
.contact-form-section__grid{ display:grid; grid-template-columns:.9fr 1.4fr; gap:3rem; align-items:start; }
.contact-form-section__info dl{ margin:1.2rem 0; }
.contact-form-section__info dt{ font-weight:600; font-size:.85rem; color:var(--secondary-300); text-transform:uppercase; letter-spacing:.04em; margin-top:1rem; }
.contact-form-section__info dt:first-child{ margin-top:0; }
.contact-form-section__info dd{ margin:.3rem 0 0; color:var(--text-mid); }
.contact-form-section__info dd a{ color:var(--text-high); }

.contact-form-section__form{
  background:var(--surface-glass); border:1px solid var(--border-soft); border-radius:var(--radius-lg);
  padding:2rem; backdrop-filter:blur(16px); box-shadow:var(--shadow-2);
}
.contact-form-section__form fieldset{ border:none; padding:0; margin:0 0 1.6rem; }
.contact-form-section__form legend{
  font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:.95rem;
  margin-bottom:1rem; color:var(--text-high); padding:0;
}
.contact-form-section__row{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.contact-form-section__field{ margin-bottom:1.2rem; }
.contact-form-section__field:last-child{ margin-bottom:0; }
.contact-form-section__field label{ display:block; font-size:.85rem; font-weight:500; color:var(--text-mid); margin-bottom:.4rem; }
.contact-form-section__field input, .contact-form-section__field textarea{
  width:100%; padding:.85rem 1rem; border-radius:var(--radius-sm);
  background:var(--surface-2); border:1px solid var(--border-soft); color:var(--text-high);
  font-size:.95rem; transition:border-color .25s var(--ease), background .25s var(--ease);
}
.contact-form-section__field input:focus, .contact-form-section__field textarea:focus{
  outline:none; border-color:var(--border-primary); background:var(--surface-1);
}
.contact-form-section__field textarea{ resize:vertical; min-height:150px; }
.contact-form-section__checkbox{ display:flex; align-items:flex-start; gap:.7rem; font-size:.88rem; color:var(--text-mid); }
.contact-form-section__checkbox input{ margin-top:.25rem; width:18px; height:18px; accent-color:var(--secondary-500); }
.contact-form-section__checkbox a{ color:var(--secondary-300); }
.contact-form-section__submit{ width:100%; margin-top:1.6rem; }
.contact-form-section__note{ margin-top:.9rem; text-align:center; }

@media (max-width:900px){
  .contact-form-section__grid{ grid-template-columns:1fr; }
  .contact-form-section__row{ grid-template-columns:1fr; }
}

.contact-map{ padding-block:var(--space-section); }
.contact-map__frame{
  margin-top:2rem; border-radius:var(--radius-lg); overflow:hidden;
  border:1px solid var(--border-soft); box-shadow:var(--shadow-2);
}

.contact-access{ padding-block:var(--space-section); }
.contact-access__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:3rem; align-items:center; }
.contact-access__image img{ border-radius:var(--radius-lg); border:1px solid var(--border-soft); box-shadow:var(--shadow-2); }
.contact-access__image figcaption{ margin-top:.7rem; font-size:.83rem; color:var(--text-low); }
.contact-access__text dl{ margin:1.2rem 0; }
.contact-access__text dt{ font-weight:600; font-size:.85rem; color:var(--secondary-300); text-transform:uppercase; letter-spacing:.04em; margin-top:1rem; }
.contact-access__text dt:first-child{ margin-top:0; }
.contact-access__text dd{ margin:.3rem 0 0; color:var(--text-mid); }
@media (max-width:900px){ .contact-access__grid{ grid-template-columns:1fr; } }


.thanks-section{ min-height:80vh; display:flex; align-items:center; padding:9rem 0 5rem; }
.thanks-section__wrap{ max-width:680px; margin-inline:auto; text-align:center; }
.thanks-section__quote{
  margin:0 0 2.4rem; padding:2.6rem clamp(1.5rem,4vw,3rem);
  background:var(--surface-glass); border:1px solid var(--border-soft);
  border-radius:var(--radius-xl); backdrop-filter:blur(18px); box-shadow:var(--shadow-3);
}
.thanks-section__quote p{
  font-family:'Space Grotesk', sans-serif; font-size:clamp(1.2rem,2.6vw,1.7rem);
  color:var(--text-high); font-weight:500; margin-bottom:1rem;
}
.thanks-section__quote cite{ font-style:normal; font-size:.85rem; color:var(--text-low); }
.thanks-section__body h1{ font-size:clamp(1.8rem,3.4vw,2.4rem); margin-bottom:.8rem; }
.thanks-section__body p{ margin-bottom:1.8rem; }


.legal-banner{ padding:9rem 0 3rem; }
.legal-definition{
  background:var(--surface-glass); border:1px solid var(--border-soft); border-left:3px solid var(--accent-500);
  border-radius:var(--radius-md); padding:1.2rem 1.5rem; margin:1.4rem 0 1.8rem;
  backdrop-filter:blur(14px); font-size:.92rem;
}
.legal-definition p{ margin:0; color:var(--text-mid); }

.privacy-content, .terms-content, .cookies-content{ padding-block:1rem var(--space-section); }
.privacy-content__wrap, .terms-content__wrap, .cookies-content__wrap{
  max-width:800px; font-size:1rem;
}
.privacy-content__wrap h2, .terms-content__wrap h2, .cookies-content__wrap h2{
  font-size:1.35rem; margin-top:2.2rem;
}
.terms-content__clause{ margin-bottom:.5rem; }
.terms-content__clause dl{ margin:1rem 0; }
.terms-content__clause dt{ font-weight:600; color:var(--secondary-300); margin-top:.8rem; }
.terms-content__clause dt:first-child{ margin-top:0; }
.terms-content__clause dd{ margin:.25rem 0 0; color:var(--text-mid); }

.cookies-content__table{
  width:100%; border-collapse:collapse; margin:1.4rem 0 2rem;
  background:var(--surface-glass); border:1px solid var(--border-soft); border-radius:var(--radius-md); overflow:hidden;
}
.cookies-content__table th, .cookies-content__table td{
  padding:.8rem 1rem; text-align:left; font-size:.88rem; border-bottom:1px solid var(--border-soft);
}
.cookies-content__table th{ color:var(--text-high); font-weight:600; background:var(--surface-2); }
.cookies-content__table td{ color:var(--text-mid); }
.cookies-content__table tr:last-child td{ border-bottom:none; }


.global-cookie-consent{
  position:fixed; top:1.4rem; left:1.4rem; z-index:300;
  width:min(340px, calc(100vw - 2.8rem));
  display:flex; gap:1rem; align-items:flex-start;
  background:var(--surface-1); border:1px solid var(--border-strong);
  border-radius:var(--radius-lg); padding:1.3rem;
  box-shadow:var(--shadow-3);
  backdrop-filter:blur(20px);
  transform:translateX(-120%);
  transition:transform .5s var(--ease);
}
.global-cookie-consent.is-visible{ transform:translateX(0); }
.global-cookie-consent[hidden]{ display:none; }
.global-cookie-consent__icon{
  width:38px; height:38px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg, var(--primary-500), var(--secondary-500));
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:1rem;
}
.global-cookie-consent__title{ font-weight:600; color:var(--text-high); margin-bottom:.3rem; font-size:.92rem; }
.global-cookie-consent__text{ font-size:.82rem; margin-bottom:.9rem; color:var(--text-mid); }
.global-cookie-consent__actions{ display:flex; gap:.6rem; flex-wrap:wrap; }

.global-cookie-modal{ position:fixed; inset:0; z-index:350; display:flex; align-items:center; justify-content:center; padding:1.5rem; }
.global-cookie-modal[hidden]{ display:none; }
.global-cookie-modal__overlay{ position:absolute; inset:0; background:rgba(4,5,9,.7); backdrop-filter:blur(4px); }
.global-cookie-modal__panel{
  position:relative; max-width:520px; width:100%; max-height:85vh; overflow-y:auto;
  background:var(--surface-1); border:1px solid var(--border-strong); border-radius:var(--radius-lg);
  padding:2.2rem; box-shadow:var(--shadow-3);
}
.global-cookie-modal__panel h2{ font-size:1.3rem; margin-bottom:.7rem; }
.global-cookie-modal__close{
  position:absolute; top:1.2rem; right:1.2rem; width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--text-mid);
  transition:background .25s var(--ease), color .25s var(--ease);
}
.global-cookie-modal__close:hover{ background:var(--surface-2); color:var(--text-high); }
.global-cookie-modal__category{
  padding:1rem 0; border-top:1px solid var(--border-soft);
}
.global-cookie-modal__category label{ display:flex; align-items:center; gap:.7rem; font-weight:600; font-size:.92rem; }
.global-cookie-modal__category input{ width:18px; height:18px; accent-color:var(--secondary-500); }
.global-cookie-modal__category p{ margin:.4rem 0 0 1.9rem; }
.global-cookie-modal__actions{ display:flex; gap:.8rem; margin-top:1.6rem; flex-wrap:wrap; }

@media (max-width:560px){
  .global-cookie-consent{ left:.8rem; top:.8rem; }
}