/* Shared polish for the inner pages (pricing, portfolio, faq, reviews, planning, contact).
   Loaded after each page's own <style>, so it brings them in line with the homepage:
   pill buttons, current-page highlight, line icons, the homepage footer and the mobile
   Call / Text / Check Availability bar. Page copy is untouched. */

:root {
  --ink: #0a0a0a;
  --gold-deep: #8a6d3b;
  --on-dark: #f5f2ec;
  --on-dark-mid: rgba(245, 242, 236, .68);
  --rule-dark: rgba(245, 242, 236, .12);
  --ease: cubic-bezier(.22, 1, .36, 1);
}

html { -webkit-text-size-adjust: 100%; }
img { max-width: 100%; }

/* Nav: mark the page you are on, like the homepage does */
.nav-links a[aria-current="page"] { color: #fff; text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 2px; text-underline-offset: 8px; }
button.mobile-toggle { background: none; border: 0; padding: 8px; margin: -8px; color: inherit; }

/* Buttons: the homepage's pill shape */
.nav-cta, .btn-primary, .btn-pkg { border-radius: 999px !important; }
.btn-primary, .btn-pkg { transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease) !important; }
.btn-primary:hover, .btn-pkg:hover { transform: none !important; }

/* Keyboard focus that is visible on light and dark sections */
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 6px;
}

/* Line icons in place of emoji */
.ca-ico { width: 22px; height: 22px; display: block; fill: none; stroke: var(--gold-deep); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.inc-icon, .addon-item > span:first-child, .cm-icon { line-height: 0; font-size: 0 !important; }
.inc-icon { width: 40px; height: 40px; border-radius: 10px; background: rgba(201, 169, 110, .12); display: grid; place-items: center; margin-top: 0 !important; }
.addon-item > span:first-child { width: 40px; height: 40px; flex-shrink: 0; border-radius: 10px; background: rgba(201, 169, 110, .12); display: grid; place-items: center; }

/* Pricing add-ons: three even cards instead of a cramped two-column box */
.addons-inner { max-width: 960px !important; }
.addon-grid { max-width: 960px !important; grid-template-columns: repeat(3, 1fr) !important; }
.addon-item { align-items: flex-start !important; }
@media (max-width: 768px) { .addon-grid { grid-template-columns: 1fr !important; } }

/* Footer: same as the homepage */
.site-foot { background: #050505; color: var(--on-dark-mid); padding: 56px clamp(16px, 4vw, 40px) calc(56px + env(safe-area-inset-bottom, 0px)); font-size: 15px; text-align: left; }
.site-foot .foot-wrap { max-width: 1180px; margin: 0 auto; }
.site-foot .foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 32px; }
.site-foot .foot img { height: 56px; width: auto; }
.site-foot .foot-links { display: flex; flex-wrap: wrap; gap: 10px 26px; list-style: none; margin: 0; padding: 0; }
.site-foot a { color: var(--on-dark-mid); text-decoration: none; }
.site-foot a:hover { color: var(--on-dark); }
.site-foot .foot-contact { display: grid; gap: 6px; }
.site-foot .foot-copy { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--rule-dark); font-size: 14px; }

/* Mobile action bar: same as the homepage */
.mbar { display: none; }
@media (max-width: 700px) {
  .mbar { display: grid; grid-template-columns: 1fr 1fr 1.7fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)); background: rgba(10, 10, 10, .96); border-top: 1px solid var(--rule-dark); transform: translateY(110%); transition: transform .45s var(--ease); }
  .mbar.show { transform: translateY(0); }
  .mbar a { display: grid; place-items: center; min-height: 46px; border-radius: 999px; border: 1px solid #333; color: var(--on-dark); font: 600 15px 'Familjen Grotesk', 'Helvetica Neue', Arial, sans-serif; text-decoration: none; }
  .mbar a.go { background: var(--gold); border-color: var(--gold); color: var(--ink); }
  .site-foot { padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)); }
}

@media (prefers-reduced-motion: reduce) {
  .fade-up { opacity: 1 !important; transform: none !important; transition: none !important; }
  .mbar { transition: none; }
}
