
:root{
  --bg0:#06080d;
  --bg1:#0a0f18;
  --glass:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.10);
  --text:#eaf0ff;
  --muted:rgba(234,240,255,.68);
  --muted2:rgba(234,240,255,.50);
  --gold1:#f5d67b;
  --gold2:#b38a2e;
  --cyan:#58e7ff;
  --blue:#3b82f6;
  --shadow: 0 30px 80px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(900px 500px at 20% -10%, rgba(245,214,123,.18), transparent 55%),
    radial-gradient(900px 500px at 85% 10%, rgba(88,231,255,.14), transparent 55%),
    radial-gradient(700px 450px at 70% 120%, rgba(59,130,246,.10), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1) 45%, var(--bg0));
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial;
  letter-spacing:.2px;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:1140px;margin:0 auto;padding:28px 20px}
[data-site-header]{display:block;height:var(--header-slot-height, 106px)}
.topbar{
  position:fixed;
  top:16px;
  left:50%;
  transform:translateX(-50%);
  width:min(1100px, calc(100vw - 40px));
  z-index:200;
}
.navShell{
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  backdrop-filter: blur(14px);
  border-radius:18px;
  box-shadow: 0 16px 50px rgba(0,0,0,.35);
  padding:14px 18px;
  display:flex; align-items:center; justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:12px;min-width:180px}
.brand img{height:40px;width:auto;display:block;object-fit:contain}
.navLinks{display:flex;align-items:center;gap:22px}
.navLinks a{font-size:14px;color:var(--muted);padding:8px 10px;border-radius:12px}
.navLinks a:hover{color:var(--text);background:rgba(255,255,255,.06)}
.navLinks a[aria-current="page"]{color:var(--text);background:rgba(255,255,255,.08)}
.cta{display:flex;align-items:center;gap:10px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:10px;
  padding:11px 14px;
  border-radius:14px;
  font-weight:700;
  font-size:13px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--text);
  transition:.2s ease;
  cursor:pointer;
}
.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.06)}
.btnPrimary{
  border-color: rgba(245,214,123,.35);
  background: linear-gradient(90deg, rgba(245,214,123,.25), rgba(88,231,255,.14));
  box-shadow: 0 18px 50px rgba(245,214,123,.10);
}
.btnGhost{background:transparent}
.hr{height:1px;background:rgba(255,255,255,.08);margin:26px 0}
.hero{
  padding:70px 0 26px;
}
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(245,214,123,.85);
  padding:10px 14px;
  border:1px solid rgba(245,214,123,.22);
  border-radius:999px;
  background: rgba(245,214,123,.05);
}
h1{
  margin:18px 0 14px;
  font-size: clamp(40px, 5vw, 64px);
  line-height:1.03;
  font-weight:800;
}

/* Domain detail pages: allow long domains to wrap cleanly on mobile */
body[data-page="domain"] h1{
  overflow-wrap:anywhere;
  word-break:break-word;
}

body[data-page="offer"] h1{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.hDesktop{display:inline}
.hMobile{display:none}
@media (max-width:520px){
  .hDesktop{display:none}
  .hMobile{display:inline}

  /* Override inline h1 sizing used on some domain pages */
  body[data-page="domain"] h1{font-size: clamp(34px, 11vw, 46px) !important;}
  body[data-page="offer"] h1{font-size: clamp(34px, 11vw, 46px) !important;}
}
h1 .grad{
  background: linear-gradient(90deg, var(--gold1), #eaf0ff 40%, var(--cyan));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lede{
  max-width:760px;
  color:var(--muted);
  font-size:18px;
  line-height:1.65;
}
.heroActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.grid2{
  display:grid; grid-template-columns: repeat(2, 1fr);
  gap:14px; margin-top:44px;
}
.grid3{
  display:grid; grid-template-columns: repeat(3, 1fr);
  gap:14px; margin-top:44px;
}
.card{
  border:1px solid var(--border);
  border-radius:18px;
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  padding:18px;
}
.cardTitle{font-weight:800}
.cardText{margin-top:8px;color:var(--muted);line-height:1.55;font-size:14px}
.sectionTitle{font-size:28px;font-weight:850;margin:10px 0}
.sectionSub{color:var(--muted);max-width:760px;line-height:1.65}
.panel{
  border:1px solid var(--border);
  background: rgba(255,255,255,.04);
  border-radius:22px;
  padding:22px;
  box-shadow: var(--shadow);
}
.filters{
  display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:space-between;
}
.field{display:flex; flex-direction:column; gap:8px; min-width:260px; flex:1}
.label{font-size:12px; color:var(--muted2); letter-spacing:.08em; text-transform:uppercase}
input, select, textarea{
  width:100%;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.25);
  color:var(--text);
  outline:none;
}
input:focus, select:focus, textarea:focus{border-color: rgba(245,214,123,.35); box-shadow: 0 0 0 4px rgba(245,214,123,.10)}
.rowList{margin-top:16px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.10)}
.row{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  background: rgba(255,255,255,.02);
  border-top:1px solid rgba(255,255,255,.08);
}
.row:first-child{border-top:none}
.row:hover{background: rgba(255,255,255,.05)}
.domain{
  font-weight:850;
  letter-spacing:.2px;
  word-break:break-word;
  overflow-wrap:anywhere;

}
.meta{margin-top:6px;color:var(--muted2);font-size:13px}
.badge{
  display:inline-flex;align-items:center;
  padding:6px 10px;border-radius:999px;
  font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid rgba(245,214,123,.25);
  background: rgba(245,214,123,.07);
  color: rgba(245,214,123,.95);
}
.badgeCyan{border-color: rgba(88,231,255,.25); background: rgba(88,231,255,.06); color: rgba(170,247,255,.95)}
.formGrid{
  display:grid;grid-template-columns:1fr 1fr; gap:12px;
}
.formGrid .span2{grid-column: 1 / -1}
.note{color:var(--muted2);font-size:13px;line-height:1.6}
.footer{
  margin:60px 0 22px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  color:var(--muted2);font-size:13px;
}
.footer a{color:var(--muted2)}
.footer a:hover{color:var(--text)}
/* mobile */
.mobileMenu{display:none}
.mobileMenu details{position:relative}
.mobileMenu summary{list-style:none}
.mobileMenu summary::-webkit-details-marker{display:none}
.mobilePanel{
  position:absolute; right:0; top:54px;
  width:260px;
  background: rgba(10,15,24,.92);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  box-shadow: 0 30px 80px rgba(0,0,0,.55);
  overflow:hidden;
}
.mobilePanel a{display:block;padding:12px 14px;font-size:14px;color:var(--muted)}
.mobilePanel a:hover{background: rgba(255,255,255,.06);color:var(--text)}
.mobilePanel a[aria-current="page"]{background:rgba(255,255,255,.08);color:var(--text)}
@media (max-width: 880px){
  .navLinks{display:none}
  .mobileMenu{display:block}
  .grid2{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .filters{gap:12px}
  .field{min-width:100%}
  .formGrid{grid-template-columns:1fr}
}


/* --- v11 tweaks --- */
html{background:var(--bg0)}
body{min-height:100%; background-color:var(--bg0)}
/* fixed ambient layer to avoid scroll banding on mobile */
body::before{
  content:"";
  position:fixed; inset:0;
  background:
    radial-gradient(900px 500px at 20% -10%, rgba(245,214,123,.18), transparent 55%),
    radial-gradient(900px 500px at 85% 10%, rgba(88,231,255,.14), transparent 55%),
    radial-gradient(700px 450px at 70% 120%, rgba(59,130,246,.10), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1) 45%, var(--bg0));
  z-index:-2;
}
.wrap{position:relative; z-index:0}

/* subtle luxury spotlight */
.hero{position:relative}
.hero::before{
  content:"";
  position:absolute;
  inset:-60px -20px auto -20px;
  height:320px;
  background: radial-gradient(closest-side, rgba(245,214,123,.18), transparent 65%);
  filter: blur(10px);
  opacity:.85;
  transform: translate3d(0,0,0);
  animation: spot 8s ease-in-out infinite alternate;
  pointer-events:none;
  z-index:-1;
}
.hero::after{
  content:"";
  position:absolute;
  inset:-80px -20px auto -20px;
  height:360px;
  background: radial-gradient(closest-side, rgba(88,231,255,.12), transparent 68%);
  filter: blur(14px);
  opacity:.75;
  animation: spot2 10s ease-in-out infinite alternate;
  pointer-events:none;
  z-index:-1;
}
@keyframes spot{
  0%{transform:translateX(-18px) translateY(0px)}
  100%{transform:translateX(18px) translateY(10px)}
}
@keyframes spot2{
  0%{transform:translateX(20px) translateY(6px)}
  100%{transform:translateX(-20px) translateY(0px)}
}

/* hide browse button on small screens (it breaks header width) */
@media (max-width: 880px){
  .browseBtn{display:none !important;}
}

/* hide browse button on portfolio (redundant) */
body[data-page="portfolio"] .browseBtn{display:none !important;}

/* Turnstile fit on mobile */
.cf-turnstile{max-width:100%;}
@media (max-width: 420px){
  .cf-turnstile{transform:scale(.88); transform-origin:left top;}
}

/* main offset for sticky header on small screens */
@media (max-width: 880px){
  h1{scroll-margin-top:120px}
}


/* --- v12 mobile form + Turnstile layout fixes --- */
@media (max-width: 880px){
  .panel{padding:18px}
  .formGrid{gap:10px}
}
.turnstileWrap{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  max-width:100%;
  overflow:hidden;
}
@media (max-width: 420px){
  .turnstileWrap{justify-content:center}
  .cf-turnstile{transform:scale(.82); transform-origin:center top;}
}


/* --- v13: mobile form alignment + overflow guard --- */
html, body { overflow-x: hidden; }
.panel { max-width: 100%; }
form { max-width: 100%; }
.formGrid > * { min-width: 0; }
@media (max-width: 880px){
  .wrap{padding-left:18px;padding-right:18px}
  .panel{padding:18px 16px}
}
.turnstileWrap{width:100%;}
.turnstileWrap iframe{max-width:100% !important;}


/* --- v14: offer kicker spacing --- */
.kicker{margin-top:10px; margin-bottom:14px;}


/* --- Praxitor strategic tweaks --- */
.cleanList{display:grid;gap:10px}
.cleanItem{
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  color: var(--text);
  font-weight:750;
  letter-spacing:.1px;
}
.mutedInline{color: var(--muted)}
.insightsGrid{display:grid;grid-template-columns:1fr;gap:12px}
.insightLink{display:block}
.insightTitle{font-weight:850;font-size:16px}
.insightPreview{margin-top:8px;color:var(--muted);line-height:1.55;font-size:14px;max-width:880px}
.articleMeta{margin-top:10px;color:var(--muted2);font-size:13px}
.articleBody{margin-top:18px;max-width:860px}
.articleBody h2{margin-top:26px;font-size:22px}
.articleBody p{color:var(--muted);line-height:1.75;font-size:16px;margin:12px 0}
.articleBody ul{color:var(--muted);line-height:1.7}

.toc{margin-top:16px;max-width:860px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);border-radius:14px;padding:14px 14px 10px}
.tocTitle{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
.tocList{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.tocList a{font-size:13px;color:rgba(255,255,255,.84);text-decoration:none;border:1px solid rgba(255,255,255,.08);padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.02)}
.tocList a:hover{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.04)}


.domainLink{
  display:inline-block;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}
.domainLink:hover{text-decoration:underline}


/* mobile typography */
@media (max-width: 880px){
  .wrap{padding:22px 18px}
  .hero{padding:54px 0 18px}
  .lede{font-size:16px; line-height:1.7}
  .sectionTitle{font-size:24px}
  .panel{padding:18px}
  .card{padding:16px}
  .heroActions{gap:10px}
}


/* --- Mobile portfolio refinement: preserve domain legibility and hierarchy --- */
@media (max-width: 768px){
  .row{
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .domain, .domainLink{
    word-break: normal;
    overflow-wrap: normal;
  }
  .row .btn{
    width: 100%;
    text-align: center;
    padding: 10px 16px;
    font-size: 14px;
  }
}


/* ---------------------------------------------
   Visual rhythm calibration — home page only
   Light → Medium → Heavy → Structured → Light → Heavy
----------------------------------------------*/
body[data-page="home"] .wrap{padding-top:22px;padding-bottom:22px;max-width:1120px;}

body[data-page="home"] .sec{
  padding:72px 0;
}
body[data-page="home"] .sec + .sec{padding-top:0;} /* spacing controlled by padding */

body[data-page="home"] .hero{
  padding:110px 0 84px;
}
body[data-page="home"] .hero .kicker{margin-bottom:18px;letter-spacing:.06em;text-transform:uppercase;font-size:12px;color:var(--muted2);}
body[data-page="home"] .hero h1{
  max-width:16ch;
  letter-spacing:-0.02em;
  margin:18px 0 16px;
}
body[data-page="home"] .hero .lede{
  max-width:60ch;
  font-size:16px;
  line-height:1.72;
  color:var(--muted);
  margin:0 0 26px;
}
body[data-page="home"] .heroActions{
  margin-top:0;
  gap:12px;
}
body[data-page="home"] .heroActions .btn{
  padding:12px 16px;
  border-radius:999px;
}
body[data-page="home"] .heroActions .btnPrimary{
  padding:12px 18px;
}

/* Section titles: calm, consistent hierarchy (below hero) */
body[data-page="home"] .sectionTitle{
  font-size:30px;
  letter-spacing:-0.01em;
  margin:0;
}
body[data-page="home"] .sectionSub{
  margin-top:10px;
  max-width:72ch;
  font-size:15px;
  line-height:1.7;
}

/* 2) WHY / VALUE — medium weight */
body[data-page="home"] .sec-value{
  padding-top:54px;
  padding-bottom:64px;
}
body[data-page="home"] .sec-value .grid3{margin-top:22px;gap:18px;}
body[data-page="home"] .sec-value .card{
  background: transparent;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:none;
  padding:22px;
}
body[data-page="home"] .sec-value .cardTitle{font-size:15px;letter-spacing:-0.01em;}
body[data-page="home"] .sec-value .cardText{font-size:14px;line-height:1.6;color:var(--muted);margin-top:8px;}

/* 3) INSTITUTIONAL — first heavy block (subtle contrast allowed) */
body[data-page="home"] body[data-page] .sec.sec-institutional{
  padding:86px 28px;
  background: rgba(255,255,255,.025);
  border-radius:28px;
}
body[data-page="home"] .sec-institutional .panel{
  /* Align the institutional block with the page grid (no "floating" card offset).
     Keep the *text* column narrow inside the panel. */
  width:100%;
  max-width:none;
  margin:0;
  background: transparent;
  box-shadow:none;
  border:1px solid rgba(255,255,255,.10);
  padding:28px 28px 26px;
}
body[data-page="home"] .sec-institutional .panel > *{
  max-width:860px;
}
body[data-page="home"] .sec-institutional .cardTitle{
  font-size:22px;
  font-weight:850;
  letter-spacing:-0.01em;
  margin:0 0 12px;
}
body[data-page="home"] .sec-institutional .cardText{
  font-size:16px;
  line-height:1.78;
  color:var(--muted);
  margin-top:0;
}

/* 4) PROCESS — structured, not heavy */
body[data-page="home"] .sec-process .grid2{margin-top:22px;gap:18px;}
body[data-page="home"] .sec-process .card{
  background: transparent;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:none;
  padding:20px 22px;
}
body[data-page="home"] .sec-process .cardTitle{font-size:15px;letter-spacing:-0.01em;}
body[data-page="home"] .sec-process .cardText{font-size:14px;line-height:1.6;color:var(--muted);margin-top:8px;}

/* 5) PORTFOLIO — light again */
body[data-page="home"] .sec-portfolio .panel{
  margin-top:22px;
  background: transparent;
  box-shadow:none;
  border:1px solid rgba(255,255,255,.10);
  padding:26px;
}
body[data-page="home"] .sec-portfolio #homeRows{margin-top:16px;}
body[data-page="home"] .sec-portfolio .note{color:var(--muted2);}

/* Bridge section (Built for...) — keep light / calm */
body[data-page="home"] .sec-built .panel{
  margin-top:18px;
  background: transparent;
  box-shadow:none;
  border:1px solid rgba(255,255,255,.10);
  padding:24px 26px;
  max-width:860px;
}
body[data-page="home"] .sec-built .cardText{font-size:15px;line-height:1.75;color:var(--muted);}

/* 6) FINAL CTA — second heavy block (subtle contrast allowed) */
body[data-page="home"] body[data-page] .sec.sec-final{
  padding:96px 28px;
  background: rgba(255,255,255,.025);
  border-radius:28px;
}
body[data-page="home"] .sec-final .panel{
  background: transparent;
  box-shadow:none;
  border:1px solid rgba(255,255,255,.10);
  /* Align CTA block with page grid; keep headline + content constrained inside. */
  width:100%;
  max-width:none;
  margin:0;
  padding:34px 28px 30px;
  text-align:left;
}
body[data-page="home"] .sec-final .panel > *{
  max-width:860px;
}
body[data-page="home"] .sec-final .sectionTitle{
  font-size:38px;
  line-height:1.12;
  max-width:22ch;
}
body[data-page="home"] .sec-final .heroActions{
  margin-top:20px;
}
body[data-page="home"] .sec-final .heroActions .btnPrimary{
  padding:14px 20px;
  border-radius:999px;
}

/* Mobile rhythm */
@media (max-width:820px){
  body[data-page="home"] .sec{padding:58px 0;}
  body[data-page="home"] .hero{padding:86px 0 66px;}
  body[data-page="home"] .hero h1{max-width:18ch;}
  body[data-page="home"] .sec-institutional,
  body[data-page="home"] .sec-final{border-radius:22px;}
  body[data-page="home"] .sec-final .sectionTitle{font-size:32px;}
}
@media (max-width:520px){
  body[data-page="home"] .hero{padding:74px 0 58px;}
  body[data-page="home"] .hero h1{font-size: clamp(38px, 10.6vw, 52px);max-width:20ch;}
  body[data-page="home"] .hero .lede{font-size:15px;line-height:1.78;max-width:52ch;}
  body[data-page="home"] .sectionTitle{font-size:26px;}
  body[data-page="home"] .sec-final .sectionTitle{font-size:30px;}
  body[data-page="home"] .sec-institutional .panel,
  body[data-page="home"] .sec-final .panel{padding:28px 22px 24px;}
}

@media (max-width: 720px){
  body[data-page] .sec.sec-institutional{padding-left:18px;padding-right:18px;}
  body[data-page] .sec.sec-final{padding-left:18px;padding-right:18px;}
}


/* --- i18n language switcher --- */
.langSwitch{position:relative;display:inline-flex;align-items:center;margin-right:10px;}
.langBtn{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:inherit;cursor:pointer;transition:transform .18s ease, background .18s ease, border-color .18s ease;}
.langBtn:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22);}
.langBtn:active{transform:translateY(1px);}
.langBtn:focus-visible{outline:2px solid rgba(255,255,255,.55);outline-offset:2px;}
.langFlag{width:18px;height:12px;border-radius:3px;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.18) inset;}
.langCode{font-size:12px;letter-spacing:.08em;font-weight:600;opacity:.95}
.langCaret{opacity:.7}
.langMenu{position:absolute;top:calc(100% + 10px);right:0;min-width:210px;max-height:320px;overflow:auto;
  padding:8px;border-radius:14px;border:1px solid rgba(255,255,255,.14);
  background:rgba(18,18,20,.92);backdrop-filter: blur(10px);
  box-shadow:0 12px 40px rgba(0,0,0,.28);
  opacity:0;transform:translateY(-6px);pointer-events:none;
  transition:opacity .18s ease, transform .22s cubic-bezier(.2,.8,.2,1);
  z-index:50;
}
.langSwitch[data-open="1"] .langMenu{opacity:1;transform:translateY(0);pointer-events:auto;}
.langMenu li{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:10px;cursor:pointer;user-select:none;}
.langMenu li img{width:18px;height:12px;border-radius:3px;flex:0 0 auto}
.langMenu li:hover{background:rgba(255,255,255,.08);}
.langMenu li[aria-selected="true"]{background:rgba(255,255,255,.12);}
.langMenu li:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:2px;}
@media (max-width: 720px){
  .langSwitch{margin-right:6px}
  .langMenu{right:auto;left:0}
}

/* --- Mobile language section (inside hamburger menu) --- */
.mobileLangSection{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);}
.mobileLangTitle{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin:0 0 8px 0;}
.mobileLangOptions{display:flex;flex-direction:column;gap:6px;}
.mobileLangOption{display:flex;align-items:center;gap:10px;width:100%;padding:10px 10px;border-radius:12px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:inherit;text-align:left;
}
.mobileLangOption img{width:18px;height:12px;border-radius:3px;flex:0 0 auto;}
.mobileLangOption:hover{background:rgba(255,255,255,.10);}
.mobileLangOption:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:2px;}
.mobileLangOption[aria-current="true"]{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.16);}
@media (max-width: 720px){
  .langSwitch{display:none !important;}
}


/* --- i18n: Mobile Language dropdown (hamburger) --- */
.mobileLangNav{position:relative;}
.mobileLangTrigger{
  display:block;width:100%;
  padding:12px 14px;
  font-size:14px;
  color:var(--muted);
  background:transparent;
  border:0;
  text-align:left;
  cursor:pointer;
}
.mobileLangTrigger:hover{background: rgba(255,255,255,.06);color:var(--text);}
.mobileLangTrigger:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:2px;}

.mobileLangFlyout{
  display:none;
  padding:6px 10px 10px 10px;
  border-top:1px solid rgba(255,255,255,.10);
}
.mobileLangNav:hover .mobileLangFlyout,
.mobileLangNav:focus-within .mobileLangFlyout,
.mobileLangNav[data-open="1"] .mobileLangFlyout{display:block;}

.mobileLangFlyout .mobileLangOption{
  display:flex;align-items:center;gap:10px;
  width:100%;
  padding:10px 4px;
  border-radius:10px;
  background:transparent;
  border:0;
  color:var(--muted);
  text-align:left;
  cursor:pointer;
}
.mobileLangFlyout .mobileLangOption:hover{background: rgba(255,255,255,.06);color:var(--text);}
.mobileLangFlyout .mobileLangOption:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:2px;}
.mobileLangFlyout .mobileLangOption[aria-current="true"]{background: rgba(255,255,255,.08);color:var(--text);}

/* --- How it works (editorial minimal) --- */
body[data-page="faqs"] .hwMain{
  max-width: 720px;
  margin: 0 auto;
  padding-inline: 24px;
}
@media (max-width: 640px){
  body[data-page="faqs"] .hwMain{ padding-inline: 18px; }
}

body[data-page="faqs"] .hwMain{
  font-size: 17px;
  line-height: 1.75;
}
body[data-page="faqs"] .hwMain p{ margin: 0; }
body[data-page="faqs"] .hwMain p + p{ margin-top: 14px; }

body[data-page="faqs"] .hwHero{
  padding-top: 96px;
  padding-bottom: 72px;
}
@media (max-width: 640px){
  body[data-page="faqs"] .hwHero{ padding-top: 80px; padding-bottom: 56px; }
}

body[data-page="faqs"] .hwHero h1{
  font-size: clamp(38px, 5vw, 56px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0;
}
body[data-page="faqs"] .hwSub{ margin-top: 18px; color: rgba(255,255,255,0.86); }
body[data-page="faqs"] .hwBuilt{
  margin-top: 28px;
  opacity: 0.72;
  font-size: 15px;
}

body[data-page="faqs"] .hwSection{
  padding-block: 96px;
}
@media (max-width: 640px){
  body[data-page="faqs"] .hwSection{ padding-block: 64px; }
}

body[data-page="faqs"] .hwSection h2{
  font-size: clamp(22px, 2.2vw, 28px);
  line-height: 1.25;
  margin: 0;
}
body[data-page="faqs"] .hwSection h3{
  font-size: 19px;
  line-height: 1.3;
  margin: 0;
}

body[data-page="faqs"] .hwLede{ margin-top: 16px; opacity: 0.86; }
body[data-page="faqs"] .hwLead{ margin-top: 16px; }

body[data-page="faqs"] .hwSteps{
  list-style: none;
  padding-left: 0;
  margin: 0;
}
body[data-page="faqs"] .hwSteps > li::marker{ content: ""; }
/* Acquisition process steps: keep <ol> semantics but disable the automatic marker. */
body[data-page="faqs"] .hwStep,
body[data-page="faqs"] .step{
  display: grid;
  grid-template-columns: 56px 1fr;
  column-gap: 16px;
  padding: 20px 0;
}
body[data-page="faqs"] .hwNum,
body[data-page="faqs"] .step-num{
  opacity: 0.65;
  letter-spacing: 0.04em;
  font-size: 16px;
}
body[data-page="faqs"] .hwTitle,
body[data-page="faqs"] .step-title{
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 6px;
}
body[data-page="faqs"] .step-text{
  line-height: 1.7;
  opacity: 0.9;
  margin: 0;
}
body[data-page="faqs"] .hairline{
  height: 1px;
  opacity: 0.14;
  width: 100%;
  grid-column: 1 / -1;
  background: currentColor;
  margin-top: 20px;
}

@media (max-width: 640px){
  body[data-page="faqs"] .hwStep,
  body[data-page="faqs"] .step{ grid-template-columns: 1fr; }
  body[data-page="faqs"] .hwNum,
  body[data-page="faqs"] .step-num{ margin-bottom: 8px; }
  body[data-page="faqs"] .hairline{ margin-top: 16px; }
}

body[data-page="faqs"] .hwDash{
  list-style: none;
  padding-left: 0;
  margin: 22px 0 0 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 24px;
}
body[data-page="faqs"] .hwDash li{
  margin: 0;
  position: relative;
  padding-left: 18px;
}
body[data-page="faqs"] .hwDash li::before{
  content: "—";
  position: absolute;
  left: 0;
  opacity: 0.65;
}
@media (max-width: 720px){
  body[data-page="faqs"] .hwDash{ grid-template-columns: 1fr; }
}

body[data-page="faqs"] .hwBlocks{ margin-top: 28px; }
body[data-page="faqs"] .hwBlock + .hwBlock{ margin-top: 28px; }
body[data-page="faqs"] .hwBlock p{ margin-top: 10px; opacity: 0.88; }

body[data-page="faqs"] /* FAQ accordion (accessible + indexable content via <details>) */
.faq-item { border-bottom: 1px solid rgba(0,0,0,.14); padding: 18px 0; }
.faq-item:last-child { border-bottom: none; }

.faq-q { cursor: pointer; font-size: 18px; font-weight: 600; list-style: none; }

summary::-webkit-details-marker { display: none; }

.faq-q { position: relative; padding-right: 28px; }
.faq-q::after { content: "›"; position: absolute; right: 0; transform: rotate(90deg); opacity: .6; transition: transform .15s ease; }
details[open] .faq-q::after { transform: rotate(-90deg); }

.faq-a { margin-top: 10px; line-height: 1.75; opacity: .9; max-width: 68ch; }
.faq-a p{ margin: 0; }

.hwAccordion{
  margin-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.14);
}
body[data-page="faqs"] .hwItem{
  border-bottom: 1px solid rgba(255,255,255,0.14);
}
body[data-page="faqs"] .hwItem summary{
  list-style: none;
  cursor: pointer;
  padding-block: 20px;
  padding-right: 26px;
  position: relative;
  font-size: 19px;
  line-height: 1.3;
}
body[data-page="faqs"] .hwItem summary::-webkit-details-marker{ display:none; }
body[data-page="faqs"] .hwItem summary::after{
  content: "›";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  opacity: 0.6;
  font-size: 16px;
}
body[data-page="faqs"] .hwItem[open] summary::after{
  transform: translateY(-50%) rotate(-90deg);
}
body[data-page="faqs"] .hwAnswer{
  padding-bottom: 20px;
}
body[data-page="faqs"] .hwAnswer p{
  margin-top: 10px;
  opacity: 0.88;
}

body[data-page="faqs"] .hwCta{
  padding-top: 96px;
  padding-bottom: 96px;
}
body[data-page="faqs"] .hwContact{
  display: inline-block;
  margin-top: 22px;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  text-decoration: none;
}
body[data-page="faqs"] .hwContact:hover{ opacity: 0.85; }


/* --- v15: home layout alignment + process refinement --- */
html{
  scroll-behavior:smooth;
  scroll-padding-top:136px;
}

body[data-page="home"] .browseBtn{display:none !important;}
body[data-page="home"] .sec[id]{scroll-margin-top:136px;}
body[data-page="home"] .grid3{align-items:stretch;}
body[data-page="home"] .card{
  height:100%;
  display:flex;
  flex-direction:column;
}
body[data-page="home"] .cardTitle{
  font-size:17px;
  line-height:1.35;
  letter-spacing:-0.015em;
}
body[data-page="home"] .cardText{
  font-size:14px;
  line-height:1.68;
}
body[data-page="home"] .sectionHead{
  max-width:820px;
  margin-bottom:22px;
}
body[data-page="home"] .sectionNote{
  margin-top:18px;
  max-width:680px;
}
body[data-page="home"] .heroActions .btn:only-child{
  min-width:220px;
}
body[data-page="home"] .sectionSub{
  color:rgba(234,240,255,.72);
}

body[data-page="home"] .sec-value .sectionHead,
body[data-page="home"] .sec-process .sectionHead,
body[data-page="home"] .sec-portfolio .sectionHead,
body[data-page="home"] .sec-built .sectionHead,
body[data-page="home"] #naming-form .sectionHead{
  margin-bottom:20px;
}
body[data-page="home"] .sec-value .grid3,
body[data-page="home"] .sec-process .grid3{
  margin-top:0;
}
body[data-page="home"] .sec-value .card,
body[data-page="home"] .sec-process .card,
body[data-page="home"] .sec-portfolio .card{
  padding:24px;
}
body[data-page="home"] .sec-value .cardText,
body[data-page="home"] .sec-process .cardText,
body[data-page="home"] .sec-portfolio .cardText{
  max-width:32ch;
}

body[data-page="home"] .sec-institutional,
body[data-page="home"] .sec-built{
  position:relative;
}
body[data-page="home"] .sec-institutional .panel,
body[data-page="home"] .sec-built .panel,
body[data-page="home"] > .sec > .panel{
  backdrop-filter:blur(6px);
}
body[data-page="home"] .sec-institutional .panel > *,
body[data-page="home"] .sec-built .panel > *,
body[data-page="home"] #naming-form .panel > *{
  max-width:860px;
}

body[data-page="home"] .processIntro{
  margin-top:0;
  margin-bottom:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border-color:rgba(255,255,255,.10);
  box-shadow:none;
  padding:22px 24px;
  max-width:920px;
}
body[data-page="home"] .processIntro .cardText{
  margin-top:0;
  max-width:62ch;
  font-size:15px;
  line-height:1.75;
}
body[data-page="home"] .processGrid{
  margin-top:0;
  gap:18px;
}
body[data-page="home"] .processCard{
  position:relative;
  padding-top:58px;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.025));
}
body[data-page="home"] .stepBadge{
  position:absolute;
  top:22px;
  left:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(245,214,123,.22);
  background:rgba(245,214,123,.07);
  color:rgba(245,214,123,.95);
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
}
body[data-page="home"] .processCard .cardText{
  max-width:none;
}

body[data-page="home"] .sec-portfolio #homeCards{
  margin-top:0 !important;
}
body[data-page="home"] .sec-portfolio #homeCards .cardTitle{
  font-size:20px;
}
body[data-page="home"] .sec-portfolio .panel{
  margin-top:18px;
}
body[data-page="home"] .sec-portfolio .panel > div{
  align-items:flex-start !important;
}

body[data-page="home"] .sec-built .panel{
  max-width:920px;
}
body[data-page="home"] .sec-built .cardText,
body[data-page="home"] .sec-institutional .cardText{
  max-width:58ch;
}

body[data-page="home"] #naming-form > .panel{
  margin-top:22px;
}

@media (max-width:820px){
  html{scroll-padding-top:122px;}
  body[data-page="home"] .sec[id]{scroll-margin-top:122px;}
  body[data-page="home"] .sectionHead{margin-bottom:18px;}
  body[data-page="home"] .processIntro{padding:20px 20px 18px;}
  body[data-page="home"] .sec-value .card,
  body[data-page="home"] .sec-process .card,
  body[data-page="home"] .sec-portfolio .card{padding:22px;}
}

@media (max-width:520px){
  html{scroll-padding-top:112px;}
  body[data-page="home"] .sec[id]{scroll-margin-top:112px;}
  body[data-page="home"] .cardTitle{font-size:16px;}
  body[data-page="home"] .heroActions .btn:only-child{width:100%;}
  body[data-page="home"] .processCard{padding-top:56px;}
  body[data-page="home"] .stepBadge{top:20px;left:20px;}
}
