/* About / Contact / Gallery pages (loaded after app.css; uses the same colour variables) */
.eyebrow{display:inline-block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--emerald);font-weight:700;margin-bottom:.4rem}
.about-split{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center}
.about-split:not(:has(.about-photo)){grid-template-columns:1fr;max-width:820px}
.about-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.about-stats{display:flex;gap:2rem;flex-wrap:wrap}
.about-stats b{display:block;font-family:'Playfair Display',serif;font-size:2rem;color:var(--forest);line-height:1}
.about-stats span{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.offer-link{color:inherit;text-align:center;transition:.2s}.offer-link:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);color:inherit}
.why .offer-link .ic{font-size:2.2rem}
.cta-band{background:var(--grad);color:#fff;border-radius:var(--radius);padding:2.6rem 1.5rem;text-align:center}
.cta-band h2{color:#fff}.cta-band p{color:#d4e8df;margin:.5rem 0 1.4rem}

.contact-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:1.6rem;align-items:start}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.contact-list li{display:flex;gap:.8rem;align-items:flex-start;font-size:.95rem}
.contact-list li>span{font-size:1.3rem;line-height:1.3}
.contact-list b{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.btn-stack{display:grid;gap:.6rem}

.gal-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.4rem}
.gal-filters button{border:1.5px solid var(--line);background:#fff;color:var(--ink-2);padding:.45rem 1rem;border-radius:999px;font:inherit;font-size:.88rem;cursor:pointer;transition:.15s}
.gal-filters button:hover{border-color:var(--emerald);color:var(--emerald)}
.gal-filters button.on{background:var(--forest);border-color:var(--forest);color:#fff}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.gal-item{margin:0;border-radius:var(--radius-sm);overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.gal-open{display:block;width:100%;padding:0;border:0;background:#e9e6da;cursor:zoom-in;aspect-ratio:4/3}
.gal-open img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.gal-open:hover img,.gal-open:focus-visible img{transform:scale(1.05)}
.gal-open:focus-visible{outline:3px solid var(--emerald);outline-offset:-3px}
.gal-item figcaption{padding:.6rem .8rem;font-size:.85rem;display:flex;flex-direction:column}
.gal-item figcaption span{color:var(--muted);font-size:.78rem}

.lightbox{position:fixed;inset:0;z-index:900;background:rgba(8,20,15,.92);display:flex;align-items:center;justify-content:center;padding:1rem}
.lb-body{margin:0;max-width:min(1000px,86vw);text-align:center}
.lb-body img{max-width:100%;max-height:76vh;border-radius:10px;display:block;margin:0 auto}
.lb-body figcaption{color:#fff;margin-top:.8rem;display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}
.lb-close,.lb-nav{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:50%;width:46px;height:46px;font-size:1.8rem;line-height:1;cursor:pointer}
.lb-close:hover,.lb-nav:hover{background:rgba(255,255,255,.28)}
.lb-close{top:14px;right:14px}.lb-prev{left:14px}.lb-next{right:14px}
.lb-nav{top:50%;transform:translateY(-50%)}

@media(max-width:900px){.about-split,.contact-layout{grid-template-columns:1fr}.lb-prev{left:6px}.lb-next{right:6px}}
@media(max-width:520px){.gal-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.gal-item figcaption span{display:none}}
@media(prefers-reduced-motion:reduce){.gal-open img,.offer-link{transition:none}}

/* ---- Official logo (image is used as supplied: never stretched, aspect ratio 1942:809 kept by width:auto) ---- */
.logo.logo-img{display:inline-flex;align-items:center;padding:0;font-size:0;line-height:0}
.logo-img .brand-logo{display:block}
.logo-img img{display:block;height:58px;width:auto;max-width:100%;object-fit:contain}
.header .logo-img img{height:58px;width:auto}
.footer .logo-img .brand-logo{background:#fff;border-radius:14px;padding:.5rem .9rem}
.footer .logo-img img{height:80px}
.sidebar a.logo.logo-img{display:block;padding:0;margin:0 0 1rem}
.sidebar .logo-img .brand-logo{background:#fff;border-radius:12px;padding:.4rem .6rem}
.sidebar .logo-img img{height:auto;width:100%;max-width:220px;margin-inline:auto}
.auth-art a.logo-auth{position:absolute;top:2rem;left:3rem}
.auth-art .logo-auth .brand-logo{background:#fff;border-radius:14px;padding:.5rem .9rem;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.auth-art .logo-auth img{height:76px}
.auth-mobile-logo{display:none!important}
@media(max-width:900px){
  .auth-mobile-logo{display:flex!important;justify-content:center;margin-bottom:1.2rem}
  .auth-mobile-logo img{height:68px}
}
@media(max-width:700px){.header .logo-img img{height:46px}.footer .logo-img img{height:64px}}
.admin-logo{display:flex;justify-content:center;margin-bottom:1.2rem}.admin-logo img{height:72px;width:auto;display:block}

/* logo update: 11 nav items + wordmark logo don't fit side by side below 1150px -> use the menu button earlier */
@media(max-width:1279px){
  .header .menu-btn{display:block;flex:0 0 auto}
  .header .logo{flex:0 1 auto;min-width:0}
  .header .nav{position:fixed;top:70px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:1rem 1.2rem;border-bottom:1px solid var(--line);display:none;gap:.9rem;box-shadow:var(--shadow-lg);max-height:calc(100vh - 70px);overflow-y:auto}
  .header .nav.open{display:flex}
}
@media(min-width:1280px){
  .header .logo{flex:0 0 auto}
  .header .nav{gap:.95rem;min-width:0}
  .header .nav a.nl{font-size:.86rem;white-space:nowrap}
}
@media(min-width:1280px) and (max-width:1320px){.header .nav{gap:.7rem}.header .nav a.nl{font-size:.82rem}}
