/* PineDecor shared UI — generated from exact duplicate blocks; page-specific CSS remains local. */

.site-nav{position:fixed;z-index:999;top:0;left:0;right:0;background:rgba(243,239,231,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,32,25,.08)}
.site-nav .site-wrap{width:min(1340px,calc(100% - 64px));height:74px;margin:auto;display:flex;align-items:center;gap:24px}
.site-brand{font:31px/1 Georgia,'Times New Roman',serif;letter-spacing:-.03em;margin-right:auto;color:#172019;text-decoration:none}
.site-brand span{display:block;margin-top:4px;font:9px/1.2 Inter,Arial,sans-serif;letter-spacing:.23em;text-transform:uppercase;color:#6d736e}
.site-links{display:flex;align-items:center;gap:21px;font:12px/1.2 Inter,Arial,sans-serif;color:#172019}
.site-links>a,.drop>a{white-space:nowrap;text-decoration:none;color:inherit}
.site-links>a:hover,.drop>a:hover,.drop-menu a:hover{opacity:.62}
.drop{position:relative}
.drop>a:after{content:"  ·";opacity:.38}
.drop-menu{position:absolute;left:-18px;top:24px;min-width:218px;padding:12px;background:#fbf8f2;border:1px solid rgba(23,32,25,.11);border-radius:16px;box-shadow:0 18px 50px rgba(15,25,19,.10);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease}
.drop:hover .drop-menu,.drop:focus-within .drop-menu{opacity:1;visibility:visible;transform:none}
.drop-menu a{display:block;padding:10px 10px;border-radius:10px;text-decoration:none;color:#172019}
.site-cta{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:#20392f;color:#fff!important;border:1px solid #20392f;font-weight:700;text-decoration:none}
.mobile-toggle{display:none;border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:#172019;padding:8px}
.mobile-menu{display:none;position:fixed;z-index:998;top:66px;left:0;right:0;background:#f3efe7;border-bottom:1px solid rgba(23,32,25,.10);padding:12px 18px 20px}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:12px 4px;border-bottom:1px solid rgba(23,32,25,.08);font:14px/1.2 Inter,Arial,sans-serif;text-decoration:none;color:#172019}
.mobile-menu .mgroup{font:10px/1.2 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#6d736e;padding:14px 4px 5px}
.site-footer{padding:38px 0 54px;border-top:1px solid rgba(23,32,25,.14);background:#f3efe7;color:#6d736e;font:12px/1.5 Inter,Arial,sans-serif}
.site-footer .site-wrap{width:min(1340px,calc(100% - 64px));margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px}
.site-footer strong{color:#172019}.site-footer p{margin:8px 0 0}.site-footer a{color:inherit;text-decoration:none}
@media(max-width:1100px){
  .site-links{display:none}.mobile-toggle{display:block}
}
@media(max-width:700px){
  .site-nav .site-wrap,.site-footer .site-wrap{width:calc(100% - 26px)}
  .site-nav .site-wrap{height:66px}
  .site-brand{font-size:28px}
  .site-cta{display:none}
  .site-footer .site-wrap{grid-template-columns:1fr}
}

.legal-footer-links{width:min(1340px,calc(100% - 64px));margin:24px auto 0;padding-top:18px;border-top:1px solid rgba(23,32,25,.10);display:flex;gap:9px;flex-wrap:wrap;font-size:11px;color:#6d736e}.legal-footer-links a{color:inherit;text-decoration:none}.legal-footer-links span{opacity:.55}@media(max-width:700px){.legal-footer-links{width:calc(100% - 26px)}}


/* Shared end-of-page contact actions */
.pine-contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.pine-contact-actions .pine-contact-link{margin:0}
.pine-contact-actions button.pine-contact-link{font:inherit;cursor:pointer}
@media(max-width:640px){.pine-contact-actions{display:grid;grid-template-columns:1fr 1fr}.pine-contact-actions .pine-contact-link{text-align:center;justify-content:center}.pine-contact-actions .pine-contact-link:last-child{grid-column:1/-1}}

/* v7: uniform high-contrast contact buttons across all pages */
.pine-contact-actions .pine-contact-link,
.pine-contact-actions .pine-contact-link.btn,
.pine-contact-actions .pine-contact-link.btn.ghost {
  background:#20392f !important;
  background-color:#20392f !important;
  color:#fff !important;
  border:1px solid #20392f !important;
  opacity:1;
  box-shadow:none;
}
.pine-contact-actions .pine-contact-link:hover,
.pine-contact-actions .pine-contact-link:focus-visible {
  background:#315545 !important;
  background-color:#315545 !important;
  border-color:#315545 !important;
  color:#fff !important;
}
.pine-contact-actions .pine-contact-link:focus-visible {outline:2px solid #315545;outline-offset:3px}
