/* Above-the-fold: must match site.css mobile/desktop hero so async CSS does not shift layout (CLS). */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;background:#fff;color:#222;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6}
img{max-width:100%;height:auto;display:block}
.wrap{width:min(1200px,calc(100% - 2.5rem));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:#eadbef}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:80px;padding:0}
.brand{color:#6a2841;text-decoration:none;white-space:nowrap;font-size:16px}
.nav{display:flex;flex:1;justify-content:center;flex-wrap:wrap;align-items:center;gap:0}
.nav>a,.nav-link{color:#555;text-decoration:none;font-weight:600;font-size:16px;background:none;border:none;cursor:pointer;margin:0 .85rem}
.nav-dropdown{display:none}
.header-actions{display:flex;align-items:center;gap:.75rem}
.mobile-nav-toggle{display:none;width:48px;height:48px;border:0;background:transparent;cursor:pointer;position:relative;flex-shrink:0}
.mobile-nav-toggle span{display:block;position:absolute;left:8px;right:8px;height:3px;background:#6a2841}
.mobile-nav-toggle span:nth-child(1){top:12px}
.mobile-nav-toggle span:nth-child(2),.mobile-nav-toggle span:nth-child(3){top:22px}
.mobile-nav-toggle span:nth-child(4){top:32px}
.hero{background:#fff}
.hero-with-photo{padding:0 0 90px}
.hero-grid{display:grid;gap:2.5rem;grid-template-columns:1.05fr .95fr;align-items:center}
.hero-headline{font-weight:600;font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.25;letter-spacing:-.01em;margin:0;color:#333}
.hero-headline .accent,.hero-headline em{color:#802d4b;font-style:normal}
.hero-descr{margin:.75rem 0 0;font-size:1.1rem}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:.85rem 1.4rem;text-decoration:none;font-weight:600;font-size:.94rem;border:1px solid transparent}
.btn-primary{background:#b4436c;color:#fff}
.hero-visual{position:relative}
.hero-photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 14%;border-radius:100px;display:block}
@media (max-width:860px){
  .mobile-nav-toggle{display:inline-flex}
  .nav,.header-cta{display:none}
  .site-header .wrap{padding:.7rem 0}
  .hero.hero-with-photo{padding:2.25rem 0 45px}
  .hero-with-photo .hero-grid{display:grid;grid-template-columns:1fr;min-height:auto;gap:1.25rem;padding:.75rem 0 1.75rem}
  .hero-with-photo .hero-visual{order:-1;min-height:0;max-height:45vh;height:auto}
  .hero-headline,.hero-with-photo h1.hero-headline{max-width:none;font-size:42px;line-height:1.35}
  .hero-descr{font-size:22px}
  .hero-with-photo .hero-photo,.hero-photo{min-height:0;max-height:45vh;height:auto;object-position:50% 18%;border-radius:30px}
  .hero-with-photo .cta-row .btn{font-size:22px;font-weight:600;padding:14px 1.25rem;width:100%;max-width:100%;border-radius:10px}
}
