.hero-container{position:relative}
.hero-figure{position:relative;width:100%;height:400px;overflow:hidden;line-height:1 !important;margin:0 !important;padding:0;text-align:center;color:#FFFFFF;background-color:#323946;border-bottom:1px solid #323946}
.hero-image{filter:brightness(0.7);vertical-align:middle;width:auto;height:400px;border:0;overflow:hidden}
.hero-caption{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);line-height:1.2;padding:0 0.5em 5% 0.5em}
.hero-title,.hero-subtitle{margin:0;padding:0;color:#FFFFFF;text-shadow:0 0 1em #333333;letter-spacing:0;}
.hero-title{font-weight:700;font-size:3rem;display:inline-block;max-width:500px;margin-left:auto;margin-right:auto;}
.hero-subtitle{font-weight:400;font-size:1.5em;display:block;}
.hero-figure,.hero-caption,.hero-title,.hero-subtitle{-webkit-margin-before:0 !important;-webkit-margin-after:0 !important;-webkit-margin-start:0 !important;-webkit-margin-end:0 !important}
@media(min-width:600px){
.hero-caption{padding:0 1em 0 1em}
}
@media(min-width:1025px){
.hero-figure{height:auto !important}
.hero-image{width:100% !important;height:auto !important}
}
.hero-cards{position:relative;z-index:3;max-width:830px;margin:-3.5rem auto 0 auto;padding:0 1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.hero-card{display:flex;align-items:center;gap:1rem;min-height:6rem;background:#FFFFFF;color:#1d1d1f !important;padding:1.4rem;border-radius:.25rem;box-shadow:0 1rem 2rem rgba(0,0,0,.12);text-decoration:none;}
.hero-card-icon{background:rgba(15,16,24,.9);display:flex;align-items:center;justify-content:center;flex:0 0 3.5rem;width:3.5rem;height:3.5rem;border-radius:50%;}
.hero-card-icon img{width:2rem;height:2rem;}
.hero-card-text{display:block;}
.hero-card-text strong{display:block;color:#1d1d1f;font-weight:700;}
.hero-card-text small{display:block;margin-top:.25rem;color:#555555;font-size:.82rem;line-height:1.4;}
@media (max-width:800px){
.hero-cards{margin:-3rem auto 0;grid-template-columns:1fr;}
}

.about-wrap{max-width:830px;margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:4rem;align-items:center;}
.about-media{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:stretch;}
.about-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:.45rem;}
.about-photo-one{margin-top:2rem;box-shadow: 0 1rem 2rem rgba(0,0,0,.12);}
.about-photo-two{margin-bottom:2rem;box-shadow: 0 1rem 2rem rgba(0,0,0,.12);}
.about-content{max-width:calc(830px * 0.50)}
.about-content h2{color:#1d1d1f;font-size:2.35rem;line-height:1.12;letter-spacing:0;}
@media (max-width:560px){
.about-media{gap:.5rem;}
.about-photo-one{margin-top:1rem;}
.about-photo-two{margin-bottom:1rem;}
.about-content h2{font-size:2rem;}
}
@media (max-width:850px){
.about-wrap{grid-template-columns:1fr;gap:2.5rem;}
.about-content{max-width:none;}
}

.homepage-section{padding:5rem 1rem;}
.homepage-kicker{margin:0 0 1rem;color:#9D8253;font-size:1rem;font-weight:600;text-transform:uppercase;}
.homepage-header{max-width:830px;margin:0 auto 3rem;text-align:center;}
.homepage-header h2{margin-left:auto;margin-right:auto;max-width:calc(830px * 0.80);color:#1d1d1f;font-size:2.35rem;line-height:1.12;letter-spacing:0;}
.homepage-track{max-width:830px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.homepage-card{display:flex;flex-direction:column;background:#FFFFFF;text-decoration:none;box-shadow:0 .8rem 1.7rem rgba(0,0,0,.1);}
.homepage-card img{width:calc(100% - 1.5rem);height:auto;aspect-ratio:3/2;object-fit:contain;margin:.75rem .75rem 0;}
.homepage-slider-title{padding-bottom:.75rem;font-weight:700;text-align:center;font-size:14px;color:#333333;margin-top:8px;}
.homepage-actions{display:flex;gap:.75rem;margin-top:2rem;flex-wrap:wrap;justify-content:center;}
.homepage-actions.flex-align-start{justify-content:flex-start;}
@media (max-width:560px){
.homepage-header h2{font-size:2rem;}
}
@media (max-width:620px){
.homepage-track{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem;}
.homepage-card{flex:0 0 86%;}
}
@media (max-width:1000px){
.homepage-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 1rem;gap:1rem;}
.homepage-card{flex:0 0 46%;scroll-snap-align:start;}
}

/* new state income tax brackets */
.rates-figure{margin:2em 0 !important;padding:0;overflow-x:auto}
.rates-title{margin:1em auto;font-size:1.3em;text-align:center}
.rates-caption{margin:1em 0;padding:0;font-style:italic;font-size:0.8em}
.rates-caption a:link{text-decoration:underline}
.rates-table{margin:0;width:100%;border-collapse:collapse;background-color:#FFFFFF;color:#333333;border:none}
.rates-table thead tr th{width:20%;text-align:center;padding:0.8em 0.5em;font-size:1.0em;color:#FFFFFF;background-color:#333333}
.rates-table tbody tr th{width:20%;text-align:center;padding:0.8em 0.5em;font-size:1.0em;white-space:nowrap}
.rates-table tbody tr td{width:20%;text-align:center;padding:0.8em 0.5em;font-size:1.0em;white-space:nowrap}
.rates-table tbody tr:nth-child(even){background:#eaeaea}
.rates-table tbody tr:nth-child(odd){background:#FFFFFF}
.rates-table tbody tr:last-child{border-bottom:1px solid #CCCCCC}

/* new at-a-glance comparison */
.compare-figure{margin:2em 0 !important;padding:0;overflow-x:auto}
.compare-title{margin:1em auto;font-size:1.3em;text-align:center}
.compare-caption{margin:1em 0;padding:0;font-style:italic;font-size:0.8em}
.compare-caption a:link{text-decoration:underline}
.compare-table{margin:0;width:100%;border-collapse:collapse;background-color:#FFFFFF;color:#333333;border:none}
.compare-table thead tr th{width:33%;text-align:center;padding:0.8em 0.5em;font-size:1.0em;color:#FFFFFF;background-color:#333333}
.compare-table tbody tr th{width:33%;text-align:center;padding:0.8em 0.5em;font-size:1.0em;white-space:nowrap}
.compare-table tbody tr td{width:33%;text-align:center;padding:0.8em 0.5em;font-size:1.0em;white-space:nowrap}
.compare-table tbody tr:nth-child(even){background:#eaeaea}
.compare-table tbody tr:nth-child(odd){background:#FFFFFF}
.compare-table tbody tr:last-child{border-bottom:1px solid #CCCCCC}

/* new state forms tables */
.state-forms-table{width:100%;border:none;border-collapse:collapse;border-style:solid none solid none;border-color:#EEEEEE;text-align:left}
.state-forms-table tr{border-width:1px}
.state-forms-table tr.border-bottom{border-bottom:1px dashed #333333 !important;}
.state-forms-table th,.state-forms-table td{border:none;padding:16px 8px;padding-right:0}
.state-forms-table thead tr{background-color:#EEEEEE}
.state-forms-table tbody tr:nth-child(even){background-color:#EEEEEE}
.state-forms-table th{font-weight:600;text-align:center}
.state-forms-table th:first-of-type{width:40%;min-width:140px}
.state-forms-table th:last-of-type{width:60%}
@media(min-width:650px){
.state-forms-table th:first-of-type{width:32%;min-width:150px}
.state-forms-table th:last-of-type{width:68%}
}

/* pdf cards */
.pdf-header{font-size:1.2em !important}
.pdf-header.section-heading{margin-bottom:1em}
.pdf-row{margin-bottom:18px}
.pdf-link{text-decoration:none;color:inherit}
.pdf-flex-box{display:flex;align-items:center;border:1px solid #DDDDDD;padding:10px;border-radius:8px;transition:background-color 0.3s ease}
.pdf-flex-box:hover{background-color:#FFF8DC}
.pdf-flex-box.pdf-not-available:hover{background-color:#EEEEEE}
.pdf-icons{flex-shrink:0;width:40px;display:flex;flex-direction:column;align-items:center;gap:20px}
.pdf-icon,.pdf-icon-path{fill:#ff0000;width:30px;height:30px}
.pdf-not-available .pdf-icon,.pdf-not-available .pdf-icon-path{fill:#666666}
.pdf-icon-download,.pdf-icon-download-path{fill:#28a745;width:20px;height:20px}
.pdf-not-available .pdf-icon-download,.pdf-not-available .pdf-icon-download-path{fill:#666666}
.pdf-card{flex-grow:1;padding-left:15px;line-height:1.8}
.pdf-title{font-size:1.1em !important;margin:0 !important;color:#333333}
.pdf-description{font-size:1em !important;margin:0 !important;color:#666666}
.pdf-info{font-size:0.9em !important;font-style:italic;margin:0 !important;color:#999999}
.pdf-viewer{border:1px solid #DDDDDD;border-radius:8px;overflow:hidden;background:#f7f7f7}
.pdf-viewer-frame{display:block;width:100%;height:560px;border:0;background:#FFFFFF}
.pdf-viewer-frame p{margin:1rem}
.pdf-viewer-actions{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:#FFFFFF;border-top:1px solid #DDDDDD}
.pdf-viewer-button:link,.pdf-viewer-button:visited{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0.65rem 1rem;border:1px solid #ce3f2b;border-radius:3px;background:#ce3f2b;color:#FFFFFF;font-weight:700;text-decoration:none}
.pdf-viewer-button:hover,.pdf-viewer-button:focus{background:#a82f20;border-color:#a82f20}
.pdf-viewer-button-secondary:link,.pdf-viewer-button-secondary:visited{background:#FFFFFF;color:#ce3f2b}
.pdf-viewer-button-secondary:hover,.pdf-viewer-button-secondary:focus{background:#fff8dc;color:#a82f20}
@media(min-width:800px){.pdf-viewer-frame{height:720px}}

/* NOTICE: possible conflict with article-faq* pattern */
.faq-details{border-bottom:1px solid #e2e8f0;overflow:hidden}
.faq-details[open] > .faq-summary::after{transform:rotate(45deg)}
.faq-content{padding:0 1rem 1rem;color:#4a5568;line-height:1.6}
.faq-summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:1rem;font-weight:bold;cursor:pointer}
.faq-summary::-webkit-details-marker{display:none}
.faq-summary h3{margin:0;font-size:1.1rem}
.faq-summary::after{content:"+";font-size:1.5rem;transition:transform 0.2s ease}

.calculator-details{border-bottom:1px solid #e2e8f0;overflow:hidden}
.calculator-summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:1rem;font-weight:bold;cursor:pointer}
.calculator-summary::-webkit-details-marker{display:none}
.calculator-summary h3{margin:0;font-size:1.1rem}
.calculator-summary::after{content:"+";font-size:1.5rem;transition:transform 0.2s ease}
.calculator-details[open] > .calculator-summary::after{transform:rotate(45deg)}

/* calculator block */
.calc{margin:1.25rem 0 2rem;border:1px solid #d8e4ea;border-radius:8px;background:#FFFFFF;box-shadow:0 8px 24px rgba(24, 59, 86, 0.08);overflow:hidden}
.calc *{box-sizing:border-box}
.calc-title{font-size:24px;text-align:center}
.calc-tile-container{display:flex;gap:15px;margin-bottom:25px}
.calc-tile{flex:1;background:#f6fafc;border:1px solid #e2e8f0;padding:15px;border-radius:6px;text-align:center}
.calc-tile span{font-size:0.9rem;color:#4a5568;text-transform:uppercase;font-weight:600;display:block;margin-bottom:5px}
.calc-tile strong{font-size:1.8rem;color:#2b6cb0;display:block}
.calc-tile small{color:#718096;font-size:0.8rem}
#calc-state-effective{color:#2f855a}
#calc-state-marginal{color:#d69e2e}
.calc-grid{display:grid;grid-template-columns:minmax(260px, 0.7fr) minmax(280px, 1.3fr)}
.calc-panel{padding:1.25rem}
.calc-inputs{background:#f6fafc;border-right:1px solid #d8e4ea}
.calc-field{margin-bottom:1rem}
.calc-field label{display:block;margin-bottom:0.35rem;color:#213547;font-weight:700}
.calc-field input,
.calc-field select{width:100%;min-height:44px;border:1px solid #b8cad3;border-radius:6px;padding:0.55rem 0.7rem;background:#FFFFFF;color:#1b2836;font:inherit}
.calc-money{position:relative}
.calc-money span{position:absolute;left:0.7rem;top:50%;transform:translateY(-50%);color:#526676;font-weight:700;pointer-events:none}
.calc-money input{padding-left:1.5rem}
.calc-actions{display:flex;gap:0.6rem;flex-wrap:wrap;margin-top:1rem}
.calc-actions button{min-height:42px;border:0;border-radius:6px;padding:0.55rem 0.9rem;font:inherit;font-weight:700;cursor:pointer}
.calc-primary{background:#087ca7;color:#FFFFFF}
.calc-secondary{background:#dbe8ee;color:#213547}
.calc-table-wrap{overflow-x:auto;border-radius:6px}
.calc-breakdown{width:100%;border-collapse:collapse;margin:0}
.calc-breakdown th,
.calc-breakdown td{padding:0.65rem 0.65rem;border-bottom:1px solid #e4edf1;text-align:right}
.calc-breakdown th:first-child,
.calc-breakdown td:first-child{text-align:left}
.calc-breakdown tbody tr:last-child td{border-bottom:0}
.calc-row-bg{background-color:#f6fafc}
.calc-note{margin:0.85rem 0 0;color:#526676;font-size:0.92rem}
.calc-notes[hidden]{display:none}
@media (max-width:760px){
.calc-grid{grid-template-columns:1fr}
.calc-inputs{border-right:0;border-bottom:1px solid #d8e4ea}
}
.radio-group{display:flex !important;align-items:center !important;gap:8px;width:auto;margin-bottom:1rem}
.radio-group input[type="radio"]{width:18px !important;height:18px !important;margin:0 !important;padding:0 !important;appearance:auto !important;cursor:pointer;flex-shrink:0}
.radio-group label{display:inline-block !important;margin:0 12px 0 0 !important;padding:0 !important;line-height:1 !important;cursor:pointer;white-space:nowrap}
.calc-modifier-row{display:flex;align-items:center;gap:10px}
.calc-modifier-row:last-child{margin-bottom:0}
.calc-modifier-group-label{font-size:0.92rem;color:#213547;min-width:60px;display:inline-block}
.calc-checkbox-label{margin-bottom:0 !important;display:flex;align-items:center;gap:6px;font-size:0.9rem;color:#4a5568;font-weight:400 !important;cursor:pointer;white-space:nowrap;line-height:2}
.calc-checkbox-label input[type="checkbox"]{width:16px !important;height:16px !important;min-height:auto !important;margin:-1px 4px 0 0;vertical-align:middle;padding:0;appearance:auto !important;cursor:pointer}
.calc-subtract{color:#718096}
.calc-subtract > td{padding-left:20px}
.calc-label-row{display:flex;align-items:center;gap:0.4rem;margin-bottom:0.35rem}
.calc-label-row label{margin-bottom:0}
.calc-info-button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;border:1px solid #87a4b3;border-radius:50%;padding:0;background:#FFFFFF;color:#075875;font:inherit;font-size:0.8rem;font-weight:700;line-height:1;cursor:pointer}
.calc-info-button:hover,
.calc-info-button:focus-visible,
.calc-info-button[aria-expanded="true"]{border-color:#087ca7;background:#e8f7fd;outline:none}
.calc-info-button:focus-visible{box-shadow:0 0 0 3px rgba(8, 124, 167, 0.2)}
.calc-tooltip{display:block;margin:0 0 0.6rem;border-left:3px solid #087ca7;padding:0.65rem 0.75rem;background:#eef7fa;color:#405564;font-size:0.88rem;line-height:1.5}
.calc-tooltip[hidden]{display:none}
.calc-output-tooltip{margin:0.65rem 0 0;font-weight:400}
.calc-advanced{min-width:0;margin:0 0 1rem;border:0;border-top:1px solid #d8e4ea;border-bottom:1px solid #d8e4ea;padding:0}
.calc-advanced-heading{width:100%;margin:0;padding:0}
.calc-advanced-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;padding:0.75rem 0;background:transparent;color:#213547;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.calc-advanced-toggle:focus-visible{border-radius:4px;outline:3px solid rgba(8, 124, 167, 0.2);outline-offset:2px}
.calc-advanced-icon::before{content:"+";display:block;color:#087ca7;font-size:1.25rem;line-height:1}
.calc-advanced-toggle[aria-expanded="true"] .calc-advanced-icon::before{content:"\2212"}
.calc-advanced-fields{padding-top:0.25rem}
.calc-advanced-fields[hidden]{display:none}

 /* 3 federal additional-*.php pages rename to additional-forms-table? */
.forms-table{border:none;border-collapse:collapse;border-style:solid none solid none;border-color:#EEEEEE;text-align:left}
.forms-table tr{border-width:1px}
.forms-table tr:nth-child(odd){background-color:#EEEEEE}
.forms-table th{font-weight:600;text-align:center}
.forms-table th,.forms-table td{border:none;padding:16px 8px;padding-right:0}
.forms-table th:first-of-type{min-width:118px}
.forms-table th:last-of-type{width:82px}
.forms-table tr td:nth-child(3) a{display:inline-block;margin-top:12px}
.forms-table tr td:nth-child(3) a:nth-child(1){margin-top:0}
@media(min-width:356px){.forms-table tr td:nth-child(3) a:nth-child(2){margin-top:0}}
@media(min-width:650px){.forms-table th.wide{width:123px}.forms-table tr td:nth-child(3) a:nth-child(3){margin-top:0}.forms-table tr td:nth-child(3) a{margin-top:0 !important}}
.icon-form{height:30px;vertical-align:middle}
.icon-inst{height:30px;vertical-align:middle}

 /* legacy structure used for single rate states */
.brackets-title{margin-top:48px;margin-bottom:16px;font-size:24px !important}
.brackets-table{width:100%;border-collapse:collapse;background-color:#FFFFFF;color:#333333;margin:0 0 32px 0;border:none}
.brackets-caption{padding:18px 0;font-size:18px;text-align:center}
.brackets-caption a:link{text-decoration:none}
.brackets-caption a:hover{text-decoration:underline}
.brackets-head th{width:50%;padding:8px;color:#FFFFFF;background-color:#333333;font-weight:700;text-align:left}
.brackets-body td{width:50%;padding:8px}
.brackets-body tr:nth-child(even){background:#eaeaea}
.brackets-body tr:nth-child(odd){background:#FFFFFF}
.brackets-body tr:last-child{border-bottom:1px solid #CCCCCC}

/* legacy structure used for progressive tables */
.statebrackets{width:100%;border-collapse:collapse;background-color:#FFFFFF;color:#333333;margin:2em 0;border:none}
.statebrackets caption{padding:1.5em 0;font-size:1.2em;text-align:center}
.statebrackets caption a:link{text-decoration:none}
.statebrackets caption a:hover{text-decoration:underline}
.statebrackets thead tr th{padding:0.5em;font-size:1.0em;text-align:left;color:#FFFFFF;background-color:#333333}
.statebrackets thead tr th:last-child{text-align:center}
.statebrackets tbody tr td{padding:0.5em;font-size:1.0em;text-align:left}
.statebrackets tbody tr td:nth-child(1){width:20%;text-align:right}
.statebrackets tbody tr td:nth-child(2){width:20%;text-align:right}
.statebrackets tbody tr td:nth-child(3){width:25%;text-align:right}
.statebrackets tbody tr td:nth-child(4){width:35%;text-align:center}
.statebrackets tbody tr:nth-child(even){background:#eaeaea}
.statebrackets tbody tr:nth-child(odd){background:#FFFFFF}
.statebrackets tbody tr:last-child{border-bottom:1px solid #CCCCCC}

 /* NOTICE: compare to .article* pattern */
.section-heading{scroll-margin-top:1rem;width:max-content;max-width:100%;margin:2em 0 1em 0}
.section-heading + p{margin-top:0}

/* simple text link list of states */
.states-list{list-style-type:none !important;line-height:2;margin:auto 0;padding:0}
.states-list li{display:inline-block;width:49%}
@media(min-width:600px){.states-list li{width:32%}}

/* might have been replaced by .icon-form, .icon-inst  */
.form{background-image:url("/images/icons/tax-form.svg");background-repeat:no-repeat;background-position:left center;background-size:1em;padding-left:1.5em}
.inst{background-image:url("/images/icons/instructions.svg");background-repeat:no-repeat;background-position:left center;background-size:1em;padding-left:1.5em}

/* not found in search  */
.forms-list{list-style-type:none !important;margin-left:0;margin-right:0;padding:0;line-height:2}
.forms-list li{padding-left:0 !important;text-indent:0}
.form-list-gap{margin-bottom:16px}