/* ===================================================
   GLOBAL MINTEK — Dark Premium Duotone
   =================================================== */

:root{
  --color-bg:#0b0d10;
  --color-primary:#f2a93b;
  --color-secondary:#2dd4bf;
  --color-text:#f2f4f6;

  --color-bg-alt: color-mix(in oklch, var(--color-bg), white 5%);
  --color-bg-elevated: color-mix(in oklch, var(--color-bg), white 11%);
  --color-bg-deep: color-mix(in oklch, var(--color-bg), black 35%);
  --color-paper: color-mix(in oklch, white, var(--color-primary) 8%);
  --color-paper-alt: color-mix(in oklch, var(--color-paper), black 4%);
  --color-paper-text: color-mix(in oklch, black, var(--color-bg) 15%);
  --color-paper-text-muted: color-mix(in oklch, var(--color-paper-text), transparent 40%);

  --color-text-muted: color-mix(in oklch, var(--color-text), transparent 38%);
  --color-text-faint: color-mix(in oklch, var(--color-text), transparent 60%);
  --color-border: color-mix(in oklch, var(--color-text), transparent 88%);
  --color-border-strong: color-mix(in oklch, var(--color-text), transparent 72%);

  --color-primary-soft: color-mix(in oklch, var(--color-primary), transparent 84%);
  --color-secondary-soft: color-mix(in oklch, var(--color-secondary), transparent 84%);
  --color-primary-hover: color-mix(in oklch, var(--color-primary), white 16%);
  --color-secondary-hover: color-mix(in oklch, var(--color-secondary), white 16%);
  --color-primary-text-on: color-mix(in oklch, black, var(--color-primary) 15%);
  --color-secondary-text-on: color-mix(in oklch, black, var(--color-secondary) 10%);

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

  --space-2xs:.375rem;
  --space-xs:.75rem;
  --space-sm:1.25rem;
  --space-md:2rem;
  --space-lg:3.5rem;
  --space-xl:6rem;
  --space-2xl:9rem;

  --shadow-sm:0 1px 3px rgba(0,0,0,.35);
  --shadow-md:0 10px 30px rgba(0,0,0,.4), 0 2px 8px rgba(0,0,0,.3);
  --shadow-lg:0 30px 70px rgba(0,0,0,.5), 0 10px 25px rgba(0,0,0,.4);
  --shadow-glow-primary:0 0 0 1px color-mix(in oklch, var(--color-primary), transparent 55%), 0 10px 34px color-mix(in oklch, var(--color-primary), transparent 68%);
  --shadow-glow-secondary:0 0 0 1px color-mix(in oklch, var(--color-secondary), transparent 55%), 0 10px 34px color-mix(in oklch, var(--color-secondary), transparent 68%);

  --transition-fast:.22s cubic-bezier(.4,0,.2,1);
  --transition-med:.45s cubic-bezier(.2,.8,.2,1);
  --transition-slow:.7s cubic-bezier(.65,0,.35,1);
}

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

h1,h2,h3,h4{
  font-family:'General Sans','Inter',sans-serif;
  font-weight:600;
  line-height:1.15;
  margin:0;
  letter-spacing:-0.01em;
}
p{ margin:0; color:var(--color-text-muted); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; }

.wrapper{ max-width:1240px; margin-inline:auto; padding-inline:clamp(1.25rem,4vw,2.75rem); }

.sectionEyebrow{
  font-size:.8rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--color-primary); margin-bottom:var(--space-xs);
}
.sectionEyebrow--onLight{ color:color-mix(in oklch, var(--color-primary), black 20%); }
.sectionHeading{ font-size:clamp(1.9rem,3.6vw,2.75rem); max-width:44rem; }

.sectionDark{ background:var(--color-bg); padding-block:var(--space-2xl); }
.sectionDarkAlt{ background:var(--color-bg-alt); padding-block:var(--space-2xl); }
.sectionElevated{ background:var(--color-bg-elevated); padding-block:var(--space-2xl); }


.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.95rem 1.9rem; border-radius:var(--radius-pill);
  font-weight:600; font-size:.95rem; min-height:48px;
  border:1px solid transparent; cursor:pointer;
  transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}
.btn:hover{ transform:translateY(-3px); }
.btn--primary{ background:var(--color-primary); color:var(--color-primary-text-on); box-shadow:var(--shadow-glow-primary); }
.btn--primary:hover{ background:var(--color-primary-hover); }
.btn--outline{ background:transparent; color:var(--color-text); border-color:var(--color-border-strong); }
.btn--outline:hover{ border-color:var(--color-secondary); color:var(--color-secondary); box-shadow:var(--shadow-glow-secondary); }


.siteHeader{
  position:fixed; top:0; left:0; right:0; z-index:200;
  transition:background var(--transition-med), box-shadow var(--transition-med), border-color var(--transition-med);
  border-bottom:1px solid transparent;
}
.siteHeader--onDark{ background:color-mix(in oklch, var(--color-bg), transparent 22%); backdrop-filter:blur(14px); border-color:var(--color-border); }
.siteHeader--onLight{ background:color-mix(in oklch, var(--color-paper), transparent 12%); backdrop-filter:blur(14px); border-color:color-mix(in oklch, var(--color-paper-text), transparent 88%); }

.siteHeader_inner{
  display:flex; align-items:center; justify-content:space-between; gap:var(--space-md);
  padding-block:1.1rem;
}
.siteHeader_navLeft,.siteHeader_navRight{ display:flex; align-items:center; gap:1.8rem; flex:1; }
.siteHeader_navRight{ justify-content:flex-end; }
.siteHeader_link{
  position:relative; font-size:.92rem; font-weight:500;
  color:var(--color-text); transition:color var(--transition-fast);
  padding-block:.3rem;
}
.siteHeader--onLight .siteHeader_link{ color:var(--color-paper-text); }
.siteHeader_link::after{
  content:''; position:absolute; left:0; bottom:-2px; height:2px; width:0;
  background:var(--color-secondary); transition:width var(--transition-med);
}
.siteHeader_link:hover::after,.siteHeader_link--active::after{ width:100%; }
.siteHeader_link--cta{
  background:var(--color-primary); color:var(--color-primary-text-on) !important;
  padding:.6rem 1.3rem; border-radius:var(--radius-pill); box-shadow:var(--shadow-glow-primary);
}
.siteHeader_link--cta::after{ display:none; }
.siteHeader_link--cta:hover{ background:var(--color-primary-hover); }

.siteHeader_logo{ display:flex; align-items:center; gap:.6rem; font-family:'General Sans','Inter',sans-serif; font-weight:600; font-size:1.05rem; flex-shrink:0; }
.siteHeader_logoImg{ width:34px; height:34px; }

.siteHeader_burger{
  display:flex; flex-direction:column; justify-content:center; gap:5px;
  width:46px; height:46px; border-radius:var(--radius-sm);
  background:transparent; border:1px solid var(--color-border-strong); cursor:pointer;
  align-items:center; z-index:300; position:relative;
  transition:border-color var(--transition-fast), background var(--transition-fast);
}
.siteHeader_burger span{ width:20px; height:2px; background:var(--color-text); border-radius:2px; transition:all var(--transition-med); }
.siteHeader--onLight .siteHeader_burger span{ background:var(--color-paper-text); }
.siteHeader--onLight .siteHeader_burger{ border-color:color-mix(in oklch, var(--color-paper-text), transparent 70%); }
.siteHeader_burger.isActive span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.siteHeader_burger.isActive span:nth-child(2){ opacity:0; }
.siteHeader_burger.isActive span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }


.mobileMenu{
  position:fixed; inset:0; z-index:250;
  background:linear-gradient(160deg, var(--color-bg-deep), var(--color-bg) 60%);
  clip-path:polygon(100% 0%, 100% 0%, 100% 0%, 100% 0%);
  transition:clip-path var(--transition-slow);
  display:flex; align-items:center; justify-content:center;
}
.mobileMenu.isOpen{ clip-path:polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); }
.mobileMenu_nav{ display:flex; flex-direction:column; gap:1.8rem; text-align:center; }
.mobileMenu_nav a{
  font-family:'General Sans','Inter',sans-serif; font-size:1.6rem; font-weight:600; color:var(--color-text);
  opacity:0; transform:translateY(14px);
  transition:opacity .5s ease, transform .5s ease, color var(--transition-fast);
}
.mobileMenu.isOpen .mobileMenu_nav a{ opacity:1; transform:translateY(0); }
.mobileMenu.isOpen .mobileMenu_nav a:nth-child(1){ transition-delay:.35s; }
.mobileMenu.isOpen .mobileMenu_nav a:nth-child(2){ transition-delay:.42s; }
.mobileMenu.isOpen .mobileMenu_nav a:nth-child(3){ transition-delay:.49s; }
.mobileMenu.isOpen .mobileMenu_nav a:nth-child(4){ transition-delay:.56s; }
.mobileMenu.isOpen .mobileMenu_nav a:nth-child(5){ transition-delay:.63s; }
.mobileMenu_nav a:hover{ color:var(--color-secondary); }


.mainHero{
  position:relative; min-height:100vh; display:flex; align-items:center;
  overflow:hidden; background:var(--color-bg);
}
.mainHero_bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:.5; filter:saturate(0.9) brightness(0.75);
}
.mainHero_overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, color-mix(in oklch, var(--color-bg), transparent 5%) 0%, color-mix(in oklch, var(--color-bg), transparent 45%) 45%, var(--color-bg) 100%),
             radial-gradient(circle at 20% 20%, color-mix(in oklch, var(--color-primary), transparent 88%), transparent 55%),
             radial-gradient(circle at 80% 75%, color-mix(in oklch, var(--color-secondary), transparent 88%), transparent 55%);
}
.mainHero_content{ position:relative; z-index:2; text-align:center; max-width:860px; margin-inline:auto; padding-block:8rem 4rem; }
.mainHero_eyebrow{ color:var(--color-secondary); font-weight:600; letter-spacing:.14em; text-transform:uppercase; font-size:.85rem; margin-bottom:var(--space-sm); }
.mainHero_title{ font-size:clamp(2.4rem,6vw,4.6rem); margin-bottom:var(--space-md); }
.mainHero_title_accent{ color:var(--color-primary); position:relative; }
.mainHero_title_accent::after{
  content:''; position:absolute; left:0; right:0; bottom:.05em; height:.2em;
  background:color-mix(in oklch, var(--color-primary), transparent 65%); z-index:-1; border-radius:4px;
}
.mainHero_desc{ font-size:1.1rem; color:var(--color-text-muted); max-width:640px; margin-inline:auto; margin-bottom:var(--space-lg); }
.mainHero_ctas{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.mainHero_scrollHint{ position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); z-index:2; }
.mainHero_scrollHint span{ display:block; width:1px; height:44px; background:linear-gradient(var(--color-primary), transparent); animation:scrollPulse 2s ease infinite; }
@keyframes scrollPulse{ 0%{opacity:.2;} 50%{opacity:1;} 100%{opacity:.2;} }


.introStatement_inner{ max-width:760px; margin-inline:auto; text-align:center; }
.introStatement_heading{ font-size:clamp(1.7rem,3.4vw,2.4rem); margin-bottom:var(--space-sm); }
.introStatement_text{ font-size:1.05rem; }


.featureSection_head{ max-width:640px; margin-bottom:var(--space-lg); }
.featureGrid{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
.featureCard{
  background:linear-gradient(160deg, var(--color-bg-elevated), var(--color-bg-alt));
  border:1px solid var(--color-border); border-radius:var(--radius-lg);
  padding:2.1rem 1.9rem; box-shadow:var(--shadow-md);
  transition:transform var(--transition-med), box-shadow var(--transition-med), border-color var(--transition-med);
}
.featureCard:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:color-mix(in oklch, var(--color-secondary), transparent 55%); }
.featureCard_icon{
  width:52px; height:52px; border-radius:var(--radius-sm);
  display:flex; align-items:center; justify-content:center;
  background:var(--color-primary-soft); color:var(--color-primary); font-size:1.3rem;
  margin-bottom:var(--space-sm);
}
.featureCard_title{ font-size:1.15rem; margin-bottom:.65rem; }
.featureCard_desc{ font-size:.95rem; }


.sectionDivider{ position:relative; height:90px; background:var(--color-bg); overflow:hidden; }
.sectionDivider_dots{
  position:absolute; inset:0;
  background-image:radial-gradient(circle, color-mix(in oklch, var(--color-secondary), transparent 40%) 2px, transparent 2.4px);
  background-size:22px 22px;
  mask-image:linear-gradient(90deg, transparent, black 20%, black 80%, transparent);
  animation:driftDots 12s linear infinite;
}
@keyframes driftDots{ from{ background-position:0 0; } to{ background-position:220px 0; } }


.principlesSection{ background:var(--color-paper); color:var(--color-paper-text); padding-block:var(--space-2xl); }
.principlesSection_inner{ max-width:760px; margin-inline:auto; text-align:center; }
.principlesSection_heading{ color:var(--color-paper-text); font-size:clamp(1.7rem,3.4vw,2.5rem); margin-bottom:var(--space-sm); }
.principlesSection_text{ color:var(--color-paper-text-muted); font-size:1.05rem; margin-bottom:var(--space-md); }
.principlesSection_list{ display:grid; gap:1rem; text-align:left; max-width:560px; margin-inline:auto; margin-bottom:var(--space-md); }
.principlesSection_item{
  display:flex; align-items:flex-start; gap:.85rem; padding:1rem 1.2rem;
  background:var(--color-paper-alt); border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
  transition:transform var(--transition-fast), box-shadow var(--transition-fast);
}
.principlesSection_item:hover{ transform:translateX(4px); box-shadow:var(--shadow-md); }
.principlesSection_item i{ color:color-mix(in oklch, var(--color-primary), black 15%); margin-top:.2rem; }
.principlesSection_item span{ color:var(--color-paper-text); font-size:.95rem; }
.principlesSection_link{ font-weight:600; color:color-mix(in oklch, var(--color-secondary), black 30%); display:inline-flex; align-items:center; gap:.5rem; transition:gap var(--transition-fast); }
.principlesSection_link:hover{ gap:.85rem; }


.servicesGrid{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
.serviceCard{
  background:var(--color-bg-alt); border:1px solid var(--color-border); border-radius:var(--radius-lg);
  padding:2rem 1.8rem; text-align:left;
  transition:transform var(--transition-med), box-shadow var(--transition-med), background var(--transition-med);
}
.serviceCard:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); background:var(--color-bg-elevated); }
.serviceCard_icon{
  width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--color-secondary-soft); color:var(--color-secondary); font-size:1.25rem; margin-bottom:var(--space-sm);
}
.serviceCard_title{ font-size:1.1rem; margin-bottom:.5rem; }
.serviceCard_desc{ font-size:.93rem; }


.articlesGrid{ display:grid; grid-template-columns:1fr; gap:1.75rem; }
.articleCard{
  background:var(--color-bg-elevated); border-radius:var(--radius-lg); overflow:hidden;
  border:1px solid var(--color-border); box-shadow:var(--shadow-md);
  transition:transform var(--transition-med), box-shadow var(--transition-med);
  display:flex; flex-direction:column;
}
.articleCard:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.articleCard_image{ width:100%; height:190px; object-fit:cover; }
.articleCard_tag{
  margin:1.2rem 1.4rem 0; align-self:flex-start; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--color-primary-text-on); background:var(--color-primary); padding:.3rem .7rem; border-radius:var(--radius-pill);
}
.articleCard_title{ font-size:1.1rem; margin:1rem 1.4rem 0; }
.articleCard_excerpt{ font-size:.92rem; margin:.6rem 1.4rem 1.5rem; }


.statsSection_inner{ text-align:center; }
.statsSection_grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; margin-top:var(--space-lg); }
.statBlock{ padding:1.5rem 1rem; border-radius:var(--radius-md); background:color-mix(in oklch, var(--color-bg-elevated), transparent 0%); border:1px solid var(--color-border); }
.statBlock_number{ display:block; font-family:'General Sans','Inter',sans-serif; font-size:clamp(2.2rem,4.5vw,3rem); font-weight:700; color:var(--color-secondary); }
.statBlock_label{ display:block; font-size:.85rem; color:var(--color-text-muted); margin-top:.4rem; }


.ctaBanner{
  background:linear-gradient(120deg, color-mix(in oklch, var(--color-primary), var(--color-bg) 25%), color-mix(in oklch, var(--color-secondary), var(--color-bg) 30%));
  padding-block:var(--space-2xl);
}
.ctaBanner_inner{ text-align:center; max-width:640px; margin-inline:auto; }
.ctaBanner_heading{ font-size:clamp(1.8rem,3.6vw,2.6rem); color:#0b0d10; margin-bottom:var(--space-sm); }
.ctaBanner_text{ color:color-mix(in oklch, #0b0d10, transparent 20%); margin-bottom:var(--space-md); font-size:1.02rem; }
.ctaBanner_button{ background:#0b0d10; color:#fff; box-shadow:none; }
.ctaBanner_button:hover{ background:color-mix(in oklch, #0b0d10, white 20%); }


.pageHeader{
  padding-block:9rem 4.5rem; background:linear-gradient(180deg, var(--color-bg-deep), var(--color-bg));
  position:relative; overflow:hidden;
}
.pageHeader::before{
  content:''; position:absolute; top:-40%; right:-10%; width:60%; height:120%;
  background:radial-gradient(circle, color-mix(in oklch, var(--color-secondary), transparent 88%), transparent 70%);
}
.pageHeader_inner{ position:relative; max-width:760px; }
.pageHeader_eyebrow{ color:var(--color-secondary); font-weight:600; letter-spacing:.14em; text-transform:uppercase; font-size:.85rem; margin-bottom:var(--space-sm); }
.pageHeader_title{ font-size:clamp(2.1rem,5vw,3.4rem); margin-bottom:var(--space-sm); }
.pageHeader_desc{ font-size:1.05rem; max-width:600px; }


.contentBlock_grid{ display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:center; }
.contentBlock_grid--reverse{ direction:rtl; }
.contentBlock_grid--reverse > *{ direction:ltr; }
.contentBlock_heading{ font-size:clamp(1.5rem,3vw,2.1rem); margin-bottom:var(--space-sm); }
.contentBlock_text p{ margin-bottom:1rem; font-size:1rem; }
.contentBlock_text p:last-child{ margin-bottom:0; }
.contentBlock_image{ width:100%; height:320px; object-fit:cover; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.contentBlock_list{ display:grid; gap:.85rem; margin-top:.5rem; }
.contentBlock_list li{
  position:relative; padding-left:1.6rem; font-size:.98rem; color:var(--color-text-muted);
}
.contentBlock_list li::before{
  content:''; position:absolute; left:0; top:.5em; width:8px; height:8px; border-radius:50%;
  background:var(--color-secondary);
}


.formSection_inner{ max-width:640px; margin-inline:auto; }
.formSection_head{ text-align:center; margin-bottom:var(--space-md); }
.formSection_lead{ margin-top:.5rem; }
.formCard{
  background:var(--color-bg-elevated); border:1px solid var(--color-border); border-radius:var(--radius-lg);
  padding:2rem; box-shadow:var(--shadow-md); display:flex; flex-direction:column; gap:1.3rem;
}
.formGroup{ display:flex; flex-direction:column; gap:.5rem; }
.formLabel{ font-size:.88rem; font-weight:600; color:var(--color-text); }
.formInput,.formTextarea{
  background:var(--color-bg); border:1px solid var(--color-border-strong); border-radius:var(--radius-sm);
  padding:.85rem 1rem; color:var(--color-text); font-family:inherit; font-size:.96rem;
  transition:border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.formInput:focus,.formTextarea:focus{ outline:none; border-color:var(--color-secondary); box-shadow:0 0 0 3px var(--color-secondary-soft); }
.formTextarea{ resize:vertical; min-height:120px; }
.formCheckbox{ display:flex; align-items:flex-start; gap:.7rem; font-size:.88rem; color:var(--color-text-muted); cursor:pointer; }
.formCheckbox input{ margin-top:.2rem; width:18px; height:18px; accent-color:var(--color-secondary); flex-shrink:0; }
.formCheckbox a{ color:var(--color-secondary); text-decoration:underline; }
.formSubmit{ align-self:flex-start; }
.formCard--error .formInput:invalid,.formCard--error .formTextarea:invalid{ border-color:#e5675f; }


.contactSection_grid{ display:grid; grid-template-columns:1fr; gap:2.5rem; }
.contactSection_lead{ margin:.75rem 0 1.4rem; font-size:1rem; }
.contactSection_list{ display:grid; gap:.9rem; margin-bottom:1.6rem; }
.contactSection_list li{ display:flex; align-items:center; gap:.75rem; font-size:.96rem; color:var(--color-text); }
.contactSection_list i{ color:var(--color-primary); width:20px; }
.accessNote{
  background:var(--color-bg); border:1px solid var(--color-border); border-radius:var(--radius-md);
  padding:1.4rem 1.5rem;
}
.accessNote h3{ font-size:1rem; display:flex; align-items:center; gap:.6rem; margin-bottom:.6rem; color:var(--color-secondary); }
.accessNote p{ font-size:.92rem; }

.contactMap{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); margin-top:var(--space-md); border:1px solid var(--color-border); }
.contactMap_frame{ width:100%; height:360px; border:0; filter:grayscale(0.15) contrast(1.05); }


.thanksHero{
  padding-block:10rem 5rem; text-align:center;
  background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));
}
.thanksHero_inner{ max-width:640px; margin-inline:auto; }
.thanksHero_icon{ font-size:2.6rem; color:#0b0d10; margin-bottom:1.2rem; }
.thanksHero_title{ color:#0b0d10; font-size:clamp(2rem,4.5vw,3rem); margin-bottom:1rem; }
.thanksHero_text{ color:color-mix(in oklch, #0b0d10, transparent 15%); font-size:1.05rem; }
.thanksNext{ background:var(--color-paper); padding-block:var(--space-2xl); }
.thanksNext_inner{ max-width:600px; margin-inline:auto; text-align:center; }
.thanksNext_heading{ color:var(--color-paper-text); font-size:1.8rem; margin-bottom:1rem; }
.thanksNext_text{ color:var(--color-paper-text-muted); margin-bottom:1.8rem; }


.legalPage_wrapper{ max-width:820px; padding-block:8rem 5rem; }
.legalPage_title{ font-size:clamp(2rem,4.5vw,2.8rem); margin-bottom:.6rem; }
.legalPage_updated{ font-size:.9rem; color:var(--color-text-faint); margin-bottom:2.5rem; }
.legalPage_section{ margin-bottom:2.4rem; }
.legalPage_sectionTitle{ font-size:1.25rem; margin-bottom:1rem; color:var(--color-secondary); }
.legalPage_section p{ font-size:.98rem; margin-bottom:.5rem; }
.legalPage_bullets{ display:grid; gap:.65rem; }
.legalPage_bullets li{
  position:relative; padding-left:1.5rem; font-size:.96rem; color:var(--color-text-muted);
}
.legalPage_bullets li::before{
  content:''; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%; background:var(--color-primary);
}
.legalPage_tableWrap{ overflow-x:auto; margin-top:1rem; }
.legalTable{ width:100%; border-collapse:collapse; min-width:560px; }
.legalTable th,.legalTable td{ padding:.9rem 1rem; text-align:left; font-size:.88rem; border-bottom:1px solid var(--color-border); }
.legalTable th{ color:var(--color-secondary); font-weight:600; }
.legalTable td{ color:var(--color-text-muted); }


.pageFooter{ background:var(--color-bg-deep); padding-block:5rem 2.5rem; }
.pageFooter_top{ display:grid; grid-template-columns:1fr; gap:2.5rem; }
.pageFooter_brand{ max-width:320px; }
.pageFooter_logo{ width:38px; height:38px; margin-bottom:.8rem; }
.pageFooter_brandName{ font-family:'General Sans','Inter',sans-serif; font-weight:600; font-size:1.15rem; color:var(--color-text); margin-bottom:.5rem; }
.pageFooter_tag{ font-size:.9rem; }
.pageFooter_col h4{ font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; color:var(--color-secondary); margin-bottom:1rem; }
.pageFooter_col a,.pageFooter_col p{ display:block; font-size:.92rem; color:var(--color-text-muted); margin-bottom:.7rem; transition:color var(--transition-fast); }
.pageFooter_col a:hover{ color:var(--color-primary); }
.pageFooter_col p i{ color:var(--color-primary); margin-right:.5rem; width:16px; }
.pageFooter_divider{ height:1px; background:linear-gradient(90deg, transparent, var(--color-border-strong), transparent); margin-block:2.5rem; }
.pageFooter_bottom{ display:flex; flex-direction:column; gap:.5rem; text-align:center; }
.pageFooter_bottom p{ font-size:.82rem; color:var(--color-text-faint); }


.cookieConsent{ position:fixed; left:50%; bottom:22px; transform:translateX(-50%); z-index:1000; width:min(420px,92vw); }
.cookieConsent_card{
  background:color-mix(in oklch, var(--color-bg-elevated), black 5%);
  border:1px solid var(--color-border-strong); border-radius:var(--radius-lg);
  padding:1.4rem 1.6rem; box-shadow:var(--shadow-lg);
  transition:width var(--transition-med), max-width var(--transition-med), padding var(--transition-med);
}
.cookieConsent_card.isExpanded{ width:min(640px,94vw); }
.cookieConsent_message{ font-size:.9rem; color:var(--color-text-muted); margin-bottom:1rem; }
.cookieConsent_actions{ display:flex; gap:.75rem; flex-wrap:wrap; }
.cookieConsent_btn{
  border-radius:var(--radius-pill); padding:.7rem 1.3rem; font-size:.85rem; font-weight:600; cursor:pointer; border:1px solid transparent;
  transition:all var(--transition-fast);
}
.cookieConsent_btn--primary{ background:var(--color-primary); color:var(--color-primary-text-on); }
.cookieConsent_btn--primary:hover{ background:var(--color-primary-hover); }
.cookieConsent_btn--ghost{ background:transparent; border-color:var(--color-border-strong); color:var(--color-text); }
.cookieConsent_btn--ghost:hover{ border-color:var(--color-secondary); color:var(--color-secondary); }
.cookieConsent_panel{ max-height:0; opacity:0; overflow:hidden; transition:max-height var(--transition-med), opacity var(--transition-fast); }
.cookieConsent_card.isExpanded .cookieConsent_panel{ max-height:640px; opacity:1; margin-top:1.1rem; }
.cookieConsent_card.isExpanded .cookieConsent_compact{ display:none; }
.cookieConsent_panel h3{ font-size:1.05rem; margin-bottom:.5rem; }
.cookieConsent_panelIntro{ font-size:.85rem; color:var(--color-text-muted); margin-bottom:1.1rem; }
.cookieConsent_category{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-block:.8rem; border-top:1px solid var(--color-border); }
.cookieConsent_category strong{ font-size:.9rem; }
.cookieConsent_category p{ font-size:.8rem; margin-top:.2rem; }
.cookieConsent_toggle{ position:relative; width:42px; height:24px; flex-shrink:0; display:inline-block; }
.cookieConsent_toggle input{ opacity:0; width:0; height:0; }
.cookieConsent_toggle span{ position:absolute; inset:0; background:var(--color-border-strong); border-radius:var(--radius-pill); transition:background var(--transition-fast); }
.cookieConsent_toggle span::before{ content:''; position:absolute; left:3px; top:3px; width:18px; height:18px; background:#fff; border-radius:50%; transition:transform var(--transition-fast); }
.cookieConsent_toggle input:checked + span{ background:var(--color-secondary); }
.cookieConsent_toggle input:checked + span::before{ transform:translateX(18px); }
.cookieConsent_toggle--locked{ opacity:.6; }
.cookieConsent_actions--panel{ margin-top:1.2rem; }


@media (min-width:700px){
  .featureGrid{ grid-template-columns:repeat(2,1fr); }
  .servicesGrid{ grid-template-columns:repeat(2,1fr); }
  .articlesGrid{ grid-template-columns:repeat(2,1fr); }
  .statsSection_grid{ grid-template-columns:repeat(4,1fr); }
  .contactSection_grid{ grid-template-columns:1.1fr 1fr; }
  .pageFooter_top{ grid-template-columns:1.4fr 1fr 1fr 1fr; }
}
@media (min-width:960px){
  .siteHeader_burger{ display:none; }
  .siteHeader_navLeft,.siteHeader_navRight{ display:flex; }
  .featureGrid{ grid-template-columns:repeat(3,1fr); }
  .servicesGrid{ grid-template-columns:repeat(3,1fr); }
  .articlesGrid{ grid-template-columns:repeat(3,1fr); }
  .contentBlock_grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:959px){
  .siteHeader_navLeft,.siteHeader_navRight{ display:none; }
}
</style>