


img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
}
img {
  width: auto;
  object-fit: contain;
  object-position: center;
  -webkit-user-drag: none;
  user-select: none;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  img { image-rendering: -webkit-optimize-contrast; }
}


.rack img,
.tile img,
.rack .tile > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 14px;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.5);
}
.bubble img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  border-radius: 12px;
}
.bento-card img,
.bento-ico img {
  width: 50px;
  height: 50px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}
.tool img,
.tool .ico img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  display: block;
}
.post img,
.avatar img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 999px;
  display: block;
}
.soc img,
.soc svg {
  width: 22px;
  height: 22px;
  flex: none;
  object-fit: contain;
}
.brand-mark img {
  display: block;
  height: 160px;
  width: auto;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
}
h1 img, h2 img, h3 img {
  display: inline-block;
  height: 1em;
  width: auto;
  vertical-align: middle;
}


.rack > *,
.grid > *,
.grid3 > *,
.deck > *,
.split > *,
.bento > * {
  min-width: 0;
  min-height: 0;
}
.row > *,
.step > *,
.tool > *,
.post-head > * {
  min-width: 0;
  min-height: 0;
}
img {
  flex: 0 0 auto;
  align-self: center;
}


.rack { display: grid; grid-template-columns: repeat(7, 1fr); gap: 9px; }
@media (max-width: 920px) {
  .rack {
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
  }
  .rack img { border-radius: 10px; }
  .bento-card img,
  .bento-ico img { width: 34px; height: 34px; }
  .brand-mark img { height: 120px; }
}
@media (max-width: 480px) {
  .rack {
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
  }
  .rack img { border-radius: 8px; }
  .brand-mark img { height: 100px; }
}


img:not([src]),
img[src=""],
img[src*="undefined"] {
  visibility: hidden;
  opacity: 0;
}
.tile, .bento-card, .tool, .post {
  position: relative;
  overflow: hidden;
}


.rack img,
.tile img {
  transform-origin: center center;
  will-change: transform, opacity;
  transition: transform .3s ease, opacity .3s ease;
}
.rack img:hover {
  transform: translateY(-2px) scale(1.02);
}


link[rel="icon"] img,
link[rel="apple-touch-icon"] img {
  width: auto;
  height: auto;
  object-fit: none;
}


:root{
  --paper:#FFFAF6; --rose:#F6D8DD; --rose-l:#FCE7EB; --rose-d:#D9A6B0;
  --blush:#F0B9C2; --pale:#FDF1F2;
  --jade:#3F7464; --jade-l:#A4C5B6; --celadon:#8FB6A2; --mist:#E0EFE8;
  --gold:#C7A567; --gold-l:#E8D8AB; --gold-d:#A07F3A;
  --ink:#3D2E32; --ink-soft:#7C6168; --line:#EFD9DC;
  --r-xl:34px; --r-lg:28px; --r-md:20px;
  --shadow:0 18px 38px rgba(217,166,176,.20),0 3px 8px rgba(180,140,150,.08);
  --shadow-lift:0 28px 56px rgba(217,166,176,.30);
  --max:1180px;
}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);
  font-family:'Nunito',system-ui,sans-serif;font-size:19px;line-height:1.7;
  background:
   radial-gradient(40% 32% at 10% 8%, rgba(246,216,221,.55), transparent 70%),
   radial-gradient(50% 36% at 92% 0%, rgba(164,197,182,.32), transparent 72%),
   radial-gradient(60% 40% at 100% 60%, rgba(246,216,221,.28), transparent 70%),
   linear-gradient(170deg,var(--paper) 0%, var(--pale) 100%);
  -webkit-font-smoothing:antialiased;min-height:100vh}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.14;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(32px,4.6vw,50px)}
h3{font-size:clamp(22px,2.6vw,29px)}
p{margin:0}
.eyebrow{font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--jade);font-weight:800}
.lede{color:var(--ink-soft);font-size:clamp(19px,2vw,22px);max-width:60ch;margin:8px 0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-family:'Nunito',sans-serif;font-size:21px;font-weight:800;border:none;border-radius:999px;padding:18px 34px;cursor:pointer;text-decoration:none;transition:.25s ease;box-shadow:var(--shadow)}
.btn:focus-visible{outline:4px solid var(--rose);outline-offset:3px}
.btn-primary{background:linear-gradient(170deg,var(--rose-l),var(--blush) 55%,var(--rose-d));color:#3D2E32}
.btn-primary:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.btn-coral{background:linear-gradient(170deg,var(--jade-l),var(--jade));color:#fff}
.btn-soft{background:var(--paper);color:var(--ink);box-shadow:0 4px 12px rgba(180,140,150,.10);border:1px solid var(--line)}
.btn-lg{font-size:25px;padding:24px 46px}
.btn-sm{font-size:18px;padding:14px 24px}

/* ===== Learn section invite button: absolutely centered, two-line label ===== */
.share-wrap{display:flex;justify-content:center;width:100%;margin-top:24px}
.share-btn{font-size:19px;padding:15px 34px;gap:13px;text-align:center;line-height:1.18;box-shadow:0 14px 30px rgba(63,116,100,.28)}
.share-btn:hover{box-shadow:0 20px 40px rgba(63,116,100,.36);transform:translateY(-2px)}
.share-btn svg{width:24px;height:24px;flex:none}
.share-lines{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0}
.share-l1{display:block;font-family:'Fraunces',Georgia,serif;font-size:23px;font-weight:700;color:#FFFCF4;letter-spacing:.005em;line-height:1.12;text-shadow:0 1px 2px rgba(20,50,42,.28)}
.share-l2{display:block;font-size:13.5px;font-weight:800;color:#F1E4BE;letter-spacing:.05em;line-height:1.28}
.card .meta.share-note-line{margin:12px 0 0;font-size:16px;line-height:1.5;color:var(--ink-soft);text-align:center;padding:0 8px}
.card .meta.share-status{margin:8px 0 0;font-size:14.5px;font-weight:700;color:var(--jade);text-align:center}

.social{display:flex;flex-wrap:wrap;gap:10px}
.sbtn{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:700;padding:12px 20px;border-radius:999px;background:var(--paper);color:var(--ink);text-decoration:none;box-shadow:0 4px 12px rgba(180,140,150,.10);border:1px solid var(--line);transition:.22s ease}
.sbtn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.sbtn svg{width:20px;height:20px;flex:none}
.fb{color:#1877F2}


header{position:sticky;top:0;z-index:40;background:linear-gradient(180deg,rgba(255,250,246,.95),rgba(253,241,242,.86));backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{display:block;padding:4px 28px 5px;max-width:100%}
.row1{display:flex;align-items:center;gap:22px;min-width:0}
.row2{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:2px;padding-right:6px;position:relative}

.brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:inherit;flex:0 0 auto;min-width:0}
.brand-mark{
  width:auto;height:auto;flex:0 0 auto;position:relative;display:block;
  background:transparent;border:none;border-radius:8px;box-shadow:none;padding:0;
  min-width:60px;min-height:80px;
}
.brand-mark::before{content:none}
.brand-mark img{
  display:block;height:160px;width:auto;object-fit:contain;
  image-rendering:-webkit-optimize-contrast;
  -ms-interpolation-mode:bicubic;
  
  filter:drop-shadow(0 2px 8px rgba(20,50,42,.12));
  transform:translateY(12px);
}
.brand-mark img{max-width:100%;height:auto;object-fit:contain;max-height:160px}
.brand-txt{display:flex;flex-direction:column;line-height:1.1;min-width:0;flex:1 1 auto;gap:5.8px;padding:6.5px 0}
.brand-name{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:600;letter-spacing:.22em;background:linear-gradient(120deg,var(--jade) 0%,var(--rose-d) 50%,var(--jade) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(255,255,255,.6);text-transform:uppercase}
.brand-divider{height:1px;width:72px;background:linear-gradient(90deg,var(--rose),var(--jade));border:none;margin:2.5px 0;opacity:.6}
.brand-url{
  font-family:'Playfair Display',serif;
  font-size:23px;letter-spacing:.16em;
  background:linear-gradient(100deg,var(--gold-d) 0%,var(--gold) 38%,var(--celadon) 70%,var(--jade) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:700;text-transform:lowercase;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:1;line-height:1.15;
  text-shadow:0 1px 0 rgba(255,255,255,.4);
}
@media(max-width:480px){
  .brand-url{font-size:15.5px;letter-spacing:.12em}
}


.home-btn{font-family:'Fraunces',serif;font-size:13.5px;font-weight:600;letter-spacing:.06em;color:#fff;background:linear-gradient(170deg,var(--jade-l),var(--jade));border:none;border-radius:999px;padding:8px 16px 8px 18px;cursor:pointer;transition:.25s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;box-shadow:0 6px 16px rgba(63,116,100,.4),inset 0 1px 0 rgba(255,255,255,.4),0 0 0 1px rgba(255,255,255,.2);position:relative;overflow:hidden}
.home-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transition:left .6s}
.home-btn:hover{box-shadow:0 10px 22px rgba(63,116,100,.55);transform:translateY(-1px)}
.home-btn:hover::before{left:100%}
.home-btn::after{content:'';width:7px;height:7px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg) translateY(-2px);margin-left:2px;transition:transform .25s;opacity:.85}
.drop-wrap.open .home-btn::after{transform:rotate(225deg) translateY(-2px)}
.login-btn{font-family:'Fraunces',serif;font-size:13.5px;font-weight:600;letter-spacing:.18em;color:#fff;background:linear-gradient(170deg,var(--rose-l),var(--blush) 60%,var(--rose-d));border:none;border-radius:999px;padding:8px 18px 8px 16px;cursor:pointer;transition:.25s;white-space:nowrap;box-shadow:0 6px 16px rgba(217,166,176,.4),inset 0 1px 0 rgba(255,255,255,.4),0 0 0 1px rgba(255,255,255,.2);display:inline-flex;align-items:center;gap:7px;position:relative;overflow:hidden}
.login-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s}
.login-btn:hover{box-shadow:0 10px 22px rgba(217,166,176,.55);transform:translateY(-1px)}
.login-btn:hover::before{left:100%}
.login-btn .dot{width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,#fff,var(--gold-l));box-shadow:0 0 5px rgba(255,255,255,.7)}

.dropdown{position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-6px);min-width:200px;background:linear-gradient(170deg,var(--paper),var(--pale));border:1px solid var(--rose-l);border-radius:16px;padding:8px;box-shadow:0 24px 56px rgba(180,120,130,.28),inset 0 1px 0 #fff;opacity:0;visibility:hidden;transition:.22s;z-index:50}
.drop-wrap{position:static}
.drop-wrap.open .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:15px;font-weight:600;border-bottom:1px solid rgba(217,166,176,.16);white-space:nowrap;transition:.18s}
.dropdown a:last-child{border-bottom:none}
.dropdown a:hover{background:linear-gradient(90deg,rgba(246,216,221,.5),rgba(164,197,182,.15));color:var(--jade);padding-left:20px}
.dropdown a::before{content:'';width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--rose),var(--jade-l));flex:none}

.mask{position:fixed;inset:0;background:rgba(61,46,50,.4);backdrop-filter:blur(14px);display:none;align-items:center;justify-content:center;z-index:100;padding:24px}
.mask.open{display:flex}
.modal{background:linear-gradient(170deg,var(--paper),var(--pale));border:1.5px solid var(--rose-l);border-radius:26px;padding:40px 36px;max-width:440px;width:100%;text-align:center;box-shadow:0 50px 100px rgba(180,120,130,.4),inset 0 1px 0 #fff;position:relative}
.modal::before{content:'';position:absolute;top:14px;left:14px;right:14px;bottom:14px;border:1px solid rgba(217,166,176,.4);border-radius:18px;pointer-events:none}
.modal h3{font-family:'Fraunces',serif;font-size:30px;font-weight:600;margin-bottom:6px;position:relative;background:linear-gradient(120deg,var(--jade),var(--rose-d));-webkit-background-clip:text;background-clip:text;color:transparent}
.modal .sub{color:var(--ink-soft);font-size:15px;margin-bottom:26px;letter-spacing:.06em;position:relative}
.modal .x{position:absolute;top:18px;right:22px;border:none;background:transparent;font-size:22px;color:var(--ink-soft);cursor:pointer;z-index:2}
.soc{display:flex;align-items:center;gap:14px;width:100%;border:1px solid var(--rose-l);background:#fff;border-radius:14px;padding:16px 20px;font-size:17px;margin-bottom:11px;cursor:pointer;font-family:inherit;color:var(--ink);font-weight:700;transition:.18s;position:relative}
.soc:hover{border-color:var(--rose-d);box-shadow:0 8px 22px rgba(217,166,176,.3);transform:translateY(-1px)}
.soc svg{width:22px;height:22px;flex:none}
.modal .rule{margin-top:20px;font-size:13px;color:var(--ink-soft);position:relative}

.hero{padding:clamp(21px,4vw,48px) 0 clamp(28px,4vw,48px)}
.hero-grid{display:grid;gap:clamp(30px,5vw,56px);grid-template-columns:1.1fr 0.9fr;align-items:start}
.hero h1{font-size:clamp(30px,4vw,40px);margin:8px 0 10px;line-height:1.2;white-space:nowrap}
.hero h1 em{font-style:normal;background:linear-gradient(120deg,var(--rose-d),var(--jade),var(--celadon));-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr}.hero h1{white-space:normal;font-size:clamp(28px,7vw,38px)}}


.bento{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;max-width:560px}
.bento-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;text-decoration:none;padding:24px 18px;overflow:hidden;transition:transform .3s ease, box-shadow .3s ease;cursor:pointer}
.bento-card:hover{transform:translateY(-4px)}
.bento-ico{display:grid;place-items:center;opacity:.96}
.bento-ico svg{width:42px;height:42px;display:block}
.bento-label{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.06;letter-spacing:.01em}
.bento-sub{font-family:'Nunito',sans-serif;font-size:13px;font-weight:700;opacity:.82;letter-spacing:.02em}


.bento-card.snap{
  grid-column:1 / -1;
  background:linear-gradient(135deg,var(--jade) 0%,#2E574B 56%,var(--celadon) 122%);
  color:#fff;border-radius:160px;padding:38px 26px;
  box-shadow:0 26px 54px rgba(63,116,100,.32), inset 0 1px 0 rgba(255,255,255,.35);
}
.bento-card.snap .bento-ico svg{width:50px;height:50px}
.bento-card.snap .bento-label{font-size:30px}
.bento-card.snap .bento-sub{font-size:13.5px;letter-spacing:.12em;text-transform:uppercase}


.bento-card.find{
  background:linear-gradient(155deg,#F8F1E2,var(--gold-l) 94%);
  color:var(--ink);
  border-radius:50%;
  aspect-ratio:1/1;
  margin-top:0;
  box-shadow:
    0 22px 44px rgba(199,165,103,.22),
    inset 0 2px 0 rgba(255,255,255,.85),
    inset 0 -16px 30px rgba(160,127,58,.18),
    inset 0 0 0 1px rgba(255,255,255,.40);
}
.bento-card.find .bento-label{font-size:19px}

.bento-ico.find-ico{display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:row}
.bento-ico.find-ico .ico-person{width:42px;height:42px}
.bento-ico.find-ico .ico-map{width:50px;height:50px;flex:none}


.bento-card.learn{
  background:radial-gradient(circle at 34% 28%, #C7DCCF 0%, #8FB6A2 34%, #4E7E6E 66%, #234B41 100%);
  color:#fff;
  border-radius:50%;
  aspect-ratio:1/1;
  margin-top:0;
  box-shadow:
    0 22px 44px rgba(35,75,65,.30),
    inset 0 2px 0 rgba(255,255,255,.32),
    inset 0 -18px 34px rgba(20,50,42,.42),
    inset 0 0 0 1px rgba(255,255,255,.16);
}
.bento-card.learn .bento-label{font-size:14px;color:#F4E9CF}
.bento-card.learn .learn-pic{width:58%;height:auto;max-height:56%;object-fit:contain;display:block;margin:0 auto;opacity:.96;filter:drop-shadow(0 6px 14px rgba(20,50,42,.35)) drop-shadow(0 1px 3px rgba(20,50,42,.18))}
.bento-card.learn .bento-sub{color:#E8D8AB;font-size:12px;line-height:1.42;text-align:center;padding:0 6px;word-break:break-word}
@media(max-width:920px){
  .bento{max-width:100%;gap:14px}
  .bento-card{padding:20px 14px}
  .bento-ico svg{width:34px;height:34px}
  .bento-ico.find-ico .ico-person{width:34px;height:34px}
  .bento-ico.find-ico .ico-map{width:40px;height:40px}
  .bento-card.snap{padding:30px 18px}
  .bento-card.snap .bento-ico svg{width:42px;height:42px}
  .bento-card.snap .bento-label{font-size:22px}
  .bento-card.snap .bento-sub{font-size:11.5px;letter-spacing:.10em}
  .bento-card.find .bento-label, .bento-card.learn .bento-label{font-size:15px}
  .bento-sub{font-size:11px}
  .bento-card.learn{margin-top:0}
  .bento-card.learn .learn-pic{width:52%;max-height:50%}
}

.bubble{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px;box-shadow:var(--shadow)}
.rack{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin-bottom:20px}
.tile{aspect-ratio:3/4;border-radius:14px;display:block;width:100%;object-fit:contain;font-size:20px;font-weight:800;background:linear-gradient(168deg,#FFFDF7,#FCE7EB);border:1px solid #F0CFD5;box-shadow:inset 0 2px 0 #fff;color:var(--ink)}
.tile.g{background:linear-gradient(168deg,#EFF6EC,#D2E5CB);border-color:#BAD3B0;color:#3D6A4A}
.tile.y{background:linear-gradient(168deg,#FBF1D6,#F0DEA8);border-color:#E0C97A;color:#8A6A2F}
.bar{height:4px;border-radius:99px;overflow:hidden;position:relative;background:linear-gradient(90deg,#F6D8DD 0%,#F3E0DA 12%,#EFE4DE 24%,#E7E5E1 36%,#DCDDD6 48%,#CCD6C8 60%,#B7CDBE 72%,#9DBEAE 82%,#7FA894 90%,#5C8B77 95%,#3F7464 100%)}
.bar i{position:absolute;inset:0;border-radius:99px;background:linear-gradient(100deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.45) 50%,rgba(255,255,255,0) 70%);background-size:200% 100%;animation:barFlow 2.6s linear infinite}
@keyframes barFlow{0%{background-position:0 0}100%{background-position:200% 0}}
.mono{font-size:14px;color:#B5ADA5;margin-top:8px;font-weight:600}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.chip{background:linear-gradient(120deg,var(--mist),#CFEBDF);color:#3D6A4A;border-radius:999px;padding:10px 18px;font-size:16px;font-weight:700;border:1px solid #BAD3B0}

section{padding:clamp(42px,6vw,78px) 0}
.sec-head{margin-bottom:32px}
.grid{display:grid;gap:24px}
.deck{grid-template-columns:1.1fr .9fr}
@media(max-width:920px){.deck{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px;box-shadow:var(--shadow)}
.slide{aspect-ratio:16/10;border-radius:var(--r-lg);background:radial-gradient(120% 120% at 20% 10%,#FCE7EB,#F6D8DD 45%,var(--mist) 100%);display:grid;place-items:center;text-align:center;padding:30px;border:1px solid var(--rose-l)}
.slide .num{font-family:'Fraunces',serif;font-size:62px;background:linear-gradient(120deg,var(--rose-d),var(--jade));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.dots{display:flex;gap:8px;justify-content:center;margin-top:20px}
.dots i{width:11px;height:11px;border-radius:99px;background:#EFD9DC}
.dots i.on{background:linear-gradient(90deg,var(--rose),var(--jade));width:30px}
.steps{display:grid;gap:16px}
.step{display:flex;gap:16px;align-items:center}
.step b{width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,var(--rose-l),var(--rose));color:#fff;display:grid;place-items:center;font-size:17px;flex:none;font-weight:800;box-shadow:0 6px 14px rgba(217,166,176,.35)}

.grid3{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.seats{display:flex;gap:7px;margin:16px 0 8px}
.seats i{width:38px;height:38px;border-radius:14px;border:2px dashed #F0CFD5;display:grid;place-items:center;font-size:15px;color:var(--ink-soft);font-style:normal;font-weight:800}
.seats i.on{background:linear-gradient(160deg,var(--celadon),var(--jade));color:#fff;border:2px solid var(--jade)}
.seats i.host{background:linear-gradient(160deg,var(--gold-l),var(--gold));color:var(--jade);border:2px solid var(--gold-d);box-shadow:0 4px 10px rgba(199,165,103,.32),inset 0 1px 0 rgba(255,255,255,.5)}
.meta{font-size:17px;color:var(--ink-soft)}
.row{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}


.card .seats{margin:12px 0 6px}
.card .row{margin-top:16px}
.card .meta{margin:0}
.table-block{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:10px;row-gap:6px;align-items:start}
.table-block .addr-pin{width:20px;height:20px;margin-top:5px}
.table-block .clock{width:17px;height:17px;color:var(--jade);margin-top:2px}
.addr-col{min-width:0;display:block}
.addr-txt{display:block;font-family:'Fraunces',serif;font-size:25px;font-weight:600;color:var(--ink);line-height:1.16;letter-spacing:.01em}
.table-addr-sub{display:block;font-size:14.5px;color:var(--ink-soft);margin-top:3px;letter-spacing:.02em}
.table-time{display:block;font-size:15.5px;font-weight:700;color:var(--jade);letter-spacing:.02em;line-height:1.3}


.app-icon-wrap{display:flex;justify-content:center;margin:2px 0 26px}
.app-icon{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 8px 15px rgba(27,60,50,.34)) drop-shadow(0 2px 4px rgba(61,46,50,.14))}


.rack img{width:100%;aspect-ratio:1142/1523;background:linear-gradient(160deg,#FCE7EB,#F6D8DD);border-radius:10px}


.dropdown{min-width:230px;width:320px;max-width:calc(100vw - 36px);padding:2px 0 4px}
.dropdown .dd-group{padding:2px 0 3px}

.dropdown .dd-group + .dd-group{border-top:1px solid rgba(199,165,103,.38)}

.dropdown .dd-title{display:flex;align-items:center;gap:9px;padding:7px 11px 2px;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none}
.dropdown .dd-title::after{content:'';flex:1 1 auto;height:1px;background:linear-gradient(90deg,rgba(199,165,103,.60),rgba(143,182,162,.34),rgba(255,255,255,0))}

.dropdown a{display:flex;align-items:center;gap:8px;margin:2px 7px;padding:7px 10px;border:1px solid rgba(217,166,176,.30);border-radius:10px;background:#FFFFFF;text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:700;line-height:1.3;letter-spacing:.004em;white-space:normal;transition:.18s}
.dropdown a:last-child{border-bottom:1px solid rgba(217,166,176,.30)}
.dropdown a::before{content:'';width:6px;height:6px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--gold-l),var(--celadon))}
.dropdown a:hover{background:#FFFFFF;padding:7px 10px;border-color:var(--celadon);color:var(--jade);box-shadow:0 6px 16px rgba(143,182,162,.22)}

.dropdown a.dd-hot{background:#F5F5F5;border-color:#E2E2E2}
.dropdown a.dd-hot::before{width:7px;height:7px;background:linear-gradient(135deg,var(--gold),var(--jade))}
.dropdown a.dd-hot:hover{background:#EAEAEA;border-color:var(--celadon);color:var(--jade)}

.dd-note{margin:3px 0 2px;padding:6px 11px 3px;border-top:1px solid rgba(199,165,103,.38);font-size:10.5px;line-height:1.4;color:var(--ink-soft);white-space:normal}


.post-hit{display:block;text-decoration:none;color:inherit}

.who-av{position:relative;flex:none;display:grid;place-items:center;border-radius:50%;overflow:hidden;color:#fff;font-family:'Nunito',sans-serif;font-weight:800;background:linear-gradient(150deg,var(--rose),var(--rose-d));box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.who-av i{font-style:normal;line-height:1;letter-spacing:.02em}
.who-av img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.av-lg{width:44px;height:44px;font-size:16px}
.av-sm{width:32px;height:32px;font-size:12.5px;background:linear-gradient(135deg,var(--rose),var(--jade))}

.post-who{display:flex;align-items:center;gap:11px}
.post-name{font-family:'Nunito',sans-serif;font-size:20px;font-weight:800;color:var(--ink);line-height:1.2;margin:0}
.post-text{font-size:18px;line-height:1.5;color:var(--ink);margin:12px 0 16px}

.post-foot,.reply-foot{display:flex;align-items:center;gap:6px;margin-top:7px;font-size:16px;font-weight:700;color:var(--ink-soft);letter-spacing:.01em}
.pin{width:16px;height:16px;flex:none;display:block;background:none;border:none;padding:0;margin:0;box-shadow:none;border-radius:0}

.replies{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:14px}
.replies.is-empty{display:none}
.reply{padding-left:14px;border-left:2px solid rgba(164,197,182,.55)}
.reply-who{display:flex;align-items:center;gap:8px}
.reply-name{font-family:'Nunito',sans-serif;font-size:16px;font-weight:800;color:var(--ink);line-height:1.2}
.reply-name b,.reply-who b{font-variant-numeric:tabular-nums;font-weight:800;color:var(--jade);font-size:14px}
.fa-icon{width:17px;height:17px;flex:none;display:block}
.reply-text{font-size:15.5px;line-height:1.45;color:var(--ink-soft);margin:7px 0 0}
.reply-foot{margin-top:8px;font-size:14px;font-weight:700}
.replies-more{display:inline-block;margin-top:14px;font-size:14.5px;font-weight:800;color:var(--jade);text-decoration:none;border-bottom:1px solid rgba(63,116,100,.35)}
.replies-more:hover{color:var(--gold-d);border-color:var(--gold-d)}


.host-cta{display:flex;justify-content:center;margin-top:26px}
.host-fields{display:grid;gap:14px;margin:18px 0 0;text-align:left}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field-label{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.select,.input{font-family:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;width:100%;box-sizing:border-box}
.select:focus,.input:focus{outline:none;border-color:var(--celadon);box-shadow:0 0 0 3px rgba(164,197,182,.35)}
.host-preview{margin-top:16px;border-top:1px solid var(--line);padding-top:14px;text-align:left}
.host-preview .addr-txt{font-size:20px}
.host-preview .addr-txt.is-empty{color:var(--ink-soft);font-weight:500}


.slide-actions{display:flex;gap:8px;margin-top:20px;flex-wrap:nowrap;align-items:stretch}
.slide-actions .btn{display:flex;flex:1 1 0;min-width:0;font-size:14px;padding:11px 8px;text-align:center;justify-content:center;white-space:normal;line-height:1.2}

.split{display:grid;gap:26px;grid-template-columns:.95fr 1.05fr}
@media(max-width:920px){.split{grid-template-columns:1fr}}
.post{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:26px;box-shadow:var(--shadow);margin-bottom:20px}
.post-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.avatar{width:56px;height:56px;border-radius:999px;flex:none;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(150deg,var(--rose),var(--rose-d));font-size:18px}
.react{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.react button{font-family:'Nunito',sans-serif;font-size:17px;font-weight:800;border:none;background:linear-gradient(120deg,var(--rose-l),var(--rose));border-radius:999px;padding:12px 20px;cursor:pointer;color:#3D2E32}
.react button:hover{background:linear-gradient(120deg,var(--mist),#CFEBDF)}


.react{display:flex;flex-direction:row;gap:8px;margin-top:14px;flex-wrap:nowrap;align-items:center}
.react .react-btn{display:inline-flex;align-items:center;gap:6px;font-family:'Nunito',sans-serif;font-size:12.5px;font-weight:800;line-height:1;color:var(--ink-soft);background:var(--pale);border:1px solid var(--line);border-radius:999px;padding:7px 12px;cursor:pointer;white-space:nowrap;transition:.18s}
.react .react-btn svg{width:14px;height:14px;flex:none;color:var(--jade)}
.react .react-btn:hover{background:#fff;border-color:var(--celadon);color:var(--jade)}
.react .react-btn b{font-variant-numeric:tabular-nums;font-weight:800}
.tool{display:flex;gap:16px;align-items:center;padding:20px;border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow);margin-bottom:16px;border:1px solid var(--line)}
.tool .ico{width:56px;height:56px;border-radius:20px;flex:none;display:grid;place-items:center;background:linear-gradient(140deg,var(--mist),#CFEBDF);color:#3D6A4A}

footer{background:linear-gradient(170deg,var(--jade),#1E3D34);color:#FCE7EB;padding:clamp(40px,5vw,64px) 0 40px;margin-top:24px;border-top-left-radius:var(--r-xl);border-top-right-radius:var(--r-xl);position:relative;overflow:hidden}
footer::before{content:'';position:absolute;top:-100px;right:-50px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(246,216,221,.35),transparent 70%);filter:blur(40px);pointer-events:none}
footer .wrap{display:grid;gap:26px;position:relative}
footer p{color:#F0D6DA;font-size:17px;max-width:80ch}
.fcols{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
footer h4{font-family:'Fraunces',serif;font-size:20px;margin:0 0 12px;color:#FFFAF6;letter-spacing:.01em}

.f-brand h4{font-size:26px;margin:0 0 10px;letter-spacing:.005em}
.f-brand p{font-size:17.5px;line-height:1.55;color:#F0D6DA;max-width:34ch}

.f-links h4{font-size:19px}
.f-links a{color:#F0D6DA;text-decoration:none;display:block;font-size:17px;line-height:1.6;padding:8px 0}
footer a:hover{color:var(--rose-l)}

.legal{margin-top:6px;background:rgba(255,255,255,.07);border:1px solid rgba(246,216,221,.22);border-radius:20px;padding:18px 20px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
.legal p{font-size:12.5px;line-height:1.7;color:rgba(240,214,218,.86);margin:0;max-width:none}
.legal p + p{margin-top:9px;padding-top:9px;border-top:1px solid rgba(246,216,221,.14)}

.guard{display:inline-flex;align-items:center;gap:10px;color:var(--ink-soft);font-size:16px;font-weight:700}
.guard svg{width:28px;height:28px;animation:bob 3.2s ease-in-out infinite;color:var(--jade)}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(-3px);opacity:1}}

/* ===== Shared shell for /start and /guide (reuses the home design system) ===== */
.progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:80;pointer-events:none;background:rgba(246,216,221,.25)}
.progress>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--rose-d),var(--jade));transition:width .12s linear}

/* start: full-screen teaching slides */
.start-wrap{padding-bottom:30px}
.screen{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:96px 24px 120px;box-sizing:border-box}
.screen-no{font-family:'Fraunces',serif;font-size:17px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-d);margin-bottom:16px}
.screen .pic{width:75%;max-width:420px;height:auto;object-fit:contain;margin:0 auto 28px;border-radius:var(--r-lg);box-shadow:var(--shadow);background:var(--rose-l)}
.screen h2{font-family:'Fraunces',Georgia,serif;font-size:40px;font-weight:700;line-height:1.14;margin:0 0 14px;color:var(--ink)}
.screen p.sub2{font-family:'Nunito',sans-serif;font-size:22px;line-height:1.5;color:var(--ink-soft);margin:0;max-width:30ch}

.next-fab{position:fixed;right:20px;bottom:24px;width:62px;height:62px;border-radius:50%;border:none;cursor:pointer;z-index:70;background:linear-gradient(170deg,var(--jade-l),var(--jade));color:#fff;font-size:26px;box-shadow:0 10px 26px rgba(63,116,100,.45),inset 0 1px 0 rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;transition:.2s ease;text-decoration:none}
.next-fab:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}

/* guide: search + modules + accordion */
.guide-top{position:sticky;top:0;z-index:60;background:linear-gradient(170deg,var(--paper),var(--pale));border-bottom:1px solid var(--line);padding:12px 0}
.search{margin:12px 0 0}
.search input{width:100%;font-family:'Nunito',sans-serif;font-size:17px;padding:14px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.search input::placeholder{color:var(--ink-soft)}
.search input:focus{outline:none;border-color:var(--celadon);box-shadow:0 0 0 3px var(--mist)}

.module{margin:44px 0 6px;text-align:center}
.module h2{font-family:'Fraunces',Georgia,serif;font-size:34px;font-weight:700;margin:0;color:var(--ink)}
.module .sub{font-family:'Nunito',sans-serif;font-size:17px;color:var(--ink-soft);margin:8px 0 12px}
.module hr{height:2px;border:none;background:linear-gradient(90deg,var(--gold),var(--celadon),rgba(143,182,162,0));margin:0}

.sec{margin:16px 0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow);overflow:hidden}
.sec .sec-head{width:100%;text-align:left;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:22px 26px;font-family:inherit;color:inherit}
.sec .sec-title{font-family:'Fraunces',Georgia,serif;font-size:26px;font-weight:600;margin:0;color:var(--ink)}
.sec .sec-lead{font-family:'Nunito',sans-serif;font-size:16px;color:var(--ink-soft);margin:0}
.sec .sec-body{max-height:0;overflow:hidden;transition:max-height .3s ease}
.sec.open .sec-body{max-height:1600px}
.sec .sec-body-inner{padding:0 26px 24px}
.sec p.body{font-family:'Nunito',sans-serif;font-size:18px;line-height:1.7;color:var(--ink);margin:0 0 14px}
.sec .sec-pic{width:75%;max-width:340px;height:auto;object-fit:contain;margin:4px auto 16px;border-radius:var(--r-lg);box-shadow:var(--shadow);background:var(--rose-l);display:block}
.tip,.faq{font-family:'Nunito',sans-serif;font-size:16px;line-height:1.6;border-radius:var(--r-md);padding:14px 16px;margin:14px 0 0}
.tip{background:var(--mist);color:var(--jade);font-weight:700}
.faq{background:var(--pale);color:var(--ink-soft)}
.tip b,.faq b{color:inherit}

/* shared page footer CTA */
.page-cta{text-align:center;padding:36px 0 80px;display:flex;flex-direction:column;gap:14px;align-items:center}

/* search highlight reuses the gold tint - no new color, just var(--gold-l) */
.sec mark{background:var(--gold-l);color:var(--ink);border-radius:4px;padding:0 2px;font-weight:800}

/* Narrow screens: the Back pill and the brand take their own rows so the header
   never pushes the page wider than the viewport. Wide screens keep the home layout. */
@media (max-width: 820px){
  .row1{flex-wrap:wrap;gap:14px}
  .brand{flex:1 1 100%;min-width:0}
}

/* ===== Shared content shell for the Care & Support pages ===== */
.page-head{text-align:center;padding:26px 0 8px}
.page-head h1{font-family:'Fraunces',Georgia,serif;font-size:clamp(30px,4.4vw,40px);font-weight:700;line-height:1.16;margin:0 0 10px;color:var(--ink)}
.page-head p.sub2{font-family:'Nunito',sans-serif;font-size:clamp(18px,2vw,22px);line-height:1.5;color:var(--ink-soft);margin:0 auto;max-width:46ch}
.eff{font-family:'Nunito',sans-serif;font-size:15px;color:var(--ink-soft);text-align:center;margin:0 0 4px;letter-spacing:.06em}

.doc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px;box-shadow:var(--shadow);margin:18px 0}
.doc h2{font-family:'Fraunces',Georgia,serif;font-size:26px;font-weight:600;margin:0 0 12px;color:var(--ink)}
.doc p{font-family:'Nunito',sans-serif;font-size:18px;line-height:1.7;color:var(--ink);margin:0 0 14px}
.doc ul{font-family:'Nunito',sans-serif;font-size:18px;line-height:1.7;color:var(--ink);margin:0 0 14px;padding-left:22px}
.doc ul li{margin:0 0 8px}
.doc p:last-child,.doc ul:last-child{margin-bottom:0}
.doc a{color:var(--jade);font-weight:800;text-decoration:none}
.doc a:hover{text-decoration:underline}
.doc .contact-line{font-weight:800;color:var(--jade)}

/* accessibility page: rem based so the three text-size buttons scale the content */
.a11y .page-head h1{font-size:2rem;line-height:1.18}
.a11y .page-head p.sub2{font-size:1.1rem;max-width:48ch}
.a11y .doc{padding:30px}
.a11y .doc h2{font-size:1.45rem;margin-bottom:14px}
.a11y .doc p,.a11y .doc ul{font-size:1rem;line-height:1.78}
.a11y .doc ul li{margin-bottom:10px}
.sizes{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:16px 0 0}
.size-btn{font-family:'Nunito',sans-serif;font-size:17px;font-weight:800;border:none;border-radius:999px;padding:16px 26px;cursor:pointer;transition:.22s ease;background:linear-gradient(170deg,var(--mist),var(--celadon));color:var(--jade);box-shadow:0 10px 24px rgba(143,182,162,.35),inset 0 1px 0 rgba(255,255,255,.55)}
.size-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}
.size-btn.on{background:linear-gradient(170deg,var(--gold-l),var(--gold));color:#fff;box-shadow:0 10px 26px rgba(199,165,103,.45),inset 0 1px 0 rgba(255,255,255,.55)}
.size-note{font-family:'Nunito',sans-serif;font-size:15px;color:var(--ink-soft);text-align:center;margin:14px 0 0}

/* ===== Inner-page compact header: cut the logo block to roughly half height =====
   Scoped to .inpage so the canonical home-page header is never touched.
   The logo keeps its aspect ratio (height only, width:auto). The "Back" pill
   becomes a small filled jade button on the right, next to Home / Login. */
.inpage .brand-mark{min-height:auto;height:auto}
.inpage .brand-mark img{height:64px;max-height:64px;transform:none}
.inpage .brand-txt{padding:0;gap:2px}
.inpage .nav{padding:2px 14px 1px}
.inpage .row1{gap:12px}
.inpage .row2{margin-top:0;gap:8px;padding-right:0}
.inpage .home-btn,.inpage .login-btn{padding:4px 9px;font-size:11.5px}
.inpage .sbtn{background:linear-gradient(170deg,var(--jade-l),var(--jade));color:#fff;border:none;box-shadow:0 6px 16px rgba(63,116,100,.40),inset 0 1px 0 rgba(255,255,255,.40),0 0 0 1px rgba(255,255,255,.20);padding:5px 9px;font-size:12px;letter-spacing:.02em}
.inpage .sbtn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(63,116,100,.55)}
@media (max-width:480px){
  .inpage .brand-mark img{height:54px;max-height:54px}
  .inpage .home-btn,.inpage .login-btn{padding:3px 8px;font-size:11px}
  .inpage .sbtn{padding:4px 8px;font-size:11.5px}
}

/* ===== Show & Tell: photo post style (photo on top, caption below) =====
   Champagne-gold frame + soft shadow for a refined, luxury feel. */
.post-photo-wrap{margin:0 0 14px;padding:7px;background:linear-gradient(160deg,#FFFDF7,#FBEDEE);border:1px solid var(--gold-l);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.post-photo{display:block;width:100%;height:auto;max-height:340px;object-fit:cover;border-radius:14px}
