/* Harbour Lights Community — the ONE definition of the site's closing/footer
   band (the black "Continue when you are ready." CTA). Every page — index.html
   included — links this file directly, so there is exactly one place to edit
   when the real, standardised footer content/styling is finalised, regardless
   of how many pages the site grows to.

   Deliberately kept separate from styles.css: index.html keeps its own
   independent inline styles and doesn't link styles.css (to avoid clashing
   with dozens of its own tuned rules), but it can safely link this file since
   nothing here touches any selector outside .closing.

   Depends on these custom properties already being defined wherever this is
   used (all of them are, in both styles.css and index.html's own <style>):
   --black, --gold. */
.closing{padding:clamp(72px,11vw,150px) 24px;background:var(--black);color:white;text-align:center}
.closing h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.08rem,4vw,4.64rem);line-height:1.02;font-weight:500;margin:0 auto 22px;max-width:1000px}
.closing p{max-width:760px;margin:0 auto 30px;color:#d1cbc4;font-size:.88rem}
.closing .btn{background:var(--gold);color:var(--black);border-color:var(--gold);font-weight:850}

/* Universal site footer — the ONE definition of this markup/styling, the
   same way .closing above is the one definition of the CTA band. Generated
   by footer.js from a <div class="site-footer-mount">, which a page drops
   in below its own .closing-mount to get the standardised multi-column
   footer (logo, nav columns, support/contact CTAs, lighthouse photo, legal
   bar) with nothing of its own to keep in sync by hand. */
.site-footer{background:var(--black);color:#d1cbc4;font-size:.86rem;border-top:1px solid rgba(255,255,255,.32)}
.site-footer-top{display:flex;gap:clamp(24px,4vw,56px);align-items:stretch;max-width:calc(var(--max) + 220px);margin:0 auto;padding:clamp(48px,6vw,72px) clamp(24px,5vw,64px) 48px}
.site-footer-content{display:grid;grid-template-columns:1.2fr repeat(3,.93fr) 1.6fr;gap:0;flex:1 1 auto;min-width:0}
.site-footer-brand{grid-column:1}
.site-footer-content>div:not(:first-child){border-left:1px solid rgba(255,255,255,.14);margin-left:28px;padding-left:28px}
.site-footer-logo{font-family:Georgia,"Times New Roman",serif;color:white;font-size:clamp(1.5rem,2.1vw,1.9rem);line-height:1.05;font-weight:500;margin:0}
.site-footer-logo-sub{display:block;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-top:6px}
.site-footer-logo-rule{width:100%;max-width:210px;height:2px;background:var(--gold);border:0;margin:18px 0}
.site-footer-tagline{margin:0;max-width:240px;color:#d1cbc4;font-size:.85rem;line-height:1.55}
.site-footer-col-title{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:var(--gold);margin:0 0 14px}
.site-footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.site-footer-col a{font-family:Georgia,"Times New Roman",serif;color:#fff;font-size:.92rem;text-decoration:none}
.site-footer-col a:hover{color:var(--gold)}
.site-footer-cta-block{display:flex;flex-direction:column}
.site-footer-cta-rule{width:28px;height:2px;background:var(--gold);border:0;margin:0 0 14px}
.site-footer-cta-heading{font-family:Georgia,"Times New Roman",serif;color:#fff;font-size:1.15rem;font-weight:500;margin:0 0 8px}
.site-footer-cta-desc{font-family:Georgia,"Times New Roman",serif;color:rgba(255,255,255,.72);font-size:.85rem;line-height:1.5;margin:0 0 12px}
a.site-footer-cta-link{display:inline-block;color:var(--gold);text-decoration:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:700}
a.site-footer-cta-link:hover{text-decoration:underline}
.site-footer-cta-hr{border:0;border-top:1px solid rgba(255,255,255,.14);margin:20px 0}
.site-footer-media{flex:0 0 clamp(180px,18vw,260px);position:relative;overflow:hidden}
.site-footer-media img{width:100%;height:100%;object-fit:cover;display:block}
.site-footer-media::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 75% 100% at 78% 50%,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 30%,rgba(0,0,0,.75) 55%,rgba(0,0,0,.95) 80%);z-index:1;pointer-events:none}
.site-footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:20px clamp(24px,5vw,64px);max-width:calc(var(--max) + 220px);margin:0 auto;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between}
.site-footer-legal-links{margin:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.76rem}
.site-footer-legal-links a{color:#d1cbc4;text-decoration:none}
.site-footer-legal-links a:hover{color:var(--gold)}
.site-footer-legal-links span{color:#66605a}
.site-footer-legal-reg{margin:0;font-size:.72rem;color:#8a837b}
@media (max-width:980px){
  .site-footer-top{flex-direction:column}
  .site-footer-content{grid-template-columns:1fr 1fr}
  .site-footer-brand{grid-column:1/-1}
  .site-footer-content>div:not(:first-child){border-left:0;margin-left:0;padding-left:0}
  .site-footer-media{order:-1;flex-basis:auto;height:200px}
}
@media (max-width:560px){
  .site-footer-content{grid-template-columns:1fr}
}
