/* ========== HERO ========== */
.hero {
position: relative;
overflow: hidden;
background: #fff;
padding: 148px 0 82px;
border-bottom: 1px solid var(--line);
}

.hero:before {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(circle at 82% 38%, rgba(246, 168, 0, .12), transparent 27%),
linear-gradient(180deg, #fff, #fbfcfd);
}

.hero-grid {
position: absolute;
right: -100px;
top: 85px;
width: 570px;
height: 430px;
opacity: .75;
background:
linear-gradient(rgba(13, 23, 43, .055) 1px, transparent 1px),
linear-gradient(90deg, rgba(13, 23, 43, .055) 1px, transparent 1px);
background-size: 42px 42px;
mask-image: linear-gradient(90deg, transparent, black 25%, black 75%, transparent);
}

.hero-inner {
position: relative;
z-index: 1;
max-width: 900px;
}

.eyebrow,
.section-kicker {
display: flex;
align-items: center;
gap: 9px;
color: #9a6800;
font-size: 11px;
font-weight: 700;
letter-spacing: .15em;
text-transform: uppercase;
}

.eyebrow:before,
.section-kicker:before {
content: "";
width: 24px;
height: 2px;
background: var(--gold);
}

h1 {
font-family:"Playfair Display",Georgia, serif;
color: var(--navy);
font-size: clamp(46px, 6vw, 72px);
line-height: 1.05;
letter-spacing: -.045em;
font-weight: 600;
margin-top: 20px;
max-width: 900px;
}

h1 span {
color: var(--gold);
}

.hero-copy {
font-size: 18px;
color: #596579;
max-width: 720px;
margin: 24px 0 30px;
line-height: 1.7;
}

.actions {
display: flex;
gap: 12px;
flex-wrap: wrap;
}

.btn {
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 10px;
padding: 13px 20px;
font-size: 13px;
font-weight: 700;
border: 1px solid transparent;
transition: .2s;
}

.btn-primary {
background: var(--gold);
color: #151515;
box-shadow: 0 8px 20px rgba(246, 168, 0, .18);
}

.btn-primary:hover {
transform: translateY(-2px);
background: #ffb61b;
}

.btn-secondary {
background: #fff;
border-color: #dce1e8;
color: var(--navy);
}

.btn-secondary:hover {
transform: translateY(-2px);
border-color: #aeb7c6;
}

.hero-meta { 
/*display: flex;*/
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 28px;
flex-wrap: wrap;
margin-top: 35px;
padding-top: 23px;
border-top: 1px solid var(--line);
color: #667085;
font-size: 13px;
}
@media (max-width: 900px) {
.hero-meta { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
.hero-meta { grid-template-columns: 1fr; }
}

.hero-meta strong {
display: block;
color: var(--navy);
font-size: 14px;
margin-bottom: 2px;
}

/* ========== SERVICE OVERVIEW ========== */
.service-overview {
padding: 76px 0;
background: var(--soft);
border-bottom: 1px solid #eef0f3;
}

.section-head {
display: flex;
justify-content: space-between;
align-items: end;
gap: 35px;
margin-bottom: 35px;
}

.section-title {
font-family:"Playfair Display", Georgia, serif;
color: var(--navy);
font-size: clamp(34px, 4vw, 48px);
line-height: 1.1;
letter-spacing: -.035em;
font-weight: 600;
margin-top: 13px;
}

.section-title--sub{ font-family:"DM Sans",Arial,sans-serif; font-size:clamp(24px,3vw,32px); letter-spacing:-.01em; font-weight:700; margin-top:13px;}
.section-title--sub span{color:var(--gold-2)}

.factors-section{background:#fff}
.factors-section .section-head{display:block;text-align:center;margin-left:auto;margin-right:auto;max-width:640px}
.factors-section .section-kicker{display:inline-flex;margin:0 auto;justify-content:center}
.factors-section .section-intro{margin:14px auto 0;max-width:560px}
.factor-details{margin-top:10px}
.factor-details summary{cursor:pointer;color:#9a6800;font-size:13px;font-weight:700;letter-spacing:.03em;list-style:none}
.factor-details summary::-webkit-details-marker{display:none}
.factor-details summary:before{content:"+ ";color:var(--gold)}
.factor-details[open] summary:before{content:"\2212 "}
.factor-details p{margin-top:10px;font-size:14.5px;color:#4f5c70;line-height:1.7}

.section-intro {
max-width: 500px;
color: #687386;
font-size: 15px;
}

.overview-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}

.overview-card {
background: #fff;
border: 1px solid #e2e6ec;
border-radius: 16px;
padding: 25px;
min-height: 185px;
transition: .2s;
}

.overview-card:hover {
transform: translateY(-4px);
box-shadow: 0 15px 30px rgba(13, 23, 43, .06);
}

.card-num {
font-size: 11px;
color: #a66c00;
font-weight: 700;
letter-spacing: .15em;
}

.overview-card h3 {
font-family:"Playfair Display", Georgia, serif;
color: var(--navy);
font-size: 21px;
line-height: 1.2;
margin: 20px 0 10px;
}

.overview-card p {
font-size: 14px;
color: #667085;
}

/* ========== MAIN CONTENT ========== */
.main-content {
padding: 92px 0;
}

.content-layout {
display: grid;
grid-template-columns: 260px minmax(0, 1fr);
gap: 70px;
align-items: start;
}

.toc {
position: sticky;
top: 104px;
border-top: 2px solid var(--navy);
padding-top: 18px;
max-height: calc(100vh - 130px);
overflow-y: auto;
}

.toc-label {
font-size: 11px;
letter-spacing: .14em;
text-transform: uppercase;
color: #9a6800;
font-weight: 700;
margin-bottom: 13px;
}

.toc a {
display: block;
padding: 8px 0;
border-bottom: 1px solid var(--line);
font-size: 13px;
color: #5e6979;
line-height: 1.35;
}

.toc a:hover {
color: #9a6800;
padding-left: 4px;
}

.content-main {
min-width: 0;
}

.info-intro {
background: #fbfcfd;
border: 1px solid var(--line);
border-left: 3px solid var(--gold);
border-radius: 0 14px 14px 0;
padding: 23px 25px;
margin-bottom: 44px;
font-size: 15px;
color: #4f5c70;
}

.info-intro strong {
color: #25324a;
}

.review-note {
display: flex;
gap: 12px;
align-items: flex-start;
background: #fff8ec;
border: 1px solid #f0dcae;
border-radius: 12px;
padding: 16px 18px;
margin: 0 0 44px;
font-size: 13.5px;
color: #6b5a2c;
line-height: 1.6;
}

.review-note b {
color: #8a5b00;
}

.service-section {
padding: 0 0 55px;
margin-bottom: 55px;
border-bottom: 1px solid var(--line);
scroll-margin-top: 110px;
}

.service-section:last-child {
border-bottom: 0;
}

.section-number {
font-size: 11px;
letter-spacing: .16em;
color: #a66c00;
font-weight: 700;
margin-bottom: 10px;
}

.service-section h2 {
font-family:"Playfair Display", Georgia, serif;
color: var(--navy);
font-size: clamp(30px, 3vw, 42px);
line-height: 1.13;
letter-spacing: -.03em;
font-weight: 600;
margin-bottom: 20px;
}

.service-section h2:after {
content: "";
display: block;
width: 38px;
height: 2px;
background: var(--gold);
margin-top: 14px;
}

.service-section h3 {
font-family:"Playfair Display", Georgia, serif;
color: var(--navy);
font-size: 20px;
margin: 26px 0 10px;
}

.service-section p {
/*font-size: 15.5px;*/
color: #000000;
margin: 0 0 14px;
}

.service-section ul,
.service-section ol {
margin: 12px 0 18px 21px;
color: #000000;
}

.service-section li {
margin: 8px 0;
padding-left: 4px;
}

.service-section a, .hero-meta a, .info-intro a {
color: #9a6800;
text-decoration: underline;
text-underline-offset: 3px;
}

.service-section strong {
color: #25324a;
}

.service-section u {
text-decoration-color: var(--gold);
text-underline-offset: 3px;
}

.rate-table {
width: 100%;
border-collapse: collapse;
margin: 14px 0 20px;
/*font-size: 14.5px;*/
}

.rate-table th {
text-align: left;
font-size: 11px;
letter-spacing: .08em;
text-transform: uppercase;
color: #9a6800;
font-weight: 700;
padding: 0 14px 10px 0;
border-bottom: 2px solid var(--navy);
}

.rate-table td {
padding: 12px 14px 12px 0;
border-bottom: 1px solid var(--line);
color: #000000;
vertical-align: top;
line-height: 1.65;
}

.rate-table td:first-child {
color: #25324a;
font-weight: 600;
/*white-space: nowrap;*/
}

.tag-2026 {
display: inline-block;
font-size: 10.5px;
font-weight: 700;
letter-spacing: .06em;
color: #9a6800;
background: #fdf1d9;
border-radius: 5px;
padding: 2px 7px;
margin-left: 6px;
vertical-align: middle;
}

/* ========== PROCESS ========== */
.process {
padding: 85px 0;
background: var(--navy);
color: #fff;
}

.process .section-kicker {
color: #f6c14c;
}

.process .section-title {
color: #fff;
}

.process-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 1px;
background: #26334b;
margin-top: 40px;
border: 1px solid #26334b;
border-radius: 16px;
overflow: hidden;
}

.step {
background: var(--navy2);
padding: 24px;
min-height: 175px;
}

.step-number {
font-size: 12px;
color: #f6c14c;
font-weight: 700;
letter-spacing: .14em;
}

.step h3 {
font-family:"Playfair Display", Georgia, serif;
font-size: 20px;
margin: 25px 0 8px;
}

.step p {
font-size: 13px;
color: #fff;
}

/* ========== CTA ========== */
.cta-section {
padding: 90px 0;
}

.cta-card {
background: var(--navy);
border-radius: 22px;
overflow: hidden;
display: grid;
grid-template-columns: 1fr .82fr;
box-shadow: 0 25px 60px rgba(7, 16, 33, .14);
}

.cta-copy {
padding: 55px;
color: #fff;
}

.cta-copy .section-kicker {
color: #f6c14c;
}

.cta-copy h2 {
font-family:"Playfair Display", Georgia, serif;
font-size: clamp(34px, 3.6vw, 50px);
line-height: 1.08;
margin: 15px 0 18px;
}

.cta-copy p {
color: #fff;
max-width: 500px;
font-size: 14px;
}

.contactForm-wrap {
background: #101a2e;
padding: 44px;
}

.contactForm {
display: grid;
gap: 12px;
}

.contactForm input,
.contactForm textarea {
width: 100%;
background: #fff;
border: 1px solid #dce2ea;
border-radius: 9px;
padding: 13px 14px;
color: var(--ink);
outline: none;
}

.contactForm textarea {
min-height: 130px;
resize: vertical;
}

.contactForm input:focus,
.contactForm textarea:focus {
border-color: var(--gold);
box-shadow: 0 0 0 3px rgba(246, 168, 0, .12);
}

.contactForm button {
border: 0;
cursor: pointer;
width: 100%;
padding: 13px 16px;
border-radius: 9px;
background: var(--gold);
font-weight: 700;
color: #151515;
}

.form-message {
font-size: 13px;
text-align: center;
padding: 10px;
display: none;
background: #fff;
border-radius: 8px;
}

.messageSent, .errorMessage, .CfMessage, .messageSent {
background-color: #ffffff;
padding: 10px;
border-radius: 9px;
font-size: 13px;
}
.errorMessage{ 
/*background: #fff3f1;*/
color: #9b3d35;
}
.messageSent{ 
/*background:#eef8f2;*/
color:#2d6847;
}



.mini-flow{list-style:none;margin:22px 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:0}
.mini-flow li{display:flex;align-items:center;gap:10px;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:10px 16px 10px 10px;margin:0 10px 10px 0;font-size:14px;color:#4f5c70;width:100%;}
.mini-flow-num{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--navy);color:var(--gold);font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:13px}
.mini-flow li:not(:last-child):after{content:"→";color:var(--gold);font-weight:700;margin-left:8px;}



/* ========== MEDIA QUERIES ========== */
@media (max-width: 900px) {
.overview-grid {
grid-template-columns: repeat(2, 1fr);
}

.content-layout {
grid-template-columns: 1fr;
gap: 40px;
}

.toc {
position: static;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 0 20px;
max-height: none;
}

.toc-label {
grid-column: 1 / -1;
}

.process-grid {
grid-template-columns: repeat(2, 1fr);
}

.cta-card {
grid-template-columns: 1fr;
}

.footer-top {
grid-template-columns: 1fr 1fr;
}
}

@media (max-width: 768px) {
/*header,
.topNav {
height: 70px;
}

.navMenu {
position: fixed;
left: -100%;
top: 70px;
width: 100%;
background: #fff;
display: flex;
flex-direction: column;
gap: 0;
padding: 18px 25px;
box-shadow: 0 10px 25px rgba(0, 0, 0, .08);
transition: .25s;
margin: 0;
}

.navMenu.active {
left: 0;
}

.navItem {
margin: 0;
}

.navLink {
padding: 12px 0;
}

.dropdownContainer {
position: static;
width: 100%;
opacity: 1;
visibility: visible;
transform: none;
display: none;
box-shadow: none;
border: 0;
padding: 0;
}

.navItem:hover .dropdownContainer {
display: none;
}

.navItem.active .dropdownContainer {
display: block;
}

.hamburger {
display: block;
width: 28px;
cursor: pointer;
}

.hamburger span {
display: block;
height: 2px;
background: #182b49;
margin: 5px 0;
}

.mobileSearchIcon {
display: none;
}
*/
.hero {
padding-top: 125px;
}

.hero-grid {
opacity: .45;
right: -240px;
}

.section-head {
display: block;
}

.section-intro {
margin-top: 18px;
}

.overview-grid {
grid-template-columns: 1fr;
}

.toc {
grid-template-columns: 1fr;
}

.process-grid {
grid-template-columns: 1fr;
}

.footer-top {
grid-template-columns: 1fr;
}

.footer-bottom {
flex-direction: column;
}

.container {
width: min(var(--max), calc(100% - 32px));
}

.cta-copy,
.contactForm-wrap {
padding: 32px 25px;
}

/*.rate-table {
font-size: 13px;
}*/

.rate-table td,
.rate-table th {
padding: 9px 8px 9px 0;
}
}

@media(max-width:640px){.mini-flow{flex-direction:column}.mini-flow li{margin-right:0;}.mini-flow li:not(:last-child):after{display:none}}


/* ========== ACCOUNTING PAGE — ADDITIONAL COMPONENTS ========== */

.legal-note{padding:44px 0 0}
.legal-note .info-intro{margin-bottom:0}

.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.audience-card{background:#fff;border:1px solid #e2e6ec;border-radius:16px;padding:32px;transition:.2s;display:block}
.audience-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px rgba(13,23,43,.06);border-color:var(--gold)}
.audience-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9a6800;background:#fdf1d9;border-radius:5px;padding:3px 9px;margin-bottom:14px}
.audience-card h3{font-family:"Playfair Display",Georgia,serif;color:var(--navy);font-size:24px;margin-bottom:10px}
.audience-card p{color:#667085;font-size:14.5px;margin-bottom:16px}
.audience-link{color:#9a6800;font-weight:700;font-size:13.5px}

.tier-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.tier-card{border:1px solid var(--line);border-radius:16px;padding:28px}
.tier-card--alt{background:var(--soft)}
.tier-name{font-family:"Playfair Display",Georgia,serif;font-size:20px;color:var(--navy);margin-bottom:6px}
.tier-desc{color:#667085;font-size:14px;margin-bottom:16px}
.tier-card ul{margin:0;padding-left:18px}
.tier-card li{font-size:14.5px;color:#4f5c70;margin:8px 0;padding-left:0}

.flow-content{max-width:820px}
.flow-content.wide{max-width:100%}

.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 6px}
.doc-item{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.doc-item h4{font-family:"Playfair Display",Georgia,serif;font-size:16px;color:var(--navy);margin-bottom:6px}
.doc-item p{font-size:13.5px;color:#667085;margin:0}

.sector-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.sector-pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:13.5px;color:#25324a;font-weight:600}

@media(max-width:768px){
.audience-grid{grid-template-columns:1fr}
.tier-grid{grid-template-columns:1fr}
.doc-grid{grid-template-columns:1fr}
}

/* ========== FINANCIAL MANAGEMENT PAGE - ADDITIONAL COMPONENTS ========== */

/* Legal-basis / framing intro strip, directly under hero */
.legal-note{padding:44px 0 0}
.legal-note .info-intro{margin-bottom:0}

/* Single-column flow for this page: no sticky sidebar TOC */
.flow-content{max-width:820px}
.flow-content.wide{max-width:100%}

/* Problem-recognition list — plain two-column list, no card boxes (deliberately different texture) */
.signal-section{padding:70px 0}
.signal-list{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 40px}
.signal-list li{position:relative;padding:14px 0 14px 26px;border-bottom:1px solid var(--line);font-size:15px;color:#3a4557}
.signal-list li:before{content:"—";position:absolute;left:0;color:var(--gold);font-weight:700}

/* Three-pillar overview — reuses audience-card visual language at 3-column width */
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.audience-card{background:#fff;border:1px solid #e2e6ec;border-radius:16px;padding:32px;transition:.2s;display:block}
.audience-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px rgba(13,23,43,.06);border-color:var(--gold)}
.audience-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9a6800;background:#fdf1d9;border-radius:5px;padding:3px 9px;margin-bottom:14px}
.audience-card h3{font-family:"Playfair Display",Georgia,serif;color:var(--navy);font-size:22px;margin-bottom:10px}
.audience-card p{color:#667085;font-size:14.5px;margin-bottom:16px}
.audience-link{color:#9a6800;font-weight:700;font-size:13.5px}

/* Benefit grid inside each pillar detail section (2-col, denser than doc-grid) */
.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 8px}
.benefit-item{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:17px 19px}
.benefit-item h4{font-family:"Playfair Display",Georgia,serif;font-size:16px;color:var(--navy);margin-bottom:6px;line-height:1.25}
.benefit-item p{font-size:13.5px;color:#667085;margin:0}

/* Method pills (reused visual family from sector-pills on the accounting page) */
.method-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.method-pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:13px;color:#25324a;font-weight:600}

/* Format / flexibility strip before CTA */
.format-strip{padding:0 0 70px}
.format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.format-card{border:1px solid var(--line);border-radius:14px;padding:22px}
.format-card h4{font-family:"Playfair Display",Georgia,serif;font-size:17px;color:var(--navy);margin-bottom:8px}
.format-card p{font-size:13.5px;color:#667085;margin:0}

@media(max-width:900px){
.pillar-grid{grid-template-columns:1fr}
.format-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
.signal-list{grid-template-columns:1fr}
.benefit-grid{grid-template-columns:1fr}
}