/* SplashDate contractor profile styles */
/* HERO */
.profile-hero{
  position:relative;
  min-height:480px;
  overflow:hidden;
  isolation:isolate;
  background:var(--navy);
}
.hero-photo{position:absolute;inset:0;z-index:-3}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 52%}
.profile-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(180deg,rgba(3,28,52,.55) 20%,rgba(4,42,76,.30) 70%,rgba(3,28,52,.60));
}
.hero-content{
  display:flex;
  flex-direction:column;
  gap:24px;
  padding:48px 0;
  color:#fff;
}
.hero-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
}
.eyebrow{
  margin-bottom:9px;
  color:var(--sky);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-title{margin:0;font-size:clamp(34px,4.6vw,56px);line-height:.98;letter-spacing:-.055em}
.license-line{margin-top:12px;font-size:15px;color:rgba(255,255,255,.88)}
.license-line strong{color:#fff}
/* HERO BADGE & COMPARISON */
.hero-showcase{
  display:grid;
  grid-template-columns: 1fr 1.3fr;
  gap:24px;
  margin-top:12px;
}
.hero-splash-card{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(10px);
  padding:32px;
  border-radius:20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-splash-card span{display:block;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--sky)}
.hero-splash-card strong{display:block;margin:8px 0 4px;font-size:64px;line-height:1;font-weight:900;letter-spacing:-.04em}
.hero-splash-card p{margin:0;font-size:15px;color:rgba(255,255,255,.85);line-height:1.5}
.hero-comparison-card{
  background:linear-gradient(135deg, rgba(20,120,189,0.3) 0%, rgba(35,143,210,0.1) 100%);
  border:1px solid var(--sky);
  backdrop-filter:blur(10px);
  padding:32px;
  border-radius:20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-comparison-card .comp-eyebrow{
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--sky);
}
.hero-comparison-card .huge-stat{
  font-size:52px;
  font-weight:950;
  color:#fff;
  line-height:1.1;
  margin:10px 0;
  letter-spacing:-.04em;
}
.hero-comparison-card .huge-stat span{
  color: var(--sky);
}
.hero-comparison-card p{
  margin:0;
  font-size:15px;
  color:rgba(255,255,255,.9);
  line-height:1.55;
}
/* MAIN & GRID REFINEMENTS */
main{padding:58px 0 80px}
.profile-layout{
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  align-items: start;
}
.section{margin-top:64px}
.section:first-child{margin-top:0}
.section-kicker{margin-bottom:7px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.section h2{margin:0 0 14px;font-size:clamp(30px,3.3vw,46px);line-height:1.03;letter-spacing:-.05em}
.section-lead{max-width:820px;margin:0;color:var(--muted);font-size:18px;line-height:1.65}
.snapshot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.metric-card{
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 34px rgba(2,35,65,.07);
}
.metric-card .label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.metric-card .value{margin:8px 0 6px;color:var(--navy);font-size:35px;line-height:1;font-weight:900;letter-spacing:-.04em}
.metric-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:stretch}
.story-card,.data-card{
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 14px 38px rgba(2,35,65,.07);
}
.story-card h3,.data-card h3{margin:0 0 12px;font-size:24px;letter-spacing:-.035em}
.story-card p,.data-card p{margin:0;color:var(--muted);line-height:1.7}
.big-callout{
  margin-top:22px;
  padding:22px;
  border-radius:16px;
  background:linear-gradient(180deg,#effaff,#dff3ff);
}
.big-callout .big{font-size:44px;font-weight:900;line-height:1;color:var(--navy)}
.big-callout .sub{margin-top:8px;color:var(--muted);font-size:14px;line-height:1.5}
.timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.timeline-step{padding:22px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.timeline-step .num{color:var(--blue);font-size:34px;font-weight:900;line-height:1}
.timeline-step .title{margin-top:7px;font-weight:900}
.timeline-step p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.activity-card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 38px rgba(2,35,65,.07)}
.bars{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;align-items:end;margin-top:30px;min-height:270px}
.bar-col{text-align:center;display:flex;flex-direction:column;justify-content:flex-end;height:270px}
.bar-value{font-size:13px;font-weight:900;margin-bottom:7px}
.bar-wrap{height:210px;display:flex;align-items:flex-end;justify-content:center}
.bar{width:min(54px,70%);background:linear-gradient(180deg,var(--blue-2),var(--navy));border-radius:8px 8px 3px 3px;min-height:8px}
.bar-year{margin-top:8px;color:var(--muted);font-size:12px;font-weight:800}
.chart-note{margin-top:18px;color:var(--muted);font-size:13px;line-height:1.55}
.split-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.compare-box{padding:28px;background:var(--navy);color:#fff;border-radius:20px}
.compare-box.light{background:#fff;color:var(--ink);border:1px solid var(--line)}
.compare-box .mini{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--sky)}
.compare-box.light .mini{color:var(--blue)}
.compare-box .compare-value{margin:10px 0;font-size:42px;font-weight:900;letter-spacing:-.045em}
.compare-box p{margin:0;color:rgba(255,255,255,.78);line-height:1.55}
.compare-box.light p{color:var(--muted)}
.context-list{display:grid;gap:14px;margin-top:22px}
.context-item{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.context-item:last-child{border-bottom:0}
.context-item strong{color:var(--navy)}
.context-item span{color:var(--muted);line-height:1.55}
.disclaimer{
  margin-top:64px;
  padding:30px;
  background:var(--navy-deep);
  color:#fff;
  border-radius:22px;
}
.disclaimer h2{margin:0 0 12px;font-size:30px;letter-spacing:-.04em}
.disclaimer p{margin:0;color:rgba(255,255,255,.8);line-height:1.7}
.cta-box{
  margin-top:64px;
  padding:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border-radius:24px;
  background:linear-gradient(135deg,#0b67a8,#06294a);
  color:#fff;
}
.cta-box h2{margin:0 0 8px;font-size:34px;letter-spacing:-.045em}
.cta-box p{margin:0;color:rgba(255,255,255,.82);line-height:1.6}
/* CONTRACTOR SPLASHDATE CALCULATOR */
.sidebar-calculator .sidebar-head{
  background:linear-gradient(135deg,var(--blue),var(--navy));
}
.sidebar-calc-label{
  display:block;
  margin-bottom:8px;
  color:var(--navy);
  font-size:13px;
  font-weight:800;
}
.sidebar-calc-input{
  width:100%;
  min-width:0;
  height:48px;
  padding:0 12px;
  border:1px solid #a8cadc;
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  outline:none;
}
.sidebar-calc-input:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(20,120,189,.12);
}
.sidebar-calc-result{
  margin-top:18px;
  padding:20px 16px;
  text-align:center;
  border-radius:14px;
  background:linear-gradient(180deg,#effaff 0%,#dff3ff 100%);
}
.sidebar-calc-kicker{
  color:var(--blue);
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.sidebar-calc-date{
  margin:8px 0 7px;
  color:var(--navy);
  font-size:28px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.035em;
}
.sidebar-calc-copy{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.sidebar-calc-copy strong{
  color:var(--navy);
}
.sidebar-calc-note{
  margin:14px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
  text-align:center;
}
/* SIDEBAR REFINEMENTS */
.profile-sidebar{
  display: grid;
  gap: 28px;
}
.sidebar-card{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 34px rgba(2,35,65,.05);
}
.sidebar-head{
  background: var(--navy);
  color: #fff;
  padding: 20px 24px;
}
.sidebar-head h3{
  margin: 0;
  font-size: 18px;
  letter-spacing: -.02em;
}
.sidebar-body{
  padding: 24px;
}
.quick-stat{
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.quick-stat:last-child{
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.quick-stat span{
  display: block;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--muted);
  letter-spacing: .05em;
}
.quick-stat strong{
  display: block;
  font-size: 28px;
  color: var(--navy);
  margin: 4px 0;
  font-weight: 900;
}
.quick-stat small{
  display: block;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
}
.comparable-list{
  display: grid;
  gap: 16px;
}
.comparable-link{
  display: block;
  padding: 14px;
  border-radius: 10px;
  background: var(--soft);
  border: 1px solid transparent;
  transition: all 0.2s ease;
}
.comparable-link:hover{
  border-color: var(--sky);
  background: #fff;
  box-shadow: 0 8px 20px rgba(2,35,65,.05);
}
.comparable-link strong{
  display: block;
  color: var(--navy);
  font-size: 14px;
  margin-bottom: 4px;
}
.comparable-link span{
  display: block;
  font-size: 12px;
  color: var(--muted);
}

@media(max-width:950px){
  .snapshot-grid{grid-template-columns:repeat(2,1fr)}
  .story-grid,.split-stats{grid-template-columns:1fr}
  .hero-showcase{grid-template-columns:1fr}
  .profile-layout{grid-template-columns:1fr}
}
@media(max-width:720px){
  .profile-hero,.hero-content{min-height:300px}
  .hero-content{padding:34px 0}
  .hero-title{font-size:39px}
  main{padding-top:38px}
  .snapshot-grid{grid-template-columns:1fr}
  .timeline-grid{grid-template-columns:1fr}
  .bars{gap:6px;min-height:235px}
  .bar-col{height:235px}
  .bar-wrap{height:180px}
  .bar{width:72%}
  .bar-year{font-size:10px}
  .context-item{grid-template-columns:1fr;gap:6px}
  .cta-box{padding:28px;align-items:flex-start;flex-direction:column}
}
