/* ============ DESIGN TOKENS ============ */
:root{
  --paper:        #FCF6EC;
  --paper-deep:   #F3E4C9;
  --paper-deeper: #EAD2A8;
  --ink:          #2A2016;
  --ink-soft:     #6E6252;
  --gold:         #CFA75F;
  --gold-deep:    #A97C34;
  --gold-line:    #CFA75F;
  --wine:         #8A2F42;
  --wine-soft:    #AE5468;
  --line:         #E9D6AE;
  --surface:      #FFFFFF;
  /* stable brand-panel colors — deliberately constant across light/dark themes,
     used for textured accent panels (.relief-dark / .relief-ink) so those panels
     always read as the same deep wine/ink surfaces */
  --panel-wine:   #7A2233;
  --panel-ink:    #241C15;
  --shadow:       20px 30px 60px -30px rgba(88,63,20,0.28);
  --shadow-sm:    0 8px 20px -12px rgba(88,63,20,0.35);
  --footer-bg:    #2A2016;
  --footer-ink:   #F3E4C9;
  --footer-line:  #4E4030;
  --radius-lg: 22px;
  --radius-md: 14px;
  --radius-sm: 8px;
  --maxw: 1160px;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:        #1E160E;
    --paper-deep:   #271D13;
    --paper-deeper: #2F2317;
    --ink:          #F5EAD9;
    --ink-soft:     #CBBBA0;
    --gold:         #E0BD80;
    --gold-deep:    #ECD29A;
    --gold-line:    #C29E63;
    --wine:         #E7A3B1;
    --wine-soft:    #CE8494;
    --line:         #3D301F;
    --surface:      #241A11;
    --shadow:       20px 30px 60px -28px rgba(0,0,0,0.55);
    --shadow-sm:    0 8px 20px -12px rgba(0,0,0,0.5);
    --footer-bg:    #140E09;
    --footer-ink:   #F1E0C4;
    --footer-line:  #3A2C1C;
  }
}
:root[data-theme="dark"]{
  --paper:        #1E160E;
  --paper-deep:   #271D13;
  --paper-deeper: #2F2317;
  --ink:          #F5EAD9;
  --ink-soft:     #CBBBA0;
  --gold:         #E0BD80;
  --gold-deep:    #ECD29A;
  --gold-line:    #C29E63;
  --wine:         #E7A3B1;
  --wine-soft:    #CE8494;
  --line:         #3D301F;
  --surface:      #241A11;
  --shadow:       20px 30px 60px -28px rgba(0,0,0,0.55);
  --shadow-sm:    0 8px 20px -12px rgba(0,0,0,0.5);
  --footer-bg:    #140E09;
  --footer-ink:   #F1E0C4;
  --footer-line:  #3A2C1C;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Montserrat", ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}

img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }

h1,h2,h3{font-family:"EB Garamond", Georgia, serif; font-weight:600; margin:0; text-wrap:balance;}
p{line-height:1.75; color:var(--ink-soft); margin:0;}
.eyebrow{
  font-family:"Montserrat"; font-weight:700; font-size:0.72rem; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--wine); display:flex; align-items:center; gap:10px;
}
.eyebrow::before{
  content:""; width:7px; height:7px; background:var(--gold); transform:rotate(45deg); flex:none;
}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head h2{font-size:clamp(1.9rem, 3.2vw, 2.7rem); margin-top:14px; line-height:1.15;}
.section-head p{margin-top:18px; font-size:1.05rem;}

section{padding:112px 0;}
@media (max-width:768px){ section{padding:76px 0;} }

.btn{
  display:inline-flex; align-items:center; gap:10px; font-family:"Montserrat"; font-weight:600;
  font-size:0.85rem; letter-spacing:0.06em; text-transform:uppercase; text-decoration:none;
  padding:16px 30px; border-radius:999px; transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  cursor:pointer; border:1px solid transparent; white-space:nowrap;
}
.btn-primary{ background:var(--ink); color:var(--paper); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.btn-ghost{ border-color:var(--gold-deep); color:var(--ink); }
.btn-ghost:hover{ background:var(--paper-deep); transform:translateY(-2px); }
.btn-wine{ background:var(--wine); color:#FCF6EC; }
.btn-wine:hover{ transform:translateY(-2px); box-shadow:var(--shadow-sm); }

hr.hair{ border:none; border-top:1px solid var(--line); margin:0; }

/* ============ RELIEF / EMBOSSED TEXTURE ============ */
.relief-light{
  position:relative;
  background-color:var(--paper-deep);
  background-image:
    repeating-linear-gradient(135deg, rgba(42,32,22,0.055) 0px, rgba(42,32,22,0.055) 1px, transparent 1px, transparent 7px),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.55) 0px, rgba(255,255,255,0.55) 1px, transparent 1px, transparent 7px),
    radial-gradient(circle at 15% 20%, rgba(255,255,255,0.55), transparent 42%),
    radial-gradient(circle at 88% 82%, rgba(42,32,22,0.07), transparent 46%);
  box-shadow:
    inset 0 3px 10px rgba(42,32,22,0.09),
    inset 0 -3px 10px rgba(255,255,255,0.4);
}
.relief-dark{
  position:relative;
  background-color:var(--panel-wine);
  background-image:
    repeating-linear-gradient(135deg, rgba(0,0,0,0.14) 0px, rgba(0,0,0,0.14) 1px, transparent 1px, transparent 7px),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.07) 0px, rgba(255,255,255,0.07) 1px, transparent 1px, transparent 7px),
    radial-gradient(circle at 15% 15%, rgba(255,255,255,0.1), transparent 42%),
    radial-gradient(circle at 88% 85%, rgba(0,0,0,0.2), transparent 46%);
  box-shadow:
    inset 0 3px 12px rgba(0,0,0,0.28),
    inset 0 -3px 12px rgba(255,255,255,0.07);
}
.relief-ink{
  position:relative;
  background-color:var(--panel-ink);
  background-image:
    repeating-linear-gradient(135deg, rgba(0,0,0,0.18) 0px, rgba(0,0,0,0.18) 1px, transparent 1px, transparent 7px),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0px, rgba(255,255,255,0.05) 1px, transparent 1px, transparent 7px),
    radial-gradient(circle at 18% 18%, rgba(255,255,255,0.08), transparent 42%),
    radial-gradient(circle at 88% 85%, rgba(0,0,0,0.25), transparent 46%);
  box-shadow:
    inset 0 3px 12px rgba(0,0,0,0.35),
    inset 0 -3px 12px rgba(255,255,255,0.05);
}

/* ============ NAV ============ */
header.nav{
  position:sticky; top:0; z-index:100;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; padding:16px 32px; max-width:var(--maxw); margin:0 auto; }
.brand-mark{ display:flex; flex-direction:column; line-height:1; text-decoration:none; color:var(--ink); }
.brand-mark .b1{ font-family:"Montserrat"; font-weight:800; font-size:1.18rem; letter-spacing:0.08em; }
.brand-mark .b2{ font-family:"EB Garamond"; font-style:italic; font-weight:500; font-size:0.78rem; letter-spacing:0.24em; color:var(--wine); margin-top:2px;}
nav.links{ display:flex; align-items:center; gap:19px; }
nav.links a{
  font-size:0.71rem; font-weight:600; letter-spacing:0.07em; text-transform:uppercase;
  text-decoration:none; color:var(--ink-soft); position:relative; padding:6px 0;
  transition:color .2s ease; white-space:nowrap;
}
nav.links a:hover{ color:var(--ink); }
nav.links a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1.5px; background:var(--gold);
  transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
nav.links a:hover::after{ transform:scaleX(1); }
nav.links a.active{ color:var(--ink); }
nav.links a.active::after{ transform:scaleX(1); }
.nav-cta{ display:flex; align-items:center; gap:18px; }
.nav-cta .btn{ padding:11px 22px; font-size:0.72rem; }
.burger{ display:none; background:none; border:none; cursor:pointer; padding:8px; }
.burger span{ display:block; width:24px; height:2px; background:var(--ink); margin:5px 0; transition:.25s; }

@media (max-width:1180px){
  nav.links{
    position:fixed; top:64px; right:0; bottom:0; left:0; z-index:99;
    background:var(--paper); flex-direction:column;
    justify-content:flex-start; align-items:flex-start; padding:36px 32px; gap:26px;
    transform:translateX(100%); transition:transform .35s ease; overflow-y:auto;
  }
  nav.links a{ font-size:1rem; }
  nav.links.open{ transform:translateX(0); }
  .burger{ display:block; }
  .nav-cta .btn-ghost{ display:none; }
}

/* ============ BREADCRUMB + PAGE INTRO (subpages) ============ */
.breadcrumb{
  display:flex; align-items:center; gap:8px; font-size:0.76rem; color:var(--ink-soft);
  margin-bottom:20px; text-transform:uppercase; letter-spacing:0.05em;
}
.breadcrumb a{ text-decoration:none; color:var(--ink-soft); transition:color .2s ease; }
.breadcrumb a:hover{ color:var(--wine); }
.breadcrumb span{ color:var(--gold-deep); }

.page-intro{
  position:relative; overflow:hidden; padding:64px 0 58px;
  background:
    radial-gradient(ellipse 520px 360px at 88% -10%, color-mix(in srgb, var(--gold) 26%, transparent), transparent 70%),
    radial-gradient(ellipse 420px 340px at -6% 30%, color-mix(in srgb, var(--wine) 14%, transparent), transparent 70%),
    var(--paper);
  border-bottom:1px solid var(--line);
}
.page-intro h1{ font-size:clamp(2.1rem, 3.8vw, 3.1rem); line-height:1.1; }
.page-intro .lead{ margin-top:16px; font-size:1.05rem; max-width:60ch; }
.page-intro-arc{ position:absolute; right:-200px; top:-220px; width:520px; height:520px; border-radius:50%; border:1px solid var(--line); pointer-events:none; }

/* ============ HERO (Početna) ============ */
.hero{
  position:relative; padding:88px 0 76px; overflow:hidden;
  background:
    radial-gradient(ellipse 620px 420px at 82% -6%, color-mix(in srgb, var(--gold) 30%, transparent), transparent 70%),
    radial-gradient(ellipse 520px 420px at -4% 18%, color-mix(in srgb, var(--wine) 16%, transparent), transparent 70%),
    var(--paper);
}
.hero-arc{
  position:absolute; right:-220px; top:-220px; width:760px; height:760px;
  border-radius:50%; border:1px solid var(--line); pointer-events:none;
}
.hero-arc.two{ right:-340px; top:-140px; width:900px; height:900px; opacity:0.6; }
.hero-inner{ position:relative; display:grid; grid-template-columns:1.15fr 0.85fr; gap:60px; align-items:center; }
@media (max-width:960px){ .hero-inner{ grid-template-columns:1fr; } }
.hero-eyebrow{ margin-bottom:22px; }
.hero h1{ font-size:clamp(2.5rem, 5.4vw, 4.3rem); line-height:1.06; letter-spacing:-0.01em; }
.hero h1 em{ font-style:italic; color:var(--wine); font-weight:500; }
.hero p.lead{ margin-top:26px; font-size:1.12rem; max-width:52ch; }
.hero-ctas{ display:flex; gap:16px; margin-top:38px; flex-wrap:wrap; }
.hero-signature{
  margin-top:56px; display:flex; gap:18px; align-items:flex-start;
  padding-top:30px; border-top:1px solid var(--line); max-width:52ch;
}
.hero-signature .num{ font-family:"EB Garamond"; font-style:italic; font-size:2rem; color:var(--gold-deep); line-height:1;}
.hero-signature p{ font-size:0.92rem; }
.hero-signature strong{ color:var(--ink); font-weight:600; }

.hero-card{
  position:relative; border-radius:var(--radius-lg);
  box-shadow:var(--shadow); padding:46px 38px; border:1px solid var(--line); color:#FCF6EC;
}
.hero-card .ring{
  width:96px; height:96px; border-radius:50%; border:1px solid rgba(252,246,236,0.55);
  display:flex; align-items:center; justify-content:center; margin:0 auto 22px;
}
.hero-card .ring svg{ width:44px; height:44px; }
.hero-card h3{ text-align:center; font-size:1.5rem; color:#FCF6EC; }
.hero-card p{ text-align:center; margin-top:10px; font-size:0.94rem; color:rgba(252,246,236,0.78); }
.hero-card .stats{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:30px; }
.hero-card .stat{ text-align:center; padding:16px 8px; background:rgba(252,246,236,0.1); border-radius:var(--radius-md); border:1px solid rgba(252,246,236,0.18); }
.hero-card .stat b{ display:block; font-family:"EB Garamond"; font-size:1.7rem; color:#F3D9B8; }
.hero-card .stat span{ font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(252,246,236,0.68); }

/* ============ MEMBERS ============ */
.members-lead{ display:grid; grid-template-columns:1.3fr 1fr; gap:56px; margin-bottom:64px; align-items:stretch;}
@media (max-width:860px){ .members-lead{ grid-template-columns:1fr; } }
.pull-panel{ border-radius:var(--radius-lg); padding:38px 34px; display:flex; align-items:center; }
blockquote.pull{
  margin:0; padding:0 0 0 22px; border-left:2px solid rgba(252,246,236,0.55);
  font-family:"EB Garamond"; font-style:italic; font-size:1.32rem; color:#FCF6EC; line-height:1.5;
}
blockquote.pull cite{ display:block; margin-top:14px; font-family:"Montserrat"; font-style:normal;
  font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:rgba(252,246,236,0.7); }

.members-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
@media (max-width:900px){ .members-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .members-grid{ grid-template-columns:1fr; } }
.member-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:32px 24px; text-align:center; transition:transform .3s ease, box-shadow .3s ease;
}
.member-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-sm); }
.avatar{
  width:84px; height:84px; border-radius:50%; margin:0 auto 20px; display:flex; align-items:center;
  justify-content:center; font-family:"EB Garamond"; font-size:1.7rem; font-weight:600; letter-spacing:0.02em;
  background:linear-gradient(150deg, var(--paper-deep), var(--paper-deeper)); color:var(--wine);
  border:1px solid var(--gold-line);
}
.member-card h3{ font-size:1.18rem; }
.member-card .role{
  margin-top:8px; font-size:0.74rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep);
}

/* ============ TERMINI (CTA STRIP) ============ */
.cta-strip{
  border-radius:var(--radius-lg); padding:56px 52px; color:#FCF6EC;
  display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;
}
.cta-strip .eyebrow{ color:#EFC3CC; }
.cta-strip .eyebrow::before{ background:#F3E4C9; }
.cta-strip h2{ color:#FCF6EC; font-size:clamp(1.5rem,2.6vw,2.1rem); margin-top:10px; max-width:30ch; }
.cta-strip p{ color:#EEDCE0; margin-top:12px; max-width:46ch; font-size:0.98rem; }
.cta-strip .btn-primary{ background:#FCF6EC; color:var(--wine); }
.cta-strip .phone{ font-family:"EB Garamond"; font-size:1.5rem; font-style:italic; }
.termini-notice{
  display:flex; gap:16px; align-items:flex-start; margin-top:44px; padding:22px 26px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); max-width:720px;
}
.termini-notice .mark{ flex:none; width:34px; height:34px; border-radius:50%; border:1px solid var(--gold-line);
  display:flex; align-items:center; justify-content:center; color:var(--gold-deep); font-family:"EB Garamond"; font-style:italic; font-size:1.1rem;}

/* ============ REPERTOAR ============ */
.repertoar-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
@media (max-width:860px){ .repertoar-grid{ grid-template-columns:1fr; gap:40px; } }
.repertoar-grid p + p{ margin-top:20px; }
.feature-list{ display:flex; flex-direction:column; gap:22px; padding:28px; border-radius:var(--radius-lg); }
.feature{ display:flex; gap:18px; padding:22px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); }
.feature .mark{ flex:none; width:38px; height:38px; border-radius:50%; border:1px solid var(--gold-line);
  display:flex; align-items:center; justify-content:center; color:var(--gold-deep); font-family:"EB Garamond"; font-style:italic; }
.feature h4{ font-family:"Montserrat"; font-weight:600; font-size:0.95rem; margin:0 0 6px; color:var(--ink); }
.feature p{ font-size:0.9rem; }

/* ============ GALLERY ============ */
.gallery-band{ padding:48px 40px; border-radius:var(--radius-lg); }
.gallery-grid{
  display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:120px; gap:14px;
}
@media (max-width:760px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; } }
.tile{
  border-radius:var(--radius-md); position:relative; overflow:hidden; display:flex; align-items:flex-end;
  padding:16px; isolation:isolate; border:1px solid rgba(252,246,236,0.25);
}
.tile span{ position:relative; color:#FCF6EC; font-family:"Montserrat"; font-weight:600; font-size:0.78rem;
  letter-spacing:0.06em; text-transform:uppercase; text-shadow:0 2px 10px rgba(0,0,0,0.35); }
.tile::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(20,14,8,0.55)); z-index:0; }
.tile svg{ position:absolute; inset:0; width:100%; height:100%; z-index:0; opacity:0.9; }
.t1{ grid-column:span 3; grid-row:span 2; }
.t2{ grid-column:span 3; grid-row:span 1; }
.t3{ grid-column:span 2; grid-row:span 1; }
.t4{ grid-column:span 2; grid-row:span 2; }
.t5{ grid-column:span 2; grid-row:span 1; }
.t6{ grid-column:span 3; grid-row:span 1; }
.t7{ grid-column:span 3; grid-row:span 1; }
@media (max-width:760px){ .t1,.t2,.t3,.t4,.t5,.t6,.t7{ grid-column:span 1; grid-row:span 1; } }

/* ============ VIDEO ============ */
.video-card{
  display:grid; grid-template-columns:1.1fr 0.9fr; align-items:stretch; gap:0; background:var(--surface);
  border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm);
}
@media (max-width:860px){ .video-card{ grid-template-columns:1fr; } }
.video-thumb{
  position:relative; min-height:260px;
  display:flex; align-items:center; justify-content:center;
}
.video-thumb::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--gold) 55%, transparent), transparent 60%);
}
.play-btn{
  position:relative; width:76px; height:76px; border-radius:50%; background:rgba(252,246,236,0.14); border:1px solid rgba(252,246,236,0.5);
  display:flex; align-items:center; justify-content:center; backdrop-filter:blur(4px); transition:transform .25s ease;
}
.video-card:hover .play-btn{ transform:scale(1.08); }
.play-btn svg{ width:24px; height:24px; margin-left:3px; fill:#FCF6EC; }
.video-body{ padding:46px; display:flex; flex-direction:column; justify-content:center; }
.video-body h3{ font-size:1.6rem; }
.video-body p{ margin-top:14px; }
.video-body .btn{ margin-top:26px; align-self:flex-start; }

/* ============ KUTAK ZA MLADENCE (FAQ) ============ */
.faq-band{ padding:40px; border-radius:var(--radius-lg); }
.faq{ display:flex; flex-direction:column; gap:14px; }
.faq details{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md);
  padding:6px 26px;
}
.faq summary{
  cursor:pointer; list-style:none; padding:20px 0; display:flex; align-items:center; justify-content:space-between;
  gap:20px; font-family:"EB Garamond"; font-size:1.2rem; color:var(--ink);
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary .plus{
  flex:none; width:26px; height:26px; border-radius:50%; border:1px solid var(--gold-line); position:relative;
}
.faq summary .plus::before, .faq summary .plus::after{
  content:""; position:absolute; background:var(--gold-deep); left:50%; top:50%; transform:translate(-50%,-50%);
}
.faq summary .plus::before{ width:10px; height:1.4px; }
.faq summary .plus::after{ width:1.4px; height:10px; transition:opacity .2s ease; }
.faq details[open] summary .plus::after{ opacity:0; }
.faq .faq-body{ padding:0 0 26px; }
.faq .faq-body p{ font-size:0.95rem; }
.faq .faq-body p + p{ margin-top:12px; }

/* ============ KONTAKT ============ */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
@media (max-width:860px){ .contact-grid{ grid-template-columns:1fr; gap:44px; } }
.contact-list{ display:flex; flex-direction:column; gap:0; }
.contact-row{
  display:flex; align-items:center; gap:18px; padding:22px 0; border-bottom:1px solid var(--line);
  text-decoration:none; color:var(--ink); transition:padding-left .25s ease, color .25s ease;
}
.contact-row:hover{ padding-left:10px; color:var(--wine); }
.contact-row .ic{
  flex:none; width:44px; height:44px; border-radius:50%; border:1px solid var(--gold-line);
  display:flex; align-items:center; justify-content:center;
}
.contact-row .ic svg{ width:18px; height:18px; stroke:var(--gold-deep); fill:none; }
.contact-row .row-label{ display:block; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); }
.contact-row .row-value{ display:block; font-family:"EB Garamond"; font-size:1.24rem; margin-top:3px; }

.contact-card{
  border-radius:var(--radius-lg); padding:44px; text-align:center; color:#FCF6EC;
}
.contact-card h3{ font-size:1.5rem; color:#FCF6EC; }
.contact-card p{ margin-top:12px; font-size:0.95rem; color:rgba(252,246,236,0.78); }
.contact-card .btn{ margin-top:26px; }
.contact-card .eyebrow{ color:#F3D9B8; justify-content:center; }
.contact-card .eyebrow::before{ background:#F3D9B8; }
.social-row{ display:flex; gap:14px; justify-content:center; margin-top:30px; }
.social-row a{
  width:42px; height:42px; border-radius:50%; border:1px solid rgba(252,246,236,0.4); display:flex;
  align-items:center; justify-content:center; text-decoration:none; transition:background .2s ease, transform .2s ease;
}
.social-row a:hover{ background:rgba(252,246,236,0.12); transform:translateY(-2px); }
.social-row svg{ width:17px; height:17px; stroke:#F3D9B8; fill:none; }

/* ============ FOOTER ============ */
footer{ background:var(--footer-bg); color:var(--footer-ink); padding:64px 0 30px; }
.footer-top{ display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; padding-bottom:44px; border-bottom:1px solid var(--footer-line); }
.footer-brand .b1{ font-family:"Montserrat"; font-weight:800; letter-spacing:0.08em; font-size:1.2rem; color:var(--footer-ink); }
.footer-brand .b2{ font-family:"EB Garamond"; font-style:italic; letter-spacing:0.2em; font-size:0.78rem; color:#D2A56E; margin-top:4px; }
.footer-brand p{ margin-top:14px; max-width:34ch; font-size:0.88rem; color:#C1AF8D; }
.footer-links{ display:flex; gap:56px; flex-wrap:wrap; }
.footer-links h5{ font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:#D2A56E; margin:0 0 16px; font-weight:600;}
.footer-links ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.footer-links a{ text-decoration:none; color:#DECDAC; font-size:0.9rem; }
.footer-links a:hover{ color:var(--footer-ink); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; flex-wrap:wrap; gap:14px; }
.footer-bottom p{ font-size:0.78rem; color:#93805F; }

::selection{ background:var(--gold); color:var(--ink); }
