/* Transparent on arrival, softly opaque while scrolling. */
.header{position:sticky;top:0;margin-bottom:-112px;border-bottom-color:transparent;background:transparent;transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;isolation:isolate}
.header.is-scrolled,.header.menu-open{background:#fffaf7;border-bottom-color:#e8dadd;box-shadow:0 5px 25px #38273008}
.nav-wrap{min-height:112px;gap:27px}
.header .brand{width:240px}
.header-panel{display:flex;align-items:center;gap:34px;margin-left:auto;min-width:0}
.header nav{gap:26px;margin:0}
.header nav a{white-space:nowrap;font-size:11px}
.header-contact{border-left:1px solid #af8c9850;padding-left:25px;display:grid;grid-template-columns:auto auto;column-gap:9px;row-gap:2px;align-content:center;line-height:1.55;min-width:195px}
.header-contact a{font-size:10px;transition:color .2s}
.header-contact a:hover{color:#9e5c70}
.header-contact .header-phone{font-size:11px;grid-column:1/-1}
.header-contact .header-phone-secondary{display:none}
.header-contact .header-email,.header-contact .header-address{grid-column:1/-1}
.header-contact .header-address{font-size:9px;color:#705b65}
.header-contact .header-address br{display:none}
.header-contact .header-address br:after{content:' '}
.menu-contact-title{display:none}
.nav-tools{gap:12px}
.language{border:0;padding:0;gap:6px}
.language select{appearance:none;-webkit-appearance:none;width:30px;padding:8px 0;text-align:center}
.hero-inner{min-height:792px;padding-top:188px}
.page-hero-copy{padding-top:192px}
.page-hero-image{min-height:602px;max-height:762px}
.contact-title{padding-top:192px}
.button{justify-content:center;gap:0}
.service-card>div{padding-right:0}
@media(min-width:1550px){.hero-inner{min-height:872px}}
@media(min-width:1101px) and (max-width:1250px){.header .brand{width:210px}.nav-wrap{gap:20px}.header-panel{gap:23px}.header nav{gap:19px}.header-contact{min-width:178px;padding-left:20px}.header nav a{font-size:10px}}
@media(max-width:1100px){
 html{scroll-padding-top:85px}
 .header{margin-bottom:-88px}
 .nav-wrap{min-height:88px;justify-content:space-between}
 .header .brand{width:240px}
 .nav-tools{margin-left:auto;gap:22px}
 .menu-toggle{display:flex;position:relative;align-items:center;justify-content:center;width:38px;height:42px;flex-direction:column;gap:7px;padding:7px;border:0;background:transparent}
 .menu-toggle span{display:block;background:var(--ink);height:1px;width:26px;transition:transform .3s ease}
 .menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}
 .menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .header-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;position:absolute;top:100%;left:0;right:0;margin:0;padding:65px max(40px,calc((100vw - 900px)/2));height:calc(100dvh - 88px);overflow:auto;align-items:start;align-content:start;background:#fffaf7;border-bottom:1px solid var(--line);visibility:hidden;pointer-events:none;clip-path:inset(0 0 100% 0);transform:translateY(-14px);transition:clip-path .55s cubic-bezier(.22,.75,.2,1),transform .55s cubic-bezier(.22,.75,.2,1),visibility 0s .55s}
 .header.menu-open .header-panel{visibility:visible;pointer-events:auto;clip-path:inset(0);transform:translateY(0);transition-delay:0s}
 .header nav{display:flex;position:static;background:transparent;border:0;flex-direction:column;align-items:start;margin:0;padding:0 0 0 25px;gap:22px}
 .header nav a{font-family:var(--serif);font-size:49px;line-height:1.1;letter-spacing:-1px;white-space:normal;max-width:100%;padding:5px 0 12px;opacity:0;transform:translateY(-18px);transition:opacity .22s ease,transform .22s ease}
 .header.menu-open nav a{opacity:1;transform:translateY(0);transition-duration:.45s;transition-delay:calc(.13s + var(--item)*.09s)}
 .header-contact{display:flex;flex-direction:column;gap:14px;min-width:0;padding:8px 0 20px 38px;border-left:1px solid var(--line);opacity:0;transform:translateY(-12px);transition:opacity .2s ease,transform .2s ease}
 .menu-open .header-contact{opacity:1;transform:none;transition-duration:.45s;transition-delay:.42s}
 .menu-contact-title{display:block;font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;color:var(--rose)}
 .header-contact a,.header-contact .header-phone{font-size:13px}
 .header-contact .header-phone-secondary{display:block;font-size:12px;margin-top:-8px;color:var(--muted)}
 .header-contact .header-email{overflow-wrap:anywhere}
 .header-contact .header-address{font-size:12px;line-height:1.9;margin-top:12px}
 .header-contact .header-address br{display:initial}
 body.menu-is-open{overflow:hidden}
 .hero-inner{min-height:752px;padding-top:164px}
 .page-hero-copy{padding-top:148px}
 .page-hero-image{min-height:560px}
 .contact-title{padding-top:148px}
}
@media(max-width:800px){
 .header{margin-bottom:-80px}.nav-wrap{min-height:80px}.header .brand{width:205px}.nav-tools{gap:12px}
 .header-panel{height:calc(100dvh - 80px);padding:55px 32px;gap:35px}
 .header nav{padding-left:10px}.header nav a{font-size:43px}
 .header-contact{padding-left:25px}
 .hero-inner{min-height:770px;padding-top:140px}
 .page-hero-copy{padding-top:120px}.page-hero-image{min-height:500px}
 .contact-title{padding-top:140px}
}
@media(max-width:580px){
 .header-panel{grid-template-columns:1fr .9fr;gap:20px;padding:46px 22px 40px;}
 .header nav{padding-left:7px;gap:23px}.header nav a{font-size:34px;letter-spacing:-.8px;hyphens:auto;overflow-wrap:anywhere}
 .header-contact{padding:8px 0 15px 18px;gap:17px}.header-contact a,.header-contact .header-phone{font-size:11px}.header-contact .header-phone-secondary{font-size:10px}.header-contact .header-address{font-size:11px}.menu-contact-title{font-size:8px;margin-bottom:5px}
 .page-hero-image{min-height:0;height:280px}.page-hero-copy{padding-top:130px}
 .hero-inner{min-height:760px;padding-top:135px}.hero h1{margin-top:0}
 .header .language>span{display:none}
}
@media(prefers-reduced-motion:reduce){.header,.header-panel,.header nav a,.header-contact,.menu-toggle span{transition:none!important}}
