
    /* ----------------------------------------------------
       CORE DESIGN TOKENS & RESET
    ---------------------------------------------------- */
    :root {
      --bg-pitch: #080808;
      --bg-surface: #111111;
      --text-pure: #ffffff;
      --text-muted: rgba(255, 255, 255, 0.75);
      --text-dim: rgba(255, 255, 255, 0.45);
      --border-subtle: rgba(255, 255, 255, 0.15);
      --border-focus: rgba(255, 255, 255, 0.8);
      --brand-accent: #d4af37; /* Luxury Gold Accent */
      --font-display: 'Cormorant Garamond', serif;
      --font-ui: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
      --ease-cinematic: cubic-bezier(0.16, 1, 0.3, 1);
    }

    *, *::before, *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html, body {
      width: 100%;
      min-height: 100vh;
      background-color: var(--bg-pitch);
      color: var(--text-pure);
      font-family: var(--font-ui);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    /* ----------------------------------------------------
       LUXURY HORIZONTAL TOP NAVIGATION (DESKTOP)
    ---------------------------------------------------- */
    .fixed-top-nav {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 1000;
      background: rgba(8, 8, 8, 0.85);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      transition: background 0.3s ease;
    }

    .nav-inner {
      max-width: 1700px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 18px clamp(20px, 3vw, 48px);
    }

    .brand-monogram {
      display: flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
      color: var(--text-pure);
      transition: opacity 0.3s ease;
    }

    .brand-monogram:hover {
      opacity: 0.8;
    }

    .monogram-mark {
      width: 32px;
      height: 32px;
      filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
    }

    .monogram-text {
      display: flex;
      flex-direction: column;
    }

    .monogram-name {
      font-size: 0.82rem;
      font-weight: 500;
      letter-spacing: 0.3em;
      text-transform: uppercase;
    }

    .monogram-sub {
      font-size: 0.55rem;
      letter-spacing: 0.22em;
      color: var(--text-dim);
      text-transform: uppercase;
    }

    /* Desktop Horizontal Links */
    .desktop-menu {
      display: flex;
    }

    .nav-links-horizontal {
      display: flex;
      list-style: none;
      gap: 28px;
    }

    .nav-links-horizontal a {
      font-size: 0.72rem;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--text-muted);
      text-decoration: none;
      transition: color 0.3s ease;
      position: relative;
      padding: 4px 0;
    }

    .nav-links-horizontal a.active,
    .nav-links-horizontal a:hover {
      color: var(--brand-accent);
    }

    .nav-links-horizontal a.active::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 1px;
      background-color: var(--brand-accent);
    }

    /* Right Action Button & Mobile Toggle */
    .nav-actions {
      display: flex;
      align-items: center;
      gap: 16px;
    }

    .cta-pill {
      font-size: 0.72rem;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      text-decoration: none;
      color: var(--text-pure);
      padding: 8px 20px;
      border: 1px solid var(--border-subtle);
      border-radius: 999px;
      background: rgba(0, 0, 0, 0.4);
      transition: all 0.3s var(--ease-cinematic);
    }

    .cta-pill:hover {
      border-color: var(--brand-accent);
      background: var(--brand-accent);
      color: var(--bg-pitch);
    }

    .mobile-toggle {
      display: none;
      background: transparent;
      border: none;
      cursor: pointer;
      flex-direction: column;
      gap: 6px;
      padding: 8px;
      z-index: 1010;
    }

    .mobile-toggle span {
      display: block;
      width: 22px;
      height: 1.5px;
      background-color: var(--text-pure);
      transition: transform 0.3s ease, opacity 0.3s ease;
    }

    /* Mobile Drawer */
    .mobile-drawer {
      position: fixed;
      inset: 0;
      background: rgba(8, 8, 8, 0.98);
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      z-index: 999;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.4s ease;
    }

    .mobile-drawer.open {
      opacity: 1;
      pointer-events: auto;
    }

    .mobile-nav-links {
      list-style: none;
      text-align: center;
      display: flex;
      flex-direction: column;
      gap: 24px;
    }

    .mobile-nav-links a {
      font-family: var(--font-display);
      font-size: 1.8rem;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--text-pure);
      text-decoration: none;
      transition: color 0.3s ease;
    }

    .mobile-nav-links a.active,
    .mobile-nav-links a:hover {
      color: var(--brand-accent);
    }

    
/* ---------- ACCESSIBILITY ---------- */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:3000;background:var(--brand-accent);color:#000;padding:10px 16px;font-size:.8rem;text-decoration:none}
.skip-link:focus{left:8px}
a:focus-visible,button:focus-visible{outline:2px solid var(--brand-accent);outline-offset:3px}
img{max-width:100%}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- PAGE LAYOUT ---------- */
.gallery-container{padding:130px clamp(20px,4vw,56px) 70px;max-width:1700px;margin:0 auto}
.gallery-header{margin-bottom:34px;border-bottom:1px solid var(--border-subtle);padding-bottom:24px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.gallery-title{font-family:var(--font-display);font-size:clamp(2.2rem,4.2vw,3.6rem);font-weight:300;line-height:1.1;letter-spacing:.05em;text-transform:uppercase}
.gallery-meta-count{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-dim)}
.breadcrumbs{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:22px}
.breadcrumbs a{color:var(--text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--brand-accent)}
.page-intro{max-width:820px;font-size:1.02rem;line-height:1.9;color:var(--text-muted);margin:0 0 44px}
.page-intro strong{color:#fff;font-weight:500}
.section-h{font-family:var(--font-display);font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:400;letter-spacing:.04em;margin:0 0 8px}
.section-sub{color:var(--text-dim);font-size:.9rem;line-height:1.7;margin:0 0 26px;max-width:720px}
.block{margin:0 0 70px}

/* ---------- ALBUM CARDS ---------- */
.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:26px}
.album-card{display:block;text-decoration:none;color:inherit;background:var(--bg-surface);border:1px solid rgba(255,255,255,.06);overflow:hidden;transition:border-color .3s ease,transform .5s var(--ease-cinematic)}
a.album-card:hover,a.album-card:focus-visible{border-color:var(--brand-accent);transform:translateY(-3px)}
.album-card .thumb{aspect-ratio:4/5;overflow:hidden;background:#000}
.album-card img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block;transition:transform 1.2s var(--ease-cinematic)}
.album-card:hover img{transform:scale(1.04)}
.album-card-body{padding:16px 18px 20px}
.album-card h3{font-family:var(--font-display);font-size:1.55rem;font-weight:400;color:#fff;line-height:1.2;margin:0 0 6px}
a.album-card:hover h3{color:var(--brand-accent)}
.album-card .count{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim)}
.album-card p{font-size:.86rem;line-height:1.65;color:var(--text-muted);margin:10px 0 0}

/* ---------- PHOTO GRID ---------- */
.photo-grid{column-count:3;column-gap:16px}
.photo-grid a{display:block;margin:0 0 16px;break-inside:avoid;background:var(--bg-surface);border:1px solid rgba(255,255,255,.05);overflow:hidden;cursor:zoom-in}
.photo-grid img{width:100%;height:auto;display:block;transition:transform .9s var(--ease-cinematic)}
.photo-grid a:hover img{transform:scale(1.03)}
@media(max-width:900px){.photo-grid{column-count:2;column-gap:12px}.photo-grid a{margin-bottom:12px}}

/* ---------- LIGHTBOX ---------- */
.zoom{position:fixed;inset:0;z-index:2000;background:rgba(4,4,4,.97);display:none;align-items:center;justify-content:center;flex-direction:column;padding:56px 10px 70px;touch-action:pan-y}
.zoom.open{display:flex}
.zoom img{max-width:96vw;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);width:auto;height:auto;object-fit:contain;display:block}
.zoom-cap{pointer-events:none;position:absolute;left:0;right:0;bottom:0;padding:14px 64px 18px;text-align:center;font-size:.8rem;line-height:1.6;color:var(--text-muted)}
.zoom-count{position:absolute;top:18px;left:20px;font-size:.7rem;letter-spacing:.22em;color:var(--text-dim)}
.zoom button{z-index:2;position:absolute;background:transparent;border:0;color:#fff;cursor:pointer;font-size:2.2rem;line-height:1;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .25s,color .25s}
.zoom button:hover{background:rgba(255,255,255,.1);color:var(--brand-accent)}
.zoom-close{top:8px;right:8px}.zoom-prev{left:6px;top:50%;margin-top:-26px}.zoom-next{right:6px;top:50%;margin-top:-26px}
@media(max-width:600px){.zoom-prev,.zoom-next{top:auto;bottom:6px;margin:0}.zoom-prev{left:4px}.zoom-next{right:4px}}

/* ---------- BUTTONS / CTA ---------- */
.btn{display:inline-block;font-size:.74rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:#fff;padding:14px 30px;border:1px solid var(--border-focus);transition:all .3s var(--ease-cinematic);background:transparent}
.btn:hover,.btn:focus-visible{background:var(--brand-accent);border-color:var(--brand-accent);color:#000}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.cta-band{border:1px solid var(--border-subtle);background:var(--bg-surface);padding:clamp(28px,5vw,56px);text-align:center;margin:0 0 70px}
.cta-band h2{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:400;margin:0 0 10px}
.cta-band p{color:var(--text-muted);max-width:620px;margin:0 auto 6px;line-height:1.8}

/* ---------- FEATURE ROWS ---------- */
.feature{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:center;margin:0 0 clamp(48px,7vw,90px)}
.feature:nth-of-type(even) .feature-media{order:2}
.feature-media{display:block;overflow:hidden;background:#000;border:1px solid rgba(255,255,255,.06)}
.feature-media img{width:100%;height:auto;display:block;max-height:78vh;object-fit:cover;object-position:center 18%}
.feature-kicker{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brand-accent);margin:0 0 12px}
.feature h2{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.7rem);font-weight:400;line-height:1.15;margin:0 0 16px}
.feature p{color:var(--text-muted);line-height:1.9;font-size:1rem;margin:0 0 14px}
.feature-links{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.feature-links a{display:inline-block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--text-muted);border:1px solid var(--border-subtle);padding:9px 14px;transition:all .25s}
.feature-links a:hover{border-color:var(--brand-accent);color:var(--brand-accent)}
.thumb-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}
.thumb-strip a{display:block;aspect-ratio:3/4;overflow:hidden;background:#000}
.thumb-strip img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block;transition:transform .8s var(--ease-cinematic)}
.thumb-strip a:hover img{transform:scale(1.06)}
@media(max-width:820px){.feature{grid-template-columns:1fr}.feature:nth-of-type(even) .feature-media{order:0}.feature-media img{max-height:70vh}}

/* ---------- FACTS / STEPS / PROSE ---------- */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:0 0 60px}
.fact{border:1px solid var(--border-subtle);background:var(--bg-surface);padding:22px}
.fact dt{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim);margin:0 0 8px}
.fact dd{margin:0;font-size:1.02rem;line-height:1.55;color:#fff}
.fact dd a{color:#fff}
.steps{counter-reset:s;list-style:none;margin:0 0 60px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.steps li{counter-increment:s;border:1px solid var(--border-subtle);background:var(--bg-surface);padding:24px}
.steps li::before{content:"0" counter(s);font-family:var(--font-display);font-size:2rem;color:var(--brand-accent);display:block;margin-bottom:8px}
.steps h3{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;margin:0 0 8px}
.steps p{margin:0;color:var(--text-muted);line-height:1.75;font-size:.94rem}
.prose{max-width:820px}
.prose p{color:var(--text-muted);line-height:1.95;font-size:1.02rem;margin:0 0 18px}
.prose h2{font-family:var(--font-display);font-weight:400;font-size:1.9rem;margin:34px 0 12px}

@media(max-width:1100px){.desktop-menu{display:none}.mobile-toggle{display:flex}}
@media(max-width:768px){.gallery-container{padding-top:104px}}
@media(max-width:600px){.gallery-header{flex-direction:column;align-items:flex-start;gap:8px}.album-grid{grid-template-columns:repeat(2,1fr);gap:12px}.album-card h3{font-size:1.2rem}.album-card-body{padding:12px 12px 16px}.album-card p{display:none}.album-grid .static p{display:block}}
@media(max-width:380px){.album-grid{grid-template-columns:1fr}.gallery-title{font-size:1.85rem;letter-spacing:.03em}}
.gallery-title{overflow-wrap:anywhere}.fact dd,.fact dd a{overflow-wrap:anywhere}.fact{min-width:0}

/* ---------- FOOTER ---------- */
.site-footer{border-top:1px solid rgba(255,255,255,.15);background:#111;padding:56px clamp(20px,4vw,56px) 28px;color:rgba(255,255,255,.75);font-family:'Montserrat',-apple-system,sans-serif}
.site-footer *{box-sizing:border-box}
.footer-inner{max-width:1700px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
.footer-name{font-family:'Cormorant Garamond',serif;font-size:1.9rem;letter-spacing:.06em;color:#fff;margin:0 0 6px}
.footer-tag{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#d4af37;margin:0 0 14px;line-height:1.7}
.footer-small{font-size:.85rem;line-height:1.9;margin:0 0 10px}
.footer-h{font-size:.72rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#fff;margin:0 0 16px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:0 0 9px}
.site-footer a{color:rgba(255,255,255,.75);text-decoration:none;font-size:.88rem;transition:color .25s ease}
.site-footer a:hover,.site-footer a:focus-visible{color:#d4af37}
.footer-copy{max-width:1700px;margin:40px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);font-size:.74rem;letter-spacing:.04em;color:rgba(255,255,255,.45);line-height:1.7}
@media(max-width:900px){.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}

.legal-body{max-width:820px;line-height:1.9;color:var(--text-muted);font-size:1rem}
.legal-body h2{font-family:inherit;color:#fff;font-weight:500;font-size:1.15rem;letter-spacing:.04em;margin:36px 0 10px}
.legal-body p{margin:0 0 14px}
.legal-body a{color:#fff;border-bottom:1px solid rgba(255,255,255,.3);text-decoration:none}
.legal-body strong{color:#fff;font-weight:500}
#form-status{margin:16px 0 0;font-size:.95rem;line-height:1.6}
#form-status.ok{color:#9ad6a6}#form-status.err{color:#f0a0a0}
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
