.landing-page { background: hsl(var(--background)); }
.landing-hero { overflow: hidden; padding: clamp(3.5rem, 8vw, 7rem) 0; background: hsl(var(--primary)); color: #fff; }
.landing-hero-grid { display: grid; align-items: center; gap: clamp(2.5rem, 7vw, 6rem); }
.landing-hero h1 { max-width: 12ch; margin-bottom: 1.25rem; color: #fff; font-size: clamp(2.75rem, 7vw, 5.4rem); line-height: .98; letter-spacing: -.045em; }
.service-page-label { display: inline-flex; align-items: center; margin: 0 0 1.15rem; padding: .65rem 1rem; border: 1px solid hsl(168 58% 68% / .45); border-radius: .65rem; background: hsl(168 58% 68% / .12); color: hsl(168 65% 76%); font-size: clamp(1.05rem, 2.2vw, 1.35rem); font-weight: 850; line-height: 1.15; letter-spacing: .015em; box-shadow: inset .24rem 0 hsl(168 58% 60%); }
.landing-lede { max-width: 42rem; color: hsl(210 27% 82%); font-size: clamp(1rem, 2vw, 1.18rem); line-height: 1.7; }
.landing-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.quote-primary { display: grid; gap: .4rem; }
.quote-speed { color: hsl(168 58% 72%); font-size: .75rem; font-weight: 800; text-align: center; }
.landing-fold-review { max-width: 38rem; margin-top: 1rem; }
.landing-visual { position: relative; }
.landing-visual img { display: block; width: 100%; aspect-ratio: 4 / 3; border-radius: 1.25rem; object-fit: cover; }
.landing-visual > div { position: absolute; right: -.75rem; bottom: -1.25rem; display: grid; max-width: 19rem; padding: 1rem 1.15rem; border-radius: .85rem; background: #fff; color: hsl(var(--foreground)); box-shadow: var(--shadow-elegant); }
.landing-visual span { color: hsl(var(--muted-foreground)); font-size: .78rem; }
.landing-value { padding: 1.5rem 0 0; background: hsl(var(--background)); }
.landing-value-grid { display: grid; gap: .75rem; }
.landing-value-grid article { display: flex; align-items: center; gap: .85rem; padding: 1rem; border: 1px solid hsl(var(--border)); border-radius: .85rem; background: #fff; box-shadow: 0 8px 24px hsl(215 48% 17% / .05); }
.landing-value-grid article > div { display: grid; }
.landing-value-grid strong { font-size: .9rem; }
.landing-value-grid small { color: hsl(var(--muted-foreground)); font-size: .75rem; line-height: 1.4; }
.value-icon { display: grid; place-items: center; flex: none; width: 2.35rem; height: 2.35rem; border-radius: .7rem; background: hsl(var(--accent) / .12); color: hsl(var(--accent)); font-size: .66rem; font-weight: 850; }
.value-icon svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.landing-two-col { display: grid; align-items: center; gap: clamp(2rem, 7vw, 6rem); }
.landing-two-col h2 { font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1.08; }
.landing-list-card { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid hsl(var(--border)); border-radius: 1.1rem; background: #fff; }
.landing-list-card h3 { margin-bottom: 1.25rem; }
.landing-list-card ul { display: grid; gap: .85rem; margin: 0; padding: 0; list-style: none; }
.landing-list-card li { position: relative; padding-left: 1.5rem; color: hsl(var(--muted-foreground)); }
.landing-list-card li::before { content: "✓"; position: absolute; left: 0; color: hsl(var(--accent)); font-weight: 900; }
.landing-section-head { max-width: 48rem; margin-bottom: 2rem; }
.landing-section-head > p:last-child { max-width: 42rem; color: hsl(var(--muted-foreground)); }
.expect-grid { display: grid; gap: 1rem; }
.expect-card { padding: 1.4rem; border: 1px solid hsl(var(--border)); border-radius: 1rem; background: #fff; box-shadow: 0 10px 30px hsl(210 38% 15% / .05); }
.expect-card h3 { margin: 1rem 0 .5rem; font-size: 1.15rem; }
.expect-card p { margin: 0; color: hsl(var(--muted-foreground)); font-size: .94rem; line-height: 1.6; }
.expect-icon { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: .75rem; background: hsl(168 55% 91%); color: hsl(var(--primary)); }
.expect-icon svg { width: 1.45rem; height: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.service-depth-section { overflow: hidden; background: hsl(207 34% 96%); }
.service-depth-intro { display: grid; gap: 1rem; margin-bottom: 1.75rem; }
.service-depth-intro h2, .service-fit-panel h2 { max-width: 18ch; font-size: clamp(1.9rem, 4vw, 3rem); }
.service-depth-intro > p, .service-fit-panel p { color: hsl(var(--muted-foreground)); }
.service-detail-grid { display: flex; gap: .85rem; margin-right: calc(var(--container-pad) * -1); padding: .1rem var(--container-pad) .75rem 0; overflow-x: auto; scroll-snap-type: x mandatory; }
.service-detail-grid article { display: block; flex: 0 0 min(82vw, 22rem); min-height: 13.5rem; padding: 1.25rem; border: 1px solid hsl(var(--border)); border-top: .25rem solid hsl(var(--accent)); border-radius: .9rem; background: #fff; scroll-snap-align: start; box-shadow: 0 8px 24px hsl(215 48% 17% / .04); }
.service-detail-grid h3 { margin-bottom: .5rem; font-size: 1.05rem; }
.service-detail-grid p { margin: 0; color: hsl(var(--muted-foreground)); font-size: .84rem; line-height: 1.55; }
.service-fit-panel { display: grid; gap: 1.25rem; margin-top: 2rem; padding: clamp(1.35rem, 4vw, 2.25rem); border-radius: 1rem; background: hsl(var(--primary)); color: #fff; }
.individual-fit-section { padding-top: 2rem; }
.individual-fit-section .service-fit-panel { margin-top: 0; }
.service-fit-panel h2 { color: #fff; }
.service-fit-panel p { color: hsl(210 27% 82%); }
.service-fit-panel small { display: block; color: hsl(210 22% 72%); font-size: .7rem; line-height: 1.5; }
.service-fit-panel ul { display: grid; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.service-fit-panel li { position: relative; padding: .75rem .8rem .75rem 2.3rem; border: 1px solid hsl(0 0% 100% / .13); border-radius: .7rem; background: hsl(0 0% 100% / .07); font-size: .82rem; font-weight: 700; }
.service-fit-panel li::before { content: "✓"; position: absolute; left: .85rem; color: hsl(168 58% 68%); }
.service-narratives-section { background: #fff; }
.service-narratives-wrap { max-width: 68rem; }
.service-narratives { display: grid; gap: 1rem; }
.service-narrative-block { display: grid; gap: 1.25rem; padding: clamp(1.35rem, 4vw, 2.5rem); border: 1px solid hsl(var(--border)); border-radius: 1rem; background: hsl(var(--background)); }
.service-narrative-marker { display: flex; align-items: center; justify-content: center; min-height: 4rem; padding: 1rem 1.15rem; border-radius: .8rem; background: linear-gradient(135deg, hsl(var(--primary)), hsl(210 44% 25%)); color: #fff; }
.service-narrative-marker svg { width: 2rem; height: 2rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; opacity: .9; }
.service-narrative-media { min-height: 10rem; overflow: hidden; border-radius: .8rem; background: hsl(var(--muted)); }
.service-narrative-media img { display: block; width: 100%; height: 100%; min-height: 10rem; aspect-ratio: 16 / 10; object-fit: cover; }
.service-narrative-block h3 { max-width: 24ch; margin-bottom: .8rem; font-size: clamp(1.45rem, 3vw, 2.15rem); }
.service-narrative-block > div:last-child > p:last-child { margin: 0; color: hsl(var(--muted-foreground)); font-size: .94rem; line-height: 1.75; }
.landing-audience { background: hsl(206 27% 95%); }
.audience-panel { display: grid; align-items: center; gap: 1.5rem; }
.audience-panel h2 { max-width: 18ch; font-size: clamp(1.9rem, 4vw, 3rem); }
.audience-list { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.audience-list li { position: relative; padding: .9rem 1rem .9rem 2.75rem; border-radius: .75rem; background: #fff; color: hsl(var(--foreground)); font-weight: 700; }
.audience-list li::before { content: "✓"; position: absolute; left: 1rem; color: hsl(var(--accent)); }
.cross-sell-section { background: #fff; }
.cross-sell-grid { display: flex; gap: 1rem; margin-right: calc(var(--container-pad) * -1); padding-right: var(--container-pad); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.cross-sell-card { --card-accent: hsl(171 48% 34%); --card-tint: hsl(168 45% 94%); position: relative; display: grid; flex: 0 0 min(82vw, 20rem); gap: .55rem; min-height: 13rem; padding: 1.35rem; overflow: hidden; border: 1px solid color-mix(in srgb, var(--card-accent) 24%, white); border-radius: 1rem; background: linear-gradient(145deg, var(--card-tint), #fff 72%); color: hsl(var(--foreground)); text-decoration: none; scroll-snap-align: start; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.cross-sell-card::before { content: ""; position: absolute; inset: 0 0 auto; height: .3rem; background: var(--card-accent); }
.cross-sell-card:hover { border-color: hsl(var(--accent)); transform: translateY(-2px); }
.cross-sell-icon { display: grid; width: 2.8rem; height: 2.8rem; margin-bottom: .35rem; place-items: center; border-radius: .75rem; background: var(--card-accent); color: #fff; }
.cross-sell-icon svg { width: 1.45rem; height: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cross-sell-label { color: var(--card-accent); font-size: .86rem; font-weight: 900; line-height: 1.3; letter-spacing: .025em; }
.cross-sell-card strong { font-size: 1.12rem; line-height: 1.35; }
.cross-sell-card small { align-self: end; color: var(--card-accent); font-weight: 800; }
.cross-sell-individual-tax { --card-accent: hsl(171 48% 34%); --card-tint: hsl(168 45% 94%); }
.cross-sell-business-tax { --card-accent: hsl(35 73% 38%); --card-tint: hsl(40 68% 94%); }
.cross-sell-bookkeeping { --card-accent: hsl(207 62% 38%); --card-tint: hsl(207 62% 95%); }
.cross-sell-financial-tax-planning { --card-accent: hsl(270 35% 43%); --card-tint: hsl(270 40% 96%); }
.cross-sell-business-advisory { --card-accent: hsl(215 48% 28%); --card-tint: hsl(215 42% 95%); }
.advisory-explainer { background: hsl(var(--primary)); color: #fff; }
.advisory-explainer-grid { display: grid; gap: 2rem; }
.advisory-explainer h2 { max-width: 14ch; color: #fff; font-size: clamp(2rem, 5vw, 3.7rem); }
.advisory-explainer p { max-width: 43rem; color: hsl(210 27% 82%); }
.advisory-flow { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.advisory-flow li { display: flex; gap: 1rem; padding: 1rem; border: 1px solid hsl(0 0% 100% / .16); border-radius: .85rem; background: hsl(0 0% 100% / .07); }
.advisory-flow li > span { color: hsl(168 58% 68%); font-size: .72rem; font-weight: 900; letter-spacing: .1em; }
.advisory-flow div { display: grid; gap: .25rem; }
.advisory-flow strong { color: #fff; }
.advisory-flow small { color: hsl(210 25% 78%); line-height: 1.5; }
.decision-grid { display: grid; gap: 1rem; margin-top: 2rem; }
.decision-grid article { padding: 1.3rem; border-radius: .95rem; background: #fff; color: hsl(var(--foreground)); }
.decision-grid h3 { margin: 1rem 0 .45rem; font-size: 1.08rem; }
.decision-grid p { margin: 0; color: hsl(var(--muted-foreground)); font-size: .9rem; line-height: 1.6; }
.advisory-insights-section { overflow: hidden; background: hsl(40 38% 96%); }
.advisory-insights-head { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; }
.advisory-insights-head h2 { max-width: 17ch; font-size: clamp(2rem, 5vw, 3.4rem); }
.advisory-insights-head p:last-child { max-width: 40rem; color: hsl(var(--muted-foreground)); }
.advisory-carousel { display: flex; gap: 1rem; margin-right: calc(var(--container-pad) * -1); padding-right: var(--container-pad); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.advisory-article-card { display: grid; flex: 0 0 min(84vw, 23rem); overflow: hidden; border: 1px solid hsl(var(--border)); border-radius: 1rem; background: #fff; color: hsl(var(--foreground)); text-decoration: none; scroll-snap-align: start; box-shadow: 0 12px 35px hsl(215 35% 20% / .07); transition: transform .2s ease, box-shadow .2s ease; }
.advisory-article-card:hover { transform: translateY(-3px); box-shadow: 0 18px 42px hsl(215 35% 20% / .12); }
.advisory-article-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.advisory-card-body { display: grid; gap: .65rem; padding: 1.2rem; }
.advisory-card-body small { color: hsl(var(--accent)); font-size: .7rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.advisory-card-body strong { font-size: 1.25rem; line-height: 1.3; }
.advisory-card-body > span { color: hsl(var(--muted-foreground)); font-size: .9rem; line-height: 1.55; }
.advisory-card-body b { color: hsl(var(--primary)); font-size: .82rem; }
.landing-review { margin: 0; padding: clamp(1.75rem, 5vw, 3rem); border-radius: 1.1rem; background: hsl(var(--primary)); color: #fff; }
.landing-review blockquote { margin: 0 0 1.25rem; font-size: clamp(1.35rem, 3vw, 2rem); line-height: 1.35; font-weight: 700; }
.landing-review figcaption, .landing-review small { color: hsl(210 25% 78%); }
.landing-review a { color: hsl(168 58% 68%); }
.landing-review small { display: block; margin-top: 1rem; font-size: .7rem; }
.landing-contact { background: #fff; }
.landing-contact .contact-channel { margin-bottom: 1rem; }
.landing-faq { background: hsl(206 27% 96%); }
.faq-layout { display: grid; gap: 2rem; }
.faq-layout h2 { max-width: 17ch; font-size: clamp(1.9rem, 4vw, 3rem); }
.faq-list { display: grid; gap: .75rem; }
.faq-item { padding: 1rem 1.15rem; border: 1px solid hsl(var(--border)); border-radius: .85rem; background: #fff; }
.faq-item summary { cursor: pointer; color: hsl(var(--foreground)); font-weight: 800; line-height: 1.4; }
.faq-item p { margin: .8rem 0 .15rem; color: hsl(var(--muted-foreground)); font-size: .92rem; line-height: 1.65; }
@media (min-width: 900px) {
  .landing-value-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .service-depth-intro { grid-template-columns: minmax(0, 1fr) minmax(22rem, .8fr); align-items: end; }
  .service-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-right: 0; padding-right: 0; overflow: visible; }
  .service-detail-grid article { min-width: 0; min-height: 12.5rem; }
  .service-fit-panel { grid-template-columns: minmax(0, 1fr) minmax(22rem, .85fr); align-items: center; }
  .service-narrative-block { grid-template-columns: minmax(12rem, .32fr) minmax(0, 1fr); align-items: stretch; gap: 2.5rem; }
  .service-narrative-reverse { grid-template-columns: minmax(0, 1fr) minmax(12rem, .32fr); }
  .service-narrative-reverse .service-narrative-marker { order: 2; }
  .service-narrative-reverse .service-narrative-media { order: 2; }
  .service-narrative-marker { min-height: 12rem; align-items: flex-end; }
  .service-narrative-marker svg { width: 3rem; height: 3rem; }
  .service-narrative-media { min-height: 12rem; }
  .service-narrative-media img { min-height: 12rem; aspect-ratio: auto; }
  .landing-hero-grid, .landing-two-col { grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr); }
  .expect-grid, .cross-sell-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-right: 0; padding-right: 0; overflow: visible; }
  .cross-sell-card { min-width: 0; }
  .audience-panel { grid-template-columns: minmax(0, 1fr) minmax(26rem, 1fr); }
  .audience-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faq-layout { grid-template-columns: minmax(15rem, .75fr) minmax(0, 1.25fr); }
  .advisory-explainer-grid { grid-template-columns: minmax(0, 1fr) minmax(22rem, .85fr); gap: 4rem; }
  .decision-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .advisory-article-card { flex-basis: calc((100% - 2rem) / 3); }
}
@media (min-width: 640px) and (max-width: 899px) { .expect-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .landing-page .head-phone { display: none; }
  .landing-hero { padding: 3rem 0 4rem; }
  .landing-hero h1 { font-size: clamp(2.6rem, 12vw, 3.5rem); }
  .landing-actions { display: grid; }
  .landing-visual > div { right: .5rem; bottom: -1.5rem; }
  .advisory-insights-head { align-items: start; }
  .advisory-insights-head .insights-controls { display: none; }
}
