:root{
  --bg:#eef2f6;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --text:#111827;
  --muted:#64748b;
  --line:#d9e2ec;
  --hero:#08111d;
  --hero-2:#102034;
  --hero-3:#16324c;
  --accent:#126b3a;
  --accent-2:#0f5132;
  --solar:#d97706;
  --wind:#2563eb;
  --shadow:0 14px 34px rgba(15,23,42,.08);
  --shadow-strong:0 28px 70px rgba(9,19,31,.24);
  --container:1200px;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 10% 0%, rgba(18,107,58,.05), transparent 28%),
    linear-gradient(180deg,#f6f8fb 0%,#eef2f6 100%);
  line-height:1.6;
}

h1,
h2,
h3,
h4{
  text-wrap:balance;
}

body.menu-open{overflow:hidden}

a{text-decoration:none;color:inherit}

button,
input,
select,
textarea{font:inherit}

.container{
  width:min(calc(100% - 32px),var(--container));
  margin:0 auto;
}

.mobile-overlay{
  position:fixed;
  inset:0;
  z-index:900;
  background:rgba(9,19,31,.58);
  backdrop-filter:blur(5px);
  opacity:0;
  pointer-events:none;
  transition:.24s ease;
}

.mobile-overlay.open{
  opacity:1;
  pointer-events:auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(246,248,251,.9);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(15,23,42,.07);
}

.site-header.private-header{
  background:rgba(248,250,252,.94);
}

.header-inner{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:54px;
}

.brand{
  display:flex;
  align-items:center;
  font-weight:800;
  letter-spacing:.01em;
  white-space:nowrap;
  flex:0 0 auto;
}

.brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}

.brand-name{
  font-size:1.08rem;
  color:#0f172a;
}

.brand-sub{
  font-size:.62rem;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.15em;
  margin-top:4px;
}

.nav{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  justify-content:center;
}

.nav a{
  color:#334155;
  font-size:.9rem;
  font-weight:650;
}

.nav a:hover{color:#08111d}

.header-actions{
  display:flex;
  align-items:center;
  gap:12px;
  justify-content:flex-end;
  margin-left:auto;
}

.language-dropdown{position:relative}

.language-button{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 16px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#334155;
  font-size:.9rem;
  font-weight:750;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}

.language-current{
  min-width:70px;
  text-align:left;
}

.language-button [data-language-current]{
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:left;
}

.language-arrow{
  font-size:1rem;
  color:#64748b;
  transform:translateY(-1px);
}

.language-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:220px;
  padding:8px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
  opacity:0;
  transform:translateY(-6px);
  pointer-events:none;
  transition:.2s ease;
  z-index:1200;
}

.language-menu.open{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.language-menu button{
  width:100%;
  display:block;
  padding:11px 12px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#334155;
  text-align:left;
  font-weight:650;
  cursor:pointer;
}

.language-menu button:hover{
  background:#f1f5f9;
  color:#0f172a;
}

.language-menu button[data-lang="ar"]{
  text-align:right;
  direction:rtl;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 20px;
  border-radius:12px;
  border:1px solid transparent;
  font-weight:750;
  cursor:pointer;
  transition:.22s ease;
}

.btn:hover{transform:translateY(-1px)}

.btn-primary{
  background:var(--accent);
  color:#fff;
  box-shadow:0 12px 24px rgba(18,107,58,.18);
}

.btn-primary:hover{background:var(--accent-2)}

.btn-login,
.btn-dark{
  background:#101827;
  color:#fff;
}

.btn-login:hover,
.btn-dark:hover{background:#1e293b}

.btn-soft{
  background:#fff;
  color:#0f172a;
  border-color:var(--line);
}

.menu-toggle{
  display:none;
  width:46px;
  height:46px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  padding:0;
}

.menu-toggle span{
  width:18px;
  height:2px;
  background:#0f172a;
  border-radius:999px;
  display:block;
  transition:.22s ease;
}

.menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{
  display:block;
  position:absolute;
  left:0;
  right:0;
  top:100%;
  z-index:1001;
  opacity:0;
  transform:translateY(-10px);
  pointer-events:none;
  transition:.24s ease;
  padding:0 0 14px;
}

.mobile-menu.open{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.mobile-menu-inner{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 30px 70px rgba(15,23,42,.22);
}

.mobile-menu-inner a{
  display:block;
  padding:13px 14px;
  border-radius:12px;
  color:#334155;
  font-weight:650;
}

.mobile-menu-inner a:hover{
  background:#f8fafc;
  color:#0f172a;
}

.mobile-login{
  background:#101827;
  color:#fff !important;
  text-align:center;
  margin-top:6px;
}

.page-shell{
  padding:34px 0 72px;
}

.dashboard-auth-gate{
  max-width:640px;
  margin:0 auto;
  padding:56px 0;
}

.dashboard-auth-gate h1{
  margin:12px 0 14px;
  font-family:var(--title-serif);
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:600;
}

.dashboard-auth-gate p{
  max-width:520px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.7;
}

.auth-layout{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:28px;
  align-items:stretch;
}

.auth-panel{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  padding:42px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 20%, rgba(255,255,255,.075), transparent 28%),
    linear-gradient(135deg,var(--hero) 0%,var(--hero-2) 52%,var(--hero-3) 100%);
  box-shadow:var(--shadow-strong);
}

.auth-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:76px 76px;
  opacity:.2;
  pointer-events:none;
}

.auth-panel > *{
  position:relative;
  z-index:1;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  margin-bottom:18px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#dbeafe;
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.auth-panel h1,
.page-hero h1,
.status-card h1{
  margin:0 0 18px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:3rem;
  font-weight:600;
  line-height:1.05;
  letter-spacing:-.045em;
}

.auth-panel p{
  margin:0;
  max-width:56ch;
  color:#d5e0ec;
  font-size:1.04rem;
}

.auth-points{
  display:grid;
  gap:12px;
  margin-top:34px;
}

.auth-point{
  padding:15px 16px;
  border-radius:17px;
  background:rgba(255,255,255,.065);
  border:1px solid rgba(255,255,255,.095);
  color:#dbe4ef;
  font-size:.92rem;
}

.auth-point strong{
  display:block;
  color:#fff;
  margin-bottom:4px;
}

.form-card,
.content-card,
.status-card,
.dashboard-card,
.table-card,
.portfolio-card,
.dashboard-sidebar{
  background:#fff;
  border:1px solid #e4ebf3;
  box-shadow:var(--shadow);
  letter-spacing:-.005em;
}

.form-card,
.content-card{
  border-radius:28px;
  padding:32px;
}

.form-card h2,
.content-card h2{
  margin:0 0 10px;
  color:#0f172a;
  font-family:inherit;
  font-size:1.36rem;
  font-weight:850;
  letter-spacing:-.018em;
  line-height:1.25;
}

.form-lead,
.content-lead{
  margin:0 0 24px;
  color:#64748b;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}

.form-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.form-field.full{
  grid-column:1 / -1;
}

.document-file-slots{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  grid-column:1 / -1;
}

.document-file-slots .form-field.full{
  grid-column:1 / -1;
}

.document-file-slots .form-field:only-child{
  grid-column:1 / -1;
}

.document-type-instructions{
  grid-column:1 / -1;
  margin:-2px 0 2px;
  padding:12px 14px;
  border:1px solid #dbe8f3;
  border-radius:14px;
  background:#f8fafc;
  color:#475569;
  font-size:.88rem;
  line-height:1.45;
}

.document-type-instructions[hidden]{
  display:none;
}

.honeypot-field{
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

.form-field label{
  color:#334155;
  font-size:.9rem;
  font-weight:750;
}

.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  border:1px solid #d9e2ec;
  border-radius:14px;
  background:#fff;
  color:#0f172a;
  outline:none;
  padding:13px 14px;
  transition:.18s ease;
}

.form-field textarea{
  min-height:110px;
  resize:vertical;
}

.form-field textarea.compact-textarea{
  min-height:82px;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  border-color:#126b3a;
  box-shadow:0 0 0 4px rgba(18,107,58,.1);
}

.form-field input.is-invalid,
.form-field select.is-invalid,
.form-field textarea.is-invalid{
  border-color:#b91c1c;
  background:#fff7f7;
}

.form-field input.is-invalid:focus,
.form-field select.is-invalid:focus,
.form-field textarea.is-invalid:focus{
  border-color:#b91c1c;
  box-shadow:0 0 0 4px rgba(185,28,28,.1);
}

.form-field.has-error label{
  color:#991b1b;
}

.field-hint{
  color:#64748b;
  font-size:.78rem;
  line-height:1.35;
}

.form-note{
  margin:16px 0 0;
  color:#64748b;
  font-size:.9rem;
}

.request-access-page .form-actions{
  margin-top:22px;
}

.request-access-page .form-actions + .form-note{
  margin-top:18px;
}

.terms-consent-field{
  margin-top:8px;
}

.terms-consent{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#42526b;
  font-size:.88rem;
  font-weight:500;
  line-height:1.45;
}

.form-field .terms-consent-checkbox,
.terms-consent .terms-consent-checkbox{
  appearance:auto;
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:2px;
  padding:0;
  border-radius:4px;
  accent-color:#126b3a;
}

.terms-consent span{
  display:inline;
}

.terms-consent a{
  color:#075e36;
  font-weight:700;
  text-decoration:none;
}

.terms-consent a:hover{
  text-decoration:underline;
}

.form-actions{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:22px;
}

.small-link{
  color:#126b3a;
  font-weight:750;
}

.notice{
  display:flex;
  gap:14px;
  padding:16px;
  border-radius:18px;
  border:1px solid #e6edf5;
  background:#f8fafc;
  margin:18px 0;
}

.notice-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#ecfdf3;
  color:#14532d;
  font-weight:900;
}

.notice strong{
  display:block;
  color:#0f172a;
  margin-bottom:2px;
}

.notice span{
  display:block;
  color:#64748b;
  font-size:.94rem;
}

.status-page{
  max-width:760px;
  margin:0 auto;
}

.status-card{
  text-align:left;
  border-radius:30px;
  padding:38px;
}

.status-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:#eef8f2;
  color:#14532d;
  font-weight:900;
  font-size:1.4rem;
  margin-bottom:18px;
}

.status-card h1{
  font-size:2.35rem;
  letter-spacing:-.035em;
  line-height:1.1;
}

.status-card p{
  margin:0;
  color:#64748b;
}

.status-actions{
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:28px;
}

.status-steps{
  display:grid;
  gap:12px;
  margin-top:24px;
}

.status-step{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border:1px solid #e6edf5;
  border-radius:16px;
  background:#f8fafc;
}

a.status-step:hover{
  border-color:#cbd5e1;
  background:#fff;
}

.status-step-number{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#101827;
  color:#fff;
  font-weight:850;
  font-size:.86rem;
}

.page-hero{
  border-radius:34px;
  padding:42px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 20%, rgba(255,255,255,.075), transparent 28%),
    linear-gradient(135deg,var(--hero) 0%,var(--hero-2) 52%,var(--hero-3) 100%);
  box-shadow:var(--shadow-strong);
  margin-bottom:26px;
}

.page-hero p{
  max-width:62ch;
  color:#d5e0ec;
  margin:0;
}

.dashboard-layout{
  display:grid;
  grid-template-columns:310px 1fr;
  gap:24px;
  align-items:start;
}

.dashboard-sidebar{
  position:sticky;
  top:88px;
  min-height:calc(100vh - 120px);
  border:1px solid #dbe3ee;
  border-radius:26px;
  padding:28px 28px 34px;
  background:#fff;
  box-shadow:0 18px 54px rgba(15,23,42,.06);
}

.client-box{
  padding:22px 20px;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdff 0%,#f8fbff 100%);
  border:1px solid #dce5ef;
  box-shadow:0 16px 42px rgba(15,23,42,.06);
  margin-bottom:28px;
}

.client-box strong{
  display:block;
  color:#101d34;
  font-size:.98rem;
  font-weight:850;
}

.client-box span{
  display:block;
  color:#64748b;
  font-size:.92rem;
  margin-top:7px;
}

.dashboard-menu{
  display:grid;
  gap:17px;
}

.dashboard-menu a{
  display:grid;
  grid-template-columns:24px 1fr;
  align-items:center;
  gap:17px;
  min-height:50px;
  padding:0 16px;
  border-radius:10px;
  color:#14233b;
  font-size:.94rem;
  font-weight:800;
  line-height:1.2;
}

.dashboard-menu a.active,
.dashboard-menu a:hover{
  background:linear-gradient(90deg,#e5f8ec 0%,#edf8f1 100%);
  color:#04712f;
}

.dashboard-menu-icon{
  display:block;
  width:24px;
  height:24px;
  color:#12213a;
  flex:0 0 24px;
}

.dashboard-menu-icon svg,
.dashboard-mobile-icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.dashboard-menu a.active .dashboard-menu-icon,
.dashboard-menu a:hover .dashboard-menu-icon{
  color:#04712f;
}

.dashboard-mobile-nav{
  display:none;
}

.dashboard-menu-group{
  border:1px solid #e6edf5;
  border-radius:17px;
  padding:6px;
  background:#f8fafc;
}

.dashboard-submenu{
  display:grid;
  gap:4px;
  margin:2px 0 2px 10px;
  padding-left:10px;
  border-left:2px solid #d9e2ec;
}

.dashboard-submenu a{
  font-size:.88rem;
  font-weight:720;
  padding:9px 10px;
  color:#64748b;
}

.dashboard-main{
  display:grid;
  gap:22px;
}

.dashboard-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.dashboard-card,
.table-card,
.portfolio-card{
  border-radius:26px;
  padding:24px;
}

.dashboard-label{
  color:#64748b;
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.dashboard-value{
  color:#0f172a;
  font-family:inherit;
  font-size:1.34rem;
  font-weight:850;
  letter-spacing:-.025em;
  line-height:1.2;
}

.dashboard-muted{
  color:#64748b;
  font-size:.92rem;
  margin-top:8px;
}

.overview-panel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

.overview-account-card,
.overview-action-card,
.overview-balance-card,
.overview-activity-card,
.overview-hero,
.overview-status-grid,
.overview-steps{
  border:1px solid #e6edf5;
  background:#fff;
  border-radius:18px;
  box-shadow:none;
}

.overview-account-card,
.overview-action-card,
.overview-balance-card,
.overview-goals-card,
.overview-activity-card{
  position:relative;
  overflow:hidden;
  padding:22px;
}

.overview-account-card h3,
.overview-action-card h3,
.overview-goals-card h3,
.overview-activity-card h3{
  margin:0;
  color:#0f172a;
  font-size:1.1rem;
  font-weight:850;
}

.overview-card-icon{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  margin-bottom:18px;
  border-radius:14px;
  background:#eef8f2;
  color:#04712f;
}

.overview-card-icon::before{
  content:"";
  width:18px;
  height:18px;
  box-sizing:border-box;
  border:2px solid currentColor;
}

.overview-card-icon-status::before{
  border-radius:50%;
  box-shadow:inset 0 0 0 4px #eef8f2;
}

.overview-card-icon-action{
  background:#fff7ed;
  color:#9a3412;
}

.overview-card-icon-action::before{
  border-radius:5px;
  transform:rotate(45deg);
}

.overview-balance-card{
  display:grid;
  align-content:center;
  min-height:156px;
  border-color:#dbe3ee;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  color:#0f172a;
  box-shadow:0 14px 36px rgba(15,23,42,.04);
}

.overview-balance-card strong{
  display:block;
  margin-top:16px;
  color:#0f172a;
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:2.18rem;
  font-weight:820;
  line-height:1;
  letter-spacing:.01em;
}

.overview-balance-card > span:not(.balance-delta){
  display:block;
  margin-top:12px;
  color:#64748b;
  font-size:.9rem;
}

.balance-delta{
  display:inline-flex;
  width:max-content;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(214,180,93,.58);
  border-radius:999px;
  background:#fffbeb;
  color:#9a6a00;
  font-size:.86rem;
}

.overview-account-lines{
  display:grid;
  gap:0;
  margin-top:18px;
  border:1px solid #e6edf5;
  border-radius:14px;
  overflow:hidden;
}

.overview-account-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:14px;
  border-top:1px solid #e6edf5;
  background:#fbfdff;
}

.overview-account-line:first-child{
  border-top:0;
}

.overview-account-line span{
  color:#64748b;
  font-size:.86rem;
  font-weight:760;
}

.overview-account-line strong{
  color:#0f172a;
  font-size:.92rem;
  font-weight:620;
  text-align:right;
}

.overview-action-card{
  display:grid;
  align-content:start;
  gap:13px;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}

.overview-action-card p{
  margin:0;
  color:#64748b;
  line-height:1.6;
}

.overview-action-card .btn{
  width:max-content;
  margin-top:4px;
}

.overview-shortcuts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.overview-shortcut{
  display:grid;
  align-content:start;
  min-height:126px;
  padding:20px;
  border:1px solid #e6edf5;
  border-radius:18px;
  background:#fff;
  color:#0f172a;
  box-shadow:0 14px 36px rgba(15,23,42,.04);
}

.overview-shortcut:hover{
  border-color:#b7d7c4;
  background:#eef8f2;
  color:#14532d;
}

.overview-shortcut-mark{
  width:28px;
  height:4px;
  margin-bottom:18px;
  border-radius:999px;
  background:#04712f;
}

.overview-shortcut strong{
  display:block;
  font-size:1rem;
  font-weight:850;
}

.overview-shortcut span{
  display:block;
  margin-top:8px;
  color:#64748b;
  line-height:1.5;
}

.overview-shortcut:hover span{
  color:#166534;
}

.overview-referral-card{
  display:grid;
  gap:14px;
  padding:22px;
  border:1px solid #e6edf5;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 36px rgba(15,23,42,.04);
}

.overview-referral-card h3{
  margin:0;
  color:#0f172a;
  font-size:1.1rem;
  font-weight:850;
}

.overview-referral-card p{
  margin:0;
  color:#64748b;
  line-height:1.55;
}

.referral-copy-button{
  width:max-content;
  min-height:38px;
  padding:0 14px;
  border-color:#d6b45d;
  background:#fff;
  color:#0f172a;
  font-size:.9rem;
}

.referral-copy-button:hover{
  background:#fffbeb;
}

.overview-goals-card{
  display:grid;
  gap:16px;
  border:1px solid #e6edf5;
  border-radius:18px;
  background:#fff;
  box-shadow:none;
}

.overview-goals-list{
  display:grid;
  gap:10px;
}

.overview-goal-item{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:12px;
  align-items:start;
  min-height:58px;
  padding:13px 14px;
  border:1px solid #e6edf5;
  border-radius:14px;
  background:#fbfdff;
}

.overview-goal-mark{
  color:#d6a500;
  font-size:1rem;
  font-weight:850;
  line-height:1;
}

.overview-goal-item.is-complete .overview-goal-mark{
  color:#04712f;
}

.overview-goal-item strong{
  display:block;
  color:#0f172a;
  font-size:.95rem;
  font-weight:820;
  line-height:1.3;
}

.overview-goal-item span:not(.overview-goal-mark){
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:.86rem;
  line-height:1.4;
}

.overview-activity-card{
  display:grid;
  gap:18px;
}

.overview-activity-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.overview-activity-list{
  display:grid;
  border:1px solid #e6edf5;
  border-radius:16px;
  overflow:hidden;
}

.overview-activity-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:15px 16px;
  border-bottom:1px solid #e6edf5;
  background:#fff;
}

.overview-activity-item:last-child{
  border-bottom:0;
}

.overview-activity-item strong{
  display:block;
  color:#0f172a;
  font-size:.96rem;
  font-weight:600;
}

.overview-activity-item span,
.overview-activity-item time{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:.9rem;
  line-height:1.4;
}

.overview-activity-item time{
  margin-top:0;
  white-space:nowrap;
}

.overview-hero{
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:16px;
  min-height:auto;
}

.overview-hero h1{
  max-width:18ch;
  margin:8px 0 0;
  color:#0f172a;
  font-size:1.65rem;
  line-height:1.12;
  letter-spacing:-.025em;
}

.overview-hero p{
  max-width:64ch;
  margin:0;
  color:#64748b;
  line-height:1.75;
}

.overview-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.overview-status-grid{
  padding:14px;
  display:grid;
  gap:12px;
}

.overview-status-card{
  border:1px solid #e6edf5;
  background:#f8fafc;
  border-radius:14px;
  padding:14px;
}

.overview-status-card.complete{
  background:#ecfdf3;
  border-color:#bbf7d0;
}

.overview-status-card span,
.overview-steps strong{
  display:block;
  color:#64748b;
  font-size:.78rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.overview-status-card strong{
  display:block;
  margin-top:6px;
  color:#0f172a;
  font-size:1.35rem;
  line-height:1.2;
}

.overview-status-card small{
  display:block;
  margin-top:6px;
  color:#64748b;
  line-height:1.45;
}

.overview-steps{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  overflow:hidden;
}

.overview-steps article{
  padding:16px;
  border-right:1px solid #e6edf5;
}

.overview-steps article:last-child{
  border-right:0;
}

.overview-steps span{
  display:block;
  margin-top:8px;
  color:#64748b;
  line-height:1.55;
}

.portfolio-card{
  overflow:hidden;
}

.portfolio-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:22px;
}

.section-kicker{
  display:block;
  margin-bottom:8px;
  color:#126b3a;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.76rem;
  font-weight:850;
}

.portfolio-head h2,
.table-head h2{
  margin:0 0 8px;
  color:#0f172a;
  font-family:inherit;
  font-size:1.32rem;
  font-weight:850;
  letter-spacing:-.018em;
  line-height:1.25;
}

.portfolio-head p{
  margin:0;
  color:#64748b;
  max-width:64ch;
}

.portfolio-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding:6px;
  background:#f8fafc;
  border:1px solid #e6edf5;
  border-radius:17px;
  margin-bottom:22px;
}

.portfolio-tab{
  border:0;
  min-height:42px;
  padding:0 16px;
  border-radius:12px;
  background:transparent;
  color:#64748b;
  font-weight:850;
  cursor:pointer;
}

.portfolio-tab.active{
  background:#101827;
  color:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
}

.portfolio-panel{display:none}

.portfolio-panel.active{display:block}

.asset-layout{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.asset-map-card,
.asset-summary-card{
  background:#f8fafc;
  border:1px solid #e6edf5;
  border-radius:18px;
  padding:20px;
}

.map-topline{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:16px;
}

.map-topline strong{
  display:block;
  color:#0f172a;
}

.map-topline span:not(.badge){
  display:block;
  color:#64748b;
  font-size:.9rem;
  margin-top:2px;
}

.badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#ecfdf3;
  color:#14532d;
  font-size:.82rem;
  font-weight:850;
  white-space:nowrap;
}

.badge-soft{
  background:#f1f5f9;
  color:#334155;
}

.map-canvas{
  position:relative;
  aspect-ratio:2 / 1;
  min-height:0;
  overflow:hidden;
  border-radius:16px;
  background:
    radial-gradient(circle at 24% 30%, rgba(4,120,87,.10), transparent 24%),
    radial-gradient(circle at 72% 42%, rgba(37,99,235,.10), transparent 23%),
    radial-gradient(circle at 55% 55%, rgba(217,119,6,.08), transparent 18%),
    linear-gradient(90deg, rgba(15,23,42,.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15,23,42,.035) 1px, transparent 1px),
    linear-gradient(180deg,#f4fbfd 0%,#e8f3f8 100%);
  background-size:auto,auto,auto,72px 72px,72px 72px,auto;
  border:1px solid #cfe0ea;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.70), inset 0 -28px 70px rgba(15,23,42,.035);
}

.world-map-img{
  position:absolute;
  inset:10px;
  width:calc(100% - 20px);
  height:calc(100% - 20px);
  object-fit:contain;
  z-index:1;
  opacity:.88;
  filter:saturate(.82) contrast(1.08);
}

.map-legend{
  position:absolute;
  left:14px;
  top:14px;
  z-index:4;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:7px;
  border:1px solid rgba(207,224,234,.86);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  backdrop-filter:blur(10px);
}

.map-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#334155;
  font-size:.75rem;
  font-weight:800;
}

.map-legend span::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#047857;
}

.wind-map .map-legend-active::before{
  background:#2563eb;
}

.map-legend-maintenance::before{
  background:#d97706 !important;
}

.map-pin{
  position:absolute;
  width:26px;
  height:22px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#047857;
  box-shadow:none;
  cursor:pointer;
  z-index:3;
}

.map-pin.is-active{
  color:#047857;
  animation:activePinPulse 1.55s ease-in-out infinite;
}

.wind-map .map-pin.is-active{
  color:#2563eb;
}

.map-pin.is-maintenance{
  color:#d97706;
  animation:none;
}

.solar-map .map-pin::before{
  content:"";
  position:absolute;
  left:3px;
  top:4px;
  width:20px;
  height:13px;
  border:2px solid #fff;
  border-radius:3px;
  background:
    linear-gradient(currentColor 0 0) 50% 50%/2px 100% no-repeat,
    linear-gradient(currentColor 0 0) 50% 50%/100% 2px no-repeat,
    currentColor;
  box-shadow:0 0 0 6px color-mix(in srgb, currentColor 18%, transparent), 0 12px 24px rgba(15,23,42,.22);
  transform:skewX(-10deg);
}

.solar-map .map-pin::after{
  content:"";
  position:absolute;
  left:11px;
  top:17px;
  width:4px;
  height:8px;
  background:currentColor;
  border-radius:2px;
  box-shadow:0 7px 0 -1px currentColor;
  opacity:.9;
  transform:none;
  border:0;
}

.wind-map .map-pin::before{
  content:"";
  position:absolute;
  left:11px;
  top:8px;
  width:4px;
  height:15px;
  border-radius:2px;
  background:currentColor;
  box-shadow:0 0 0 6px color-mix(in srgb, currentColor 16%, transparent), 0 12px 24px rgba(15,23,42,.22);
}

.wind-map .map-pin::after{
  content:"";
  position:absolute;
  left:4px;
  top:0;
  width:18px;
  height:18px;
  border-radius:999px;
  background:
    linear-gradient(currentColor 0 0) 50% 1px/3px 9px no-repeat,
    linear-gradient(currentColor 0 0) 50% 50%/3px 9px no-repeat,
    linear-gradient(currentColor 0 0) 50% 50%/3px 9px no-repeat;
  transform:rotate(0deg);
  opacity:1;
  border:0;
}

.wind-map .map-pin::after{
  clip-path:polygon(47% 0,53% 0,55% 43%,100% 36%,100% 43%,58% 53%,78% 93%,72% 96%,50% 58%,28% 96%,22% 93%,42% 53%,0 43%,0 36%,45% 43%);
  background:currentColor;
}

.map-pin span{
  position:absolute;
  left:50%;
  bottom:26px;
  transform:translateX(-50%);
  padding:6px 9px;
  border-radius:999px;
  background:#101827;
  color:#fff;
  font-size:.75rem;
  font-weight:800;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:.18s ease;
}

.map-pin:hover span,
.map-pin:focus-visible span,
.map-pin.active span{
  opacity:.95;
}

@keyframes activePinPulse{
  0%,100%{
    transform:scale(1);
    filter:brightness(1);
  }
  50%{
    transform:scale(1.18);
    filter:brightness(1.12);
  }
}

.asset-status-pill{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:850;
}

.asset-status-pill.active{
  background:#ecfdf3;
  color:#047857;
}

.asset-status-pill.maintenance{
  background:#fff7ed;
  color:#b45309;
}

.asset-info{
  display:grid;
  gap:14px;
  order:-1;
}

.asset-summary-card h3{
  margin:0 0 8px;
  font-family:inherit;
  font-size:1.15rem;
  font-weight:850;
  letter-spacing:-.015em;
  line-height:1.25;
}

.asset-summary-card p{
  margin:0;
  color:#64748b;
}

.asset-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.asset-location{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:12px 14px;
  border:1px solid #e6edf5;
  background:#fff;
  border-radius:17px;
}

.asset-location strong{
  display:block;
  color:#0f172a;
}

.asset-location span{
  display:block;
  color:#64748b;
  font-size:.88rem;
  margin-top:2px;
}

.asset-location em{
  font-style:normal;
  color:#14532d;
  background:#ecfdf3;
  border-radius:999px;
  padding:5px 9px;
  font-size:.78rem;
  font-weight:850;
  white-space:nowrap;
}

.compact-table{
  margin-top:20px;
  box-shadow:none;
  background:#f8fafc;
}

.table-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  margin-bottom:18px;
}

.table-head h2{
  margin:0;
  font-size:1.25rem;
}

.data-table{
  width:100%;
  border-collapse:collapse;
}

.data-table th,
.data-table td{
  padding:14px 12px;
  border-top:1px solid #e6edf5;
  text-align:left;
  vertical-align:top;
}

.data-table th{
  color:#64748b;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.data-table td{
  color:#334155;
  font-size:.94rem;
}

.verification-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:22px;
}

.verification-head h2{
  margin:0 0 8px;
  color:#0f172a;
  font-family:inherit;
  font-size:1.32rem;
  font-weight:850;
  letter-spacing:-.018em;
  line-height:1.25;
}

.verification-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:20px;
  align-items:start;
}

.documents-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  align-items:start;
  margin-bottom:20px;
}

.verification-status,
.documents-status,
.upload-card{
  border:1px solid #e6edf5;
  background:#f8fafc;
  border-radius:24px;
  padding:20px;
}

.verification-status h3,
.documents-status h3,
.upload-card h3{
  margin:0 0 10px;
  color:#0f172a;
  font-family:inherit;
  font-size:1.12rem;
  font-weight:850;
  letter-spacing:-.015em;
}

.upload-card p{
  margin:0 0 18px;
  color:#64748b;
}

.badge-warning{
  background:#fff7ed;
  color:#9a3412;
}

.kyc-status-card{
  display:grid;
  gap:14px;
}

.verification-summary{
  display:grid;
  grid-template-columns:160px 180px 1fr;
  gap:18px;
  align-items:center;
  padding:14px;
  border:1px solid #e6edf5;
  border-radius:14px;
  background:#fff;
}

.verification-summary > span,
.verification-rejection span{
  display:block;
  color:#64748b;
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:6px;
}

.verification-summary > span{
  margin-bottom:0;
}

.verification-summary strong{
  display:block;
  color:#0f172a;
  font-size:1rem;
  line-height:1.35;
}

.verification-summary p{
  margin:0;
  color:#475569;
  line-height:1.45;
}

.verification-list{
  display:grid;
  border:1px solid #e6edf5;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}

.verification-list div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border-bottom:1px solid #e6edf5;
}

.verification-list div:last-child{
  border-bottom:0;
}

.verification-list span{
  color:#334155;
  font-size:.92rem;
}

.verification-list strong{
  color:#9a3412;
  font-size:.82rem;
  font-weight:850;
  white-space:nowrap;
}

.verification-list strong.is-complete{
  color:#126b3a;
}

.verification-rejection{
  padding:14px;
  border:1px solid #fed7aa;
  border-radius:14px;
  background:#fff7ed;
}

.verification-rejection strong{
  color:#7c2d12;
  line-height:1.35;
}

.status-timeline{
  display:grid;
  gap:14px;
  margin-top:18px;
}

.timeline-item{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:12px;
  align-items:start;
}

.timeline-item > span{
  width:16px;
  height:16px;
  margin-top:4px;
  border-radius:999px;
  background:#cbd5e1;
  box-shadow:0 0 0 5px rgba(203,213,225,.25);
}

.timeline-item.complete > span{
  background:#126b3a;
  box-shadow:0 0 0 5px rgba(18,107,58,.14);
}

.timeline-item.active > span{
  background:#d97706;
  box-shadow:0 0 0 5px rgba(217,119,6,.16);
}

.timeline-item strong{
  display:block;
  color:#0f172a;
  line-height:1.25;
}

.timeline-item small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:.88rem;
}

.form-field input[type="file"]{
  padding:9px 10px;
  background:#fbfdff;
  color:#64748b;
}

.form-field input[type="file"]::file-selector-button{
  margin-right:12px;
  border:1px solid #dce5ef;
  border-radius:10px;
  background:#fff;
  color:#0f172a;
  padding:9px 12px;
  font-weight:620;
  cursor:pointer;
}

.form-field input[type="file"]::file-selector-button:hover{
  border-color:#b7d7c4;
  background:#f0fdf4;
  color:#166534;
}

.form-actions-end{
  justify-content:flex-end;
}


.profile-grid,
.finance-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.account-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);
  gap:22px;
  align-items:start;
}

.account-record{
  border:1px solid #e6edf5;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}

.account-record h3{
  margin:0;
  padding:16px 18px;
  border-bottom:1px solid #e6edf5;
  background:#f8fafc;
  color:#0f172a;
  font-size:1rem;
  font-weight:850;
}

.record-row{
  display:grid;
  grid-template-columns:minmax(180px,.75fr) 1fr;
  gap:18px;
  align-items:center;
  padding:14px 18px;
  border-bottom:1px solid #e6edf5;
}

.record-row:last-child{
  border-bottom:0;
}

.record-label{
  color:#64748b;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.record-value-wrap{
  min-width:0;
}

.record-value{
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:#334155;
  font-size:1rem;
  font-weight:400;
  letter-spacing:0;
  line-height:1.45;
  text-transform:none;
}

.status-badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:750;
}

.status-pending{
  background:#fff7ed;
  color:#9a3412;
}

.account-next-step{
  padding:18px;
  border:1px solid #d8e4ef;
  border-radius:14px;
  background:#f8fafc;
}

.account-next-step h3{
  margin:0 0 8px;
  color:#0f172a;
  font-size:1.15rem;
}

.account-next-step p{
  margin:0 0 18px;
  color:#475569;
  line-height:1.55;
}

.account-next-step .form-actions{
  margin-top:0;
}

.action-note{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #e6edf5;
}

.action-note strong,
.action-note span{
  display:block;
}

.action-note strong{
  color:#0f172a;
  font-size:.94rem;
}

.action-note span{
  margin-top:4px;
  color:#64748b;
  line-height:1.45;
}

.account-next-step .btn{
  min-height:42px;
  padding:0 16px;
}

.finance-actions-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}

.finance-request-card{
  padding:18px;
  border:1px solid #e6edf5;
  border-radius:18px;
  background:#f8fafc;
}

.finance-single-card{
  margin-top:18px;
  max-width:820px;
}

.finance-request-card h3{
  margin:0 0 8px;
  color:#0f172a;
  font-size:1.08rem;
  font-weight:850;
}

.finance-request-card p{
  margin:0 0 16px;
  color:#64748b;
  line-height:1.55;
}

.finance-form-grid{
  display:grid;
  grid-template-columns:1fr 140px;
  gap:14px;
}

.finance-history{
  margin-top:18px;
}

.account-summary-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:16px;
}

.account-summary-strip article{
  min-height:112px;
  padding:18px;
  border:1px solid #e6edf5;
  border-radius:18px;
  background:#f8fafc;
}

.account-summary-strip span{
  display:block;
  margin-bottom:8px;
  color:#64748b;
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.account-summary-strip strong{
  display:block;
  color:#0f172a;
  font-size:1.15rem;
  font-weight:850;
}

.account-summary-strip small{
  display:block;
  margin-top:6px;
  color:#64748b;
  line-height:1.45;
}

.profile-list{
  display:grid;
  border:1px solid #e6edf5;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}

.profile-list .profile-item{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(160px,.7fr) 1fr;
  gap:16px;
  align-items:center;
  border:0;
  border-bottom:1px solid #e6edf5;
  border-radius:0;
  background:#fff;
  padding:16px 18px;
}

.profile-list .profile-item:last-child{
  border-bottom:0;
}

.finance-grid{
  grid-template-columns:repeat(3,1fr);
  margin-bottom:18px;
}

.profile-item{
  padding:18px;
  border:1px solid #e6edf5;
  border-radius:20px;
  background:#f8fafc;
}

.profile-item span{
  display:block;
  color:#64748b;
  font-size:.78rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.profile-item strong{
  display:block;
  color:#0f172a;
  font-size:1.08rem;
  font-weight:850;
  letter-spacing:-.018em;
  line-height:1.2;
}

.profile-item small{
  display:block;
  color:#64748b;
  margin-top:7px;
  font-size:.88rem;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled{
  cursor:not-allowed;
  opacity:.68;
}

.deposit-block[hidden],
.finance-tab-panel[hidden]{
  display:none;
}

.finance-card .notice{
  margin-top:0;
}

.finance-hub-card{
  display:grid;
  gap:18px;
}

.finance-tabs{
  display:flex;
  gap:8px;
  width:max-content;
  max-width:100%;
  padding:5px;
  border:1px solid #e6edf5;
  border-radius:14px;
  background:#f8fafc;
}

.finance-tabs a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 15px;
  border-radius:10px;
  color:#64748b;
  font-size:.92rem;
  font-weight:620;
}

.finance-tabs a.active,
.finance-tabs a:hover{
  background:#fff;
  color:#04712f;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}

.finance-panel-head{
  margin-bottom:14px;
}

.deposit-flow-form,
.deposit-block{
  display:grid;
  gap:12px;
}

.deposit-flow-form{
  gap:14px;
}

.deposit-block{
  padding:16px 18px;
  border:1px solid #e6edf5;
  border-radius:16px;
  background:#fff;
}

.deposit-block h3,
.deposit-instructions h3{
  margin:0;
  color:#0f172a;
  font-size:1rem;
  font-weight:680;
}

.deposit-amount-grid{
  grid-template-columns:minmax(0,1fr) 150px;
}

.crypto-detail-grid{
  grid-template-columns:minmax(0,.82fr) minmax(260px,1.18fr);
}

.crypto-detail-grid select,
.deposit-amount-grid select{
  min-width:0;
}

.deposit-plan-card{
  display:none;
  padding:16px;
  border:1px solid #dcfce7;
  border-radius:16px;
  background:#f0fdf4;
}

.deposit-plan-card[data-has-plan="true"]{
  display:grid;
  gap:4px;
}

.deposit-plan-card span,
.deposit-plan-card small{
  color:#166534;
  font-size:.9rem;
}

.deposit-plan-card strong{
  color:#0f172a;
  font-weight:680;
}

.deposit-method-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.withdrawal-method-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.deposit-method{
  display:grid;
  gap:5px;
  padding:13px 14px;
  border:1px solid #dce5ef;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
}

.deposit-method input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.deposit-method strong{
  color:#0f172a;
  font-weight:660;
}

.deposit-method span{
  color:#64748b;
  font-size:.88rem;
}

.deposit-method.is-selected{
  border-color:#16a34a;
  background:#f7fef9;
}

.deposit-method.is-disabled{
  opacity:.58;
  cursor:not-allowed;
  background:#f8fafc;
}

.finance-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#334155;
  font-size:.93rem;
  line-height:1.45;
}

.finance-check input{
  width:18px;
  height:18px;
  margin-top:1px;
  accent-color:#04712f;
  flex:0 0 auto;
}

.deposit-submit-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  padding-top:0;
}

.deposit-submit-row .form-note{
  margin:0;
  color:#64748b;
  flex:1;
}

.deposit-submit-row .btn{
  min-width:250px;
}

.deposit-instructions{
  margin-top:16px;
  padding:22px;
  border:1px solid #dbeafe;
  border-radius:20px;
  background:#fbfdff;
}

.finance-history-grid{
  display:grid;
  gap:18px;
}

.deposit-instruction-grid{
  display:grid;
  gap:0;
  border:1px solid #e6edf5;
  border-radius:16px;
  overflow:hidden;
}

.deposit-instruction-row{
  display:grid;
  grid-template-columns:minmax(160px,.55fr) minmax(0,1fr);
  gap:16px;
  padding:13px 15px;
  border-top:1px solid #e6edf5;
  background:#fff;
}

.deposit-instruction-row[hidden]{
  display:none;
}

.deposit-instruction-row:first-child{
  border-top:0;
}

.deposit-instruction-row span{
  color:#64748b;
  font-size:.9rem;
}

.deposit-instruction-row strong{
  color:#0f172a;
  font-weight:600;
  overflow-wrap:anywhere;
}

.deposit-address-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}

.deposit-address-line strong{
  min-width:0;
}

.deposit-copy-inline{
  min-height:34px;
  padding:0 12px;
  border-radius:10px;
  white-space:nowrap;
  font-size:.86rem;
  flex:0 0 auto;
}

.deposit-warning{
  margin:16px 0 0;
  color:#9a3412;
  background:#fff7ed;
  border:1px solid #fed7aa;
  border-radius:14px;
  padding:13px 14px;
  font-size:.92rem;
}

.overview-card{
  display:grid;
  gap:24px;
}

.overview-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  overflow:hidden;
  border:1px solid #e6edf5;
  border-radius:20px;
  background:linear-gradient(180deg,#fff 0%,#f9fbfd 100%);
}

.summary-metric{
  min-height:116px;
  padding:22px;
  border-left:1px solid #e6edf5;
}

.summary-metric:first-child{
  border-left:0;
}

.summary-metric span{
  display:block;
  color:#64748b;
  font-size:.74rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.055em;
  margin-bottom:10px;
}

.summary-metric strong{
  display:block;
  color:#0f172a;
  font-size:1.02rem;
  font-weight:580;
  line-height:1.32;
  letter-spacing:-.01em;
}

.overview-section-head{
  margin-bottom:14px;
}

.overview-section-head h3,
.overview-activity-head h3{
  margin:0;
  color:#0f172a;
  font-size:1.12rem;
  font-weight:720;
  letter-spacing:-.012em;
}

.overview-section-head p{
  margin:6px 0 0;
  color:#64748b;
  font-size:.94rem;
}

.next-steps-list{
  display:grid;
  gap:10px;
}

.next-step-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:16px;
  border:1px solid #e6edf5;
  border-radius:16px;
  background:#fff;
}

.next-step-item strong{
  display:block;
  color:#0f172a;
  font-size:.98rem;
  font-weight:600;
}

.next-step-item span{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:.92rem;
  line-height:1.45;
}

.next-step-item .btn{
  min-height:38px;
  padding:0 14px;
  border-radius:11px;
  font-size:.88rem;
  font-weight:600;
}

.next-step-item.is-complete{
  background:#f7fef9;
  border-color:#dcfce7;
}

.overview-financial-actions{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid #e6edf5;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#f9fbfd 100%);
}

.overview-financial-actions h3{
  margin:0;
  color:#0f172a;
  font-size:1rem;
  font-weight:600;
}

.overview-financial-actions p{
  margin:4px 0 0;
  color:#64748b;
  font-size:.92rem;
}

.overview-financial-links{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.overview-financial-links .small-link{
  white-space:nowrap;
}

.overview-quick-actions{
  display:grid;
  gap:12px;
}

.overview-section-head.compact{
  margin-bottom:0;
}

.quick-actions-list{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.quick-action-link{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border:1px solid #dce5ef;
  border-radius:12px;
  background:#fff;
  color:#0f172a;
  font-weight:640;
  font-size:.92rem;
}

.quick-action-link:hover{
  border-color:#b7d7c4;
  background:#f0fdf4;
  color:#166534;
}

.overview-referral-line{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  color:#64748b;
  font-size:.9rem;
}

.overview-referral-line strong{
  color:#0f172a;
  font-weight:650;
}

.overview-referral-panel{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid #e6edf5;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#f9fbfd 100%);
}

.overview-referral-panel h3{
  margin:0;
  color:#0f172a;
  font-size:1rem;
  font-weight:600;
}

.overview-referral-panel p{
  margin:4px 0 0;
  color:#64748b;
  font-size:.92rem;
}

.overview-referral-code{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  color:#64748b;
  font-size:.9rem;
}

.overview-referral-code strong{
  color:#0f172a;
  font-weight:600;
}

.referral-inline-copy{
  border:1px solid #dce5ef;
  border-radius:999px;
  background:#fff;
  color:#166534;
  min-height:30px;
  padding:0 10px;
  font-weight:600;
  cursor:pointer;
}

.profile-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:20px;
  align-items:start;
}

.profile-summary-panel,
.profile-action-panel,
.verification-flow > article{
  border:1px solid #e6edf5;
  border-radius:20px;
  background:#fff;
  padding:24px;
}

.profile-summary-head{
  display:grid;
  gap:14px;
}

.profile-summary-panel h3,
.profile-group h4,
.documents-status h3,
.upload-card h3{
  margin:0 0 14px;
  color:#0f172a;
  font-weight:620;
  letter-spacing:-.01em;
}

.profile-group{
  padding-top:20px;
  margin-top:20px;
  border-top:1px solid #f1f5f9;
}

.profile-group h4{
  color:#334155;
  font-size:.96rem;
  font-weight:600;
}

.profile-group-list{
  display:grid;
  gap:0;
}

.record-row{
  display:grid;
  grid-template-columns:minmax(150px,.6fr) minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:12px 0;
  border-top:1px solid #f6f8fb;
}

.record-row:first-child{
  border-top:0;
}

.record-label{
  color:#64748b;
  font-size:.9rem;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}

.profile-inline-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border:1px solid #dcfce7;
  border-radius:16px;
  background:#f7fef9;
}

.profile-inline-action strong{
  display:block;
  color:#14532d;
  font-size:.92rem;
  font-weight:620;
}

.profile-inline-action span{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:.88rem;
  line-height:1.4;
}

.profile-inline-action .btn{
  min-height:34px;
  padding:0 12px;
  border-radius:10px;
  white-space:nowrap;
  font-size:.86rem;
}

.record-value-wrap,
.record-value{
  color:#0f172a;
  font-weight:520;
  text-align:right;
}

.profile-action-panel{
  padding:18px;
  border-radius:18px;
  background:#fbfdff;
  box-shadow:none;
}

.profile-action-panel h3{
  margin:0 0 8px;
  color:#0f172a;
  font-size:1rem;
  font-weight:620;
}

.profile-action-panel p{
  margin:0;
  color:#64748b;
  font-size:.92rem;
  line-height:1.55;
}

.profile-action-panel .form-actions{
  margin-top:16px;
}

.profile-action-panel .btn{
  min-height:38px;
  padding:0 14px;
  border-radius:11px;
  font-size:.88rem;
  font-weight:600;
}

.profile-inline-action.is-hidden,
.profile-action-panel.is-hidden,
.verification-rejection:not(.is-visible){
  display:none;
}

.verification-flow{
  display:grid;
  gap:18px;
}

.verification-status-list{
  display:grid;
  gap:0;
  border:1px solid #eef2f6;
  border-radius:16px;
  overflow:hidden;
}

.verification-status-row{
  display:grid;
  grid-template-columns:minmax(150px,.7fr) minmax(0,1fr);
  gap:16px;
  padding:14px 16px;
  background:#fff;
  border-top:1px solid #eef2f6;
}

.verification-status-row:first-child{
  border-top:0;
}

.verification-status-row span{
  color:#64748b;
  font-size:.9rem;
}

.verification-status-row strong{
  color:#0f172a;
  font-weight:600;
  text-align:right;
}

.verification-note{
  margin:14px 0 0;
  color:#64748b;
  font-size:.92rem;
}

.portfolio-summary-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid #e6edf5;
  border-radius:18px;
  overflow:hidden;
  margin:18px 0;
  background:#fff;
}

.portfolio-metric{
  padding:18px;
  border-left:1px solid #e6edf5;
}

.portfolio-metric:first-child{
  border-left:0;
}

.portfolio-metric span{
  display:block;
  color:#64748b;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom:8px;
}

.portfolio-metric strong{
  display:block;
  color:#0f172a;
  font-size:1.1rem;
  font-weight:680;
}

.portfolio-operational-note{
  display:grid;
  gap:4px;
  padding:16px 18px;
  border-radius:16px;
  background:#f8fafc;
  color:#64748b;
  margin-bottom:18px;
}

.portfolio-operational-note strong{
  color:#0f172a;
  font-weight:680;
}

.portfolio-visual-layout{
  display:block;
}

.portfolio-visual-layout .asset-map-card{
  padding:22px;
  background:linear-gradient(180deg,#fbfdff 0%,#eef6fb 100%);
}

.map-canvas{
  min-height:390px;
  background:
    radial-gradient(circle at 72% 22%, rgba(34,197,94,.12), transparent 22%),
    linear-gradient(90deg, rgba(15,23,42,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15,23,42,.04) 1px, transparent 1px),
    #eaf4f8;
  background-size:auto,72px 72px,72px 72px,auto;
}

.map-pin{
  width:26px;
  height:24px;
}

.map-pin span{
  border-radius:12px;
  padding:8px 10px;
  box-shadow:0 16px 34px rgba(15,23,42,.18);
}

.energy-plans-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.plan-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:180px;
  height:100%;
  padding:22px;
  border:1px solid #e6edf5;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.035);
  cursor:pointer;
  transition:.18s ease;
}

.plan-card.is-current{
  border-color:#86efac;
  background:linear-gradient(180deg,#fff 0%,#f7fef9 100%);
  cursor:default;
}

.plan-card.is-unavailable{
  opacity:.62;
  cursor:not-allowed;
  background:#f8fafc;
}

.plan-card:hover,
.plan-card:focus-visible{
  border-color:#b6cfe0;
  box-shadow:0 16px 34px rgba(15,23,42,.06);
  outline:none;
}

.plan-card.is-selected{
  border-color:#16a34a;
  background:linear-gradient(180deg,#fff 0%,#f3fbf6 100%);
  box-shadow:0 16px 34px rgba(22,163,74,.08);
}

.badge-muted{
  background:#f1f5f9;
  color:#64748b;
}

.plan-card-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}

.plan-card h3{
  margin:0;
  color:#0f172a;
  font-size:1.08rem;
  font-weight:720;
  letter-spacing:-.018em;
}

.plan-card-amount{
  display:block;
  color:#0f172a;
  font-size:1.28rem;
  font-weight:640;
  letter-spacing:-.02em;
  line-height:1;
}

.plan-card-asset,
.plan-yield-line,
.plan-risk-note,
.plan-modal-risk{
  margin:0;
  color:#64748b;
  line-height:1.55;
}

.plan-card-asset{
  min-height:48px;
}

.plan-modal-summary div{
  padding:12px;
  border:1px solid #e6edf5;
  border-radius:14px;
  background:#f8fafc;
}

.plan-modal-summary span{
  display:block;
  color:#64748b;
  font-size:.76rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom:5px;
}

.plan-modal-summary strong{
  display:block;
  color:#0f172a;
  font-size:.95rem;
  font-weight:850;
  line-height:1.25;
}

.plan-yield-line{
  margin-top:auto;
  padding-right:34px;
  color:#334155;
  font-size:.94rem;
  font-weight:500;
}

.plan-select-mark{
  position:absolute;
  right:22px;
  bottom:22px;
  width:20px;
  height:20px;
  border:1px solid #cbd5e1;
  border-radius:999px;
  background:#fff;
}

.plan-select-mark::after{
  content:"";
  position:absolute;
  left:5px;
  top:5px;
  width:8px;
  height:5px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
  opacity:0;
}

.plan-card.is-selected .plan-select-mark{
  border-color:#15803d;
  background:#15803d;
}

.plan-card.is-selected .plan-select-mark::after{
  opacity:1;
}

.plan-selection-bar{
  position:sticky;
  bottom:18px;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:18px;
  padding:14px 16px;
  border:1px solid #e6edf5;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 44px rgba(15,23,42,.1);
  backdrop-filter:blur(12px);
}

.plan-selection-bar span{
  color:#64748b;
  font-size:.92rem;
}

.plan-selection-bar .btn{
  min-width:210px;
}

.plan-selection-bar .btn:disabled{
  background:#e2e8f0;
  color:#64748b;
  box-shadow:none;
}

.plan-risk-note{
  margin-top:16px;
  font-size:.92rem;
}

.plan-modal-shell{
  position:fixed;
  inset:0;
  z-index:1500;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  pointer-events:none;
  transition:.2s ease;
}

.plan-modal-shell.is-open{
  opacity:1;
  pointer-events:auto;
}

.plan-modal-overlay{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.54);
  backdrop-filter:blur(6px);
}

.plan-modal-card{
  position:relative;
  z-index:1;
  width:min(100%,520px);
  max-height:calc(100vh - 40px);
  overflow:auto;
  padding:28px;
  border:1px solid #e6edf5;
  border-radius:24px;
  background:#fff;
  box-shadow:0 28px 70px rgba(15,23,42,.24);
}

.plan-modal-card h2{
  margin:6px 0 18px;
  color:#0f172a;
  font-size:1.45rem;
  line-height:1.2;
}

.plan-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  width:38px;
  height:38px;
  border:1px solid #e6edf5;
  border-radius:12px;
  background:#fff;
  color:#0f172a;
  font-weight:850;
  cursor:pointer;
}

.plan-modal-summary{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.deposit-plan-context{
  display:none;
  margin:0 0 16px;
  padding:13px 14px;
  border-radius:14px;
  border:1px solid #dcfce7;
  background:#f0fdf4;
  color:#166534;
  font-weight:750;
}

.deposit-plan-context.is-visible{
  display:block;
}

.plan-modal-risk{
  margin-top:16px;
  padding:13px 14px;
  border-radius:14px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  font-size:.9rem;
}

.restricted-banner{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:18px;
  border-radius:22px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  box-shadow:0 12px 28px rgba(154,52,18,.08);
}

.restricted-banner strong{
  display:block;
  color:#7c2d12;
  line-height:1.35;
}

.restricted-banner span{
  display:block;
  margin-top:3px;
  color:#9a3412;
}

.security-card .notice{
  margin-bottom:0;
}

.security-grid{
  margin-bottom:18px;
}

.dashboard-section-hidden{
  display:none !important;
}


.site-footer{
  margin-top:72px;
  padding:56px 0 24px;
  background:#0f172a;
  color:#e2e8f0;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:28px;
  align-items:start;
}

.footer-brand p{
  max-width:34ch;
}

.site-footer h4{
  margin:0 0 14px;
  font-size:.95rem;
  color:#ffffff;
}

.site-footer p{
  margin:0;
  color:#94a3b8;
  font-size:.95rem;
  line-height:1.7;
}

.site-footer ul{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.site-footer a{
  color:#cbd5e1;
  font-size:.95rem;
}

.site-footer a:hover{color:#ffffff}

.footer-bottom{
  margin-top:32px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  color:#94a3b8;
  font-size:.88rem;
}

@media (max-width:1080px){
  .auth-layout,
  .dashboard-layout,
  .asset-list{
    grid-template-columns:1fr;
  }

  .dashboard-sidebar{
    position:static;
    min-height:auto;
  }

  .dashboard-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .overview-panel{
    grid-template-columns:1fr;
  }

  .overview-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .summary-metric:nth-child(odd){
    border-left:0;
  }

  .summary-metric:nth-child(n+3){
    border-top:1px solid #e6edf5;
  }

  .energy-plans-grid{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:1040px){
  .nav,
  .language-dropdown{
    display:none;
  }

  .menu-toggle{
    display:inline-flex;
  }

  .header-login{
    min-height:42px;
    padding:0 14px;
    font-size:.92rem;
  }
}

@media (max-width:860px){
  .header-inner{
    min-height:auto;
    padding:14px 0;
    flex-wrap:wrap;
  }

  .header-actions{
    width:100%;
    justify-content:space-between;
  }
}

@media (max-width:720px){
  body:has([data-dashboard-root]){
    padding-bottom:104px;
  }

  .auth-panel,
  .page-hero{
    border-radius:26px;
    padding:30px 22px;
  }

  .auth-panel h1,
  .page-hero h1{
    font-size:2.25rem;
  }

  .status-card h1{
    font-size:2rem;
  }

  .status-actions{
    gap:12px;
    margin-top:24px;
  }

  .form-card,
  .content-card,
  .status-card,
  .dashboard-card,
  .table-card,
  .portfolio-card{
    border-radius:22px;
    padding:20px;
  }

  .form-grid,
  .document-file-slots,
  .dashboard-grid,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .dashboard-sidebar{
    display:none;
  }

  .dashboard-mobile-nav{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:80;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    min-height:78px;
    padding:8px max(8px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right));
    border:1px solid rgba(219,227,238,.95);
    border-radius:24px;
    background:rgba(255,255,255,.94);
    box-shadow:0 18px 46px rgba(15,23,42,.16);
    backdrop-filter:blur(18px);
  }

  .dashboard-mobile-nav a{
    display:grid;
    place-items:center;
    align-content:center;
    gap:6px;
    min-width:0;
    min-height:62px;
    border-radius:18px;
    color:#64748b;
    font-size:.7rem;
    font-weight:600;
    line-height:1.1;
    transition:.18s ease;
  }

  .dashboard-mobile-nav a.active{
    color:#04712f;
    background:#eef8f2;
    box-shadow:inset 0 0 0 1px rgba(22,163,74,.08);
  }

  .dashboard-mobile-nav a:hover{
    color:#166534;
    background:#f7fef9;
  }

  .dashboard-mobile-icon{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:12px;
    background:#f8fafc;
    color:currentColor;
    box-shadow:inset 0 0 0 1px rgba(203,213,225,.7);
  }

  .dashboard-mobile-nav a.active .dashboard-mobile-icon{
    background:#fff;
    color:#04712f;
    box-shadow:0 10px 20px rgba(4,113,47,.12), inset 0 0 0 1px rgba(22,163,74,.14);
  }

  .dashboard-mobile-icon svg{
    width:19px;
    height:19px;
    stroke-width:1.75;
  }

  .portfolio-head,
  .verification-head,
  .table-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .verification-grid,
  .profile-grid,
  .account-workspace,
  .account-summary-strip,
  .profile-list .profile-item,
  .finance-grid,
  .finance-actions-grid,
  .finance-form-grid,
  .documents-grid,
  .overview-panel,
  .overview-shortcuts,
  .overview-steps{
    grid-template-columns:1fr;
  }

  .plan-modal-summary{
    grid-template-columns:1fr;
  }

  .profile-layout,
  .portfolio-summary-strip,
  .deposit-method-grid,
  .deposit-instruction-row,
  .deposit-amount-grid,
  .crypto-detail-grid{
    grid-template-columns:1fr;
  }

  .finance-tabs{
    width:100%;
  }

  .finance-tabs a{
    flex:1;
    padding:0 10px;
  }

  .portfolio-metric,
  .portfolio-metric:first-child{
    border-left:0;
    border-top:1px solid #e6edf5;
  }

  .portfolio-metric:first-child{
    border-top:0;
  }

  .overview-referral-panel{
    align-items:flex-start;
    flex-direction:column;
  }

  .overview-financial-actions{
    align-items:flex-start;
    flex-direction:column;
  }

  .overview-financial-links{
    width:100%;
    justify-content:stretch;
  }

  .overview-financial-links .btn,
  .overview-financial-links .small-link{
    width:100%;
    justify-content:center;
  }

  .profile-inline-action{
    align-items:flex-start;
    flex-direction:column;
  }

  .profile-inline-action .btn{
    width:100%;
    justify-content:center;
  }

  .verification-status-row{
    grid-template-columns:1fr;
    gap:5px;
  }

  .verification-status-row strong{
    text-align:left;
  }

  .overview-summary,
  .next-step-item{
    grid-template-columns:1fr;
  }

  .summary-metric{
    min-height:auto;
    border-left:0;
    border-top:1px solid #e6edf5;
  }

  .summary-metric:first-child{
    border-top:0;
  }

  .next-step-item .btn{
    width:100%;
  }

  .plan-selection-bar{
    position:static;
    flex-direction:column;
    align-items:stretch;
  }

  .plan-selection-bar .btn{
    width:100%;
    min-width:0;
  }

  .deposit-submit-row{
    flex-direction:column;
    align-items:stretch;
  }

  .deposit-submit-row .btn{
    width:100%;
    min-width:0;
  }

  .deposit-address-line{
    align-items:flex-start;
    flex-direction:column;
  }

  .deposit-copy-inline{
    width:100%;
  }

  .record-row{
    grid-template-columns:1fr;
    gap:6px;
  }

  .verification-summary{
    grid-template-columns:1fr;
    gap:6px;
  }

  .overview-hero{
    min-height:auto;
    padding:24px;
  }

  .overview-hero h1{
    max-width:none;
    font-size:2.15rem;
  }

  .overview-steps article{
    border-right:0;
    border-bottom:1px solid #e6edf5;
  }

  .overview-steps article:last-child{
    border-bottom:0;
  }

  .map-canvas{
    min-height:300px;
  }

  .map-pin span{
    display:none;
  }

  .data-table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }

  .site-footer{
    margin-top:64px;
    padding-top:56px;
  }
}

@media (max-width:640px){
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  .brand-sub{
    display:none;
  }

  .asset-location{
    flex-direction:column;
  }
}


.legal-hero{
  width:min(calc(100% - 32px),1120px);
  margin-left:auto;
  margin-right:auto;
  padding:56px 0;
  border-radius:34px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 20%, rgba(255,255,255,.075), transparent 28%),
    linear-gradient(135deg,var(--hero) 0%,var(--hero-2) 52%,var(--hero-3) 100%);
  box-shadow:var(--shadow-strong);
}

.legal-hero h1{
  margin:14px 0 0;
  font-family:var(--title-serif);
  font-size:clamp(2.35rem,5vw,4rem);
  line-height:.98;
  letter-spacing:-.04em;
}

.legal-section{
  padding-top:0;
}

.legal-card{
  max-width:920px;
  margin:0 auto;
  padding:34px;
  border:1px solid #e6edf5;
  border-radius:28px;
  background:#ffffff;
  box-shadow:0 18px 48px rgba(15,23,42,.08);
}

.legal-card h2{
  margin:0 0 16px;
  color:#0f172a;
  font-family:Georgia, "Times New Roman", serif;
  font-size:2rem;
  font-weight:600;
  letter-spacing:-.03em;
}

.legal-card h3{
  margin:28px 0 10px;
  color:#0f172a;
  font-size:1.05rem;
  font-weight:850;
  letter-spacing:-.015em;
}

.legal-card p,
.legal-card li{
  color:#475569;
  line-height:1.75;
}

.legal-card ul{
  margin:12px 0 0;
  padding-left:22px;
}

.legal-download{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:20px;
  margin:24px 0;
  border:1px solid #dbe7f0;
  border-radius:22px;
  background:#f8fafc;
}

.legal-download strong{
  display:block;
  color:#0f172a;
  font-size:1rem;
}

.legal-download span{
  display:block;
  margin-top:4px;
  color:#64748b;
  line-height:1.5;
}

.terms-hero,
.privacy-hero{
  padding:30px 0;
  border-radius:20px;
  box-shadow:0 16px 42px rgba(9,19,31,.15);
}

.terms-hero.spaced-after-header,
.privacy-hero.spaced-after-header{
  margin-top:54px;
}

.terms-hero .container,
.privacy-hero .container{
  width:min(calc(100% - 72px),980px);
}

.terms-hero h1,
.privacy-hero h1{
  margin:0;
  font-size:clamp(1.86rem,3vw,2.65rem);
  line-height:1.06;
}

.terms-section.status-spacing-fix,
.privacy-section.status-spacing-fix{
  padding-top:30px;
}

.terms-section .legal-card,
.privacy-section .legal-card{
  max-width:860px;
  padding:32px;
  border-radius:22px;
  box-shadow:0 14px 38px rgba(15,23,42,.06);
}

.terms-section .legal-card h2,
.privacy-section .legal-card h2{
  margin-bottom:14px;
  font-size:1.78rem;
}

.terms-section .legal-card h3,
.privacy-section .legal-card h3{
  margin-top:30px;
  margin-bottom:8px;
  font-size:1rem;
}

.terms-section .legal-card p,
.privacy-section .legal-card p{
  max-width:72ch;
  margin-top:0;
}

.terms-section .legal-download{
  margin:18px 0 22px;
  border-radius:18px;
}

.disclaimer-hero{
  padding:30px 0;
  border-radius:20px;
  box-shadow:0 16px 42px rgba(9,19,31,.15);
}

.disclaimer-hero.spaced-after-header{
  margin-top:54px;
}

.disclaimer-hero .container{
  width:min(calc(100% - 72px),980px);
}

.disclaimer-hero h1{
  margin:0;
  font-size:clamp(1.86rem,3vw,2.65rem);
  line-height:1.06;
}

.disclaimer-section.status-spacing-fix{
  padding-top:30px;
}

.disclaimer-section .legal-card{
  max-width:860px;
  padding:32px;
  border-radius:22px;
  box-shadow:0 14px 38px rgba(15,23,42,.06);
}

.disclaimer-section .legal-card h2{
  margin-bottom:14px;
  font-size:1.78rem;
}

.disclaimer-section .legal-card h3{
  margin-top:30px;
  margin-bottom:8px;
  font-size:1rem;
}

.disclaimer-section .legal-card p{
  max-width:72ch;
  margin-top:0;
}

.cookie-hero{
  padding:30px 0;
  border-radius:20px;
  box-shadow:0 16px 42px rgba(9,19,31,.15);
}

.cookie-hero.spaced-after-header{
  margin-top:54px;
}

.cookie-hero .container{
  width:min(calc(100% - 72px),980px);
}

.cookie-hero h1{
  margin:0;
  font-size:clamp(1.86rem,3vw,2.65rem);
  line-height:1.06;
}

.cookie-section.status-spacing-fix{
  padding-top:30px;
}

.cookie-section .legal-card{
  max-width:860px;
  padding:32px;
  border-radius:22px;
  box-shadow:0 14px 38px rgba(15,23,42,.06);
}

.cookie-section .legal-card h2{
  margin-bottom:14px;
  font-size:1.78rem;
}

.cookie-section .legal-card h3{
  margin-top:30px;
  margin-bottom:8px;
  font-size:1rem;
}

.cookie-section .legal-card p{
  max-width:72ch;
  margin-top:0;
}

.compact-mobile-menu a{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.compact-mobile-menu a:not(.mobile-login)::after{
  content:"›";
  color:#94a3b8;
  font-size:1.15rem;
  line-height:1;
}

@media (max-width:720px){
  .legal-card{
    padding:24px;
    border-radius:24px;
  }

  .legal-card h2{
    font-size:1.62rem;
  }

  .legal-download{
    flex-direction:column;
    align-items:flex-start;
  }

  .legal-download .btn{
    width:100%;
  }
}


/* Clean wordmark mode: FRV Solar text only, no duplicated FRV mark. */
.brand .brand-mark{
  display:none;
}

.brand{
  gap:0;
}

.brand strong{
  letter-spacing:-.025em;
}


/* Public informational pages */
.public-hero{
  width:min(calc(100% - 32px),1120px);
  margin-left:auto;
  margin-right:auto;
  padding:56px 0;
  border-radius:34px;
}

.public-hero + .public-section,
.public-hero + .section{
  padding-top:0;
}

.public-section{
  padding:56px 0 78px;
}

.muted-section{
  padding:76px 0;
  background:#f8fafc;
  border-top:1px solid #e6edf5;
  border-bottom:1px solid #e6edf5;
}

.two-column{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:34px;
  align-items:start;
}

.two-column h2,
.section-head h2,
.contact-layout h2{
  margin:0 0 16px;
  color:#0f172a;
  font-family:Georgia, "Times New Roman", serif;
  font-size:2.25rem;
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:600;
}

.two-column p,
.section-head p,
.contact-layout p{
  color:#475569;
  font-size:1.02rem;
  line-height:1.8;
}

.public-panel,
.feature-card{
  border:1px solid #e6edf5;
  background:#fff;
  border-radius:26px;
  padding:24px;
  box-shadow:0 16px 40px rgba(15,23,42,.07);
}

.public-panel h3,
.feature-card h3,
.form-card h3{
  margin:0 0 12px;
  color:#0f172a;
  font-size:1.05rem;
  font-weight:850;
  letter-spacing:-.015em;
}

.clean-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:12px;
}

.clean-list li{
  color:#334155;
  padding-left:20px;
  position:relative;
  line-height:1.55;
}

.clean-list li::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:#126b3a;
  position:absolute;
  left:0;
  top:.6em;
}

.feature-grid{
  display:grid;
  gap:20px;
}

.feature-grid.three{
  grid-template-columns:repeat(3,1fr);
}

.feature-card p{
  margin:0;
  color:#64748b;
  line-height:1.7;
}

.company-container{
  width:min(calc(100% - 32px),1080px);
}

.company-intro{
  padding:42px 0 24px;
}

.company-intro.spaced-after-header{
  margin-top:34px;
}

.company-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:46px;
  align-items:start;
}

.company-intro .eyebrow{
  color:#126b3a;
  background:rgba(18,107,58,.08);
  border-color:rgba(18,107,58,.16);
}

.company-intro h1{
  max-width:640px;
  margin:0 0 16px;
  color:#0f172a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.95rem,3vw,3rem);
  font-weight:600;
  line-height:1.04;
  letter-spacing:-.045em;
}

.company-intro p{
  max-width:650px;
  margin:0;
  color:#475569;
  font-size:1.02rem;
  line-height:1.62;
}

.company-institutional{
  padding:10px 0 26px;
}

.company-two-column{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:42px;
  align-items:start;
}

.company-copy{
  max-width:720px;
  padding:26px 0;
  border-top:1px solid #dfe7f0;
  border-bottom:1px solid #dfe7f0;
}

.company-copy h2{
  margin:0 0 16px;
  color:#0f172a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:2rem;
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.028em;
}

.company-copy p{
  max-width:640px;
  margin:0;
  color:#475569;
  font-size:1.02rem;
  line-height:1.75;
}

.company-side-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:26px;
  min-height:188px;
  margin-top:18px;
  padding:26px;
  border:1px solid #e2eaf3;
  border-radius:18px;
  background:#fff;
  box-shadow:0 16px 42px rgba(15,23,42,.06);
}

.company-side-card strong{
  color:#0f172a;
  font-size:1.12rem;
  font-weight:800;
}

.company-side-card span{
  color:#64748b;
}

.company-side-card p{
  margin:0;
  color:#0f172a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.25rem;
  line-height:1.25;
}

.company-pillars{
  padding:14px 0 34px;
}

.company-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.company-pillar-card{
  min-height:172px;
  padding:24px;
  border:1px solid #e2eaf3;
  border-radius:18px;
  background:rgba(255,255,255,.74);
  box-shadow:0 12px 32px rgba(15,23,42,.045);
}

.company-pillar-card h3{
  margin:0 0 12px;
  color:#0f172a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.42rem;
  font-weight:600;
  line-height:1.16;
}

.company-pillar-card p{
  margin:0;
  color:#475569;
  line-height:1.65;
}

.company-closing{
  padding:0 0 64px;
}

.company-closing-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:30px 0 0;
  border-top:1px solid #dfe7f0;
}

.company-closing p{
  margin:0;
  color:#334155;
  font-size:1.2rem;
  line-height:1.45;
}

.company-text-cta{
  color:#0f172a;
  font-weight:850;
  white-space:nowrap;
  border-bottom:1px solid rgba(15,23,42,.28);
  line-height:1.35;
}

.company-text-cta:hover{
  border-bottom-color:#0f172a;
}

.energy-container{
  width:min(calc(100% - 32px),1080px);
}

.energy-intro{
  padding:48px 0 34px;
}

.energy-intro.spaced-after-header{
  margin-top:34px;
}

.energy-intro .eyebrow{
  color:#126b3a;
  background:rgba(18,107,58,.08);
  border-color:rgba(18,107,58,.16);
}

.energy-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(320px,.72fr);
  gap:54px;
  align-items:center;
}

.energy-intro h1{
  max-width:720px;
  margin:0 0 18px;
  color:#0f172a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3.2vw,3.25rem);
  font-weight:600;
  line-height:1.04;
  letter-spacing:-.045em;
}

.energy-intro p{
  max-width:650px;
  margin:0;
  color:#475569;
  font-size:1.04rem;
  line-height:1.66;
}

.energy-abstract{
  position:relative;
  min-height:260px;
  overflow:hidden;
  border:1px solid #dbe7f3;
  border-radius:24px;
  background:
    linear-gradient(135deg, rgba(8,17,29,.96) 0%, rgba(22,50,76,.9) 58%, rgba(224,240,255,.72) 100%),
    repeating-linear-gradient(155deg, rgba(255,255,255,.16) 0 1px, transparent 1px 22px);
  box-shadow:0 22px 58px rgba(15,23,42,.12);
}

.energy-abstract::before,
.energy-abstract::after{
  content:"";
  position:absolute;
  inset:auto -10% 18% -8%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(219,234,254,.85), transparent);
  transform:rotate(-11deg);
}

.energy-abstract::after{
  inset:auto -8% 42% -10%;
  opacity:.55;
}

.energy-abstract span{
  position:absolute;
  left:14%;
  right:10%;
  height:1px;
  background:rgba(219,234,254,.42);
  transform:rotate(-18deg);
}

.energy-abstract span:nth-child(1){top:32%}
.energy-abstract span:nth-child(2){top:52%}
.energy-abstract span:nth-child(3){top:72%}

.energy-abstract i{
  position:absolute;
  right:18%;
  top:22%;
  width:74px;
  height:74px;
  border:1px solid rgba(219,234,254,.55);
  border-radius:50%;
  background:rgba(255,255,255,.08);
}

.energy-pillars{
  padding:18px 0 34px;
}

.energy-feature-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.energy-pillar-card{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:28px;
  min-height:132px;
  padding:24px 28px;
  border:1px solid #e2eaf3;
  border-radius:18px;
  background:rgba(255,255,255,.76);
  box-shadow:0 12px 32px rgba(15,23,42,.045);
}

.energy-pillar-card h3{
  margin:0;
  color:#0f172a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  font-weight:600;
  line-height:1.16;
}

.energy-pillar-card p{
  margin:0;
  color:#475569;
  line-height:1.62;
}

.energy-perspective{
  padding:12px 0 40px;
}

.energy-perspective-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:38px;
  align-items:end;
  padding:34px;
  border:1px solid #dfe7f0;
  border-radius:22px;
  background:linear-gradient(135deg,#ffffff 0%,#f3f8fc 100%);
}

.energy-perspective h2{
  max-width:640px;
  margin:0 0 14px;
  color:#0f172a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:2rem;
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.032em;
}

.energy-perspective p{
  max-width:780px;
  margin:0;
  color:#475569;
  font-size:1.02rem;
  line-height:1.75;
}

.energy-sector-tags{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.energy-sector-tags span{
  padding:10px 12px;
  border:1px solid #dbe7f3;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#334155;
  font-size:.88rem;
  font-weight:750;
  text-align:center;
}

.energy-closing{
  padding:0 0 72px;
}

.energy-closing-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.energy-closing p{
  margin:0;
  color:#334155;
  font-size:1.16rem;
  line-height:1.45;
}

.energy-text-cta{
  color:#0f172a;
  font-weight:850;
  white-space:nowrap;
  border-bottom:1px solid rgba(15,23,42,.28);
  line-height:1.35;
}

.energy-text-cta:hover{
  border-bottom-color:#0f172a;
}

.contact-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
  align-items:start;
}

@media (max-width:900px){
  .two-column,
  .contact-layout,
  .feature-grid.three{
    grid-template-columns:1fr;
  }

  .two-column h2,
  .section-head h2,
  .contact-layout h2{
    font-size:1.9rem;
  }

  .public-section{
    padding:56px 0;
  }

  .company-two-column,
  .company-intro-grid,
  .company-feature-grid,
  .energy-intro-grid,
  .energy-perspective-inner,
  .energy-feature-grid{
    grid-template-columns:1fr;
  }

  .energy-pillar-card{
    grid-template-columns:1fr;
    gap:10px;
  }

  .company-intro{
    padding-top:36px;
  }

  .company-copy{
    padding:30px 0;
  }

  .company-closing-inner{
    align-items:flex-start;
    flex-direction:column;
  }

  .energy-intro{
    padding-top:36px;
  }

  .energy-closing-inner{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Final copy cleanup spacing */
.hero-home-clean{
  padding-top:92px;
  padding-bottom:92px;
}

.home-clean-section{
  padding-top:72px;
}

.auth-clean{
  padding-top:82px;
  padding-bottom:112px;
}

.auth-clean .container{
  width:min(calc(100% - 32px),1120px);
}

.auth-clean .auth-panel{
  width:100%;
}

.auth-clean .form-card{
  margin-top:64px;
}

.auth-panel-simple .auth-points{
  display:none;
}

.auth-panel-simple{
  min-height:auto;
}

.auth-grid-restored{
  display:block;
}

.status-spacing-fix,
.page-spacing-fix{
  padding-top:56px;
}

.legal-section.status-spacing-fix{
  padding-top:76px;
}

.visual-lines{
  display:grid;
  gap:14px;
  margin:34px 0;
}

.visual-lines span{
  display:block;
  height:12px;
  border-radius:999px;
  background:rgba(18,107,58,.14);
}

.visual-lines span:nth-child(2){
  width:74%;
}

.visual-lines span:nth-child(3){
  width:52%;
}

.minimal-visual-card{
  min-height:330px;
}

@media (max-width:760px){
  .hero-home-clean,
  .auth-clean{
    padding-top:62px;
    padding-bottom:64px;
  }

  .auth-clean .form-card{
    margin-top:42px;
  }

  .status-spacing-fix,
  .page-spacing-fix{
    padding-top:42px;
  }
}


/* Header final navigation */
.spaced-after-header{
  margin-top:76px;
}

.page-hero.spaced-after-header{
  margin-top:82px;
  margin-bottom:64px;
}

.auth-clean.spaced-after-header{
  margin-top:82px;
}

.auth-clean .auth-panel{
  margin-bottom:0;
}

.request-access-page{
  padding-top:48px;
  padding-bottom:72px;
}

.request-access-page.spaced-after-header{
  margin-top:34px;
}

.request-access-page .auth-panel{
  padding:34px 38px;
  border-radius:22px;
  box-shadow:0 20px 52px rgba(9,19,31,.18);
}

.request-access-page .auth-panel h1{
  max-width:680px;
  margin-bottom:14px;
  font-size:clamp(2rem,3.1vw,3.15rem);
}

.request-access-page .auth-panel p{
  max-width:560px;
  font-size:1rem;
  line-height:1.6;
}

.request-access-page .auth-form{
  margin-top:34px;
  padding:28px;
  border-radius:20px;
}

.request-access-page .form-grid{
  gap:14px;
}

.request-access-page .form-actions{
  margin-top:26px;
}

.request-access-page .btn-primary{
  min-height:46px;
  padding:0 22px;
}

.header-inner{
  width:min(calc(100% - 32px),1320px);
  gap:58px;
}

.nav{
  justify-content:center;
  gap:24px;
}

.header-actions{
  justify-content:flex-end;
}

.inline-button{
  border:0;
  background:transparent;
  padding:0;
  color:#126b3a;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

.login-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.56);
  z-index:140;
  opacity:0;
  pointer-events:none;
  transition:.2s ease;
}

.login-modal{
  position:fixed;
  inset:0;
  z-index:150;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  pointer-events:none;
  transform:translateY(8px);
  transition:.22s ease;
}

.login-modal.is-open,
.login-modal-overlay.is-open{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

.login-modal-card{
  width:min(520px, 100%);
  border-radius:30px;
  background:#fff;
  border:1px solid #e6edf5;
  box-shadow:0 34px 90px rgba(15,23,42,.28);
  padding:34px;
  position:relative;
}

.login-modal-card h2{
  margin:12px 0 22px;
  color:#0f172a;
  font-family:Georgia, "Times New Roman", serif;
  font-size:2.1rem;
  line-height:1.05;
  letter-spacing:-.035em;
}

.login-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  color:#0f172a;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
}

.mobile-language-block{
  display:grid;
  gap:12px;
  padding:4px 2px 14px;
}

.mobile-language-block > span{
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.74rem;
  font-weight:850;
}

.mobile-language-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.mobile-language-options button{
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:16px;
  padding:10px 12px;
  font-weight:800;
  color:#0f172a;
  text-align:left;
}

.mobile-menu-separator{
  height:1px;
  background:#e6edf5;
  margin:4px 0 8px;
}

@media (max-width:1040px){
  .header-language{
    display:none;
  }

  .header-login{
    display:inline-flex;
  }
}

@media (max-width:640px){
  .spaced-after-header{
    margin-top:30px;
  }

  .brand small{
    display:none;
  }

  .header-login{
    padding:13px 16px;
    font-size:.92rem;
  }

  .login-modal{
    align-items:end;
    padding:14px;
  }

  .login-modal-card{
    border-radius:26px;
    padding:28px 22px;
  }

  .login-modal-card h2{
    font-size:1.8rem;
  }
}


.contact-container{
  width:min(calc(100% - 32px),1080px);
}

.contact-intro{
  padding:44px 0 28px;
}

.contact-intro.spaced-after-header{
  margin-top:34px;
}

.contact-intro .eyebrow{
  color:#126b3a;
  background:rgba(18,107,58,.08);
  border-color:rgba(18,107,58,.16);
}

.contact-intro h1{
  max-width:680px;
  margin:0 0 16px;
  color:#0f172a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3.2vw,3.35rem);
  font-weight:600;
  line-height:1.04;
  letter-spacing:-.045em;
}

.contact-intro p{
  max-width:650px;
  margin:0;
  color:#475569;
  font-size:1.04rem;
  line-height:1.65;
}

.contact-main{
  padding:14px 0 70px;
}

.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(430px,1fr);
  gap:28px;
  align-items:start;
}

.contact-copy-card{
  min-height:0;
  border:1px solid #e6edf5;
  background:#fff;
  border-radius:20px;
  padding:38px 40px;
  box-shadow:0 14px 38px rgba(15,23,42,.055);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:0;
}

.contact-copy-card .section-kicker{
  display:inline-flex;
  align-self:flex-start;
  margin:0 0 20px;
}

.contact-copy-card h2{
  margin:0 0 18px;
  color:#0f172a;
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:1.08rem;
  line-height:1.25;
  letter-spacing:-.018em;
  font-weight:800;
}

.contact-copy-card p{
  margin:0 0 28px;
  color:#475569;
  line-height:1.78;
  font-size:.97rem;
  max-width:44ch;
}

.contact-brand-card{
  margin-top:6px;
  border-radius:14px;
  background:linear-gradient(180deg,#f9fbfd 0%,#f3f7fb 100%);
  border:1px solid #dfe8f1;
  padding:18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.contact-brand-card strong{
  color:#0f172a;
  font-size:.98rem;
  line-height:1.2;
}

.contact-brand-card span{
  color:#64748b;
  font-size:.9rem;
  line-height:1.35;
}

.contact-brand-card p{
  margin:0;
  color:#334155;
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:.82rem;
  font-weight:800;
  line-height:1.35;
  text-align:right;
  white-space:nowrap;
}

.contact-form-card{
  border-radius:20px;
  padding:28px;
  box-shadow:0 14px 38px rgba(15,23,42,.055);
}

.contact-form-card h3{
  margin-bottom:18px;
  font-size:1.12rem;
}

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

  .contact-copy-card{
    min-height:auto;
  }
}


/* Header button balance */
.header-actions{
  align-items:center;
  gap:10px;
}

.header-actions .language-button,
.header-actions .header-login{
  min-height:46px;
  border-radius:16px;
  padding:0 18px;
  font-size:.9rem;
  font-weight:850;
  letter-spacing:-.01em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}

.header-actions .language-button{
  width:156px;
  min-width:156px;
  border:1px solid #d8e3ef;
  background:#fff;
  color:#253246;
  box-shadow:0 10px 24px rgba(15,23,42,.07);
}

.header-actions .header-login{
  min-width:124px;
  border:1px solid #0f172a;
  background:#0f172a;
  color:#fff;
  box-shadow:0 12px 26px rgba(15,23,42,.14);
}

.header-actions .language-chevron{
  margin-left:8px;
  opacity:.72;
}

.header-actions .menu-toggle{
  min-height:52px;
  width:56px;
  border-radius:18px;
}

@media (max-width:1040px){
  .header-inner{
    justify-content:space-between;
    gap:18px;
  }

  .brand,
  .header-actions{
    flex:0 1 auto;
  }

  .header-actions{
    gap:10px;
  }

  .header-actions .header-login{
    display:inline-flex;
    min-width:auto;
    min-height:50px;
    padding:0 18px;
    border-radius:18px;
    font-size:.92rem;
  }

  .header-actions .language-button{
    min-height:50px;
  }
}

@media (max-width:520px){
  .header-inner{
    gap:12px;
  }

  .header-actions .header-login{
    min-height:46px;
    padding:0 14px;
    border-radius:16px;
    font-size:.86rem;
  }

  .header-actions .menu-toggle{
    min-height:46px;
    width:48px;
    border-radius:16px;
  }
}

@media (max-width:390px){
  .header-actions .header-login{
    padding:0 12px;
    font-size:.8rem;
  }
}


.home-model-wrap{
  padding:30px 0 28px;
}

.home-model-wrap .container,
.home-model-section .container,
.home-energy-focus .container,
.home-cta-section .container{
  width:min(calc(100% - 32px),1280px);
}

.home-model-hero{
  position:relative;
  overflow:hidden;
  border-radius:32px;
  background:
    radial-gradient(circle at 76% 26%, rgba(96,165,250,.16), transparent 26%),
    linear-gradient(135deg,#08131f 0%,#10243a 47%,#193a58 100%);
  box-shadow:0 28px 62px rgba(11,22,34,.22);
}

.home-model-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 82% 24%, rgba(255,255,255,.07), transparent 26%),
    radial-gradient(circle at 18% 85%, rgba(96,165,250,.12), transparent 30%),
    linear-gradient(110deg, transparent 0 48%, rgba(255,255,255,.055) 48% 49%, transparent 49% 100%),
    repeating-linear-gradient(155deg, rgba(255,255,255,.035) 0 1px, transparent 1px 30px);
  pointer-events:none;
}

.home-model-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:58px;
  align-items:center;
  min-height:640px;
  padding:84px 82px 88px;
}

.home-model-hero h1{
  margin:0 0 22px;
  color:#fff;
  font-size:4.25rem;
  line-height:1.02;
  letter-spacing:-.03em;
  max-width:15.5ch;
}

.home-model-hero p{
  margin:0;
  max-width:58ch;
  color:#d7e2ee;
  font-size:1.12rem;
  line-height:1.75;
}

.home-model-hero .hero-actions{
  margin-top:28px;
}

.home-model-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:34px;
}

.home-model-point{
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:#e2e8f0;
  font-size:.92rem;
}

.home-model-point strong{
  display:block;
  color:#fff;
  margin-bottom:4px;
  font-size:1rem;
}

.home-model-visual{
  display:flex;
  justify-content:center;
  align-self:stretch;
  align-items:center;
}

.home-dashboard-card{
  width:min(100%,500px);
  background:rgba(255,255,255,.98);
  border-radius:24px;
  padding:18px;
  box-shadow:0 22px 48px rgba(3,7,18,.24);
}

.home-dashboard-top,
.home-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:16px;
  gap:14px;
}

.home-dashboard-title{
  font-weight:850;
  color:#0f172a;
}

.home-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:#ecfdf3;
  color:#166534;
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
}

.home-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#22c55e;
}

.home-stat-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin-bottom:14px;
}

.home-stat{
  background:#f8fafc;
  border:1px solid #e8eef5;
  border-radius:18px;
  padding:16px;
}

.home-stat-label{
  color:#64748b;
  font-size:.84rem;
  margin-bottom:6px;
}

.home-stat-value{
  font-size:1.35rem;
  font-weight:850;
  color:#0f172a;
}

.home-chart-card{
  background:linear-gradient(180deg,#f8fbff 0%,#eef5fb 100%);
  border:1px solid #e6edf5;
  border-radius:18px;
  padding:18px;
}

.home-chart-title{
  font-size:.92rem;
  font-weight:800;
  margin-bottom:14px;
  color:#0f172a;
}

.home-bars{
  display:flex;
  align-items:flex-end;
  gap:10px;
  height:120px;
}

.home-bar{
  flex:1;
  border-radius:10px 10px 4px 4px;
  background:linear-gradient(180deg,#1d4ed8 0%,#60a5fa 100%);
}

.home-bar:nth-child(1){height:44%}
.home-bar:nth-child(2){height:62%}
.home-bar:nth-child(3){height:58%}
.home-bar:nth-child(4){height:76%}
.home-bar:nth-child(5){height:70%}
.home-bar:nth-child(6){height:88%}

.home-energy-abstract{
  position:relative;
  width:min(100%,590px);
  min-height:520px;
  overflow:hidden;
  border:1px solid rgba(219,234,254,.34);
  border-radius:28px;
  background:
    radial-gradient(circle at 68% 24%, rgba(226,240,255,.34), transparent 24%),
    radial-gradient(circle at 30% 78%, rgba(96,165,250,.22), transparent 28%),
    linear-gradient(135deg, rgba(8,17,29,.98) 0%, rgba(22,50,76,.94) 55%, rgba(101,139,173,.76) 100%),
    repeating-linear-gradient(155deg, rgba(255,255,255,.16) 0 1px, transparent 1px 24px);
  box-shadow:0 30px 66px rgba(3,7,18,.28);
}

.home-energy-abstract::before,
.home-energy-abstract::after{
  content:"";
  position:absolute;
  inset:auto -12% 18% -10%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(219,234,254,.86), transparent);
  transform:rotate(-12deg);
}

.home-energy-abstract::after{
  inset:auto -8% 48% -12%;
  opacity:.55;
}

.home-energy-abstract span{
  position:absolute;
  left:8%;
  right:4%;
  height:1px;
  background:rgba(219,234,254,.4);
  transform:rotate(-18deg);
}

.home-energy-abstract span:nth-child(1){top:24%}
.home-energy-abstract span:nth-child(2){top:48%}
.home-energy-abstract span:nth-child(3){top:72%}

.home-energy-abstract i{
  position:absolute;
  right:12%;
  top:16%;
  width:118px;
  height:118px;
  border:1px solid rgba(219,234,254,.5);
  border-radius:50%;
  background:rgba(255,255,255,.08);
}

.home-energy-abstract i::before,
.home-energy-abstract i::after{
  content:"";
  position:absolute;
  border-radius:50%;
  inset:-24px;
  border:1px solid rgba(219,234,254,.18);
}

.home-energy-abstract i::after{
  inset:28px auto auto -190px;
  width:240px;
  height:1px;
  border:0;
  border-radius:0;
  background:linear-gradient(90deg, transparent, rgba(219,234,254,.6));
  transform:rotate(-14deg);
}

.home-model-section{
  padding:78px 0 86px;
}

.home-model-section-head{
  max-width:760px;
  margin:0 auto 36px;
  text-align:center;
}

.home-model-section-head h2{
  margin:0 0 14px;
  font-size:2.65rem;
  line-height:1.12;
  letter-spacing:-.03em;
  color:#0f172a;
}

.home-model-section-head p{
  margin:0;
  color:#64748b;
  font-size:1.06rem;
  line-height:1.72;
}

.home-card-grid,
.home-trust-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.home-card,
.home-trust-card,
.home-panel{
  background:#fff;
  border:1px solid #e6edf5;
  border-radius:22px;
  padding:46px 42px;
  box-shadow:0 18px 38px rgba(15,23,42,.1);
  min-height:278px;
}

.home-icon-box{
  width:64px;
  height:64px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#ecfdf3;
  color:#166534;
  font-weight:850;
  margin-bottom:24px;
}

.home-card h3,
.home-trust-card h3{
  margin:0 0 10px;
  font-size:1.32rem;
  color:#0f172a;
}

.home-card p,
.home-trust-card p{
  margin:0;
  color:#64748b;
  font-size:1rem;
}

.home-client-band{
  padding:84px 0;
  background:linear-gradient(180deg,#f8fbff 0%,#eef4fa 100%);
}

.home-energy-focus{
  padding:80px 0;
  background:linear-gradient(180deg,#f8fbff 0%,#eef4fa 100%);
}

.home-energy-focus-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:52px;
  align-items:center;
  min-height:470px;
  padding:64px 68px;
  border:1px solid #e2eaf3;
  border-radius:30px;
  background:#fff;
  box-shadow:0 18px 44px rgba(15,23,42,.08);
}

.home-energy-focus-copy h2{
  margin:0 0 14px;
  color:#0f172a;
  font-family:var(--title-serif, Georgia, "Times New Roman", serif);
  font-size:2.65rem;
  line-height:1.06;
  letter-spacing:-.032em;
  font-weight:600;
}

.home-energy-focus-copy p{
  max-width:600px;
  margin:0;
  color:#475569;
  font-size:1.08rem;
  line-height:1.7;
}

.home-energy-editorial{
  position:relative;
  min-height:380px;
  overflow:hidden;
  border-radius:24px;
  border:1px solid #dbe7f2;
  background:
    radial-gradient(circle at 74% 20%, rgba(255,255,255,.68), transparent 20%),
    radial-gradient(circle at 24% 82%, rgba(96,165,250,.22), transparent 24%),
    repeating-linear-gradient(155deg, rgba(255,255,255,.1) 0 1px, transparent 1px 28px),
    linear-gradient(140deg,#0b1622 0%,#17344f 58%,#d7e7f4 100%);
}

.home-energy-editorial::before,
.home-energy-editorial::after{
  content:"";
  position:absolute;
  inset:20% -8% auto -18%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.78), transparent);
  transform:rotate(-16deg);
}

.home-energy-editorial::after{
  inset:auto -12% 24% -12%;
  opacity:.55;
  transform:rotate(-10deg);
}

.home-energy-editorial span{
  position:absolute;
  left:9%;
  right:6%;
  height:1px;
  background:rgba(219,234,254,.38);
  transform:rotate(-20deg);
}

.home-energy-editorial span:nth-child(1){top:35%}
.home-energy-editorial span:nth-child(2){top:53%}
.home-energy-editorial span:nth-child(3){top:71%}

.home-energy-editorial i{
  position:absolute;
  right:12%;
  bottom:12%;
  width:86px;
  height:86px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.44);
  background:rgba(255,255,255,.1);
}

.home-client-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
  align-items:center;
}

.home-panel-title{
  margin:0 0 10px;
  font-size:1.35rem;
  color:#0f172a;
}

.home-panel-lead{
  margin:0;
  color:#64748b;
}

.home-mini-stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin:18px 0 20px;
}

.home-mini-stat{
  border:1px solid #e8eef5;
  background:#f8fafc;
  border-radius:16px;
  padding:16px;
  color:#64748b;
}

.home-mini-stat strong{
  display:block;
  font-size:1.15rem;
  margin-bottom:6px;
  color:#0f172a;
}

.home-snapshot-title{
  font-size:1.05rem;
}

.home-panel-stats{
  margin-bottom:18px;
}

.home-service-list{
  display:grid;
  gap:12px;
}

.home-service-row{
  display:flex;
  justify-content:space-between;
  padding:12px 14px;
  background:#fff;
  border:1px solid #e6edf5;
  border-radius:14px;
  gap:14px;
}

.home-model-cta{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#0b1622 0%,#17344f 100%);
  color:#fff;
  border-radius:30px;
  min-height:230px;
  padding:72px 66px;
  box-shadow:0 28px 60px rgba(11,22,34,.22);
}

.home-model-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 82% 28%, rgba(255,255,255,.08), transparent 24%),
    repeating-linear-gradient(150deg, rgba(255,255,255,.055) 0 1px, transparent 1px 28px);
  pointer-events:none;
}

.home-model-cta > *{
  position:relative;
  z-index:1;
}

.home-model-cta h2{
  margin:0 0 14px;
  font-size:2.65rem;
  line-height:1.1;
}

.home-model-cta p{
  margin:0;
  color:#cad7e5;
  max-width:56ch;
}

.home-cta-section{
  padding:74px 0 88px;
}

@media (max-width:1080px){
  .home-model-hero-grid,
  .home-energy-focus-grid,
  .home-client-grid{
    grid-template-columns:1fr;
  }

  .home-card-grid,
  .home-trust-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .home-model-hero h1{
    max-width:none;
    font-size:3rem;
  }

  .home-model-hero-grid{
    min-height:auto;
    padding:52px 42px 56px;
  }
}

@media (max-width:720px){
  .home-model-wrap{
    padding:16px 0 24px;
  }

  .home-model-hero-grid{
    padding:28px 22px 32px;
    gap:26px;
  }

  .home-model-hero h1{
    font-size:2.35rem;
  }

  .home-model-hero p{
    font-size:1rem;
  }

  .home-model-points,
  .home-card-grid,
  .home-trust-grid,
  .home-stat-grid,
  .home-mini-stats{
    grid-template-columns:1fr;
  }

  .home-model-section-head h2,
  .home-model-cta h2{
    font-size:1.9rem;
  }

  .home-model-section,
  .home-client-band,
  .home-energy-focus,
  .home-cta-section{
    padding:64px 0;
  }

  .home-model-cta{
    padding:36px 22px;
    border-radius:24px;
  }

  .home-card{
    min-height:auto;
    padding:28px 24px;
  }

  .home-energy-focus-grid{
    padding:26px 22px;
    border-radius:24px;
  }

  .home-energy-focus-copy h2{
    font-size:2rem;
  }

  .home-energy-editorial,
  .home-energy-abstract{
    min-height:280px;
  }
}


/* Page review: typography and restored density */
:root{--title-serif: Georgia, "Times New Roman", serif;}
h1{font-weight:600;}
.page-hero h1,.auth-panel h1,.home-model-hero h1,.home-model-cta h2{font-family:var(--title-serif);font-weight:600;letter-spacing:-.04em;}
.section-head h2,.compact-head h2,.company-panel h2,.energy-visual-card h2,.contact-copy-card h2,.form-card h2{font-family:var(--title-serif);font-weight:600;letter-spacing:-.032em;}
.feature-card h3,.home-card h3,.home-trust-card h3,.form-card h3,.dashboard-card h3,.home-panel-title,.card-title,.panel-title{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-weight:750;letter-spacing:-.018em;}
.feature-card p,.home-card p,.home-trust-card p{line-height:1.7;}.compact-head{margin-bottom:34px;}.company-band,.energy-visual-section{padding:82px 0;}
.company-panel-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch;}.company-panel{background:#fff;border:1px solid #e6edf5;border-radius:30px;padding:34px;box-shadow:0 18px 48px rgba(15,23,42,.07);}.company-panel h2,.energy-visual-card h2{margin:10px 0 12px;font-size:2.2rem;line-height:1.08;}.company-panel p,.energy-visual-card p{margin:0;color:#64748b;line-height:1.75;}.company-panel-dark{background:linear-gradient(135deg,#0b1622 0%,#17344f 100%);color:#fff;display:grid;align-content:center;gap:10px;}.company-panel-dark span{color:#d7e2ee;font-weight:700;}.company-panel-dark strong{font-family:var(--title-serif);font-size:2.1rem;line-height:1.08;letter-spacing:-.035em;font-weight:600;}
.energy-visual-card{background:linear-gradient(135deg,#0b1622 0%,#17344f 100%);color:#fff;border-radius:32px;padding:42px;box-shadow:0 28px 60px rgba(11,22,34,.20);display:grid;grid-template-columns:1fr .9fr;gap:30px;align-items:center;}.energy-visual-card p{color:#cad7e5;}.energy-bars{display:flex;align-items:flex-end;gap:14px;min-height:180px;padding:22px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);}.energy-bars span{flex:1;border-radius:14px 14px 6px 6px;background:linear-gradient(180deg,#ecfdf3 0%,#22c55e 100%);opacity:.9;}.energy-bars span:nth-child(1){height:48%}.energy-bars span:nth-child(2){height:68%}.energy-bars span:nth-child(3){height:86%}.energy-bars span:nth-child(4){height:60%}
.contact-detail-list{display:grid;gap:14px;}.contact-detail-list div{border-radius:22px;background:#f8fafc;border:1px solid #e6edf5;padding:18px 20px;display:grid;gap:4px;}.contact-detail-list strong{color:#0f172a;font-size:1.02rem;font-weight:750;}.contact-detail-list span{color:#64748b;}.auth-grid-restored{align-items:stretch;}.auth-panel-simple{display:flex;flex-direction:column;justify-content:space-between;gap:28px;}.auth-side-card{border-radius:24px;background:#fff;border:1px solid #e6edf5;box-shadow:0 18px 48px rgba(15,23,42,.06);padding:22px;display:grid;gap:4px;}.auth-side-card strong{color:#0f172a;font-weight:800;}.auth-side-card span{color:#64748b;}
@media (max-width:900px){.company-panel-grid,.energy-visual-card{grid-template-columns:1fr;}.company-panel h2,.energy-visual-card h2,.contact-copy-card h2{font-size:1.9rem;}}
.home-model-section-head h2,.page-hero h1,.auth-panel h1{font-weight:600 !important;}.home-card h3,.home-trust-card h3,.feature-card h3,.form-card h3{font-weight:750 !important;}


/* Support page */
.support-hero{
  width:min(calc(100% - 32px),1080px);
  padding:38px 0;
  border-radius:22px;
  box-shadow:0 20px 52px rgba(9,19,31,.18);
}

.support-hero.spaced-after-header{
  margin-top:34px;
  margin-bottom:28px;
}

.support-hero .container{
  width:min(calc(100% - 72px),980px);
}

.support-hero h1{
  margin-bottom:14px;
  font-size:clamp(2rem,3.3vw,3.1rem);
  line-height:1.04;
}

.support-hero p{
  max-width:650px;
  font-size:1rem;
  line-height:1.6;
}

.support-section{
  padding-top:0;
  padding-bottom:68px;
}

.support-layout{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:22px;
  align-items:stretch;
}

.support-copy-card{
  border:1px solid #e6edf5;
  background:#fff;
  border-radius:20px;
  padding:28px;
  box-shadow:0 14px 38px rgba(15,23,42,.055);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:24px;
}

.support-copy-card h2{
  margin:10px 0 12px;
  color:#0f172a;
  font-family:var(--title-serif, Georgia, "Times New Roman", serif);
  font-size:1.82rem;
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:600;
}

.support-copy-card p{
  margin:0;
  color:#475569;
  line-height:1.65;
  font-size:1rem;
}

.support-detail-list{
  display:grid;
  gap:10px;
}

.support-detail-list div{
  border-radius:16px;
  background:#f8fafc;
  border:1px solid #e6edf5;
  padding:14px 16px;
  display:grid;
  gap:5px;
}

.support-detail-list strong{
  color:#0f172a;
  font-weight:750;
}

.support-detail-list a{
  color:#166534;
  font-weight:750;
}

.support-card-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.support-card-grid .feature-card{
  min-height:auto;
  padding:22px 24px;
  border-radius:18px;
  box-shadow:0 12px 32px rgba(15,23,42,.045);
}

.support-card-grid .feature-card h3{
  margin-bottom:8px;
}

.support-card-grid .feature-card p{
  line-height:1.6;
}

.contact-copy-card h2{
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:1.2rem;
  line-height:1.22;
  letter-spacing:-.018em;
  font-weight:800;
}

.contact-brand-card p{
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:#475569;
  font-size:.94rem;
  font-weight:700;
  line-height:1.35;
}

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


/* Footer restored + subscribe */
.footer-grid-with-subscribe{
  grid-template-columns:1.25fr .75fr .85fr 1.15fr;
}

.footer-subscribe p{
  margin:0 0 14px;
  color:#94a3b8;
}

.footer-subscribe-form{
  display:grid;
  gap:10px;
}

.footer-subscribe-form input{
  width:100%;
  min-height:48px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
  padding:0 14px;
  outline:none;
}

.footer-subscribe-form input::placeholder{
  color:#94a3b8;
}

.footer-subscribe-form input:focus{
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.08);
}

.footer-subscribe-form .btn{
  min-height:48px;
  width:100%;
}

.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;
}

@media (max-width:1080px){
  .footer-grid-with-subscribe{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:640px){
  .footer-grid-with-subscribe{
    grid-template-columns:1fr;
  }
}


/* Footer complete restored */
.site-footer{
  margin-top:72px;
  padding:56px 0 24px;
  background:#0f172a;
  color:#e2e8f0;
}

.footer-grid-complete{
  display:grid;
  grid-template-columns:1.35fr .85fr .9fr 1.15fr;
  gap:28px;
  align-items:start;
}

.footer-brand-link{
  color:#fff;
}

.footer-brand-link small{
  color:#94a3b8;
}

.site-footer h3{
  margin:0 0 14px;
  font-size:.95rem;
  color:#ffffff;
  letter-spacing:-.01em;
}

.site-footer p{
  margin:12px 0 0;
  color:#94a3b8;
  font-size:.95rem;
  line-height:1.7;
  max-width:34ch;
}

.site-footer ul{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.site-footer li{
  margin:0;
  padding:0;
}

.site-footer a,
.footer-text-button{
  color:#cbd5e1;
  font-size:.95rem;
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
  text-align:left;
}

.site-footer a:hover,
.footer-text-button:hover{
  color:#ffffff;
}

.footer-subscribe-inline{
  margin-top:22px;
  display:grid;
  gap:10px;
}

.footer-subscribe-inline label{
  color:#ffffff;
  font-size:.95rem;
  font-weight:700;
}

.footer-subscribe-row{
  display:flex;
  gap:8px;
  align-items:center;
}

.footer-subscribe-row input{
  min-width:0;
  flex:1;
  min-height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
  padding:0 12px;
  outline:none;
  font-size:.92rem;
}

.footer-subscribe-row input::placeholder{
  color:#94a3b8;
}

.footer-subscribe-row input:focus{
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.08);
}

.footer-subscribe-row button{
  min-height:44px;
  border:0;
  border-radius:12px;
  background:#15803d;
  color:#fff;
  padding:0 14px;
  font-weight:750;
  cursor:pointer;
}

.footer-subscribe-row button:hover{
  background:#166534;
}

.footer-bottom{
  margin-top:32px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  color:#94a3b8;
  font-size:.88rem;
}

@media (max-width:1080px){
  .footer-grid-complete{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:640px){
  .footer-grid-complete{
    grid-template-columns:1fr;
  }

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  .footer-subscribe-row{
    flex-direction:column;
    align-items:stretch;
  }

  .footer-subscribe-row button{
    width:100%;
  }
}


.split-section{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:28px;
  align-items:start;
}

.split-section h1,
.legal-layout h1{
  margin:8px 0 14px;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1.05;
}

.split-section p,
.legal-layout p{
  max-width:720px;
  color:var(--muted);
  font-size:1.04rem;
}

.info-panel,
.legal-copy{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow);
  padding:28px;
}

.info-panel h2,
.legal-copy h2{
  margin:0 0 12px;
  font-size:1.2rem;
}

.check-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}

.check-list li{
  position:relative;
  padding-left:22px;
  color:#334155;
}

.check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
}

.legal-layout{
  max-width:940px;
}

.legal-copy{
  margin-top:28px;
  display:grid;
  gap:18px;
}

.legal-copy p{
  margin:0;
}

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