/* 2026-10-04: editorial refresh, aligned with Meta v3 */
:root {
 --color-bg:#f5f5ed; --color-line:#dce2d7; --color-line-soft:#edf0e8;
 --color-navy:#152d28; --color-navy-2:#23483e; --color-blue:#275a48;
 --color-blue-tint:#edf3e7; --color-ink:#182d27; --color-ink-muted:#52645b;
 --color-accent:#d7ee87; --color-accent-deep:#a6ce59; --color-accent-tint:#f0f7d8;
 --shadow-lg:0 20px 50px rgba(21,45,40,.12);
}
body { background:#fcfcf8; }
.site-header { background:rgba(252,252,248,.97); border-bottom:1px solid var(--color-line); }
.brand__mark { border-radius:50%; background:var(--color-navy); }
.site-nav { gap:22px; }
.btn { border-radius:8px; }
.btn--accent, .hero-cta__main { background:var(--color-accent); color:var(--color-navy); box-shadow:none; }
.btn--accent:hover, .hero-cta__main:hover { background:var(--color-accent-deep); color:var(--color-navy); }
.section-eyebrow { color:var(--color-blue); }
.section-eyebrow::before { background:var(--color-blue); }
.hero { background:#f5f5ed; padding:64px 0 70px; }
.hero::before { display:none; }
.hero .container { gap:56px; grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr); align-items:center; }
.hero h1 { font-size:clamp(31px,3.65vw,48px); line-height:1.38; letter-spacing:-.035em; margin-top:22px; }
.hero .lead { font-size:15px; max-width:570px; line-height:1.9; }
.hero-flags { gap:10px; flex-wrap:wrap; }
.hero-flag--navy { background:transparent; color:var(--color-navy); padding:0; font-size:13px; letter-spacing:.06em; }
.hero-flag--line { background:#e7eadf; border:0; color:var(--color-ink-muted); font-size:11px; padding:5px 10px; }
.hero-price { background:transparent; padding:18px 0; border-radius:0; border-top:1px solid #d4dbce; border-bottom:1px solid #d4dbce; margin-top:24px; }
.hero-price__main { align-items:center; flex-wrap:wrap; gap:4px 14px; }
.hero-price__value b { font-size:42px; color:var(--color-navy); }
.hero-price__tax { font-size:12px; color:var(--color-ink-muted); }
.hero-price__points { font-size:12px; }
.hero-cta { gap:12px; }
.hero-cta__main { font-size:14px; }
.hero-cta__sub { background:transparent; font-size:13px; padding-inline:12px; }
.hero-reassure { color:var(--color-ink-muted); gap:8px 14px; font-size:11px; }
.offer-preview { background:var(--color-navy); border-radius:12px; padding:28px; transform:none; }
.offer-preview__head > span { color:#d7ee87; letter-spacing:.1em; font-size:11px; }
.offer-preview__head > strong { font-size:29px; line-height:1.5; }
.offer-preview__paper { border-radius:5px; padding:22px; }
.offer-preview li { gap:14px; padding:15px 0; }
.offer-preview li strong { font-size:15px; }
.offer-preview__foot { color:#d5e2d6; font-size:12px; }
.section-pad { padding:76px 0; }
.section-head { margin-bottom:36px; }
.section-head h2 { font-size:clamp(25px,3vw,34px); }
#works .section-head { text-align:left; margin-left:0; max-width:760px; }
#works .section-head .section-eyebrow { justify-content:flex-start; }
.works-note { font-size:11px; }
#pricing { background:#f1f4e8; }
#pricing .section-head p { font-size:14px; }
.price-card { border-radius:12px; box-shadow:none; }
.price-card--recommended { border-color:var(--color-navy); }
.price-card .btn { color:var(--color-navy); }
.price-card .btn--primary { color:white; }
.price-tax { display:block; margin-top:4px; font-size:12px; color:var(--color-ink-muted); }
#contact { background:var(--color-navy); color:white; }
#contact .section-eyebrow { color:var(--color-accent); }
#contact .section-eyebrow::before { background:var(--color-accent); }
#contact .contact-info h2 { color:white; font-size:clamp(26px,3vw,34px); }
#contact .contact-info > p, #contact .contact-info-list { color:#d5e2d6; }
#contact .contact-form-note { color:#d5e2d6; }
#contact .contact-form { color:var(--color-ink); border:0; border-radius:12px; background:#fcfcf8; }
#contact .form-success { background:#fcfcf8; color:var(--color-ink); }
.business-examples { margin-top:26px; padding:20px; border:1px solid #496358; border-radius:8px; }
.business-examples strong { font-size:13px; color:var(--color-accent); }
.business-examples p { margin-top:12px; font-size:12px; color:#d5e2d6; line-height:1.9; }
.business-examples small { display:block; color:#b9cbc0; font-size:11px; margin-top:12px; }
.contact-fallback { margin-top:18px; color:#d5e2d6; font-size:12px; }
.contact-fallback a { text-underline-offset:4px; }
.form-group input, .form-group textarea { border-radius:6px; }
.form-details summary { color:var(--color-blue); }
.final-cta { background:#eef4dc; }
.final-cta h2, .final-cta p { color:var(--color-navy); }
.final-cta .btn--outline { border-color:#b8c5a7; color:var(--color-navy); }
.mobile-cta { background:rgba(252,252,248,.98); border-top-color:var(--color-line); }
@media (min-width:981px) { .works-section .work-card { box-shadow:none; } }
@media (max-width:980px) {
 .hero .container { grid-template-columns:1fr; gap:30px; }
 .hero { padding:36px 0 48px; }
 .hero-copy { max-width:680px; }
 .hero .offer-preview { max-width:680px; width:100%; margin:0; transform:none; }
 .site-header .container { gap:12px; }
}
@media (max-width:767px) {
 .section-pad { padding:50px 0; }
 .container { padding-inline:20px; }
 .hero h1 { font-size:clamp(27px,7.7vw,39px); margin-top:18px; }
 .hero .lead { font-size:13px; }
 .hero-price { margin-top:18px; padding:14px 0; }
 .hero-price__value b { font-size:38px; }
 .hero-price__points { font-size:11px; }
 .hero-cta { flex-direction:column; align-items:stretch; }
 .hero-cta__main { min-height:52px; font-size:14px; }
 .hero-cta__sub { min-height:42px; }
 .hero-reassure { gap:6px 12px; font-size:10px; }
 .hero .offer-preview { padding:22px; }
 .offer-preview__head > strong { font-size:25px; }
 .offer-preview__paper { margin-top:16px; padding:18px; }
 .offer-preview li { padding:12px 0; }
 .section-head { margin-bottom:28px; }
 .section-head p { font-size:13px; }
 .contact-layout { gap:30px; }
 #contact .contact-form { padding:20px; }
 .form-group input, .form-group textarea { font-size:16px; }
 .brand { font-size:16px; }
 .brand__mark { width:30px; height:30px; font-size:12px; }
 .mobile-cta .btn--accent { font-size:12px; padding-inline:12px; }
}

.hero-flag--navy { box-shadow:none; }
.hero-price { display:block; }
.hero-price__main { display:flex; gap:4px 12px; }
.hero-price__points { margin-top:10px; padding:0; border:0; display:flex; flex-wrap:wrap; gap:4px 14px; }
.hero-price__points li { padding:0; }
.hero-price__points li::before { display:none; }
.hero-price__label { margin:0; }

.work-card > *, .price-card, .consult-step { min-width:0; }
.consult-flow { grid-template-columns:repeat(5,minmax(0,1fr)); }
@media (max-width:980px) { .consult-flow { grid-template-columns:1fr; } }
@media (max-width:767px) { .works-grid, .pricing-grid { grid-template-columns:minmax(0,1fr); } .work-card { grid-template-columns:minmax(0,1fr); } }
@media (max-width:360px) { .price-card { padding:22px 18px; } .price-card__price { font-size:35px; } .price-card__note { font-size:12px; } .work-card__content { padding:18px; } }

.pain-row, .pain-row p { min-width:0; }
@media (max-width:767px) { .pain-list { grid-template-columns:minmax(0,1fr); } }

:root { --color-accent-deep:#386649; --color-ink-soft:#63756b; }
.btn--accent:hover, .hero-cta__main:hover { background:#c4df74; color:var(--color-navy); }
.check-icon, .flow-step__num { color:var(--color-blue); }
.flow-step__body, .consult-step__body { min-width:0; }
.flow-step__num, .consult-step__num { flex-shrink:0; }
.form-group label .required { color:var(--color-navy); background:var(--color-accent); }
.form-note { color:var(--color-ink-muted); }

@media (min-width:901px) and (max-width:980px) {
 .site-nav { position:fixed; inset:var(--header-h) 0 0 0; background:var(--color-white); flex-direction:column; align-items:flex-start; padding:28px 24px; gap:4px; overflow-y:auto; }
 .site-nav.is-open { display:flex; }
 .site-nav a { width:100%; padding:15px 4px; border-bottom:1px solid var(--color-line); font-size:16px; }
 .nav-toggle { display:flex; }
 .header-cta-desktop { display:none; }
 .nav-cta-mobile { display:inline-flex; margin-top:16px; width:100%; }
}

@media (max-width:980px) { .site-nav:not(.is-open) { display:none; } }
