    :root {
      --green: #185A40;
      --green-deep: #294B3A;
      --brown: #3D342D;
      --linen: #F4EFE7;
      --sand: #E8DDCB;
      --clay: #D5C3AA;
      --olive: #7D8060;
      --terra: #B87559;
      --chestnut: #785746;
      --white: #FFFCF7;
      --max: 1200px;
      --shadow: 0 18px 48px rgba(61,52,45,.09);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--brown);
      background: var(--linen);
      font-family: "Source Sans 3", "Avenir Next", "Noto Sans", Arial, sans-serif;
      font-size: 18px;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
    }
    h1,h2,h3,p { margin-top: 0; }
    h1,h2,h3 {
      color: var(--green-deep);
      letter-spacing: -.025em;
      line-height: 1.1;
      font-family: "Manrope", "Avenir Next", "Noto Sans", Arial, sans-serif;
    }
    h1 { font-size: clamp(2.7rem, 6vw, 5rem); max-width: 830px; margin-bottom: 24px; }
    h2 { font-size: clamp(2rem, 4vw, 3.35rem); margin-bottom: 20px; }
    h3 { font-size: 1.35rem; margin-bottom: 12px; }
    p { color: #5b5148; }
    a { color: inherit; }
    img { max-width: 100%; display: block; }
    button { font: inherit; }
    .container { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }
    .section { padding: clamp(76px, 9vw, 126px) 0; position: relative; }
    .eyebrow {
      display: inline-flex; align-items: center; gap: 10px;
      color: var(--green); font-weight: 700; letter-spacing: .08em;
      text-transform: uppercase; font-size: .78rem; margin-bottom: 20px;
    }
    .eyebrow::before { content:""; width:34px; height:1px; background:currentColor; }
    .lead { font-size: clamp(1.12rem, 2vw, 1.34rem); max-width: 720px; color:#51483f; }
    .muted { color:#6a5f55; }

    .site-header {
      position: sticky; top:0; z-index:20;
      background: rgba(244,239,231,.9); backdrop-filter: blur(14px);
      border-bottom:1px solid rgba(41,75,58,.08);
    }
    .nav { height:92px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
    .brand { width:254px; flex:0 0 auto; }
    .brand img { width:100%; height:auto; }
    .nav-links { display:flex; align-items:center; gap:26px; }
    .nav-links a { text-decoration:none; font-size:.94rem; font-weight:600; color:var(--green-deep); }
    .nav-links a:hover { color:var(--terra); }
    .menu-button { display:none; border:0; background:transparent; color:var(--green-deep); padding:8px; cursor:pointer; }
    .menu-button span { display:block; width:25px; height:2px; background:currentColor; margin:5px 0; border-radius:2px; }

    .btn {
      display:inline-flex; align-items:center; justify-content:center; gap:10px;
      min-height:52px; padding:0 24px; border-radius:12px;
      text-decoration:none; font-weight:700; border:1px solid transparent;
      transition:transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
    }
    .btn:hover { transform: translateY(-2px); }
    .btn-primary { background:var(--green); color:var(--white); box-shadow:0 10px 28px rgba(24,90,64,.18); }
    .btn-primary:hover { background:#124b35; color:var(--white); }
    .btn-secondary { color:var(--green); border-color:rgba(24,90,64,.32); background:rgba(255,255,255,.3); }
    .btn-secondary:hover { border-color:var(--green); background:rgba(255,255,255,.75); }
    .btn-sm { min-height:44px; padding:0 18px; border-radius:10px; font-size:.92rem; }
    .nav-links a.btn-primary, .nav-links a.btn-primary:hover { color:var(--white); }

    .hero { overflow:hidden; padding:96px 0 88px; min-height:710px; display:flex; align-items:center; }
    .hero::before {
      content:""; position:absolute; width:720px; height:720px; right:-280px; top:-210px;
      border-radius:48% 52% 62% 38% / 46% 38% 62% 54%;
      background:radial-gradient(circle at 35% 38%, rgba(213,195,170,.92), rgba(232,221,203,.5) 52%, rgba(244,239,231,0) 72%);
      transform:rotate(-10deg); pointer-events:none;
    }
    .hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(54px,7vw,96px); align-items:center; position:relative; z-index:1; }
    .hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin:32px 0 28px; }
    .hero-note { display:flex; gap:13px; align-items:flex-start; max-width:640px; color:#5a5047; font-size:.95rem; }
    .hero-note::before { content:"✓"; display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border-radius:50%; background:var(--sand); color:var(--green); font-weight:800; }

    .photo-frame {
      position:relative; min-height:520px; border-radius:46% 54% 36% 64% / 54% 40% 60% 46%;
      overflow:visible; background:linear-gradient(145deg, var(--clay), var(--sand) 52%, rgba(125,128,96,.45));
      box-shadow:var(--shadow); display:grid; place-items:center;
    }
    .photo-placeholder { text-align:center; padding:44px; max-width:430px; color:var(--green-deep); }
    .photo-placeholder svg { width:92px; height:92px; margin:0 auto 20px; color:var(--green); opacity:.88; }
    .photo-placeholder strong { display:block; font-size:1.18rem; margin-bottom:8px; }
    .photo-placeholder span { display:block; color:#655a50; font-size:.94rem; line-height:1.5; }
    .photo-chip {
      position:absolute; left:26px; bottom:25px; z-index:2; max-width:285px;
      background:rgba(255,252,247,.97); border:1px solid rgba(61,52,45,.08);
      border-radius:18px; padding:18px 20px; box-shadow:var(--shadow); font-size:.94rem;
    }
    .photo-chip strong { display:block; color:var(--green); margin-bottom:3px; }
    .photo-image { width:100%; height:100%; display:block; object-fit:cover; border-radius:inherit; }

    .trust-strip { padding:28px 0; background:var(--green-deep); color:#f7f0e6; }
    .trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
    .trust-item { display:flex; gap:14px; align-items:flex-start; }
    .trust-icon { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border:1px solid rgba(255,255,255,.28); border-radius:50%; font-size:.87rem; }
    .trust-item p { margin:0; color:#f7f0e6; font-size:.96rem; line-height:1.45; }

    .recognition { background:var(--white); }
    .recognition-grid { display:grid; grid-template-columns:.84fr 1.16fr; gap:86px; align-items:start; }
    .signal-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    .signal { padding:21px 22px; border-radius:16px; background:var(--linen); border:1px solid rgba(61,52,45,.06); }
    .signal strong { display:block; color:var(--green-deep); margin-bottom:5px; }
    .signal span { color:#6a5f55; font-size:.91rem; line-height:1.45; }

    .explain-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:86px; align-items:center; }
    .definition-panel { background:var(--sand); border-radius:28px 28px 48px 20px; padding:42px; }
    .definition-panel h3 { font-size:1.55rem; }
    .definition-panel p:last-child { margin-bottom:0; }
    .check-list { display:grid; gap:13px; margin:26px 0 0; }
    .check { display:flex; gap:12px; align-items:flex-start; color:#574e45; }
    .check::before { content:"✓"; color:var(--green); font-weight:800; }

    .intention-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:28px; }
    .intention-card { padding:28px; border-radius:20px; background:var(--white); border:1px solid rgba(61,52,45,.08); }
    .intention-card strong { display:block; color:var(--green-deep); font-size:1.2rem; margin-bottom:8px; }
    .intention-card p { margin-bottom:0; color:#5d534a; }
    .orientation-note { margin-top:24px; padding:18px 20px; border-left:3px solid var(--terra); background:rgba(255,252,247,.62); color:#544b43; }

    .flavour-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:40px; }
    .flavour-card { padding:28px 25px; border-radius:20px; background:rgba(255,252,247,.78); border:1px solid rgba(61,52,45,.08); }
    .flavour-meta { display:block; margin-bottom:14px; color:var(--green); font-size:.76rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
    .flavour-card p { margin-bottom:0; color:#5d534a; font-size:.95rem; }

    .session { background:var(--sand); overflow:hidden; }
    .session-head { display:grid; grid-template-columns:.92fr 1.08fr; gap:70px; align-items:end; margin-bottom:44px; }
    .session-head p { max-width:650px; margin-bottom:6px; }
    .session-photos { display:grid; grid-template-columns:1.12fr .88fr; gap:20px; }
    .session-photo {
      min-height:390px; border-radius:24px; overflow:hidden; position:relative;
      background:linear-gradient(145deg, rgba(213,195,170,.92), rgba(255,252,247,.86));
      border:1px solid rgba(61,52,45,.08); display:grid; place-items:center;
    }
    .session-photo.secondary { min-height:390px; background:linear-gradient(145deg, rgba(125,128,96,.24), rgba(232,221,203,.92)); }
    .session-photo .photo-placeholder { max-width:390px; }
    .caption { position:absolute; left:18px; right:18px; bottom:18px; background:rgba(255,252,247,.94); border-radius:14px; padding:13px 15px; color:#5d534a; font-size:.88rem; }

    .process-grid { display:grid; grid-template-columns:.83fr 1.17fr; gap:86px; align-items:start; }
    .process-intro { position:sticky; top:130px; }
    .steps { display:grid; gap:16px; }
    .step { display:grid; grid-template-columns:50px 1fr; gap:18px; padding:24px; background:var(--white); border-radius:18px; border:1px solid rgba(61,52,45,.07); }
    .step-number { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--green); color:white; font-weight:700; font-size:.9rem; }
    .step h3 { margin-bottom:7px; }
    .step p { margin-bottom:0; font-size:.95rem; }

    .choice-section { background:var(--white); }
    .choice-head { max-width:780px; margin-bottom:42px; }
    .choice-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
    .choice-card { padding:34px; border-radius:22px; background:var(--linen); border:1px solid rgba(61,52,45,.08); display:flex; flex-direction:column; }
    .choice-card.featured { background:var(--green-deep); color:#f6efe6; }
    .choice-card.featured h3, .choice-card.featured p { color:#fffaf3; }
    .choice-label { display:inline-flex; align-self:flex-start; padding:6px 10px; border-radius:999px; background:var(--sand); color:var(--green); font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:18px; }
    .featured .choice-label { background:rgba(255,255,255,.13); color:#f6efe6; }
    .choice-card .btn { margin-top:auto; align-self:flex-start; }
    .choice-card ul { padding-left:20px; color:#5d534a; }
    .choice-card.featured ul { color:#f3ebdf; }
    .choice-card li + li { margin-top:7px; }
    .placeholder-meta { font-size:.88rem; font-weight:700; color:var(--green-deep); margin:4px 0 23px; }
    .featured .placeholder-meta { color:#e3d7c7; }

    .boundaries { background:var(--green-deep); color:#f6efe6; }
    .boundaries h2, .boundaries h3 { color:white; }
    .boundaries p { color:#f3ebdf; }
    .boundaries .eyebrow { color:#d9c8b3; }
    .boundary-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:78px; align-items:start; }
    .boundary-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
    .boundary-card { padding:24px; border-radius:18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); }
    .boundary-card p { color:#f3ebdf; margin-bottom:0; font-size:.94rem; }
    .boundary-card h3 { font-size:1.18rem; }
    .safety-note { margin-top:22px; padding:19px 20px; border-left:3px solid var(--terra); background:rgba(255,255,255,.06); color:#f3ebdf; }

    .guide-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:78px; align-items:center; }
    .portrait-placeholder { min-height:470px; border-radius:46% 54% 39% 61% / 56% 41% 59% 44%; background:linear-gradient(145deg, var(--clay), var(--sand)); display:grid; place-items:center; overflow:hidden; }
    .portrait-photo { width:100%; height:100%; min-height:470px; display:block; object-fit:cover; object-position:center 20%; }
    .guide-copy .lead-personal { font-size:1.16rem; color:#4f463e; }
    .credentials { margin-top:26px; border-top:1px solid rgba(61,52,45,.1); }
    .credentials details { border-bottom:1px solid rgba(61,52,45,.1); padding:15px 0; }
    .credentials summary { cursor:pointer; color:var(--green-deep); font-weight:700; }
    .credentials p { margin:12px 0 4px; font-size:.94rem; }

    .faq { background:var(--sand); }
    .faq-grid { display:grid; grid-template-columns:.77fr 1.23fr; gap:80px; align-items:start; }
    .faq-list { display:grid; gap:12px; }
    .faq details { background:var(--white); border:1px solid rgba(61,52,45,.08); border-radius:15px; padding:0 20px; }
    .faq summary { cursor:pointer; list-style:none; padding:20px 35px 20px 0; color:var(--green-deep); font-weight:700; position:relative; }
    .faq summary::-webkit-details-marker { display:none; }
    .faq summary::after { content:"+"; position:absolute; right:2px; top:14px; font-size:1.55rem; color:var(--terra); }
    .faq details[open] summary::after { content:"−"; }
    .faq details p { padding:0 0 18px; margin:0; font-size:.95rem; }

    .booking { background:var(--terra); color:white; }
    .booking h2 { color:white; }
    .booking-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
    .booking p { color:rgba(255,255,255,.9); }
    .booking-actions { display:grid; gap:14px; }
    .book-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; border-radius:16px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); }
    .book-row strong { display:block; margin-bottom:2px; }
    .book-row span { font-size:.88rem; color:rgba(255,255,255,.82); }
    .book-row .btn { background:var(--white); color:var(--green-deep); min-width:170px; }

    footer { background:#1e3f31; color:rgba(255,255,255,.76); padding:54px 0 34px; }
    .footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:50px; }
    .footer-brand { width:230px; filter:brightness(0) invert(1); opacity:.93; margin-bottom:18px; }
    footer h3 { color:white; font-size:1rem; letter-spacing:.04em; }
    footer p { color:rgba(255,255,255,.76); }
    footer a { color:inherit; text-decoration:none; display:block; margin:5px 0; }
    footer a:hover { color:white; }
    .footer-bottom { margin-top:44px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:20px; font-size:.85rem; }

    .reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
    .reveal.visible { opacity:1; transform:none; }

    @media (max-width:980px) {
      .nav-links { position:absolute; display:none; top:92px; left:20px; right:20px; flex-direction:column; align-items:stretch; padding:20px; background:var(--white); box-shadow:var(--shadow); border-radius:16px; }
      .nav-links.open { display:flex; }
      .nav-links .btn { width:100%; }
      .menu-button { display:block; }
      .hero-grid, .recognition-grid, .explain-grid, .process-grid, .boundary-grid, .guide-grid, .faq-grid, .booking-grid { grid-template-columns:1fr; gap:54px; }
      .flavour-grid, .choice-cards { grid-template-columns:1fr; }
      .hero { min-height:auto; padding-top:72px; }
      .photo-frame { min-height:460px; max-width:650px; width:100%; margin:0 auto; }
      .trust-grid { grid-template-columns:1fr; }
      .session-head { grid-template-columns:1fr; gap:16px; }
      .session-photos { grid-template-columns:1fr 1fr; }
      .process-intro { position:static; }
      .boundary-cards { grid-template-columns:1fr 1fr; }
      .footer-grid { grid-template-columns:1fr 1fr; }
      .footer-grid > div:first-child { grid-column:1/-1; }
    }
    @media (max-width:660px) {
      body { font-size:17px; }
      .container { width:min(calc(100% - 28px), var(--max)); }
      .nav { height:78px; }
      .brand { width:210px; }
      .nav-links { top:78px; left:14px; right:14px; }
      h1 { font-size:2.68rem; }
      .hero { padding:62px 0 68px; }
      .hero-actions { flex-direction:column; align-items:stretch; }
      .hero-actions .btn { width:100%; }
      .photo-frame { min-height:385px; }
      .photo-chip { left:14px; right:14px; max-width:none; }
      .signal-grid, .session-photos, .choice-cards, .flavour-grid, .intention-grid, .boundary-cards { grid-template-columns:1fr; }
      .session-photo, .session-photo.secondary { min-height:330px; }
      .definition-panel, .choice-card { padding:27px 22px; }
      .step { grid-template-columns:43px 1fr; padding:21px 18px; }
      .book-row { align-items:flex-start; flex-direction:column; }
      .book-row .btn { width:100%; }
      .footer-grid { grid-template-columns:1fr; }
      .footer-grid > div:first-child { grid-column:auto; }
      .footer-bottom { flex-direction:column; }
    }
    @media (prefers-reduced-motion:reduce) {
      html { scroll-behavior:auto; }
      *,*::before,*::after { animation:none!important; transition:none!important; }
      .reveal { opacity:1; transform:none; }
    }