@font-face{font-family:"AGA Cordoba";src:url("/fonts/AGA-Cordoba-V-qrTb-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
/* ════════════════════════════════════════════════════════════════════
   ALGOZ — SITE THEME LAYER  (loads AFTER main.css)
   • DARK (default / data-theme="dark") = classic Algoz: black/navy/gold,
     Gruppo titles — i.e. the existing main.css look (no override needed).
   • LIGHT (data-theme="light") = "Alabaster & Stone": alabaster paper,
     charcoal text, sage accent. Same layout, recoloured.
   The sun/moon button in the header flips data-theme on <html>.
   ════════════════════════════════════════════════════════════════════ */

/* smooth theme transition */
html{transition:background-color .35s}
body{transition:background-color .35s,color .35s}

/* ───────────────── THEME TOGGLE BUTTON (header) ───────────────── */
.theme-toggle{
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.35);
  background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;transition:.2s;flex:0 0 auto;
}
.theme-toggle:hover{border-color:var(--gold);color:var(--gold)}
.theme-toggle svg{width:18px;height:18px;fill:currentColor}
.theme-toggle .i-sun{display:none}
html[data-theme="light"] .theme-toggle{border-color:rgba(35,38,42,.32);color:#23262a}
html[data-theme="light"] .theme-toggle:hover{border-color:#5f6b55;color:#5f6b55}
html[data-theme="light"] .theme-toggle .i-sun{display:block}
html[data-theme="light"] .theme-toggle .i-moon{display:none}

/* ───────────────── FOOTER CREDIT (very bottom, small) ───────────── */
.footer-credit{text-align:center;margin:2px 0 0;padding-bottom:20px;font-size:.66rem;letter-spacing:.04em;color:#8d9096}
.footer-credit a{color:#aeb2b8;text-decoration:none}
.footer-credit a:hover{color:var(--gold)}

/* ════════════════════════════════════════════════════════════════════
   LIGHT THEME — "Alabaster & Stone" recolour, applied site-wide.
   ════════════════════════════════════════════════════════════════════ */
html[data-theme="light"]{
  --lx-bg:#f7f7f5; --lx-bg2:#eceeeb; --lx-bg3:#e3e6e2;
  --lx-ink:#23262a; --lx-ink2:#3f4446; --lx-ink3:#8c9192;
  --lx-accent:#7d8a72; --lx-accent-dark:#5f6b55; --lx-line:rgba(35,38,42,.14);
}
html[data-theme="light"] body{background:var(--lx-bg);color:var(--lx-ink)}

/* header → light */
html[data-theme="light"] .site-header{background:rgba(247,247,245,.86);border-bottom:1px solid var(--lx-line)}
html[data-theme="light"] .site-header,
html[data-theme="light"] .nav-list > li > a,
html[data-theme="light"] .nav-login,
html[data-theme="light"] .nav-login-txt{color:var(--lx-ink)}
html[data-theme="light"] .nav-login:hover{color:var(--lx-accent-dark)}
html[data-theme="light"] .nav-sep{background:rgba(35,38,42,.30)}
html[data-theme="light"] .nav-cta{color:#fff;background:#5f6b55;border-color:#5f6b55}
html[data-theme="light"] .nav-cta:hover{background:#4c5645;border-color:#4c5645}
html[data-theme="light"] .site-header .brand img{filter:brightness(0) saturate(100%);opacity:.88}
html[data-theme="light"] .nav-toggle span{background:var(--lx-ink)}
/* mega-menu / dropdown panels stay readable — slightly transparent in light */
html[data-theme="light"] .panel,
html[data-theme="light"] .mega,html[data-theme="light"] .submenu{background:rgba(247,247,245,.92);border:1px solid var(--lx-line);backdrop-filter:saturate(120%) blur(12px);-webkit-backdrop-filter:saturate(120%) blur(12px)}
html[data-theme="light"] .panel a,
html[data-theme="light"] .mega a,html[data-theme="light"] .submenu a{color:var(--lx-ink2)}
html[data-theme="light"] .panel a:hover,
html[data-theme="light"] .mega a:hover,html[data-theme="light"] .submenu a:hover{color:var(--lx-accent-dark)}
html[data-theme="light"] .panel .group-label{color:var(--lx-accent-dark);border-bottom-color:var(--lx-line)}
/* mobile slide-down menu — explicit, legible labels/links in BOTH themes */
@media(max-width:1023px){
  /* DARK mobile: light text on the dark surface (fixes black-on-black lists) */
  html[data-theme="dark"] .nav-center{background:#0a1117}
  html[data-theme="dark"] .nav-list>li>a{color:#fff}
  html[data-theme="dark"] .panel{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-left:1px solid var(--gold-dim)}
  html[data-theme="dark"] .panel a,
  html[data-theme="dark"] .panel .mob-home{color:#f3f2ec}
  html[data-theme="dark"] .panel .group-label{color:var(--gold-dim)}
  /* LIGHT mobile: light surface, dark legible labels, light dropdowns */
  html[data-theme="light"] .site-header{background:rgba(247,247,245,.96)}
  html[data-theme="light"] .nav-center{background:var(--lx-bg)}
  html[data-theme="light"] .nav-list>li>a{color:var(--lx-ink);border-bottom-color:var(--lx-line)}
  html[data-theme="light"] .nav-list>li>a .caret{color:var(--lx-accent-dark)}
  html[data-theme="light"] .panel{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-left:1px solid var(--lx-accent-dark)}
  html[data-theme="light"] .panel a,
  html[data-theme="light"] .panel .mob-home{color:var(--lx-ink)}
  html[data-theme="light"] .panel .group-label{color:var(--lx-accent-dark);border-bottom-color:var(--lx-line)}

  /* mobile icon bar (header v5) — LIGHT theme: ink icons on the alabaster bar, light dropdowns */
  html[data-theme="light"] .mnav3 .micon{color:var(--lx-ink)}
  html[data-theme="light"] .mnav3 .micon-caret{color:var(--lx-accent-dark)}
  html[data-theme="light"] .mnav3 .micon.open,
  html[data-theme="light"] .mnav3 .micon.open .micon-caret{color:var(--lx-accent-dark)}
  html[data-theme="light"] .mnav3 .micon-panel{background:var(--lx-bg);border-top-color:var(--lx-line);box-shadow:0 26px 48px rgba(35,38,42,.16)}
  html[data-theme="light"] .mnav3 .micon-panel a{color:var(--lx-ink)}
  html[data-theme="light"] .mnav3 .micon-panel a:hover{color:var(--lx-accent-dark)}
  html[data-theme="light"] .mnav3 .mp-head{color:var(--lx-accent-dark)}
  html[data-theme="light"] .mnav3 .micon-panel .group-label{color:var(--lx-accent-dark);border-bottom-color:var(--lx-line)}
  html[data-theme="light"] .mnav3 .mp-sub + .mp-sub{border-top-color:var(--lx-line)}
}

/* generic builder sections (.zsec): remap dark inline colours to light.
   These selectors mirror vip-light.css but apply globally in light mode. */
html[data-theme="light"] .zsec[style*="background:rgb(0, 0, 0)"],
html[data-theme="light"] .zsec[style*="background:rgb(15, 15, 15)"],
html[data-theme="light"] .zsec[style*="background:rgb(10, 17, 23)"],
html[data-theme="light"] .zsec[style*="background:rgb(10, 16, 21)"]{background:var(--lx-bg) !important}
html[data-theme="light"] .zsec[style*="background:rgb(13, 27, 43)"],
html[data-theme="light"] .zsec[style*="background:rgb(14, 18, 61)"]{background:var(--lx-bg2) !important}
html[data-theme="light"] .zsec:nth-of-type(even){background:var(--lx-bg2) !important}
html[data-theme="light"] .zsec,
html[data-theme="light"] .zsec h1,html[data-theme="light"] .zsec h2,html[data-theme="light"] .zsec h3,
html[data-theme="light"] .zsec h4,html[data-theme="light"] .zsec h5,html[data-theme="light"] .zsec h6,
html[data-theme="light"] .zsec p,html[data-theme="light"] .zsec li,html[data-theme="light"] .zsec span,
html[data-theme="light"] .zsec a{color:var(--lx-ink)}
html[data-theme="light"] .zsec [style*="color: rgb(255, 255, 255)"],
html[data-theme="light"] .zsec [style*="color:rgb(255, 255, 255)"]{color:var(--lx-ink) !important}
html[data-theme="light"] .zsec p[style*="color: rgb(255, 255, 255)"]{color:var(--lx-ink2) !important}
html[data-theme="light"] .zsec [style*="color: rgb(0, 0, 0)"]{color:var(--lx-ink) !important}
html[data-theme="light"] .zsec [style*="color: rgb(207, 193, 99)"],
html[data-theme="light"] .zsec [style*="color:rgb(207, 193, 99)"]{color:var(--lx-accent-dark) !important}
html[data-theme="light"] .zsec [style*="background:rgb(0, 0, 0)"]:not(.zsec),
html[data-theme="light"] .zsec [style*="background: rgb(0, 0, 0)"]:not(.zsec),
html[data-theme="light"] .zsec [style*="background:rgb(23, 107, 224)"],
html[data-theme="light"] .zsec [style*="background: rgb(23, 107, 224)"]{background:var(--lx-accent) !important;color:#fff !important}
html[data-theme="light"] .zsec [style*="background:rgb(0, 0, 0)"]:not(.zsec) *{color:#fff !important}
html[data-theme="light"] .zsec:first-of-type *{color:#fff !important}      /* hero text stays white over photo */
html[data-theme="light"] .zsec .zoverlay{background:rgba(20,22,20,.42) !important}
/* Gruppo titles preserved in BOTH themes — .zsec h1-h6 already use Gruppo in main.css */

/* footer → light (mirrors the live design, recoloured) */
html[data-theme="light"] .site-footer{background:#f4f4f1;color:#3a3e3a}
html[data-theme="light"] .footer-brand .wordmark{color:#23262a;font-family:'Lora','Cormorant Garamond','Georgia',serif;font-weight:500;letter-spacing:.18em}
html[data-theme="light"] .footer-brand .slogan,
html[data-theme="light"] .footer-member-area a,
html[data-theme="light"] .fhead{color:#5f6b55}
html[data-theme="light"] .footer-socials-center a{border-color:rgba(95,107,85,.35);color:#3a3e3a}
html[data-theme="light"] .footer-socials-center a:hover{border-color:#5f6b55;color:#5f6b55}
html[data-theme="light"] .footer-member-area a{border-color:rgba(95,107,85,.4)}
html[data-theme="light"] .footer-member-area a:hover{background:#5f6b55;color:#fff}
html[data-theme="light"] .footer-divider{background:linear-gradient(90deg,transparent,rgba(95,107,85,.4),transparent)}
html[data-theme="light"] .fhead{border-bottom-color:rgba(95,107,85,.35)}
html[data-theme="light"] .flinks a,html[data-theme="light"] .crow a{color:#3a3e3a}
html[data-theme="light"] .flist li{color:#4a4f4a}
html[data-theme="light"] .flinks a:hover,html[data-theme="light"] .crow a:hover,
html[data-theme="light"] .langs a:hover,html[data-theme="light"] .footer-company-links a:hover{color:#5f6b55}
html[data-theme="light"] .crow svg{fill:#5f6b55}
html[data-theme="light"] .langs,html[data-theme="light"] .langs a,
html[data-theme="light"] .footer-company-links a{color:#4a4f4a}
html[data-theme="light"] .footer-legal{color:#6a6f6a;border-top-color:rgba(95,107,85,.3)}
html[data-theme="light"] .footer-credit a{color:#5f6b55}

/* ════════════════════════════════════════════════════════════════════
   ENQUIRY FORM (shared) — readable in both themes
   ════════════════════════════════════════════════════════════════════ */
.algoz-enquiry{font-family:var(--font-body);text-align:left}
.algoz-enquiry .aef-intro{margin-bottom:20px}
.algoz-enquiry .aef-title{font-family:var(--font-display);font-weight:400;font-size:1.5rem;letter-spacing:.04em;margin:0 0 8px}
.algoz-enquiry .aef-sub{font-size:.86rem;line-height:1.6;color:var(--grey-dim);margin:0}
.algoz-enquiry .aef-field{margin-bottom:16px}
.algoz-enquiry label{display:block;font-size:.72rem;letter-spacing:.06em;margin-bottom:6px;color:inherit;opacity:.92}
.algoz-enquiry .req{color:var(--gold)}
.algoz-enquiry input,.algoz-enquiry select,.algoz-enquiry textarea{
  width:100%;padding:11px 12px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04);
  color:inherit;font-family:var(--font-body);font-size:.92rem;border-radius:4px;transition:.15s;
}
.algoz-enquiry select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2712%27%20height%3D%278%27%20viewBox%3D%270%200%2012%208%27%3E%3Cpath%20fill%3D%27%23cfc163%27%20d%3D%27M6%208%200%200h12z%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;padding-right:32px}
.algoz-enquiry input:focus,.algoz-enquiry select:focus,.algoz-enquiry textarea:focus{outline:none;border-color:var(--gold)}
/* Native <option> popup readability. In dark theme the OS rendered a white system popup
   while the option text stayed near-white (white-on-white, unreadable). Force dark options
   + a dark color-scheme so the browser themes the native dropdown; light theme flips back. */
.algoz-enquiry select{color-scheme:dark}
.algoz-enquiry select option,.algoz-enquiry select optgroup{background-color:#16202b;color:#f3f2ec}
html[data-theme="light"] .algoz-enquiry select{color-scheme:light}
html[data-theme="light"] .algoz-enquiry select option,html[data-theme="light"] .algoz-enquiry select optgroup{background-color:#fff;color:#23262a}
.algoz-enquiry textarea{resize:vertical;min-height:96px}
.algoz-enquiry .aef-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.algoz-enquiry .aef-row-phone{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:16px}
.algoz-enquiry .aef-consent{display:flex;gap:10px;align-items:flex-start;font-size:.8rem;line-height:1.5;margin:6px 0 4px;cursor:pointer}
.algoz-enquiry .aef-consent input{width:auto;margin-top:3px;flex:0 0 auto}
.algoz-enquiry .aef-consent a{color:var(--gold);text-decoration:underline}
.algoz-enquiry .aef-required{font-size:.74rem;color:var(--grey-dim);margin:10px 0}
.algoz-enquiry .aef-submit{font-family:var(--font-body);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#0a1117;background:var(--gold);border:0;padding:13px 30px;border-radius:4px;cursor:pointer;transition:.2s}
.algoz-enquiry .aef-submit:hover{background:var(--gold-light)}
.algoz-enquiry .aef-status{font-size:.84rem;margin-top:12px;min-height:1em}
.algoz-enquiry .aef-status.ok{color:#7CCB8B}
.algoz-enquiry .aef-status.err{color:#e08a8a}
@media(max-width:620px){.algoz-enquiry .aef-row2,.algoz-enquiry .aef-row-phone{grid-template-columns:1fr}}
/* light theme form */
html[data-theme="light"] .algoz-enquiry input,
html[data-theme="light"] .algoz-enquiry select,
html[data-theme="light"] .algoz-enquiry textarea{border-color:var(--lx-line);background:#fff;color:var(--lx-ink)}
html[data-theme="light"] .algoz-enquiry input:focus,
html[data-theme="light"] .algoz-enquiry select:focus,
html[data-theme="light"] .algoz-enquiry textarea:focus{border-color:var(--lx-accent)}
html[data-theme="light"] .algoz-enquiry .req{color:var(--lx-accent-dark)}
html[data-theme="light"] .algoz-enquiry select{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2712%27%20height%3D%278%27%20viewBox%3D%270%200%2012%208%27%3E%3Cpath%20fill%3D%27%235f6b55%27%20d%3D%27M6%208%200%200h12z%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}
html[data-theme="light"] .algoz-enquiry .aef-submit{background:var(--lx-accent);color:#fff}
html[data-theme="light"] .algoz-enquiry .aef-submit:hover{background:var(--lx-accent-dark)}
html[data-theme="light"] .algoz-enquiry .aef-consent a,
html[data-theme="light"] .algoz-enquiry .aef-sub,
html[data-theme="light"] .algoz-enquiry .aef-required{color:var(--lx-ink2)}
html[data-theme="light"] .algoz-enquiry .aef-consent a{color:var(--lx-accent-dark)}

/* The enquiry modal panel is LIGHT in light theme (see .modal-panel light rule below),
   so its form must use dark-on-light text — previously it forced near-white text and a
   near-transparent fill, which made the fields invisible on the light panel. */
html[data-theme="light"] .modal-panel .algoz-enquiry input,
html[data-theme="light"] .modal-panel .algoz-enquiry select,
html[data-theme="light"] .modal-panel .algoz-enquiry textarea{border-color:var(--lx-line);background:#fff;color:var(--lx-ink)}
html[data-theme="light"] .modal-panel .algoz-enquiry select{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2712%27%20height%3D%278%27%20viewBox%3D%270%200%2012%208%27%3E%3Cpath%20fill%3D%27%235f6b55%27%20d%3D%27M6%208%200%200h12z%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}
html[data-theme="light"] .modal-panel .algoz-enquiry .req{color:var(--lx-accent-dark)}
html[data-theme="light"] .modal-panel .algoz-enquiry .aef-submit{background:var(--lx-accent);color:#fff}
html[data-theme="light"] .modal-panel .algoz-enquiry .aef-submit:hover{background:var(--lx-accent-dark)}
html[data-theme="light"] .modal-panel .algoz-enquiry .aef-consent a{color:var(--lx-accent-dark)}

html[data-theme="light"] .modal-panel .algoz-enquiry label,
html[data-theme="light"] .modal-panel .algoz-enquiry .aef-title,
html[data-theme="light"] .modal-panel .algoz-enquiry .aef-consent{color:var(--lx-ink)}
html[data-theme="light"] .modal-panel .algoz-enquiry .aef-sub,
html[data-theme="light"] .modal-panel .algoz-enquiry .aef-required{color:var(--lx-ink2)}

/* ════════════════════════════════════════════════════════════════════
   FAQ block (per page) — collapsible, SEO/AEO friendly
   ════════════════════════════════════════════════════════════════════ */
.algoz-faq{padding:64px 26px}.algoz-faq .faq-inner{max-width:880px;margin:0 auto}.algoz-faq .faq-eyebrow{font-family:var(--font-body);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);text-align:center;display:block;margin-bottom:10px}
.algoz-faq h2{font-family:'Lora','Cormorant Garamond','Georgia',serif;font-weight:400;font-size:2rem;letter-spacing:.03em;text-align:center;margin:0 0 36px;color:inherit}
.algoz-faq details{border-bottom:1px solid rgba(255,255,255,.14)}
.algoz-faq summary{list-style:none;cursor:pointer;font-family:'Lora','Cormorant Garamond','Georgia',serif;font-size:1.18rem;letter-spacing:.02em;padding:22px 44px 22px 0;position:relative;color:inherit}
.algoz-faq summary::-webkit-details-marker{display:none}
.algoz-faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.5rem;font-weight:300;transition:.2s}
.algoz-faq details[open] summary::after{content:"\2212"}
.algoz-faq .faq-a{color:var(--grey-dim);line-height:1.9;font-size:.94rem;padding:0 44px 24px 0;margin:0}
html[data-theme="light"] .algoz-faq details{border-bottom-color:var(--lx-line)}
html[data-theme="light"] .algoz-faq .faq-eyebrow,
html[data-theme="light"] .algoz-faq summary::after{color:var(--lx-accent-dark)}
html[data-theme="light"] .algoz-faq .faq-a{color:var(--lx-ink2)}
/* FAQ titles/summaries always use the light editorial serif (Lora) in both themes — Gruppo is dark-theme page titles only */

/* ════════════════════════════════════════════════════════════════════
   EDITORIAL LUXURY PAGES  (.lux-page)  — Our Best · Where · About · Contact
   Theme-aware tokens: light = Alabaster & Stone + Lora titles;
                       dark  = classic Algoz + Gruppo titles.
   ════════════════════════════════════════════════════════════════════ */
html[data-theme="light"] .lux-page{
  --ed-bg:#f7f7f5; --ed-bg2:#eceeeb; --ed-bg3:#e3e6e2;
  --ed-ink:#23262a; --ed-ink2:#3f4446; --ed-ink3:#8c9192;
  --ed-line:rgba(35,38,42,.12); --ed-line2:rgba(35,38,42,.18);
  --ed-accent:#7d8a72; --ed-accent-dark:#5f6b55; --ed-btn-ink:#fff;
  --ed-titles:'Lora','Cormorant Garamond','Georgia',serif;
  --ed-scrim:linear-gradient(180deg,rgba(20,22,20,.30),rgba(20,22,20,.52));
}
html[data-theme="dark"] .lux-page{
  --ed-bg:#0a1117; --ed-bg2:#0e1620; --ed-bg3:#070b0f;
  --ed-ink:#f3f2ec; --ed-ink2:#b3b6bb; --ed-ink3:#888d92;
  --ed-line:rgba(255,255,255,.12); --ed-line2:rgba(255,255,255,.20);
  --ed-accent:#cfc163; --ed-accent-dark:#cfc163; --ed-btn-ink:#0a1117;
  --ed-titles:'Gruppo','Century Gothic',sans-serif;
  --ed-scrim:linear-gradient(180deg,rgba(5,8,11,.42),rgba(5,8,11,.62));
}
.lux-page{--ed-serif:'Lora','Cormorant Garamond','Georgia',serif;--ed-sans:'Montserrat',Arial,sans-serif;background:var(--ed-bg);color:var(--ed-ink);font-family:var(--ed-sans);line-height:1.6}
.lux-page img{display:block;max-width:100%}
.lux-page a{color:inherit;text-decoration:none}
.lux-page .wrap{max-width:1224px;margin:0 auto;padding:0 26px}
.lux-page .eyebrow{font-family:var(--ed-sans);font-weight:500;font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ed-accent-dark)}
.lux-page .hairline{height:1px;width:64px;background:var(--ed-accent);border:0;margin:20px 0}
.lux-page .hairline.c{margin-left:auto;margin-right:auto}

/* hero */
.lux-page .lx-hero{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}
.lux-page .lx-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.lux-page .lx-hero .bg::after{content:"";position:absolute;inset:0;background:var(--ed-scrim)}
.lux-page .lx-hero .inner{position:relative;z-index:2;padding:40px 26px;max-width:900px}
.lux-page .lx-hero .eyebrow{color:#e9ece6}
.lux-page .lx-hero h1{font-family:var(--ed-titles);font-weight:500;font-size:clamp(2.4rem,5vw,4rem);margin:16px 0 0;color:#fff;line-height:1.1}
.lux-page .lx-hero .sub{font-family:var(--ed-serif);font-style:italic;font-size:1.15rem;color:#eef0ec;margin-top:18px}
.lux-page .lx-hero .hairline{background:rgba(255,255,255,.7)}

/*!CRIT-PAUSE*/
/* intro */
.lux-page .lx-intro{padding:84px 0;background:var(--ed-bg)}
.lux-page .lx-intro .grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.lux-page .lx-intro h2{font-family:var(--ed-titles);font-weight:500;font-size:2.2rem;margin:14px 0 0;line-height:1.18;color:var(--ed-ink)}
.lux-page .lx-intro p{color:var(--ed-ink2);line-height:2;font-size:1rem;margin:0}
.lux-page .lx-intro p+p{margin-top:18px}

/* stats */
.lux-page .lx-stats{display:flex;gap:60px;justify-content:center;padding:46px 26px;background:var(--ed-bg2);border-top:1px solid var(--ed-line);border-bottom:1px solid var(--ed-line);flex-wrap:wrap}
.lux-page .lx-stats .n{font-family:var(--ed-titles);font-weight:500;font-size:2.6rem;color:var(--ed-ink);text-align:center}
.lux-page .lx-stats .l{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ed-ink2);margin-top:4px;text-align:center}

/* editorial split */
.lux-page .lx-split{display:grid;grid-template-columns:1fr 1fr;min-height:520px;background:var(--ed-bg)}
.lux-page .lx-split.flip .pic{order:2}
.lux-page .lx-split .pic{background-size:cover;background-position:center}
.lux-page .lx-split .txt{padding:84px 64px;display:flex;flex-direction:column;justify-content:center}
.lux-page .lx-split .snum{font-family:var(--ed-serif);color:var(--ed-accent-dark);font-size:1rem;margin-bottom:12px}
.lux-page .lx-split h3{font-family:var(--ed-titles);font-weight:500;font-size:2rem;margin:0 0 16px;line-height:1.2;color:var(--ed-ink)}
.lux-page .lx-split p{color:var(--ed-ink2);line-height:2;font-size:.97rem;margin:0 0 22px}
.lux-page .lx-split .lnk{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ed-accent-dark);border-bottom:1px solid var(--ed-accent);padding-bottom:5px;align-self:flex-start;cursor:pointer}
.lux-page .lx-split .lnk:hover{color:var(--ed-ink)}

/* signature cards */
.lux-page .lx-cards{padding:88px 0;background:var(--ed-bg2)}
.lux-page .lx-cards .head{text-align:center;margin-bottom:54px}
.lux-page .lx-cards .head h2{font-family:var(--ed-titles);font-weight:500;font-size:2.2rem;margin:14px 0 0;color:var(--ed-ink)}
.lux-page .lx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.lux-page .lx-card{background:var(--ed-bg);border:1px solid var(--ed-line);overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.lux-page .lx-card:hover{border-color:var(--ed-accent);transform:translateY(-3px)}
.lux-page .lx-card .ph{height:230px;background-size:cover;background-position:center;filter:saturate(.95)}
.lux-page .lx-card .body{padding:26px 26px 30px}
.lux-page .lx-card .eyebrow{font-size:.6rem}
.lux-page .lx-card h4{font-family:var(--ed-titles);font-weight:500;font-size:1.35rem;margin:10px 0 8px;color:var(--ed-ink)}
.lux-page .lx-card p{color:var(--ed-ink2);font-size:.88rem;line-height:1.7;margin:0}

/* statement */
.lux-page .lx-quote{padding:96px 26px;text-align:center;background:var(--ed-bg)}
.lux-page .lx-quote p{font-family:var(--ed-serif);font-style:italic;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.5;max-width:880px;margin:24px auto 0;color:var(--ed-ink)}
.lux-page .lx-quote .by{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ed-ink2);margin-top:28px}

/* destination index */
.lux-page .lx-index{padding:88px 0;background:var(--ed-bg2)}
.lux-page .lx-index .head{margin-bottom:30px}
.lux-page .lx-index .head h2{font-family:var(--ed-titles);font-weight:500;font-size:2.2rem;margin:14px 0 0;color:var(--ed-ink)}
.lux-page .lx-row{display:flex;align-items:baseline;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--ed-line);transition:.2s}
.lux-page .lx-row:hover{padding-left:14px}
.lux-page .lx-row .dn{font-family:var(--ed-titles);font-weight:500;font-size:1.9rem;color:var(--ed-ink);transition:.2s}
.lux-page .lx-row:hover .dn{color:var(--ed-accent-dark)}
.lux-page .lx-row .dt{font-family:var(--ed-serif);font-style:italic;color:var(--ed-ink2);font-size:.95rem;max-width:380px;text-align:right}

/* CTA */
.lux-page .lx-cta{padding:92px 26px;text-align:center;background:var(--ed-bg3)}
.lux-page .lx-cta h2{font-family:var(--ed-titles);font-weight:500;font-size:2.4rem;margin:16px 0 14px;color:var(--ed-ink)}
.lux-page .lx-cta p{font-family:var(--ed-serif);font-style:italic;color:var(--ed-ink2);max-width:520px;margin:0 auto 30px;line-height:1.85;font-size:1.05rem}
.lux-page .lxbtn{display:inline-block;font-family:var(--ed-sans);font-weight:500;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ed-btn-ink);background:var(--ed-accent);padding:15px 42px;border-radius:2px;transition:.2s;border:1px solid var(--ed-accent);cursor:pointer}
.lux-page .lxbtn:hover{background:var(--ed-accent-dark);border-color:var(--ed-accent-dark)}

/* contact form section (end of main page) */
.lux-page .lx-contactform{padding:92px 0;background:var(--ed-bg)}
.lux-page .lx-contactform .head{text-align:center;margin-bottom:46px}
.lux-page .lx-contactform .head h2{font-family:var(--ed-titles);font-weight:500;font-size:2.3rem;margin:14px 0 8px;color:var(--ed-ink)}
.lux-page .lx-contactform .head p{font-family:var(--ed-serif);font-style:italic;color:var(--ed-ink2);font-size:1.05rem;margin:0}
.lux-page .lx-formwrap{max-width:760px;margin:0 auto;background:var(--ed-bg2);border:1px solid var(--ed-line);padding:44px}

/* contact page channels */
.lux-page .ct-wrap{max-width:1000px;margin:0 auto;padding:80px 26px}
.lux-page .ct-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.lux-page .ct-left h2{font-family:var(--ed-titles);font-weight:500;font-size:2.2rem;margin:14px 0 18px;color:var(--ed-ink)}
.lux-page .ct-left .lead{font-family:var(--ed-serif);font-style:italic;color:var(--ed-ink2);line-height:1.9;font-size:1.05rem;margin:0 0 30px}
.lux-page .ct-chan{display:flex;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--ed-line)}
.lux-page .ct-chan svg{width:20px;height:20px;fill:var(--ed-accent-dark);flex:0 0 20px}
.lux-page .ct-chan .k{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ed-ink3)}
.lux-page .ct-chan .v{font-size:.95rem;color:var(--ed-ink)}
.lux-page .ct-formcard{background:var(--ed-bg2);border:1px solid var(--ed-line);padding:40px}

/* editorial form fields use the shared .algoz-enquiry but recolour to editorial palette */
.lux-page .algoz-enquiry input,.lux-page .algoz-enquiry select,.lux-page .algoz-enquiry textarea{border-color:var(--ed-line2);background:var(--ed-bg);color:var(--ed-ink)}
.lux-page .algoz-enquiry input:focus,.lux-page .algoz-enquiry select:focus,.lux-page .algoz-enquiry textarea:focus{border-color:var(--ed-accent)}
.lux-page .algoz-enquiry .aef-title{font-family:var(--ed-titles)}
.lux-page .algoz-enquiry .req{color:var(--ed-accent-dark)}
.lux-page .algoz-enquiry .aef-submit{background:var(--ed-accent);color:var(--ed-btn-ink)}
.lux-page .algoz-enquiry .aef-submit:hover{background:var(--ed-accent-dark)}
.lux-page .algoz-enquiry .aef-consent a{color:var(--ed-accent-dark)}
html[data-theme="dark"] .lux-page .algoz-enquiry select{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2712%27%20height%3D%278%27%20viewBox%3D%270%200%2012%208%27%3E%3Cpath%20fill%3D%27%23cfc163%27%20d%3D%27M6%208%200%200h12z%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}
html[data-theme="light"] .lux-page .algoz-enquiry select{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2712%27%20height%3D%278%27%20viewBox%3D%270%200%2012%208%27%3E%3Cpath%20fill%3D%27%235f6b55%27%20d%3D%27M6%208%200%200h12z%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}

/* FAQ on editorial pages → use editorial palette */
.lux-page .algoz-faq .faq-eyebrow,.lux-page .algoz-faq summary::after{color:var(--ed-accent-dark)}
.lux-page .algoz-faq h2,.lux-page .algoz-faq summary{font-family:'Lora','Cormorant Garamond','Georgia',serif;color:var(--ed-ink)}
.lux-page .algoz-faq details{border-bottom-color:var(--ed-line)}
.lux-page .algoz-faq .faq-a{color:var(--ed-ink2)}

@media(max-width:820px){
  .lux-page .lx-intro .grid,.lux-page .ct-grid{grid-template-columns:1fr;gap:36px}
  .lux-page .lx-split{grid-template-columns:1fr}
  .lux-page .lx-split.flip .pic{order:0}
  .lux-page .lx-split .pic{min-height:300px}
  .lux-page .lx-split .txt{padding:44px 30px}
  .lux-page .lx-grid{grid-template-columns:1fr}
  .lux-page .lx-formwrap,.lux-page .ct-formcard{padding:28px}
}
@media(max-width:600px){.lux-page .lx-row .dt{display:none}}

/* ──────────────────────────────────────────────────────────────────────
   DARK THEME — keep the final page section from merging into the black
   footer. The footer stays near-black; the last content band is given a
   distinct (non-black) dark tone, plus a hairline seam above the footer.
   ────────────────────────────────────────────────────────────────────── */
html[data-theme="dark"] .site-footer{border-top:1px solid rgba(255,255,255,.07)}
/* Closing band: a distinct slate that differs from BOTH the usual section
   tones (--ed-bg / --ed-bg2) above it AND the near-black footer below it,
   with hairline seams so it never visually merges with either neighbour. */
html[data-theme="dark"] .lux-page .lx-cta{background:#16212e;border-top:1px solid rgba(255,255,255,.08)}
html[data-theme="dark"] .algoz-faq{background:#16212e;border-top:1px solid rgba(255,255,255,.08)}
html[data-theme="light"] .lux-page .lx-cta{border-top:1px solid var(--lx-line)}
html[data-theme="light"] .algoz-faq{background:var(--lx-bg2);border-top:1px solid var(--lx-line)}

/* ──────────────────────────────────────────────────────────────────────
   LIGHT THEME — floating buttons, enquiry pill & enquiry modal
   ────────────────────────────────────────────────────────────────────── */
/* WhatsApp / Telegram floating buttons */
html[data-theme="light"] .fab-row .fab{background:#fff;border-color:var(--lx-accent-dark);box-shadow:0 8px 22px rgba(0,0,0,.14)}
html[data-theme="light"] .fab-row .fab:hover{background:#eef0ec}
html[data-theme="light"] .fab-row .fab svg{fill:var(--lx-accent-dark)}
/* "Make an enquiry" pill — readable on a light page */
html[data-theme="light"] .enquiry-pill{background:var(--lx-accent-dark);color:#fff;box-shadow:0 10px 28px rgba(35,38,42,.18)}
html[data-theme="light"] .enquiry-pill:hover{background:#4c5645}
/* Enquiry modal */
html[data-theme="light"] .modal-overlay{background:rgba(35,38,42,.45)}
html[data-theme="light"] .modal-panel{background:#f7f7f5;border-color:var(--lx-line);color:var(--lx-ink)}
html[data-theme="light"] .modal-title{color:var(--lx-ink)}
html[data-theme="light"] .modal-sub,
html[data-theme="light"] .modal-consent{color:var(--lx-ink2)}
html[data-theme="light"] .modal-close{background:#23262a;color:#fff}
html[data-theme="light"] .algoz-enquiry .aef-title{color:var(--lx-ink)}
html[data-theme="light"] .algoz-enquiry .aef-sub{color:var(--lx-ink2)}

/* ============================================================
   HOME PAGE (index.php + it/pt/ru mirrors) — light-theme adaptation.
   These pages predate the .lux-page editorial system and carry their
   own section classes with hard light-on-dark text. The rules below
   let the home page follow the light palette. Scoped to #main so the
   membership page (which hard-codes dark section backgrounds inline)
   is left completely untouched. Dark theme is unaffected throughout.
   ============================================================ */

/* dark content bands -> light surfaces */
html[data-theme="light"] #main .section-dark{background:var(--lx-bg2)}
html[data-theme="light"] #main .section-navy{background:var(--lx-bg3)}

/* section headings & body copy -> readable ink */
html[data-theme="light"] #main .section h2,
html[data-theme="light"] #main .section h3,
html[data-theme="light"] #main .section h4,
html[data-theme="light"] #main .fcard h3{color:var(--lx-ink)}
html[data-theme="light"] #main .section p,
html[data-theme="light"] #main .section .lead,
html[data-theme="light"] #main .section .dim,
html[data-theme="light"] #main .fcard p,
html[data-theme="light"] #main .checklist li{color:var(--lx-ink2)}

/* gold accent titles stay gold (darker tone for contrast on light) */
html[data-theme="light"] #main .section .h-gold,
html[data-theme="light"] #main .h-gold{color:var(--gold-dark)}

/* stat figures + the overlay stat card surface */
html[data-theme="light"] #main .stats-box .stat-num,
html[data-theme="light"] #main .stats .stat-num{color:var(--lx-ink)}
html[data-theme="light"] #main .stats-box .stat-label,
html[data-theme="light"] #main .stats .stat-label{color:var(--lx-ink2)}
html[data-theme="light"] #main .stats-box{background:var(--lx-bg3);border:1px solid var(--lx-line)}

/* WORLD section: world-box is a dark glass card -> keep its text light */
html[data-theme="light"] #main .world-box{background:rgba(10,17,23,.78)}
html[data-theme="light"] #main .world-box .audience h3{color:#fff}
html[data-theme="light"] #main .world-box .audience p{color:var(--grey)}

/* gold-strip & testimonial cards keep dark ink on the gold fill */
html[data-theme="light"] #main .gold-strip h3,
html[data-theme="light"] #main .gold-strip p,
html[data-theme="light"] #main .gold-strip li{color:#111}
html[data-theme="light"] #main .tcard blockquote,
html[data-theme="light"] #main .tcard .who,
html[data-theme="light"] #main .tcard .stars{color:#000}

/* ============================================================
   MEMBERSHIP (membership.php, <main class="mship">) — light theme.
   Section backgrounds read from --mb-* variables (dark defaults in
   main.css :root); here they flip to light tints and the membership
   text/cards are recoloured for legibility. The page-hero keeps its
   light-on-dark title (image hero). Dark theme is unaffected.
   ============================================================ */
html[data-theme="light"]{--mb-1:var(--lx-bg);--mb-2:var(--lx-bg2);--mb-3:var(--lx-bg3);--mb-ink:var(--lx-ink)}

/* headings & the “advantage” copy */
html[data-theme="light"] .mship .mship-adv h2,
html[data-theme="light"] .mship .mship-h48{color:var(--lx-ink)}
/* Light theme follows the site editorial serif for section headings (hero .mship-h1 stays as-is) */
html[data-theme="light"] .mship .mship-adv h2,
html[data-theme="light"] .mship .mship-h48,
html[data-theme="light"] .mship .mtier-name{font-family:'Lora','Cormorant Garamond','Georgia',serif;letter-spacing:0}
html[data-theme="light"] .mship .mship-adv .adv-body{color:var(--lx-ink2)}
html[data-theme="light"] .mship .mship-adv .adv-fine{color:var(--lx-ink3)}
html[data-theme="light"] .mship .mship-adv .adv-kicker{color:var(--lx-accent-dark)}
html[data-theme="light"] .mship .h-gold{color:var(--gold-dark)}

/* membership tier cards -> light cards with legible text */
html[data-theme="light"] .mship .mtier{background:#fff;border:1px solid var(--lx-line)}
/* Tier card images: always reserve their box and show a clean placeholder if an image is slow/missing */
.mship .mtier .img-round{display:block;width:100%;object-fit:cover;background:#e3e6e2;overflow:hidden}
.mship .po-frame{display:block;width:100%;height:210px;border-radius:18px;overflow:hidden;background:#e3e6e2;margin-bottom:22px}
html[data-theme="dark"] .mship .po-frame{background:#10171d}
.mship .po-frame img{display:block;width:100%;height:100%;object-fit:cover;margin:0;border-radius:0;max-width:100%}
html[data-theme="dark"] .mship .mtier .img-round{background:#10171d}
html[data-theme="light"] .mship .mtier-name{color:var(--gold-dark)}
html[data-theme="light"] .mship .mtier-tag,
html[data-theme="light"] .mship .mtier ul li,
html[data-theme="light"] .mship .mlist li,
html[data-theme="light"] .mship .mfor{color:var(--lx-ink2)}
html[data-theme="light"] .mship .mser,
html[data-theme="light"] .mship .mprice,
html[data-theme="light"] .mship .mprice-flat{color:var(--lx-ink)}
html[data-theme="light"] .mship .mprice sup,
html[data-theme="light"] .mship .mprice .per{color:var(--gold-dark)}

/* ================================================================
   SOVEREIGN HOME + WHERE/PILLAR ADDITIONS (theme-aware via --ed tokens)
   Appended — homepage rebuilt onto .lux-page; collapsible zones; map.
   ================================================================ */

/* fleuron divider (heritage motif, no crest) */
.lux-page .fleur{display:flex;align-items:center;justify-content:center;gap:18px;padding:60px 26px 0}
.lux-page .fleur .ln{height:1px;width:90px;background:linear-gradient(90deg,transparent,var(--ed-accent))}
.lux-page .fleur .ln.r{background:linear-gradient(90deg,var(--ed-accent),transparent)}
.lux-page .fleur .mk{color:var(--ed-accent);font-size:.9rem;letter-spacing:.3em}

/* two equal text columns (The Algoz Grip) */
.lux-page .lx-duo{padding:84px 0;background:var(--ed-bg)}
.lux-page .lx-duo .head{text-align:center;margin-bottom:48px}
.lux-page .lx-duo .head h2{font-family:var(--ed-titles);font-weight:500;font-size:2.2rem;margin:14px 0 0;color:var(--ed-ink)}
.lux-page .lx-duo .cols{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.lux-page .lx-duo h3{font-family:var(--ed-titles);font-weight:500;font-size:1.5rem;color:var(--ed-ink);margin:0 0 12px}
.lux-page .lx-duo p{color:var(--ed-ink2);line-height:2;font-size:1rem;margin:0}
@media(max-width:820px){.lux-page .lx-duo .cols{grid-template-columns:1fr;gap:38px}}

/* full-bleed feature band (image or video bg) — Italian Mastery, Foundation, We Mean Anywhere */
.lux-page .lx-feature{position:relative;min-height:460px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;color:#fff}
.lux-page .lx-feature .bg,.lux-page .lx-feature video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center}
.lux-page .lx-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,9,.5),rgba(8,10,9,.7));z-index:1}
.lux-page .lx-feature .inner{position:relative;z-index:2;max-width:860px;padding:70px 26px}
.lux-page .lx-feature .eyebrow{color:#e9ece6}
.lux-page .lx-feature h2{font-family:var(--ed-titles);font-weight:500;font-size:clamp(2rem,4.4vw,3.1rem);color:#fff;margin:16px 0 0}
.lux-page .lx-feature p{color:#e7eae4;line-height:1.95;font-size:1.02rem;margin:18px auto 0;max-width:680px}
.lux-page .lx-feature .acts{margin-top:30px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* checklist (VIP services) */
.lux-page .lx-checks{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.lux-page .lx-checks li{position:relative;padding-left:28px;color:var(--ed-ink2);font-size:.97rem;line-height:1.7}
.lux-page .lx-checks li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border:1px solid var(--ed-accent);transform:rotate(45deg)}

/* generic text-card grid variants */
.lux-page .lx-grid.duo{grid-template-columns:1fr 1fr}
.lux-page .lx-grid.quad{grid-template-columns:repeat(4,1fr)}
.lux-page .lx-card.plain .body{padding:34px 30px}
.lux-page .lx-card .env-ic{font-family:var(--ed-titles);font-size:1.7rem;color:var(--ed-accent-dark);display:block;margin-bottom:6px}
@media(max-width:980px){.lux-page .lx-grid.quad{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.lux-page .lx-grid.duo,.lux-page .lx-grid.quad{grid-template-columns:1fr}}

/* client reputation list */
.lux-page .lx-clientlist{list-style:none;margin:8px 0 0;padding:0;columns:2;column-gap:30px}
.lux-page .lx-clientlist li{padding:9px 0;border-bottom:1px solid var(--ed-line);font-family:var(--ed-serif);font-size:1.05rem;color:var(--ed-ink);break-inside:avoid}

/* testimonials */
.lux-page .lx-tcards{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}
.lux-page .lx-tcards .tq{background:var(--ed-bg);border:1px solid var(--ed-line);padding:34px 32px}
.lux-page .lx-tcards .stars{color:var(--ed-accent);letter-spacing:.18em;font-size:.9rem}
.lux-page .lx-tcards blockquote{font-family:var(--ed-serif);font-style:italic;font-size:1.12rem;line-height:1.6;color:var(--ed-ink);margin:14px 0}
.lux-page .lx-tcards .who{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ed-ink3)}
@media(max-width:760px){.lux-page .lx-tcards{grid-template-columns:1fr}}

/* crypto band */
.lux-page .lx-crypto{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--ed-bg2);border-top:1px solid var(--ed-line);border-bottom:1px solid var(--ed-line)}
.lux-page .lx-crypto .txt{padding:80px 60px}
.lux-page .lx-crypto h2{font-family:var(--ed-titles);font-weight:500;font-size:2.2rem;color:var(--ed-ink);margin:14px 0 0}
.lux-page .lx-crypto p{color:var(--ed-ink2);margin-top:14px;line-height:1.9}
.lux-page .lx-crypto .pic{min-height:420px;height:100%;background-size:cover;background-position:center}
.lux-page .lx-crypto .rating{display:flex;align-items:center;gap:20px;margin-top:24px;flex-wrap:wrap}
@media(max-width:820px){.lux-page .lx-crypto{grid-template-columns:1fr}.lux-page .lx-crypto .txt{padding:50px 30px}.lux-page .lx-crypto .pic{min-height:280px;order:-1}}

/* collapsible continent / zone groups (WHERE + pillar) — start retracted */
.lux-page .lx-zones{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.lux-page .lx-zone{border-top:1px solid var(--ed-line2)}
.lux-page .lx-zone:last-child{border-bottom:1px solid var(--ed-line2)}
.lux-page .lx-zone > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:30px 4px}
.lux-page .lx-zone > summary::-webkit-details-marker{display:none}
.lux-page .lx-zone .zname{font-family:var(--ed-titles);font-weight:500;font-size:1.7rem;color:var(--ed-ink)}
.lux-page .lx-zone .zmeta{display:flex;align-items:center;gap:16px}
.lux-page .lx-zone .zcount{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ed-ink3)}
.lux-page .lx-zone .zplus{width:30px;height:30px;border:1px solid var(--ed-line2);border-radius:50%;position:relative;flex:none;transition:.25s}
.lux-page .lx-zone .zplus::before,.lux-page .lx-zone .zplus::after{content:"";position:absolute;background:var(--ed-accent-dark);transition:.25s}
.lux-page .lx-zone .zplus::before{left:50%;top:8px;bottom:8px;width:1px;transform:translateX(-50%)}
.lux-page .lx-zone .zplus::after{top:50%;left:8px;right:8px;height:1px;transform:translateY(-50%)}
.lux-page .lx-zone[open] .zplus{border-color:var(--ed-accent);background:var(--ed-accent)}
.lux-page .lx-zone[open] .zplus::before{transform:translateX(-50%) scaleY(0)}
.lux-page .lx-zone[open] .zplus::after{background:var(--ed-btn-ink)}
.lux-page .lx-zone[open] > summary .zname{color:var(--ed-accent-dark)}
.lux-page .lx-zone .zbody{padding:6px 0 38px}
.lux-page .lx-zone .zgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lux-page .lx-zone .zcity{display:block;border:1px solid var(--ed-line);background:var(--ed-bg);padding:20px 22px;transition:.2s}
.lux-page .lx-zone .zcity:hover{border-color:var(--ed-accent);transform:translateY(-2px)}
.lux-page .lx-zone .zcity .cn{font-family:var(--ed-titles);font-weight:500;font-size:1.2rem;color:var(--ed-ink);display:block}
.lux-page .lx-zone .zcity .cd{font-family:var(--ed-serif);font-style:italic;font-size:.86rem;color:var(--ed-ink2);margin-top:4px;display:block}
.lux-page .lx-zone .zcity:hover .cn{color:var(--ed-accent-dark)}
@media(max-width:820px){.lux-page .lx-zone .zgrid{grid-template-columns:1fr 1fr}.lux-page .lx-zone .zname{font-size:1.4rem}}
@media(max-width:560px){.lux-page .lx-zone .zgrid{grid-template-columns:1fr}}

/* network map frame */
.lux-page .lx-mapwrap{padding:84px 0;background:var(--ed-bg)}
.lux-page .lx-mapwrap .head{text-align:center;margin-bottom:40px}
.lux-page .lx-mapwrap .head h2{font-family:var(--ed-titles);font-weight:500;font-size:2.2rem;margin:14px 0 0;color:var(--ed-ink)}
.lux-page #algoz-map{height:540px;max-width:var(--maxw);margin:0 auto;border:1px solid var(--ed-line2);background:var(--ed-bg2)}
.lux-page .lx-mapwrap .legend{text-align:center;margin-top:18px;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ed-ink3)}
.lux-page .lx-mapwrap .legend .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ed-accent);margin-right:8px;vertical-align:middle}
.leaflet-popup-content{font-family:var(--ed-sans);font-size:.84rem}
.leaflet-container a.algoz-pin-lnk{color:#876f32}
@media(max-width:820px){.lux-page #algoz-map{height:420px}}

/* ghost variant of the editorial button (used on homepage hero/features) */
.lux-page .lxbtn.ghost{background:transparent;color:var(--ed-accent-dark);border-color:var(--ed-accent)}
.lux-page .lxbtn.ghost:hover{background:var(--ed-accent);color:var(--ed-btn-ink)}
.lux-page .lx-feature .lxbtn.ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.lux-page .lx-feature .lxbtn.ghost:hover{background:#fff;color:#111}
/*!CRIT-RESUME*/
.lux-page .lx-hero .lxbtn.ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.lux-page .lx-hero .lxbtn.ghost:hover{background:#fff;color:#111}

/* ================================================================
   BATCH 19 — hero slideshow + taller home hero, dropdown slide-underline
   ================================================================ */

/* Taller homepage hero */
.lux-page .lx-hero.home-hero{min-height:84vh}
@media(max-width:760px){.lux-page .lx-hero.home-hero{min-height:78vh}}

/* Cross-fading hero background slideshow (5–7 images) with gentle ken-burns */
.lux-page .lx-hero .hero-show{position:absolute;inset:0;overflow:hidden;z-index:0}
.lux-page .lx-hero .hero-show::after{content:"";position:absolute;inset:0;background:var(--ed-scrim);z-index:2}
.lux-page .lx-hero .hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.04);
  animation:heroFade 42s linear infinite, heroZoom 42s linear infinite;will-change:opacity,transform}
.lux-page .lx-hero .hero-slide:nth-child(1){animation-delay:0s}
.lux-page .lx-hero .hero-slide:nth-child(2){animation-delay:7s}
.lux-page .lx-hero .hero-slide:nth-child(3){animation-delay:14s}
.lux-page .lx-hero .hero-slide:nth-child(4){animation-delay:21s}
.lux-page .lx-hero .hero-slide:nth-child(5){animation-delay:28s}
.lux-page .lx-hero .hero-slide:nth-child(6){animation-delay:35s}
@keyframes heroFade{0%{opacity:0}2.4%{opacity:1}14.3%{opacity:1}16.7%{opacity:0}100%{opacity:0}}
@keyframes heroZoom{0%{transform:scale(1.04)}16.7%{transform:scale(1.12)}100%{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){
  .lux-page .lx-hero .hero-slide{animation:none;transform:none}
  .lux-page .lx-hero .hero-slide:first-child{opacity:1}
}

/* Dropdown menu links — underline slides in from the left on hover,
   slides out to the right when the cursor leaves */
.site-header .panel a:not(.mob-home){position:relative;width:-moz-fit-content;width:fit-content}
.site-header .panel a:not(.mob-home)::after{content:"";position:absolute;left:4px;right:4px;bottom:1px;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform .34s ease}
.site-header .panel a:not(.mob-home):hover::after{transform:scaleX(1);transform-origin:left center}

/* ════════════════════ i18n — CJK fonts, RTL, language switcher ════════════════════ */
html[lang="zh"], html[lang="ja"]{font-family:"Noto Sans CJK SC","Noto Sans CJK JP","PingFang SC","Hiragino Sans","Microsoft YaHei",sans-serif}
html[lang="zh"] h1,html[lang="zh"] h2,html[lang="zh"] h3,html[lang="zh"] h4,
html[lang="ja"] h1,html[lang="ja"] h2,html[lang="ja"] h3,html[lang="ja"] h4{font-family:inherit;letter-spacing:.04em;font-weight:500}
/* Arabic / RTL — direction handled by dir="rtl"; font + alignment tuned here */
html[dir="rtl"] body{font-family:"Noto Sans Arabic","Noto Naskh Arabic","Segoe UI",var(--font-body),sans-serif}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3,html[dir="rtl"] h4{font-family:"Noto Sans Arabic","Noto Naskh Arabic",var(--font-display),sans-serif}
html[dir="rtl"] .lx-hero .inner,html[dir="rtl"] .lx-cards .head,html[dir="rtl"] .lx-cta,html[dir="rtl"] .lx-stats{text-align:center}
html[dir="rtl"] .lx-card .body{text-align:right}
/* Current-language marker on the footer .langs bar */
.langs a.cur{color:var(--gold)}
html[data-theme="light"] .langs a.cur{color:var(--lx-accent-dark)}

/* Mobile — breathing room between the two hero CTAs (Request an Introduction / Our Services) */
@media(max-width:600px){
  .lux-page .lx-hero .inner p .lxbtn{margin:8px 6px}
}

/* ============================================================
   ARABIC / RTL — layout flips (scoped to html[dir="rtl"]; LTR untouched)
   Covers header (mnav3), footer, and the lx-* content components so
   future /ar/ pages render right-to-left without per-page CSS.
   ============================================================ */

/* --- Floating action row: keep EN/RU order (Telegram, WhatsApp, pill) bottom-right; do NOT mirror for RTL --- */
html[dir="rtl"] .fab-row{direction:ltr}

/* --- Header: desktop bar --- */
html[dir="rtl"] .nav-inner{padding:0 24px 0 0}
html[dir="rtl"] .nav-right{margin-left:0;margin-right:auto}
html[dir="rtl"] .nav-list>li>a .caret{margin-left:0;margin-right:4px}
html[dir="rtl"] .nav-login svg{transform:scaleX(-1)}

/* --- Header: mobile mnav3 (<=1023px) --- */
@media(max-width:1023px){
  html[dir="rtl"] .nav-inner{padding:0}
  html[dir="rtl"] .mnav3 .brand{margin-right:0;margin-left:auto}
  html[dir="rtl"] .mnav3 .micon-nav{margin-right:0;margin-left:12px}
  html[dir="rtl"] .mnav3 .micon-panel{border-left:0}
  html[dir="rtl"] .panel{border-left:0;border-right:1px solid var(--gold-dim);padding:6px 16px 14px 0}
}
@media(max-width:380px){
  html[dir="rtl"] .mnav3 .micon-nav{margin-right:0;margin-left:8px}
}

/* --- Footer: three columns read right-to-left --- */
html[dir="rtl"] .footer-cols-d{text-align:right}
html[dir="rtl"] .footer-legal,
html[dir="rtl"] .langs,
html[dir="rtl"] .footer-company-links,
html[dir="rtl"] .footer-brand{text-align:center}

/* --- Breadcrumb (if present) flows from the right --- */
html[dir="rtl"] .crumbs,
html[dir="rtl"] .breadcrumb,
html[dir="rtl"] .lux-page .crumbs{text-align:right;direction:rtl}

/* --- Content components --- */
html[dir="rtl"] .lux-page .lx-intro p,
html[dir="rtl"] .lux-page .lx-split p,
html[dir="rtl"] .lux-page .lx-split h3,
html[dir="rtl"] .lux-page .lx-intro h2{text-align:right}
html[dir="rtl"] .lux-page .lx-split .snum,
html[dir="rtl"] .lux-page .lx-split .lnk{align-self:flex-end}
html[dir="rtl"] .lux-page .lx-row .dt{text-align:left}
html[dir="rtl"] .lux-page .lx-row:hover{padding-left:0;padding-right:14px}
html[dir="rtl"] .lux-page .lx-quote p,
html[dir="rtl"] .lux-page .lx-quote .by{text-align:center}
/* keep hero / card-heads / cta / stats centered (base rule already does this) */

/* ============================================================
   FOOTER LANGUAGE SWITCHER — round buttons (EN / RU / AR only)
   Replaces the old text list. Current language filled gold.
   ============================================================ */
.langs.lang-btns{display:flex;gap:12px;justify-content:center;align-items:center;margin:34px 0 0;overflow:visible}
.langs.lang-btns .lang-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;margin:0;
  border:1px solid rgba(207,193,99,.45);
  font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.04em;
  color:#cfd2d6;text-transform:uppercase;text-decoration:none;transition:.2s;
}
.langs.lang-btns .lang-btn:hover{border-color:var(--gold);color:var(--gold)}
.langs.lang-btns .lang-btn.cur{background:var(--gold);border-color:var(--gold);color:#0a1117}
html[data-theme="light"] .langs.lang-btns .lang-btn{border-color:rgba(95,107,85,.4);color:#4a4f4a}
html[data-theme="light"] .langs.lang-btns .lang-btn:hover{border-color:#5f6b55;color:#5f6b55}
html[data-theme="light"] .langs.lang-btns .lang-btn.cur{background:#5f6b55;border-color:#5f6b55;color:#fff}
