
/* ═══════════════════════════════════════
   TOKENS
═══════════════════════════════════════ */
:root {
  --ink:#0D0D0D; --paper:#F8F6F1; --canvas:#EFECE5;
  --gold:#B8933F; --gold-lt:#D4B870; --gold-dk:#8A6B2A;
  --tide:#3A5068; --tide-lt:#6A8BA8; --tide-dk:#1E3245;
  --mist:#C8D4DC; --rose:#A86060; --sage:#6A8A70;
  --mid:rgba(13,13,13,.55); --faint:rgba(13,13,13,.12);
  --gap:clamp(1rem,3vw,2rem);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'DM Sans',sans-serif;background:var(--ink);color:var(--paper);overflow-x:hidden;cursor:none}

/* ═══ CURSOR ═══ */
#cur,#cur2{position:fixed;border-radius:50%;pointer-events:none;z-index:9999;top:0;left:0;transform:translate(-50%,-50%)}
#cur{width:8px;height:8px;background:var(--gold);transition:width .2s,height .2s,opacity .2s}
#cur2{width:32px;height:32px;border:1px solid rgba(184,147,63,.5);transition:all .25s cubic-bezier(.25,.46,.45,.94)}
body.cursor-hover #cur{width:40px;height:40px;background:rgba(184,147,63,.15);border:1px solid var(--gold)}
body.cursor-hover #cur2{opacity:0}

/* ═══ LOADER ═══ */
#loader{position:fixed;inset:0;z-index:9998;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;transition:opacity .8s}
#loader.out{opacity:0;pointer-events:none}
.loader-logo{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--paper)}
.loader-line-wrap{width:200px;height:1px;background:rgba(248,246,241,.1);overflow:hidden}
.loader-line{height:100%;width:0;background:var(--gold);animation:load-progress 1.8s ease forwards}
@keyframes load-progress{to{width:100%}}
.loader-sub{font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(248,246,241,.35)}

/* ═══ NAV ═══ */
nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;justify-content:space-between;align-items:center;padding:1.8rem 4rem;transition:all .5s}
nav.ink{background:rgba(13,13,13,.94);backdrop-filter:blur(16px);padding:1.2rem 4rem;border-bottom:1px solid rgba(248,246,241,.06)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.25rem;letter-spacing:.18em;color:var(--paper);text-decoration:none;text-transform:uppercase}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(248,246,241,.6);text-decoration:none;transition:color .2s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}
.nav-links a:hover{color:var(--paper)}.nav-links a:hover::after{width:100%}
.nav-right{display:flex;align-items:center;gap:1.5rem}
.nav-cart{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);text-decoration:none;border:1px solid rgba(184,147,63,.4);padding:.5rem 1.2rem;transition:all .3s;position:relative}
.nav-cart:hover{background:var(--gold);color:var(--ink)}
.cart-count{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:.6rem;display:flex;align-items:center;justify-content:center;font-weight:600;opacity:0;transition:opacity .2s}
.cart-count.show{opacity:1}
.nav-enquire{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;background:var(--gold);color:var(--ink);padding:.5rem 1.4rem;text-decoration:none;font-weight:500;transition:all .3s}
.nav-enquire:hover{background:var(--gold-lt)}

/* ═══ HERO ═══ */
#hero{height:100vh;position:relative;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.hero-left{display:flex;flex-direction:column;justify-content:flex-end;padding:0 4rem 5rem;position:relative;z-index:2}
.hero-tag{font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1.8rem;opacity:0;animation:up .8s .6s forwards}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,6vw,6.5rem);font-weight:300;line-height:.9;letter-spacing:-.02em;margin-bottom:2rem;opacity:0;animation:up .9s .85s forwards}
.hero-h1 em{font-style:italic;color:var(--gold-lt)}
.hero-h1 span{display:block}
.hero-desc{font-size:.9rem;line-height:1.8;color:rgba(248,246,241,.6);max-width:340px;margin-bottom:3rem;opacity:0;animation:up .9s 1.1s forwards}
.hero-actions{display:flex;gap:1.5rem;align-items:center;opacity:0;animation:up .9s 1.3s forwards}
.btn-gold{background:var(--gold);color:var(--ink);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;padding:.9rem 2rem;text-decoration:none;font-weight:500;transition:all .3s;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;display:inline-block}
.btn-gold:hover{background:var(--gold-lt);transform:translateY(-1px)}
.btn-line{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(248,246,241,.55);text-decoration:none;border-bottom:1px solid rgba(248,246,241,.25);padding-bottom:2px;transition:all .3s}
.btn-line:hover{color:var(--paper);border-color:var(--paper)}
.hero-right{position:relative;overflow:hidden}
.hero-mosaic{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:1fr 1fr;height:100%;gap:3px}
.hero-tile{overflow:hidden;position:relative}
.hero-tile:first-child{grid-row:span 2}
.hero-tile-img{width:100%;height:100%;background-size:cover;background-position:center;transform:scale(1.08);animation:slow-zoom 30s ease-in-out infinite alternate,tile-in 1.4s cubic-bezier(.77,0,.18,1) forwards}
.hero-tile:nth-child(1) .hero-tile-img{animation-delay:0s,0.1s}
.hero-tile:nth-child(2) .hero-tile-img{animation-delay:3s,0.4s}
.hero-tile:nth-child(3) .hero-tile-img{animation-delay:6s,0.7s}
.hero-tile-overlay{position:absolute;inset:0;background:rgba(13,13,13,.2)}
@keyframes tile-in{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0% 0)}}
@keyframes slow-zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-scroll{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:0;animation:up 1s 2s forwards}
.hero-scroll-label{font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(248,246,241,.35)}
.scroll-ticker{width:1px;height:48px;overflow:hidden;position:relative}
.scroll-ticker::before{content:'';position:absolute;width:100%;height:100%;background:linear-gradient(var(--gold),transparent);animation:ticker 1.8s ease-in-out infinite}
@keyframes ticker{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}
@keyframes up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ═══ MARQUEE ═══ */
.marquee-band{background:var(--gold);padding:.7rem 0;overflow:hidden}
.marquee-inner{display:flex;gap:2.5rem;animation:marquee 25s linear infinite;white-space:nowrap}
.marquee-inner span{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ink);font-weight:500;flex-shrink:0}
.marquee-dot{opacity:.35}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ═══ SECTION SHARED ═══ */
.section-wrap{padding:clamp(4rem,8vw,7rem) 4rem}
.section-kicker{font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1rem}
.section-h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.8rem);font-weight:300;line-height:1.05}
.section-h2 em{font-style:italic;color:var(--gold-lt)}

/* ═══ FEATURED STRIP ═══ */
#featured{background:var(--ink)}
.featured-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem}
.featured-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.feat-card{position:relative;cursor:pointer;overflow:hidden;group:true}
.feat-card-img{aspect-ratio:3/4;overflow:hidden;position:relative;background:var(--tide-dk)}
.feat-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.25,.46,.45,.94)}
.feat-card:hover .feat-card-img img{transform:scale(1.05)}
.feat-card-sold-badge{position:absolute;top:1rem;left:1rem;background:rgba(13,13,13,.85);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(248,246,241,.6);padding:.3rem .7rem;border:1px solid rgba(248,246,241,.2)}
.feat-card-body{padding:1.2rem 0 0}
.feat-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}
.feat-card-title{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:400;line-height:1.1}
.feat-card-year{font-size:.65rem;color:rgba(248,246,241,.35);letter-spacing:.1em}
.feat-card-medium{font-size:.68rem;color:rgba(248,246,241,.45);letter-spacing:.05em;margin-bottom:.8rem}
.feat-card-footer{display:flex;justify-content:space-between;align-items:center}
.feat-card-price{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--gold)}
.feat-card-price.sold{color:rgba(248,246,241,.3);text-decoration:line-through;font-size:1rem}
.feat-actions{display:flex;gap:.5rem}
.btn-view360{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(184,147,63,.4);color:var(--gold);background:none;padding:.4rem .8rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.btn-view360:hover{background:rgba(184,147,63,.12)}
.btn-acquire{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;background:var(--gold);color:var(--ink);border:none;padding:.4rem .9rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;font-weight:500}
.btn-acquire:hover{background:var(--gold-lt)}
.btn-acquire:disabled{background:rgba(248,246,241,.1);color:rgba(248,246,241,.3);cursor:default}

/* ═══ GALLERY FULL ═══ */
#gallery{background:var(--paper);color:var(--ink)}
#gallery .section-kicker{color:var(--gold-dk)}
#gallery .section-h2{color:var(--ink)}
#gallery .section-h2 em{color:var(--gold-dk)}
.gallery-controls{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;margin-bottom:2.5rem}
.cat-btn{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;background:none;border:1px solid rgba(13,13,13,.2);color:rgba(13,13,13,.5);padding:.5rem 1.2rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .25s}
.cat-btn:hover,.cat-btn.on{border-color:var(--gold-dk);color:var(--gold-dk);background:rgba(184,147,63,.06)}
.gallery-masonry{columns:3;column-gap:1rem}
.masonry-item{break-inside:avoid;margin-bottom:1rem;cursor:pointer;position:relative;overflow:hidden;background:var(--canvas)}
.masonry-item img{display:block;width:100%;transition:transform .6s cubic-bezier(.25,.46,.45,.94);filter:none;transition:transform .6s, filter .4s}
.masonry-item:hover img{transform:scale(1.03)}
.masonry-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,13,13,.85) 0%,transparent 55%);opacity:0;transition:opacity .35s;display:flex;flex-direction:column;justify-content:flex-end;padding:1.2rem}
.masonry-item:hover .masonry-overlay{opacity:1}
.masonry-title{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--paper);line-height:1.1}
.masonry-meta{font-size:.62rem;color:rgba(248,246,241,.6);margin-top:.25rem;letter-spacing:.06em}
.masonry-btns{display:flex;gap:.5rem;margin-top:.7rem}
.masonry-item.hidden{display:none}

/* ═══ ARTWORK DETAIL MODAL ═══ */
#detail-modal{position:fixed;inset:0;z-index:800;background:rgba(13,13,13,.96);display:none;overflow-y:auto}
#detail-modal.open{display:flex;align-items:flex-start;justify-content:center;padding:2rem}
.detail-inner{width:100%;max-width:1100px;display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;padding:4rem 0;position:relative}
.detail-close{position:fixed;top:2rem;right:2.5rem;background:none;border:1px solid rgba(248,246,241,.2);color:rgba(248,246,241,.7);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;padding:.5rem 1rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .25s}
.detail-close:hover{border-color:var(--gold);color:var(--gold)}
.detail-img-wrap{position:relative}
.detail-img-main{width:100%;display:block;box-shadow:0 40px 80px rgba(0,0,0,.5)}
.detail-img-tag{position:absolute;bottom:-1rem;right:-1rem;background:var(--gold);color:var(--ink);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;padding:.4rem .8rem}
.detail-info{padding-top:1rem}
.detail-kicker{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;display:block}
.detail-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;line-height:1.05;margin-bottom:.5rem}
.detail-year{font-size:.75rem;color:rgba(248,246,241,.4);margin-bottom:2rem;letter-spacing:.1em}
.detail-desc{font-size:.95rem;line-height:1.85;color:rgba(248,246,241,.72);margin-bottom:2rem;font-style:italic}
.detail-specs{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:2rem}
.detail-spec{border-top:1px solid rgba(248,246,241,.1);padding-top:.6rem}
.detail-spec-label{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(248,246,241,.35);margin-bottom:.2rem}
.detail-spec-val{font-size:.85rem;color:var(--paper)}
.detail-price-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(248,246,241,.1);padding-top:1.5rem;margin-bottom:1.5rem}
.detail-price{font-family:'Cormorant Garamond',serif;font-size:2.5rem;color:var(--gold)}
.detail-avail{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(248,246,241,.4)}
.detail-avail.yes{color:#6aaa6a}
.detail-actions{display:flex;flex-direction:column;gap:.8rem}
.btn-full{width:100%;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;padding:1rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .3s;font-weight:500;border:none}
.btn-full-gold{background:var(--gold);color:var(--ink)}.btn-full-gold:hover{background:var(--gold-lt)}
.btn-full-ghost{background:none;border:1px solid rgba(248,246,241,.2);color:rgba(248,246,241,.65)}.btn-full-ghost:hover{border-color:var(--gold);color:var(--gold)}
.detail-360-btn{background:none;border:1px solid rgba(184,147,63,.3);color:var(--gold);}.detail-360-btn:hover{background:rgba(184,147,63,.1)}

/* ═══ 360° VIEWER ═══ */
#viewer360{position:fixed;inset:0;z-index:900;background:rgba(5,5,5,.97);display:none;flex-direction:column;align-items:center;justify-content:center}
#viewer360.open{display:flex}
.v360-close{position:absolute;top:2rem;right:2rem;background:none;border:1px solid rgba(248,246,241,.2);color:rgba(248,246,241,.6);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;padding:.5rem 1rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .25s}
.v360-close:hover{border-color:var(--gold);color:var(--gold)}
.v360-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--paper);text-align:center;margin-bottom:.3rem}
.v360-hint{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(248,246,241,.3);text-align:center;margin-bottom:1.5rem}
.v360-stage{position:relative;width:min(750px,92vw);height:min(560px,62vh)}
#v360canvas{width:100%;height:100%;display:block;cursor:grab;border:1px solid rgba(248,246,241,.06)}
#v360canvas:active{cursor:grabbing}
.v360-controls{display:flex;align-items:center;gap:1.2rem;margin-top:1.2rem}
.v360-btn{background:none;border:1px solid rgba(248,246,241,.18);color:rgba(248,246,241,.6);width:38px;height:38px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;font-family:'DM Sans',sans-serif}
.v360-btn:hover{border-color:var(--gold);color:var(--gold)}
.v360-rot-bar{flex:1;max-width:180px}
.v360-rot-label{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(248,246,241,.3);margin-bottom:.3rem}
.v360-rot-track{height:2px;background:rgba(248,246,241,.1);position:relative}
.v360-rot-fill{height:100%;background:var(--gold);width:0%;transition:width .05s}
.v360-zoom-wrap{display:flex;flex-direction:column;align-items:center;gap:.3rem}
.v360-zoom-label{font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(248,246,241,.3)}
input[type=range].v360-zoom{-webkit-appearance:none;width:80px;height:2px;background:rgba(248,246,241,.15);outline:none}
input[type=range].v360-zoom::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--gold);cursor:pointer}
.v360-shift-hint{font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(248,246,241,.2);margin-top:.8rem;text-align:center}
/* Lens */
#v360lens{position:absolute;width:130px;height:130px;border-radius:50%;border:1px solid rgba(184,147,63,.6);display:none;overflow:hidden;pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.5)}
#v360lens-inner{width:100%;height:100%;background-size:cover;background-repeat:no-repeat}

/* ═══ ABOUT ═══ */
#about{background:var(--tide-dk);color:var(--paper)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-portrait-frame{position:relative;aspect-ratio:3/4}
.portrait-img{width:100%;height:100%;object-fit:cover;display:block}
.portrait-placeholder{width:100%;height:100%;background:linear-gradient(160deg,var(--tide-dk),var(--tide));display:flex;align-items:center;justify-content:center}
.portrait-mono{font-family:'Cormorant Garamond',serif;font-size:6rem;font-weight:300;color:rgba(248,246,241,.12)}
.about-frame-line{position:absolute;inset:16px;border:1px solid rgba(248,246,241,.12);pointer-events:none}
.about-accent-box{position:absolute;bottom:-1.5rem;right:-1.5rem;width:55%;aspect-ratio:1;border:1px solid rgba(184,147,63,.25);background:rgba(184,147,63,.04)}
.about-upload-label{position:absolute;inset:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .25s;background:rgba(13,13,13,.5)}
.about-portrait-frame:hover .about-upload-label{opacity:1}
.about-upload-label span{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.about-text .section-h2{margin-bottom:1.5rem}
.about-p{font-size:.95rem;line-height:1.85;color:rgba(248,246,241,.68);margin-bottom:1.2rem}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem;border-top:1px solid rgba(248,246,241,.1);padding-top:2rem}
.stat{text-align:center}
.stat-n{font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:300;color:var(--gold-lt);line-height:1}
.stat-l{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(248,246,241,.4);margin-top:.3rem}
.about-portrait-frame input[type=file]{display:none}

/* ═══ STUDIO VIDEO ═══ */
#studio{background:var(--paper);color:var(--ink)}
#studio .section-kicker{color:var(--gold-dk)}
#studio .section-h2{color:var(--ink)}
#studio .section-h2 em{color:var(--gold-dk)}
.studio-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:start;margin-top:3rem}
.video-shell{aspect-ratio:16/9;background:var(--ink);position:relative;overflow:hidden}
.video-shell iframe{width:100%;height:100%;border:none;display:block}
.video-placeholder-inner{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--tide-dk)}
.play-ring{width:60px;height:60px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s}
.play-ring:hover{background:var(--gold)}.play-ring:hover svg path{fill:var(--ink)}
.video-input-row{display:flex;gap:.6rem;margin-top:.7rem}
.video-input{flex:1;background:rgba(13,13,13,.06);border:1px solid rgba(13,13,13,.18);padding:.65rem .9rem;font-family:'DM Sans',sans-serif;font-size:.78rem;color:var(--ink);outline:none;transition:border-color .2s}
.video-input:focus{border-color:var(--gold-dk)}
.video-input::placeholder{color:rgba(13,13,13,.3)}
.video-embed-btn{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;background:var(--gold-dk);color:var(--paper);border:none;padding:.65rem 1.1rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:opacity .2s}
.video-embed-btn:hover{opacity:.85}
.video-hint{font-size:.68rem;color:rgba(13,13,13,.4);margin-top:.4rem;line-height:1.5}
.process-list{list-style:none}
.process-li{padding:1.4rem 0;border-bottom:1px solid rgba(13,13,13,.08);display:flex;gap:1.2rem}
.process-li:last-child{border-bottom:none}
.proc-num{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--gold-dk);min-width:2rem;line-height:1;flex-shrink:0}
.proc-h{font-size:.85rem;font-weight:500;color:var(--ink);margin-bottom:.3rem}
.proc-p{font-size:.8rem;line-height:1.6;color:rgba(13,13,13,.55)}

/* ═══ ENQUIRY / CLOVER ═══ */
#enquire{background:var(--ink)}
.enquire-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.enquire-form{display:flex;flex-direction:column;gap:1.1rem}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-field{display:flex;flex-direction:column;gap:.35rem}
.form-lbl{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(248,246,241,.4)}
.form-ctrl{background:rgba(248,246,241,.04);border:1px solid rgba(248,246,241,.12);color:var(--paper);padding:.8rem 1rem;font-family:'DM Sans',sans-serif;font-size:.88rem;outline:none;transition:border-color .25s;width:100%}
.form-ctrl:focus{border-color:var(--gold)}
.form-ctrl::placeholder{color:rgba(248,246,241,.25)}
textarea.form-ctrl{resize:vertical;min-height:130px}
.enquire-info .section-h2{margin-bottom:1.5rem}
.enquire-p{font-size:.9rem;line-height:1.85;color:rgba(248,246,241,.6);margin-bottom:2rem}
.contact-items{display:flex;flex-direction:column;gap:1rem}
.contact-item{display:flex;gap:.8rem;align-items:flex-start}
.contact-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);margin-top:.55rem;flex-shrink:0}
.contact-lbl{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.15rem}
.contact-val{font-size:.85rem;color:rgba(248,246,241,.6)}
/* Clover config */
.clover-setup{margin-top:2.5rem;padding:1.5rem;border:1px solid rgba(184,147,63,.18);background:rgba(184,147,63,.03)}
.clover-setup-h{font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.clover-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.6rem}
.clover-input{flex:1;min-width:180px;background:rgba(248,246,241,.04);border:1px solid rgba(248,246,241,.12);color:var(--paper);padding:.65rem .9rem;font-family:'DM Sans',sans-serif;font-size:.78rem;outline:none;transition:border-color .2s}
.clover-input:focus{border-color:var(--gold)}
.clover-input::placeholder{color:rgba(248,246,241,.25)}
.clover-save{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;background:var(--gold);color:var(--ink);border:none;padding:.65rem 1.2rem;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:500;transition:opacity .2s}
.clover-save:hover{opacity:.85}
.clover-note{font-size:.68rem;color:rgba(248,246,241,.35);line-height:1.6}

/* ═══ SOCIAL ═══ */
#social{background:var(--tide-dk)}
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:3rem}
.social-tile{aspect-ratio:1;overflow:hidden;position:relative;cursor:pointer}
.social-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.social-tile:hover img{transform:scale(1.06)}
.social-tile-over{position:absolute;inset:0;background:rgba(13,13,13,0);display:flex;align-items:center;justify-content:center;transition:background .3s}
.social-tile:hover .social-tile-over{background:rgba(13,13,13,.55)}
.social-tile-label{opacity:0;transform:scale(.85);transition:all .3s;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--paper)}
.social-tile:hover .social-tile-label{opacity:1;transform:scale(1)}
.social-links{display:flex;gap:1.5rem;margin-top:2.5rem}
.social-link-btn{display:flex;align-items:center;gap:.7rem;text-decoration:none;border:1px solid rgba(248,246,241,.18);padding:.9rem 1.6rem;color:rgba(248,246,241,.65);transition:all .3s}
.social-link-btn:hover{border-color:var(--gold);color:var(--gold)}
.social-link-btn span{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase}

/* ═══ FOOTER ═══ */
footer{background:var(--ink);border-top:1px solid rgba(248,246,241,.07);padding:2.5rem 4rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(248,246,241,.7)}
.footer-copy{font-size:.65rem;color:rgba(248,246,241,.28);letter-spacing:.08em}
.footer-links{display:flex;gap:1.8rem}
.footer-links a{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(248,246,241,.35);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--gold)}

/* ═══ TOAST ═══ */
#toast{position:fixed;bottom:2rem;right:2rem;z-index:9990;background:var(--gold);color:var(--ink);padding:.9rem 1.4rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;transform:translateY(120px);opacity:0;transition:all .35s;pointer-events:none}
#toast.show{transform:translateY(0);opacity:1}


/* ── Image protection ── */
img { -webkit-user-drag: none; user-drag: none; pointer-events: none; }
.masonry-item, .feat-card-img, .hero-tile, .social-tile, .detail-img-wrap {
  -webkit-user-select: none; user-select: none;
}


/* ═══ ANALYTICS PANEL ═══ */
#analytics-panel{position:fixed;bottom:1rem;left:1rem;z-index:8000;background:rgba(13,13,13,.96);border:1px solid rgba(184,147,63,.3);padding:1.2rem 1.4rem;width:320px;display:none;backdrop-filter:blur(10px)}
#analytics-panel.open{display:block}
.ap-h{font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem;display:flex;justify-content:space-between;align-items:center}
.ap-close{background:none;border:none;color:rgba(248,246,241,.4);cursor:pointer;font-size:1rem;line-height:1}
.ap-row{margin-bottom:.7rem}
.ap-lbl{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(248,246,241,.4);margin-bottom:.3rem}
.ap-input{width:100%;background:rgba(248,246,241,.05);border:1px solid rgba(248,246,241,.12);color:var(--paper);padding:.55rem .8rem;font-family:'DM Sans',sans-serif;font-size:.75rem;outline:none;transition:border-color .2s}
.ap-input:focus{border-color:var(--gold)}
.ap-save{width:100%;margin-top:.8rem;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;background:var(--gold);color:var(--ink);border:none;padding:.65rem;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:500;transition:opacity .2s}
.ap-save:hover{opacity:.85}
.ap-note{font-size:.6rem;color:rgba(248,246,241,.3);line-height:1.5;margin-top:.6rem}
.ap-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.8rem}
.ap-stat{background:rgba(248,246,241,.04);padding:.6rem;text-align:center}
.ap-stat-n{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--gold)}
.ap-stat-l{font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(248,246,241,.35)}
.analytics-toggle{position:fixed;bottom:1rem;left:1rem;z-index:7999;background:rgba(13,13,13,.85);border:1px solid rgba(184,147,63,.25);color:var(--gold);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;padding:.45rem .8rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;backdrop-filter:blur(8px)}
.analytics-toggle:hover{border-color:var(--gold)}

/* ═══ VIDEO LIBRARY ═══ */
#video-library{background:#0c1016;padding:clamp(4rem,8vw,7rem) 4rem}
.vlib-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem}
.vlib-tabs{display:flex;gap:.5rem}
.vlib-tab{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;background:none;border:1px solid rgba(248,246,241,.15);color:rgba(248,246,241,.45);padding:.45rem 1rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.vlib-tab:hover,.vlib-tab.on{border-color:var(--gold);color:var(--gold)}
.vlib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.vid-card{background:rgba(248,246,241,.03);border:1px solid rgba(248,246,241,.07);transition:border-color .3s;cursor:pointer}
.vid-card:hover{border-color:rgba(184,147,63,.35)}
.vid-thumb{aspect-ratio:16/9;background:#0a0e12;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.vid-thumb iframe{width:100%;height:100%;border:none;pointer-events:none}
.vid-thumb-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;width:100%;height:100%}
.vid-play-icon{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(184,147,63,.5);display:flex;align-items:center;justify-content:center;transition:all .3s}
.vid-card:hover .vid-play-icon{background:var(--gold);border-color:var(--gold)}
.vid-card:hover .vid-play-icon svg path{fill:var(--ink)}
.vid-duration{position:absolute;bottom:.5rem;right:.6rem;background:rgba(13,13,13,.8);font-size:.58rem;letter-spacing:.08em;color:rgba(248,246,241,.7);padding:.2rem .5rem}
.vid-body{padding:.9rem 1rem}
.vid-tag{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem}
.vid-title{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--paper);line-height:1.2;margin-bottom:.3rem}
.vid-meta{font-size:.65rem;color:rgba(248,246,241,.35);letter-spacing:.05em}
/* Add video form */
.vlib-add-wrap{margin-top:2rem;padding:1.2rem;border:1px dashed rgba(184,147,63,.25);background:rgba(184,147,63,.03)}
.vlib-add-h{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.vlib-add-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.6rem}
.vlib-input{background:rgba(248,246,241,.04);border:1px solid rgba(248,246,241,.1);color:var(--paper);padding:.6rem .8rem;font-family:'DM Sans',sans-serif;font-size:.75rem;outline:none;transition:border-color .2s;width:100%}
.vlib-input:focus{border-color:var(--gold)}
.vlib-input::placeholder{color:rgba(248,246,241,.22)}
.vlib-select{background:#141820;border:1px solid rgba(248,246,241,.1);color:rgba(248,246,241,.7);padding:.6rem .8rem;font-family:'DM Sans',sans-serif;font-size:.75rem;outline:none;width:100%}
.vlib-add-btn{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;background:var(--gold);color:var(--ink);border:none;padding:.65rem 1.4rem;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:500;transition:opacity .2s}
.vlib-add-btn:hover{opacity:.85}

/* ═══ CLASSES ═══ */
#classes{background:var(--paper);color:var(--ink);padding:clamp(4rem,8vw,7rem) 4rem}
#classes .section-kicker{color:var(--gold-dk)}
#classes .section-h2{color:var(--ink)}
#classes .section-h2 em{color:var(--gold-dk)}
.classes-intro{font-size:.95rem;line-height:1.85;color:rgba(13,13,13,.62);max-width:680px;margin-top:1.2rem;margin-bottom:3.5rem}
.classes-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:3.5rem}
.class-card{border:1px solid rgba(13,13,13,.1);padding:2rem;position:relative;transition:all .35s;background:var(--paper)}
.class-card:hover{border-color:var(--gold-dk);transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.class-card-type{display:inline-flex;align-items:center;gap:.5rem;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:1rem;border:1px solid rgba(139,107,42,.3);padding:.3rem .7rem}
.class-card-type svg{flex-shrink:0}
.class-card h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:400;color:var(--ink);margin-bottom:.6rem;line-height:1.1}
.class-card-desc{font-size:.82rem;line-height:1.7;color:rgba(13,13,13,.58);margin-bottom:1.4rem}
.class-meta{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.4rem}
.class-meta-item{border-top:1px solid rgba(13,13,13,.08);padding-top:.5rem}
.class-meta-label{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(13,13,13,.4);margin-bottom:.2rem}
.class-meta-val{font-size:.78rem;color:var(--ink);font-weight:500}
.class-price-row{display:flex;justify-content:space-between;align-items:center}
.class-price{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--gold-dk)}
.class-price-note{font-size:.65rem;color:rgba(13,13,13,.4)}
.btn-class-enroll{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;background:var(--gold-dk);color:var(--paper);border:none;padding:.75rem 1.5rem;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:500;transition:all .3s;display:inline-block;text-decoration:none}
.btn-class-enroll:hover{background:var(--gold);transform:translateY(-1px)}
.class-badge-live{position:absolute;top:1rem;right:1rem;background:#c0392b;color:#fff;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;padding:.25rem .6rem;display:flex;align-items:center;gap:.3rem}
.class-badge-live::before{content:'';width:6px;height:6px;border-radius:50%;background:#fff;animation:livepulse 1.5s ease-in-out infinite}
@keyframes livepulse{0%,100%{opacity:1}50%{opacity:.3}}
.class-badge-online{position:absolute;top:1rem;right:1rem;background:var(--tide);color:var(--paper);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;padding:.25rem .6rem}
/* Schedule table */
.schedule-wrap{margin-top:2rem}
.schedule-h{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--ink);margin-bottom:1.2rem}
.schedule-tabs{display:flex;gap:.5rem;margin-bottom:1.2rem}
.sched-tab{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;background:none;border:1px solid rgba(13,13,13,.15);color:rgba(13,13,13,.45);padding:.4rem .9rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.sched-tab:hover,.sched-tab.on{border-color:var(--gold-dk);color:var(--gold-dk)}
.schedule-table{width:100%;border-collapse:collapse}
.schedule-table th{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(13,13,13,.4);padding:.6rem 1rem;text-align:left;border-bottom:1px solid rgba(13,13,13,.1)}
.schedule-table td{font-size:.82rem;padding:.8rem 1rem;border-bottom:1px solid rgba(13,13,13,.06);color:var(--ink)}
.schedule-table tr:hover td{background:rgba(13,13,13,.02)}
.sched-type-live{color:#c0392b;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500}
.sched-type-online{color:var(--tide);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500}
.sched-spots{font-size:.72rem;color:rgba(13,13,13,.45)}
.sched-spots.low{color:#c0392b}
.btn-book-class{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;background:var(--gold-dk);color:var(--paper);border:none;padding:.38rem .8rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:opacity .2s}
.btn-book-class:hover{opacity:.8}
/* Register form */
.class-register-wrap{margin-top:2.5rem;padding:2rem;background:var(--canvas);border:1px solid rgba(13,13,13,.08)}
.class-register-h{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--ink);margin-bottom:.4rem}
.class-register-sub{font-size:.75rem;color:rgba(13,13,13,.5);margin-bottom:1.4rem}
.class-form{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.class-form .full{grid-column:1/-1}
.class-form-input{background:var(--paper);border:1px solid rgba(13,13,13,.15);color:var(--ink);padding:.7rem .9rem;font-family:'DM Sans',sans-serif;font-size:.82rem;outline:none;transition:border-color .2s;width:100%}
.class-form-input:focus{border-color:var(--gold-dk)}
.class-form-input::placeholder{color:rgba(13,13,13,.3)}
.class-form select.class-form-input{background:var(--paper)}

/* ═══ REVEAL ═══ */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94)}
.rv.vis{opacity:1;transform:translateY(0)}
.rv-d1{transition-delay:.1s}.rv-d2{transition-delay:.2s}.rv-d3{transition-delay:.32s}.rv-d4{transition-delay:.44s}
