/* ===== Afterhours extras: language switcher, legal pages, footer links ===== */

/* header layout with language switcher */
.top .wrap{justify-content:flex-start}
.top .wrap > .brand{margin-right:auto}
.nav{order:2}
.lang{order:3}
.menu-btn{order:4}
@media (min-width:861px) and (max-width:1100px){
  .nav{gap:18px}
  .nav a.link{font-size:.86rem}
  .nav .btn{padding:11px 16px}
}
@media (max-width:860px){.top .wrap{gap:10px}}

.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ivory);font:700 .78rem/1 var(--body);letter-spacing:.14em;cursor:pointer;transition:border-color .25s,color .25s,background .25s}
.lang-btn:hover,.lang.open .lang-btn{border-color:var(--champagne);color:var(--champagne);background:rgba(217,185,124,.06)}
.lang-btn .globe{width:17px;height:17px;flex:none}
.lang-btn .globe .mer{transform-box:fill-box;transform-origin:center;animation:meridian 6s ease-in-out infinite}
@keyframes meridian{50%{transform:scaleX(.35)}}
.lang-btn .chev{width:9px;height:9px;flex:none;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.lang.open .lang-btn .chev{transform:rotate(180deg)}
.lang-menu{position:absolute;right:0;top:calc(100% + 12px);min-width:220px;margin:0;padding:6px;list-style:none;background:rgba(16,13,25,.97);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 70px -24px rgba(0,0,0,.9),0 0 0 1px rgba(217,185,124,.04) inset;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.97);transform-origin:top right;transition:opacity .22s ease,transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s .32s;z-index:55}
.lang.open .lang-menu{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s}
.lang-menu::before{content:"";position:absolute;right:22px;top:-6px;width:10px;height:10px;background:rgba(16,13,25,.97);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.lang-menu li{position:relative}
.lang.open .lang-menu li{animation:langItem .4s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*40ms + 60ms)}
@keyframes langItem{from{opacity:0;transform:translateX(8px)}}
.lang-menu button{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border-radius:10px;cursor:pointer;font:500 .95rem/1.2 var(--body);color:var(--ivory);transition:background .2s,color .2s}
.lang-menu button:hover,.lang-menu button:focus-visible{background:rgba(217,185,124,.09);color:var(--champagne)}
.lang-menu button small{display:inline-flex;align-items:center;gap:8px;font-size:.68rem;letter-spacing:.18em;color:var(--muted);font-weight:700}
.lang-menu button[aria-selected="true"]{color:var(--champagne)}
.lang-menu button[aria-selected="true"] small::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--champagne);box-shadow:0 0 10px var(--champagne)}

/* smooth swap when the language changes */
main,footer,.nav,.legal-main{transition:opacity .24s ease,filter .24s ease}
html.lswap main,html.lswap footer,html.lswap .nav,html.lswap .legal-main{opacity:0;filter:blur(4px)}

/* mobile comparison table labels follow the language */
@media (max-width:700px){
  .ctable td.them::before,.ctable td.us::before{content:attr(data-l)}
}

/* form + footer legal links */
.form-legal{font-size:.84rem;color:var(--muted);margin:-4px 0 2px}
.form-legal a,.legal-links a{color:var(--champagne);text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s ease,color .2s}
.form-legal a:hover,.legal-links a:hover{background-size:100% 1px}
.legal-links{display:flex;flex-wrap:wrap;gap:8px 22px}
.legal-links a{color:var(--muted)}
.legal-links a:hover{color:var(--champagne)}

/* ===== legal pages (Privacy / Terms) ===== */
html.legal-lock,html.legal-lock body{overflow:hidden}
html.legal-lock .mini-moon{opacity:0;pointer-events:none}
.legal{position:fixed;inset:0;z-index:66}
.legal-bg{position:absolute;inset:0;background:radial-gradient(1200px 700px at 85% -10%,rgba(217,185,124,.10),transparent 60%),rgba(11,10,18,.9);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}
.legal-shell{position:relative;height:100%;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px)}
.legal.open .legal-bg{animation:lFade .5s ease both}
.legal.open .legal-shell{animation:lRise .75s cubic-bezier(.2,.8,.2,1) both}
.legal.closing .legal-bg{animation:lFadeOut .38s ease both}
.legal.closing .legal-shell{animation:lSink .38s ease both}
@keyframes lFade{from{opacity:0}}
@keyframes lFadeOut{to{opacity:0}}
@keyframes lRise{from{opacity:0;transform:translateY(34px) scale(.985)}}
@keyframes lSink{to{opacity:0;transform:translateY(20px)}}

.legal-bar{position:relative;border-bottom:1px solid var(--line);background:rgba(11,10,18,.55)}
.legal-bar .wrap{display:flex;align-items:center;gap:16px;height:72px}
.legal-bar .brand{flex:none}
.legal-tabs{position:relative;display:flex;gap:2px;padding:4px;margin-inline:auto;border:1px solid var(--line);border-radius:999px;background:rgba(28,22,40,.7)}
.ltab{position:relative;z-index:1;padding:10px 18px;border-radius:999px;text-decoration:none;font:600 .86rem/1 var(--body);color:var(--muted);white-space:nowrap;transition:color .35s}
.ltab:hover{color:var(--ivory)}
.ltab.on{color:var(--midnight)}
.ltab-ink{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:999px;background:linear-gradient(180deg,#E3C68E,#C9A86C);box-shadow:0 6px 20px -6px rgba(217,185,124,.6);transition:transform .5s cubic-bezier(.2,.8,.2,1),width .5s cubic-bezier(.2,.8,.2,1)}
.legal-close{flex:none;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ivory);font:600 .86rem/1 var(--body);cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.legal-close:hover{border-color:var(--champagne);color:var(--champagne);background:rgba(217,185,124,.06)}
.legal-close svg{width:14px;height:14px;transition:transform .3s}
.legal-close:hover svg{transform:rotate(90deg)}
.legal-progress{position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:linear-gradient(90deg,var(--champagne-soft),var(--champagne));transform-origin:left;transform:scaleX(0)}

.legal-scroll{position:relative;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.legal-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(32px,6vw,88px);padding-block:clamp(40px,7vw,84px) calc(96px + env(safe-area-inset-bottom,0px))}
.legal-toc{position:sticky;top:36px;align-self:start;display:grid;gap:16px}
.legal-toc ol{list-style:none;margin:0;padding:0;display:grid;border-left:1px solid var(--line)}
.legal-toc button{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;padding:7px 0 7px 16px;margin-left:-1px;border-left:1px solid transparent;font-size:.84rem;line-height:1.35;color:var(--muted);transition:color .25s,border-color .25s,padding-left .25s}
.legal-toc button:hover{color:var(--ivory)}
.legal-toc button.on{color:var(--champagne);border-left-color:var(--champagne);padding-left:20px}
.legal-main{min-width:0;max-width:740px}
.legal-note{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;color:var(--ivory);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:28px;background:rgba(28,22,40,.6)}
.legal-note svg{width:18px;height:18px;flex:none;margin-top:2px}
.legal-doc.enter{animation:docIn .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes docIn{from{opacity:0;transform:translateY(16px)}}
.legal-hero{display:grid;gap:18px;margin-bottom:44px;padding-bottom:36px;border-bottom:1px solid var(--line)}
.legal-hero h1{font-size:clamp(2.5rem,6vw,4.3rem)}
.legal-hero h1 em{font-style:italic;color:var(--champagne);font-weight:500}
.legal-hero .lead{max-width:58ch}
.legal-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.legal-meta span{font-size:.78rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 12px}
.legal-meta span b{color:var(--ivory);font-weight:600}
.legal-doc h2{font-size:clamp(1.5rem,2.6vw,1.95rem);margin:52px 0 16px;display:flex;gap:16px;align-items:baseline;scroll-margin-top:24px}
.legal-doc h2 .n{font:700 .74rem/1 var(--body);letter-spacing:.14em;color:var(--champagne);font-variant-numeric:tabular-nums;flex:none;transform:translateY(-3px)}
.legal-doc h3{font:600 1.2rem/1.25 var(--display);margin:26px 0 8px;color:var(--ivory)}
.legal-doc p,.legal-doc li{color:#CEC7D6;font-size:.98rem}
.legal-doc p + p{margin-top:14px}
.legal-doc ul{list-style:none;margin:14px 0;padding:0;display:grid;gap:11px}
.legal-doc li{display:flex;gap:14px}
.legal-doc li::before{content:"";flex:none;width:14px;height:1px;background:var(--champagne);margin-top:.85em}
.legal-doc strong{color:var(--ivory);font-weight:600}
.legal-doc a{color:var(--champagne);text-decoration:none;border-bottom:1px solid rgba(217,185,124,.35);transition:border-color .2s}
.legal-doc a:hover{border-color:var(--champagne)}
.legal-doc .callout{margin:20px 0;border:1px solid var(--champagne-soft);border-radius:var(--radius);padding:20px 22px;background:linear-gradient(120deg,rgba(217,185,124,.10),transparent 60%)}
.legal-doc .callout p{color:var(--ivory)}
.legal-doc .ptable{width:100%;border-collapse:collapse;margin:16px 0;font-size:.92rem;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.legal-doc .ptable th,.legal-doc .ptable td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.legal-doc .ptable th{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne);font-weight:700;background:rgba(28,22,40,.6)}
.legal-doc .ptable td{color:#CEC7D6}
.legal-doc .ptable td:first-child{color:var(--ivory);font-weight:600;white-space:nowrap}
.legal-doc .ptable tr:last-child td{border-bottom:0}
.legal-end{margin-top:56px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;background:rgba(18,15,27,.7)}
.legal-end p{color:var(--muted)!important;margin:0}
.legal-doc .rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.legal-doc .rv.in{opacity:1;transform:none}

@media (max-width:900px){.legal-grid{grid-template-columns:1fr}.legal-toc{display:none}}
@media (max-width:640px){
  .legal-bar .brand-name,.legal-close .t{display:none}
  .legal-bar .wrap{gap:10px}
  .legal-close{width:44px;padding:0;justify-content:center}
  .ltab{padding:9px 12px;font-size:.78rem}
  .legal-doc .ptable td:first-child{white-space:normal}
}
@media (prefers-reduced-motion:reduce){
  .legal-doc .rv{opacity:1;transform:none}
  .lang-btn .globe .mer{animation:none}
}

/* company details in the footer */
.foot{align-items:flex-start}
.company{display:grid;gap:14px;flex:1 1 420px;max-width:560px;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;background:linear-gradient(140deg,rgba(28,22,40,.75),rgba(11,10,18,.6));position:relative;overflow:hidden}
.company::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--champagne),transparent);opacity:.6}
.company dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}
.company dl > div{display:grid;gap:3px;min-width:0}
.company dl > div.full{grid-column:1/-1}
.company dt{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700}
.company dd{margin:0;font-size:.92rem;color:var(--ivory);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.company dd b{font-weight:600}
.company dd small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.company dd a{color:var(--ivory);text-decoration:none;transition:color .2s}
.company dd a:hover{color:var(--champagne)}
@media (max-width:520px){.company dl{grid-template-columns:1fr}}
