:root {
  --bg:      #0d0305;
  --bg2:     #1a0308;
  --crimson: #8b0016;
  --rose:    #c9273f;
  --pale:    #f0d0d6;
  --silk:    #faf0f2;
  --smoke:   #d4c4c8;
  --ash:     #9a8488;
  --border:  rgba(201,39,63,0.18);
  --bhi:     rgba(201,39,63,0.5);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:#0d0305;
  color:var(--smoke);
  font-family:'Cormorant Garamond',serif;
  font-weight:300;
  overflow-x:hidden;
}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--crimson);}



header {
    background-color: #5a0008;   /* твій бордовий */
    width: 100%;
    padding: 20px 0;
}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  padding:1.1rem 4vw;
  display:flex;align-items:center;justify-content:space-between;
  transition:background .5s,backdrop-filter .5s;
}
nav.scrolled{
  background:rgba(13,3,5,0.92);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(14px);
}
.nav-logo{
  width:75px;
  margin:0;
}
.nav-links{display:flex;gap:2.5rem;align-items:center;}
.nav-links a{
  color:rgba(212,196,200,.75);text-decoration:none;
  font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.22em;
  text-transform:uppercase;transition:color .25s;
}
.nav-links select#lang-switch{
  background:transparent;
  color:rgba(212,196,200,.75);
  font-family:'Cinzel',serif;
  font-size:.6rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  border:1px solid transparent;
  padding:.38rem 1.4rem;
  cursor:pointer;
  transition:color .25s,border-color .25s, background .25s;
}
.nav-links select#lang-switch:hover{
  color:var(--pale);
  border-color:var(--rose);
}
.nav-links select#lang-switch option{
  background:var(--bg2);
  color:var(--smoke);
}

.nav-links a:hover{color:var(--pale);}
.nav-cta{
  border:1px solid var(--rose) !important;
  color:var(--pale) !important;padding:.38rem 1.4rem;
}
.nav-cta:hover{background:var(--rose) !important;color:#fff !important;}

/* ═══ HERO — FULL SCREEN, NO BORDER ═══ */
#hero{
  position:relative;
  height:100vh;min-height:580px;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  overflow:hidden;
  background:#0d0305;
}
/* subtle red glow from centre */
#hero::before{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 40%,
    rgba(100,0,16,.55) 0%,
    rgba(50,0,8,.3) 40%,
    transparent 70%);
  pointer-events:none;
}
/* THE FADE TRANSITION — like abigailabton.com: hero fades into the next section */
#hero::after{
  content:'';
  position:absolute;bottom:0;left:0;right:0;
  height:35%;
  background:linear-gradient(to bottom,
    transparent 0%,
    rgba(13,3,5,.7) 50%,
    #0d0305 100%);
  pointer-events:none;
  z-index:3;
}
.hero-bg-photo{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;
  opacity:.28;
  filter:grayscale(25%) contrast(1.15) brightness(.85);
  mix-blend-mode:luminosity;
  cursor:pointer;
}
.hero-bg-empty{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
}
.hero-bg-empty-hint{
  color:rgba(201,39,63,.2);font-family:'Cinzel',serif;
  font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;text-align:center;
}

.hero-bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-position: center 68%;
    object-fit: cover;
    z-index: 0;
}

#hero-bg-wrap {
    position: absolute;
    inset:0;
}

.hero-content{
  position:relative;z-index:2;
  display:flex;flex-direction:column;
  align-items:center;text-align:center;
  padding:0 5vw;
}
/* LOGO — NO FRAME, mix-blend removes black bg */
.hero-logo{
  width:min(820px,88vw);
  mix-blend-mode:screen;
  opacity:1;
  animation:fadeIn 2s ease both;
  filter:
    drop-shadow(0 0 60px rgba(180,20,40,.3))
    drop-shadow(0 0 120px rgba(120,0,20,.15));
  cursor:pointer;
}
.hero-tagline{
  margin-top:1.4rem;
  font-family:'IM Fell English',serif;font-style:italic;
  font-size:clamp(.95rem,1.8vw,1.25rem);
  color:rgba(240,208,214,.65);letter-spacing:.1em;
  animation:fadeUp 1.6s .5s ease both;opacity:0;
}
.hero-cta-row{
  margin-top:2.2rem;
  display:flex;gap:1.4rem;flex-wrap:wrap;justify-content:center;
  animation:fadeUp 1.6s .8s ease both;opacity:0;
}
/* scroll indicator */
.hero-scroll{
  position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
  z-index:4;/* above fade overlay */
  display:flex;flex-direction:column;align-items:center;gap:.4rem;
  animation:fadeUp .8s 2.2s ease both;opacity:0;
}
.hero-scroll span{
  font-family:'Cinzel',serif;font-size:.5rem;letter-spacing:.3em;
  color:rgba(154,132,136,.5);text-transform:uppercase;
}
.scroll-bar{
  width:1px;height:36px;
  background:linear-gradient(to bottom,var(--rose),transparent);
  animation:pulse 2.2s infinite;
}
@keyframes pulse{0%,100%{opacity:.25;transform:scaleY(1);}50%{opacity:.9;transform:scaleY(1.15);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}

/* BUTTONS */
.btn{
  display:inline-block;text-decoration:none;cursor:pointer;border:none;
  font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;padding:.82rem 2.2rem;transition:all .3s;
}
.btn-red{
  background:var(--crimson);color:#fff;
  border:1px solid var(--crimson);
  box-shadow:0 0 28px rgba(139,0,22,.45);
}
.btn-red:hover{background:var(--rose);border-color:var(--rose);box-shadow:0 0 42px rgba(201,39,63,.5);}
.btn-outline-red{
  background:transparent;color:var(--pale);
  border:1px solid rgba(201,39,63,.4);
}
.btn-outline-red:hover{border-color:var(--rose);color:#fff;background:rgba(139,0,22,.18);}

/* ═══ SECTIONS — BRIGHTER ═══ */
section{padding:7rem 5vw;}

/* Each section sits on progressively lighter bg for "brightness" feel */
#about   {background:#1a0308;}
#gallery {background:#1e040a;}
#ethos   {background:#160206;}
#pref    {background:#1c030a;}

#connect {background:#1a0308;}
#booking {background:#0f0204;}
#contact {background:#1c030a;}

.sec-label{
  font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:.38em;
  color:var(--rose);text-transform:uppercase;margin-bottom:1.2rem;
  display:flex;align-items:center;gap:1rem;opacity:.9;
}
.sec-label::after{content:'';width:48px;height:1px;background:var(--rose);opacity:.4;}
h2{
  font-family:'IM Fell English',serif;
  font-size:clamp(2rem,4vw,3.5rem);
  font-weight:400;color:var(--silk);line-height:1.12;
}
h2 em{font-style:italic;color:var(--pale);}
.divider{width:48px;height:1px;background:var(--rose);margin:1.8rem 0;opacity:.5;}
p{line-height:1.95;font-size:1.1rem;color:var(--smoke);}

/* section borders — subtle glow line */
section+section{border-top:1px solid rgba(139,0,22,.2);}

/* ═══ ABOUT ═══ */
#about{
  display:grid;grid-template-columns:1fr 1.15fr;gap:6rem;align-items:center;
}
.about-img-wrap{position:relative;}
.about-img,.about-empty{
  width:100%;aspect-ratio:3/4;object-fit:cover;
  border:1px solid rgba(201,39,63,.15);
  filter:brightness(.9) contrast(1.05);
  cursor:pointer;transition:filter .4s;
}
.about-img:hover{filter:brightness(1) contrast(1.08);}
.about-empty{
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  background:rgba(255,255,255,.02);color:rgba(201,39,63,.2);
  font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.2em;gap:.7rem;
}
.corner{position:absolute;width:28px;height:28px;border-color:var(--rose);border-style:solid;opacity:.3;}
.corner.tl{top:-5px;left:-5px;border-width:1px 0 0 1px;}
.corner.br{bottom:-5px;right:-5px;border-width:0 1px 1px 0;}
.quote-block{
  /* make block less red and more in‑line with headings */
  border-left:2px solid var(--silk);
  padding:.9rem 1.4rem;
  margin:1.8rem 0;
  background:rgba(255,255,255,.04);
}
.quote-block p{
  /* fallback in case a paragraph lands inside quote-block */
  font-family:'IM Fell English',serif;
  font-style:normal;
  font-size:clamp(1.2rem,2vw,1rem);
  color:var(--silk);
  line-height:1.3;
}

.quote-block h2{
  /* headings inside quote-block should look like the main title but a bit smaller */
  margin:0;
  font-family:'IM Fell English',serif;
  font-style:normal;
  font-size:clamp(1.5rem,3vw,2.5rem);
  color:var(--silk);
  line-height:1.12;
}
.about-text p{
  margin-bottom:1rem;
  /* make description copy significantly bigger for better readability */
  font-size:1.4rem;
}

/* when a section-label is used inside a quote block we don't want the decorative line */
.quote-block .sec-label::after{
  display:none;
}

/* ═══ GALLERY ═══ */
.gal-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.2rem;
}
.gal-item{
  position:relative;overflow:hidden;aspect-ratio:3/4;
  cursor:pointer;border:1px solid transparent;transition:border-color .3s;
}
.gal-item:hover{border-color:rgba(201,39,63,.35);}
.gal-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .65s ease,filter .4s;
  filter:brightness(.8) saturate(.75);
}
.gal-item:hover img{transform:scale(1.06);filter:brightness(.95) saturate(1);}
.gal-del{
  position:absolute;top:.4rem;right:.4rem;
  background:rgba(139,0,22,.9);border:none;cursor:pointer;
  width:26px;height:26px;display:none;align-items:center;justify-content:center;
  color:#fff;font-size:1.1rem;
}
.gal-item:hover .gal-del{display:flex;}
.gal-add{
  width:100%;padding:1.4rem;border:1px dashed rgba(201,39,63,.22);
  background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  gap:.7rem;color:rgba(201,39,63,.4);font-family:'Cinzel',serif;
  font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;transition:all .3s;
}
.gal-add:hover{border-color:var(--rose);color:var(--rose);background:rgba(139,0,22,.05);}

/* ═══ ETHOS ═══ */
#ethos{display:grid;grid-template-columns:1.1fr 1fr;gap:6rem;align-items:start;}
.ethos-img,.ethos-empty{
  width:100%;aspect-ratio:4/5;object-fit:cover;
  border:1px solid rgba(201,39,63,.15);
  filter:brightness(.88) contrast(1.05);cursor:pointer;
}
.ethos-empty{
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  background:rgba(255,255,255,.02);color:rgba(201,39,63,.2);
  font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.2em;gap:.7rem;
}
.mini-label{
  font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(201,39,63,.7);margin-top:1.6rem;margin-bottom:.5rem;
}

/* ═══ PREFERENCES ═══ */
#pref .pref-cols{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem;}
.pref-col h3{
  font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.25em;
  text-transform:uppercase;margin-bottom:1.2rem;color:rgba(201,39,63,.8);
}
.pref-col ul{list-style:none;}
.pref-col ul li{
  padding:.5rem 0;border-bottom:1px solid rgba(139,0,22,.12);
  font-size:1.05rem;color:var(--smoke);display:flex;align-items:center;gap:.8rem;
}
.pref-col ul li::before{
  content:'';width:3px;height:3px;border-radius:50%;
  background:var(--rose);flex-shrink:0;
}
.taboos li::before{background:var(--ash) !important;}



/* ═══ CONNECT ═══ */
#connect{text-align:center;}
.soc-row{display:flex;justify-content:center;gap:1.8rem;flex-wrap:wrap;margin:2.5rem 0;}
.soc-btn{
  display:flex;flex-direction:column;align-items:center;gap:.7rem;
  text-decoration:none;color:var(--smoke);transition:color .25s;
}
.soc-btn:hover{color:var(--pale);}
.soc-ring{
  width:52px;height:52px;border-radius:50%;
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  transition:border-color .25s,background .25s;
}
.soc-btn:hover .soc-ring{border-color:var(--rose);background:rgba(139,0,22,.15);}
.soc-ring svg{width:20px;height:20px;fill:currentColor;}
.soc-btn span{font-family:'Cinzel',serif;font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;}
.tron-row{
  display:inline-flex;align-items:center;gap:1.2rem;
  border:1px solid var(--border);padding:1.1rem 1.8rem;
  cursor:pointer;transition:border-color .3s;margin-top:1.5rem;
}
.tron-row:hover{border-color:var(--bhi);}
.tron-lbl{font-family:'Cinzel',serif;font-size:.54rem;letter-spacing:.15em;color:var(--rose);text-transform:uppercase;margin-bottom:.2rem;}
.tron-addr-txt{font-family:monospace;font-size:.8rem;color:var(--pale);word-break:break-all;text-align:left;}

/* ═══ BOOKING ═══ */
#booking .bwrap{max-width:660px;margin:0 auto;}
#booking h2{text-align:center;margin-bottom:.5rem;}
.bsub{text-align:center;font-style:italic;color:var(--ash);margin-bottom:3rem;}

.steps{display:flex;justify-content:center;margin-bottom:3rem;}
.stp{
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  flex:1;max-width:140px;opacity:.25;transition:opacity .3s;position:relative;
}
.stp.active{opacity:1;}
.stp.done{opacity:.55;}
.stp-c{
  width:36px;height:36px;border-radius:50%;
  border:1px solid var(--rose);display:flex;align-items:center;justify-content:center;
  font-family:'Cinzel',serif;font-size:.78rem;color:var(--rose);
  background:transparent;transition:all .3s;z-index:1;
}
.stp.active .stp-c{background:var(--crimson);border-color:var(--crimson);color:#fff;box-shadow:0 0 18px rgba(139,0,22,.5);}
.stp.done .stp-c{background:rgba(139,0,22,.4);border-color:rgba(139,0,22,.4);color:var(--pale);}
.stp-l{font-family:'Cinzel',serif;font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);}
.stp::before{content:'';position:absolute;top:18px;right:calc(50% + 18px);left:0;height:1px;background:rgba(139,0,22,.2);}
.stp:first-child::before{display:none;}

.bform{display:none;}
.bform.active{display:block;}
.fg{display:flex;flex-direction:column;gap:.42rem;margin-bottom:1.2rem;}
.fg label{font-family:'Cinzel',serif;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);}
.fg input,.fg textarea,.fg select{
  background:rgba(255,255,255,.04);border:1px solid rgba(201,39,63,.2);
  color:var(--silk);padding:.8rem 1rem;
  font-family:'Cormorant Garamond',serif;font-size:1.05rem;
  outline:none;width:100%;resize:vertical;transition:border-color .25s;
}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--rose);}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(212,196,200,.2);}
.fg select option{background:#1a0308;color:var(--silk);}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.fnav{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.8rem;}

/* payment */
.pay-warn{
  border:1px solid rgba(201,39,63,.3);padding:1.1rem 1.4rem;
  margin-bottom:1.5rem;background:rgba(139,0,22,.08);
}
.pay-warn p{
  font-size:.95rem;color:rgba(240,208,214,.8);font-style:italic;
  display:flex;align-items:flex-start;gap:.7rem;
}
.pay-warn p::before{content:'⚠';font-style:normal;opacity:.7;flex-shrink:0;}
.price-box{
  text-align:right;padding:.9rem 1.4rem;
  border:1px solid var(--border);margin-bottom:1.5rem;display:none;
}
.price-box .plbl{font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ash);display:block;margin-bottom:.25rem;}
.price-box .pval{font-family:'IM Fell English',serif;font-size:1.9rem;color:var(--rose);}
.pay-opt{
  border:1px solid rgba(201,39,63,.18);padding:1.2rem 1.4rem;
  display:flex;align-items:center;gap:1.2rem;margin-bottom:.8rem;
  cursor:pointer;transition:all .25s;background:rgba(255,255,255,.01);
}
.pay-opt:hover{border-color:rgba(201,39,63,.45);background:rgba(139,0,22,.06);}
.pay-opt.on{border-color:var(--rose);background:rgba(139,0,22,.12);}
.pay-ico{width:38px;height:38px;border-radius:50%;background:rgba(139,0,22,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pay-ico svg{width:18px;height:18px;}
.pay-info h4{color:var(--pale);font-weight:400;margin-bottom:.2rem;font-size:1rem;}
.pay-info p{font-size:.88rem;color:var(--ash);margin:0;}
.pay-price{margin-left:auto;font-family:'Cinzel',serif;font-size:1rem;color:var(--rose);white-space:nowrap;}
.trx-box{border:1px solid rgba(201,39,63,.22);padding:1.1rem 1.4rem;margin-top:.7rem;display:none;}
.trx-box.show{display:block;}
.trx-box .addr{font-family:monospace;font-size:.8rem;color:var(--pale);word-break:break-all;margin:.4rem 0;}
.trx-box .cpbtn{
  background:none;border:1px solid var(--border);color:var(--rose);
  font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.12em;
  padding:.3rem .8rem;cursor:pointer;text-transform:uppercase;transition:all .2s;
}
.trx-box .cpbtn:hover{border-color:var(--rose);background:rgba(139,0,22,.1);}
.conf-box{text-align:center;padding:3rem 1rem;display:none;}
.conf-box.show{display:block;}
.conf-ring{
  width:68px;height:68px;border-radius:50%;
  border:1px solid var(--rose);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.4rem;
  box-shadow:0 0 28px rgba(201,39,63,.2);
}
.conf-box h3{font-family:'IM Fell English',serif;font-size:1.8rem;color:var(--pale);margin-bottom:1rem;}

/* ═══ CONTACT ═══ */
#contact{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5rem;align-items:start;
}
#contact h2 {
    font-family: 'IM Fell English', serif;   /* or any other font you’ve loaded */
    font-size: 2.5rem;                       /* adjust as needed */
    font-weight: 400;                        /* optional */
    letter-spacing: .05em;                  /* optional stylistic tweak */
}

#contact h2 em {
    font-family: 'IM Fell English', serif;  /* or whatever font you like */
    font-size: 3rem;                        /* bigger, smaller, whatever */
    font-style: normal;                     /* remove the italic if you wish */
    color: var(--rose);                    /* even change the colour */
}

/* you can also target all big headings globally: */
h1, h2, h3 { font-family: 'Cinzel', serif; }

.c-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.4rem;}
.c-ico{width:36px;height:36px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.c-ico svg{width:15px;height:15px;stroke:var(--rose);fill:none;stroke-width:1.5;}
.c-lbl{font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ash);margin-bottom:.2rem;}
.c-val{color:var(--pale);font-size:1rem;text-decoration:none;transition:color .25s;}
.c-val:hover{color:#fff;}
#contact .fg input,#contact .fg textarea{background:rgba(255,255,255,.03);}

/* ═══ FOOTER ═══ */
footer{
  background:#070102;border-top:1px solid rgba(139,0,22,.18);
  padding:2.2rem 5vw;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;
}
footer .flogo{height:36px;mix-blend-mode:screen;opacity:.55;}
footer .flinks{display:flex;gap:2rem;flex-wrap:wrap;}
footer .flinks a{
  color:rgba(154,132,136,.5);text-decoration:none;
  font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;
  transition:color .25s;
}
footer .flinks a:hover{color:var(--pale);}
footer .fcopy{color:rgba(154,132,136,.3);font-size:.78rem;font-style:italic;}

/* ═══ ADMIN ═══ */
#adm{
  position:fixed;top:50%;right:-330px;transform:translateY(-50%);
  width:310px;background:#120205;border:1px solid var(--border);
  box-shadow:-4px 0 28px rgba(0,0,0,.6);
  z-index:600;transition:right .4s;padding:1.3rem;
}
#adm.open{right:0;}
#adm-tog{
  position:fixed;top:50%;right:0;transform:translateY(-50%);
  background:rgba(80,0,12,.9);color:var(--pale);border:none;
  width:26px;cursor:pointer;z-index:601;
  padding:.6rem .2rem;font-family:'Cinzel',serif;font-size:.48rem;
  letter-spacing:.1em;text-transform:uppercase;writing-mode:vertical-rl;
  transition:right .4s;border-left:1px solid var(--border);
}
#adm.open ~ #adm-tog{right:310px;}
#adm h4{font-family:'Cinzel',serif;color:var(--rose);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem;padding-bottom:.7rem;border-bottom:1px solid var(--border);}
.adm-sec{margin-bottom:1.1rem;}
.adm-sec h5{font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.15em;color:var(--ash);text-transform:uppercase;margin-bottom:.5rem;}
.adm-btn{
  width:100%;background:none;border:1px solid rgba(201,39,63,.15);
  color:var(--smoke);font-family:'Cinzel',serif;font-size:.55rem;
  letter-spacing:.12em;padding:.5rem .9rem;cursor:pointer;text-transform:uppercase;
  transition:all .2s;text-align:left;display:flex;align-items:center;gap:.6rem;
  margin-bottom:.35rem;
}
.adm-btn:hover{border-color:var(--rose);color:var(--pale);background:rgba(139,0,22,.08);}
.adm-btn svg{width:12px;height:12px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.5;}

/* LIGHTBOX */
#lbox{position:fixed;inset:0;background:rgba(7,1,2,.97);z-index:900;display:none;align-items:center;justify-content:center;}
#lbox.open{display:flex;}
#lbox img{max-width:90vw;max-height:90vh;object-fit:contain;}
#lbox .lxc{position:absolute;top:1.5rem;right:2rem;color:var(--rose);background:none;border:none;font-size:2rem;cursor:pointer;}
.hi{display:none !important;}

/* RESPONSIVE */
@media(max-width:900px){
  nav{padding:1rem 1.5rem;}
  .nav-links a:not(.nav-cta){display:none;}
  #about,#ethos,#contact{grid-template-columns:1fr;gap:3rem;}
  .gal-grid{grid-template-columns:1fr 1fr;}
  .pref-cols,#pref .pref-cols{grid-template-columns:1fr;}
  .fg-row{grid-template-columns:1fr;}
  footer{flex-direction:column;}
}
@media(max-width:600px){
  section{padding:4rem 1.5rem;}
  .gal-grid{grid-template-columns:1fr;}
  .hero-logo{width:92vw;}
}




/* LANG SWITCHER */
.lang-switcher{ position:relative; }
.lang-current{
  background:transparent;
  color:rgba(212,196,200,.75);
  font-family:'Cinzel',serif;
  font-size:.6rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  border:1px solid transparent;
  padding:.38rem 1rem;
  cursor:pointer;
  display:flex;align-items:center;gap:.4rem;
  transition:color .25s,border-color .25s;
}
.lang-current:hover{ color:var(--pale); border-color:var(--rose); }
.lang-dropdown{
  display:none;
  position:absolute;top:calc(100% + .5rem);right:0;
  background:rgba(13,3,5,0.95);
  border:1px solid var(--border);
  backdrop-filter:blur(14px);
  min-width:80px;
  flex-direction:column;
}
.lang-switcher.open .lang-dropdown{ display:flex; }
.lang-dropdown a{
  padding:.5rem 1rem;
  font-family:'Cinzel',serif;
  font-size:.6rem;
  letter-spacing:.22em;
  color:rgba(212,196,200,.75);
  text-decoration:none;
  text-transform:uppercase;
  transition:background .2s,color .2s;
}
.lang-dropdown a:hover{ background:var(--rose); color:#fff; }

/* BURGER */
.nav-burger{
  display:none;
  flex-direction:column;
  gap:5px;
  background:transparent;
  border:none;
  cursor:pointer;
  padding:.5rem;
  z-index:600;
}
.nav-burger span{
  display:block;
  width:24px;height:2px;
  background:rgba(212,196,200,.75);
  transition:all .3s;
}

/* MOBILE */
@media(max-width:900px){
  .nav-burger{ display:flex; }
  .nav-links a:not(.nav-cta){ display:none; }

  .nav-links{
    display:none;
    position:fixed;
    top:0;left:0;right:0;bottom:0;
    background:rgba(13,3,5,0.97);
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2rem;
    z-index:500;
  }
  .nav-links.open{ display:flex; }
  .nav-links.open a{ display:block; font-size:1rem; letter-spacing:.3em; }

  .lang-switcher{ width:100%; text-align:center; }
  .lang-current{ width:100%; justify-content:center; }
  .lang-dropdown{
    display:none;
    position:static;
    flex-direction:row;
    justify-content:center;
    gap:1rem;
    border:none;
    background:transparent;
  }
  .lang-switcher.open .lang-dropdown{ display:flex; }
}