
:root{
  --forest:#07130d;
  --forest2:#0b1d13;
  --forest3:#12331d;
  --surface:#102819;
  --surface2:#173621;
  --green:#73A93C;
  --green2:#91C653;
  --lime:#A6D66A;
  --blue:#1593ff;
  --blue2:#2aa9ff;
  --cyan:#71d7ff;
  --text:#F5F8F2;
  --muted:#C0D0B9;
  --soft:#8FA185;
  --line:rgba(151,194,120,.20);
  --line2:rgba(127,180,82,.38);
  --page:1400px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--forest);
  color:var(--text);
  font-family:"Inter","Segoe UI",Arial,sans-serif;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.17;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(#000,transparent 80%);
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
button{color:inherit}
.page{
  width:min(calc(100% - 72px),var(--page));
  margin-inline:auto;
}
.site{
  min-width:320px;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 12%,rgba(116,169,60,.12),transparent 28%),
    linear-gradient(180deg,#07130d,#0b1d13 55%,#07130d);
}

/* HEADER */
.header{
  height:62px;
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(5,16,10,.89);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
}
.nav{
  height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brand img{width:122px}
.desktop-nav{
  display:flex;
  align-items:center;
  gap:38px;
  margin-left:auto;
  margin-right:40px;
  color:#E8EFE3;
  font-size:12px;
  font-weight:600;
}
.desktop-nav a{transition:.2s}
.desktop-nav a:hover{color:var(--lime)}
.nav-right{display:flex;align-items:center;gap:24px}
.top-login{
  min-width:100px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:linear-gradient(180deg,#8BC34A,#5F962F);
  box-shadow:0 9px 24px rgba(93,145,48,.25),inset 0 1px 0 rgba(255,255,255,.28);
  font-size:12px;
  font-weight:700;
}
.language{
  border:0;background:none;cursor:pointer;font-size:11px;font-weight:700
}
.language span{margin:0 6px;color:#7E8E78}
.menu-btn{
  display:none;
  width:40px;height:38px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  border-radius:10px;
  padding:8px 10px;
}
.menu-btn i{display:block;height:2px;background:#fff;margin:4px 0;border-radius:3px}
.mobile-nav{
  display:none;
  padding:12px 24px 18px;
  background:rgba(5,16,10,.98);
}
.mobile-nav.open{display:grid;gap:12px}

/* HERO */
.hero{
  height:428px;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(180deg,#17321e,#0A1B10 68%,#07130d);
}
.hero-building{
  position:absolute;
  height:112%;
  width:auto;
  left:38%;
  top:-5%;
  z-index:0;
  object-fit:contain;
  filter:saturate(.90) brightness(.98) contrast(1.02);
}
.hero-ambient{
  position:absolute;
  width:63%;
  max-width:none;
  right:-3%;
  bottom:-25%;
  z-index:0;
  opacity:.31;
  filter:saturate(.88) contrast(1.04);
}
.hero-leftshade{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,#07130d 0%,rgba(7,19,13,.96) 20%,rgba(7,19,13,.73) 40%,rgba(7,19,13,.18) 63%,rgba(7,19,13,.28) 100%);
}
.hero-bottomshade{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,transparent 54%,rgba(7,19,13,.18) 74%,rgba(7,19,13,.97) 100%);
}
.hero-greenglow{
  position:absolute;
  width:430px;height:180px;
  right:20%;top:-100px;
  border-radius:50%;
  background:rgba(131,190,77,.28);
  filter:blur(72px);
  z-index:1;
}
.hero-grid{
  position:relative;
  z-index:2;
  height:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px 90px;
  align-items:center;
  column-gap:30px;
}
.hero-copy{
  align-self:center;
  max-width:560px;
  padding-top:4px;
}
.hero-tag{
  display:inline-block;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(87,131,55,.24);
  border:1px solid rgba(147,197,101,.28);
  color:#C9D9C1;
  font-size:10px;
}
.hero h1{
  margin:12px 0 12px;
  font-family:"Montserrat","Segoe UI",Arial,sans-serif;
  font-size:49px;
  line-height:.97;
  letter-spacing:-.043em;
  font-weight:800;
  text-shadow:0 10px 32px rgba(0,0,0,.28);
}
.hero-description{
  max-width:540px;
  margin:0;
  color:#CCD9C6;
  font-size:13.5px;
  line-height:1.58;
}
.hero-buttons{
  display:flex;
  gap:12px;
  margin-top:16px;
}
.btn{
  min-height:43px;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:11px;
  border:1px solid transparent;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:.22s ease;
}
.btn img{width:16px;height:16px}
.btn-primary{
  color:#fff;
  background:linear-gradient(180deg,#8FC94C,#60982F);
  box-shadow:0 10px 24px rgba(88,143,43,.26),inset 0 1px 0 rgba(255,255,255,.28);
}
.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.08)}
.btn-outline{
  color:#F7FAF5;
  border-color:#7AAE46;
  background:rgba(12,34,19,.60);
}
.btn-outline:hover{background:rgba(73,112,44,.24)}
.btn-outline b{font-size:17px;color:#A7D867}
.hero-stats{
  display:flex;
  gap:40px;
  margin-top:18px;
}
.stat{
  display:flex;
  align-items:center;
  gap:10px;
}
.stat>img{width:25px;height:25px}
.stat strong{
  display:block;
  font-family:"Montserrat",sans-serif;
  font-size:16px;
}
.stat span{
  display:block;
  margin-top:1px;
  color:#D4DDD0;
  font-size:10px;
}

/* LOGIN */
.login-card{
  position:relative;
  width:320px;
  padding:25px 26px 20px;
  border-radius:21px;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.035) 39%,rgba(8,28,14,.72)),
    rgba(12,35,19,.78);
  border:1px solid rgba(192,220,170,.28);
  backdrop-filter:blur(20px);
  box-shadow:0 28px 65px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.18);
}
.login-glow{
  position:absolute;
  width:190px;height:130px;
  right:-45px;top:-50px;
  border-radius:50%;
  background:rgba(190,225,157,.18);
  filter:blur(42px);
}
.login-brand{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
}
.login-brand img{width:33px;height:33px}
.login-brand strong{
  font-family:"Montserrat",sans-serif;
  font-size:22px;
}
.login-caption{
  position:relative;
  margin:4px 0 14px;
  text-align:center;
  color:#D5E0D1;
  font-size:10px;
  text-transform:uppercase;
}
.field{
  height:40px;
  display:grid;
  grid-template-columns:18px 1fr auto;
  align-items:center;
  gap:8px;
  margin-top:9px;
  padding:0 11px;
  border-radius:9px;
  border:1px solid rgba(194,222,174,.38);
  background:rgba(9,31,16,.52);
}
.field:focus-within{
  border-color:#8BC552;
  box-shadow:0 0 0 3px rgba(139,197,82,.11);
}
.field>img,.eye img{width:16px;height:16px}
.field input{
  width:100%;
  border:0;outline:0;background:transparent;color:#fff;
  font-size:11px;
}
.field input::placeholder{color:#C6D4C0}
.eye{border:0;background:none;padding:2px;cursor:pointer}
.remember{
  display:flex;
  align-items:center;
  gap:6px;
  margin:9px 0 10px;
  color:#DCE6D8;
  font-size:10px;
}
.remember input{accent-color:#73A93C}
.login-submit{width:100%;min-height:40px}
.forgot{
  display:block;
  margin-top:10px;
  text-align:center;
  color:#A1D368;
  font-size:9px;
}
.secure{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:18px -26px -20px;
  padding:12px 8px;
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(5,16,9,.24);
  color:#AFC0A9;
  font-size:8.5px;
}
.secure img{width:12px;height:12px}
.hero-motto{
  align-self:center;
  justify-self:end;
  display:flex;
  flex-direction:column;
  gap:1px;
  color:#D8E3D3;
  font-size:12px;
  line-height:1.33;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}
.hero-motto i{
  width:36px;height:2px;
  margin-top:10px;
  display:block;
  background:#8BCB50;
  box-shadow:0 0 14px rgba(139,203,80,.75);
}

/* COMMON */
.compact-section{
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 89% 10%,rgba(112,165,67,.08),transparent 24%),
    linear-gradient(180deg,#0A1B10,#08170E);
}
.section-title-line{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
}
.section-title-line h2,
.workflow-area h2,
.partners h2{
  margin:0;
  font-family:"Montserrat",sans-serif;
  font-size:20px;
  letter-spacing:-.025em;
}
.section-title-line p{
  margin:0;
  color:#9FB398;
  font-size:10px;
}

/* SERVICES */
.services{height:auto;min-height:160px;padding:17px 0 16px}
.service-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:13px;
}
.service-card{
  height:96px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:
    radial-gradient(circle at 0 0,rgba(124,183,73,.12),transparent 40%),
    linear-gradient(155deg,rgba(21,58,31,.94),rgba(8,29,15,.86));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:.22s ease;
}
.service-card:hover{
  transform:translateY(-2px);
  border-color:rgba(145,198,91,.42);
  box-shadow:0 12px 26px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.05);
}
.service-icon{
  width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:50%;
  background:linear-gradient(180deg,#6EA93C,#416F28);
  box-shadow:0 8px 18px rgba(71,111,39,.20),inset 0 1px 0 rgba(255,255,255,.19);
}
.service-icon img{width:22px;height:22px}
.service-card h3{
  margin:0 0 6px;
  font-family:"Montserrat",sans-serif;
  font-size:11.5px;
  line-height:1.2;
}
.service-card p{
  margin:0;
  color:#B5C8AF;
  font-size:8.8px;
  line-height:1.45;
}
.service-card>b{
  color:#9AD25D;
  font-size:20px;
  font-weight:400;
}

/* WORKFLOW + APP */
.workflow-app{
  height:190px;
  padding:15px 0;
}
.workflow-app-grid{
  height:100%;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(410px,.85fr);
  gap:34px;
  align-items:start;
}
.workflow-area h2{margin-bottom:15px}
.workflow{
  display:grid;
  grid-template-columns:1fr auto 1.1fr auto 1fr auto 1fr;
  align-items:start;
  gap:12px;
}
.step{min-width:0}
.step-top{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:7px;
}
.step-icon{
  width:43px;height:43px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(131,186,80,.40);
  background:linear-gradient(180deg,#5D9735,#315C24);
  box-shadow:0 0 20px rgba(87,139,48,.13);
}
.step-icon img{width:22px;height:22px}
.step em{
  width:20px;height:20px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#1A4828;
  color:#B0DE82;
  font-style:normal;
  font-size:8px;
}
.step strong{display:block;font-size:10px}
.step span{
  display:block;
  margin-top:5px;
  color:#ADBFA7;
  font-size:8.5px;
  line-height:1.35;
}
.flow-arrow{
  margin-top:13px;
  color:#94CD5B;
  font-size:25px;
  font-weight:300;
}
.app-area{
  height:160px;
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 210px;
  align-items:center;
  padding:15px 12px 12px 25px;
  border-left:1px solid rgba(142,190,107,.25);
}
.app-copy{
  position:relative;
  z-index:2;
  align-self:center;
}
.app-copy h3{
  margin:0 0 5px;
  font-family:"Montserrat",sans-serif;
  font-size:15px;
}
.app-copy p{
  margin:0;
  color:#C5D3C0;
  font-size:9px;
}
.store-row{
  display:flex;
  gap:8px;
  margin-top:22px;
}
.store-badge{
  min-width:112px;
  height:40px;
  padding:5px 9px;
  border:1px solid #677560;
  border-radius:6px;
  background:#020603;
  color:#fff;
  line-height:1;
}
.store-badge small{display:block;font-size:6.5px;color:#ddd}
.store-badge strong{display:block;margin-top:3px;font-size:11px}
.phones{
  position:absolute;
  width:230px;
  max-width:none;
  right:-6px;
  bottom:-10px;
  filter:saturate(.94);
}

/* PARTNERS */
.partners{
  min-height:152px;
  padding:18px 0 22px;
}
.partners h2{font-size:16px;margin-bottom:16px}
.partner-row{
  display:grid;
  grid-template-columns:22px 1fr 22px;
  gap:10px;
  align-items:center;
}
.partner-arrow{
  border:0;background:none;padding:0;opacity:.72
}
.partner-arrow img{width:20px;height:20px}
.partner-marquee{
  width:100%;
  overflow:hidden;
  position:relative;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);
}
.partner-track{
  display:flex;
  align-items:center;
  width:max-content;
  gap:34px;
  animation:partnerScroll 30s linear infinite;
  will-change:transform;
}
.partner-marquee:hover .partner-track{animation-play-state:paused}
.partner{
  width:150px;
  flex:0 0 150px;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 14px 10px;
  border:1px solid rgba(166,214,106,.14);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.partner img{
  width:96px;
  height:44px;
  object-fit:contain;
  filter:none;
}
.partner span{
  color:#17331f;
  text-align:center;
  font-family:"Montserrat",sans-serif;
  font-size:10px;
  font-weight:800;
  line-height:1.15;
  white-space:nowrap;
}
@keyframes partnerScroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 17px))}
}

/* FOOTER */
.footer{
  height:76px;
  background:#051009;
}
.footer-row{
  height:100%;
  display:grid;
  grid-template-columns:320px 1fr 120px 210px;
  gap:18px;
  align-items:center;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:22px;
}
.footer-brand img{width:112px}
.footer-brand span{color:#7F9278;font-size:7.5px;white-space:nowrap}
.footer-links{
  display:flex;
  justify-content:center;
  gap:21px;
  color:#93A78C;
  font-size:8px;
}
.footer-links a:hover{color:#fff}
.socials{
  display:flex;
  justify-content:center;
  gap:10px;
}
.socials a{
  width:18px;height:18px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#679F39;
  color:white;
  font-size:8px;
  font-weight:800;
}
.footer-motto{
  color:#8FCB53;
  font-size:8px;
  text-align:right;
}

/* RESPONSIVE */
@media (max-width:1180px){
  .page{width:min(calc(100% - 42px),var(--page))}
  .desktop-nav{gap:20px;margin-right:24px}
  .hero-grid{grid-template-columns:minmax(0,1fr) 300px}
  .hero-motto{display:none}
  .login-card{width:300px}
  .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-row{grid-template-columns:260px 1fr 100px}
  .footer-motto{display:none}
}
@media (max-width:900px){
  .header,.nav{height:60px}
  .desktop-nav,.language{display:none}
  .menu-btn{display:block}
  .hero{height:auto;min-height:680px}
  .hero-building{left:18%;height:76%;top:5%;opacity:.72}
  .hero-ambient{width:100%;right:-30%;bottom:-6%;opacity:.25}
  .hero-leftshade{
    background:linear-gradient(180deg,rgba(7,19,13,.48),rgba(7,19,13,.95) 55%,#07130d 100%);
  }
  .hero-grid{
    min-height:680px;
    height:auto;
    grid-template-columns:1fr;
    gap:24px;
    padding:45px 0 40px;
  }
  .hero-copy{max-width:640px}
  .login-card{width:min(100%,520px);justify-self:start}
  .services,.workflow-app,.partners,.footer{height:auto}
  .services{padding:24px 0}
  .service-grid{grid-template-columns:1fr 1fr}
  .workflow-app{padding:24px 0}
  .workflow-app-grid{grid-template-columns:1fr}
  .app-area{border-left:0;border-top:1px solid var(--line);padding-top:20px}
  .partners{padding:20px 0}
  .footer{padding:20px 0}
  .footer-row{grid-template-columns:1fr;gap:16px}
  .footer-links{justify-content:flex-start;flex-wrap:wrap}
  .socials{justify-content:flex-start}
}
@media (max-width:600px){
  .page{width:calc(100% - 28px)}
  .top-login{display:none}
  .brand img{width:110px}
  .hero h1{font-size:43px}
  .hero-description{font-size:13px}
  .hero-buttons{flex-direction:column;align-items:stretch}
  .hero-stats{gap:22px;flex-wrap:wrap}
  .service-grid{grid-template-columns:1fr}
  .workflow{grid-template-columns:1fr 1fr;gap:22px}
  .flow-arrow{display:none}
  .app-area{
    height:260px;
    grid-template-columns:1fr;
    align-items:start;
    padding-left:0;
  }
  .phones{width:220px}
  .section-title-line{align-items:flex-start;flex-direction:column;gap:6px}
}

/* THEME TOGGLE */
.theme-toggle{
  position:fixed;
  top:14px;
  left:14px;
  z-index:100;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:6px 11px 6px 7px;
  border:1px solid rgba(166,214,106,.28);
  border-radius:999px;
  color:#efffe8;
  background:rgba(5,16,10,.74);
  box-shadow:0 14px 34px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(16px);
  cursor:pointer;
}
.theme-toggle-dot{
  width:22px;
  height:22px;
  border-radius:999px;
  background:linear-gradient(135deg,#a6d66a,#73a93c);
  box-shadow:0 0 18px rgba(166,214,106,.42);
}
.theme-toggle strong,.theme-toggle em{font-size:12px;line-height:1;font-style:normal}.theme-toggle em{color:#8fa185}.theme-toggle:hover{transform:translateY(-1px)}
body.theme-blue .theme-toggle{border-color:rgba(113,215,255,.34);color:#eaf8ff;background:rgba(3,16,29,.76)}
body.theme-blue .theme-toggle-dot{background:linear-gradient(135deg,#71d7ff,#1593ff);box-shadow:0 0 18px rgba(42,169,255,.52)}
body.theme-blue .theme-toggle strong{color:#71d7ff}

body.theme-blue{background:#03101d;color:#f2f8ff}
body.theme-blue::before{opacity:.20}
body.theme-blue .site{background:radial-gradient(circle at 86% 12%,rgba(42,169,255,.20),transparent 28%),linear-gradient(180deg,#03101d,#061a2c 55%,#03101d)}
body.theme-blue .header{background:rgba(3,16,29,.90)}
body.theme-blue .desktop-nav a:hover{color:#71d7ff}
body.theme-blue .top-login,
body.theme-blue .btn-primary{background:linear-gradient(180deg,#2ca5ff,#087ff2);box-shadow:0 12px 32px rgba(42,169,255,.26),inset 0 1px 0 rgba(255,255,255,.28)}
body.theme-blue .hero{background:linear-gradient(180deg,#072640,#041525 68%,#03101d)}
body.theme-blue .hero-leftshade{background:linear-gradient(90deg,#03101d 0%,rgba(3,16,29,.96) 20%,rgba(3,16,29,.72) 40%,rgba(3,16,29,.20) 63%,rgba(3,16,29,.30) 100%)}
body.theme-blue .hero-bottomshade{background:linear-gradient(180deg,transparent 54%,rgba(3,16,29,.20) 74%,rgba(3,16,29,.97) 100%)}
body.theme-blue .hero-greenglow{background:rgba(42,169,255,.32)}
body.theme-blue .hero-tag,
body.theme-blue .section-title-line p,
body.theme-blue .forgot,
body.theme-blue .footer-links a:hover{color:#71d7ff}
body.theme-blue .hero-tag{border-color:rgba(113,215,255,.26);background:rgba(4,27,47,.66)}
body.theme-blue .login-card,
body.theme-blue .service-card,
body.theme-blue .app-area{border-color:rgba(113,215,255,.18);background:linear-gradient(145deg,rgba(13,51,83,.90),rgba(4,27,47,.82))}
body.theme-blue .login-glow{background:rgba(42,169,255,.24)}
body.theme-blue .field{border-color:rgba(113,215,255,.18);background:rgba(3,16,29,.62)}
body.theme-blue .service-icon,body.theme-blue .step-icon{background:linear-gradient(180deg,#197dd3,#0a4a84)}
body.theme-blue .footer{background:#020b14}

@media (max-width:860px){.theme-toggle{top:10px;left:10px}.header .brand{margin-left:70px}}

/* Pure blue overrides */
body.theme-blue{
  --green:#1593ff;
  --green2:#2aa9ff;
  --lime:#71d7ff;
  --muted:#bedff3;
  --soft:#8fb7d5;
  --line:rgba(113,215,255,.20);
  --line2:rgba(42,169,255,.38);
}
body.theme-blue .btn-outline{border-color:#2aa9ff;background:rgba(4,27,47,.62)}
body.theme-blue .btn-outline:hover{background:rgba(21,147,255,.18)}
body.theme-blue .btn-outline b{color:#71d7ff}
body.theme-blue .stat strong,
body.theme-blue .service-card b,
body.theme-blue .flow-arrow,
body.theme-blue .secure,
body.theme-blue .app-copy h3{color:#71d7ff}
body.theme-blue .stat>img,
body.theme-blue .service-icon img,
body.theme-blue .step-icon img,
body.theme-blue .login-brand img,
body.theme-blue .footer-brand img,
body.theme-blue .brand img{filter:none}
body.theme-blue .store-badge{border-color:rgba(113,215,255,.22);background:rgba(3,16,29,.58)}
body.theme-blue .partner{border-color:rgba(113,215,255,.18);box-shadow:0 12px 28px rgba(21,147,255,.14)}
body.theme-blue .socials a{border-color:rgba(113,215,255,.18);background:rgba(21,147,255,.12);color:#71d7ff}

/* PUBLIC SUBPAGES */
.desktop-nav a.active,
.mobile-nav a.active{
  color:var(--lime);
}
.subpage-hero{
  min-height:256px;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#17321e,#0A1B10 76%,#07130d);
}
.subpage-hero .hero-ambient{width:55%;right:-8%;bottom:-48%;opacity:.24}
.subpage-hero-grid{
  min-height:256px;
  position:relative;
  z-index:2;
  display:grid;
  align-items:center;
  padding:30px 0;
}
.subpage-hero h1{
  max-width:780px;
  margin:12px 0;
  font-family:"Montserrat","Segoe UI",Arial,sans-serif;
  font-size:42px;
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:800;
  text-shadow:0 10px 32px rgba(0,0,0,.28);
}
.subpage-section{
  padding:24px 0 28px;
  border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 89% 10%,rgba(112,165,67,.08),transparent 24%),linear-gradient(180deg,#0A1B10,#08170E);
}
.subpage-section.compact-top{padding-top:18px}
.detail-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.five-detail-cards{grid-template-columns:repeat(5,minmax(0,1fr))}
.detail-card{
  min-height:150px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:radial-gradient(circle at 0 0,rgba(124,183,73,.12),transparent 40%),linear-gradient(155deg,rgba(21,58,31,.94),rgba(8,29,15,.86));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.detail-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.detail-card-head span{
  color:rgba(166,214,106,.72);
  font-family:"Montserrat",sans-serif;
  font-size:12px;
  font-weight:800;
}
.detail-card h3{
  margin:0 0 8px;
  font-family:"Montserrat",sans-serif;
  font-size:14px;
  letter-spacing:-.02em;
}
.detail-card p{
  margin:0;
  color:#B5C8AF;
  font-size:10px;
  line-height:1.55;
}
.detail-card ul{
  display:grid;
  gap:7px;
  margin:12px 0 0;
  padding:0;
  list-style:none;
  color:#D5E0D1;
  font-size:9px;
  line-height:1.4;
}
.detail-card li{
  position:relative;
  padding-left:13px;
}
.detail-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--lime);
  box-shadow:0 0 10px rgba(166,214,106,.48);
}
.subpage-cta{
  padding:18px 0;
  border-bottom:1px solid var(--line);
  background:#08170E;
}
.subpage-cta .app-area{
  height:172px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(21,58,31,.94),rgba(8,29,15,.86));
}
.advantage-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.service-card.tall{
  height:142px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
}
.service-card.tall h3{margin:8px 0 6px;font-size:14px}
.service-card.tall p{font-size:10px;line-height:1.5}
.role-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.role-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.process-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:18px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(9,31,16,.52);
}
.process-line span{
  font-family:"Montserrat",sans-serif;
  font-size:12px;
  font-weight:800;
}
.process-line b{color:var(--lime);font-size:20px;font-weight:400}
.partner-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.partner-grid .partner{
  width:auto;
  min-height:126px;
  flex:auto;
}
.partner-grid .partner img{width:110px;height:54px}
.page-cta-button{margin-top:16px}
.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
  gap:18px;
  align-items:start;
}
.contact-info dl{
  display:grid;
  gap:10px;
  margin:14px 0 0;
}
.contact-info dl div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid rgba(166,214,106,.12);
}
.contact-info dt{color:#9FB398;font-size:10px}
.contact-info dd{margin:0;color:#F5F8F2;font-size:11px;font-weight:700}
.contact-socials{justify-content:flex-start;margin-top:14px}
.contact-form-card{
  width:100%;
  padding:22px;
}
.contact-form-card .field{grid-template-columns:1fr}
.contact-form-card textarea{
  width:100%;
  min-height:92px;
  border:0;
  outline:0;
  resize:vertical;
  background:transparent;
  color:#fff;
  font-size:11px;
}
.contact-form-card textarea::placeholder{color:#C6D4C0}
.message-field{height:auto;padding-top:10px;padding-bottom:10px}
.form-note{
  margin:10px 0 0;
  color:#AFC0A9;
  font-size:9px;
  line-height:1.45;
  text-align:center;
}
.contact-form-card button:disabled{
  cursor:not-allowed;
  opacity:.68;
  transform:none;
}
.faq-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.faq-list details{
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(155deg,rgba(21,58,31,.94),rgba(8,29,15,.86));
  overflow:hidden;
}
.faq-list summary{
  cursor:pointer;
  padding:14px 16px;
  font-family:"Montserrat",sans-serif;
  font-size:12px;
  font-weight:800;
}
.faq-list p{
  margin:0;
  padding:0 16px 16px;
  color:#B5C8AF;
  font-size:10px;
  line-height:1.55;
}
body.theme-blue .subpage-hero{background:linear-gradient(180deg,#072640,#041525 76%,#03101d)}
body.theme-blue .subpage-section{background:radial-gradient(circle at 89% 10%,rgba(42,169,255,.14),transparent 24%),linear-gradient(180deg,#041525,#03101d)}
body.theme-blue .subpage-cta{background:#03101d}
body.theme-blue .detail-card,
body.theme-blue .subpage-cta .app-area,
body.theme-blue .faq-list details{border-color:rgba(113,215,255,.18);background:linear-gradient(145deg,rgba(13,51,83,.90),rgba(4,27,47,.82))}
body.theme-blue .detail-card p,
body.theme-blue .detail-card ul,
body.theme-blue .service-card.tall p,
body.theme-blue .faq-list p{color:#bedff3}
body.theme-blue .detail-card-head span,
body.theme-blue .process-line b{color:#71d7ff}
body.theme-blue .detail-card li::before{background:#71d7ff;box-shadow:0 0 10px rgba(113,215,255,.50)}
body.theme-blue .process-line{border-color:rgba(113,215,255,.18);background:rgba(3,16,29,.58)}
body.theme-blue .contact-info dl div{border-bottom-color:rgba(113,215,255,.13)}

@media (max-width:1180px){
  .five-detail-cards,.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .subpage-hero,.subpage-hero-grid{min-height:300px}
  .subpage-hero h1{font-size:36px}
  .detail-card-grid,.five-detail-cards,.advantage-grid,.role-grid,.role-grid.three,.partner-grid,.contact-grid{grid-template-columns:1fr 1fr}
  .subpage-cta .app-area{height:240px}
}
@media (max-width:600px){
  .subpage-hero,.subpage-hero-grid{min-height:320px}
  .subpage-hero h1{font-size:31px}
  .detail-card-grid,.five-detail-cards,.advantage-grid,.role-grid,.role-grid.three,.partner-grid,.contact-grid{grid-template-columns:1fr}
  .process-line{align-items:flex-start;flex-direction:column;gap:8px}
  .process-line b{display:none}
}

/* Phone layout: reserve space for the theme control and use readable touch forms. */
@media (max-width: 900px) {
  .header .brand { margin-left: 52px; }
  .theme-toggle { top: 8px; left: 12px; width: 44px; height: 44px; padding: 10px; }
  .theme-toggle strong, .theme-toggle em { display: none; }
  .menu-btn { width: 44px; height: 44px; }
  .mobile-nav a { display: flex; align-items: center; min-height: 44px; }
  .field { min-height: 48px; height: auto; grid-template-columns: 18px minmax(0, 1fr) auto; }
  .field input, .contact-form-card textarea { min-width: 0; min-height: 46px; font-size: 16px; }
  .login-submit { min-height: 48px; font-size: 15px; }
  .forgot { padding: 10px 0; font-size: 13px; }
  .remember { min-height: 36px; font-size: 13px; }
  .login-caption, .secure, .form-note { font-size: 12px; }
}
@media (max-width: 600px) {
  .hero, .hero-grid { min-height: 0; }
  .hero-grid { padding: 28px 0; gap: 24px; }
  .hero h1 { font-size: clamp(30px, 9vw, 43px); }
  .hero-description { font-size: 15px; line-height: 1.6; }
  .hero-stats { gap: 14px; }
  .stat { gap: 6px; }
  .stat span { font-size: 12px; }
  .login-card { width: 100%; padding: 22px 18px 18px; }
  .secure { margin: 16px -18px -18px; }
  .service-card, .service-card.tall { height: auto; min-height: 100px; }
  .service-card h3, .service-card.tall h3, .step strong { font-size: 15px; }
  .service-card p, .service-card.tall p, .step span,
  .detail-card p, .detail-card ul, .faq-list p,
  .app-copy p, .contact-info dt, .contact-info dd { font-size: 14px; line-height: 1.5; }
  .app-area, .subpage-cta .app-area { height: auto; min-height: 320px; align-items: start; padding-bottom: 180px; }
  .app-copy { align-self: start; }
  .store-row { margin-top: 14px; flex-wrap: wrap; }
  .contact-info dl div { flex-wrap: wrap; gap: 6px; }
  .contact-info dd { overflow-wrap: anywhere; }
}
