:root{--ink:#173a46;--blue:#173f50;--paper:#f5f2e9;--white:#fffdf6;--line:#c9ccc4;--clay:#a94e3d;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--ease:cubic-bezier(.22,.8,.25,1);--header:92px}
.site-header,.wordmark,#menu{box-sizing:border-box}
.site-header button,#menu button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}
.site-header a,.wordmark,#menu a{color:inherit;text-decoration:none}
.site-header button:focus-visible,.site-header a:focus-visible,.wordmark:focus-visible,#menu button:focus-visible,#menu a:focus-visible{outline:2px solid var(--clay);outline-offset:6px}
.site-header{height:var(--header);padding:0 4.5vw;position:fixed;top:0;left:0;width:100%;z-index:40;display:flex;justify-content:space-between;align-items:center;color:var(--white);font-family:var(--sans);transition:background .35s,color .35s,border-color .35s;border-bottom:1px solid #ffffff30}
.site-header.is-solid{background:var(--paper);color:var(--ink);border-color:var(--line)}
.site-header .menu-trigger{display:flex;gap:13px;align-items:center;font-size:15px;min-height:48px;padding:10px 0}
.menu-lines{width:25px;height:12px;display:block;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.header-right{display:flex;gap:30px;align-items:center;font-size:14px}
.site-header .header-book{border-bottom:1px solid currentColor;padding:6px 0}
.language-control{position:relative}
#language-toggle{display:flex;gap:9px;align-items:center;min-height:48px;line-height:1}
#language-toggle .caret{display:block;width:12px;height:12px;flex-shrink:0}
#language-options{position:absolute;top:56px;right:0;background:var(--white);padding:10px;width:198px;box-shadow:0 10px 40px #001d2b20;color:var(--ink)}
#language-options[hidden]{display:none!important}
#language-options button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 10px;text-align:left;font-size:15px}
#language-options button:hover,#language-options button.active{background:#e5e7df}
#language-options button span{font-size:12px;opacity:.65}
.wordmark{font-family:var(--serif);font-size:clamp(48px,12.3vw,190px);font-weight:400;line-height:1;letter-spacing:.015em;white-space:nowrap;position:fixed;left:50%;top:var(--logo-top,43vh);z-index:41;transform:translate(-50%,-50%) scale(var(--logo-scale,1));transform-origin:center;color:var(--white);will-change:transform,top}
.wordmark em{font-family:inherit;font-size:.8em;font-weight:400;margin:0 .18em}
.wordmark.is-solid{color:var(--ink)}
.wordmark-compact{font-size:39px;--logo-top:calc(var(--header)/2)}
.mar-serra-stays{padding-top:var(--header)}
#menu{border:0;max-width:none;max-height:none;margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;width:100%;height:100dvh;opacity:0;transform:translateX(100%);overflow:auto;transition:opacity .45s var(--ease),transform .65s var(--ease)}
#menu::backdrop{background:#092a3d75;opacity:0;transition:opacity .45s}
#menu[open]{display:grid;grid-template-columns:.85fr 1.15fr}
#menu.opened,#menu.opened::backdrop{opacity:1}
#menu.opened{transform:translateX(0)}
#menu.closing,#menu.closing::backdrop{opacity:0}
#menu.closing{transform:translateX(100%)}
#menu .dialog-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:40px;font-size:12px;letter-spacing:.08em}
#menu .dialog-top>button{width:48px;height:48px;flex-shrink:0;font-size:39px;font-weight:400;line-height:1}
.menu-photo{position:relative;overflow:hidden;min-height:100%}
.menu-photo img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:brightness(.7)}
.menu-photo p{position:absolute;left:50px;bottom:60px;margin:0;font-family:var(--serif);font-size:clamp(32px,3vw,56px);line-height:1.1;color:white;max-width:17ch}
.menu-content{padding:28px 6vw 38px;display:flex;flex-direction:column;min-height:100dvh}
.menu-content nav{flex:1;display:flex;flex-direction:column;justify-content:center;gap:0;padding:10px 0 25px}
.menu-content nav a{font-family:var(--serif);font-size:clamp(43px,5.5vw,84px);font-weight:400;letter-spacing:-.03em;line-height:1.25;display:flex;align-items:center;gap:25px;opacity:0;transition:opacity .45s var(--ease)}
.opened .menu-content nav a{opacity:1;transform:none}
.menu-content nav small{font-family:var(--sans);font-size:12px;letter-spacing:0;align-self:center;opacity:.6}
.menu-content nav i{font-family:Arial,sans-serif;font-style:normal;font-size:35px;margin-left:auto;transition:transform .35s var(--ease)}
.menu-content nav a:hover i{transform:rotate(45deg)}
.menu-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;font-size:13px}
.menu-bottom .registration{font-size:14px}
@media(max-width:1024px){.menu-content{padding:25px 5vw}.menu-photo p{left:30px}}
@media(max-width:680px){
  :root{--header:76px}
  .site-header{padding:0 20px}
  .site-header .menu-trigger{font-size:14px;gap:9px}
  .menu-lines{width:20px;height:10px}
  .header-right{gap:0}
  .site-header .header-book{display:none}
  #language-toggle{font-size:13px;padding:10px 0}
  .wordmark{font-size:12.7vw}
  .wordmark-compact{font-size:28px}
  #menu[open]{grid-template-columns:1fr}
  .menu-photo{display:none}
  .menu-content{padding:17px 25px 30px;min-height:100dvh}
  #menu .dialog-top{font-size:13px}
  .menu-content nav{padding:5px 0 30px;gap:8px}
  .menu-content nav a{font-size:57px;gap:17px}
  .menu-content nav i{font-size:25px;opacity:.5}
  .menu-bottom{font-size:12px;flex-direction:column;gap:10px}
}
@media(prefers-reduced-motion:reduce){.site-header,.wordmark,#menu,#menu::backdrop,#menu *{transition:none!important;animation:none!important}.wordmark{will-change:auto}}
@media(max-width:360px){.menu-trigger [data-i18n="menu"]{display:none}}
