/* ============================================================
   Homepage Gutenberg content sections.
   Moved from home.css so the static front page uses the shared
   frontend/editor component stylesheet instead of a per-page CSS file.
   ============================================================ */
/* =============================================
       CSS VARIABLES
    ============================================= */
    :root {
      --bg-primary: #f6f5f8;
      --bg-alt: #eeedf1;
      --bg-dark: #1a1a2e;
      --bg-footer: #161628;
      --text-heading: #1a1a2e;
      --text-body: #4a4a5a;
      --text-muted: #7a7a8a;
      --purple: #a78bfa;
      --purple-hover: #8b5cf6;
      --purple-bright: #7c5cfc;
      --purple-light: #ede9fe;
      --icon-bg: #e9e8ed;
      --card-bg: #fff;
      --card-radius: 20px;
      --card-shadow: 0 2px 16px rgba(0,0,0,0.05);
      --max-width: 1200px;
      --star-gold: #d4a853;
    }

    /* =============================================
       SUPERTREE ICON BLOCK
    ============================================= */
    .st-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
    }

    .st-icon::before {
      content: "";
      display: block;
      width: 1em;
      height: 1em;
      background: currentColor;
      -webkit-mask: var(--st-icon-url) center / contain no-repeat;
              mask: var(--st-icon-url) center / contain no-repeat;
    }

    .st-icon--location { --st-icon-url: url("assets/icons/location.svg"); }
    .st-icon--users { --st-icon-url: url("assets/icons/users.svg"); }
    .st-icon--briefcase { --st-icon-url: url("assets/icons/briefcase.svg"); }
    .st-icon--pulse { --st-icon-url: url("assets/icons/pulse.svg"); }
    .st-icon--star { --st-icon-url: url("assets/icons/star.svg"); }
    .st-icon--workshop { --st-icon-url: url("assets/icons/workshop.svg"); }
    .st-icon--venue { --st-icon-url: url("assets/icons/venue.svg"); }
    .st-icon--clock { --st-icon-url: url("assets/icons/clock.svg"); }
    .st-icon--phone { --st-icon-url: url("assets/icons/phone.svg"); }
    .st-icon--globe { --st-icon-url: url("assets/icons/globe.svg"); }
    .st-icon--building { --st-icon-url: url("assets/icons/building.svg"); }

    .feature-card-icon.st-icon::before { width: 24px; height: 24px; }
    :is(.standard-page__content, .editor-styles-wrapper) .difference-icon.st-icon::before { width: 20px; height: 20px; }
    :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .workshop-icon.st-icon::before { width: 22px; height: 22px; }
    :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-list-icon.st-icon::before { width: 16px; height: 16px; }

    /* =============================================
       LAYOUT
    ============================================= */
    .container {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0 80px;
    }
    .section-label {
      font-size: 12px !important;
      font-weight: 700 !important;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--purple);
      display: block;
      margin-bottom: 14px;
    }
    .section-label--center { text-align: center; }
    .section-label--light { color: rgba(255,255,255,0.5); }
    .section-title {
      font-size: 36px;
      font-weight: 400;
      color: var(--text-heading);
      line-height: 125%;
      margin-bottom: 16px;
    }
    .section-title--center { text-align: center; }
    .section-title--light { color: #fff; }
    .section-subtitle {
      font-size: 17px;
      color: var(--text-body);
      line-height: 175%;
      max-width: 560px;
    }
    .section-subtitle--center { text-align: center; margin: 0 auto; }
    .section-subtitle--light { color: rgba(255,255,255,0.65); }

    /* =============================================
       BUTTONS
    ============================================= */
    .wp-block-button.btn-primary,
    .wp-block-button.btn-primary--white,
    .wp-block-button.btn-outline,
    .wp-block-button.btn-outline--white,
    .wp-block-button.btn-small,
    .wp-block-button.btn-text {
      display: contents;
      padding: 0;
      border: 0;
      background: transparent;
      box-shadow: none;
    }
    /* Override Gutenberg core's default .wp-block-button__link { width: 100% }
       so Supertree pill buttons size to their content, not their column. */
    .wp-block-button.btn-primary > .wp-block-button__link,
    .wp-block-button.btn-primary--white > .wp-block-button__link,
    .wp-block-button.btn-outline > .wp-block-button__link,
    .wp-block-button.btn-outline--white > .wp-block-button__link,
    .wp-block-button.btn-small > .wp-block-button__link,
    .wp-block-button.btn-text > .wp-block-button__link {
      width: auto;
    }
    a.btn-primary,
    .btn-primary > .wp-block-button__link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      background: var(--purple);
      color: #fff !important;
      padding: 16px 40px;
      border-radius: 50px;
      font-weight: 500 !important;
      font-size: 16px !important;
      line-height: 120%;
      transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
      border: none;
      cursor: pointer;
      text-decoration: none !important;
    }
    a.btn-primary:hover,
    .btn-primary > .wp-block-button__link:hover {
      background: var(--purple-hover);
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(139, 92, 246, 0.3);
    }
    a.btn-primary--white,
    .btn-primary--white > .wp-block-button__link {
      background: #fff;
      color: var(--bg-dark) !important;
    }
    a.btn-primary--white:hover,
    .btn-primary--white > .wp-block-button__link:hover {
      background: #f0f0f0;
      box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    }
    a.btn-outline,
    .btn-outline > .wp-block-button__link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      background: transparent;
      color: var(--text-body) !important;
      padding: 16px 40px;
      border-radius: 50px;
      border: 1px solid rgba(26,26,46,0.14);
      font-weight: 500 !important;
      font-size: 16px !important;
      line-height: 120%;
      transition: all 0.2s ease;
      cursor: pointer;
      text-decoration: none !important;
      box-shadow: none;
    }
    a.btn-outline:hover,
    .btn-outline > .wp-block-button__link:hover {
      border-color: var(--text-heading);
      color: var(--text-heading) !important;
      transform: translateY(-1px);
    }
    a.btn-outline--white,
    .btn-outline--white > .wp-block-button__link {
      color: #fff !important;
      border-color: rgba(255,255,255,0.4);
    }
    a.btn-outline--white:hover,
    .btn-outline--white > .wp-block-button__link:hover {
      background: #fff;
      color: var(--bg-dark) !important;
    }
    a.btn-small,
    .btn-small > .wp-block-button__link { padding: 12px 28px; font-size: 14px !important; }
    a.btn-text,
    .btn-text > .wp-block-button__link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: var(--purple) !important;
      background: transparent;
      padding: 0;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      font-weight: 600;
      font-size: 15px;
      transition: gap 0.2s ease;
      text-decoration: none !important;
    }
    a.btn-text::after,
    .btn-text > .wp-block-button__link::after {
      content: "→";
      font-size: 16px;
      line-height: 1;
    }
    a.btn-text:hover,
    .btn-text > .wp-block-button__link:hover { gap: 10px; }

    /* =============================================
       2. HERO — purple gradient, centered, premium
    ============================================= */
    .hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      background: linear-gradient(
        160deg,
        #8B5CF6 0%,
        #9b6ffb 40%,
        #a07dfb 60%,
        #8B5CF6 100%
      );
    }
    /* Subtle top-light for dimension */
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0.12) 0%, transparent 50%);
      z-index: 1;
    }
    /* Supertree mark watermark belongs to theme styling, not page content. */
    .hero::after {
      content: '';
      position: absolute;
      left: 50%;
      top: 0;
      z-index: 1;
      width: auto;
      height: 100%;
      aspect-ratio: 821 / 631;
      transform: translateX(-50%);
      background: #fff;
      opacity: 0.06;
      pointer-events: none;
      user-select: none;
      -webkit-mask: url('assets/common/background-logo.svg') center / contain no-repeat;
      mask: url('assets/common/background-logo.svg') center / contain no-repeat;
    }
    .hero-content {
      position: relative;
      z-index: 2;
      text-align: center;
      padding: 160px 80px 120px;
      max-width: 800px;
    }
    /* `.hero .hero-badge` (specificity 0,2,0) wins over the generic
       `.hero p` subtitle rule (0,1,1) below — needed because the badge
       was migrated from <div> to a native <p> Gutenberg block and would
       otherwise inherit subtitle styling (19px, line-height 175%, etc.). */
    .hero .hero-badge {
      display: inline-block;
      background: rgba(255,255,255,0.08);
      color: rgba(255,255,255,0.7);
      padding: 10px 24px;
      border-radius: 50px;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 1.5px;
      line-height: 1;
      text-transform: uppercase;
      margin: 0 0 36px;
      max-width: none;
      border: 1px solid rgba(255,255,255,0.1);
      backdrop-filter: blur(4px);
    }
    .hero h1 {
      font-size: 60px;
      font-weight: 400;
      line-height: 115%;
      color: #fff;
      margin-bottom: 24px;
      letter-spacing: -0.5px;
      text-wrap: balance;
    }
    .hero p {
      font-size: 19px;
      line-height: 175%;
      color: rgba(255,255,255,0.65);
      margin-bottom: 48px;
      max-width: 540px;
      text-wrap: pretty;
      margin-left: auto;
      margin-right: auto;
    }
    .hero-ctas {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
      justify-content: center;
    }
    /* White primary button on hero for contrast */
    .hero a.btn-primary,
    .hero .btn-primary > .wp-block-button__link,
    .hero .btn-outline > .wp-block-button__link {
      display: inline-flex !important;
      width: auto;
    }
    .hero a.btn-primary,
    .hero .btn-primary > .wp-block-button__link {
      background: #fff;
      color: var(--bg-dark) !important;
      font-weight: 500 !important;
    }
    .hero a.btn-primary:hover,
    .hero .btn-primary > .wp-block-button__link:hover {
      background: #f0f0f0;
      box-shadow: 0 8px 32px rgba(255,255,255,0.2);
    }

    /* =============================================
       3. CLIENT LOGOS BAR
    ============================================= */
    .clients-bar {
      background: var(--bg-alt);
      padding: 56px 0;
    }
    .clients-bar-label {
      text-align: center;
      font-size: 12px;
      font-weight: 700;
      color: var(--text-muted);
      margin-bottom: 32px;
      letter-spacing: 2px;
      text-transform: uppercase;
    }
    .clients-bar-marquee {
      overflow: hidden;
      position: relative;
      mask-image: linear-gradient(to right, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
      -webkit-mask-image: linear-gradient(to right, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
    }
    .clients-bar-track {
      display: flex;
      align-items: center;
      gap: 0;
      width: max-content;
      background: var(--bg-alt);
      animation: clients-scroll 50s linear infinite;
    }
    .clients-bar-marquee:hover .clients-bar-track { animation-play-state: paused; }
    @keyframes clients-scroll {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }
    @media (prefers-reduced-motion: reduce) {
      .clients-bar-track { animation: none; }
    }
    .clients-bar-logo {
      flex-shrink: 0;
      height: var(--h, 36px);
      width: 180px;
      object-fit: contain;
      filter: grayscale(1);
      mix-blend-mode: multiply;
      opacity: 0.75;
      transition: opacity 0.3s;
    }
    .clients-bar-logo:hover { opacity: 1; }
    /* For white-on-transparent logos (e.g. Eagle): invert so they read dark */
    .clients-bar-logo.logo-invert {
      filter: grayscale(1) invert(1);
    }

    /* =============================================
       4. THREE PILLARS — photo cards, premium style
    ============================================= */
    .pillars {
      background: var(--bg-primary);
      padding: clamp(72px, 9vw, 120px) 0;
    }
    .pillars-header { margin-bottom: 56px; }
    .pillars-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }
    .pillars-grid > .pillar-card {
      margin-block-start: 0;
    }
    .pillar-card {
      background: var(--card-bg);
      border-radius: var(--card-radius);
      overflow: hidden;
      box-shadow: var(--card-shadow);
      border: 1px solid rgba(0,0,0,0.04);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .pillar-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 16px 48px rgba(0,0,0,0.1);
    }
    .pillar-card-image {
      height: 260px;
      overflow: hidden;
      position: relative;
    }
    .pillar-card-image::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 40%;
      background: linear-gradient(transparent, rgba(0,0,0,0.04));
      pointer-events: none;
    }
    .pillar-card-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
    }
    .pillar-card:hover .pillar-card-image img { transform: scale(1.05); }
    .pillar-card-body {
      padding: 36px 32px;
    }
    .pillar-card-body h3 {
      font-size: 21px;
      font-weight: 700;
      margin-bottom: 10px;
      color: var(--text-heading);
    }
    .pillar-card-body p {
      font-size: 15px;
      line-height: 175%;
      color: var(--text-body);
      margin-bottom: 16px;
    }

    /* =============================================
       5. ABOUT / WHAT IS SUPERTREE
    ============================================= */
    .about {
      background: var(--bg-alt);
      padding: clamp(72px, 9vw, 120px) 0;
    }
    .about-inner {
      display: flex;
      gap: 64px;
      align-items: stretch;
    }
    /* About image: take the absolute-positioning trick so the figure does
       not contribute its natural image height to the row. .about-text then
       dictates the row height, and align-items: stretch makes the image
       column match it exactly — image top aligns with eyebrow, bottom
       aligns with end of text/CTA. */
    .about-image {
      flex: 1;
      position: relative;
    }
    .about-image .wp-block-image {
      position: absolute;
      inset: 0;
      margin: 0;
    }
    .about-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: var(--card-radius);
      box-shadow: 0 12px 40px rgba(0,0,0,0.08);
    }
    .about-text { flex: 1.1; }
    .about-text h2 {
      font-size: 36px;
      font-weight: 400;
      line-height: 125%;
      color: var(--text-heading);
      margin-bottom: 16px;
    }
    .about-text p {
      font-size: 16px;
      line-height: 175%;
      color: var(--text-body);
      margin-bottom: 16px;
    }
    .about-ctas { margin-top: 32px; display: flex; gap: 16px; }

    /* =============================================
       5b. STATS BANNER
    ============================================= */
    .stats {
      position: relative;
      background: linear-gradient(
        160deg,
        #8B5CF6 0%,
        #9b6ffb 40%,
        #a07dfb 60%,
        #8B5CF6 100%
      );
      padding: 64px 0;
      overflow: hidden;
      isolation: isolate;
    }
    .stats::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0.12) 0%, transparent 50%);
      z-index: 1;
      pointer-events: none;
    }
    .stats .container { position: relative; z-index: 2; }
    .stats-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 32px;
      text-align: center;
    }
    .stats-grid > .stat-item {
      margin-block-start: 0;
    }
    .stat-item {
      position: relative;
    }
    .stat-item:not(:last-child)::after {
      content: '';
      position: absolute;
      right: -16px;
      top: 10%;
      height: 80%;
      width: 1px;
      background: rgba(255,255,255,0.1);
    }
    .stat-number {
      font-size: 44px;
      font-weight: 800;
      color: #fff;
      line-height: 1;
      margin-bottom: 10px;
      letter-spacing: -1px;
    }
    .stat-number span {
      color: #fff;
    }
    .stat-label {
      font-size: 14px;
      font-weight: 500;
      color: rgba(255,255,255,0.5);
      letter-spacing: 0.5px;
    }

    /* =============================================
       6. WHY SUPERTREE — photo + feature cards
    ============================================= */
    .features {
      background: var(--bg-primary);
      padding: clamp(72px, 9vw, 120px) 0;
    }
    .features-inner {
      display: flex;
      gap: 56px;
      align-items: stretch;
    }
    /* Why Supertree image: same absolute-positioning trick as .about-image
       so the figure doesn't dictate row height. .features-content drives
       the height; image stretches to match (eyebrow top → card grid bottom). */
    .features-photo {
      flex: 1;
      position: relative;
    }
    .features-photo .wp-block-image {
      position: absolute;
      inset: 0;
      margin: 0;
    }
    .features-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: left center;
      border-radius: var(--card-radius);
      box-shadow: 0 12px 40px rgba(0,0,0,0.08);
    }
    .features-content { flex: 1.1; }
    .features-content .section-label { margin-bottom: 14px; }
    .features-content .section-title { margin-bottom: 12px; }
    .features-content > p {
      font-size: 16px;
      line-height: 175%;
      color: var(--text-body);
      margin-bottom: 36px;
    }
    .features-list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
    }
    .features-list > .feature-card {
      margin-block-start: 0;
    }
    .feature-card {
      background: var(--card-bg);
      border-radius: 16px;
      padding: 24px 20px;
      box-shadow: var(--card-shadow);
      transition: transform 0.3s ease;
    }
    .feature-card:hover { transform: translateY(-4px); }
    .feature-card-icon {
      width: 52px;
      height: 52px;
      background: var(--purple-light);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 18px;
    }
    .feature-card-icon svg { width: 24px; height: 24px; color: var(--purple-bright); }
    .feature-card h4 {
      font-size: 16px;
      font-weight: 700;
      color: var(--text-heading);
      margin-bottom: 6px;
    }
    .feature-card p:not(.feature-card-icon) {
      font-size: 14px;
      line-height: 1.55;
      color: var(--text-muted);
    }
    .feature-card p.feature-card-icon {
      color: var(--purple-bright);
      font-size: 22px;
      font-weight: 800;
      line-height: 1;
      margin-bottom: 14px;
    }

    /* =============================================
       8. TESTIMONIALS
    ============================================= */
    .testimonials {
      background: var(--bg-primary);
      padding: clamp(72px, 9vw, 120px) 0;
    }
    .testimonials-header { margin-bottom: 56px; }
    .testimonials-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }
    .testimonials-grid > .testimonial-card {
      margin-block-start: 0;
    }
    .testimonial-card {
      background: var(--card-bg);
      border-radius: var(--card-radius);
      padding: 32px 28px;
      box-shadow: var(--card-shadow);
      display: flex;
      flex-direction: column;
    }
    .testimonial-card blockquote { flex: 1; }
    .testimonial-stars {
      display: flex;
      gap: 3px;
      margin-bottom: 16px;
      color: var(--star-gold);
      fill: var(--star-gold);
      font-size: 16px;
      letter-spacing: 3px;
      line-height: 1;
    }
    .testimonial-stars svg { width: 16px; height: 16px; color: var(--star-gold); fill: var(--star-gold); }
    .testimonial-card blockquote,
    .testimonial-quote {
      font-size: 15px;
      line-height: 1.6;
      color: var(--text-body);
      font-style: italic;
      margin: 0 0 24px;
      padding: 0;
      border: 0;
    }
    /* Gutenberg wraps quote text in an inner <p>. Force italic + reset
       paragraph defaults so the inner element inherits the quote styling
       instead of body styles (font-style was being lost to the inner p). */
    .testimonial-quote p,
    .testimonial-card blockquote p {
      font-style: italic;
      font-size: inherit;
      line-height: inherit;
      color: inherit;
      margin: 0;
    }
    .testimonial-author { display: flex; align-items: center; gap: 12px; }
    .testimonial-avatar {
      width: 44px; height: 44px;
      border-radius: 50%;
      background: var(--purple-light);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 16px;
      font-weight: 700;
      color: var(--purple-bright);
      margin: 0;
      flex-shrink: 0;
    }
    /* Cancel WP's is-layout-flow auto-injected top margin on the author-info
       div (which was being added because it's the 2nd flex item in
       .testimonial-author and WP inserts block-gap between siblings).
       Then make the info column tight + vertically centered so name/company
       align with the avatar circle. */
    .testimonial-author > .testimonial-author-info {
      margin: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 2px;
      min-height: 44px;
    }
    .testimonial-author-info > * { margin: 0 !important; }
    .testimonial-author-info strong,
    .testimonial-author-info .testimonial-name {
      display: block;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.25;
      color: var(--text-heading);
    }
    .testimonial-author-info span,
    .testimonial-author-info p:not(.testimonial-name) {
      font-size: 13px;
      line-height: 1.25;
      color: var(--text-muted);
    }

    /* =============================================
       9. MEETING ROOMS & EVENT SPACES
    ============================================= */
    .spaces {
      background: var(--bg-alt);
      padding: clamp(72px, 9vw, 120px) 0;
    }
    .spaces-header { margin-bottom: 56px; }
    .spaces-row {
      display: flex;
      gap: 0;
      align-items: stretch;
      margin-bottom: 48px;
      background: var(--card-bg);
      border-radius: var(--card-radius);
      overflow: hidden;
      box-shadow: var(--card-shadow);
      border: 1px solid rgba(0,0,0,0.04);
    }
    .spaces-row:last-child { margin-bottom: 0; }
    .spaces-row.reverse { flex-direction: row-reverse; }
    /* Image: absolute-positioning trick so the <figure> doesn't impose its
       natural image height on the row. .spaces-content drives row height. */
    .spaces-image {
      flex: 1.1;
      position: relative;
    }
    .spaces-image .wp-block-image {
      position: absolute;
      inset: 0;
      margin: 0;
      border-radius: 0;
    }
    .spaces-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 35%;
      border-radius: 0;
      display: block;
    }
    .spaces-content {
      flex: 1;
      padding: 28px 36px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .spaces-content h3 { font-size: 22px; font-weight: 700; color: var(--text-heading); margin: 0 0 10px; line-height: 1.2; }
    /* Specificity bump: .spaces-content .section-label (0,2,0) wins over
       .spaces-content p (0,1,1) so the eyebrow renders purple, not body grey.
       Same pattern as .hero .hero-badge. */
    .spaces-content .section-label {
      color: var(--purple);
      font-size: 12px !important;
      font-weight: 700 !important;
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 14px;
      line-height: 1;
    }
    .spaces-content p { font-size: 14px; line-height: 1.55; color: var(--text-body); margin: 0 0 16px; }
    .spaces-features { list-style: none; margin: 0 0 16px; padding-left: 0; }
    .spaces-features li {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 14px;
      color: var(--text-body);
      margin: 0 0 6px;
    }
    .spaces-features li:last-child { margin-bottom: 0; }
    /* Reset WP's auto-injected block-gap inside the content column so margins
       above stay deterministic instead of stacking with WP defaults. */
    .spaces-content > * { margin-block-start: 0; }
    .spaces-content .section-label { margin-top: 0; }
    /* Circle-check icon via inline SVG background-image. CSS-only so we
       don't need to touch the block markup (Lucide-style check-circle). */
    .spaces-features li::before {
      content: "";
      display: inline-block;
      width: 18px;
      height: 18px;
      flex-shrink: 0;
      background-color: var(--purple);
      -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='m9 12 2 2 4-4'/></svg>") no-repeat center / contain;
              mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='m9 12 2 2 4-4'/></svg>") no-repeat center / contain;
    }
    .spaces-features li svg { width: 20px; height: 20px; color: var(--purple); flex-shrink: 0; }

    /* =============================================
       10. EVENTS
    ============================================= */
    .events-section {
      background: var(--bg-primary);
      padding: clamp(72px, 9vw, 120px) 0;
    }
    .events-header { margin-bottom: 56px; }
    .events-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }
    .events-grid > .event-card {
      margin-block-start: 0;
    }
    .event-card {
      background: var(--card-bg);
      border-radius: var(--card-radius);
      padding: 36px 28px;
      box-shadow: var(--card-shadow);
      transition: transform 0.3s ease;
    }
    .event-card:hover { transform: translateY(-4px); }
    /* Grid: square 56px badge column, 1fr meta column. Badge spans both
       rows; rows are half the badge height so day pins to bottom of row 1
       and time to top of row 2 → tight, vertically-centered stack. */
    .event-date {
      display: grid;
      grid-template-columns: 56px 1fr;
      grid-template-rows: 28px 28px;
      column-gap: 16px;
      align-items: center;
      margin: 0 0 20px;
    }
    .event-date > * { margin-block-start: 0 !important; }
    .event-date p { margin: 0; }
    .event-date-badge {
      grid-row: 1 / 3;
      grid-column: 1;
      width: 56px;
      height: 56px;
      background: var(--purple-light);
      border-radius: 12px;
      padding: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2px;
    }
    /* Kill WP's auto block-gap inside the badge so "27" and "APR" use our gap. */
    .event-date-badge > * { margin-block-start: 0 !important; }
    .event-date-badge .day { display: block; font-size: 22px; font-weight: 800; color: var(--text-heading); line-height: 1; margin: 0; letter-spacing: -0.5px; }
    .event-date-badge .month { display: block; font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; margin: 0; line-height: 1; }
    /* Day pinned to bottom of row 1, time to top of row 2 → tight middle. */
    .event-date-day { grid-row: 1; grid-column: 2; align-self: end; }
    .event-date-time { grid-row: 2; grid-column: 2; align-self: start; }
    /* Day-of-week + time on two lines (reference design).
       Both are muted grey, regular weight — they read as one quiet meta block. */
    .event-date-day { font-size: 16px; color: var(--text-muted); font-weight: 400; line-height: 1.35; }
    .event-date-time { font-size: 16px; color: var(--text-muted); font-weight: 400; line-height: 1.35; }
    .event-card h3 { font-size: 18px; font-weight: 700; color: var(--text-heading); margin: 0 0 8px; line-height: 1.3; }
    /* Description only. Use a direct-child selector so this never leaks onto
       the nested badge paragraphs (.day/.month) or the meta paragraphs
       (.event-date-day/.event-date-time), which previously inherited this
       rule's font-size/line-height/margin and pushed "27" out of the badge. */
    .event-card > p {
      font-size: 14px;
      line-height: 1.7;
      color: var(--text-body);
      margin: 0 0 18px;
    }
    /* Reset WP's auto-injected margin-block-start between siblings in event cards. */
    .event-card > * { margin-block-start: 0; }
    .event-date > * { margin-block-start: 0; }

    /* =============================================
       11. BLOG
    ============================================= */
    /* Scoped to .standard-page so it does not match WordPress's
       <body class="blog"> on the posts index. */
    .standard-page .blog {
      background: var(--bg-alt);
      padding: clamp(72px, 9vw, 120px) 0;
    }
    .blog-header { margin-bottom: 56px; }
    .blog-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
      margin-bottom: 48px;
    }
    .blog-card {
      background: var(--card-bg);
      border-radius: var(--card-radius);
      overflow: hidden;
      box-shadow: var(--card-shadow);
      transition: transform 0.3s ease;
    }
    .blog-card:hover { transform: translateY(-4px); }
    .blog-card-image {
      display: block;
      height: 200px;
      overflow: hidden;
      background: var(--icon-bg);
    }
    .blog-card-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
    }
    .blog-card:hover .blog-card-image img { transform: scale(1.04); }
    .blog-card-body { padding: 28px 24px; }
    .blog-card-tag {
      font-size: 12px;
      font-weight: 600;
      color: var(--purple);
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 10px;
      display: block;
    }
    /* Title + excerpt are clamped to keep cards compact and uniform-height
       regardless of how long the underlying post title/excerpt is. Purely a
       preview clamp — the article content is untouched. */
    .blog-card h3 {
      font-size: 17px; font-weight: 700; color: var(--text-heading);
      margin-bottom: 8px; line-height: 145%;
      display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
    }
    .blog-card-body p {
      font-size: 14px; line-height: 170%; color: var(--text-body); margin-bottom: 16px;
      display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
    }
    /* CTA: the button lives in a Gutenberg .wp-block-buttons flex row, so
       text-align:center on the wrapper can't center it — center the flex row. */
    .blog-cta { text-align: center; }
    .blog-cta .wp-block-buttons { justify-content: center; }

    /* =============================================
       12. FAQ
    ============================================= */
    .faq {
      background: var(--bg-primary);
      padding: clamp(72px, 9vw, 120px) 0;
    }
    .faq-layout {
      display: grid;
      grid-template-columns: 1fr 1.2fr;
      gap: 64px;
      align-items: start;
    }
    .faq-side .section-title { margin-bottom: 18px; }
    .faq-side p {
      color: var(--text-body);
      margin-bottom: 26px;
      max-width: 38ch;
      line-height: 1.65;
    }
    .faq-list { max-width: none; margin: 0; }
    .faq-list > .faq-item { margin-block-start: 0; }
    .faq-item {
      border-bottom: 1px solid rgba(26,26,46,0.1);
      color: var(--text-heading);
    }
    .faq-item:first-child { border-top: 1px solid rgba(26,26,46,0.1); }
    .faq-item summary {
      padding: 26px 0;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 24px;
      font-size: 17px;
      font-weight: 600;
      color: var(--text-heading);
      list-style: none;
      transition: color 0.25s cubic-bezier(.2,.7,.2,1);
    }
    .faq-item summary:hover { color: var(--purple-bright); }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary::after {
      content: "+";
      width: 32px;
      height: 32px;
      border-radius: 50%;
      border: 1px solid rgba(26,26,46,0.08);
      display: grid;
      place-items: center;
      flex-shrink: 0;
      color: var(--text-heading);
      font-size: 20px;
      line-height: 1;
      transition: background 0.3s cubic-bezier(.2,.7,.2,1), border-color 0.3s cubic-bezier(.2,.7,.2,1), color 0.3s cubic-bezier(.2,.7,.2,1), transform 0.3s cubic-bezier(.2,.7,.2,1);
    }
    .faq-item[open] summary::after {
      background: var(--bg-dark);
      border-color: var(--bg-dark);
      color: #fff;
      transform: rotate(45deg);
    }
    .faq-item > p {
      padding: 0 0 26px;
      margin: 0;
      font-size: 16px;
      line-height: 1.7;
      color: var(--text-body);
      max-width: 60ch;
    }

    /* =============================================
       13. BOOK A TOUR CTA
    ============================================= */
    .cta-section {
      position: relative;
      background: linear-gradient(
        160deg,
        #8B5CF6 0%,
        #9b6ffb 40%,
        #a07dfb 60%,
        #8B5CF6 100%
      );
      color: #fff;
      padding: clamp(72px, 9vw, 120px) 0;
      overflow: hidden;
      isolation: isolate;
    }
    .cta-section::before {
      content: '';
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 60% 50% at 15% 20%, rgba(255,255,255,0.22), transparent 60%),
        radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0.10) 0%, transparent 50%);
      z-index: 1;
      pointer-events: none;
    }
    .cta-section .container { position: relative; z-index: 2; }
    .cta-inner {
      display: grid;
      grid-template-columns: 1.3fr 1fr;
      gap: 64px;
      align-items: center;
    }
    .cta-section h2 {
      font-size: 36px;
      font-weight: 400;
      line-height: 125%;
      color: #fff;
      margin-bottom: 16px;
    }
    .cta-section p {
      font-size: 17px;
      line-height: 175%;
      color: rgba(255,255,255,0.7);
      margin-bottom: 32px;
      max-width: 48ch;
    }
    .cta-ctas { display: flex; gap: 14px; flex-wrap: wrap; }
    .cta-card {
      background: #fff;
      border-radius: 22px;
      padding: 32px 30px;
      box-shadow: 0 20px 60px rgba(26,26,46,0.18);
    }
    .cta-section .cta-card h3 {
      font-size: 12px; font-weight: 700;
      letter-spacing: 0.18em; text-transform: uppercase;
      color: var(--purple-hover);
      margin-bottom: 10px;
    }
    .cta-section .cta-card .cta-card-lead {
      color: var(--text-body);
      font-size: 14px;
      line-height: 1.6;
      margin-bottom: 20px;
      max-width: none;
    }
    .cta-card .hs-form-frame { margin: 0 !important; padding: 0 !important; }
    .cta-card .hs-form-frame iframe { min-height: 0 !important; margin: 0 !important; }
    .cta-card label { color: var(--text-heading) !important; font-size: 13px !important; }
    .cta-card input[type="text"],
    .cta-card input[type="email"],
    .cta-card input[type="tel"],
    .cta-card select,
    .cta-card textarea {
      background: #fff !important;
      border: 1px solid rgba(26,26,46,0.15) !important;
      color: var(--text-heading) !important;
      border-radius: 12px !important;
    }
    .cta-card input::placeholder { color: rgba(26,26,46,0.4) !important; }

    /* =============================================
       RESPONSIVE — TABLET
    ============================================= */
    @media (max-width: 968px) {
      .container { padding: 0 40px; }

      .hero { min-height: 80vh; }
      .hero-content { padding: 130px 40px 80px; }
      .hero h1 { font-size: 46px; }

      .pillars-grid { grid-template-columns: 1fr; gap: 20px; }

      .about-inner { flex-direction: column; gap: 40px; }
      /* On mobile the image flows naturally — release the absolute trick. */
      .about-image .wp-block-image { position: static; }

      .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
      .stat-item:nth-child(2)::after { display: none; }
      .stat-number { font-size: 36px; }

      .features-inner { flex-direction: column; gap: 40px; }
      /* Release the absolute trick on mobile so the image flows naturally. */
      .features-photo .wp-block-image { position: static; }
      .features-list { grid-template-columns: 1fr 1fr; }

      .testimonials-grid { grid-template-columns: 1fr; gap: 20px; }

      .spaces-row,
      .spaces-row.reverse { flex-direction: column; }
      .spaces-image { max-height: 280px; min-height: 280px; }
      /* Release absolute trick on mobile so image flows naturally inside its column. */
      .spaces-image .wp-block-image { position: static; height: 100%; }
      .spaces-content { padding: 36px 32px; }

      .events-grid { grid-template-columns: 1fr; }
      .blog-grid { grid-template-columns: 1fr; }

      .cta-inner { grid-template-columns: 1fr; gap: 40px; }
      .faq-layout { grid-template-columns: 1fr; gap: 40px; }

    }

    /* =============================================
       RESPONSIVE — MOBILE
    ============================================= */
    @media (max-width: 480px) {
      .container { padding: 0 20px; }
      .hero { min-height: 85vh; }
      .hero-content { padding: 110px 20px 60px; }
      .hero h1 { font-size: 36px; letter-spacing: -0.5px; }
      .no-break { white-space: normal; }
      .hero p { font-size: 16px; }
      .hero-ctas { flex-direction: column; }
      .hero-ctas .btn-primary,
      .hero-ctas .btn-outline { width: 100%; justify-content: center; }

      .section-title { font-size: 28px; }

      .clients-bar-logo { width: 130px; }

      .stats-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
      .stat-number { font-size: 32px; }
      .stat-item::after { display: none !important; }

      .features-list { grid-template-columns: 1fr; gap: 16px; }

      .spaces-content h3 { font-size: 24px; }

      .cta-section h2 { font-size: 28px; }

    }

/* ============================================================
   Gutenberg landing-page primitives and components.
   Shared by native Page content; page CSS should only provide section glue.
   ============================================================ */
:root {
  --st-bg-primary: #f6f5f8;
  --st-bg-dark: #1a1a2e;
  --st-bg-footer: #161628;
  --st-bg-alt: #eeedf1;
  --st-text-heading: #1a1a2e;
  --st-text-body: #4a4a5a;
  --st-text-muted: #7a7a8a;
  --st-purple: #a78bfa;
  --st-purple-hover: #8b5cf6;
  --st-purple-bright: #7c5cfc;
  --st-purple-light: #ede9fe;
  --st-card-bg: #fff;
  --st-card-radius: 20px;
  --st-card-shadow: 0 2px 16px rgba(0, 0, 0, 0.05);
  --st-max-width: 1200px;
  --st-star-gold: #d4a853;
  --st-coral: #ff6666;
  --st-coral-deep: #e85555;
}

:is(.standard-page__content, .editor-styles-wrapper) .container {
  max-width: var(--st-max-width);
  margin-inline: auto;
  padding-inline: 80px;
}

:is(.standard-page__content, .editor-styles-wrapper) .section-label {
  display: block;
  margin-bottom: 14px;
  color: var(--st-purple);
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px;
  text-transform: uppercase;
}
:is(.standard-page__content, .editor-styles-wrapper) .section-label--center,
:is(.standard-page__content, .editor-styles-wrapper) .section-title--center,
:is(.standard-page__content, .editor-styles-wrapper) .section-subtitle--center { text-align: center; }
:is(.standard-page__content, .editor-styles-wrapper) .section-label--light { color: rgba(255, 255, 255, 0.55); }
:is(.standard-page__content, .editor-styles-wrapper) .section-title {
  margin-bottom: 16px;
  color: var(--st-text-heading);
  font-size: 36px;
  font-weight: 400;
  line-height: 1.25;
  text-wrap: balance;
}
:is(.standard-page__content, .editor-styles-wrapper) .section-subtitle {
  max-width: 560px;
  color: var(--st-text-body);
  font-size: 17px;
  line-height: 1.75;
  text-wrap: pretty;
}
:is(.standard-page__content, .editor-styles-wrapper) .section-subtitle--center { margin-inline: auto; }

:is(.standard-page__content, .editor-styles-wrapper) .btn-primary .wp-block-button__link,
:is(.standard-page__content, .editor-styles-wrapper) .btn-outline .wp-block-button__link,
:is(.standard-page__content, .editor-styles-wrapper) a.btn-primary,
:is(.standard-page__content, .editor-styles-wrapper) a.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  font-weight: 500 !important;
  line-height: 1.2;
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
:is(.standard-page__content, .editor-styles-wrapper) .btn-primary .wp-block-button__link,
:is(.standard-page__content, .editor-styles-wrapper) a.btn-primary {
  background: var(--st-purple);
  color: #fff !important;
  padding: 16px 40px;
}
:is(.standard-page__content, .editor-styles-wrapper) .btn-primary .wp-block-button__link:hover,
:is(.standard-page__content, .editor-styles-wrapper) a.btn-primary:hover {
  background: var(--st-purple-hover);
  box-shadow: 0 8px 24px rgba(139, 92, 246, 0.3);
  transform: translateY(-2px);
}
:is(.standard-page__content, .editor-styles-wrapper) .btn-outline .wp-block-button__link,
:is(.standard-page__content, .editor-styles-wrapper) a.btn-outline {
  border: 1px solid rgba(26, 26, 46, 0.14);
  background: transparent;
  color: var(--st-text-body) !important;
  padding: 16px 40px;
}
:is(.standard-page__content, .editor-styles-wrapper) .btn-outline .wp-block-button__link:hover,
:is(.standard-page__content, .editor-styles-wrapper) a.btn-outline:hover {
  border-color: var(--st-text-heading);
  color: var(--st-text-heading) !important;
  transform: translateY(-1px);
}
:is(.standard-page__content, .editor-styles-wrapper) .btn-small .wp-block-button__link { padding: 12px 28px; font-size: 14px !important; }
:is(.standard-page__content, .editor-styles-wrapper) .btn-primary--white .wp-block-button__link { background: #fff; color: var(--st-text-heading) !important; }
:is(.standard-page__content, .editor-styles-wrapper) .btn-outline--white .wp-block-button__link { border-color: rgba(255,255,255,0.45); color: #fff !important; }
:is(.standard-page__content, .editor-styles-wrapper) .btn-outline--white .wp-block-button__link:hover { background: #fff; color: var(--st-text-heading) !important; }

:is(.standard-page__content, .editor-styles-wrapper) .fit-header,
:is(.standard-page__content, .editor-styles-wrapper) .premium-header,
:is(.standard-page__content, .editor-styles-wrapper) .pricing-header,
:is(.standard-page__content, .editor-styles-wrapper) .testimonials-header { margin-bottom: 48px; }
:is(.standard-page__content, .editor-styles-wrapper) .pricing-header {
  margin-bottom: 56px;
  padding: 0;
  background: transparent;
}
:is(.standard-page__content, .editor-styles-wrapper) .fit-columns,
:is(.standard-page__content, .editor-styles-wrapper) .premium-columns,
:is(.standard-page__content, .editor-styles-wrapper) .pricing-columns,
:is(.standard-page__content, .editor-styles-wrapper) .difference-columns,
:is(.standard-page__content, .editor-styles-wrapper) .testimonials-columns,
:is(.standard-page__content, .editor-styles-wrapper) .cta-columns { margin-bottom: 0; }
:is(.standard-page__content, .editor-styles-wrapper) .fit-columns,
:is(.standard-page__content, .editor-styles-wrapper) .premium-columns,
:is(.standard-page__content, .editor-styles-wrapper) .pricing-columns,
:is(.standard-page__content, .editor-styles-wrapper) .difference-columns { gap: 24px; }
:is(.standard-page__content, .editor-styles-wrapper) .testimonials-columns { gap: 28px; max-width: 920px; margin-inline: auto; }
:is(.standard-page__content, .editor-styles-wrapper) .cta-columns { gap: 64px; align-items: center; }

:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.fit-card,
:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.premium-card {
  align-items: flex-end;
  justify-content: flex-start;
  overflow: hidden;
  border-radius: var(--st-card-radius);
  box-shadow: var(--st-card-shadow);
  isolation: isolate;
  padding: 28px;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.fit-card:hover,
:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.premium-card:hover { transform: translateY(-4px); }
:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.fit-card .wp-block-cover__background,
:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.premium-card .wp-block-cover__background {
  background: linear-gradient(180deg, rgba(26,26,46,0) 35%, rgba(26,26,46,0.86) 100%) !important;
  opacity: 1 !important;
}
:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.fit-card .wp-block-cover__inner-container,
:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.premium-card .wp-block-cover__inner-container {
  width: 100%;
  color: #fff;
  z-index: 2;
}
:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.fit-card h3,
:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.premium-card h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 21px;
  font-weight: 700;
}
:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.fit-card h3 a { color: inherit; text-decoration: none; }
:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.fit-card p,
:is(.standard-page__content, .editor-styles-wrapper) .wp-block-cover.premium-card p {
  margin: 0;
  color: rgba(255,255,255,0.84);
  font-size: 14px;
  line-height: 1.55;
}
:is(.standard-page__content, .editor-styles-wrapper) .fit-columns--bottom .fit-card h3 { font-size: 18px; }
:is(.standard-page__content, .editor-styles-wrapper) .fit-columns--bottom .fit-card p { font-size: 13px; }
:is(.standard-page__content, .editor-styles-wrapper) .premium-card h3 { font-size: 22px; }

:is(.standard-page__content, .editor-styles-wrapper) .pricing-columns .wp-block-column { display: flex; }
:is(.standard-page__content, .editor-styles-wrapper) .pricing-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 40px 28px;
  border-radius: var(--st-card-radius);
  background: var(--st-card-bg);
  box-shadow: var(--st-card-shadow);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
:is(.standard-page__content, .editor-styles-wrapper) .pricing-card:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(0,0,0,0.08); }
:is(.standard-page__content, .editor-styles-wrapper) .pricing-card.featured { border-top: 3px solid var(--st-purple); }
:is(.standard-page__content, .editor-styles-wrapper) .pricing-card .badge {
  position: absolute;
  top: 18px;
  right: 18px;
  margin: 0;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--st-purple-light);
  color: var(--st-purple-bright);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
:is(.standard-page__content, .editor-styles-wrapper) .pricing-card h3 { margin: 0 0 4px; color: var(--st-text-heading); font-size: 19px; font-weight: 700; }
:is(.standard-page__content, .editor-styles-wrapper) .pricing-type { min-height: calc(13px * 1.4 * 2); margin: 0 0 8px; color: var(--st-text-muted); font-size: 13px; line-height: 1.4; }
:is(.standard-page__content, .editor-styles-wrapper) .pricing-amount { margin: 0 0 4px; color: var(--st-text-heading); font-size: 32px; font-weight: 500; line-height: 1.1; }
:is(.standard-page__content, .editor-styles-wrapper) .pricing-period { margin: 0 0 24px; color: var(--st-text-muted); font-size: 14px; }
:is(.standard-page__content, .editor-styles-wrapper) .pricing-features {
  flex-grow: 1;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
}
:is(.standard-page__content, .editor-styles-wrapper) .pricing-features li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 28px;
  color: var(--st-text-body);
  font-size: 14px;
  line-height: 1.6;
}
:is(.standard-page__content, .editor-styles-wrapper) .pricing-features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--st-purple-bright);
  font-weight: 800;
}
:is(.standard-page__content, .editor-styles-wrapper) .pricing-card .wp-block-buttons { margin-top: auto; }
:is(.standard-page__content, .editor-styles-wrapper) .pricing-card .wp-block-button,
:is(.standard-page__content, .editor-styles-wrapper) .pricing-card .wp-block-button__link { width: 100%; }

:is(.standard-page__content, .editor-styles-wrapper) .scale-banner {
  position: relative;
  display: grid;
  grid-template-columns: 1.4fr auto;
  gap: 36px;
  align-items: center;
  margin-top: 32px;
  padding: 40px 44px;
  overflow: hidden;
  border-radius: var(--st-card-radius);
  background: linear-gradient(135deg, var(--st-coral) 0%, var(--st-coral-deep) 100%);
  box-shadow: 0 18px 50px rgba(255, 98, 67, 0.25);
}
:is(.standard-page__content, .editor-styles-wrapper) .scale-banner::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 100% 0%, rgba(255,255,255,0.18), transparent 55%); pointer-events: none; }
:is(.standard-page__content, .editor-styles-wrapper) .scale-banner > * { position: relative; z-index: 1; }
:is(.standard-page__content, .editor-styles-wrapper) .scale-eyebrow { display: inline-block; margin-bottom: 14px; padding: 6px 14px; border-radius: 999px; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.85); font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; }
:is(.standard-page__content, .editor-styles-wrapper) .scale-banner h3 { margin: 0 0 8px; color: #fff; font-size: 26px; line-height: 1.3; }
:is(.standard-page__content, .editor-styles-wrapper) .scale-banner p { max-width: 56ch; margin: 0; color: rgba(255,255,255,0.92); font-size: 15px; line-height: 1.65; }
:is(.standard-page__content, .editor-styles-wrapper) .scale-banner .btn-primary .wp-block-button__link { background: #fff; color: var(--st-coral-deep) !important; }

:is(.standard-page__content, .editor-styles-wrapper) .difference-layout { gap: 56px; align-items: stretch; }
:is(.standard-page__content, .editor-styles-wrapper) .difference-photo,
:is(.standard-page__content, .editor-styles-wrapper) .difference-photo figure,
:is(.standard-page__content, .editor-styles-wrapper) .difference-photo img { height: 100%; }
:is(.standard-page__content, .editor-styles-wrapper) .difference-photo img { width: 100%; object-fit: cover; object-position: left center; border-radius: var(--st-card-radius); box-shadow: 0 12px 40px rgba(0,0,0,0.08); }
:is(.standard-page__content, .editor-styles-wrapper) .difference-content .section-label { margin-bottom: 14px; }
:is(.standard-page__content, .editor-styles-wrapper) .difference-content .section-title { margin-bottom: 12px; }
:is(.standard-page__content, .editor-styles-wrapper) .difference-content > p { margin-bottom: 36px; color: var(--st-text-body); font-size: 16px; line-height: 1.75; }
:is(.standard-page__content, .editor-styles-wrapper) .difference-card { padding: 24px 20px; border-radius: 16px; background: var(--st-card-bg); box-shadow: var(--st-card-shadow); transition: transform 0.3s ease; }
:is(.standard-page__content, .editor-styles-wrapper) .difference-card:hover { transform: translateY(-4px); }
:is(.standard-page__content, .editor-styles-wrapper) .difference-icon { display: grid; place-items: center; width: 44px; height: 44px; margin: 0 0 14px; border-radius: 12px; background: var(--st-purple-light); color: var(--st-purple-bright); font-size: 22px; font-weight: 800; }
:is(.standard-page__content, .editor-styles-wrapper) .difference-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}
:is(.standard-page__content, .editor-styles-wrapper) .difference-card h4 { margin: 0 0 4px; color: var(--st-text-heading); font-size: 15px; font-weight: 700; }
:is(.standard-page__content, .editor-styles-wrapper) .difference-card p { margin: 0; color: var(--st-text-muted); font-size: 13px; line-height: 1.65; }

:is(.standard-page__content, .editor-styles-wrapper) .testimonial-card { padding: 40px 32px; border-radius: var(--st-card-radius); background: var(--st-card-bg); box-shadow: var(--st-card-shadow); }
:is(.standard-page__content, .editor-styles-wrapper) .testimonial-stars { margin: 0 0 20px; color: var(--st-star-gold); font-size: 18px; letter-spacing: 3px; }
:is(.standard-page__content, .editor-styles-wrapper) .testimonial-quote { margin: 0 0 24px; padding: 0; border: 0; }
:is(.standard-page__content, .editor-styles-wrapper) .testimonial-quote p { margin: 0; color: var(--st-text-body); font-size: 15px; font-style: italic; line-height: 1.75; }
:is(.standard-page__content, .editor-styles-wrapper) .testimonial-author { display: flex; align-items: center; gap: 12px; }
:is(.standard-page__content, .editor-styles-wrapper) .testimonial-avatar { display: grid; place-items: center; width: 44px; height: 44px; margin: 0; border-radius: 50%; background: var(--st-purple-light); color: var(--st-purple-bright); font-size: 16px; font-weight: 700; }
:is(.standard-page__content, .editor-styles-wrapper) .testimonial-name { margin: 0; color: var(--st-text-heading); font-size: 14px; font-weight: 700; }
:is(.standard-page__content, .editor-styles-wrapper) .testimonial-author-info p:not(.testimonial-name) { margin: 0; color: var(--st-text-muted); font-size: 13px; }

:is(.standard-page__content, .editor-styles-wrapper) .faq-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; align-items: start; }
:is(.standard-page__content, .editor-styles-wrapper) .faq-side .section-title { margin-bottom: 18px; }
:is(.standard-page__content, .editor-styles-wrapper) .faq-side p { max-width: 38ch; margin-bottom: 26px; color: var(--st-text-body); line-height: 1.65; }
:is(.standard-page__content, .editor-styles-wrapper) .faq-list { max-width: none; margin: 0; }
:is(.standard-page__content, .editor-styles-wrapper) .faq-list > .faq-item { margin-block-start: 0; }
:is(.standard-page__content, .editor-styles-wrapper) .faq-item {
  border-bottom: 1px solid rgba(26,26,46,0.1);
  color: var(--st-text-heading);
}
:is(.standard-page__content, .editor-styles-wrapper) .faq-item:first-child { border-top: 1px solid rgba(26,26,46,0.1); }
:is(.standard-page__content, .editor-styles-wrapper) .faq-item summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 26px 0;
  color: var(--st-text-heading);
  cursor: pointer;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
  list-style: none;
}
:is(.standard-page__content, .editor-styles-wrapper) .faq-item summary::-webkit-details-marker { display: none; }
:is(.standard-page__content, .editor-styles-wrapper) .faq-item summary::after {
  content: "+";
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(26,26,46,0.08);
  border-radius: 50%;
  color: var(--st-text-heading);
  font-size: 20px;
  line-height: 1;
  transition: background 0.3s, color 0.3s, transform 0.3s;
}
:is(.standard-page__content, .editor-styles-wrapper) .faq-item[open] summary::after {
  background: var(--bg-dark);
  border-color: var(--bg-dark);
  color: #fff;
  transform: rotate(45deg);
}
:is(.standard-page__content, .editor-styles-wrapper) .faq-item > p {
  margin: 0;
  padding: 0 0 26px;
  color: var(--st-text-body);
  font-size: 15px;
  line-height: 1.7;
}

:is(.standard-page__content, .editor-styles-wrapper) .cta-section { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(160deg, #8B5CF6 0%, #9b6ffb 40%, #a07dfb 60%, #8B5CF6 100%); color: #fff; }
:is(.standard-page__content, .editor-styles-wrapper) .cta-section::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(ellipse 60% 50% at 15% 20%, rgba(255,255,255,0.22), transparent 60%), radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0.10) 0%, transparent 50%); }
:is(.standard-page__content, .editor-styles-wrapper) .cta-section .container { position: relative; z-index: 2; }
:is(.standard-page__content, .editor-styles-wrapper) .cta-section h2 { margin-bottom: 16px; color: #fff; font-size: 36px; font-weight: 400; line-height: 1.25; }
:is(.standard-page__content, .editor-styles-wrapper) .cta-section p { max-width: 48ch; margin-bottom: 32px; color: rgba(255,255,255,0.72); font-size: 17px; line-height: 1.75; }
:is(.standard-page__content, .editor-styles-wrapper) .cta-ctas { display: flex; flex-wrap: wrap; gap: 14px; }
:is(.standard-page__content, .editor-styles-wrapper) .cta-card { padding: 32px 30px; border-radius: 22px; background: #fff; box-shadow: 0 20px 60px rgba(26,26,46,0.18); }
:is(.standard-page__content, .editor-styles-wrapper) .cta-card h3 { margin-bottom: 10px; color: var(--st-purple-hover); font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; }
:is(.standard-page__content, .editor-styles-wrapper) .cta-card .cta-card-lead { max-width: none; margin-bottom: 20px; color: var(--st-text-body); font-size: 14px; line-height: 1.6; }
:is(.standard-page__content, .editor-styles-wrapper) .cta-card .hs-form-frame,
:is(.standard-page__content, .editor-styles-wrapper) .cta-card .hs-form-frame iframe { min-height: 0 !important; margin: 0 !important; padding: 0 !important; }
:is(.standard-page__content, .editor-styles-wrapper) .cta-card label { color: var(--st-text-heading) !important; font-size: 13px !important; }
:is(.standard-page__content, .editor-styles-wrapper) .cta-card input[type="text"],
:is(.standard-page__content, .editor-styles-wrapper) .cta-card input[type="email"],
:is(.standard-page__content, .editor-styles-wrapper) .cta-card input[type="tel"],
:is(.standard-page__content, .editor-styles-wrapper) .cta-card select,
:is(.standard-page__content, .editor-styles-wrapper) .cta-card textarea { border: 1px solid rgba(26,26,46,0.15) !important; border-radius: 12px !important; background: #fff !important; color: var(--st-text-heading) !important; }

@media (max-width: 968px) {
  :is(.standard-page__content, .editor-styles-wrapper) .container { padding-inline: 40px; }
  :is(.standard-page__content, .editor-styles-wrapper) .fit-columns--top .fit-card,
  :is(.standard-page__content, .editor-styles-wrapper) .fit-columns--bottom .fit-card { min-height: 240px !important; }
  :is(.standard-page__content, .editor-styles-wrapper) .premium-card { min-height: 280px !important; }
  :is(.standard-page__content, .editor-styles-wrapper) .scale-banner { grid-template-columns: 1fr; gap: 24px; padding: 32px; }
  :is(.standard-page__content, .editor-styles-wrapper) .difference-layout,
  :is(.standard-page__content, .editor-styles-wrapper) .faq-layout { gap: 40px; }
  :is(.standard-page__content, .editor-styles-wrapper) .cta-columns { gap: 40px; }
}

@media (max-width: 480px) {
  :is(.standard-page__content, .editor-styles-wrapper) .container { padding-inline: 20px; }
  :is(.standard-page__content, .editor-styles-wrapper) .section-title { font-size: 28px; }
  :is(.standard-page__content, .editor-styles-wrapper) .scale-banner h3 { font-size: 22px; }
  :is(.standard-page__content, .editor-styles-wrapper) .cta-section h2 { font-size: 28px; }
}

/* Coworking page section glue.
   Kept with shared components so the page no longer needs a separate CSS file. */
:is(.standard-page__content, .editor-styles-wrapper) > .fit,
:is(.standard-page__content, .editor-styles-wrapper) > .premium,
:is(.standard-page__content, .editor-styles-wrapper) > .pricing,
:is(.standard-page__content, .editor-styles-wrapper) > .difference,
:is(.standard-page__content, .editor-styles-wrapper) > .testimonials,
:is(.standard-page__content, .editor-styles-wrapper) > .faq,
:is(.standard-page__content, .editor-styles-wrapper) > .cta-section {
  max-width: none;
  padding: clamp(72px, 9vw, 120px) 0;
}

:is(.standard-page__content, .editor-styles-wrapper) > .fit,
:is(.standard-page__content, .editor-styles-wrapper) > .pricing,
:is(.standard-page__content, .editor-styles-wrapper) > .testimonials {
  background: var(--st-bg-primary);
}

:is(.standard-page__content, .editor-styles-wrapper) > .premium,
:is(.standard-page__content, .editor-styles-wrapper) > .difference,
:is(.standard-page__content, .editor-styles-wrapper) > .faq {
  background: var(--st-bg-alt);
}
/* Editor canvas: block editor wrappers sit between .editor-styles-wrapper and section blocks. */
.editor-styles-wrapper .fit,
.editor-styles-wrapper .premium,
.editor-styles-wrapper .pricing,
.editor-styles-wrapper .difference,
.editor-styles-wrapper .testimonials,
.editor-styles-wrapper .faq,
.editor-styles-wrapper .cta-section {
  max-width: none;
  padding: clamp(72px, 9vw, 120px) 0;
}

.editor-styles-wrapper .fit,
.editor-styles-wrapper .pricing,
.editor-styles-wrapper .testimonials {
  background: var(--st-bg-primary);
}

.editor-styles-wrapper .premium,
.editor-styles-wrapper .difference,
.editor-styles-wrapper .faq {
  background: var(--st-bg-alt);
}

/* ============================================================
   Events page Gutenberg sections.
   ============================================================ */
.standard-page--content-only:has(> .hero--events) {
  padding-bottom: 0;
  background: var(--bg-primary);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) {
  background: var(--bg-primary);
  color: var(--text-heading);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 80px;
}

.hero--events {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 92vh;
  overflow: hidden;
  padding-top: 100px;
  background: linear-gradient(160deg, #8B5CF6 0%, #9b6ffb 40%, #a07dfb 60%, #8B5CF6 100%);
  color: #fff;
}

.hero--events::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(ellipse at 30% 0%, rgba(255,255,255,0.14) 0%, transparent 55%);
}

.hero--events::after {
  content: "";
  position: absolute;
  right: -8%;
  top: 50%;
  z-index: 1;
  width: min(60vw, 760px);
  height: 90%;
  pointer-events: none;
  background: url("assets/common/background-logo.svg") center / contain no-repeat;
  filter: brightness(0) invert(1);
  opacity: 0.05;
  transform: translateY(-50%);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 60px 80px 80px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .hero-eyebrow {
  display: inline-block;
  margin: 0 0 24px;
  padding: 8px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 50px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.7);
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1.45;
  text-transform: uppercase;
}

.hero--events h1 {
  max-width: 22ch;
  margin: 0 0 22px;
  color: #fff;
  font-size: 56px !important;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .hero-subtext {
  max-width: 56ch;
  margin: 0 0 32px;
  color: rgba(255,255,255,0.7);
  font-size: 18px;
  line-height: 1.75;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .hero-ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 14px;
}

.hero--events .btn-primary .wp-block-button__link {
  background: #fff;
  color: var(--bg-dark) !important;
}

.clients-bar--static {
  padding: 64px 0 24px;
  background: var(--bg-primary);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .clients-bar-label {
  margin-bottom: 32px;
  color: var(--text-muted);
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .clients-bar-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .clients-bar-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  min-height: 92px;
  padding: 22px 36px;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 16px;
  background: var(--card-bg);
  opacity: 0.7;
  transition: box-shadow 0.3s, opacity 0.3s;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .clients-bar-logo img {
  width: auto;
  max-width: 130px;
  height: 44px;
  object-fit: contain;
  filter: grayscale(100%);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .clients-bar-logo:hover {
  opacity: 1;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}

.usecases,
.workshops,
.testimonials--two {
  padding: clamp(72px, 9vw, 120px) 0;
  background: var(--bg-primary);
}

.spaces--events,
.location {
  padding: clamp(56px, 6vw, 88px) 0;
  background: var(--bg-alt);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) :is(.usecases-header, .spaces-header, .workshops-header, .testimonials-header) {
  margin-bottom: 56px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecases-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecases-grid--bottom {
  margin-top: 28px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecases-grid > .wp-block-column,
:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .workshops-grid > .wp-block-column,
:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .testimonials-grid > .wp-block-column {
  display: flex;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecase-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: var(--card-radius);
  background: var(--card-bg);
  box-shadow: var(--card-shadow);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecase-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.1);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecase-card-image {
  position: relative;
  height: 260px;
  overflow: hidden;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecase-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecase-card:hover .usecase-card-image img {
  transform: scale(1.05);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecase-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 32px 32px 36px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecase-card-body h3 {
  margin: 0 0 10px;
  color: var(--text-heading);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecase-card-body p {
  flex: 1;
  margin: 0 0 18px;
  color: var(--text-body);
  font-size: 14px;
  line-height: 1.75;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-header {
  text-align: center;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-row {
  display: flex;
  gap: 0;
  align-items: stretch;
  overflow: hidden;
  margin-bottom: 28px;
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: var(--card-radius);
  background: var(--card-bg);
  box-shadow: var(--card-shadow);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-row:last-child {
  margin-bottom: 0;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-row.reverse {
  flex-direction: row-reverse;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-row > .wp-block-column:first-child {
  flex: 1.1;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-row > .wp-block-column:last-child {
  flex: 1;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-image {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 360px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 52px 48px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-content h3 {
  margin: 0 0 14px;
  color: var(--text-heading);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.25;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-content p {
  margin: 0 0 22px;
  color: var(--text-body);
  font-size: 16px;
  line-height: 1.75;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-features {
  margin: 0;
  padding: 0;
  list-style: none;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-features li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 30px;
  color: var(--text-body);
  font-size: 15px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: -1px;
  color: var(--purple);
  font-weight: 800;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .workshops-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .workshop-card {
  width: 100%;
  padding: 32px 26px;
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: var(--card-radius);
  background: var(--card-bg);
  box-shadow: var(--card-shadow);
  transition: transform 0.3s ease;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .workshop-card:hover {
  transform: translateY(-4px);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .workshop-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 18px;
  border-radius: 12px;
  background: var(--purple-light);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .workshop-icon svg {
  width: 22px;
  height: 22px;
  color: var(--purple-bright);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .workshop-card h4 {
  margin: 0 0 8px;
  color: var(--text-heading);
  font-size: 16px;
  font-weight: 700;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .workshop-card p {
  margin: 0;
  color: var(--text-body);
  font-size: 14px;
  line-height: 1.7;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-inner {
  display: flex;
  gap: 64px;
  align-items: stretch;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-inner > .wp-block-column:first-child {
  flex: 1.1;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-inner > .wp-block-column:last-child {
  flex: 1;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-image {
  width: 100%;
  height: 100%;
  min-height: 420px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-image img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  border-radius: var(--card-radius);
  box-shadow: 0 12px 40px rgba(0,0,0,0.08);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-intro {
  margin: 0 0 28px;
  color: var(--text-body);
  font-size: 16px;
  line-height: 1.75;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-list {
  display: grid;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-list-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0;
  padding: 16px 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-list-item:last-child {
  border-bottom: 0;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-list-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--purple-light);
  color: var(--purple-bright);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-list-icon svg {
  width: 16px;
  height: 16px;
  color: var(--purple-bright);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-list-copy {
  margin: 0;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-list-copy h4 {
  margin: 0 0 2px;
  color: var(--text-heading);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-list-copy p {
  margin: 0;
  color: var(--text-body);
  font-size: 15px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .testimonials-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  max-width: 920px;
  margin: 0 auto;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .testimonial-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 40px 32px;
  border-radius: var(--card-radius);
  background: var(--card-bg);
  box-shadow: var(--card-shadow);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .testimonial-stars {
  display: flex;
  gap: 3px;
  margin-bottom: 20px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .testimonial-stars svg {
  width: 18px;
  height: 18px;
  color: var(--star-gold);
  fill: var(--star-gold);
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .testimonial-quote {
  flex: 1;
  margin: 0 0 24px;
  padding: 0;
  border: 0;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .testimonial-quote p {
  margin: 0;
  color: var(--text-body);
  font-size: 15px;
  font-style: italic;
  line-height: 1.75;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .testimonial-avatar {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  border-radius: 50%;
  background: var(--purple-light);
  color: var(--purple-bright);
  font-size: 16px;
  font-weight: 700;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .testimonial-name {
  margin: 0;
  color: var(--text-heading);
  font-size: 14px;
  font-weight: 700;
}

:is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .testimonial-author-info p:not(.testimonial-name) {
  margin: 0;
  color: var(--text-muted);
  font-size: 13px;
}

@media (max-width: 968px) {
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .container { padding-inline: 40px; }
  .hero--events { min-height: auto; padding-top: 120px; padding-bottom: 60px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .hero-inner { padding: 20px 40px 40px; }
  .hero--events h1 { font-size: 42px !important; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecases-grid,
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .workshops-grid,
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .testimonials-grid { grid-template-columns: 1fr; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecase-card-image { height: 220px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-row,
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-row.reverse { flex-direction: column; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-image { min-height: 280px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-content { padding: 40px 36px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-inner { flex-direction: column; gap: 40px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-image,
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .location-image img { min-height: 360px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .clients-bar-logos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .clients-bar-logo {
    min-width: 0;
    min-height: 76px;
    padding: 16px 12px;
    border-radius: 12px;
  }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .clients-bar-logo img {
    max-width: 100px;
    height: 32px;
  }
}

@media (max-width: 480px) {
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .container { padding-inline: 20px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .hero-inner { padding: 20px 20px 40px; }
  .hero--events h1 { font-size: 34px !important; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .hero-subtext { font-size: 16px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .hero-ctas { flex-direction: column; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .hero-ctas .wp-block-button__link {
    width: 100%;
    justify-content: center;
  }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .section-title { font-size: 28px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecase-card-body { padding: 28px 24px 32px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .usecase-card-body h3 { font-size: 20px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-content { padding: 32px 24px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .spaces-content h3 { font-size: 22px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .workshops-grid { grid-template-columns: 1fr; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .clients-bar-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .clients-bar-logo { min-height: 68px; padding: 14px 12px; border-radius: 10px; }
  :is(.hero--events, .clients-bar--static, .usecases, .spaces--events, .workshops, .location, .testimonials--two) .clients-bar-logo img { max-width: 92px; height: 28px; }
}

/* ============================================================
   Terms and Conditions legal document sections.
   ============================================================ */
:is(.standard-page__content, .editor-styles-wrapper) > .terms--legal {
  max-width: none;
  padding: clamp(64px, 8vw, 110px) 0;
  background: #fff;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: clamp(36px, 6vw, 76px);
  align-items: start;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-aside {
  position: sticky;
  top: 112px;
  padding: 26px;
  border: 1px solid #e8e8ef;
  border-radius: 8px;
  background: #f7f7fa;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-aside > * { margin-block-start: 0; }

:is(.standard-page__content, .editor-styles-wrapper) .terms-aside h2 {
  margin: 0 0 12px;
  color: #1a1a2e;
  font-size: 18px;
  font-weight: 700;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-aside p {
  margin: 0 0 20px;
  color: #8a8a9a;
  font-size: 14px;
  line-height: 1.7;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-nav {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-nav li {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  line-height: 1.55;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-nav li::before { content: none; }

:is(.standard-page__content, .editor-styles-wrapper) .terms-nav a {
  display: block;
  padding: 7px 0;
  color: #4a4a5a;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  transition: color 0.2s;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-nav a:hover { color: #7c5cfc; }

:is(.standard-page__content, .editor-styles-wrapper) .terms-content {
  max-width: 780px;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-content > * { margin-block-start: 0; }

:is(.standard-page__content, .editor-styles-wrapper) .terms-content .legal-intro {
  margin: 0 0 34px;
  padding-bottom: 32px;
  border-bottom: 1px solid #e8e8ef;
  color: #4a4a5a;
  font-size: 18px;
  line-height: 1.8;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-content h2 {
  margin: 34px 0 14px;
  padding-top: 34px;
  border-top: 1px solid #e8e8ef;
  color: #1a1a2e;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 400;
  line-height: 1.2;
  scroll-margin-top: 112px;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-content > h2:first-child,
:is(.standard-page__content, .editor-styles-wrapper) .terms-content > .legal-intro + h2 {
  margin-top: 0;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-content p,
:is(.standard-page__content, .editor-styles-wrapper) .terms-content li {
  color: #4a4a5a;
  font-size: 17px;
  line-height: 1.78;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-content p { margin: 0 0 14px; }

:is(.standard-page__content, .editor-styles-wrapper) .terms-content ul {
  display: grid;
  gap: 14px;
  margin: 10px 0 0;
  padding-left: 0;
  list-style: none;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-content li {
  position: relative;
  padding-left: 24px;
  list-style: none;
}

:is(.standard-page__content, .editor-styles-wrapper) .terms-content li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8f63ff;
}

@media (max-width: 960px) {
  :is(.standard-page__content, .editor-styles-wrapper) .terms-layout { grid-template-columns: 1fr; }
  :is(.standard-page__content, .editor-styles-wrapper) .terms-aside { position: static; }
}

@media (max-width: 640px) {
  :is(.standard-page__content, .editor-styles-wrapper) > .terms--legal { padding: 64px 0; }
  :is(.standard-page__content, .editor-styles-wrapper) .terms-content h2 { font-size: 26px; }
  :is(.standard-page__content, .editor-styles-wrapper) .terms-content p,
  :is(.standard-page__content, .editor-styles-wrapper) .terms-content li { font-size: 16px; }
  :is(.standard-page__content, .editor-styles-wrapper) .terms-aside { padding: 22px; }
}

/* ============================================================
   Business Consulting page Gutenberg sections.
   ============================================================ */

/* Hero variant: side-positioned Supertree mark, left-aligned content. */
.hero--consulting {
  min-height: 92vh;
  align-items: center;
  padding-top: 100px;
}

.hero--consulting::after {
  left: auto;
  right: -8%;
  top: 50%;
  width: auto;
  height: 90%;
  aspect-ratio: 884 / 700;
  transform: translateY(-50%);
}

.hero--consulting .hero-content {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 60px 80px 80px;
  text-align: left;
}

.hero--consulting .hero-badge {
  margin: 0 0 24px;
}

.hero--consulting h1 {
  max-width: 22ch;
  margin: 0 0 22px;
  font-size: 56px;
}

.hero--consulting .hero-content > h1 { margin-block-start: 0; }
.hero--consulting .hero-content > p { margin-block-start: 0; }
.hero--consulting .hero-content > .wp-block-buttons { margin-block-start: 0; }

.hero--consulting p {
  max-width: 50ch;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 36px;
  font-size: 18px;
  color: rgba(255,255,255,0.7);
}

.hero--consulting .hero-ctas {
  justify-content: flex-start;
  gap: 14px;
}

/* About pillars — small 3-up list nested inside .about-text. */
.about-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 28px;
}
.about-pillars > .about-pillar { margin-block-start: 0; }
.about-pillar {
  background: var(--bg-alt);
  border-radius: 14px;
  padding: 16px 18px;
}
.about-pillar > * { margin-block-start: 0; }
.about-pillar h4 {
  margin: 0 0 4px;
  color: var(--text-heading);
  font-size: 14px;
  font-weight: 700;
}
.about-pillar p {
  margin: 0;
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.5;
}

/* About variant for Consulting — sits on white instead of grey,
   to match the original .intro section background. */
.about--consulting { background: var(--bg-primary); }
.about--consulting .about-pillar { background: var(--bg-alt); }
.about--consulting .about-text h2 { text-wrap: balance; }
/* Eyebrow is a <p class="section-label"> Gutenberg block here, so the
   .about-text p / .learn-text p body-color rules (0,1,1) would override the
   purple .section-label (0,1,0). Bump specificity so the eyebrow stays purple. */
.about--consulting .about-text .section-label { color: var(--purple); }

/* Services — Consulting modifier with native Cover service cards. */
.services--consulting {
  background: var(--bg-primary);
  padding: clamp(72px, 9vw, 120px) 0;
}
.services--consulting .services-header { margin-bottom: 56px; }
.services--consulting .services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.services--consulting .services-grid > * { margin-block-start: 0; }
.services--consulting .service-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  aspect-ratio: 1 / 1.05;
  min-height: 0 !important;
  overflow: hidden;
  padding: 0 !important;
  border-radius: 18px;
  box-shadow: var(--card-shadow);
  color: #fff;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  isolation: isolate;
}
.services--consulting .service-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,0.14); }
.services--consulting .service-card .wp-block-cover__background { display: none; }
.services--consulting .service-card .wp-block-cover__image-background {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.services--consulting .service-card:hover .wp-block-cover__image-background { transform: scale(1.05); }
.services--consulting .service-card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(26,26,46,0) 35%, rgba(26,26,46,0.86) 100%);
}
.services--consulting .service-card .wp-block-cover__inner-container {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 22px;
  z-index: 2 !important;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  width: auto;
  color: #fff;
}
.services--consulting .service-card .wp-block-cover__inner-container > * { margin-block-start: 0; }
.services--consulting .service-card h3 {
  max-width: 80%;
  margin: 0;
  color: #fff !important;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
  text-shadow: 0 2px 10px rgba(0,0,0,0.45);
}
.services--consulting .service-card h3 a { color: #fff !important; text-decoration: none; }
.services--consulting .service-card .service-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  margin: 0;
  border-radius: 50%;
  background: rgba(255,255,255,0.18);
  color: #fff !important;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}

/* Advisory banner — purple CTA strip below services grid. */
.advisory-banner {
  position: relative;
  margin-top: 32px;
  padding: 36px 44px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
  background: var(--purple);
  border-radius: var(--card-radius);
  box-shadow: 0 18px 50px rgba(124, 92, 252, 0.25);
  overflow: hidden;
}
.advisory-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 100% 0%, rgba(255,255,255,0.18), transparent 55%);
  pointer-events: none;
}
.advisory-banner > * { margin-block-start: 0; }
.advisory-banner-text { position: relative; z-index: 1; }
.advisory-banner-text > * { margin-block-start: 0; }
.advisory-banner h3 {
  margin: 0 0 4px;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
}
.advisory-banner p {
  margin: 0;
  color: rgba(255,255,255,0.85);
  font-size: 15px;
}
.advisory-banner .wp-block-buttons { position: relative; z-index: 1; margin: 0; }
.advisory-banner .btn-primary > .wp-block-button__link {
  background: #fff;
  color: var(--purple) !important;
  font-weight: 500 !important;
}
.advisory-banner .btn-primary > .wp-block-button__link:hover {
  background: #fff;
  box-shadow: 0 12px 32px rgba(0,0,0,0.18);
  transform: translateY(-2px);
}

/* Learn & Grow — Consulting modifier single-card section. */
.learn--consulting {
  background: var(--bg-primary);
  padding: clamp(56px, 7vw, 100px) 0 clamp(72px, 9vw, 120px);
}
.learn-card {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: stretch;
  background: var(--bg-alt);
  border-radius: var(--card-radius);
  overflow: hidden;
}
.learn-photo { position: relative; min-height: 360px; }
.learn-photo .wp-block-image {
  position: absolute;
  inset: 0;
  margin: 0;
}
.learn-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.learn-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(36px, 5vw, 64px);
}
.learn-text > * { margin-block-start: 0; }
.learn-text .section-label { color: var(--purple); }
.learn-text .section-title { margin-bottom: 14px; }
.learn-text p {
  margin: 0 0 28px;
  max-width: 50ch;
  color: var(--text-body);
  font-size: 16px;
  line-height: 1.75;
}
.learn-text .wp-block-buttons { margin: 0; }

/* Responsive — tablet */
@media (max-width: 968px) {
  .hero--consulting { min-height: auto; padding: 120px 0 60px; }
  .hero--consulting .hero-content { padding: 20px 40px 40px; }
  .hero--consulting h1 { font-size: 42px; }

  .about--consulting .about-inner { flex-direction: column; gap: 32px; }
  .about-pillars { grid-template-columns: 1fr; gap: 10px; }

  .services--consulting .services-grid { grid-template-columns: repeat(2, 1fr); }
  .advisory-banner { grid-template-columns: 1fr; gap: 20px; padding: 28px; }

  .learn--consulting .learn-card { grid-template-columns: 1fr; }
  .learn--consulting .learn-photo { min-height: 240px; }
}

/* Responsive — mobile */
@media (max-width: 480px) {
  .hero--consulting .hero-content { padding: 20px 20px 40px; }
  .hero--consulting h1 { font-size: 34px; letter-spacing: -0.5px; }
  .hero--consulting p { font-size: 16px; }
  .hero--consulting .hero-ctas { flex-direction: column; }
  .hero--consulting .hero-ctas > .wp-block-button { width: 100%; }
  .hero--consulting .hero-ctas .wp-block-button__link { width: 100%; justify-content: center; }

  .services--consulting .services-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .services--consulting .service-card h3 { font-size: 14px; }
  .advisory-banner h3 { font-size: 19px; }
}
