
/* Editorial refinement: correct source image proportions + quiet navigation. */
.site-header .menu-toggle{gap:5px!important}
.site-header .menu-toggle .bar{
 width:27px!important;height:2px!important;
 flex:0 0 2px!important;border-radius:99px!important;
 background:currentColor!important;transform-origin:center!important;
 transition:transform .22s ease,opacity .18s ease!important;
}
.site-header .menu-toggle[aria-expanded="true"] .bar:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
.site-header .menu-toggle[aria-expanded="true"] .bar:nth-child(2){opacity:0!important;transform:scaleX(.45)!important}
.site-header .menu-toggle[aria-expanded="true"] .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}
.drawer nav a{
 font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;
 font-size:clamp(22px,2.1vw,30px)!important;
 font-weight:400!important;
 letter-spacing:-.025em!important;line-height:1.38!important;
}
.drawer nav{gap:clamp(13px,1.5vh,22px)!important}
.site-footer .combined-contact-invite h2{
 font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;
 font-size:clamp(39px,4.6vw,69px)!important;
 font-weight:300!important;
 letter-spacing:-.045em!important;
 line-height:1.08!important;
 margin:19px 0 28px!important;
}
.site-footer .footer-social{display:flex!important;align-items:center!important;gap:11px!important}
.site-footer .footer-social .social-icon{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:42px!important;height:42px!important;border:1px solid #e4e4e4!important;
 border-radius:50%!important;color:#151515!important;
 background:#fff!important;text-decoration:none!important;
 transition:border-color .15s ease,background-color .15s ease!important;
}
.site-footer .footer-social .social-icon svg{display:block!important;width:20px!important;height:20px!important;stroke:currentColor}
.site-footer .footer-social .social-icon:hover,.site-footer .footer-social .social-icon:focus-visible{border-color:#151515!important;background:#f5f5f5!important}
@media(min-width:801px){
 .hero-photo{height:calc(100dvh - 90px)!important;min-height:0!important;background:#fff!important}
 .hero-photo picture{display:block;width:100%;height:100%}
 .hero-photo img{
  position:static!important;
  width:100%!important;height:100%!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
 }
 .hero-photo::after{display:none!important}
}
@media(max-width:800px){
 .site-footer .combined-contact-invite h2{font-size:clamp(39px,8vw,57px)!important}
 .drawer nav a{font-size:clamp(23px,5.8vw,29px)!important;line-height:1.32!important}
}
@media (orientation: landscape) and (max-height:600px){
 .drawer nav a{font-size:24px!important}
}
@media(prefers-reduced-motion:reduce){
 .site-header .menu-toggle .bar,.site-footer .footer-social .social-icon{transition:none!important}
}
/* Desktop: full-bleed image across the entire viewport width, without cropping. */
@media(min-width:801px){
 .hero-photo{height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important}
 .hero-photo picture{display:block!important;width:100%!important;height:auto!important}
 .hero-photo picture img{display:block!important;position:static!important;width:100%!important;height:auto!important;max-width:none!important;object-fit:contain!important;object-position:center!important}
}
/* Home hero only — white photographic mat, full image preserved at all breakpoints. */
body.home-site .hero-photo{
 box-sizing:border-box!important;
 padding:clamp(12px,1.7vw,28px)!important;
 background:#fff!important;
 height:auto!important;
 min-height:0!important;
 overflow:visible!important;
}
body.home-site .hero-photo picture{
 display:block!important;width:100%!important;height:auto!important;
}
body.home-site .hero-photo picture img{
 display:block!important;position:static!important;
 width:100%!important;height:auto!important;
 max-width:none!important;object-fit:contain!important;
 object-position:center!important;
}
body.home-site .hero-photo::after{display:none!important}
@media(max-width:800px){
 body.home-site .hero-photo{padding:12px!important}
}
