/* Payne's Trees — shared styles for service / interior pages.
   Palette, type and components taken verbatim from index.html so interior
   pages read as the same site. */

@font-face { font-family:'Archivo'; font-style:normal; font-weight:400 700; font-stretch:100%;
  font-display:swap; src:url(/assets/Archivo-65449f160537.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB; }
@font-face { font-family:'Zilla Slab'; font-style:normal; font-weight:600;
  font-display:swap; src:url(/assets/ZillaSlab-22b28054d7e1.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB; }
@font-face { font-family:'Zilla Slab'; font-style:normal; font-weight:700;
  font-display:swap; src:url(/assets/ZillaSlab-c9352db32f60.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB; }

:root {
  --green:#94B08C; --green-deep:#2F5B3A; --bark:#C79A55;
  --ground:#12100C; --card:#1B1712; --ink:#EFE9DE; --muted:#a39a88;
  --line:#2c2620; --gold:#C79A55; --ember:#B23B2E;
  --shadow:0 1px 3px rgba(0,0,0,.4); --shadow-lg:0 12px 34px rgba(0,0,0,.55);
  --serif:'Zilla Slab', Rockwell, Georgia, serif;
  --sans:'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

* { box-sizing:border-box; }
html, body { overflow-x:hidden; }
body { margin:0; background:var(--ground); color:var(--ink); font-family:var(--sans); line-height:1.55; }
a { color:var(--green); }
.wrap { max-width:1120px; margin:0 auto; padding:0 1.5rem; }

/* Nav — same sticky bar as the homepage */
nav { position:sticky; top:0; z-index:20; background:color-mix(in srgb, var(--ground) 92%, transparent);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
nav .wrap { display:flex; align-items:center; justify-content:space-between; padding-top:.7rem; padding-bottom:.7rem; }
.logo { display:flex; align-items:center; gap:.6rem; text-decoration:none; }
.logo-mark { flex:none; }
.logo-wm { display:flex; flex-direction:column; line-height:.95; font-family:var(--serif); }
.logo-wm .l1 { font-weight:700; font-size:1.25rem; color:var(--ink); }
.logo-wm .l2 { font-weight:600; font-size:.8rem; letter-spacing:.34em; color:var(--green); }
nav .links { display:flex; gap:1rem; align-items:center; font-size:.9rem; }
nav .links a { text-decoration:none; color:var(--ink); }
nav .links a:hover { color:var(--green); }
.callbtn { background:var(--green); color:var(--ground) !important; padding:.45rem .9rem; border-radius:7px; font-weight:600; }
.langlink { border:1px solid var(--line); border-radius:7px; padding:.4rem .7rem; font-size:.82rem; font-weight:600; }
.langlink:hover { border-color:var(--green); color:var(--green); }
@media (max-width:720px) { nav .links a:not(.callbtn):not(.langlink) { display:none; } }
@media (max-width:430px) {
  nav .links { gap:.5rem; flex-wrap:wrap; justify-content:flex-end; row-gap:.4rem; }
  .callbtn { padding:.4rem .55rem; font-size:.78rem; white-space:nowrap; }
  .langlink { padding:.35rem .5rem; font-size:.76rem; }
  .logo-wm .l1 { font-size:1.05rem; }
}

/* Trust bar — same strip as the homepage */
.trust { border-bottom:1px solid var(--line); background:var(--card); }
.trust .wrap { display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; padding-top:1rem; padding-bottom:1rem;
  font-size:.82rem; color:var(--muted); align-items:center; justify-content:center; text-align:center; }
.trust b { color:var(--ink); font-weight:600; }
.trust .dot { color:var(--gold); }
@media (max-width:560px) { .trust .dot { display:none; } .trust .wrap { gap:.5rem 1rem; } }
.trust .badge { height:46px; width:auto; background:#fff; border-radius:6px; padding:3px; transition:transform .12s; }
.trust a:hover .badge { transform:translateY(-1px); }
.flag { height:20px; width:auto; border-radius:2px; display:inline-block;
  box-shadow:0 0 0 1px rgba(255,255,255,.85), 0 1px 2px rgba(0,0,0,.3); }
/* the flag links are their own tap targets — pad them to 24px (WCAG 2.5.8) */
.trust span a { display:inline-block; padding:.15rem .2rem; }

/* Page body */
main { max-width:760px; margin:0 auto; padding:2.5rem 0 3rem; }
.eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:600;
  color:var(--bark); margin:0 0 .8rem; }
h1 { font-family:var(--serif); font-weight:700; font-size:clamp(1.9rem,4.5vw,2.7rem); line-height:1.1;
  margin:0 0 1rem; color:var(--green); text-wrap:balance; letter-spacing:-.01em; }
h2 { font-family:var(--serif); font-weight:600; font-size:clamp(1.25rem,2.6vw,1.55rem);
  margin:2.2rem 0 .6rem; color:var(--ink); text-wrap:balance; }
p { margin:0 0 1rem; }
.lede { font-size:1.12rem; color:var(--muted); max-width:56ch; margin:0 0 1.6rem; }
main ul { padding-left:1.15rem; margin:0 0 1rem; }
main li { margin-bottom:.4rem; }
strong { color:var(--ink); font-weight:600; }

/* Buttons — homepage .btn shapes, reachable under the old .cta class name */
.cta { font-family:var(--sans); border:0; border-radius:8px; padding:.8rem 1.4rem; font-size:.98rem;
  font-weight:600; text-decoration:none; display:inline-block; margin:0 .6rem .6rem 0;
  background:var(--green); color:var(--ground); transition:background .15s, transform .1s; }
.cta:hover { background:var(--green-deep); }
.cta.ghost { background:transparent; color:var(--green); border:1.5px solid var(--green); }
.cta:active { transform:translateY(1px); }

/* Trust / related-services block at the foot of each page */
.facts { background:var(--card); border:1px solid var(--line); border-radius:10px;
  padding:1.4rem 1.5rem; margin-top:2.5rem; font-size:.9rem; color:var(--muted);
  box-shadow:var(--shadow); }
.facts p:first-child { margin-top:0; }
.facts p:last-of-type { margin-bottom:.4rem; }
.facts a { color:var(--green); text-decoration:none; }
/* the related-services list is navigation, so each link is a 24px tap target */
.facts li a { display:inline-block; padding:.3rem 0; }
.facts li { margin-bottom:.15rem; }
.facts a:hover { text-decoration:underline; }

footer { background:var(--card); border-top:1px solid var(--line); font-size:.82rem; color:var(--muted); }
footer .wrap { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.2rem;
  padding-top:1.4rem; padding-bottom:1.4rem; }
.tampa-mark { display:flex; align-items:center; gap:.8rem; }
.tampa-flag { height:52px; width:auto; border-radius:3px; filter:drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
.tampa-mark span { font-family:var(--serif); font-style:italic; color:var(--ink); font-size:.95rem; line-height:1.25; }
.certs { display:flex; align-items:center; gap:.55rem; padding-left:1rem; border-left:1px solid var(--line); }
.cert-badge { height:48px; width:auto; background:#fff; border-radius:7px; padding:4px; box-shadow:var(--shadow); transition:transform .12s; }
.certs a:hover .cert-badge { transform:translateY(-1px); }
footer .credits { text-align:right; }
.builder { display:inline-block; margin-top:.4rem; font-size:.78rem; opacity:.85; }
.builder a { color:var(--gold); text-decoration:none; border-bottom:1px solid color-mix(in srgb, var(--gold) 45%, transparent); }
.builder a:hover { border-bottom-color:var(--gold); }
@media (max-width:640px) { footer .wrap { justify-content:center; text-align:center; } footer .credits { text-align:center; } }

:focus-visible { outline:2px solid var(--green); outline-offset:2px; border-radius:6px; }
