/* Site-wide dimensional typography and surfaces.
   The approved fonts, colors, content, spacing and editorial layouts stay intact.
   Gold remains an edge treatment; no gold panel backgrounds are introduced. */
:root{
  --type-depth-lg:0 -1px 0 rgba(255,255,255,.6),.3px .8px 0 #DDC9A8,.6px 1.6px 0 #BCA078,1px 2.4px 0 rgba(141,109,68,.64),1.4px 3.2px 0 rgba(102,76,47,.36),2px 7px 10px rgba(58,46,37,.17);
  --type-depth-md:0 -.5px 0 rgba(255,255,255,.6),.25px .7px 0 #DDC9A8,.5px 1.4px 0 rgba(160,126,79,.6),.8px 2px 0 rgba(112,83,48,.24),1px 4px 6px rgba(58,46,37,.13);
  --type-depth-sm:0 .65px 0 rgba(237,210,160,.72),0 1.2px 1px rgba(117,83,53,.18);
  --surface-light:rgba(255,255,255,.74);
  --surface-edge:rgba(202,187,166,.8);
  --surface-shadow:inset 0 1px 0 var(--surface-light),0 3px 0 var(--surface-edge),0 12px 22px -15px rgba(58,46,37,.28),0 28px 42px -30px rgba(58,46,37,.25);
  --surface-hover:inset 0 1px 0 var(--surface-light),0 4px 0 var(--surface-edge),0 17px 28px -15px rgba(58,46,37,.3),0 34px 48px -28px rgba(58,46,37,.22);
}

/* Espresso lettering sits above a shallow champagne-colored edge. */
main h1,main h2,main h3,.modal h3{
  -webkit-text-stroke:.22px rgba(195,154,96,.65);
  paint-order:stroke fill;
  text-shadow:var(--type-depth-md);
}
main h1,main .sec-head h2{ text-shadow:var(--type-depth-lg) }
main .eyebrow,main .cat,main .meta,main .lbl,main .kv dt,main th,main label{
  text-shadow:var(--type-depth-sm);
}
main .tag,main .pull,main .story blockquote,main .rv-empty .q,main summary{
  text-shadow:var(--type-depth-sm);
}

/* Light lettering on photographs and espresso surfaces retains its contrast. */
.hero,.feature,.gift{
  --type-depth-lg:0 -1px 0 rgba(255,248,227,.4),.3px 1px 0 #C9B38F,.7px 2px 0 #9F8258,1.1px 3px 0 rgba(87,61,35,.85),1.6px 4px 0 rgba(44,29,18,.58),0 10px 22px rgba(26,18,12,.38);
  --type-depth-md:0 -.5px 0 rgba(255,248,227,.3),.25px .8px 0 #C2A77F,.5px 1.6px 0 rgba(112,81,43,.82),.8px 2.4px 0 rgba(43,30,19,.5),0 6px 12px rgba(22,15,10,.28);
  --type-depth-sm:0 .7px 0 rgba(163,123,66,.55),0 1.5px 2px rgba(24,17,12,.3);
  --surface-light:rgba(245,220,178,.2);
  --surface-edge:#6B523B;
  --surface-shadow:inset 0 1px 0 var(--surface-light),0 3px 0 var(--surface-edge),0 12px 22px -15px rgba(58,46,37,.28),0 28px 42px -30px rgba(58,46,37,.25);
  --surface-hover:inset 0 1px 0 var(--surface-light),0 4px 0 var(--surface-edge),0 17px 28px -15px rgba(58,46,37,.3),0 34px 48px -28px rgba(58,46,37,.22);
}
main .hero h1,main .gift h2{text-shadow:var(--type-depth-lg)}
footer h4,footer .fbrand b{
  -webkit-text-stroke:.15px rgba(229,196,137,.65);
  paint-order:stroke fill;
  text-shadow:0 .8px 0 rgba(163,123,66,.68),0 1.6px 0 rgba(24,17,12,.52),0 4px 7px rgba(17,12,8,.28);
}

/* Solid paper and espresso surfaces gain depth without changing their size. */
main .card,main .hl-card,main .visit,main .rv-empty,main form,
main .map-card,main .cross a,.modal .box{
  box-shadow:var(--surface-shadow);
}
main .ritual.feature{box-shadow:var(--surface-shadow)}
main .ph:not(.photo){
  box-shadow:0 2px 0 rgba(243,234,220,.85),0 5px 0 rgba(202,184,159,.65),0 18px 30px -16px rgba(58,46,37,.28),0 30px 42px -30px rgba(58,46,37,.22);
}
main .cross .ph{box-shadow:0 2px 0 rgba(202,184,159,.55),0 8px 14px -9px rgba(58,46,37,.24)}
main .band-paper,main .band-sand{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(167,143,112,.14);
}
main .phero{
  box-shadow:0 1px 0 rgba(255,255,255,.72),0 12px 22px -20px rgba(58,46,37,.38);
}
main .cta-band{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 3px 0 rgba(202,187,166,.54),0 18px 28px -24px rgba(58,46,37,.32);
}
main .gift{
  box-shadow:inset 0 1px 0 rgba(245,220,178,.22),0 3px 0 #6B523B,0 20px 30px -24px rgba(26,18,12,.36);
}
main input,main select,main textarea{
  box-shadow:inset 0 2px 5px rgba(58,46,37,.055),0 1px 0 rgba(255,255,255,.7);
}
main input:focus,main select:focus,main textarea:focus{
  box-shadow:inset 0 1px 3px rgba(58,46,37,.04),0 0 0 2px rgba(177,140,80,.12);
}

/* Wait for the original scroll reveal to finish before enabling extra lift. */
main .card:not(.rv),main .cross a:not(.rv){
  transition:transform .6s var(--ease),border-color .5s var(--ease),box-shadow .6s var(--ease);
}
main .hl-card{transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
main .ov h3,main .ritual h3,main .diff h3{transition:transform .6s var(--ease)}
@media(min-width:961px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  main .card:not(.rv):hover,main .card:not(.rv):focus-within,
  main .cross a:not(.rv):hover,main .cross a:not(.rv):focus-visible{
    transform:perspective(1200px) translateY(-6px) rotateX(.8deg) rotateY(-.35deg);
    box-shadow:var(--surface-hover);
  }
  main .hl-feat:not(.rv):hover .hl-card,main .hl-feat:not(.rv):focus-visible .hl-card{
    transform:perspective(1200px) translateY(-5px) rotateX(.8deg);
    box-shadow:var(--surface-hover);
  }
  main .ov article:not(.rv):hover h3,main .ritual:not(.rv):hover h3,
  main .diff article:not(.rv):hover h3{transform:translateY(-2px)}
}

/* Smaller, sharper edges on mobile; no additional hover motion on touch. */
@media(max-width:640px){
  :root{
    --type-depth-lg:0 -.5px 0 rgba(255,255,255,.5),.25px .7px 0 #DDC9A8,.5px 1.4px 0 rgba(160,126,79,.66),.75px 2px 0 rgba(112,83,48,.25),1px 4px 6px rgba(58,46,37,.13);
    --type-depth-md:0 -.5px 0 rgba(255,255,255,.4),.2px .65px 0 rgba(214,189,149,.85),.4px 1.2px 0 rgba(141,109,68,.35),0 3px 4px rgba(58,46,37,.1);
    --surface-shadow:inset 0 1px 0 var(--surface-light),0 2px 0 var(--surface-edge),0 12px 20px -16px rgba(58,46,37,.26);
  }
  main h1,main h2,main h3,.modal h3{-webkit-text-stroke:.15px rgba(195,154,96,.6)}
  .hero,.feature,.gift{
    --type-depth-lg:0 -.5px 0 rgba(255,248,227,.35),.25px .8px 0 #C9B38F,.5px 1.6px 0 #9F8258,.75px 2.4px 0 rgba(67,44,24,.7),0 6px 12px rgba(26,18,12,.3);
    --type-depth-md:.2px .7px 0 #C2A77F,.4px 1.4px 0 rgba(85,58,29,.75),0 4px 7px rgba(22,15,10,.25);
    --surface-shadow:inset 0 1px 0 var(--surface-light),0 2px 0 var(--surface-edge),0 12px 20px -16px rgba(58,46,37,.26);
  }
  main .ph:not(.photo){box-shadow:0 3px 0 rgba(202,184,159,.6),0 12px 22px -15px rgba(58,46,37,.25)}
}
@media(prefers-reduced-motion:reduce){
  main .card:hover,main .card:focus-within,main .cross a:hover,
  main .hl-row:hover h3{transform:none}
}
