/* ══ IMAGE FILL ════════════════════════════════════════════════ */
.img-fill{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:10px;
}
.il{font-size:10px;letter-spacing:0.28em;text-transform:uppercase;color:rgba(242,234,220,0.45);}
.il strong{color:rgba(242,234,220,0.82);font-weight:400;}

/* hero palettes */
.ph-reverie  {background:linear-gradient(155deg,#c4b498 0%,#907060 45%,#3a2818 100%);}
.ph-ardour   {background:linear-gradient(145deg,#d87050 0%,#a04020 50%,#401808 100%);}
.ph-nocturne {background:linear-gradient(140deg,#282420 0%,#141210 55%,#060504 100%);}
.ph-terroir  {background:linear-gradient(150deg,#c8a870 0%,#987040 50%,#4a2c10 100%);}
.ph-dama     {background:linear-gradient(148deg,#7a9070 0%,#4a6048 50%,#202818 100%);}
.ph-sierra   {background:linear-gradient(160deg,#809070 0%,#4a6040 50%,#1c2818 100%);}
.ph-arrive   {background:linear-gradient(155deg,#483820 0%,#281e10 50%,#0c0a04 100%);}
.ph-ar       {background:linear-gradient(145deg,#2a3040 0%,#181c28 50%,#080c14 100%);}
.ph-milieu   {background:linear-gradient(140deg,#b0a898 0%,#807870 50%,#383430 100%);}
.ph-story    {background:linear-gradient(150deg,#a89880 0%,#786050 50%,#302018 100%);}

/* ══ SECTION HEADERS ══════════════════════════════════════════ */
.section-eyebrow{
  font-size:9px;letter-spacing:0.65em;text-transform:uppercase;
  color:var(--gold);display:block;margin-bottom:20px;
}
.section-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(26px,4vw,56px);
  font-weight:300;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--ivory);line-height:1.05;
}
.section-title.dark{color:var(--dark);}
.section-sub{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-size:17px;
  color:var(--dust);letter-spacing:0.06em;
  line-height:1.7;margin-top:16px;
}
.section-sub.dark{color:var(--clay);}

/* ══ BUTTONS ══════════════════════════════════════════════════ */
.btn-outline-light{
  display:inline-block;padding:13px 40px;
  border:1px solid rgba(242,234,220,0.3);color:var(--ivory);
  background:transparent;text-decoration:none;
  font-size:10px;letter-spacing:0.32em;text-transform:uppercase;
  font-family:'Raleway',sans-serif;font-weight:400;
  transition:all 0.35s;cursor:pointer;
}
.btn-outline-light:hover{border-color:var(--ivory);background:rgba(242,234,220,0.08);}
.btn-gold{
  display:inline-block;padding:13px 40px;
  background:var(--gold);color:var(--void);border:1px solid var(--gold);
  text-decoration:none;font-size:10px;letter-spacing:0.32em;text-transform:uppercase;
  font-family:'Raleway',sans-serif;font-weight:400;
  transition:all 0.35s;cursor:pointer;
}
.btn-gold:hover{background:#a87020;border-color:#a87020;}
.btn-dark{
  display:inline-block;padding:14px 44px;
  background:var(--dark);color:var(--ivory);border:1px solid var(--dark);
  text-decoration:none;font-size:10px;letter-spacing:0.32em;text-transform:uppercase;
  font-family:'Raleway',sans-serif;transition:all 0.3s;
}
.btn-dark:hover{background:var(--bark);border-color:var(--bark);}
.btn-outline-dark{
  display:inline-block;padding:14px 44px;
  border:1px solid rgba(26,18,8,0.3);color:var(--dark);background:transparent;
  text-decoration:none;font-size:10px;letter-spacing:0.32em;text-transform:uppercase;
  font-family:'Raleway',sans-serif;transition:all 0.3s;
}
.btn-outline-dark:hover{background:var(--dark);color:var(--ivory);}
.btn-hero{
  display:inline-block;padding:13px 44px;
  border:1px solid rgba(200,144,48,0.5);color:var(--ivory);
  background:transparent;text-decoration:none;
  font-size:10px;letter-spacing:0.32em;text-transform:uppercase;
  font-family:'Raleway',sans-serif;font-weight:400;
  transition:all 0.35s;cursor:pointer;
}
.btn-hero:hover{background:var(--gold);border-color:var(--gold);color:var(--void);}
.btn-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ══ CUSTOM CURSOR ══════════════════════════════════════════════ */
*, *::before, *::after { cursor: none !important; }
.mm-cursor {
  position: fixed; width: 8px; height: 8px;
  background: #c89030; border-radius: 50%;
  pointer-events: none; z-index: 99999;
  transform: translate(-50%, -50%);
  transition: width 0.25s ease, height 0.25s ease, background 0.25s ease;
}
.mm-cursor-ring {
  position: fixed; width: 34px; height: 34px;
  border: 1px solid rgba(200,144,48,0.45); border-radius: 50%;
  pointer-events: none; z-index: 99998;
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, border-color 0.3s ease;
}
@media (pointer: coarse) {
  *, *::before, *::after { cursor: auto !important; }
  .mm-cursor, .mm-cursor-ring { display: none; }
}
