:root{
  --bg:#ffffff;
  --bg2:#f6f2ef;
  --text:#1b1b1b;
  --muted:#5a5a5a;
  --card:#ffffff;
  --border:rgba(0,0,0,.08);
  --shadow:0 12px 30px rgba(0,0,0,.10);
  --radius:22px;
  --accent:#b78d7b; /* warm nude/rose */
  --accent2:#d9b6a8;
  --focus:#2b6cb0;
  --max:1100px;
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  --serif: ui-serif, "Georgia", "Times New Roman", Times, serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background: radial-gradient(1200px 600px at 50% -10%, var(--bg2), var(--bg));
}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:0 18px}
.header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(180%) blur(10px);
  background:rgba(255,255,255,.72);
  border-bottom:1px solid var(--border);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  gap:14px;
}
.brand{
  display:flex; align-items:center; gap:10px; text-decoration:none;
}
.logoMark{
  width:40px; height:40px; border-radius:14px;
  background:linear-gradient(135deg, var(--accent2), var(--accent));
  box-shadow:0 10px 25px rgba(183,141,123,.28);
  display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.5);
}
.logoMark svg{width:22px; height:22px; opacity:.92}
.brandText{line-height:1}
.brandText strong{display:block; letter-spacing:.14em; font-size:13px; text-transform:uppercase}
.brandText span{display:block; font-size:12px; color:var(--muted)}
.menu{
  display:flex; gap:18px; align-items:center;
}
.menu a{
  text-decoration:none;
  font-size:14px;
  color:var(--muted);
  padding:10px 10px;
  border-radius:12px;
}
.menu a:hover{background:rgba(183,141,123,.10); color:var(--text)}
.actions{display:flex; gap:10px; align-items:center}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:11px 14px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.9);
  text-decoration:none;
  font-size:14px;
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.primary{
  background:linear-gradient(135deg, var(--accent2), var(--accent));
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
}
.btn.ghost{
  background:transparent;
  box-shadow:none;
}
.lang{
  border:1px solid var(--border);
  background:rgba(255,255,255,.85);
  border-radius:14px;
  padding:10px 12px;
  font-size:14px;
  color:var(--muted);
}
.mobileToggle{display:none}
.hero{
  padding:54px 0 26px;
}
.heroGrid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:22px;
  align-items:stretch;
}
.pill{
  display:inline-flex; gap:10px; align-items:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.8);
  color:var(--muted);
  font-size:13px;
}
.h1{
  font-family:var(--serif);
  letter-spacing:.02em;
  font-size:46px;
  line-height:1.05;
  margin:14px 0 10px;
}
.lead{
  font-size:16px; line-height:1.7; color:var(--muted);
  margin:0 0 18px;
  max-width:58ch;
}
.heroCard{
  border-radius:var(--radius);
  background:rgba(255,255,255,.82);
  border:1px solid var(--border);
  box-shadow: var(--shadow);
  padding:18px;
  display:flex; flex-direction:column; justify-content:space-between;
  overflow:hidden;
  position:relative;
}
.heroCard::before{
  content:"";
  position:absolute; inset:-60px -60px auto auto;
  width:220px; height:220px;
  background:radial-gradient(circle at 30% 30%, rgba(183,141,123,.35), rgba(183,141,123,0) 62%);
  pointer-events:none;
}
.kpis{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:6px}
.kpi{
  padding:12px; border-radius:18px; border:1px solid var(--border);
  background:rgba(246,242,239,.7);
}
.kpi strong{display:block; font-size:16px}
.kpi span{display:block; font-size:13px; color:var(--muted); margin-top:4px}
.trustRow{
  display:flex; flex-wrap:wrap; gap:10px;
  margin-top:14px;
}
.badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.85);
  font-size:13px; color:var(--muted);
}
.section{padding:26px 0}
.section h2{
  font-family:var(--serif);
  font-size:30px; margin:0 0 10px;
}
.section p.desc{margin:0 0 16px; color:var(--muted); line-height:1.7}
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.card{
  border-radius:var(--radius);
  background:rgba(255,255,255,.86);
  border:1px solid var(--border);
  box-shadow: 0 10px 24px rgba(0,0,0,.07);
  padding:16px;
}
.card h3{margin:0 0 8px; font-size:16px}
.card p{margin:0; color:var(--muted); line-height:1.7; font-size:14px}
.card .meta{margin-top:12px; display:flex; justify-content:space-between; align-items:center; gap:10px}
.tag{
  font-size:12px; color:var(--muted);
  padding:7px 10px; border:1px solid var(--border);
  border-radius:999px; background:rgba(246,242,239,.8);
}
.pricing{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.price{
  padding:18px;
}
.price .amount{font-size:34px; font-family:var(--serif); margin:6px 0 10px}
.ul{padding-left:18px; margin:0; color:var(--muted); line-height:1.8}
.split{
  display:grid; grid-template-columns: 1fr 1fr; gap:14px;
}
.faq details{
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  padding:12px 14px;
}
.faq details+details{margin-top:10px}
.faq summary{
  cursor:pointer;
  font-weight:600;
  outline:none;
}
.faq summary:focus{box-shadow:0 0 0 3px rgba(43,108,176,.22); border-radius:14px}
.faq p{margin:10px 0 0; color:var(--muted); line-height:1.7}
.reviews{
  display:grid; grid-template-columns: 1.2fr .8fr; gap:14px; align-items:stretch;
}
.reviewList{display:grid; gap:10px}
.review{
  padding:14px;
}
.stars{letter-spacing:.08em; color:#b08a1a; font-size:13px}
.small{font-size:13px; color:var(--muted); line-height:1.7}
.footer{
  margin-top:30px;
  padding:28px 0 40px;
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.6);
}
.footerGrid{
  display:grid; grid-template-columns: 1.2fr .8fr; gap:14px; align-items:start;
}
.footer a{color:var(--muted); text-decoration:none}
.footer a:hover{color:var(--text)}
.legal{margin-top:10px; font-size:12px; color:var(--muted)}
.notice{
  border:1px dashed rgba(183,141,123,.5);
  background:rgba(246,242,239,.7);
  border-radius:18px;
  padding:12px 14px;
  color:var(--muted);
  font-size:13px;
}
.campaignHero{
  padding:38px 0 18px;
}
.campaignCard{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow);
  padding:18px;
}
.banner{
  padding:12px 14px;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(217,182,168,.55), rgba(183,141,123,.18));
  border:1px solid rgba(183,141,123,.25);
  color:var(--text);
}
kbd{
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
  font-size:12px;
  background:rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.08);
  border-bottom-width:2px;
  padding:2px 6px;
  border-radius:8px;
}
@media (max-width: 900px){
  .heroGrid{grid-template-columns:1fr; }
  .grid3, .pricing{grid-template-columns:1fr}
  .split, .reviews, .footerGrid{grid-template-columns:1fr}
  .menu{display:none}
  .mobileToggle{display:inline-flex}
}


/* Brand assets */
.logoMark{display:grid;place-items:center; width:44px; height:44px; border-radius:14px; background:rgba(183,141,123,.14); border:1px solid rgba(0,0,0,.06); overflow:hidden}
.logoMark img{width:26px;height:26px;object-fit:contain;filter:grayscale(100%);opacity:.9}
.brandText{display:flex;flex-direction:column;gap:6px}
.brandLogo{height:22px;width:auto;display:block}
@media (max-width:720px){.brandLogo{height:20px}}

/* Background texture (subtle) */
body{position:relative}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:url("/assets/brand_safe/bg.webp");
  background-size:cover;
  background-position:center;
  opacity:.10;
  pointer-events:none;
  z-index:-2;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.95));
  pointer-events:none;
  z-index:-1;
}

/* Pricing tables */
.tableWrap{overflow:auto;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.72);backdrop-filter: blur(6px)}
table.pricingTable{width:100%;border-collapse:collapse;min-width:560px}
table.pricingTable th, table.pricingTable td{padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.06);text-align:left;vertical-align:top}
table.pricingTable thead th{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:rgba(183,141,123,.10)}
table.pricingTable tbody tr:hover{background:rgba(183,141,123,.06)}
table.pricingTable td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.sectionTitleRow{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:22px 0 10px}
.sectionTitleRow h2{margin:0}
.note{color:var(--muted);font-size:14px}

/* Media gallery */
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.gallery .g{grid-column:span 6;border-radius:20px;overflow:hidden;border:1px solid rgba(0,0,0,.08);background:#fff}
.gallery .g img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:900px){.gallery .g{grid-column:span 12}}


/* --- Glowtique modals (booking/signup) --- */
.gtxNoScroll{overflow:hidden}
.gtxToast{position:fixed;right:14px;bottom:14px;z-index:9999;display:none;max-width:min(520px, calc(100vw - 28px));padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(18,24,39,.95);backdrop-filter:blur(10px);color:#eef1f7}
.gtxToast.show{display:block}

.gtxModal{position:fixed;inset:0;z-index:9998;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.62)}
.gtxModal.open{display:flex}
.gtxBox{color:#eef1f7;width:min(820px, 100%);max-height:88vh;height:88vh;display:flex;flex-direction:column;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(18,24,39,.95);backdrop-filter:blur(10px);box-shadow:0 20px 80px rgba(0,0,0,.45)}
.gtxBox.gtxWide{width:min(980px, 100%)}
.gtxHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px;border-bottom:1px solid rgba(255,255,255,.10)}
.gtxTitle{font-weight:900;letter-spacing:.02em}
.gtxSub{font-size:12px;opacity:.85;margin-top:4px}
.gtxX{border:none;background:transparent;color:inherit;font-size:18px;cursor:pointer;opacity:.9}
.gtxBody{padding:14px 14px;flex:1;min-height:0;overflow:auto}
.gtxLbl{display:block;font-size:12px;opacity:.85;margin:8px 0 6px}
.gtxIn{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(8,10,15,.55);padding:10px 12px;color:inherit}
.gtxRow{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}
.gtxBtn{border:none;border-radius:12px;padding:10px 12px;font-weight:800;background:rgba(255,255,255,.08);color:inherit;cursor:pointer}
.gtxBtn.primary{background:#ff2d55}
.gtxBtn:disabled{opacity:.45;cursor:not-allowed}
.gtxGrid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
@media (max-width:820px){.gtxGrid2{grid-template-columns:1fr}}

.gtxNotice{margin-top:12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);font-size:13px}
.gtxSmall{font-size:12px;opacity:.85;margin-top:6px}
.gtxHint{font-size:12px;opacity:.85}

.gtxSteps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.gtxStep{font-size:12px;opacity:.75;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px 10px}
.gtxStep.active{opacity:1;border-color:rgba(255,45,85,.45);background:rgba(255,45,85,.12)}
.gtxChoice{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);border-radius:16px;padding:16px 12px;cursor:pointer;font-weight:900}
.gtxChoice.selected{border-color:rgba(255,45,85,.55);background:rgba(255,45,85,.12)}

.gtxCards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:820px){.gtxCards{grid-template-columns:1fr}}
.gtxCard{display:flex;gap:12px;align-items:center;text-align:left;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:16px;padding:12px;cursor:pointer}
.gtxCard.selected{border-color:rgba(255,45,85,.55);background:rgba(255,45,85,.12)}
.gtxAvatar{width:44px;height:44px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.gtxAvatar img{width:100%;height:100%;object-fit:cover}
.gtxCardTitle{font-weight:900}
.gtxCardMain{min-width:0}

.gtxSlots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;max-height:48vh;overflow:auto;padding-right:6px}
@media (max-width:820px){.gtxSlots{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.gtxSlots{grid-template-columns:1fr}}
.gtxSlot{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:16px;padding:10px 12px;cursor:pointer;text-align:left}
.gtxSlot.selected{border-color:rgba(255,45,85,.55);background:rgba(255,45,85,.12)}
.gtxSlotDate{font-size:12px;opacity:.85}
.gtxSlotTime{font-weight:900;margin-top:4px}
.gtxDebug{margin-top:10px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);padding:10px;max-height:240px;overflow:auto;font-size:12px}

/* Contrast fixes */
.gtxChoice{color:#eef1f7}
.gtxLbl,.gtxSub,.gtxHint,.gtxSmall{color:rgba(238,241,247,.88)}
.gtxIn{color:#eef1f7}


.gtxCompact{padding:8px 10px}
.gtxSectionHead{margin-top:14px;font-weight:900;font-size:13px}
.gtxBadge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;background:rgba(255,45,85,.16);border:1px solid rgba(255,45,85,.35)}
.gtxOptionGroup{margin-top:12px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03)}
.gtxOptionList{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
.gtxOptionCard{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);border-radius:14px;padding:10px 12px}
.gtxOptionMain{display:flex;gap:10px;align-items:flex-start;flex:1;cursor:pointer}
.gtxOptionControl input{margin-top:2px}
.gtxOptionText{display:flex;flex-direction:column;gap:2px;min-width:0}
.gtxQty{display:flex;align-items:center;gap:6px}
.gtxQtyBtn{width:32px;height:32px;border:none;border-radius:10px;background:rgba(255,255,255,.08);color:inherit;cursor:pointer;font-weight:900}
.gtxQtyIn{width:56px;text-align:center;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(8,10,15,.55);padding:7px 8px;color:inherit}
.gtxSummary{margin-top:12px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03)}
.gtxSummary.compact{margin-top:10px}
.gtxSummaryRow{display:flex;justify-content:space-between;gap:14px;padding:6px 0;font-size:13px;border-bottom:1px dashed rgba(255,255,255,.08)}
.gtxSummaryRow:last-child{border-bottom:none}
.gtxSummaryRow.total{font-weight:900}
@media (max-width:640px){.gtxSummaryRow{flex-direction:column;gap:4px}.gtxOptionCard{align-items:flex-start;flex-direction:column}.gtxQty{align-self:flex-end}}
