/* =========================================================
   HARIKRISHNA ART HOUSE — style.css  (theme-aware)
   All colors via CSS custom properties set by PHP theme engine
   ========================================================= */

/* ---- DEFAULT TOKENS (overridden by PHP <style> injection) ---- */
:root {
  --gold:       #b8965a;
  --gold-light: #d4b07a;
  --gold-dark:  #987040;
  --umber:      #735540;
  --charcoal:   #1e1a16;
  --charcoal2:  #181410;
  --charcoal3:  #302a24;
  --ink:        #2c2620;
  --cream:      #f5f0e8;
  --cream-dark: #ede6d6;
  --parchment:  #e2d8c4;
  --white:      #fdfaf5;
  --stone:      #8a7a68;
  --mist:       #c8bfb0;
  --ff-d: 'Cormorant Garamond', Georgia, serif;
  --ff-b: 'EB Garamond', Georgia, serif;
  --ff-s: 'Tenor Sans', 'Gill Sans', sans-serif;
  --ease: cubic-bezier(.16,1,.3,1);
  --silk: cubic-bezier(.4,0,.2,1);
  --nav-h: 72px;
}

/* ---- RESET ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--ff-b);background:var(--cream);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* ---- REVEAL ANIMATIONS ---- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.visible{opacity:1;transform:none}

/* ---- LAYOUT ---- */
.container{max-width:1240px;margin:0 auto;padding:0 48px}

/* ---- TYPE ---- */
.section-label{display:inline-block;font-family:var(--ff-s);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
h2{font-family:var(--ff-d);font-size:clamp(2rem,3.8vw,3.2rem);font-weight:300;line-height:1.15;color:var(--charcoal)}
h2 em{font-style:italic;color:var(--gold-dark)}
h3{font-family:var(--ff-d);font-size:1.3rem;font-weight:400;color:var(--charcoal)}
p{font-size:1.05rem;line-height:1.85;color:var(--stone)}

/* ---- BUTTONS ---- */
.btn{display:inline-block;font-family:var(--ff-s);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;padding:13px 34px;border:1px solid;transition:background .28s var(--silk),color .28s var(--silk),border-color .28s var(--silk);cursor:pointer;white-space:nowrap}
.btn--ghost{color:var(--cream);border-color:rgba(245,240,232,.4)}
.btn--ghost:hover{background:var(--cream);color:var(--charcoal)}
.btn--light{color:var(--cream);border-color:var(--cream)}
.btn--light:hover{background:var(--cream);color:var(--charcoal)}
.btn--dark{color:var(--charcoal);border-color:var(--charcoal)}
.btn--dark:hover{background:var(--charcoal);color:var(--cream)}
.btn--outline-gold{color:var(--gold-light);border-color:rgba(184,150,90,.5)}
.btn--outline-gold:hover{background:rgba(184,150,90,.15);border-color:var(--gold-light)}
.btn--outline-dark{color:var(--charcoal);border-color:rgba(44,38,32,.3)}
.btn--outline-dark:hover{border-color:var(--charcoal)}

/* ---- SECTION HEADER ---- */
.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:56px}
.section-header h2{margin-top:.5rem}

/* =====================================================
   NAVBAR
   ===================================================== */
.navbar{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);transition:background .35s,box-shadow .35s,backdrop-filter .35s}
/* Pages that start with dark hero: start transparent */
.navbar--dark-start{background:rgba(20,16,12,.15);backdrop-filter:blur(4px)}
/* Pages that DON'T start with dark hero: solid from start */
.navbar--scrolled,.navbar.is-scrolled{background:rgba(24,20,16,.96);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(184,150,90,.15)}
.navbar__inner{max-width:1240px;margin:0 auto;padding:0 48px;height:100%;display:flex;align-items:center;justify-content:space-between}
.navbar__logo{display:flex;align-items:center;gap:12px}
.navbar__logo-img{max-height:42px;width:auto}
.navbar__logo-main{font-family:var(--ff-d);font-size:1.2rem;font-weight:500;color:#f0ebe0;letter-spacing:.02em;display:block;line-height:1.1}
.navbar__logo-sub{font-family:var(--ff-s);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:block}
.navbar__nav{display:flex;gap:34px}
.navbar__link{font-family:var(--ff-s);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(240,235,224,.85);transition:color .25s;position:relative}
.navbar__link::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}
.navbar__link:hover{color:#f0ebe0}
.navbar__link:hover::after{width:100%}
.navbar__burger{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:6px;z-index:201}
.navbar__burger span{display:block;width:22px;height:1px;background:#f0ebe0;transition:transform .3s,opacity .3s}

/* =====================================================
   HERO
   ===================================================== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero__bg{position:absolute;inset:0;background:var(--charcoal)}
.hero__texture{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");opacity:.5;mix-blend-mode:overlay}
.hero__photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:1;transition:opacity 1s}
.hero__gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.25) 0%,transparent 25%)}
.hero__content{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:0 48px;padding-top:var(--nav-h)}
.hero__label{display:block;font-family:var(--ff-s);font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem}
.hero__heading{font-family:var(--ff-d);font-size:clamp(3.2rem,7.5vw,7rem);font-weight:300;line-height:1.06;color:#f0ebe0;margin-bottom:1.8rem}
.hero__heading em{font-style:italic;color:var(--gold-light);display:block}
.hero__sub{font-size:1.08rem;line-height:1.82;color:rgba(200,191,176,.85);max-width:440px;margin-bottom:2.8rem}
.hero__ctas{display:flex;gap:16px;flex-wrap:wrap}
.hero__scroll-indicator{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;opacity:.6}
.hero__scroll-text{font-family:var(--ff-s);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mist)}
.hero__scroll-line{width:1px;height:44px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollPulse 2s ease-in-out infinite}
@keyframes scrollPulse{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.hero__content .reveal:nth-child(1){transition-delay:.1s}
.hero__content .reveal:nth-child(2){transition-delay:.3s}
.hero__content .reveal:nth-child(3){transition-delay:.5s}
.hero__content .reveal:nth-child(4){transition-delay:.7s}

/* =====================================================
   PHILOSOPHY
   ===================================================== */
.philosophy{padding:120px 0 0;background:var(--cream)}
.philosophy__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-bottom:100px}
.philosophy__text h2{margin-bottom:1.4rem}
.philosophy__frame{position:relative}
.philosophy__img-placeholder{aspect-ratio:3/4;background:linear-gradient(145deg,var(--gold) 0%,var(--umber) 50%,var(--charcoal2) 100%);position:relative;overflow:hidden}
.philosophy__img-placeholder::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.philosophy__frame::after{content:'';position:absolute;top:16px;right:-16px;bottom:-16px;left:16px;border:1px solid var(--gold);z-index:-1;pointer-events:none}
.philosophy__caption{font-family:var(--ff-s);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--stone);margin-top:12px;text-align:right}

/* MEDIUM STRIP */
.medium-strip{background:var(--charcoal);padding:80px 0}
.medium-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.medium-card{padding:48px 40px;border-right:1px solid rgba(184,150,90,.12);transition:background .3s}
.medium-card:last-child{border-right:none}
.medium-card:hover{background:rgba(184,150,90,.05)}
.medium-card__num{display:block;font-family:var(--ff-d);font-size:3.2rem;font-weight:300;color:rgba(184,150,90,.15);line-height:1;margin-bottom:1.2rem}
.medium-card h3{color:var(--cream);margin-bottom:.6rem}
.medium-card p{color:var(--stone);font-size:.95rem;line-height:1.72}

/* =====================================================
   GALLERY PREVIEW (homepage)
   ===================================================== */
.gallery-preview{padding:120px 0;background:var(--cream)}
.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.preview-card__frame{display:block;position:relative;overflow:hidden;background:var(--parchment)}
.preview-card--tall .preview-card__frame  {aspect-ratio:3/4}
.preview-card--wide .preview-card__frame  {aspect-ratio:4/3}
.preview-card--square .preview-card__frame{aspect-ratio:1/1}
.preview-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s var(--silk)}
.preview-card__placeholder{position:absolute;inset:0;background:linear-gradient(145deg,var(--c,#c8a97e),#1e1a16)}
.preview-card__placeholder::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.012' numOctaves='5'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");mix-blend-mode:overlay}
.preview-card:hover .preview-card__img{transform:scale(1.04)}
.preview-card__overlay{position:absolute;bottom:0;left:0;right:0;padding:18px;background:linear-gradient(to top,rgba(14,10,8,.75),transparent);opacity:0;transition:opacity .35s;display:flex;justify-content:flex-end}
.preview-card__frame:hover .preview-card__overlay{opacity:1}
.preview-card__status{font-family:var(--ff-s);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);background:rgba(14,10,8,.5);padding:5px 12px;backdrop-filter:blur(4px)}
.preview-card__status.is-avail{color:var(--gold-light)}
.preview-card__info{padding:14px 0 0}
.preview-card__info h3{font-size:1.05rem;font-weight:400;margin-bottom:3px}
.preview-card__info span{font-family:var(--ff-s);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}

/* =====================================================
   CTA BANNER
   ===================================================== */
.cta-banner{position:relative;padding:110px 0;overflow:hidden}
.cta-banner__bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 100% at 30% 50%,rgba(184,150,90,.1) 0%,transparent 65%),linear-gradient(135deg,var(--charcoal2) 0%,var(--charcoal) 100%)}
.cta-banner__inner{position:relative;z-index:1;text-align:center}
.cta-banner__inner h2{color:var(--cream);margin:1rem 0 2.5rem}
.cta-banner__inner h2 em{color:var(--gold-light)}

/* =====================================================
   ATELIER
   ===================================================== */
.atelier{padding:120px 0;background:var(--cream)}
.atelier__grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.atelier__frame{position:relative}
.atelier__img{aspect-ratio:4/5;background:linear-gradient(160deg,var(--umber) 0%,var(--charcoal3) 50%,var(--charcoal2) 100%);overflow:hidden}
.atelier__img::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.6' numOctaves='4'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");mix-blend-mode:overlay}
.atelier__frame::before{content:'';position:absolute;top:-18px;left:-18px;width:55%;height:55%;border:1px solid var(--gold);pointer-events:none;z-index:-1}
.atelier__body h2{margin-bottom:1.4rem}
.atelier__body p{margin-bottom:2.4rem}

/* =====================================================
   PROCESS
   ===================================================== */
.process{padding:110px 0;background:var(--cream-dark)}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.process-step{padding:40px 32px;background:var(--cream);border-top:2px solid transparent;transition:border-color .3s,background .3s}
.process-step:hover{border-top-color:var(--gold);background:var(--white)}
.process-step__num{font-family:var(--ff-d);font-size:2.8rem;font-weight:300;color:var(--gold);opacity:.55;line-height:1;margin-bottom:1.1rem}
.process-step h3{margin-bottom:.6rem}
.process-step p{font-size:.95rem}

/* =====================================================
   CONTACT
   ===================================================== */
.contact{padding:110px 0;background:var(--cream)}
.contact__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:start}
.contact__left h2{margin-bottom:1.4rem}
.contact__left p{margin-bottom:2rem}
.contact__info{display:flex;flex-direction:column;gap:10px}
.contact__info a,.contact__info span{font-family:var(--ff-s);font-size:.78rem;letter-spacing:.08em;color:var(--stone);transition:color .25s}
.contact__info a:hover{color:var(--gold)}
.contact__form form{display:flex;flex-direction:column;gap:22px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-family:var(--ff-s);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone)}
.field input,.field textarea{background:transparent;border:none;border-bottom:1px solid var(--parchment);padding:9px 0;font-family:var(--ff-b);font-size:1rem;color:var(--ink);outline:none;transition:border-color .3s;resize:none}
.field input:focus,.field textarea:focus{border-bottom-color:var(--gold)}
.contact__form .btn{align-self:flex-start;margin-top:6px}
.form-success{padding:36px;border:1px solid var(--gold);text-align:center}
.form-success h3{font-family:var(--ff-d);font-size:1.5rem;font-weight:400;color:var(--charcoal);margin-bottom:.7rem}
.form-errors{background:rgba(180,60,60,.05);border-left:2px solid #b43c3c;padding:12px 18px;margin-bottom:18px}
.form-errors p{font-size:.9rem;color:#8b2020}

/* =====================================================
   FOOTER
   ===================================================== */
.footer{background:var(--charcoal);padding:72px 0 36px}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:56px;padding-bottom:52px;border-bottom:1px solid rgba(184,150,90,.12);margin-bottom:28px}
.footer__logo{display:block;font-family:var(--ff-d);font-size:1.35rem;font-weight:400;color:var(--cream);margin-bottom:.9rem}
.footer__logo-img{max-height:52px;width:auto;margin-bottom:.9rem}
.footer__brand p{font-size:.9rem;color:var(--stone);line-height:1.7}
.footer__nav h4,.footer__contact h4{font-family:var(--ff-s);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem}
.footer__nav a,.footer__contact a,.footer__contact span{display:block;font-size:.9rem;color:var(--stone);margin-bottom:.55rem;transition:color .25s}
.footer__nav a:hover,.footer__contact a:hover{color:var(--cream)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center}
.footer__bottom span{font-family:var(--ff-s);font-size:.62rem;letter-spacing:.12em;color:var(--stone)}
.footer__craft{color:var(--gold)!important;opacity:.55}

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media(max-width:1024px){
  .preview-grid{grid-template-columns:repeat(2,1fr)}
  .process-steps{grid-template-columns:repeat(2,1fr)}
  .medium-grid{grid-template-columns:1fr}
  .medium-card{border-right:none;border-bottom:1px solid rgba(184,150,90,.12)}
  .medium-card:last-child{border-bottom:none}
}
@media(max-width:768px){
  .container{padding:0 24px}
  .navbar__nav{display:none}
  .navbar__nav.open{display:flex;flex-direction:column;position:fixed;inset:0;background:rgba(18,14,10,.98);justify-content:center;align-items:center;gap:40px;z-index:200}
  .navbar__nav.open .navbar__link{font-size:1.05rem;color:#f0ebe0}
  .navbar__burger{display:flex}
  .navbar__burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .navbar__burger.is-open span:nth-child(2){transform:translateY(-7px) rotate(-45deg)}
  .philosophy__grid,.atelier__grid,.contact__grid{grid-template-columns:1fr;gap:48px}
  .preview-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:32px}
  .footer__bottom{flex-direction:column;gap:8px;text-align:center}
  .section-header{flex-direction:column;align-items:flex-start;gap:16px}
  .hero__ctas{flex-direction:column;align-items:flex-start}
}
/* =====================================================
   NAV DROPDOWNS  v6.2
   Primary: CSS :hover (most reliable, no JS gap issue)
   Backup:  .dd-open class toggled by JS
   ===================================================== */
.nav-dd {
  position: relative;
  /* The wrapper covers trigger + gap + panel in one hover area */
}
.nav-dd__caret {
  display: inline-block;
  margin-left: 3px;
  vertical-align: middle;
  opacity: .7;
  transition: transform .22s ease;
}
.nav-dd__caret.dd-caret-open,
.nav-dd:hover .nav-dd__caret { transform: rotate(180deg); }

/* Panel — hidden by default */
.nav-dd__panel {
  position: absolute;
  top: 100%;        /* NO gap — connects directly to trigger */
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  min-width: 200px;
  background: rgba(16, 12, 9, 0.97);
  border: 1px solid rgba(184, 150, 90, 0.22);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding: 8px 0;
  z-index: 999;
  /* Hidden */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
  box-shadow: 0 16px 48px rgba(0, 0, 0, .4);
}
/* Arrow tip pointing up */
.nav-dd__panel::before {
  content: '';
  position: absolute;
  top: -7px; left: 50%;
  transform: translateX(-50%);
  border: 7px solid transparent;
  border-top: none;
  border-bottom-color: rgba(184, 150, 90, 0.22);
  pointer-events: none;
}
.nav-dd__panel::after {
  content: '';
  position: absolute;
  top: -5px; left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top: none;
  border-bottom-color: rgba(16, 12, 9, 0.97);
  pointer-events: none;
}

/* OPEN — via CSS hover (primary) */
.nav-dd:hover > .nav-dd__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
/* OPEN — via JS class (backup / touch) */
.nav-dd__panel.dd-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

/* Dropdown items */
.nav-dd__item {
  display: block;
  font-family: var(--ff-s);
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(200, 191, 176, .75);
  padding: 11px 22px;
  white-space: nowrap;
  transition: color .18s, background .18s, padding-left .18s;
  border-left: 2px solid transparent;
}
.nav-dd__item:hover {
  color: var(--gold);
  background: rgba(184, 150, 90, .08);
  padding-left: 26px;
  border-left-color: var(--gold);
}

/* Mobile: show as flat links */
@media (max-width: 768px) {
  .nav-dd {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  .nav-dd__panel {
    position: static;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: transparent;
    border: none;
    box-shadow: none;
    backdrop-filter: none;
    padding: 4px 0 0;
    min-width: unset;
  }
  .nav-dd__panel::before,
  .nav-dd__panel::after { display: none; }
  .nav-dd__item {
    font-size: .58rem;
    color: rgba(200, 191, 176, .45);
    padding: 5px 16px;
    text-align: center;
    border-left: none;
  }
  .nav-dd__item:hover { padding-left: 16px; }
  .nav-dd__caret { display: none; }
}

/* DROPDOWN ITEMS STYLE */
.nav-dd { position: relative !important; }
.nav-dd__item {
  display: block;
  font-family: 'Tenor Sans', sans-serif;
  font-size: .65rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(200,191,176,.8);
  padding: 11px 22px;
  white-space: nowrap;
  transition: color .18s, background .18s, padding-left .18s;
  border-left: 2px solid transparent;
}
.nav-dd__item:hover {
  color: #b8965a;
  background: rgba(184,150,90,.1);
  padding-left: 28px;
  border-left-color: #b8965a;
}

/* ── HOME PAGE REFINEMENTS ──────────────────── */

/* Tighter, crisper section spacing */
.gallery-preview  { padding: 100px 0; }
.cta-banner       { padding: 100px 0; }
.process          { padding: 100px 0; }
.contact          { padding: 100px 0; }
.philosophy       { padding: 100px 0 0; }

/* Section header flex */
.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 52px;
}
.section-header h2 { margin-top: .4rem; }

/* Subtle gold left-border on section labels */
.section-label {
  padding-left: 12px;
  border-left: 2px solid var(--gold);
}

/* Philosophy image — gold frame offset */
.philosophy__frame::after {
  content: '';
  position: absolute;
  top: 16px; right: -16px;
  bottom: -16px; left: 16px;
  border: 1px solid var(--gold);
  z-index: -1;
  pointer-events: none;
}

/* Medium strip — hover lift */
.medium-card {
  transition: background .3s, padding-left .3s;
  cursor: default;
}
.medium-card:hover {
  background: rgba(184,150,90,.06);
  padding-left: 48px;
}

/* Process step — hover gold top-border */
.process-step {
  border-top: 2px solid transparent;
  transition: border-color .3s, background .3s;
}
.process-step:hover {
  border-top-color: var(--gold);
  background: var(--white);
}

/* Contact form inputs — gold focus */
.field input:focus,
.field textarea:focus {
  border-bottom-color: var(--gold);
  outline: none;
}

/* CTA banner — text centering */
.cta-banner__inner { text-align: center; }
.cta-banner__inner h2 {
  color: var(--cream);
  margin: 1rem 0 2.5rem;
}
.cta-banner__inner h2 em { color: var(--gold-light); }

/* Footer link hover */
.footer__nav a:hover,
.footer__contact a:hover { color: var(--cream); }

/* Atelier frame accent */
.atelier__frame::before {
  content: '';
  position: absolute;
  top: -18px; left: -18px;
  width: 56%; height: 56%;
  border: 1px solid var(--gold);
  pointer-events: none;
  z-index: -1;
}

/* Hero scroll indicator */
.hero__scroll-indicator {
  position: absolute;
  bottom: 44px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  opacity: .55;
  z-index: 5;
}
.hero__scroll-text {
  font-family: var(--ff-s);
  font-size: .56rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--mist);
}
.hero__scroll-line {
  width: 1px;
  height: 44px;
  background: linear-gradient(to bottom, var(--gold), transparent);
  animation: scrollPulse 2s ease-in-out infinite;
}
@keyframes scrollPulse {
  0%   { transform:scaleY(0); transform-origin:top }
  50%  { transform:scaleY(1); transform-origin:top }
  51%  { transform:scaleY(1); transform-origin:bottom }
  100% { transform:scaleY(0); transform-origin:bottom }
}
