/* Fimac Atlantis — shared header and full-screen menu. */
.fm-bar {
  --fm-ivory:#f7f2e2; --fm-gold:#d4b581; --fm-gold-2:#f1dcab;
  position:fixed;z-index:200;top:clamp(12px,2.2vh,24px);left:50%;transform:translate(-50%,0);
  width:min(620px,calc(100% - 24px));height:60px;padding:0 10px 0 20px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  border-radius:16px;color:var(--fm-ivory);
  background:#19211bb3;border:1px solid #c8b48b33;
  backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  box-shadow:0 12px 40px #0000002e;
  transition:transform .7s cubic-bezier(.2,.8,.2,1),background .4s,opacity .5s;
  font:400 14px/1 Work,"Work Sans",Arial,sans-serif;
}
.fm-bar.is-solid {background:#151c17e6;}
.fm-bar.is-tucked {transform:translate(-50%,calc(-100% - 40px));}
.fm-bar :focus-visible,.fm-panel :focus-visible {outline:2px solid var(--fm-gold-2,#f1dcab);outline-offset:4px;border-radius:3px;}
.fm-toggle {
  justify-self:start;display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:0;border:0;background:none;cursor:pointer;
  color:inherit;font:600 11px/1 Work,"Work Sans",Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;
}
.fm-toggle i {position:relative;width:26px;height:10px;}
.fm-toggle i::before,.fm-toggle i::after {content:'';position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .5s cubic-bezier(.2,.8,.2,1),width .5s;}
.fm-toggle i::before {top:0;}
.fm-toggle i::after {bottom:0;width:62%;}
.fm-toggle:hover i::after {width:100%;}
.fm-toggle[aria-expanded=true] i::before {transform:translateY(4.5px) rotate(20deg);}
.fm-toggle[aria-expanded=true] i::after {width:100%;transform:translateY(-4.5px) rotate(-20deg);}
.fm-brand {justify-self:center;display:grid;place-items:center;width:44px;height:44px;}
.fm-brand img {height:32px;width:auto;transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.fm-brand:hover img {transform:translateY(-2px) scale(1.06);}
.fm-end {justify-self:end;display:flex;align-items:center;gap:6px;}
.fm-languages {display:flex;align-items:center;font:600 11px/1 Work,"Work Sans",Arial,sans-serif;letter-spacing:.12em;}
.fm-languages span {opacity:.35;}
.fm-languages a {display:grid;place-items:center;min-width:34px;min-height:44px;color:inherit;text-decoration:none;opacity:.55;transition:opacity .3s;}
.fm-languages a:hover,.fm-languages a[aria-current] {opacity:1;}
.fm-contact {
  display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:12px;margin-left:6px;
  background:var(--fm-gold-2);color:#1a231c;text-decoration:none;font:600 11px/1 Work,"Work Sans",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  transition:background .3s,transform .3s;
}
.fm-contact:hover {background:#fff1cd;transform:translateY(-1px);}

/* The panel: a curtain falls, the destinations rise. */
html.fm-locked,html.fm-locked body {overflow:hidden;}
.fm-panel {
  position:fixed;z-index:190;inset:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:1fr auto;
  gap:0 clamp(24px,5vw,90px);padding:clamp(110px,15vh,150px) clamp(22px,6vw,110px) clamp(22px,4vh,40px);
  background:radial-gradient(ellipse 70% 80% at 80% 40%,#2c3529 0%,#141a16 70%);color:#f7f2e2;
  clip-path:inset(0 0 100% 0);transition:clip-path .9s cubic-bezier(.76,0,.24,1);overflow:hidden;
}
.fm-panel.is-open {clip-path:inset(0 0 0 0);}
.fm-panel[hidden] {display:none;}
.fm-grain {position:absolute;inset:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.fm-links {align-self:center;}
.fm-links ol {margin:0;padding:0;list-style:none;display:grid;}
.fm-links a {
  display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:clamp(14px,1.6vw,28px);
  padding:clamp(4px,.9vh,10px) 0;color:inherit;text-decoration:none;
}
.fm-links small {font:500 11px/1 Work,"Work Sans",Arial,sans-serif;letter-spacing:.2em;color:#d4b581;
  opacity:0;transform:translateY(10px);transition:opacity .6s,transform .6s;transition-delay:calc(.35s + var(--i) * 70ms);}
.fm-word {display:block;overflow:hidden;padding-bottom:.08em;}
.fm-word span {
  display:inline-block;font:300 clamp(46px,6.6vw,118px)/.98 Editorial,Georgia,serif;letter-spacing:-.035em;
  transform:translateY(110%);transition:transform 1s cubic-bezier(.2,.8,.2,1),color .35s,font-style .35s;
  transition-delay:calc(.28s + var(--i) * 70ms),0s;
}
.fm-links em {grid-column:2;font:400 13px/1.4 Work,"Work Sans",Arial,sans-serif;font-style:normal;color:#bdb59c;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .45s,opacity .45s;}
.fm-panel.is-open .fm-word span {transform:none;}
.fm-panel.is-open .fm-links small {opacity:1;transform:none;}
.fm-links ol:hover a:not(:hover) .fm-word span {color:#f7f2e255;}
.fm-links a:is(:hover,:focus-visible) .fm-word span {font-style:italic;color:#f1dcab;}
.fm-links a:is(:hover,:focus-visible) em {max-height:2em;opacity:1;}
.fm-links a[aria-current] small::after {content:' ●';color:#f1dcab;}
.fm-picture {
  position:relative;align-self:center;justify-self:center;width:min(100%,34vw,520px);aspect-ratio:.78;margin:0;overflow:hidden;
  border-radius:999px 999px 8px 8px;box-shadow:0 40px 90px #00000080;
  opacity:0;transform:translateY(60px) scale(.94);transition:opacity 1s .35s,transform 1.2s .3s cubic-bezier(.2,.8,.2,1);
}
.fm-panel.is-open .fm-picture {opacity:1;transform:none;}
.fm-picture img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .8s ease,transform 1.4s cubic-bezier(.2,.8,.2,1);}
.fm-picture img.is-entering {opacity:0;transform:scale(1.08);}
.fm-foot {
  grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr auto;gap:20px;align-items:end;padding-top:22px;border-top:1px solid #f7f2e21f;
  font:400 13px/1.5 Work,"Work Sans",Arial,sans-serif;color:#cfc6ad;opacity:0;transition:opacity .6s .6s;
}
.fm-panel.is-open .fm-foot {opacity:1;}
.fm-foot p {margin:0 0 4px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#d4b581;}
.fm-foot address {font-style:normal;}
.fm-foot a {color:inherit;text-decoration:none;}
.fm-foot a:hover {color:#f1dcab;}
.fm-reach,.fm-social {display:flex;flex-wrap:wrap;gap:6px 22px;}
@media (max-width:860px) {
  .fm-panel {grid-template-columns:1fr;grid-template-rows:1fr auto;padding-top:104px;}
  .fm-picture {display:none;}
  .fm-word span {font-size:clamp(40px,11vw,64px);}
  .fm-links em {display:none;}
  .fm-foot {grid-template-columns:1fr;gap:10px;}
  .fm-social {display:none;}
}
@media (max-width:480px) {
  .fm-bar {padding-left:14px;height:56px;}
  .fm-contact {display:none;}
}
@media (prefers-reduced-motion:reduce) {
  .fm-bar,.fm-panel,.fm-word span,.fm-links small,.fm-picture,.fm-picture img,.fm-foot {transition:none!important;}
  .fm-panel {clip-path:none;}
}
