*{box-sizing:border-box}
:root{--bg:#eef3f8;--card:rgba(255,255,255,.92);--text:#0f172a;--muted:#64748b;--line:rgba(15,23,42,.08)}
body{margin:0;min-height:100vh;font-family:Inter,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(59,130,246,.18),transparent 35%),radial-gradient(circle at bottom right,rgba(124,58,237,.16),transparent 35%),var(--bg)}
a{color:inherit;text-decoration:none}
.page{min-height:100vh;display:grid;place-items:center;padding:24px 14px}
.inner-page{align-items:start}
.profile-card{width:min(100%,560px);padding:34px 26px 24px;text-align:center;border-radius:30px;background:var(--card);border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(22px);box-shadow:0 30px 80px rgba(15,23,42,.14)}
.wide-card{width:min(100%,880px)}
.profile-photo{width:110px;height:110px;margin:0 auto 20px;border-radius:30px;overflow:hidden;border:4px solid #fff;box-shadow:0 18px 40px rgba(15,23,42,.16)}
.profile-photo img{width:100%;height:100%;object-fit:cover}
h1{margin:0;font-size:clamp(1.8rem,7vw,2.7rem);line-height:1.12;letter-spacing:-.045em}
.subtitle{margin:12px auto 0;color:var(--muted);font-size:.95rem;font-weight:600;line-height:1.6}
.button-list{display:grid;gap:14px;margin-top:30px}
.main-button{display:flex;align-items:center;gap:14px;padding:15px;text-align:left;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(15,23,42,.05);transition:.2s}
.main-button:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,42,.1)}
.button-icon{width:52px;height:52px;flex:0 0 auto;display:grid;place-items:center;border-radius:17px}
.button-icon svg{width:23px;height:23px}.insurance{color:#1d4ed8;background:#dbeafe}.simulation{color:#0f766e;background:#ccfbf1}.class{color:#7c3aed;background:#ede9fe}.book{color:#ea580c;background:#ffedd5}
.button-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.button-text small{color:var(--muted);font-size:.78rem;line-height:1.45}.arrow{width:18px;height:18px;color:var(--muted)}
.page-header{position:relative;display:flex;justify-content:center;padding:2px 52px 26px;text-align:center}
.back-button{position:absolute;left:0;top:0;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(15,23,42,.07)}
.eyebrow{margin:3px 0 8px;color:#2563eb;font-size:.72rem;font-weight:800;letter-spacing:.16em}.page-intro{margin:10px 0 0;color:var(--muted);line-height:1.6}
.badge{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:.72rem;font-weight:800}.blue-badge{color:#1d4ed8;background:#dbeafe}.orange-badge{color:#ea580c;background:#ffedd5}
.primary-button{min-height:54px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#0f172a,#2563eb);font-weight:800;box-shadow:0 14px 30px rgba(37,99,235,.22)}
footer{margin-top:28px;color:var(--muted);font-size:.78rem}
@media(max-width:480px){.profile-card{padding:28px 16px 22px;border-radius:25px}.main-button{padding:13px}.button-icon{width:48px;height:48px}.page-header{padding-inline:46px}}

.consultation-page{
  max-width:900px;
  margin:0 auto;
}
.consultation-header{
  align-items:flex-start;
}
.consultation-header>div{
  flex:1;
}
.consultation-group{
  margin-top:24px;
  padding:22px;
  border-radius:24px;
  background:#fff;
  border:1px solid #e2e8f0;
  box-shadow:0 14px 35px rgba(15,23,42,.06);
}
.consultation-group-heading{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}
.consultation-group-heading h2{
  margin:0;
  color:#0f172a;
  font-size:1.15rem;
}
.consultation-group-heading p{
  margin:4px 0 0;
  color:#64748b;
  font-size:.82rem;
  line-height:1.5;
}
.consultation-group-icon{
  width:48px;
  height:48px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:15px;
}
.consultation-group-icon svg{
  width:23px;
  height:23px;
}
.protection-group-icon{
  color:#1d4ed8;
  background:#dbeafe;
}
.planning-group-icon{
  color:#047857;
  background:#d1fae5;
}
.consultation-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.consultation-card{
  min-height:126px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  padding:18px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:inherit;
  text-decoration:none;
  transition:.2s ease;
}
.consultation-card:hover{
  transform:translateY(-3px);
  border-color:#93c5fd;
  box-shadow:0 12px 26px rgba(15,23,42,.08);
}
.consultation-card>svg{
  width:18px;
  height:18px;
  color:#64748b;
}
.consultation-card h3{
  margin:0;
  color:#0f172a;
  font-size:.98rem;
}
.consultation-card p{
  margin:6px 0 0;
  color:#64748b;
  font-size:.78rem;
  line-height:1.55;
}
.consultation-card-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
}
.consultation-card-icon svg{
  width:21px;
  height:21px;
}
.life-card-icon{background:#dbeafe;color:#1d4ed8}
.critical-card-icon{background:#fee2e2;color:#dc2626}
.health-card-icon{background:#dcfce7;color:#15803d}
.review-card-icon{background:#ede9fe;color:#7c3aed}
.checkup-card-icon{background:#cffafe;color:#0e7490}
.education-card-icon{background:#ffedd5;color:#c2410c}
.emergency-card-icon{background:#fef3c7;color:#a16207}
.retirement-card-icon{background:#ccfbf1;color:#0f766e}
@media(max-width:700px){
  .consultation-grid{
    grid-template-columns:1fr;
  }
  .consultation-group{
    padding:17px;
  }
}

.consultation-card-icon{
  flex:0 0 auto;
}
.consultation-card-icon svg,
.consultation-group-icon svg,
.consultation-cta-button svg{
  display:block;
  width:22px;
  height:22px;
  stroke:currentColor;
  stroke-width:2;
}
.consultation-cta{
  margin-top:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:26px 28px;
  border-radius:24px;
  background:linear-gradient(135deg,#14264f,#2f61db);
  color:#fff;
  box-shadow:0 18px 35px rgba(37,99,235,.18);
}
.consultation-cta-copy span{
  display:block;
  margin-bottom:8px;
  color:#dbeafe;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.12em;
}
.consultation-cta-copy h2{
  margin:0;
  font-size:1.25rem;
  line-height:1.35;
}
.consultation-cta-button{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex:0 0 auto;
  padding:13px 20px;
  border-radius:16px;
  background:#fff;
  color:#0f172a;
  text-decoration:none;
  font-weight:900;
}
.consultation-cta-button:hover{
  transform:translateY(-2px);
}
@media(max-width:700px){
  .consultation-cta{
    align-items:stretch;
    flex-direction:column;
    padding:22px;
  }
  .consultation-cta-button{
    width:100%;
  }
}

/* Footer CTA universal */
.universal-footer-cta{
  margin-top:28px;
  margin-bottom:18px;
}
.page-footer{
  padding:10px 0 4px;
  text-align:center;
  color:#64748b;
  font-size:.8rem;
}

/* Make CTA exact and clean */
.consultation-cta-copy p{
  display:none!important;
}
.consultation-cta-copy h2{
  max-width:560px;
}
.consultation-cta-button{
  white-space:nowrap;
}

/* Eye-catching premium benefits */
.premium-benefit{
  position:relative;
  display:flex;
  align-items:center;
  gap:9px;
  margin:10px 0!important;
  padding:11px 12px;
  border-radius:13px;
  background:linear-gradient(135deg,#eff6ff,#eef2ff);
  border:1px solid #bfdbfe;
  color:#1e3a8a;
  list-style:none!important;
  box-shadow:0 6px 16px rgba(37,99,235,.08);
}
.premium-benefit::before{
  content:none!important;
}
.premium-benefit-icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:9px;
  background:#fff;
  box-shadow:0 4px 10px rgba(15,23,42,.08);
}
.premium-benefit strong{
  flex:1;
  color:#1e3a8a;
}
.premium-badge{
  padding:4px 7px;
  border-radius:999px;
  background:#2563eb;
  color:#fff;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.05em;
}
@media(max-width:700px){
  .premium-benefit{
    gap:8px;
    padding:10px;
  }
  .premium-badge{
    font-size:.56rem;
  }
}

/* MOBILE SAFE OPTIMIZATION */
*,
*::before,
*::after{box-sizing:border-box}

html,
body{
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}

body{
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
}

img,
svg,
video{max-width:100%;height:auto}

input,
select,
textarea{
  max-width:100%;
  font-size:16px;
}

button,
a{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.page-footer{
  padding-bottom:calc(12px + env(safe-area-inset-bottom));
}

@media(max-width:700px){
  .page,
  .page-shell,
  .inner-page{
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    padding-left:14px;
    padding-right:14px;
  }

  .page-header h1{
    font-size:1.65rem;
    line-height:1.15;
  }

  .back-button,
  .consultation-cta-button{
    min-height:48px;
  }

  .consultation-cta{
    flex-direction:column;
    align-items:stretch;
    padding:20px 18px;
    border-radius:20px;
  }

  .consultation-cta-button{
    width:100%;
    justify-content:center;
  }

  .premium-benefit{
    max-width:100%;
  }
}

@media(max-width:360px){
  .page,
  .page-shell,
  .inner-page{
    padding-left:11px;
    padding-right:11px;
  }

  .page-header h1{
    font-size:1.42rem;
  }
}

/* Consultation final layout */
.consultation-choice-card{
  background:linear-gradient(135deg,#15264f,#3563dd);
  border-color:transparent;
  color:#fff;
}
.consultation-choice-card:hover{
  border-color:transparent;
  box-shadow:0 14px 28px rgba(37,99,235,.20);
}
.consultation-choice-card h3{
  color:#fff;
  line-height:1.35;
}
.consultation-choice-card>svg{
  color:#dbeafe;
}
.choice-card-icon{
  background:rgba(255,255,255,.16);
  color:#fff;
}
.choice-eyebrow{
  display:block;
  margin-bottom:5px;
  color:#bfdbfe;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.09em;
}
@media(max-width:700px){
  .consultation-choice-card{
    min-height:108px!important;
  }
}

/* HOMEPAGE SERVICE GROUPS */
.homepage-groups{
  display:grid;
  gap:18px;
  margin-top:30px;
  text-align:left;
}
.homepage-group{
  padding:18px;
  border-radius:24px;
  background:rgba(248,250,252,.86);
  border:1px solid rgba(148,163,184,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
}
.homepage-group-heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.homepage-group-icon{
  width:45px;
  height:45px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:15px;
}
.homepage-group-icon svg{
  width:21px;
  height:21px;
}
.finance-group-icon{
  color:#1d4ed8;
  background:linear-gradient(135deg,#dbeafe,#e0e7ff);
}
.education-group-icon{
  color:#7c3aed;
  background:linear-gradient(135deg,#ede9fe,#fae8ff);
}
.homepage-group-kicker{
  margin:0 0 3px;
  color:#94a3b8;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.14em;
}
.homepage-group-heading h2{
  margin:0;
  color:#0f172a;
  font-size:1rem;
  line-height:1.3;
  letter-spacing:-.02em;
}
.grouped-button-list{
  gap:11px;
  margin-top:0;
}
.homepage-group .main-button{
  padding:13px;
  border-radius:18px;
}
.homepage-group .button-icon{
  width:48px;
  height:48px;
  border-radius:15px;
}
.status{
  color:#0369a1;
  background:#e0f2fe;
}
@media(max-width:480px){
  .homepage-groups{
    margin-top:26px;
    gap:14px;
  }
  .homepage-group{
    padding:14px;
    border-radius:21px;
  }
  .homepage-group-heading{
    margin-bottom:12px;
  }
  .homepage-group .main-button{
    padding:12px;
  }
  .homepage-group .button-icon{
    width:45px;
    height:45px;
  }
  .homepage-group .button-text strong{
    font-size:.88rem;
    line-height:1.35;
  }
}
