
:root {
  --ae-cream: #fff8ed;
  --ae-cream-2: #fffdf8;
  --ae-yellow: #f8b800;
  --ae-orange: #ef7f12;
  --ae-brown: #4a2a14;
  --ae-ink: #21150e;
  --ae-muted: #6e5a4c;
  --ae-line: rgba(74, 42, 20, .12);
}
html { scroll-behavior: smooth; }
body { background: var(--ae-cream-2); color: var(--ae-ink); }
::selection { background: #ffd45f; color: #2e1c0f; }
.text-balance { text-wrap: balance; }
.shadow-soft { box-shadow: 0 24px 80px rgba(90, 51, 19, .12); }
.shadow-card { box-shadow: 0 12px 40px rgba(74, 42, 20, .10); }
.glass { background: rgba(255,255,255,.82); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.hero-pattern {
  background-image:
    radial-gradient(circle at 13% 22%, rgba(248,184,0,.16) 0 3px, transparent 4px),
    radial-gradient(circle at 17% 26%, rgba(239,127,18,.09) 0 7px, transparent 8px),
    linear-gradient(140deg, #fffdf8 0%, #fff5df 100%);
  background-size: 42px 42px, 72px 72px, auto;
}
.gradient-brand { background: linear-gradient(135deg, var(--ae-yellow), var(--ae-orange)); }
.gradient-dark { background: linear-gradient(145deg, #2a1b12, #4a2a14); }
.brand-ring { box-shadow: 0 0 0 9px rgba(248,184,0,.16); }
.nav-link { position: relative; }
.nav-link::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -5px; height: 2px; border-radius: 99px; background: var(--ae-orange); transition: right .2s ease; }
.nav-link:hover::after, .nav-link[aria-current="page"]::after { right: 0; }
.card-lift { transition: transform .25s ease, box-shadow .25s ease; }
.card-lift:hover { transform: translateY(-5px); box-shadow: 0 20px 55px rgba(74,42,20,.15); }
.focus-ring:focus-visible { outline: 3px solid rgba(239,127,18,.45); outline-offset: 3px; }
.photo-frame { position: relative; isolation: isolate; }
.photo-frame::before { content: ''; position: absolute; inset: 16px -14px -14px 16px; border-radius: 32px; background: linear-gradient(135deg, #ffd15a, #f28a16); z-index: -1; }
.paw-dot { position: relative; }
.paw-dot::before { content: '●'; color: var(--ae-yellow); margin-right: .55rem; }
.sticky-mobile-cta { padding-bottom: max(.75rem, env(safe-area-inset-bottom)); }
.instagram-shell { min-height: 600px; background: linear-gradient(145deg,#fff,#fff5de); }
.instagram-shell iframe { width: 100%; min-height: 600px; border: 0; border-radius: 24px; background: #fff; }
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .55s ease, transform .55s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 100; background:#21150e; color:#fff; padding:.75rem 1rem; border-radius: .75rem; transition: top .2s; }
.skip-link:focus { top: 1rem; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
}
@media (max-width: 767px) {
  .instagram-shell, .instagram-shell iframe { min-height: 510px; }
}
