:root{
  --paper:#faf7f2;
  --ink:#24211e;
  --muted:#726b63;
  --line:#cfc7bd;
  --dark:#171716;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Arial, Helvetica, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink)}
body{font-family:var(--serif);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  min-height:90px;padding:16px 5.5%;
  background:rgba(250,247,242,.98);border-bottom:1px solid rgba(80,70,60,.08);
  backdrop-filter:blur(8px)
}
.brand{line-height:1}
.brand-main{font-family:var(--serif);font-size:27px;letter-spacing:.16em;white-space:nowrap}
.brand-sub{margin-top:10px;font-family:var(--sans);font-size:8.5px;letter-spacing:.42em;line-height:1.55}
.header-right{display:flex;align-items:center;gap:28px}
.nav{display:flex;gap:31px;align-items:center;font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.nav a{position:relative;padding:10px 0}
.nav a.active:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--ink)}
.languages{display:flex;gap:8px;align-items:center;border-left:1px solid #928b82;padding-left:24px;font-family:var(--sans);font-size:9px;letter-spacing:.12em}
.page-shell{width:100%;max-width:1122px;margin:0 auto;background:var(--paper);position:relative;overflow:hidden}
.page-art{display:block;width:100%;height:auto}
.hotspot{position:absolute;display:block;z-index:10;border-radius:2px}
.hotspot:focus{outline:2px solid rgba(54,48,43,.55);outline-offset:2px}
.home-hero-cta{left:61.1%;top:27.4%;width:32.6%;height:3.4%}
.home-lower-cta{left:66.6%;top:82.0%;width:19.6%;height:3.4%}
.approach-cta{left:65.6%;top:87.0%;width:28.5%;height:3.8%}
.about-cta{left:80.8%;top:82.4%;width:15.6%;height:3.2%}
.private-form{position:absolute;left:48.45%;top:39.95%;width:40.5%;z-index:20;font-family:var(--serif)}
.private-form .row{margin-bottom:1.15%;}
.private-form input,.private-form select,.private-form textarea{
  width:100%;border:1px solid #cfcac3;background:rgba(255,255,255,.98);color:#5b554e;
  font-family:var(--serif);font-size:15px;padding:10px 12px;border-radius:0;outline:none
}
.private-form input,.private-form select{height:39px}
.private-form textarea{height:98px;resize:vertical}
.private-form input:focus,.private-form select:focus,.private-form textarea:focus{border-color:#6e675f}
.private-form button{
  width:100%;height:49px;border:0;background:#2b2927;color:#fff;font-family:var(--serif);
  letter-spacing:.18em;text-transform:uppercase;font-size:14px;cursor:pointer
}
.private-form button:hover{background:#171716}
.form-note{font-size:11px;color:#6e675f;text-align:center;margin-top:14px;line-height:1.4}
.mobile-nav-toggle{display:none;background:none;border:0;font-size:24px;line-height:1;cursor:pointer;color:var(--ink)}
.mobile-panel{display:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:900px){
  .site-header{padding:14px 4%;min-height:82px}
  .brand-main{font-size:21px}
  .brand-sub{font-size:7.5px;letter-spacing:.32em}
  .header-right{gap:16px}.nav{gap:16px;font-size:9px}.languages{padding-left:14px}
}
@media (max-width:720px){
  .site-header{position:relative;align-items:flex-start}
  .header-right>.nav,.header-right>.languages{display:none}
  .mobile-nav-toggle{display:block;margin-top:5px}
  .mobile-panel.open{display:flex;position:absolute;left:0;right:0;top:100%;z-index:60;background:var(--paper);border-top:1px solid #ded8d0;border-bottom:1px solid #ded8d0;padding:18px 5%;flex-direction:column;gap:16px;font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
  .mobile-panel .langs{display:flex;gap:12px;padding-top:4px;border-top:1px solid #ded8d0}
  .page-shell{max-width:100%}
  .private-form{display:none}
  .mobile-form{display:block;padding:28px 7% 38px;background:#faf7f2;font-family:var(--serif)}
  .mobile-form h2{font-weight:400;font-size:26px;margin:0 0 20px}
  .mobile-form input,.mobile-form select,.mobile-form textarea{width:100%;padding:13px;border:1px solid #cfcac3;background:white;font:16px var(--serif);margin-bottom:12px}
  .mobile-form textarea{min-height:110px}.mobile-form button{width:100%;padding:15px;background:#2b2927;color:white;border:0;letter-spacing:.14em;text-transform:uppercase}
  .hotspot{display:none}
}
@media (min-width:721px){.mobile-form{display:none}}
