@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#1d2a44;--muted:#5e6572;--primary:#176b5d;--accent:#a34736;--paper:#f7f2e9;--tint:#ddebe6;--card:#fffdf8;--line:#cfc7bb;--shadow:0 20px 55px rgba(29,42,68,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.shell{width:min(1160px,calc(100% - 42px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(247,242,233,.96);backdrop-filter:blur(12px);display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px 0;border-bottom:1px solid var(--line)}.brand{font-size:1.24rem;font-weight:800;letter-spacing:-.05em;text-decoration:none}.brand span{color:var(--primary);font-family:Georgia,serif;font-style:italic;font-weight:600;letter-spacing:-.08em}.site-nav{display:flex;align-items:center;gap:22px;font-size:.85rem;font-weight:600}.site-nav a{text-decoration:none}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.78rem 1.1rem;border:1px solid var(--primary);border-radius:999px;background:var(--primary);color:#fff;text-decoration:none;font-weight:700}.nav-cta{min-height:38px;padding:.55rem .9rem;background:var(--ink);border-color:var(--ink);font-size:.8rem}.button.secondary{background:transparent;border-color:var(--ink);color:var(--ink)}.button.light{background:var(--card);border-color:var(--card);color:var(--ink)}.button.small{min-height:38px;padding:.55rem .85rem;font-size:.82rem}.eyebrow{color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.75fr);gap:42px;align-items:center;padding:42px 0 48px}.hero h1{max-width:800px;margin:18px 0 24px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(3.1rem,6.2vw,6.3rem);font-weight:500;line-height:.94;letter-spacing:-.055em}.hero h1 em{color:var(--primary);font-style:italic}.lede{max-width:670px;color:var(--muted);font-size:1.11rem;line-height:1.72}.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:22px}.workflow-visual{position:relative;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:18px 20px 0 var(--tint);transform:rotate(1deg)}.workflow-visual h2{margin:0 0 26px;font-family:'Playfair Display',Georgia,serif;font-size:2rem;font-weight:500}.flow-step{display:grid;grid-template-columns:36px 1fr;gap:13px;padding:16px 0;border-top:1px solid var(--line)}.flow-step b{color:var(--accent);font-size:.76rem}.flow-step strong{display:block;font-size:.98rem}.flow-step span{display:block;margin-top:4px;color:var(--muted);font-size:.85rem;line-height:1.45}.trust-strip{background:var(--ink);color:#fff}.trust-strip .shell{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:20px 0}.trust-strip strong{display:block;color:#fff;font-size:1.15rem}.trust-strip span{display:block;margin-top:4px;color:#dce4e4;font-size:.77rem;line-height:1.4}.section{padding:44px 0}.section.alt{background:var(--tint)}.section-heading{display:block;margin-bottom:24px}.section-heading p{max-width:780px}.section h2,.page-hero h1{margin:10px 0 0;font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.4rem,4.8vw,4.8rem);font-weight:500;line-height:1;letter-spacing:-.05em}.section-heading p{margin:12px 0 0;color:var(--muted);font-size:1.04rem;line-height:1.6}.problem-grid,.service-grid,.resource-grid,.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.problem-card,.service-card,.resource-card,.proof-card{padding:28px;border:1px solid var(--line);border-radius:17px;background:var(--card)}.problem-card{min-height:145px}.problem-card strong,.service-card h3,.resource-card h3{display:block;margin:0 0 10px;font-family:'Playfair Display',Georgia,serif;font-size:1.45rem;font-weight:500}.problem-card p,.service-card p,.resource-card p,.proof-card p{margin:0;color:var(--muted);line-height:1.58}.service-card{min-height:0}.service-card b{color:var(--accent);font-size:.71rem;letter-spacing:.1em}.service-card h3{margin-top:24px}.service-card a,.resource-card a,.text-link{display:inline-block;margin-top:18px;color:var(--primary);font-size:.84rem;font-weight:700;text-decoration:none}.score-panel{display:grid;grid-template-columns:1fr .74fr;gap:54px;align-items:center;padding:44px;border-radius:26px;background:var(--primary);color:#fff}.score-panel h2{margin:0;color:#fff}.score-panel p{color:#e9f2ef;line-height:1.65}.score-panel .eyebrow{color:#fff}.about-preview{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);gap:42px;align-items:center}.about-copy{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.6rem,3.1vw,2.7rem);line-height:1.23;letter-spacing:-.03em}.about-note{padding-left:24px;border-left:3px solid var(--accent);color:var(--muted);line-height:1.68}.proof-card b{color:var(--accent);font-size:.72rem;letter-spacing:.1em}.proof-card h3{margin:12px 0 10px;font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;font-weight:500}.final-cta{text-align:center;margin:0 0 44px;padding:36px;border-radius:30px 5px 30px 5px;background:var(--ink);color:#fff}.final-cta h2{max-width:800px;margin:10px 0 16px;color:#fff}.final-cta p{max-width:650px;margin-inline:auto;color:#dce4e4;line-height:1.65}.site-footer{border-top:1px solid var(--line);padding:24px 0 48px;font-size:.82rem}.footer-row{display:flex;justify-content:space-between;gap:25px}.footer-links{display:flex;flex-wrap:wrap;gap:18px}.footer-links a{color:var(--ink);text-decoration:none}.page-hero{padding:42px 0 30px}.page-hero p{max-width:700px;color:var(--muted);font-size:1.1rem;line-height:1.7}.score-shell{max-width:850px}.score-card{padding:36px;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--shadow)}.progress{height:8px;margin-bottom:28px;border-radius:999px;background:var(--tint);overflow:hidden}.progress span{display:block;height:100%;background:var(--primary);transition:width .2s ease}.question-count{color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.question h2{margin:12px 0;font-family:'Playfair Display',Georgia,serif;font-size:2rem;font-weight:500}.question p{color:var(--muted);line-height:1.6}.choices{display:grid;gap:10px;margin:26px 0}.choice{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.choice input{accent-color:var(--primary)}.choice:has(input:checked){border-color:var(--primary);background:var(--tint)}.step-feedback{min-height:24px;color:var(--primary);font-size:.88rem;font-weight:600}.score-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.email-gate{display:none}.email-gate.show{display:block}.email-gate h2{margin:0;font-family:'Playfair Display',Georgia,serif;font-size:2.3rem;font-weight:500}.email-gate p{color:var(--muted);line-height:1.6}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.8rem;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fffdf8;color:var(--ink);font:inherit}.field textarea{min-height:110px;resize:vertical}.consent{display:flex;gap:9px;align-items:flex-start;margin:18px 0;color:var(--muted);font-size:.78rem;line-height:1.45}.result{display:none}.result.show{display:block}.result-grade{display:inline-flex;padding:.45rem .65rem;border-radius:999px;background:var(--tint);color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.result h2{margin:16px 0 10px;font-family:'Playfair Display',Georgia,serif;font-size:2.7rem;font-weight:500}.result p{color:var(--muted);line-height:1.68}.result-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:24px}.callout{margin-top:25px;padding:20px 22px;border-left:3px solid var(--accent);background:var(--paper);color:var(--muted);line-height:1.6}.resource-card .draft{display:inline-block;margin-bottom:12px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.faq{border-top:1px solid var(--line)}details{padding:20px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:700}details p{max-width:800px;color:var(--muted);line-height:1.65}.notice{padding:18px 20px;border-left:3px solid var(--accent);background:var(--card);color:var(--muted);line-height:1.6}.checklist{display:grid;gap:10px;padding:0;list-style:none}.checklist li{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.checklist li::before{margin-right:9px;color:var(--primary);content:'✓';font-weight:800}@media(max-width:820px){.site-header{flex-wrap:wrap}.site-nav{flex:1 1 100%;justify-content:flex-start;flex-wrap:wrap;padding-top:4px}.site-nav a:not(.nav-cta){display:inline-flex}.hero,.section-heading,.about-preview,.score-panel,.smallbiz-map{grid-template-columns:1fr;gap:24px}.problem-grid,.service-grid,.resource-grid,.proof-grid{grid-template-columns:repeat(2,1fr)}.trust-strip .shell{grid-template-columns:repeat(2,1fr)}.workflow-visual{max-width:560px}.form-grid{grid-template-columns:1fr}}@media(max-width:560px){.shell{width:min(100% - 28px,1160px)}.hero{padding:42px 0 52px}.hero h1{font-size:3.45rem}.section{padding:34px 0}.problem-grid,.service-grid,.resource-grid,.proof-grid{grid-template-columns:1fr}.score-panel{padding:30px 24px}.final-cta{padding:33px 24px}.footer-row{flex-direction:column}.trust-strip .shell{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
.smallbiz-map{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:28px;background:var(--card)}
.smallbiz-map-copy h2{margin:10px 0 14px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1}
.smallbiz-map-copy p{max-width:520px;color:var(--muted);line-height:1.65}
.smallbiz-map-art{width:100%;border-radius:18px;background:var(--paper);padding:8px}
.smallbiz-map-art img{width:100%;height:auto;border-radius:12px;display:block}
.smallbiz-labels{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}
.smallbiz-label{padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--paper);font-weight:700}
.smallbiz-label span{display:block;margin-top:3px;color:var(--muted);font-size:.82rem;font-weight:400}
.about-photo{padding:18px;transform:none;box-shadow:none}
.about-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px}
@media(max-width:820px){.smallbiz-map{grid-template-columns:1fr}}

.brand img{display:block;width:176px;height:auto}.brand:focus-visible{outline:3px solid var(--accent);outline-offset:4px}

/* Review pass: compact, professional layouts and readable on-page content. */
.service-jump{display:block;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.service-jump:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 10px 24px rgba(29,42,68,.08)}
.service-details{background:var(--card)}
.service-detail{scroll-margin-top:100px;padding:28px 0;border-bottom:1px solid var(--line)}
.service-detail:last-of-type{border-bottom:0}
.service-detail h2{margin:10px 0 12px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1;letter-spacing:-.05em}
.service-detail p{max-width:760px;color:var(--muted);font-size:1.04rem;line-height:1.65}
.article{max-width:820px}
.article-lede{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.45rem,2.4vw,2.15rem);line-height:1.3;letter-spacing:-.02em}
.article h2{margin:34px 0 16px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:500}
.article .notice{margin-top:30px}
@media(max-width:820px){.service-detail{padding:22px 0}.service-details{padding-top:28px}}

.breadcrumbs{display:flex;align-items:center;gap:9px;padding-top:16px;font-size:.78rem;color:var(--muted)}
.breadcrumbs a{color:var(--primary);font-weight:700;text-decoration:none}
.breadcrumbs span[aria-hidden="true"]{color:var(--accent)}
.number-list{display:grid;gap:12px;padding-left:22px;color:var(--muted);line-height:1.65}
.number-list li::marker{color:var(--accent);font-weight:800}
.insight{margin-top:26px;padding:22px;border-left:3px solid var(--accent);border-radius:0 14px 14px 0;background:var(--paper);color:var(--muted);line-height:1.65}
.insight strong{display:block;margin-bottom:7px;color:var(--ink)}
.resource-cta{margin-top:30px;padding:24px;border-radius:16px;background:var(--tint);color:var(--ink)}
.resource-cta p{margin:7px 0 16px;color:var(--muted);line-height:1.55}
.result-breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}
.result-note{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.result-note strong{display:block;margin-bottom:7px;color:var(--ink)}
.result-note p{margin:0;color:var(--muted);line-height:1.55}
@media(max-width:560px){.result-breakdown{grid-template-columns:1fr}.breadcrumbs{flex-wrap:wrap}}
.breadcrumbs{display:flex;align-items:center;gap:9px;padding-top:15px;color:var(--muted);font-size:.78rem}.breadcrumbs a{color:var(--primary);font-weight:700;text-decoration:none}.result-next{grid-template-columns:repeat(3,1fr);margin-top:24px}.result-breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}.result-note{padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.result-note strong{display:block;margin-bottom:6px}.result-note p{margin:0;font-size:.92rem}@media(max-width:820px){.result-next{grid-template-columns:1fr}.result-breakdown{grid-template-columns:1fr}}

/* Device pass: keep controls comfortable and prevent cramped layouts. */
img,svg{max-width:100%;height:auto}
button,.button,.nav-cta{touch-action:manipulation}
@media (max-width:820px){
  .site-header{padding:18px 0;gap:16px}
  .brand img{width:156px}
  .site-nav{gap:10px}
  .hero{padding:34px 0 38px}
  .hero h1{font-size:clamp(2.8rem,8vw,4.6rem)}
  .workflow-visual{transform:none;width:100%;padding:24px}
  .section h2,.page-hero h1{font-size:clamp(2.25rem,6vw,3.8rem)}
  .score-card{padding:28px}
  .result-actions .button,.actions .button{flex:1 1 220px}
  .smallbiz-map{padding:16px}
}
@media (max-width:560px){
  .shell{width:calc(100% - 28px)}
  .site-header{padding:14px 0}
  .brand img{width:136px}
  .nav-cta{min-height:36px;padding:.5rem .72rem;font-size:.75rem;white-space:nowrap}
  .hero{padding:30px 0 34px}
  .hero h1{font-size:clamp(2.5rem,13vw,3.45rem);line-height:.98}
  .lede{font-size:1rem;line-height:1.6}
  .section,.page-hero{padding-top:30px;padding-bottom:26px}
  .section-heading{margin-bottom:18px}
  .problem-card,.service-card,.resource-card,.proof-card{padding:22px}
  .score-card{padding:22px 18px;border-radius:18px}
  .score-nav{align-items:stretch}
  .score-nav .button{flex:1}
  .actions,.result-actions{display:grid;grid-template-columns:1fr}
  .actions .button,.result-actions .button{width:100%}
  .form-grid{gap:12px}
  .field input,.field select,.field textarea{font-size:16px}
  .consent{font-size:.8rem}
  .question h2{font-size:1.7rem}
  .result h2{font-size:2.25rem}
  .final-cta{margin-bottom:30px;padding:28px 20px}
  .footer-links{gap:12px}
  .breadcrumbs{line-height:1.45}
  .smallbiz-map-art{padding:4px}
}

/* Mobile and accessibility pass: keep navigation discoverable and layouts balanced. */
.about-preview{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:38px;align-items:center}
.about-photo img{aspect-ratio:4/3}
.site-nav a{min-height:40px;display:inline-flex;align-items:center}
@media (max-width:820px){
  .site-header{flex-wrap:wrap}
  .site-nav{flex:1 1 auto;justify-content:flex-end;flex-wrap:wrap;row-gap:4px}
  .site-nav a:not(.nav-cta){display:inline-flex !important;padding:6px 3px;font-size:.8rem}
  .about-preview{grid-template-columns:1fr;gap:24px}
  .about-photo img{aspect-ratio:16/10}
}
@media (max-width:560px){
  .site-header{align-items:flex-start}
  .brand{flex:0 0 auto}
  .site-nav{min-width:0;gap:4px 9px}
  .site-nav a:not(.nav-cta){font-size:.74rem;min-height:36px}
  .nav-cta{min-height:36px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* Service detail pass: give the explanation and checklist equal visual weight. */
.service-detail{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);column-gap:clamp(42px,7vw,104px);align-items:start;padding:42px 0}
.service-detail>.eyebrow,.service-detail>h2,.service-detail>p{grid-column:1}
.service-detail>.checklist{grid-column:2;grid-row:1 / span 4;margin:0;padding-top:2px}
.service-detail p{max-width:620px}
.service-details>.notice{max-width:980px;margin:34px auto 0}
@media(max-width:820px){
  .service-detail{display:block;padding:30px 0}
  .service-detail>.checklist{margin-top:24px;padding-top:0}
  .service-details>.notice{margin-top:24px}
}
