/* Shared refinements: preserve the existing opening and photographic identity. */
html { scroll-padding-top: 100px; }
body { overflow-x: clip; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 2px solid #dfc8a7; outline-offset: 5px; }
[hidden] { display: none !important; }
.skip-link { position: fixed; top: 12px; left: 16px; padding: 12px 20px; background: #e8ded1; color: #191714; z-index: 3000; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.site-header .header-inner { max-width: 1800px; padding-inline: clamp(24px, 3.5vw, 72px); gap: 30px; }
.brand-logo { flex-shrink: 0; }
.brand-logo > div { white-space: nowrap; }
.main-nav { gap: clamp(15px, 1.45vw, 28px); margin-left: auto; }
.main-nav .nav-link { font-size: .69rem; letter-spacing: .10em; white-space: nowrap; }
.nav-actions { margin-left: clamp(16px, 2.8vw, 54px); flex-shrink: 0; }
.nav-actions .btn { white-space: nowrap; }
.hero-overlay { z-index: 0; pointer-events: none; }
.hero-slideshow-dots { bottom: 32px; left: auto; right: clamp(24px, 4vw, 72px); transform: none; align-items: center; }
.hero-dot { width: 26px; height: 30px; border: 0; background: transparent; position: relative; }
.hero-dot::after { content: ''; position: absolute; left: 0; right: 0; top: 14px; height: 2px; background: #ffffff60; }
.hero-dot.active { background: transparent; width: 40px; }
.hero-dot.active::after { background: var(--accent-gold); }
.hero-pause { width: 32px; height: 32px; background: #15141180; color: #e8ded1; border: 1px solid #e8ded144; border-radius: 50%; cursor: pointer; font-size: 12px; }
.slideshow-paused .hero-slide { animation-play-state: paused; }
.hero-scroll-indicator { z-index: 1; color: #d2bfa4; }
.hero-content > :nth-child(2) { animation-delay: 100ms; }
.hero-content > :nth-child(3) { animation-delay: 200ms; }
.hero-content > :nth-child(4) { animation-delay: 300ms; }
.hero-content > :nth-child(5) { animation-delay: 400ms; }
.reveal-on-scroll { opacity: 1; transform: none; }
.motion-ready .reveal-on-scroll:not(.revealed) { opacity: 0; transform: translateY(24px); }
.motion-ready .reveal-on-scroll { transition-delay: var(--reveal-delay, 0ms); }
.section-title { text-wrap: balance; }
.about-image-primary, .quote-photo-frame img { transition: transform 1.1s cubic-bezier(.2,.7,.2,1); }
@media (hover: hover) {
  .about-visual:hover .about-image-primary { transform: translateY(-7px) rotate(-1deg); }
  .quote-photo-frame:hover img { transform: scale(1.035); }
}
.footer-contact-item, .footer-links a { overflow-wrap: anywhere; }
.contact-pending { color: var(--text-muted); font-size: .8rem; }
@media (max-width: 1320px) {
  .main-nav { display: none; position: fixed; inset: 0; width: 100%; height: 100dvh; margin: 0; padding: 100px 24px 40px; background: #0a0a0afa; backdrop-filter: blur(20px); flex-direction: column; justify-content: center; align-items: center; gap: 22px; z-index: 1000; overflow-y: auto; }
  .main-nav.open { display: flex; }
  .main-nav .nav-link { font-size: 1rem; }
  .mobile-toggle { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; position: relative; z-index: 1001; }
  .nav-actions { margin-left: auto; }
  body.menu-open { overflow: hidden; }
}
@media (max-width: 600px) {
  .site-header .header-inner { padding-inline: 18px; gap: 12px; }
  .brand-logo { gap: 9px; }
  .brand-logo-img { height: 36px; }
  .brand-name { font-size: .83rem; letter-spacing: .14em; }
  .brand-sub { font-size: .49rem; letter-spacing: .2em; }
  .nav-actions { gap: 6px; }
  .nav-actions > .btn { padding: 9px 11px; font-size: .62rem; letter-spacing: .06em; }
  .nav-actions > .btn i { display: none; }
  .hero-section { padding: 130px 0 140px; min-height: 100svh; }
  .hero-title { font-size: clamp(2.65rem, 9.7vw, 3.6rem); }
  .hero-badge { font-size: .58rem; letter-spacing: .12em; }
  .hero-ctas .btn { width: 100%; }
  .hero-slideshow-dots { bottom: 25px; right: 20px; }
  .hero-scroll-indicator { left: 25px; bottom: 26px; transform: none; font-size: .6rem; }
  .hero-scroll-indicator .scroll-mouse { display: none; }
  .editorial-categories-section { padding: 5rem 0; }
  .editorial-cat-card { height: 450px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .motion-ready .reveal-on-scroll:not(.revealed) { opacity: 1; transform: none; }
}
