    /* Site experience design system by Salem Experience Design | https://salemexperiencedesign.com */
    :root{
      --text:#171717;--muted:#525252;--border:#e5e5e5;--sky:#0369a1;--sky-soft:#f0f9ff;
      --cyan:#67e8f9;--blue:#3b82f6;--orange:#fb923c;--dark:#0a0a0a;--cta-blue:#21b9d6;--cta-blue-shadow:rgba(33,185,214,.22);--cta-blue-soft:rgba(33,185,214,.14);--cta-blue-soft-strong:rgba(33,185,214,.2);--card-tint:radial-gradient(circle at top right, rgba(14,165,233,.07), transparent 34%),radial-gradient(circle at bottom left, rgba(249,115,22,.07), transparent 30%),rgba(255,255,255,.96);--card-tint-soft:radial-gradient(circle at top right, rgba(14,165,233,.05), transparent 38%),radial-gradient(circle at bottom left, rgba(249,115,22,.06), transparent 34%),rgba(250,250,250,.94)
    }
    *{box-sizing:border-box}
    html{scroll-behavior:auto}
    body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#fff;line-height:1.6;text-rendering:optimizeLegibility}
    a,button,input,textarea{font:inherit}
    a{text-decoration:none;color:inherit}
    button{cursor:pointer}
    main{display:block;scroll-margin-top:96px}
    :focus-visible{outline:3px solid rgba(33,185,214,.45);outline-offset:3px}
    .container{max-width:1200px;margin:0 auto;padding:0 24px}
    section{padding:88px 0;scroll-margin-top:96px}
    body.motion-ready [data-reveal].reveal-ready{
      opacity:0;
      transform:translate3d(0, 34px, 0) scale(.985);
      transition:
        opacity .78s cubic-bezier(.22, 1, .36, 1),
        transform .78s cubic-bezier(.22, 1, .36, 1);
      transition-delay:var(--reveal-delay, 0ms);
      will-change:transform, opacity;
    }
    body.motion-ready [data-reveal].reveal-ready.is-visible{
      opacity:1;
      transform:none;
    }
    @keyframes heroOrbDrift{
      0%,100%{transform:translate3d(-50%, 0, 0) scale(1)}
      50%{transform:translate3d(-46%, 24px, 0) scale(1.08)}
    }
    @keyframes logoFloat{
      0%,100%{transform:translate3d(0, 0, 0)}
      50%{transform:translate3d(0, -12px, 0)}
    }
    @keyframes atmospherePulse{
      0%,100%{transform:scale(1.02);opacity:.2}
      50%{transform:scale(1.08);opacity:.28}
    }
    .site-nav{
      --nav-progress:0;
      position:fixed;
      top:0;
      left:0;
      right:0;
      z-index:40;
      border-bottom:1px solid rgba(23,23,23,.08);
      background:rgba(255,255,255,.82);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
      opacity:var(--nav-progress);
      transform:translateY(calc((1 - var(--nav-progress)) * -14px));
      transition:transform .22s ease, box-shadow .22s ease;
      pointer-events:none;
    }
    .site-nav.is-interactive{
      pointer-events:auto;
    }
    .site-nav-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
      min-height:58px;
    }
    .site-nav-brand{
      --brand-gradient:linear-gradient(120deg, #21b9d6 0%, #67e8f9 42%, #f97316 86%);
      flex:0 0 auto;
      display:inline-flex;
      align-items:baseline;
      gap:0;
      white-space:nowrap;
      line-height:1;
      font-size:18px;
      font-weight:700;
      letter-spacing:0;
      text-transform:none;
    }
    .site-nav-brand-art,
    .site-nav-brand-io,
    .site-nav-brand-lab{
      display:inline-flex;
      align-items:baseline;
      background-image:var(--brand-gradient);
      background-clip:text;
      -webkit-background-clip:text;
      color:transparent;
      -webkit-text-fill-color:transparent;
      text-transform:none;
    }
    .site-nav-brand-art{
      font-size:inherit;
      font-weight:700;
      background-size:220% 100%;
      background-position:0% 50%;
      letter-spacing:.08em;
      margin-right:-1px;
    }
    .site-nav-brand-io{
      margin:0 2px 0 -1px;
      font-size:15px;
      font-weight:700;
      letter-spacing:.01em;
      background-size:220% 100%;
      background-position:46% 50%;
      text-transform:lowercase;
    }
    .site-nav-brand-io-i,
    .site-nav-brand-lab-l{
      display:inline-block;
      background-image:inherit;
      background-size:inherit;
      background-position:inherit;
      background-clip:text;
      -webkit-background-clip:text;
      color:transparent;
      -webkit-text-fill-color:transparent;
      transform:scaleY(1.16);
      transform-origin:bottom;
    }
    .site-nav-brand-io-i{margin-right:-0.5px}
    .site-nav-brand-lab{
      margin-left:0;
      font-weight:500;
      letter-spacing:.03em;
      font-size:15px;
      background-size:220% 100%;
      background-position:100% 50%;
    }
    .site-nav-brand-lab-l{margin-right:-0.5px}
    .site-nav-links{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:8px;
      flex:1 1 auto;
      overflow-x:auto;
      padding:8px 0;
      scrollbar-width:none;
    }
    .site-nav-links::-webkit-scrollbar{display:none}
    .site-nav-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:8px 14px;
      border-radius:999px;
      font-size:13px;
      font-weight:600;
      color:#525252;
      white-space:nowrap;
      transition:background-color .18s ease, color .18s ease, transform .18s ease;
    }
    .site-nav-link:hover{
      background:var(--cta-blue-soft);
      color:var(--cta-blue);
      transform:translateY(-1px);
    }
    .site-nav-link.is-active{
      background:var(--cta-blue-soft-strong);
      color:var(--cta-blue);
    }
    .hero{position:relative;overflow:hidden;background:linear-gradient(to bottom,var(--sky-soft),#fff 45%)}
    .hero:before{content:"";position:absolute;top:-90px;left:50%;transform:translate3d(-50%,0,0);width:540px;height:540px;border-radius:999px;background:linear-gradient(135deg,rgba(34,211,238,.22),rgba(59,130,246,.15),rgba(251,146,60,.16));filter:blur(56px);animation:heroOrbDrift 18s ease-in-out infinite}
    .hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;padding:84px 0 96px}
    .eyebrow{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid #cbe7f7;border-radius:999px;color:var(--sky);background:rgba(255,255,255,.85);font-size:14px;letter-spacing:.04em;box-shadow:0 2px 10px rgba(0,0,0,.04)}
    h1{font-size:60px;line-height:1.03;letter-spacing:-.03em;margin:22px 0 0;max-width:760px}
    h2{margin:0;font-size:42px;line-height:1.12;letter-spacing:-.03em}
    h3{margin:0}
    .lead{font-size:20px;color:var(--muted);max-width:760px;margin-top:26px}
    .cta-row,.date-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
    .cta-row.tight{margin-top:24px}
    .btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:18px;font-weight:600;font-size:15px;transition:background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;border:1px solid transparent}
    .btn:hover{transform:translateY(-2px)}
    .btn-primary,.btn-secondary,.btn-dark-secondary{background:var(--cta-blue);color:#fff;border-color:var(--cta-blue);box-shadow:0 16px 30px var(--cta-blue-shadow)}
    .btn-primary:hover,.btn-secondary:hover,.btn-dark-secondary:hover{background:#f97316;border-color:#f97316;color:#fff;box-shadow:0 16px 30px rgba(249,115,22,.18)}
    .logo-card-wrap{position:relative;display:flex;justify-content:center}
    .logo-card-wrap:before{content:"";position:absolute;inset:0;border-radius:32px;background:linear-gradient(135deg,rgba(34,211,238,.14),rgba(59,130,246,.08),rgba(251,146,60,.12));filter:blur(36px)}
    .logo-card{position:relative;width:min(100%,520px);aspect-ratio:1/1;min-height:320px;border:1px solid var(--border);border-radius:32px;background:#fff;padding:32px;box-shadow:0 24px 60px rgba(14,165,233,.10);animation:logoFloat 11s ease-in-out infinite}
    .logo-inner{height:100%;border:1px solid rgba(23,23,23,.06);border-radius:24px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at top,rgba(14,165,233,.08),transparent 35%),radial-gradient(circle at bottom right,rgba(249,115,22,.10),transparent 25%),linear-gradient(180deg,#ffffff,#fbfdff)}
    .copy-guard{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
    .copy-guard img{pointer-events:none;-webkit-user-drag:none;user-select:none}
    .logo-img{width:100%;height:100%;display:block;object-fit:contain;padding:20px}
    .section-label{font-size:13px;font-weight:700;letter-spacing:.20em;text-transform:uppercase;color:var(--sky);margin:0 0 12px}
    .two-col,.retreat-grid,.dates-grid,.trust-grid,.contact-grid,.modal-grid{display:grid;gap:32px}
    .two-col{grid-template-columns:1.08fr .92fr;gap:64px}
    .retreat-grid{grid-template-columns:1.05fr .95fr;gap:64px}
    .dates-grid{grid-template-columns:1fr 1fr;gap:64px}
    .trust-grid{grid-template-columns:1fr .95fr;border:1px solid var(--border);border-radius:32px;background:#fff;padding:32px 36px;box-shadow:0 18px 40px rgba(0,0,0,.04)}
    .contact-grid{grid-template-columns:1.1fr .9fr}
    .prose p{font-size:20px;color:var(--muted);margin:0 0 22px}
    .stack{display:grid;gap:16px}
    .section-head{max-width:780px}
    .sr-only{
      position:absolute;
      width:1px;
      height:1px;
      padding:0;
      margin:-1px;
      overflow:hidden;
      clip:rect(0,0,0,0);
      white-space:nowrap;
      border:0;
    }
    .hero-label{
      margin-bottom:14px;
    }
    .hero-subtitle{
      max-width:20ch;
      margin:18px 0 0;
      font-size:28px;
      line-height:1.18;
      letter-spacing:-.03em;
      color:#262626;
    }
    .hero-practical-line{
      margin:22px 0 0;
      max-width:760px;
      font-size:14px;
      font-weight:600;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:#525252;
    }
    .about-intro-grid,
    .about-founder-grid,
    .community-grid,
    .fit-grid{
      display:grid;
      grid-template-columns:1.02fr .98fr;
      gap:36px;
      align-items:start;
    }
    .intro-head .lead,
    .signature-head .lead,
    .faq-head .lead,
    .family-head .lead{
      margin-top:18px;
    }
    .intro-copy{
      margin-top:24px;
      max-width:62ch;
    }
    .clarity-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      align-content:start;
    }
    .clarity-card,
    .audience-card,
    .community-card,
    .fit-card,
    .faq-item,
    .final-cta-card,
    .offer-card{
      border:1px solid var(--border);
      background:var(--card-tint);
      border-radius:24px;
      box-shadow:0 10px 28px rgba(15,23,42,.045);
    }
    .clarity-card,
    .audience-card,
    .community-card,
    .fit-card,
    .faq-item,
    .final-cta-card,
    .offer-card,
    .signature-card,
    .value-card,
    .retreat-card,
    .destination-card,
    .date-card,
    .trust-card,
    .contact-mini,
    .portfolio-card,
    .about-values-wrap,
    .info-box,
    .booking-workshop-group,
    .booking-workshop-summary-item,
    .booking-retreat-item,
    .booking-summary-note,
    .booking-form-panel,
    .booking-dates-summary-item,
    .booking-calendar-group,
    .booking-calendar-row,
    .booking-calendar-date-tile,
    .booking-calendar-fact,
    .booking-message-card{
      position:relative;
      overflow:hidden;
      isolation:isolate;
      background-clip:padding-box;
    }
    .clarity-card{
      min-height:110px;
      padding:20px 18px;
      display:flex;
      align-items:flex-end;
      background:
        radial-gradient(circle at top right, rgba(14,165,233,.08), transparent 38%),
        radial-gradient(circle at bottom left, rgba(249,115,22,.08), transparent 32%),
        #fff;
    }
    .clarity-card p{
      margin:0;
      font-size:18px;
      line-height:1.35;
      color:#262626;
    }
    .signature-section{
      background:
        radial-gradient(circle at top left, rgba(14,165,233,.05), transparent 24%),
        radial-gradient(circle at bottom right, rgba(249,115,22,.06), transparent 20%),
        #fff;
    }
    .signature-grid,
    .private-retreat-grid,
    .gallery-categories,
    .family-grid,
    .community-cards,
    .faq-grid{
      display:grid;
      gap:24px;
      margin-top:36px;
    }
    .faq-grid{
      display:block;
      column-count:2;
      column-gap:24px;
      align-items:start;
    }
    .signature-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .signature-grid > .signature-card:last-child:nth-child(odd){
      grid-column:1 / -1;
    }
    .signature-card{
      display:grid;
      gap:0;
      overflow:hidden;
      border:1px solid var(--border);
      border-radius:30px;
      background:var(--card-tint);
      box-shadow:0 16px 36px rgba(15,23,42,.05);
      transition:transform .18s ease, box-shadow .18s ease;
    }
    .signature-card:hover{
      transform:translateY(-3px);
      box-shadow:0 22px 44px rgba(15,23,42,.08);
    }
    .signature-image-wrap,
    .gallery-category-visual,
    .founder-visual{
      position:relative;
      overflow:hidden;
      background:linear-gradient(135deg,#eef8ff,#fff,#fff2e8);
    }
    .signature-image-wrap{
      aspect-ratio:4/3;
      min-height:260px;
    }
    .signature-image,
    .gallery-category-image,
    .founder-image{
      width:100%;
      height:100%;
      display:block;
      object-fit:cover;
    }
    .signature-copy{
      display:grid;
      gap:14px;
      padding:24px;
    }
    .signature-card.is-open,
    .offer-card.is-open{
      box-shadow:0 24px 48px rgba(15,23,42,.10);
      border-color:#cfe7f7;
    }
    .signature-category,
    .offer-card-label,
    .audience-card-label{
      margin:0;
      font-size:12px;
      font-weight:700;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:var(--sky);
    }
    .signature-copy h3,
    .offer-card h3,
    .audience-card h3,
    .community-card h3,
    .fit-card h3{
      font-size:28px;
      line-height:1.14;
      letter-spacing:-.03em;
    }
    .signature-copy p,
    .offer-card p,
    .audience-card p,
    .community-card p,
    .fit-card p{
      margin:0;
      color:var(--muted);
    }
    .signature-points,
    .fit-list{
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .signature-points li,
    .fit-list li{
      position:relative;
      padding-left:18px;
      color:#404040;
      line-height:1.55;
    }
    .signature-points li::before,
    .fit-list li::before{
      content:"";
      position:absolute;
      left:0;
      top:.72em;
      width:7px;
      height:7px;
      border-radius:999px;
      transform:translateY(-50%);
      background:linear-gradient(135deg,#0ea5e9,#f97316);
    }
    .info-card-clickable{
      align-self:start;
      cursor:pointer;
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .info-card-clickable:focus-visible{
      outline:3px solid rgba(33,185,214,.45);
      outline-offset:4px;
    }
    .info-card-panel{
      display:grid;
      gap:14px;
      padding-top:14px;
      border-top:1px solid rgba(23,23,23,.08);
      animation:faqReveal .18s ease both;
    }
    .info-card-actions{
      margin-top:0;
    }
    .private-retreat-grid{
      grid-template-columns:repeat(3,minmax(0,1fr));
      align-items:start;
    }
    .offer-card{
      padding:24px;
      display:grid;
      gap:14px;
      align-content:start;
    }
    .offer-card-meta{
      display:grid;
      gap:8px;
      color:#404040;
      font-size:14px;
    }
    .about-lab-panel,
    .founder-panel{
      border:1px solid var(--border);
      border-radius:30px;
      background:var(--card-tint);
      box-shadow:0 14px 36px rgba(15,23,42,.05);
      padding:30px;
    }
    .founder-panel{
      display:grid;
      gap:22px;
    }
    .founder-visual{
      border-radius:24px;
      aspect-ratio:4/3;
      min-height:260px;
    }
    .founder-copy{
      display:grid;
      gap:14px;
    }
    .founder-lead{
      margin:0;
      color:#404040;
    }
    .founder-credentials{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .founder-credentials span{
      display:inline-flex;
      align-items:center;
      padding:10px 14px;
      border-radius:999px;
      border:1px solid #dbeafe;
      background:#f8fbff;
      color:#1d4ed8;
      font-size:13px;
      font-weight:600;
    }
    .gallery-intro{
      margin-top:18px;
    }
    .gallery-categories{
      grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .gallery-category-card{
      overflow:hidden;
      border:1px solid var(--border);
      border-radius:26px;
      background:var(--card-tint);
      box-shadow:0 10px 28px rgba(15,23,42,.045);
    }
    .gallery-category-visual{
      aspect-ratio:4/3;
      min-height:260px;
    }
    .gallery-category-copy{
      display:grid;
      gap:8px;
      padding:22px;
    }
    .gallery-category-copy p:last-child{
      margin:0;
      color:var(--muted);
    }
    .gallery-subhead{
      margin-top:54px;
    }
    .family-section,
    .family-community-section{
      background:
        radial-gradient(circle at top right, rgba(14,165,233,.05), transparent 24%),
        radial-gradient(circle at bottom left, rgba(249,115,22,.05), transparent 24%),
        #fff;
    }
    .family-grid{
      grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .community-cards{
      grid-template-columns:1fr;
      align-content:start;
    }
    .faq-grid{
      column-count:2;
    }
    .audience-card,
    .community-card{
      padding:24px;
      display:grid;
      gap:12px;
      min-width:0;
      overflow:hidden;
    }
    .community-section{
      background:#fafafa;
    }
    .family-community-groups{
      display:grid;
      margin-top:36px;
      gap:28px;
    }
    .family-community-group{
      display:grid;
      gap:16px;
    }
    .family-community-group-label{
      margin:0;
      font-size:13px;
      font-weight:700;
      letter-spacing:.18em;
      text-transform:uppercase;
      color:var(--sky);
    }
    .community-cards-grid{
      grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .community-copy .lead{
      max-width:none;
    }
    .community-card h3,
    .community-card p{
      overflow-wrap:anywhere;
    }
    .fit-lists{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:20px;
    }
    .fit-grid{
      grid-template-columns:1fr;
      gap:24px;
    }
    .fit-card{
      padding:24px;
      display:grid;
      gap:14px;
    }
    .fit-card-muted{
      background:var(--card-tint-soft);
    }
    .reflections-wrap{
      display:grid;
      justify-items:start;
    }
    .faq-section{
      background:#fff;
    }
    .managed-homepage-blocks{
      padding:34px 0;
    }
    .managed-homepage-blocks[hidden]{
      display:none;
    }
    .managed-homepage-blocks-grid{
      display:grid;
      gap:18px;
    }
    .managed-homepage-block{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);
      gap:24px;
      align-items:center;
      padding:28px;
      border:1px solid rgba(20,53,74,.1);
      border-radius:28px;
      background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,247,237,.82));
      box-shadow:0 18px 44px rgba(20,53,74,.06);
    }
    .managed-homepage-block.is-notice{
      background:linear-gradient(135deg,rgba(255,251,235,.96),rgba(255,255,255,.9));
    }
    .managed-homepage-block.is-feature{
      background:linear-gradient(135deg,rgba(240,249,255,.9),rgba(255,247,237,.78));
    }
    .managed-homepage-block-copy{
      display:grid;
      gap:12px;
    }
    .managed-homepage-block-copy h2{
      margin:0;
      max-width:820px;
      font-size:clamp(28px,4vw,48px);
      line-height:1.04;
      letter-spacing:-.045em;
    }
    .managed-homepage-block-copy .lead{
      max-width:760px;
      margin:0;
    }
    .managed-homepage-block-media{
      position:relative;
      min-height:230px;
      overflow:hidden;
      border-radius:22px;
      background-repeat:no-repeat;
      background-position:center;
      background-size:cover;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
    }
    .managed-homepage-block-media img{
      width:100%;
      height:100%;
      min-height:230px;
      display:block;
      object-fit:cover;
    }
    .managed-homepage-block:not(:has(.managed-homepage-block-media)){
      grid-template-columns:1fr;
    }
    .faq-item{
      display:inline-block;
      width:100%;
      margin:0 0 24px;
      box-sizing:border-box;
      break-inside:avoid;
      page-break-inside:avoid;
      padding:0;
      overflow:hidden;
      align-self:start;
      transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease,
        background-color .22s ease;
    }
    .faq-item[open],
    .faq-item.is-open{
      border-color:rgba(168,95,63,.2);
      background:#fffdf8;
      box-shadow:0 16px 34px rgba(15,23,42,.07);
      transform:translateY(-2px);
    }
    .faq-item summary{
      list-style:none;
      cursor:pointer;
      padding:20px 22px;
      font-size:19px;
      font-weight:600;
      color:#171717;
    }
    .faq-item summary::-webkit-details-marker{
      display:none;
    }
    .faq-item p{
      margin:0;
      padding:0 22px 22px;
      color:var(--muted);
      line-height:1.7;
      animation:faqReveal .18s ease both;
    }
    @keyframes faqReveal{
      from{opacity:0;transform:translateY(-4px)}
      to{opacity:1;transform:translateY(0)}
    }
    .final-cta-section{
      padding-top:24px;
    }
    .final-cta-card{
      display:grid;
      gap:20px;
      align-items:end;
      padding:32px 36px;
      background:
        radial-gradient(circle at top left, rgba(14,165,233,.08), transparent 28%),
        radial-gradient(circle at bottom right, rgba(249,115,22,.09), transparent 26%),
        #fff;
    }
    .final-cta-copy h2{
      max-width:18ch;
    }
    .value-card,.retreat-card,.destination-card,.date-card,.trust-card,.testimonial-card,.contact-mini,.portfolio-card{border:1px solid var(--border);background:var(--card-tint-soft);border-radius:22px;padding:20px;box-shadow:0 3px 10px rgba(0,0,0,.03)}
    .about-values-wrap{
      border:1px solid var(--border);
      border-radius:32px;
      padding:28px;
      background:
        radial-gradient(circle at top right, rgba(14,165,233,.08), transparent 30%),
        radial-gradient(circle at bottom left, rgba(249,115,22,.08), transparent 28%),
        #fff;
      box-shadow:0 18px 40px rgba(0,0,0,.04);
    }
    .about-values{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:16px;
      margin-top:18px;
    }
    .about-values .value-card{
      min-height:118px;
      padding:20px;
      display:flex;
      align-items:flex-start;
      justify-content:center;
      border:1px solid var(--border);
      border-radius:22px;
      background:var(--card-tint-soft);
      box-shadow:0 3px 10px rgba(0,0,0,.03);
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .about-values .value-card:hover{
      transform:translateY(-3px);
      box-shadow:0 14px 28px rgba(0,0,0,.07);
      border-color:#cbd5e1;
    }
    .value-text{
      margin:0;
      font-size:19px;
      line-height:1.45;
      color:#262626;
      max-width:24ch;
    }
    .dark{
      background:
        linear-gradient(135deg, rgba(37,99,235,.88), rgba(14,165,233,.78), rgba(249,115,22,.72)),
        #0a0a0a;
      color:#fff;
      position:relative;
      overflow:hidden
    }
    .dark::before{
      content:"";
      position:absolute;
      inset:0;
      background-position:center;
      background-size:cover;
      background-repeat:no-repeat;
      opacity:.22;
      transform:scale(1.02);
      animation:atmospherePulse 22s ease-in-out infinite;
      pointer-events:none;
    }
    .dark-image-section.background-missing::after{
      content:attr(data-bg-label);
      position:absolute;
      right:24px;
      bottom:24px;
      z-index:1;
      max-width:min(320px, calc(100% - 48px));
      padding:12px 16px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:16px;
      background:rgba(10,10,10,.34);
      color:#fff;
      font-size:13px;
      font-weight:600;
      line-height:1.5;
      letter-spacing:.02em;
      box-shadow:0 12px 24px rgba(0,0,0,.18);
      backdrop-filter:blur(6px);
      pointer-events:none;
    }
    .dark > .container{position:relative;z-index:2}
    .dark .section-label{color:#d9f3ff}
    .dark p{color:#eef2ff}
    .dark-image-section.workshops-bg::before{background-image:url("../images/BG-1.jpg")}
    .dark-image-section.testimonials-bg::before{background-image:url("../images/BG-2.webp");background-image:image-set(url("../images/BG-2.webp") type("image/webp"), url("../images/BG-2.jpg") type("image/jpeg"))}
    .cards4,.cards3{display:grid;gap:24px;margin-top:44px}
    .cards4{grid-template-columns:repeat(4,1fr)}
    .cards3{grid-template-columns:repeat(3,1fr)}
    .workshop-card{
      display:block;
      width:100%;
      position:relative;
      overflow:hidden;
      min-height:320px;
      padding:0;
      border:1px solid rgba(255,255,255,.16);
      border-radius:28px;
      background:#0f172a;
      box-shadow:0 14px 35px rgba(0,0,0,.22);
      text-align:left;
      color:#fff;
      isolation:isolate;
    }
    .workshop-card-media{
      position:absolute;
      inset:0;
      z-index:0;
      overflow:hidden;
      border-radius:inherit;
    }
    .workshop-card-image{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      max-width:none;
      max-height:none;
      display:block;
      object-fit:cover;
      transition:transform .3s ease;
    }
    .workshop-card::after{
      content:"";
      position:absolute;
      inset:0;
      z-index:0;
      background:linear-gradient(to top, rgba(10,10,10,.92), rgba(10,10,10,.68) 46%, rgba(10,10,10,.24) 76%, rgba(10,10,10,.08));
      pointer-events:none;
    }
    .workshop-card-content{
      position:relative;
      z-index:1;
      min-height:320px;
      padding:24px;
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
      gap:10px;
    }
    .workshop-card-content p{
      margin:0;
      color:rgba(255,255,255,.92);
    }
    .workshop-card:hover .workshop-card-image{
      transform:scale(1.04);
    }
    .workshop-card-fallback{
      z-index:0;
      background:linear-gradient(135deg,rgba(14,165,233,.20),rgba(255,255,255,.92),rgba(249,115,22,.18));
      color:#525252;
    }
    .retreat-section{background:linear-gradient(135deg,#fff7ed,#ffffff,#f0f9ff)}
    .retreat-card{background:var(--card-tint);text-align:left;transition:.18s}
    .retreat-card:hover,.portfolio-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.08)}
    .retreat-duration{margin-top:8px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sky)}
    .retreat-meta{margin-top:14px;font-size:14px;color:#737373}
    .testimonial-section{color:#fff}
    .testimonial-section .section-label{color:#d9f3ff}
    .testimonial-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);color:#e5e5e5;backdrop-filter:blur(6px)}
    .testimonial-name{margin-top:20px;font-weight:700;color:#fff}
    .testimonial-role{font-size:14px;color:#a3a3a3}
    .gallery-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
    .portfolio-card{padding:0;overflow:hidden;background:var(--card-tint);cursor:pointer;text-align:left}
    .signature-gallery-grid{
      align-items:stretch;
    }
    .signature-experience-card{
      height:100%;
    }
    .signature-card-content{
      display:grid;
      gap:10px;
      align-content:start;
      min-height:170px;
    }
    .signature-card-content p{
      margin:0;
    }
    .portfolio-media{aspect-ratio:4/3;min-height:260px;overflow:hidden;background:linear-gradient(135deg,#e0f2fe,#ffffff,#ffedd5);position:relative}
    .media-img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .38s ease, filter .38s ease}
    .portfolio-card:hover .media-img{transform:scale(1.06);filter:saturate(1.04)}
    .image-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;color:#737373;font-size:14px;font-weight:600;letter-spacing:.02em;background:linear-gradient(135deg,#e0f2fe,#ffffff,#ffedd5)}
    .image-fallback[hidden],
    .thumb-fallback[hidden],
    .media-img[hidden],
    .signature-image[hidden],
    .gallery-category-image[hidden],
    .founder-image[hidden],
    .logo-img[hidden],
    .thumb-img[hidden]{
      display:none !important;
    }
    .image-fallback-mark,
    .thumb-fallback-mark{
      width:56px;
      height:56px;
      border-radius:18px;
      border:1px solid rgba(115,115,115,.16);
      background:
        linear-gradient(135deg, rgba(255,255,255,.88), rgba(240,249,255,.92), rgba(255,237,213,.82));
      box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
      position:relative;
    }
    .image-fallback-mark::before,
    .thumb-fallback-mark::before{
      content:"";
      position:absolute;
      left:14px;
      right:14px;
      bottom:14px;
      height:14px;
      border-radius:999px;
      background:linear-gradient(135deg, rgba(14,165,233,.35), rgba(249,115,22,.3));
    }
    .image-fallback-mark::after,
    .thumb-fallback-mark::after{
      content:"";
      position:absolute;
      top:13px;
      right:13px;
      width:12px;
      height:12px;
      border-radius:999px;
      background:rgba(14,165,233,.28);
    }
    .category-pill{display:none !important}
    .portfolio-content{padding:24px}
    .portfolio-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
    .view-link{color:var(--sky);font-size:14px;font-weight:600;white-space:nowrap}
    .modal-overlay{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;background:rgba(10,10,10,.72);padding:32px 16px}
    .modal-overlay.active{display:flex}
    .modal-card{position:relative;width:100%;max-width:1100px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:32px;box-shadow:0 30px 70px rgba(0,0,0,.25)}
    .modal-close{position:absolute;top:20px;right:20px;z-index:2;border:1px solid var(--border);background:#fff;color:#525252;border-radius:999px;padding:10px 16px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.06)}
    .modal-grid{grid-template-columns:1.1fr .9fr;padding:32px}
    .modal-hero{aspect-ratio:4/3;min-height:260px;border-radius:28px;overflow:hidden;position:relative;background:linear-gradient(135deg,#e0f2fe,#ffffff,#ffedd5)}
    .thumb-grid{margin-top:24px}
    .thumb-slider{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:10px;align-items:center}
    .thumb-slider.is-static{grid-template-columns:1fr}
    .thumb-slider-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
    .thumb-slider-track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(112px,28%,156px);gap:16px}
    .thumb-slider-nav{width:42px;height:42px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--ink);font-size:28px;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);cursor:pointer}
    .thumb-slider-nav[hidden]{display:none}
    .thumb{aspect-ratio:1/1;border:1px solid var(--border);background:#fafafa;border-radius:20px;overflow:hidden;position:relative;padding:0;appearance:none;-webkit-appearance:none;scroll-snap-align:start;min-width:0}
    .thumb-img{width:100%;height:100%;display:block;object-fit:cover}
    .thumb-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;font-size:14px;font-weight:600;color:#666;background:#fafafa}
    .lightbox-trigger{cursor:zoom-in}
    .lightbox-overlay{
      z-index:70;
      background:rgba(10,10,10,.84);
      padding:24px 16px;
    }
    .lightbox-overlay .modal-close{
      position:fixed;
      top:max(24px, env(safe-area-inset-top));
      right:max(24px, calc(16px + env(safe-area-inset-right)));
      z-index:3;
    }
    .lightbox-card{
      position:relative;
      display:flex;
      align-items:center;
      justify-content:center;
      width:100%;
      height:100%;
      max-width:calc(100vw - 32px);
      max-width:calc(100dvw - 32px);
      max-height:calc(100vh - 32px);
      max-height:calc(100dvh - 32px);
      min-height:0;
    }
    .lightbox-nav{
      position:fixed;
      top:50%;
      z-index:2;
      width:52px;
      height:52px;
      border:1px solid rgba(255,255,255,.16);
      border-radius:999px;
      background:rgba(255,255,255,.12);
      color:#fff;
      display:flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      box-shadow:0 12px 24px rgba(0,0,0,.2);
      backdrop-filter:blur(8px);
      transform:translateY(-50%);
      transition:background .18s ease, opacity .18s ease;
      font-size:0;
    }
    .lightbox-nav::before{
      font-size:28px;
      line-height:1;
    }
    .lightbox-nav:hover{
      background:rgba(255,255,255,.2);
    }
    .lightbox-nav:disabled{
      opacity:.4;
      cursor:default;
    }
    .lightbox-nav-prev{
      left:max(24px, calc(16px + env(safe-area-inset-left)));
      right:auto;
    }
    .lightbox-nav-prev::before{
      content:"\2039";
    }
    .lightbox-nav-next{
      right:max(24px, calc(16px + env(safe-area-inset-right)));
      left:auto;
    }
    .lightbox-nav-next::before{
      content:"\203A";
    }
    .lightbox-figure{
      margin:0;
      display:flex;
      align-items:center;
      justify-content:center;
      width:100%;
      height:100%;
      max-width:100%;
      max-height:100%;
      min-width:0;
      min-height:0;
    }
    .lightbox-image{
      display:block;
      width:auto;
      height:auto;
      max-width:min(calc(100vw - 224px), 1400px);
      max-width:min(calc(100dvw - 224px), 1400px);
      max-height:calc(100vh - 128px);
      max-height:calc(100dvh - 128px);
      object-fit:contain;
      border-radius:24px;
      box-shadow:0 24px 60px rgba(0,0,0,.28);
      background:rgba(255,255,255,.03);
    }
    .info-box{margin-top:18px;border:1px solid var(--border);background:var(--card-tint-soft);border-radius:24px;padding:24px}
    .info-box p{margin:0}
    .info-box ul{margin:16px 0 0;padding-left:0;list-style:none}
    .info-box li{margin:10px 0;color:#525252}
    #contact-updates .container{display:grid;gap:24px}
    .contact-card{
      position:relative;
      width:100%;
      border-radius:32px;
      background:linear-gradient(135deg, rgba(37,99,235,.92), rgba(14,165,233,.82), rgba(249,115,22,.76));
      color:#fff;
      padding:46px 40px;
      box-shadow:0 30px 70px rgba(0,0,0,.18);
      overflow:hidden;
    }
    .contact-mini{display:grid;gap:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05)}
    .updates-card .contact-grid{align-items:start}
    .updates-mini{align-self:start}
    .contact-pill{background:rgba(255,255,255,.05);border-radius:14px;padding:14px 16px;color:#e5e5e5}
    .contact-copy-stack{display:flex;flex-direction:column;gap:12px;min-height:100%}
    .contact-copy-stack .lead{margin:0}
    .contact-social{
      display:grid;
      gap:12px;
      margin-top:auto;
      padding-top:18px;
    }
    .contact-social-label{
      margin:0;
      font-size:13px;
      font-weight:700;
      letter-spacing:.18em;
      text-transform:uppercase;
      color:#f4f8ff;
    }
    .contact-social-links{
      display:flex;
      gap:12px;
      align-items:center;
    }
    .contact-social-link{
      display:inline-flex;
      flex:0 0 48px;
      align-items:center;
      justify-content:center;
      width:48px;
      height:48px;
      min-width:48px;
      min-height:48px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(255,255,255,.08);
      line-height:0;
      overflow:hidden;
      transition:transform .18s ease, background-color .18s ease, border-color .18s ease;
    }
    .contact-social-link:hover{
      transform:translateY(-2px);
      background:rgba(255,255,255,.14);
      border-color:rgba(255,255,255,.28);
    }
    .contact-social-link svg{
      display:block;
      flex:none;
      width:20px !important;
      height:20px !important;
      min-width:20px;
      min-height:20px;
      max-width:20px;
      max-height:20px;
      fill:currentColor;
    }
    .form-stack{display:grid;gap:12px}
    .form-input,.form-textarea{width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;border-radius:14px;padding:14px 16px;outline:none}
    .form-input:focus,.form-textarea:focus{border-color:rgba(255,255,255,.42);box-shadow:0 0 0 3px rgba(255,255,255,.10)}
    .form-textarea{resize:vertical}
    .form-submit{width:100%;height:52px;min-height:52px;white-space:nowrap}
    .form-feedback{margin:0 2px;font-size:14px;line-height:1.45;color:rgba(255,255,255,.88)}
    .form-feedback:empty{display:none}
    .form-feedback:not(:empty){display:block;margin-top:4px;min-height:22px}
    .form-feedback.is-success{color:#dcfce7}
    .form-feedback.is-error{color:#fee2e2}
    #contact-updates .contact-card,
    #contact-updates .contact-card h2,
    #contact-updates .contact-card h3,
    #contact-updates .contact-card p,
    #contact-updates .contact-card .lead,
    #contact-updates .contact-card .section-label,
    #contact-updates .contact-card .contact-pill,
    #contact-updates .contact-card label,
    #contact-updates .contact-card a,
    #contact-updates .contact-card div{
      color:#fff;
    }
    #contact-updates .contact-card .section-label{
      color:#f4f8ff;
    }
    #contact-updates .contact-card .contact-pill{
      color:#fff;
      background:rgba(255,255,255,.10);
    }
    #contact-updates .contact-card .lead{
      color:#fff !important;
    }
    #contact-updates .contact-card .form-input,
    #contact-updates .contact-card .form-textarea{
      color:#fff;
      border:1px solid rgba(255,255,255,.18);
      background:rgba(255,255,255,.08);
    }
    #contact-updates .contact-card .form-input::placeholder,
    #contact-updates .contact-card .form-textarea::placeholder{
      color:rgba(255,255,255,.78);
    }

    .retreat-note{
      max-width:680px;
      margin-top:18px;
    }
    .retreat-concepts-block{
      margin-top:88px;
    }
    .retreat-concepts-head{
      max-width:860px;
    }
    .retreat-concepts{
      margin-top:44px;
      display:grid;
      gap:24px;
      grid-template-columns:repeat(3,1fr);
    }
    .retreat-concept-card{
      border:1px solid var(--border);
      background:#fff;
      border-radius:24px;
      padding:24px;
      box-shadow:0 3px 10px rgba(0,0,0,.03);
      text-align:left;
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
    }
    .retreat-concept-trigger{
      width:100%;
      color:var(--text);
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .retreat-concept-trigger:hover{
      transform:translateY(-4px);
      box-shadow:0 16px 32px rgba(0,0,0,.08);
    }
    .retreat-concept-card h3{
      font-size:24px;
      line-height:1.2;
    }
    .retreat-concept-topline{
      font-size:12px;
      font-weight:700;
      letter-spacing:.18em;
      text-transform:uppercase;
      color:#737373;
    }
    .retreat-concept-meta{
      margin-top:10px;
      font-size:13px;
      font-weight:700;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:var(--sky);
    }
    .retreat-concept-summary{
      margin:0;
      color:var(--muted);
      line-height:1.75;
    }
    .retreat-concept-link{
      margin-top:auto;
      padding-top:8px;
      font-weight:600;
      color:var(--sky);
    }
    .retreat-concept-detail-panel{
      display:none;
      border:1px solid var(--border);
      border-radius:32px;
      padding:36px;
      background:
        radial-gradient(circle at top right, rgba(14,165,233,.10), transparent 22%),
        radial-gradient(circle at bottom left, rgba(249,115,22,.10), transparent 24%),
        #fff;
      box-shadow:0 24px 48px rgba(0,0,0,.06);
    }
    .retreat-concept-detail-panel.active{
      display:block;
    }
    .retreat-modal-card{
      max-width:1080px;
    }
    .retreat-modal-body{
      padding:32px;
    }
    .retreat-modal-body .retreat-concept-detail-panel{
      display:block;
      border:none;
      border-radius:0;
      padding:0;
      background:transparent;
      box-shadow:none;
    }
    .retreat-concept-detail-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:24px;
      flex-wrap:wrap;
      padding-right:72px;
    }
    .retreat-concept-detail-head h3{
      font-size:40px;
      line-height:1.08;
    }
    .retreat-concept-positioning{
      margin:24px 0 0;
      max-width:900px;
      font-size:20px;
      line-height:1.75;
      color:#262626;
    }
    .retreat-concept-detail-grid{
      margin-top:28px;
      display:grid;
      grid-template-columns:1.12fr .88fr;
      gap:24px;
      align-items:start;
    }
    .retreat-concept-story,
    .retreat-concept-side{
      display:grid;
      gap:18px;
    }
    .retreat-concept-cta{
      margin-top:0;
    }
    .detail-block{
      border:1px solid var(--border);
      background:#fff;
      border-radius:24px;
      padding:24px;
      box-shadow:0 3px 10px rgba(0,0,0,.03);
    }
    .detail-kicker{
      margin:0 0 12px;
      font-size:13px;
      font-weight:700;
      letter-spacing:.18em;
      text-transform:uppercase;
      color:var(--sky);
    }
    .detail-block p{
      margin:0 0 16px;
      color:var(--muted);
      line-height:1.8;
    }
    .detail-block p:last-child{
      margin-bottom:0;
    }
    .retreat-rhythm-list{
      display:grid;
      gap:14px;
    }
    .rhythm-step{
      border:1px solid var(--border);
      border-radius:20px;
      padding:18px;
      background:#fafafa;
    }
    .rhythm-step h4{
      margin:0 0 8px;
      font-size:18px;
      line-height:1.35;
      color:#262626;
    }
    .rhythm-step p{
      margin:0;
      color:var(--muted);
    }
    .promise-card{
      background:linear-gradient(135deg,#eff6ff,#fff7ed);
    }
    .promise-card p:last-child{
      color:#262626;
      font-size:19px;
    }
    .retreat-concept-side .info-box{
      margin-top:0;
      background:#fff;
      box-shadow:0 3px 10px rgba(0,0,0,.03);
    }


    .site-footer{
      padding:24px 0 32px;
      border-top:1px solid var(--border);
      background:#fff;
    }
    .footer-copy{
      margin:0;
      text-align:center;
      font-size:14px;
      color:#737373;
      letter-spacing:.01em;
    }
    .footer-copy strong{
      color:#262626;
      font-weight:600;
    }

    .btn-success{
      background:#16a34a !important;
      border-color:#16a34a !important;
      color:#fff !important;
      box-shadow:0 16px 30px rgba(22,163,74,.18) !important;
      pointer-events:none;
    }
    .section-cta{margin-top:32px}
    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      *,*::before,*::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
      }
    }
    @media (max-width:1080px){
      .hero-grid,.two-col,.retreat-grid,.dates-grid,.trust-grid,.contact-grid,.modal-grid{grid-template-columns:1fr}
      .managed-homepage-block{grid-template-columns:1fr}
      .about-intro-grid,.about-founder-grid,.community-grid,.fit-grid,.fit-lists,.community-cards-grid{grid-template-columns:1fr}
      .retreat-concept-detail-grid{grid-template-columns:1fr}
      .hero-grid > :first-child{order:2}
      .hero-grid > :last-child{order:1}
      .cards4,.cards3,.retreat-concepts,.private-retreat-grid,.gallery-categories,.family-grid,.community-cards,.faq-grid{grid-template-columns:repeat(2,1fr)}
      .signature-grid{grid-template-columns:1fr}
      .signature-grid > .signature-card:last-child:nth-child(odd){grid-column:auto}
      h1{font-size:50px}
      h2{font-size:36px}
      .hero-subtitle{font-size:24px;max-width:24ch}
      .site-nav-inner{gap:16px}
    }
    @media (max-width:720px){
      .cards4,.cards3,.retreat-concepts,.private-retreat-grid,.gallery-categories,.family-grid,.community-cards,.faq-grid{grid-template-columns:1fr}
      .thumb-slider{grid-template-columns:34px minmax(0,1fr) 34px;gap:8px}
      .thumb-slider-nav{width:34px;height:34px;font-size:22px}
      .thumb-slider-track{grid-auto-columns:minmax(92px,42vw);gap:10px}
      .faq-grid{column-count:1;column-gap:0}
      .workshop-card,
      .workshop-card-content{
        min-height:clamp(220px, 66vw, 270px);
      }
      .workshop-card{
        border-radius:24px;
      }
      .workshop-card-content{
        padding:20px;
        gap:8px;
      }
      .workshop-card-content h3{
        font-size:24px;
      }
      .workshop-card-content p{
        font-size:15px;
        line-height:1.45;
      }
      .about-values{grid-template-columns:1fr}
      .clarity-grid{grid-template-columns:1fr}
      .about-values-wrap{padding:24px}
      .about-values .value-card{min-height:auto}
      .value-text{font-size:18px;max-width:none}
      .container{padding:0 18px}
      .site-nav-inner{min-height:54px}
      .site-nav-brand{font-size:16px}
      .site-nav-brand-io,
      .site-nav-brand-lab{font-size:12px}
      .site-nav-links{justify-content:flex-start;padding-right:4px}
      .hero-grid{padding:64px 0 76px;gap:42px}
      h1{font-size:42px}
      h2{font-size:32px}
      .hero-subtitle{font-size:22px}
      .hero-practical-line{font-size:12px;line-height:1.7}
      .lead,.prose p{font-size:18px}
      .signature-copy,.offer-card,.audience-card,.community-card,.fit-card,.about-lab-panel,.founder-panel,.final-cta-card{padding:22px}
      .clarity-card{min-height:auto}
      .signature-copy h3,.offer-card h3,.audience-card h3,.community-card h3,.fit-card h3{font-size:24px}
      .faq-item summary{font-size:17px;padding:18px 18px}
      .faq-item p{padding:0 18px 18px}
      .final-cta-copy h2{max-width:none}
      .retreat-concept-detail-panel{padding:24px}
      .retreat-concept-detail-head h3{font-size:32px}
      .retreat-concept-detail-head{padding-right:56px}
      .retreat-concept-positioning{font-size:18px}
      .retreat-modal-body{padding:24px}
      .retreat-concepts-block{margin-top:72px}
      .dark-image-section.background-missing::after{right:18px;left:18px;bottom:18px;max-width:none}
      .lightbox-overlay{padding:16px 12px}
      .lightbox-overlay .modal-close{
        top:max(16px, env(safe-area-inset-top));
        right:max(12px, calc(12px + env(safe-area-inset-right)));
      }
      .lightbox-nav{
        top:auto;
        bottom:max(12px, env(safe-area-inset-bottom));
        transform:none;
        width:46px;
        height:46px;
      }
      .lightbox-nav-prev{
        left:max(12px, calc(12px + env(safe-area-inset-left)));
        right:auto;
      }
      .lightbox-nav-next{
        right:max(12px, calc(12px + env(safe-area-inset-right)));
        left:auto;
      }
      .lightbox-image{
        max-width:calc(100vw - 24px);
        max-width:calc(100dvw - 24px);
        max-height:calc(100vh - 136px);
        max-height:calc(100dvh - 136px);
        border-radius:18px;
      }
      section{padding:72px 0}
    }
body.booking-page {
  background:
    radial-gradient(circle at top left, rgba(14, 165, 233, 0.07), transparent 28%),
    radial-gradient(circle at bottom right, rgba(249, 115, 22, 0.08), transparent 24%),
    #fff;
}

.booking-page .site-nav {
  --nav-progress: 1;
  position: sticky;
  opacity: 1;
  transform: none;
  pointer-events: auto;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}

.booking-page main {
  scroll-margin-top: 0;
}

.booking-page section {
  scroll-margin-top: 92px;
}

.booking-nav-links {
  justify-content: flex-end;
}

.booking-hero {
  min-height: auto;
}

.booking-hero-grid {
  align-items: start;
  padding: 56px 0 58px;
  gap: 24px;
}

.booking-hero .lead {
  max-width: 34rem;
  margin-bottom: 0;
}

.booking-hero-note {
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 22px 24px;
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.1), transparent 35%),
    radial-gradient(circle at bottom left, rgba(249, 115, 22, 0.1), transparent 28%),
    rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.045);
}

.booking-hero-note h2 {
  font-size: 27px;
  line-height: 1.08;
  max-width: 15ch;
}

.booking-hero-note p {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 15px;
}

.booking-note-list {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.booking-note-list li {
  position: relative;
  padding-left: 18px;
  color: #404040;
  font-size: 14px;
}

.booking-note-list li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(135deg, #0ea5e9, #f97316);
  transform: translateY(-50%);
}

.booking-section {
  padding-top: 8px;
  padding-bottom: 42px;
}

.booking-inline-section {
  padding-top: 26px;
  padding-bottom: 32px;
  background:
    radial-gradient(circle at top left, rgba(14, 165, 233, 0.05), transparent 28%),
    radial-gradient(circle at bottom right, rgba(249, 115, 22, 0.06), transparent 24%),
    #fff;
}

.booking-section-head {
  max-width: 720px;
}

.booking-inline-section .lead {
  margin-top: 12px;
  margin-bottom: 0;
}

.booking-collapsible {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.booking-reveal-button {
  justify-self: flex-start;
}

.booking-collapsible-panel {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    grid-template-rows 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.5s ease,
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.booking-collapsible-panel.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
  transform: none;
}

.booking-collapsible-inner {
  min-height: 0;
  overflow: hidden;
}

.booking-kind-section {
  display: grid;
  gap: 12px;
}

.booking-kind-section + .booking-kind-section {
  margin-top: 0;
}

.booking-kind-section-head {
  display: grid;
  gap: 0;
  max-width: 720px;
  margin-bottom: 0;
}

.booking-kind-section-head h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.08;
}

.booking-kind-section-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 8px;
  align-items: start;
}

.booking-feedback-strip:empty {
  display: none;
}

.booking-feedback-strip {
  margin-top: 14px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(2, 132, 199, 0.14);
  background: rgba(240, 249, 255, 0.78);
  color: #075985;
  font-size: 14px;
}

.booking-results-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 24px;
  align-items: start;
}

.booking-card,
.booking-workshop-group,
.booking-state-card {
  min-width: 0;
  border: 1px solid var(--border);
  background: var(--card-tint);
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.035);
}

.booking-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 100%;
}

.booking-workshop-group {
  position: relative;
  display: grid;
  width: 100%;
  margin: 0;
  padding: 0;
  border-radius: 26px;
  overflow: hidden;
  border: 0;
  background: #fff;
  box-shadow:
    inset 0 0 0 1px rgba(14, 165, 233, 0.14),
    0 6px 16px rgba(15, 23, 42, 0.035);
}

.booking-workshop-group.is-retreat {
  box-shadow:
    inset 0 0 0 1px rgba(249, 115, 22, 0.14),
    0 6px 16px rgba(15, 23, 42, 0.035);
}

.booking-state-card {
  display: grid;
  width: 100%;
  margin: 0;
}

.booking-workshop-group::before {
  content: none;
}

.booking-workshop-group::after {
  content: none;
}

.booking-workshop-surface {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  padding: 18px;
  min-width: 0;
  border-radius: inherit;
  overflow: hidden;
  isolation: isolate;
  contain: paint;
  background: rgba(255, 255, 255, 0.98);
}

.booking-workshop-gradient {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 250, 249, 0.96));
}

.booking-workshop-gradient::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 999px;
}

.booking-workshop-surface > *:not(.booking-workshop-gradient) {
  position: relative;
  z-index: 1;
}

.booking-workshop-group.is-workshop .booking-workshop-gradient {
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.12), transparent 34%),
    radial-gradient(circle at bottom left, rgba(249, 115, 22, 0.08), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 250, 249, 0.96));
}

.booking-workshop-group.is-workshop .booking-workshop-gradient::after {
  background: linear-gradient(90deg, rgba(14, 165, 233, 0.88), rgba(34, 211, 238, 0.46));
}

.booking-workshop-group.is-retreat .booking-workshop-gradient {
  background:
    radial-gradient(circle at top left, rgba(249, 115, 22, 0.12), transparent 32%),
    radial-gradient(circle at bottom right, rgba(14, 165, 233, 0.08), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 250, 249, 0.96));
}

.booking-workshop-group.is-retreat .booking-workshop-gradient::after {
  background: linear-gradient(90deg, rgba(249, 115, 22, 0.88), rgba(14, 165, 233, 0.38));
}

.booking-offer-trigger {
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.booking-offer-trigger:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.booking-offer-trigger:focus-visible {
  outline: 2px solid rgba(14, 165, 233, 0.42);
  outline-offset: 3px;
}

.booking-workshop-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
}

.booking-workshop-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.booking-workshop-title {
  margin: 0;
  font-size: 22px;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: #171717;
  overflow-wrap: anywhere;
}

.booking-workshop-description {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.55;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.booking-workshop-summary {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.booking-workshop-summary-item {
  overflow: hidden;
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 16px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.9);
  background-clip: padding-box;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.booking-workshop-group.is-workshop .booking-workshop-summary-item {
  background: rgba(240, 249, 255, 0.94);
  border-color: rgba(14, 165, 233, 0.12);
}

.booking-workshop-group.is-retreat .booking-workshop-summary-item {
  background: rgba(255, 247, 237, 0.94);
  border-color: rgba(249, 115, 22, 0.14);
}

.booking-workshop-actions {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-start;
}

.booking-toggle-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 24px;
  padding: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #4b5563;
  white-space: normal;
  overflow-wrap: anywhere;
}

.booking-toggle-button::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform 0.18s ease;
}

.booking-offer-trigger[aria-expanded="true"] .booking-toggle-button::after {
  transform: rotate(-135deg) translateX(-1px);
}

.booking-retreat-list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
  min-width: 0;
}

.booking-retreat-list[hidden] {
  display: none;
}

.booking-retreat-list-head {
  display: grid;
  gap: 2px;
  padding: 0;
  min-width: 0;
}

.booking-retreat-list-head p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.booking-retreat-item {
  position: relative;
  display: grid;
  gap: 10px;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(229, 229, 229, 0.9);
  border-radius: 20px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.035);
}

.booking-retreat-item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 999px;
}

.booking-retreat-item.is-workshop {
  background: linear-gradient(135deg, rgba(240, 249, 255, 0.9), rgba(255, 255, 255, 0.94));
  border-color: rgba(14, 165, 233, 0.14);
}

.booking-retreat-item.is-workshop::before {
  background: linear-gradient(90deg, rgba(14, 165, 233, 0.9), rgba(34, 211, 238, 0.5));
}

.booking-retreat-item.is-retreat {
  background: linear-gradient(135deg, rgba(255, 247, 237, 0.92), rgba(255, 255, 255, 0.94));
  border-color: rgba(249, 115, 22, 0.16);
}

.booking-retreat-item.is-retreat::before {
  background: linear-gradient(90deg, rgba(249, 115, 22, 0.9), rgba(14, 165, 233, 0.45));
}

.booking-retreat-main {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  align-items: start;
  min-width: 0;
}

.booking-retreat-date {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.booking-retreat-date h4 {
  margin: 0;
  font-size: 17px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.booking-retreat-time {
  margin: 0;
  font-size: 13px;
  color: #525252;
}

.booking-retreat-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.booking-retreat-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.booking-retreat-status {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.booking-retreat-actions .btn {
  white-space: normal;
  min-height: 38px;
  padding-inline: 14px;
  font-size: 13px;
  text-align: center;
}

.booking-card-head {
  display: grid;
  gap: 10px;
}

.booking-card-kind {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #737373;
}

.booking-workshop-group.is-workshop .booking-card-kind {
  color: #0284c7;
}

.booking-workshop-group.is-retreat .booking-card-kind {
  color: #c2410c;
}

.booking-card-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.booking-card-title {
  margin: 0;
  font-size: 22px;
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.booking-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: normal;
  border: 1px solid transparent;
}

.booking-status-badge.is-available {
  color: #075985;
  background: rgba(224, 242, 254, 0.86);
  border-color: rgba(14, 165, 233, 0.18);
}

.booking-status-badge.is-few-spots-left {
  color: #9a3412;
  background: rgba(255, 237, 213, 0.94);
  border-color: rgba(249, 115, 22, 0.22);
}

.booking-status-badge.is-fully-booked,
.booking-status-badge.is-cancelled {
  color: #525252;
  background: rgba(245, 245, 245, 0.92);
  border-color: rgba(163, 163, 163, 0.22);
}

.booking-card-description {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.booking-card-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.booking-meta-item {
  min-width: 0;
  border: 1px solid rgba(229, 229, 229, 0.9);
  border-radius: 12px;
  padding: 7px 9px;
  background: rgba(250, 250, 250, 0.88);
}

.booking-meta-label {
  margin: 0 0 3px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #737373;
}

.booking-meta-value {
  margin: 0;
  color: #171717;
  font-size: 11px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.booking-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 2px;
}

.booking-availability-copy {
  margin: 0;
  font-size: 12px;
  color: #525252;
  overflow-wrap: anywhere;
}

.booking-button[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

.booking-dates-modal-card {
  max-width: 1120px;
}

.booking-dates-modal-body {
  display: grid;
  gap: 20px;
  padding: 26px;
}

.booking-dates-modal-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
}

.booking-dates-modal-intro {
  min-width: 0;
}

.booking-dates-modal-description {
  margin: 10px 0 0;
  max-width: 680px;
  color: var(--muted);
}

.booking-dates-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  min-width: min(360px, 100%);
}

.booking-dates-summary-item {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(229, 229, 229, 0.92);
  border-radius: 18px;
  padding: 12px 14px;
  background: rgba(250, 250, 249, 0.9);
  background-clip: padding-box;
}

.booking-calendar-groups {
  display: grid;
  gap: 16px;
}

.booking-calendar-group {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(229, 229, 229, 0.92);
  border-radius: 24px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.9);
}

.booking-calendar-group-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.booking-calendar-group-head h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.booking-calendar-group-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.booking-calendar-list {
  display: grid;
  gap: 10px;
}

.booking-calendar-row {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid rgba(229, 229, 229, 0.94);
  border-radius: 22px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.96);
  background-clip: padding-box;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.035);
}

.booking-calendar-row::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: calc(22px - 1px);
  pointer-events: none;
  z-index: 0;
}

.booking-calendar-row > * {
  position: relative;
  z-index: 1;
}

.booking-calendar-row.is-workshop {
  border-color: rgba(14, 165, 233, 0.14);
}

.booking-calendar-row.is-workshop::before {
  background: linear-gradient(180deg, rgba(240, 249, 255, 0.9), rgba(255, 255, 255, 0.96));
}

.booking-calendar-row.is-retreat {
  border-color: rgba(249, 115, 22, 0.14);
}

.booking-calendar-row.is-retreat::before {
  background: linear-gradient(180deg, rgba(255, 247, 237, 0.9), rgba(255, 255, 255, 0.96));
}

.booking-calendar-date-tile {
  overflow: hidden;
  display: grid;
  justify-items: center;
  gap: 2px;
  min-width: 72px;
  padding: 10px 8px;
  border-radius: 18px;
  border: 1px solid rgba(229, 229, 229, 0.92);
  background: rgba(255, 255, 255, 0.9);
  background-clip: padding-box;
}

.booking-calendar-row.is-workshop .booking-calendar-date-tile {
  border-color: rgba(14, 165, 233, 0.14);
  background: rgba(240, 249, 255, 0.96);
}

.booking-calendar-row.is-retreat .booking-calendar-date-tile {
  border-color: rgba(249, 115, 22, 0.14);
  background: rgba(255, 247, 237, 0.96);
}

.booking-calendar-weekday {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #737373;
}

.booking-calendar-day {
  margin: 0;
  font-size: 30px;
  line-height: 1;
  font-weight: 600;
  color: #171717;
}

.booking-calendar-row-main {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.booking-calendar-row-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.booking-calendar-primary {
  min-width: 0;
}

.booking-calendar-primary h4 {
  margin: 0;
  font-size: 17px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.booking-calendar-primary p {
  margin: 4px 0 0;
  color: #525252;
  font-size: 13px;
}

.booking-calendar-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.booking-calendar-fact {
  overflow: hidden;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(229, 229, 229, 0.94);
  background-clip: padding-box;
  color: #262626;
  font-size: 12px;
  line-height: 1.3;
}

.booking-calendar-fact span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #737373;
}

.booking-calendar-row-aside {
  display: grid;
  gap: 8px;
  justify-items: end;
  min-width: 148px;
}

.booking-calendar-row-aside .booking-availability-copy {
  text-align: right;
}

.booking-calendar-row-aside .booking-button {
  min-width: 132px;
}

.booking-calendar-empty {
  margin: 0;
}

.booking-state-card {
  grid-column: 1 / -1;
  text-align: left;
}

.booking-state-card h3 {
  margin: 0;
  font-size: 22px;
  letter-spacing: -0.03em;
  overflow-wrap: anywhere;
}

.booking-state-card p:last-child {
  margin-bottom: 0;
  color: var(--muted);
}

.booking-modal-card {
  max-width: 980px;
}

.booking-modal-layout {
  display: grid;
  grid-template-columns: 0.96fr 1.04fr;
  gap: 22px;
  padding: 24px;
}

.booking-summary-panel,
.booking-form-panel {
  min-width: 0;
}

.booking-summary-description {
  margin: 12px 0 0;
  font-size: 16px;
  color: var(--muted);
}

.booking-summary-box {
  margin-top: 20px;
}

.booking-summary-list {
  margin: 12px 0 0;
  display: grid;
  gap: 10px;
}

.booking-summary-list div {
  display: grid;
  gap: 4px;
}

.booking-summary-list dt {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #737373;
}

.booking-summary-list dd {
  margin: 0;
  font-size: 14px;
  color: #171717;
}

.booking-summary-note {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(37, 99, 235, 0.07), rgba(14, 165, 233, 0.05), rgba(249, 115, 22, 0.06)),
    #fff;
  border: 1px solid rgba(229, 229, 229, 0.9);
}

.booking-summary-note p {
  margin: 0;
  color: #404040;
  font-size: 14px;
}

.booking-form-panel {
  border: 1px solid rgba(229, 229, 229, 0.88);
  border-radius: 22px;
  background: linear-gradient(180deg, #fff, rgba(250, 250, 250, 0.96));
  padding: 20px;
}

.booking-form-panel h3 {
  font-size: 26px;
  line-height: 1.12;
}

.booking-form {
  margin-top: 18px;
  display: grid;
  gap: 12px;
}

.booking-field-group {
  display: grid;
  gap: 6px;
}

.booking-label {
  font-size: 13px;
  font-weight: 600;
  color: #262626;
}

.booking-field,
.booking-textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid rgba(212, 212, 212, 0.96);
  background: rgba(255, 255, 255, 0.98);
  color: #171717;
  border-radius: 14px;
  padding: 12px 14px;
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.booking-field:focus,
.booking-textarea:focus {
  border-color: rgba(37, 99, 235, 0.42);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.08);
}

.booking-textarea {
  resize: vertical;
}

.booking-field-hint {
  margin: 0;
  font-size: 13px;
  color: #737373;
}

.booking-payment-choice {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(20, 53, 74, 0.12);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 239, 230, 0.58));
}

.booking-payment-choice legend {
  padding: 0 6px;
  color: #262626;
  font-size: 13px;
  font-weight: 700;
}

.booking-payment-choice label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 11px;
  border: 1px solid rgba(20, 53, 74, 0.1);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.74);
  cursor: pointer;
}

.booking-payment-choice input {
  margin-top: 3px;
}

.booking-payment-choice strong,
.booking-payment-choice small {
  display: block;
}

.booking-payment-choice strong {
  color: #1f2933;
  font-size: 13px;
}

.booking-payment-choice small {
  margin-top: 2px;
  color: #667085;
  font-size: 12px;
  line-height: 1.45;
}

.booking-account-note {
  margin: 2px 0 8px;
  padding: 14px 16px;
  border: 1px solid rgba(20, 53, 74, 0.1);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  color: #52616c;
  font-size: 14px;
  line-height: 1.65;
}

.booking-account-note strong {
  color: #14354a;
  font-weight: 600;
}

.booking-account-note a {
  color: #0f5870;
  font-weight: 600;
}

.booking-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(229, 229, 229, 0.92);
  background: rgba(250, 250, 250, 0.92);
  color: #404040;
  font-size: 13px;
  line-height: 1.45;
}

.booking-checkbox input {
  margin-top: 2px;
  flex: 0 0 auto;
}

.booking-form-feedback {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.booking-form-feedback:empty {
  display: none;
}

.booking-form-feedback.is-error {
  color: #b91c1c;
}

.booking-form-feedback.is-success {
  color: #166534;
}

.booking-footer {
  margin-top: 0;
}

.booking-message-page .site-nav {
  position: sticky;
}

.booking-message-main {
  min-height: calc(100vh - 58px);
}

.booking-message-section {
  padding: 72px 0;
}

.booking-message-card {
  max-width: 860px;
  margin: 0 auto;
  padding: 32px;
  border: 1px solid var(--border);
  border-radius: 26px;
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.09), transparent 30%),
    radial-gradient(circle at bottom left, rgba(249, 115, 22, 0.09), transparent 24%),
    rgba(255, 255, 255, 0.95);
  box-shadow: 0 22px 50px rgba(15, 23, 42, 0.06);
}

.booking-message-copy {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.booking-message-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
}

@media (max-width: 1080px) {
  .booking-workshop-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .booking-modal-layout {
    grid-template-columns: 1fr;
  }

  .booking-dates-modal-header {
    grid-template-columns: 1fr;
    align-items: start;
  }
}

@media (max-width: 820px) {
  .booking-page .site-nav {
    position: sticky;
  }

  .booking-hero-grid {
    padding: 42px 0 46px;
  }

  .booking-hero-note h2 {
    max-width: none;
    font-size: 24px;
  }

  .booking-workshop-title,
  .booking-card-title {
    font-size: 20px;
  }

  .booking-workshop-summary,
  .booking-retreat-meta,
  .booking-card-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .booking-retreat-actions,
  .booking-card-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .booking-button {
    width: 100%;
  }

  .booking-modal-layout {
    padding: 20px;
  }

  .booking-form-panel {
    padding: 18px;
  }

  .booking-dates-modal-body {
    padding: 20px;
  }

  .booking-dates-summary {
    min-width: 0;
  }

  .booking-calendar-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .booking-calendar-row-aside {
    grid-column: 1 / -1;
    justify-items: stretch;
    min-width: 0;
  }

  .booking-calendar-row-aside .booking-availability-copy {
    text-align: left;
  }
}

@media (max-width: 640px) {
  .booking-page .site-nav-inner {
    min-height: 56px;
  }

  .booking-page .site-nav-links {
    gap: 6px;
  }

  .booking-page .site-nav-link {
    padding: 8px 12px;
  }

  .booking-section {
    padding-bottom: 58px;
  }

  .booking-card,
  .booking-state-card,
  .booking-hero-note {
    padding: 16px;
    border-radius: 18px;
  }

  .booking-workshop-group {
    padding: 0;
    border-radius: 18px;
  }

  .booking-workshop-surface {
    padding: 16px;
    border-radius: inherit;
  }

  .booking-hero-note h2 {
    font-size: 22px;
  }

  .booking-results-grid,
  .booking-workshop-summary,
  .booking-retreat-meta,
  .booking-card-meta,
  .booking-dates-summary {
    grid-template-columns: 1fr;
  }

  .booking-modal-overlay {
    padding: 18px 10px;
  }

  .booking-dates-modal-card,
  .booking-modal-card {
    border-radius: 26px;
    max-height: 92vh;
  }

  .booking-dates-modal-body {
    padding: 16px;
    gap: 16px;
  }

  .booking-calendar-group {
    padding: 14px;
    border-radius: 20px;
  }

  .booking-calendar-group-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .booking-calendar-row {
    grid-template-columns: 1fr;
  }

  .booking-calendar-date-tile {
    justify-self: flex-start;
    min-width: 64px;
  }

  .booking-calendar-row-topline {
    flex-direction: column;
    align-items: flex-start;
  }

  .booking-calendar-facts {
    display: grid;
    grid-template-columns: 1fr;
  }

  .booking-modal-layout {
    padding: 16px;
    gap: 18px;
  }

  .booking-summary-description {
    font-size: 15px;
  }

  .booking-message-card {
    padding: 22px;
    border-radius: 22px;
  }

  .booking-message-copy p {
    font-size: 16px;
  }
}
