/* Page-specific styles for tax-preparation-guide.html. Shared site styles live in main.css. */

.guide-hero.hero--composed::before{
  border-color:rgba(195,150,76,.16);
}

.guide-hero.hero--composed{
  align-items:flex-start;
  min-height:auto;
}

.guide-hero .hero__inner{
  grid-template-columns:1fr;
  width:min(var(--max), calc(100% - 48px));
  row-gap:22px;
  padding:64px 0 48px;
}

.guide-hero .hero__content,
.guide-hero .hero__summary{
  grid-column:1 / -1;
  width:100%;
}

.guide-hero h1{
  max-width:820px;
}

.guide-hero .hero__summary{
  margin-top:0;
}

.guide-hero .hero__summary p{
  max-width:760px;
  font-size:clamp(18px, 1.65vw, 23px);
  line-height:1.58;
}

.guide-breadcrumb{
  background:#fff;
  border-bottom:1px solid var(--line);
}

.guide-breadcrumb__inner{
  width:min(var(--max), calc(100% - 48px));
  margin:0 auto;
  padding:14px 0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  color:var(--mid-gray);
  font-size:13.5px;
  letter-spacing:.02em;
}

.guide-breadcrumb__inner a{
  color:var(--blue);
  text-decoration:none;
  font-weight:750;
}

.guide-breadcrumb__inner a:hover{
  text-decoration:underline;
}

.guide-breadcrumb__inner span[aria-current]{
  color:var(--navy);
  font-weight:750;
}

.guide-content{
  width:min(880px, calc(100% - 48px));
  margin:64px auto 0;
}

.guide-content + .guide-content{
  margin-top:52px;
}

.guide-content .section-head{
  max-width:none;
}

.guide-content h2{
  margin:0 0 16px;
  color:var(--navy);
  font-size:clamp(24px, 2.6vw, 32px);
  line-height:1.2;
  font-weight:950;
}

.guide-content h3{
  margin:26px 0 8px;
  color:var(--navy);
  font-size:18px;
  font-weight:950;
}

.guide-content p{
  margin:0 0 14px;
  color:var(--mid-gray);
  font-size:16.5px;
  line-height:1.7;
}

.guide-content p:last-child{
  margin-bottom:0;
}

.guide-content ul{
  margin:0 0 16px;
  padding-left:22px;
  color:var(--mid-gray);
  font-size:16.5px;
  line-height:1.7;
}

.guide-content li{
  margin-bottom:8px;
}

.guide-lede{
  margin:0 0 16px;
  color:var(--mid-gray);
  font-size:18px;
  line-height:1.7;
}

.guide-link{
  color:var(--blue);
  font-weight:750;
  text-decoration:underline dotted;
  text-underline-offset:3px;
}

.guide-table-wrap{
  margin:8px 0 22px;
  overflow-x:auto;
  border:var(--box-light-border);
  box-shadow:0 14px 34px rgba(0,32,74,.08);
}

.guide-table{
  width:100%;
  border-collapse:collapse;
  min-width:480px;
  font-size:15.5px;
}

.guide-table caption{
  caption-side:top;
  text-align:left;
  padding:14px 18px 0;
  color:var(--navy);
  font-weight:950;
  font-size:15px;
}

.guide-table th,
.guide-table td{
  padding:13px 18px;
  text-align:left;
  border-bottom:1px solid var(--line);
  color:var(--mid-gray);
}

.guide-table thead th{
  background:var(--navy);
  color:#fff;
  font-weight:850;
  letter-spacing:.03em;
}

.guide-table tbody tr:nth-child(even){
  background:var(--soft);
}

.guide-table tbody tr:last-child td{
  border-bottom:0;
}

.guide-toc,
.guide-continue{
  margin:0 0 22px;
  padding:22px 26px;
  background:#fff;
  border:var(--box-light-border);
  border-top:4px solid var(--gold);
  box-shadow:0 14px 34px rgba(0,32,74,.08);
}

.guide-toc h2,
.guide-continue h2{
  margin:0 0 12px;
  font-size:18px;
}

.guide-continue p{
  margin:0 0 10px;
  font-size:15.5px;
}

.guide-continue p:last-child{
  margin-bottom:0;
}

.guide-toc ol{
  margin:0;
  padding-left:20px;
  columns:2;
  column-gap:32px;
  font-size:14.5px;
  line-height:1.7;
  color:var(--mid-gray);
}

.guide-toc a{
  color:var(--blue);
  text-decoration:none;
}

.guide-toc a:hover{
  text-decoration:underline;
}

.dark-cta--guide{
  width:min(var(--max), calc(100% - 48px));
  margin:90px auto 90px;
  padding:36px 54px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:58px;
  align-items:center;
  justify-content:normal;
}

.dark-cta--guide > div{
  min-width:0;
}

.dark-cta--guide > .btn{
  justify-self:start;
}

.dark-cta--guide h2{
  max-width:860px;
  margin-bottom:14px;
}

.dark-cta--guide p:not(.eyebrow){
  margin-top:0;
}

@media (max-width:720px){
  .guide-hero .hero__inner{
    padding:48px 0 36px;
  }

  .guide-content{
    width:calc(100% - 36px);
    margin-top:48px;
  }

  .guide-content + .guide-content{
    margin-top:40px;
  }

  .guide-toc ol{
    columns:1;
  }

  .dark-cta--guide{
    width:calc(100% - 36px);
    margin-top:64px;
    padding:36px 24px;
    grid-template-columns:1fr;
    gap:28px;
  }
}
