/* Modern polish layer: glass nav, premium buttons, scroll reveals, page transitions */

/* Explorer's map accents (Jules Verne inspired) */
body{position:relative}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:radial-gradient(ellipse at 12% 10%,rgba(58,42,24,.4) 0%,transparent 42%),radial-gradient(ellipse at 88% 92%,rgba(58,42,24,.38) 0%,transparent 46%),repeating-linear-gradient(115deg,rgba(58,42,24,.4) 0px,rgba(58,42,24,.4) 1px,transparent 1px,transparent 3px)}

.sec-title{position:relative}
.sec-title::before{content:'';display:block;width:25px;height:25px;margin:0 auto .55rem;opacity:.6;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%23b3892f' stroke-width='1.4'%3E%3Ccircle cx='20' cy='20' r='13'/%3E%3Cpath d='M20 3v6M20 31v6M3 20h6M31 20h6'/%3E%3Cpath fill='%23b3892f' stroke='none' d='M20 10 23 20 20 30 17 20Z'/%3E%3C/g%3E%3C/svg%3E")}

.hero-rule span{background:none !important;height:0 !important;border-top:1px dashed var(--orange-l)}
.timeline-content{border-left-style:dashed !important}

.footer-crest::before{content:'';position:absolute;inset:9%;border:1px dashed var(--gold-l);border-radius:50%;opacity:.55;pointer-events:none}

/* Lenis smooth scroll (site-wide) */
html.lenis, html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-stopped{overflow:hidden}
@media(prefers-reduced-motion:reduce){.lenis.lenis-smooth{scroll-behavior:auto !important}}

nav{transition:background .4s ease, box-shadow .4s ease, backdrop-filter .4s ease;z-index:300 !important}
nav.scrolled{background:rgba(247,243,237,.72) !important;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 8px 28px rgba(44,36,24,.09)}

.btn-primary,.btn-secondary,.btn-upload,.btn-refresh{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1),background .25s ease !important}
.btn-primary:hover,.btn-secondary:hover,.btn-upload:hover{transform:translateY(-3px);box-shadow:0 14px 26px rgba(44,36,24,.16)}
.btn-primary:active,.btn-secondary:active,.btn-upload:active{transform:translateY(-1px)}

.reveal{opacity:0;transform:translateY(30px)}
.reveal.reveal-ready{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1 !important;transform:none !important}}

body{opacity:1;transition:opacity .32s ease}
body.page-leaving{opacity:0}

figure img,.orbit-photo img{transition:transform .5s cubic-bezier(.22,1,.36,1)}
figure:hover img{transform:scale(1.045)}

/* Parallax banner photos */
.parallax-frame{position:relative;overflow:hidden}
.parallax-img{position:absolute;top:-16%;left:0;width:100%;height:132%;object-fit:cover;display:block;will-change:transform}
@media(prefers-reduced-motion:reduce){.parallax-img{transform:none !important;top:0;height:100%}}

/* Language switcher */
.lang-switch{display:flex;align-items:center;gap:.6rem}
.lang-switch a{font-size:19px;line-height:1;text-decoration:none;opacity:.4;filter:grayscale(55%);transition:opacity .2s ease,filter .2s ease,transform .2s ease}
.lang-switch a:hover{opacity:.85;transform:translateY(-1px)}
.lang-switch a.active{opacity:1;filter:none;cursor:default}

/* Mobile hamburger menu */
.nav-toggle{display:none;flex-direction:column;justify-content:center;align-items:flex-end;gap:5px;width:34px;height:34px;background:none;border:none;cursor:pointer;padding:0;z-index:210;flex-shrink:0}
.nav-toggle span{display:block;width:100%;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s ease,opacity .3s ease,width .3s ease}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);width:100%}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);width:100%}
.nav-backdrop{position:fixed;inset:0;background:rgba(10,12,6,.42);opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:150}
.nav-backdrop.open{opacity:1;pointer-events:auto}
body.nav-open{overflow:hidden}

@media(max-width:680px){
  nav{justify-content:space-between !important;text-align:left !important}
  .nav-toggle{display:flex}
  .nav-menu{position:fixed;top:0;right:0;height:100vh;width:min(78vw,320px);background:var(--bg);box-shadow:-10px 0 34px rgba(28,22,12,.18);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2.25rem;padding:2rem 2.25rem;transform:translateX(100%);transition:transform .4s cubic-bezier(.22,1,.36,1);z-index:200}
  .nav-menu.open{transform:translateX(0)}
  .nav-menu .nav-links{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1.4rem}
  .nav-menu .nav-links a{font-size:15px}
  .nav-menu .lang-switch{margin-top:.25rem}
}
@media(prefers-reduced-motion:reduce){.nav-menu{transition:none}.nav-toggle span{transition:none}}
