*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --bg: #F7F4EE; --bg-warm: #F0EDE6; --bg-warm-2: #EDE9E3;
    --bg-green: #EAF3EE; --border: #DDD9D0; --border-green: #C2DDD0;
    --text-primary: #2C2A26; --text-secondary: #5A5650; --text-muted: #7A766E;
    --text-faint: #9A9690; --text-lighter: #B4B0A8; --text-lightest: #C4BEB5;
    --accent: #B8813A; --accent-bg: #F0E8D8; --accent-text: #9E7B4A;
    --green: #3B6D57; --green-mid: #6A9B88; --green-light: #A8CCBB;
    --photo-bg: #E8E3D8; --dark: #2C2A26;
  }
  html { scroll-behavior: smooth; }
  body { background: var(--bg); font-family: Georgia, 'Times New Roman', serif; color: var(--text-primary); font-size: 14px; }

  .nav { display: flex; justify-content: space-between; align-items: center; padding: 20px 48px; border-bottom: 0.5px solid var(--border); background: var(--bg); position: sticky; top: 0; z-index: 100; }
  .nav-name { font-family: Georgia, serif; font-size: 20px; font-weight: bold; color: #B8813A; text-decoration: none; cursor: pointer; letter-spacing: -0.01em; }
  .nav-right { display: flex; align-items: center; gap: 24px; }
  .nav-links { display: flex; gap: 18px; }
  .nav-links a { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 12px; color: var(--text-faint); text-decoration: none; letter-spacing: 0.03em; transition: color 0.15s; cursor: pointer; }
  .nav-links a:hover, .nav-links a.active { color: var(--text-primary); }
  .nav-cta { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 12px; color: var(--bg); background: var(--dark); padding: 8px 18px; border-radius: 2px; text-decoration: none; letter-spacing: 0.04em; cursor: pointer; }


  .breadcrumb { padding: 13px 48px; border-bottom: 0.5px solid var(--border); display: flex; align-items: center; gap: 8px; }
  .bc { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-lighter); cursor: pointer; }
  .bc:hover { color: var(--text-muted); }
  .bc.current { color: var(--text-muted); cursor: default; }
  .bc-sep { font-size: 11px; color: #D4CEC4; }

  .section { display: grid; grid-template-columns: 200px 1fr; border-top: 0.5px solid var(--border); }
  .slabel-col { padding: 40px; border-right: 0.5px solid var(--border); }
  .slabel { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-faint); letter-spacing: 0.1em; text-transform: uppercase; }
  .slabel-sub { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 12px; color: var(--text-lighter); line-height: 1.6; margin-top: 10px; }
  .sbody { padding: 40px; }

  .eyebrow { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent-text); margin-bottom: 20px; display: flex; align-items: center; gap: 8px; }
  .eyebrow-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); flex-shrink: 0; }

  .btn-primary { display: inline-block; background: var(--dark); color: var(--bg); font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; padding: 13px 26px; border-radius: 2px; text-decoration: none; letter-spacing: 0.03em; cursor: pointer; border: none; transition: opacity 0.15s; }
  .btn-primary:hover { opacity: 0.85; }
  .btn-outline { display: inline-block; border: 1px solid var(--dark); color: var(--dark); font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; padding: 12px 26px; border-radius: 2px; cursor: pointer; background: transparent; }

  .pill { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; color: var(--accent-text); background: var(--accent-bg); padding: 3px 9px; border-radius: 20px; white-space: nowrap; }
  .pill-green { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; color: var(--green); background: var(--bg-green); padding: 3px 9px; border-radius: 20px; border: 0.5px solid var(--border-green); }
  .pill-blue { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; color: #6A7B9A; background: #EEF0F7; padding: 3px 9px; border-radius: 20px; border: 0.5px solid #C8CEDF; }

  .quote-band { background: var(--bg-green); border-top: 0.5px solid var(--border-green); padding: 48px; display: grid; grid-template-columns: 200px 1fr; }
  .quote-mark { font-family: Georgia, serif; font-size: 56px; color: var(--green-light); line-height: 1; }
  .quote-text { font-family: Georgia, serif; font-size: 19px; color: var(--text-primary); font-style: italic; line-height: 1.5; margin-bottom: 16px; }
  .quote-attr { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 12px; color: var(--green-mid); }
  .quote-attr span { color: var(--green); }

  .cta-strip { border-top: 0.5px solid var(--border); padding: 52px 48px; background: var(--bg-warm); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 48px; }
  .cta-h { font-family: Georgia, serif; font-size: 26px; color: var(--text-primary); font-weight: normal; margin-bottom: 8px; }
  .cta-h em { font-style: italic; color: var(--accent); }
  .cta-sub { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: var(--text-muted); line-height: 1.7; }

  .photo-placeholder { background: var(--photo-bg); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 10px; position: relative; overflow: hidden; }
  .photo-ring { position: absolute; border-radius: 50%; border: 0.5px solid #D4CEC4; top: 50%; left: 50%; transform: translate(-50%,-50%); pointer-events: none; }
  .photo-icon-circle { width: 56px; height: 56px; border-radius: 50%; background: #D4C9B4; display: flex; align-items: center; justify-content: center; position: relative; z-index: 2; }
  .photo-label { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; color: #B0A99E; letter-spacing: 0.08em; text-transform: uppercase; position: relative; z-index: 2; }

  .footer { border-top: 0.5px solid var(--border); padding: 32px 48px; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 24px; }
  .fc-title { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-lighter); margin-bottom: 10px; }
  .fl { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 12px; color: var(--text-faint); display: block; margin-bottom: 6px; cursor: pointer; text-decoration: none; }
  .fl:hover { color: var(--text-primary); }
  .footer-bottom { border-top: 0.5px solid var(--border); padding: 14px 48px; display: flex; justify-content: space-between; }
  .fc { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-lightest); }

  /* HOME */
  .home-hero { display: grid; grid-template-columns: 5fr 4fr; min-height: 420px; border-top: 0.5px solid var(--border); }
  .home-hero-left { padding: 60px 48px; display: flex; flex-direction: column; gap: 28px; border-right: 0.5px solid var(--border); }
  .home-h1 { font-family: Georgia, serif; font-size: 42px; line-height: 1.1; color: var(--text-primary); font-weight: normal; letter-spacing: -0.02em; }
  .home-h1 em { font-style: italic; color: var(--accent); }
  .hero-bottom { display: flex; align-items: flex-end; justify-content: space-between; }
  .hero-sub { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 19px; line-height: 1.75; color: var(--text-muted); }
  .hero-scroll { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-lightest); letter-spacing: 0.06em; text-transform: uppercase; display: flex; flex-direction: column; align-items: center; gap: 8px; }
  .scroll-line { width: 0.5px; height: 32px; background: var(--text-lightest); }
  .home-hero-right { display: grid; grid-template-rows: 1fr auto; }
  .stat-row { display: grid; grid-template-columns: 1fr 1fr; border-top: 0.5px solid var(--border); }
  .stat { padding: 16px 20px; }
  .stat:first-child { border-right: 0.5px solid var(--border); }
  .stat-num { font-family: Georgia, serif; font-size: 22px; color: var(--text-primary); }
  .stat-label { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-faint); margin-top: 2px; }
  .logos-bar { border-top: 0.5px solid var(--border); border-bottom: 0.5px solid var(--border); display: flex; align-items: stretch; }
  .logos-bar-label { padding: 0 24px; display: flex; align-items: center; border-right: 0.5px solid var(--border); white-space: nowrap; font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; color: var(--text-lighter); letter-spacing: 0.1em; text-transform: uppercase; }
  .logos-row { display: flex; align-items: center; flex: 1; }
  .logo-cell { flex: 1; height: 56px; display: flex; align-items: center; justify-content: center; border-right: 0.5px solid var(--border); font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 12px; color: var(--text-lightest); }
  .logo-cell:last-child { border-right: none; }
  .about-strip { display: grid; grid-template-columns: 200px 1fr; border-top: 0.5px solid var(--border); }
  .about-side { padding: 32px 24px; display: flex; flex-direction: column; justify-content: center; }
  .about-side-label { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; color: var(--text-lighter); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 8px; }
  .about-side-val { font-family: Georgia, serif; font-size: 14px; color: var(--text-muted); line-height: 1.6; }
  .about-main { padding: 32px 40px; border-left: 0.5px solid var(--border); border-right: 0.5px solid var(--border); font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; line-height: 1.75; color: var(--text-secondary); }
  .about-main em { font-family: Georgia, serif; font-style: italic; color: var(--text-primary); font-size: 15px; }
  .services-section { border-top: 0.5px solid var(--border); display: grid; grid-template-columns: 200px 1fr; }
  .services-label-col { padding: 40px; border-right: 0.5px solid var(--border); }
  .services-note { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; color: var(--text-lighter); line-height: 1.6; margin-top: 12px; }
  .services-cards { display: grid; grid-template-columns: repeat(3, 1fr); }
  .svc-card { padding: 32px 28px; border-right: 0.5px solid var(--border); display: flex; flex-direction: column; justify-content: space-between; min-height: 240px; cursor: pointer; transition: background 0.15s; text-decoration: none; color: inherit; }
  .svc-card:last-child { border-right: none; }
  .svc-card:hover { background: var(--bg-warm); }
  .svc-num { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-lightest); margin-bottom: 14px; }
  .svc-title { font-family: Georgia, serif; font-size: 20px; color: var(--text-primary); font-weight: normal; line-height: 1.2; margin-bottom: 12px; }
  .svc-desc { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; color: var(--text-muted); line-height: 1.7; }
  .svc-bottom { margin-top: 24px; display: flex; align-items: center; justify-content: space-between; }
  .svc-arrow { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; color: var(--text-faint); }

  /* SERVICE PAGES */
  .service-hero { display: grid; grid-template-columns: 1fr 320px; min-height: 380px; border-top: 0.5px solid var(--border); }
  .service-hero-left { padding: 56px 48px; border-right: 0.5px solid var(--border); }
  .service-h1 { font-family: Georgia, serif; font-size: 38px; line-height: 1.1; color: var(--text-primary); font-weight: normal; letter-spacing: -0.02em; margin-bottom: 20px; }
  .service-h1 em { font-style: italic; color: var(--accent); }
  .service-lead { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 16px; line-height: 1.8; color: var(--text-secondary); max-width: 500px; margin-bottom: 28px; }
  .situations { display: flex; flex-direction: column; gap: 10px; }
  .situation { display: flex; align-items: flex-start; gap: 12px; font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: var(--text-muted); line-height: 1.6; }
  .sit-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--text-lightest); flex-shrink: 0; margin-top: 6px; }
  .service-sidebar { padding: 40px 28px; background: var(--bg-warm); display: flex; flex-direction: column; gap: 20px; }
  .sd-label { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-lighter); margin-bottom: 10px; }
  .sd-rows { border: 0.5px solid var(--border); border-radius: 4px; overflow: hidden; }
  .sd-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; border-bottom: 0.5px solid var(--border); font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; }
  .sd-row:last-child { border-bottom: none; }
  .sd-key { color: var(--text-faint); }
  .sd-val { color: var(--text-primary); text-align: right; }
  .expect-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .expect-num { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-lightest); margin-bottom: 8px; }
  .expect-title { font-family: Georgia, serif; font-size: 16px; color: var(--text-primary); font-weight: normal; margin-bottom: 6px; }
  .expect-desc { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: var(--text-muted); line-height: 1.7; }
  .packages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); border: 0.5px solid var(--border); }
  .pkg { background: var(--bg); padding: 28px 24px; position: relative; }
  .pkg.featured { background: var(--dark); }
  .pkg-badge { position: absolute; top: 14px; right: 14px; font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; color: var(--accent-text); background: var(--accent-bg); padding: 3px 8px; border-radius: 20px; }
  .pkg-name { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 12px; }
  .pkg.featured .pkg-name { color: #A9A49E; }
  .pkg-price { font-family: Georgia, serif; font-size: 32px; color: var(--text-primary); font-weight: normal; letter-spacing: -0.02em; margin-bottom: 4px; }
  .pkg.featured .pkg-price { color: var(--bg); }
  .pkg-unit { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; color: var(--text-faint); margin-bottom: 16px; }
  .pkg.featured .pkg-unit { color: #A9A49E; }
  .pkg-items { display: flex; flex-direction: column; gap: 7px; }
  .pkg-item { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; color: var(--text-muted); display: flex; gap: 8px; line-height: 1.5; }
  .pkg.featured .pkg-item { color: #C4BEB5; }
  .pkg-check { color: var(--accent); flex-shrink: 0; font-size: 11px; }
  .pkg.featured .pkg-check { color: var(--green-mid); }
  .faq-list { display: flex; flex-direction: column; }
  .faq-item { border-bottom: 0.5px solid var(--border); padding: 16px 0; cursor: pointer; }
  .faq-item:first-child { border-top: 0.5px solid var(--border); }
  .faq-q { font-family: Georgia, serif; font-size: 16px; color: var(--text-primary); font-weight: normal; display: flex; justify-content: space-between; gap: 16px; }
  .faq-icon { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 18px; color: var(--text-lightest); flex-shrink: 0; }
  .faq-item.open .faq-icon { color: var(--accent); }
  .faq-a { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: var(--text-muted); line-height: 1.75; margin-top: 10px; max-width: 560px; display: none; }
  .faq-item.open .faq-a { display: block; }
  .diff-strip { background: var(--bg-warm); border-top: 0.5px solid var(--border); padding: 24px 48px; display: grid; grid-template-columns: 200px 1fr; align-items: center; gap: 40px; }
  .diff-label { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; color: var(--text-lighter); letter-spacing: 0.1em; text-transform: uppercase; }
  .diff-body { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: var(--text-secondary); line-height: 1.75; }
  .diff-body a { color: var(--text-muted); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }

  /* WORKSHOPS */
  .ws-row { border-bottom: 0.5px solid var(--border); }
  .ws-row:first-child { border-top: 0.5px solid var(--border); }
  .ws-header { display: flex; align-items: stretch; cursor: pointer; text-decoration: none; color: inherit; }
  .ws-header:hover .ws-title { color: var(--accent); }
  .ws-index-col { padding: 28px 40px; border-right: 0.5px solid var(--border); }
  .ws-num { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-lightest); margin-bottom: 6px; }
  .ws-img { width: 200px; min-height: 130px; background: #E0DDD6; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-family: -apple-system, sans-serif; font-size: 10px; color: #B4B0A8; letter-spacing: 0.08em; text-transform: uppercase; }
  .ws-main-col { padding: 24px 32px; flex: 1; }
  .ws-title { font-family: Georgia, serif; font-size: 20px; color: var(--text-primary); font-weight: normal; margin-bottom: 8px; transition: color 0.15s; }
  .ws-subtitle { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: var(--text-muted); line-height: 1.65; max-width: 480px; }
  .ws-meta { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-faint); }
  .ws-action-col { padding: 24px 28px; display: flex; align-items: center; border-left: 0.5px solid var(--border); }
  .ws-cta-btn { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 12px; padding: 9px 16px; border-radius: 2px; cursor: pointer; letter-spacing: 0.02em; white-space: nowrap; }
  .btn-book { background: #B8813A; color: #F7F4EE; border: none; }
  .btn-notify { background: #B8813A; color: #F7F4EE; border: none; }
  .btn-enquire { background: #B8813A; color: #F7F4EE; border: none; }
  .ws-expanded { background: var(--bg-warm); border-top: 0.5px solid var(--border); display: none; grid-template-columns: 200px 1fr 280px; }
  .ws-expanded.open { display: grid; }
  .ws-exp-spacer { border-right: 0.5px solid var(--border); }
  .ws-exp-body { padding: 32px 40px; }
  .ws-exp-label { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-lighter); margin-bottom: 10px; margin-top: 20px; }
  .ws-exp-label:first-child { margin-top: 0; }
  .ws-exp-text { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; color: var(--text-secondary); line-height: 1.7; }
  .outcomes { display: flex; flex-direction: column; gap: 7px; }
  .outcome { display: flex; gap: 8px; font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: var(--text-secondary); }
  .oc-check { color: var(--green-mid); flex-shrink: 0; }
  .ws-exp-sidebar { padding: 32px 24px; border-left: 0.5px solid var(--border); display: flex; flex-direction: column; gap: 10px; }
  .exp-dr { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 0.5px solid #E0DDD6; font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 12px; }
  .exp-dr:last-child { border-bottom: none; }
  .exp-dr-k { color: var(--text-faint); }
  .exp-dr-v { color: var(--text-primary); text-align: right; }
  .notify-band { background: var(--bg-warm); border-top: 0.5px solid var(--border); display: none; grid-template-columns: 200px 1fr; }
  .notify-band.open { display: grid; }
  .notify-spacer { border-right: 0.5px solid var(--border); }
  .notify-body { padding: 32px 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
  .notify-title { font-family: Georgia, serif; font-size: 18px; color: var(--text-primary); font-weight: normal; margin-bottom: 8px; }
  .notify-desc { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; color: var(--text-muted); line-height: 1.65; }
  .notify-form { display: flex; flex-direction: column; gap: 10px; }
  .notify-input { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; color: var(--text-primary); background: var(--bg); border: 0.5px solid var(--border); border-radius: 2px; padding: 10px 14px; width: 100%; outline: none; }
  .notify-input::placeholder { color: var(--text-lighter); }
  .notify-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
  .notify-btn { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 12px; background: var(--dark); color: var(--bg); padding: 10px 18px; border-radius: 2px; border: none; cursor: pointer; white-space: nowrap; }
  .notify-small { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-lighter); }
  .pricing-hidden { display: none; }
  .private-cta { border-top: 0.5px solid var(--border); display: grid; grid-template-columns: 200px 1fr; }
  .private-cta-label { padding: 40px; border-right: 0.5px solid var(--border); }
  .private-body { padding: 40px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 40px; }
  .private-h { font-family: Georgia, serif; font-size: 22px; color: var(--text-primary); font-weight: normal; margin-bottom: 8px; }
  .private-h em { font-style: italic; color: var(--accent); }
  .private-p { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: var(--text-muted); line-height: 1.7; max-width: 440px; }

  /* ABOUT */
  .about-hero { display: grid; grid-template-columns: 400px 1fr; border-top: 0.5px solid var(--border); min-height: 440px; }
  .about-hero-right { padding: 56px 48px; display: flex; flex-direction: column; justify-content: space-between; border-left: 0.5px solid var(--border); }
  .about-name { font-family: Georgia, serif; font-size: 38px; color: var(--text-primary); font-weight: normal; letter-spacing: -0.02em; margin-bottom: 4px; }
  .about-role { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; color: var(--accent-text); margin-bottom: 28px; }
  .about-bio { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 16px; line-height: 1.85; color: var(--text-secondary); max-width: 420px; }
  .about-bio em { font-family: Georgia, serif; font-style: italic; color: var(--text-primary); font-size: 16px; }
  .cred-inline { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--accent-text); background: var(--accent-bg); padding: 1px 7px; border-radius: 10px; white-space: nowrap; vertical-align: middle; position: relative; top: -1px; }
  .about-stats { display: flex; gap: 32px; padding-top: 28px; border-top: 0.5px solid var(--border); }
  .hs-num { font-family: Georgia, serif; font-size: 24px; color: var(--text-primary); }
  .hs-label { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-faint); margin-top: 2px; }
  .test-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .test { background: var(--bg-green); border-radius: 4px; padding: 24px; }
  .test-text { font-family: Georgia, serif; font-size: 15px; color: var(--text-primary); font-style: italic; line-height: 1.55; margin-bottom: 12px; }
  .test-attr { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--green-mid); }

  /* WRITING */
  .page-header { padding: 56px 48px 48px; border-bottom: 0.5px solid var(--border); display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: end; border-top: 0.5px solid var(--border); }
  .ph-h1 { font-family: Georgia, serif; font-size: 40px; line-height: 1.1; color: var(--text-primary); font-weight: normal; letter-spacing: -0.02em; }
  .ph-h1 em { font-style: italic; color: var(--accent); }
  .ph-lead { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 16px; line-height: 1.8; color: var(--text-secondary); }
  .ph-tags { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 16px; border-top: 0.5px solid var(--border); }
  .ph-tag { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-muted); border: 0.5px solid var(--border); padding: 4px 12px; border-radius: 20px; cursor: pointer; }
  .ph-tag.active { background: var(--dark); color: var(--bg); border-color: var(--dark); }
  .filter-bar { border-bottom: 0.5px solid var(--border); padding: 0 48px; display: flex; align-items: center; }
  .filter-label { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; color: var(--text-lighter); letter-spacing: 0.1em; text-transform: uppercase; padding: 14px 20px 14px 0; border-right: 0.5px solid var(--border); margin-right: 20px; white-space: nowrap; }
  .filters { display: flex; gap: 8px; padding: 12px 0; flex-wrap: wrap; }
  .filter { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 12px; color: var(--text-muted); border: 0.5px solid var(--border); padding: 5px 14px; border-radius: 20px; cursor: pointer; background: var(--bg); transition: all 0.15s; }
  .filter:hover { border-color: var(--text-faint); }
  .filter.active { background: var(--dark); color: var(--bg); border-color: var(--dark); }

  .featured-visual { background: var(--dark); position: relative; overflow: hidden; display: flex; align-items: flex-end; padding: 32px; cursor: pointer; }
  .fv-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, #2C2A26 0%, #3D4A3A 100%); }
  .fv-pattern { position: absolute; inset: 0; opacity: 0.1; width: 100%; height: 100%; }
  .featured-right { padding: 40px; display: flex; flex-direction: column; justify-content: space-between; border-left: 0.5px solid var(--border); cursor: pointer; transition: background 0.15s; }
  .featured-right:hover { background: var(--bg-warm); }
  .featured-right:hover .featured-title { color: var(--accent); }
  .featured-meta { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-faint); margin-bottom: 14px; display: flex; gap: 8px; align-items: center; }
  .featured-title { font-family: Georgia, serif; font-size: 24px; color: var(--text-primary); font-weight: normal; line-height: 1.2; margin-bottom: 14px; transition: color 0.15s; }
  .featured-excerpt { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: var(--text-muted); line-height: 1.75; }
  .article-card { display: block; padding: 32px 48px; border-bottom: 0.5px solid var(--border); cursor: pointer; transition: background 0.15s; text-decoration: none; color: inherit; }
  .article-card:hover { background: var(--bg-warm); }
  .read-link { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; color: var(--text-primary); display: flex; align-items: center; gap: 6px; cursor: pointer; margin-top: 16px; }
  .read-arrow { color: var(--accent); }
  .article-row { display: grid; grid-template-columns: 200px 1fr 60px; align-items: start; border-bottom: 0.5px solid var(--border); cursor: pointer; transition: background 0.12s; }
  .article-row:hover { background: var(--bg-warm); }
  .article-row:hover .article-title { color: var(--accent); }
  .ar-meta { padding: 24px 40px; border-right: 0.5px solid var(--border); border-bottom: none; }
  .ar-date { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 12px; color: var(--text-faint); margin-bottom: 8px; }
  .ar-body { padding: 24px 40px; }
  .article-title { font-family: Georgia, serif; font-size: 20px; color: var(--text-primary); font-weight: normal; line-height: 1.2; margin-bottom: 8px; transition: color 0.15s; }
  .article-excerpt { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: var(--text-muted); line-height: 1.7; }
  .ar-action { padding: 24px 20px; border-left: 0.5px solid var(--border); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; }
  .ar-arrow { font-size: 16px; color: var(--text-lightest); }
  .ar-read { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-lighter); }
  .nl-strip { background: var(--bg-green); border-top: 0.5px solid var(--border-green); display: grid; grid-template-columns: 200px 1fr 1fr; }
  .nl-label-col { padding: 40px; border-right: 0.5px solid var(--border-green); display: flex; align-items: center; }
  .nl-label { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--green-mid); letter-spacing: 0.1em; text-transform: uppercase; }
  .nl-left { padding: 40px; border-right: 0.5px solid var(--border-green); }
  .nl-title { font-family: Georgia, serif; font-size: 20px; color: var(--text-primary); font-weight: normal; margin-bottom: 8px; }
  .nl-title em { font-style: italic; color: var(--green); }
  .nl-desc { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: #5A7A6E; line-height: 1.7; }
  .nl-right { padding: 40px; display: flex; flex-direction: column; justify-content: center; gap: 10px; }
  .nl-input { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; background: var(--bg); border: 0.5px solid var(--border-green); border-radius: 2px; padding: 10px 14px; width: 100%; outline: none; color: var(--text-primary); }
  .nl-input::placeholder { color: var(--green-light); }
  .nl-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
  .nl-btn { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 12px; background: var(--dark); color: var(--bg); padding: 10px 18px; border-radius: 2px; border: none; cursor: pointer; white-space: nowrap; }
  .nl-small { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: #8AB0A0; }

  /* CONTACT */
  .contact-main { display: grid; grid-template-columns: 1fr 1fr; min-height: 480px; border-top: 0.5px solid var(--border); }
  .contact-left { padding: 64px 48px; border-right: 0.5px solid var(--border); display: flex; flex-direction: column; justify-content: space-between; }
  .contact-h1 { font-family: Georgia, serif; font-size: 38px; line-height: 1.1; color: var(--text-primary); font-weight: normal; letter-spacing: -0.02em; margin-bottom: 20px; }
  .contact-h1 em { font-style: italic; color: var(--accent); }
  .contact-lead { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 15px; line-height: 1.8; color: var(--text-secondary); max-width: 340px; }
  .reassurance { display: flex; flex-direction: column; gap: 14px; padding-top: 36px; border-top: 0.5px solid var(--border); }
  .re-item { display: flex; gap: 12px; align-items: flex-start; }
  .re-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); flex-shrink: 0; margin-top: 5px; }
  .re-text { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: var(--text-muted); line-height: 1.65; }
  .re-text strong { color: var(--text-primary); font-weight: 500; }
  .contact-right { padding: 48px; background: var(--bg-warm); }
  .form { display: flex; flex-direction: column; gap: 16px; }
  .form-label-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
  .form-heading { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-faint); }
  .turnstile { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 10px; color: var(--text-lighter); display: flex; align-items: center; gap: 5px; }
  .field { display: flex; flex-direction: column; gap: 6px; }
  .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .field label { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-muted); }
  .field input, .field select, .field textarea { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 13px; color: var(--text-primary); background: var(--bg); border: 0.5px solid var(--border); border-radius: 2px; padding: 10px 14px; outline: none; width: 100%; }
  .field input::placeholder, .field textarea::placeholder { color: var(--text-lighter); }
  .field textarea { resize: vertical; min-height: 100px; line-height: 1.6; }
  .field select { appearance: none; cursor: pointer; }
  .form-note { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-lighter); line-height: 1.6; }
  .alt-strip { border-top: 0.5px solid var(--border); border-bottom: 0.5px solid var(--border); display: grid; grid-template-columns: 200px 1fr; }
  .alt-label-col { padding: 28px 48px; border-right: 0.5px solid var(--border); display: flex; align-items: center; }
  .alt-body { padding: 28px 48px; display: flex; gap: 32px; align-items: center; flex-wrap: wrap; }
  .alt-item { display: flex; align-items: center; gap: 12px; }
  .alt-icon { width: 32px; height: 32px; border-radius: 50%; background: var(--bg-warm-2); border: 0.5px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }
  .alt-title { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 14px; color: var(--text-primary); margin-bottom: 2px; }
  .alt-sub { font-family: -apple-system, 'Helvetica Neue', sans-serif; font-size: 11px; color: var(--text-faint); }
  .alt-divider { width: 0.5px; height: 36px; background: var(--border); }
  .meta-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-lightest); display: inline-block; vertical-align: middle; }


  .featured-art { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 0.5px solid var(--border); min-height: 240px; }
  .mobile-event-grid { display: grid; grid-template-columns: 1fr 320px; }

  /* ===================== MOBILE BASE ===================== */
  .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; background: none; border: none; }
  .hamburger span { display: block; width: 22px; height: 1.5px; background: var(--text-primary); transition: all 0.2s; }
  .mobile-menu { display: none; position: fixed; inset: 0; background: var(--bg); z-index: 200; flex-direction: column; align-items: center; justify-content: center; gap: 32px; }
  .mobile-menu.open { display: flex; }
  .mobile-menu a { font-family: Georgia, serif; font-size: 28px; color: var(--text-primary); text-decoration: none; font-weight: normal; cursor: pointer; }
  .mobile-menu a:hover { color: var(--accent); }
  .mobile-close { position: absolute; top: 24px; right: 24px; font-size: 28px; cursor: pointer; color: var(--text-faint); background: none; border: none; font-family: -apple-system, sans-serif; line-height: 1; }
  .mobile-cta-menu { font-family: -apple-system, sans-serif; font-size: 15px; color: var(--bg); background: var(--dark); padding: 14px 32px; border-radius: 2px; cursor: pointer; margin-top: 8px; }
  .mobile-sticky-bar { display: none; }

  @media (max-width: 768px) {

    /* NAV */
    .nav { padding: 16px 20px; }
    .nav-right { gap: 12px; }
    .nav-links { display: none; }
    .nav-cta { display: none; }
    .hamburger { display: flex; }

    /* MOBILE STICKY BAR */
    .mobile-sticky-bar { display: flex; position: fixed; bottom: 0; left: 0; right: 0; background: var(--bg); border-top: 0.5px solid var(--border); padding: 12px 20px; gap: 12px; align-items: center; justify-content: space-between; z-index: 100; }
    .mobile-sticky-price { font-family: Georgia, serif; font-size: 22px; color: var(--text-primary); }
    .mobile-sticky-label { font-family: -apple-system, sans-serif; font-size: 11px; color: var(--text-faint); margin-top: 2px; }
    .mobile-sticky-btn { font-family: -apple-system, sans-serif; font-size: 14px; background: #B8813A; color: var(--bg); padding: 12px 24px; border-radius: 2px; border: none; cursor: pointer; white-space: nowrap; }

    /* HOME */
    .home-hero { grid-template-columns: 1fr; }
    .home-hero-left { padding: 32px 20px; border-right: none; border-bottom: 0.5px solid var(--border); }
    .home-h1 { font-size: 28px; }
    .hero-sub { font-size: 16px; }
    .hero-scroll { display: none; }
    .logos-bar { flex-direction: column; }
    .logos-bar-label { padding: 12px 20px; border-right: none; border-bottom: 0.5px solid var(--border); }
    .logos-row { flex-wrap: wrap; }
    .logo-cell { flex: 1 1 33%; height: 44px; font-size: 11px; }
    .services-section { grid-template-columns: 1fr; }
    .services-label-col { padding: 24px 20px; border-right: none; border-bottom: 0.5px solid var(--border); }
    .services-cards { grid-template-columns: 1fr; }
    .svc-card { border-right: none; border-bottom: 0.5px solid var(--border); padding: 24px 20px; min-height: auto; }
    .quote-band { padding: 32px 20px; grid-template-columns: 40px 1fr; gap: 12px; }
    .quote-mark { font-size: 40px; }
    .quote-text { font-size: 16px; }
    .footer { grid-template-columns: 1fr 1fr; padding: 24px 20px; gap: 20px; }
    .footer-bottom { padding: 12px 20px; flex-direction: column; gap: 4px; }

    /* SHARED SECTIONS */
    .section { grid-template-columns: 1fr; }
    .slabel-col { padding: 20px; border-right: none; border-bottom: 0.5px solid var(--border); }
    .sbody { padding: 24px 20px; }
    .page-header { grid-template-columns: 1fr; padding: 32px 20px; gap: 20px; }
    .breadcrumb { padding: 10px 20px; }
    .cta-strip { grid-template-columns: 1fr; gap: 20px; padding: 32px 20px; }
    .expect-grid { grid-template-columns: 1fr; }
    .packages { grid-template-columns: 1fr; }
    .test-grid { grid-template-columns: 1fr; }
    .diff-strip { grid-template-columns: 1fr; gap: 10px; padding: 20px; }

    /* SERVICE PAGES */
    .service-hero { grid-template-columns: 1fr; }
    .service-hero-left { padding: 32px 20px; border-right: none; border-bottom: 0.5px solid var(--border); }
    .service-h1 { font-size: 28px; }
    .service-sidebar { padding: 24px 20px; }

    /* ABOUT */
    .about-hero { grid-template-columns: 1fr; }
    .about-hero-right { padding: 32px 20px; border-left: none; border-top: 0.5px solid var(--border); }
    .about-name { font-size: 28px; }

    /* WORKSHOPS LISTING */
    .ws-header { flex-direction: column; }
    .ws-img { width: 100%; height: 180px; }
    .ws-main-col { padding: 16px 20px; width: 100%; }
    .ws-action-col { padding: 12px 20px 20px; border-left: none; border-top: 0.5px solid var(--border); flex-direction: row; align-items: center; justify-content: space-between; width: 100%; }
    .notify-body { grid-template-columns: 1fr; gap: 20px; }
    .private-cta { grid-template-columns: 1fr; }
    .private-cta-label { padding: 20px; border-right: none; border-bottom: 0.5px solid var(--border); }
    .private-body { grid-template-columns: 1fr; padding: 20px; gap: 16px; }

    /* WORKSHOP EVENT PAGES */
    .mobile-event-grid { display: flex !important; flex-direction: column !important; }
    .mobile-event-grid > div:first-child { border-right: none !important; border-bottom: 0.5px solid var(--border); }
    .mobile-event-grid > div:last-child { position: static !important; padding: 24px 20px !important; }

    /* CONTACT */
    .contact-main { grid-template-columns: 1fr; }
    .contact-left { padding: 32px 20px; border-right: none; border-bottom: 0.5px solid var(--border); }
    .contact-h1 { font-size: 28px; }
    .contact-right { padding: 24px 20px; }
    .field-row { grid-template-columns: 1fr; }
    .alt-strip { grid-template-columns: 1fr; }
    .alt-label-col { padding: 16px 20px; border-right: none; border-bottom: 0.5px solid var(--border); }
    .alt-body { padding: 20px; gap: 16px; flex-direction: column; }
    .alt-divider { width: 100%; height: 0.5px; }

    /* 404 / BOOKING FAILED / WITHDRAW */
    .not-found-inner, .booking-failed-inner, .withdraw-inner { padding: 48px 20px !important; }

    /* THANK YOU */
    .thank-you-grid { grid-template-columns: 1fr !important; }
    .thank-you-grid > div:first-child { padding: 32px 20px !important; border-right: none !important; border-bottom: 0.5px solid var(--border); }
    .thank-you-grid > div:last-child { padding: 32px 20px !important; }

    /* WRITING PAGE */
    .filter-bar { padding: 0 20px; }
    .featured-art { display: flex !important; flex-direction: column !important; min-height: auto; }
    .featured-visual { width: 100% !important; min-height: 160px !important; border-left: none !important; order: 1; }
    .featured-right { width: 100% !important; border-left: none !important; border-top: 0.5px solid var(--border) !important; padding: 24px 20px; order: 2; }
    .featured-title { font-size: 20px; }
    .article-row { grid-template-columns: 1fr 40px; }
    .ar-meta { padding: 16px 20px; display: flex; align-items: center; gap: 10px; border-right: none; border-bottom: 0.5px solid var(--border); grid-column: 1 / -1; }
    .ar-body { padding: 16px 20px; }
    .ar-action { padding: 16px 12px; }
    .nl-strip { grid-template-columns: 1fr; }
    .nl-label-col { padding: 16px 20px; border-right: none; border-bottom: 0.5px solid var(--border); }
    .nl-left { padding: 20px; border-right: none; border-bottom: 0.5px solid var(--border-green); }
    .nl-right { padding: 20px; }
    .nl-row { grid-template-columns: 1fr; }

    /* NEWSLETTER PAGE */
    .mobile-newsletter { display: flex !important; flex-direction: column !important; }
    .mobile-newsletter > div:first-child { min-height: 260px; border-right: none; border-bottom: 0.5px solid var(--border); }
    .mobile-newsletter > div:last-child { padding: 32px 20px !important; }

    /* ARTICLE PAGES */
    .mobile-article-grid { display: flex !important; flex-direction: column !important; }
    .mobile-article-grid > div:first-child { border-right: none; }
    .mobile-article-grid > div:first-child > div { padding: 32px 20px 40px !important; }
    .mobile-article-grid > div:first-child h1 { font-size: 26px !important; }
    .mobile-article-grid > div:first-child > div > div { max-width: 100% !important; }
    .mobile-article-sidebar { padding: 24px 20px !important; position: static !important; }

    /* MEDIATION CARDS */
    .mobile-two-col { grid-template-columns: 1fr !important; }
  }

  @media (max-width: 768px) {
    .legal-grid { grid-template-columns: 1fr !important; }
    .legal-grid > div:first-child { padding: 20px; border-right: none !important; border-bottom: 0.5px solid var(--border); }
    .legal-grid > div:last-child { padding: 24px 20px !important; }
    .legal-grid h2 { font-size: 18px !important; }
    .legal-grid p, .legal-grid div { font-size: 14px !important; }
  }

