*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{ font-family:var(--bf); color:#1a1f1c; -webkit-font-smoothing:antialiased; }
:root{ --tf:'Cormorant Garamond', Georgia, serif; --bf:'Hanken Grotesk', system-ui, sans-serif; --accent:#b08d57; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; }
input, select, textarea{ font-family:inherit; }
::selection{ background:var(--accent); color:#fff; }

[data-biencard] img{ transition:transform .8s cubic-bezier(.2,.7,.2,1); }
[data-biencard]:hover img{ transform:scale(1.09); }

/* hover lifts (prototype used style-hover; recreated as real CSS) */
[data-biencard]{ transition:transform .4s, box-shadow .4s, border-color .4s; }
.imc-card-prestige:hover{ transform:translateY(-6px); box-shadow:0 24px 50px rgba(26,31,28,.13); }
.imc-card-premium:hover{ transform:translateY(-6px); box-shadow:0 26px 56px rgba(33,30,23,.16); border-color:rgba(156,124,62,.45); }
.imc-btn-lift{ transition:transform .35s, box-shadow .35s; }
.imc-btn-lift:hover{ transform:translateY(-3px); box-shadow:0 24px 56px rgba(0,0,0,.5); }
.imc-ghost{ transition:background .35s, border-color .35s; }
.imc-ghost:hover{ background:rgba(247,243,234,.1); border-color:rgba(247,243,234,.75); }

@keyframes kenburns{ 0%{ transform:scale(1.02) translate(0,0); } 100%{ transform:scale(1.13) translate(-1.6%,-1.8%); } }
@keyframes floatA{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(46px,-34px); } }
@keyframes floatB{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(-54px,32px); } }
@keyframes shimmer{ to{ background-position:200% 0; } }
@keyframes pulseDot{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.6); opacity:.5; } }
@keyframes scrollcue{ 0%{ transform:scaleY(0); transform-origin:top; opacity:0; } 40%{ transform:scaleY(1); transform-origin:top; opacity:1; } 60%{ transform:scaleY(1); transform-origin:bottom; } 100%{ transform:scaleY(0); transform-origin:bottom; opacity:0; } }
@keyframes revealup{ 0%{ opacity:0; transform:translateY(30px); filter:blur(6px); } 100%{ opacity:1; transform:none; filter:blur(0); } }

/* responsive — collapse multi-column grids on narrow screens */
@media (max-width: 900px){
  .imc-grid-3{ grid-template-columns:1fr !important; }
  .imc-grid-2{ grid-template-columns:1fr !important; }
  .imc-grid-4{ grid-template-columns:1fr 1fr !important; }
  .imc-hero-split{ grid-template-columns:1fr !important; }
  .imc-nav{ display:none !important; }
  .imc-pad{ padding-left:22px !important; padding-right:22px !important; }
  .imc-h1-prestige{ font-size:46px !important; }
  .imc-h1-epure{ font-size:54px !important; }
}
