
  :root{
    color-scheme:light;
    --bone:#F1EFE7;
    --bone-dim:#E7DDBD;
    --charcoal:#241F1D;
    --taupe:#7C7267;
    --plum:#B89EB2;
    --plum-deep:#8F7189;
    --gold:#C4B387;
    --gold-soft:#E7DDBD;
    --line: rgba(36,31,29,0.12);
    --surface:#F8F6F0;
    --shadow: 0 30px 60px -30px rgba(60,50,45,0.22);
  }
  /* The Bold Exchange uses one fixed light palette on every device —
     it does not switch to a dark theme when a visitor's phone or
     browser is set to dark mode. */

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation:none !important; transition:none !important;} }

  body{
    margin:0;
    background:var(--bone);
    color:var(--charcoal);
    font-family:'Karla', -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight:400;
    line-height:1.6;
  }

  h1,h2,h3,.display{
    font-family:'Fraunces', Georgia, 'Times New Roman', serif;
    font-weight:500;
    text-wrap:balance;
    margin:0;
    letter-spacing:-0.01em;
  }
  em{ font-style:italic; font-weight:400; }
  p{ margin:0; }
  a{ color:inherit; }

  .eyebrow{
    font-family:'Karla', sans-serif;
    text-transform:uppercase;
    letter-spacing:0.18em;
    font-size:0.72rem;
    font-weight:600;
    color:var(--gold);
  }

  .wrap{ max-width:1120px; margin:0 auto; padding:0 32px; }
  @media (max-width:640px){ .wrap{ padding:0 20px; } }

  .page-section{ padding:100px 0 110px; }
  @media (max-width:760px){ .page-section{ padding:60px 0 76px; } }

  /* nav */
  header{
    position:sticky; top:0; z-index:60;
    background:color-mix(in srgb, var(--surface) 92%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 32px;
    max-width:1120px; margin:0 auto;
    gap:24px;
  }
  .brand{ display:flex; align-items:center; gap:12px; background:none; border:none; padding:0; cursor:pointer; }
  .brand img{ height:32px; width:auto; display:block; }
  .navlinks{ display:flex; gap:30px; list-style:none; margin:0; padding:0; flex:1; justify-content:center; }
  .navlinks a{
    background:none; border:none; cursor:pointer; font-family:'Karla',sans-serif;
    text-decoration:none; font-size:0.82rem; letter-spacing:0.03em; color:var(--charcoal);
    opacity:0.66; transition:opacity 0.2s; padding:6px 0; border-bottom:1px solid transparent;
  }
  .navlinks a:hover{ opacity:1; }
  .navlinks a.active{ opacity:1; color:var(--plum); border-bottom-color:var(--gold); }
  @media (max-width:940px){ .navlinks{ display:none; } }
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    background:var(--plum); color:var(--bone-dim);
    padding:13px 26px; border-radius:2px;
    font-family:'Karla', sans-serif; font-size:0.8rem; letter-spacing:0.05em; text-transform:uppercase; font-weight:600;
    text-decoration:none; border:1px solid var(--plum); cursor:pointer;
    transition:transform 0.25s ease, box-shadow 0.25s ease;
    white-space:nowrap;
  }
  .btn:hover{ transform:translateY(-2px); box-shadow:var(--shadow); }
  .btn.gold{ background:var(--gold); border-color:var(--gold); color:var(--plum-deep); }
  .btn.outline{ background:transparent; color:var(--charcoal); border:1px solid var(--line); }
  .btn.outline:hover{ border-color:var(--gold); color:var(--plum); }

  /* hero */
  .hero{
    position:relative;
    min-height:82vh;
    display:flex; align-items:flex-end;
    background-image:
      linear-gradient(180deg, transparent 0%, rgba(10,8,7,0.04) 20%, rgba(10,8,7,0.4) 48%, rgba(10,8,7,0.62) 100%),
      url('images/hero.jpg');
    background-size:cover;
    background-position:center 40%;
  }
  .hero-inner{ position:relative; z-index:2; padding:60px 32px 90px; max-width:1120px; margin:0 auto; width:100%; }
  .hero-inner .eyebrow{ color:var(--gold-soft); text-shadow:0 1px 10px rgba(0,0,0,0.55), 0 1px 3px rgba(0,0,0,0.7); }
  .hero-inner h1{
    color:#F6EFE2;
    font-size:clamp(2.4rem, 5.6vw, 4.2rem);
    line-height:1.06;
    max-width:16ch;
    margin-top:18px;
    text-shadow:0 2px 16px rgba(10,7,5,0.6), 0 1px 4px rgba(10,7,5,0.75);
  }
  .hero-inner h1 em{ color:var(--gold-soft); }
  .hero-inner .lede{
    margin-top:22px; max-width:52ch; font-size:1.05rem; color:#F6EFE2; opacity:0.96;
    text-shadow:0 1px 10px rgba(10,7,5,0.55), 0 1px 3px rgba(10,7,5,0.7);
  }
  .hero-ctas{ margin-top:34px; display:flex; gap:16px; flex-wrap:wrap; }
  .hero-ctas .btn.outline{ border-color:rgba(246,239,226,0.55); color:#F6EFE2; }
  .hero-ctas .btn.outline:hover{ border-color:var(--gold); color:var(--gold-soft); }
  .hero-tagline{
    margin-top:30px; font-family:'Fraunces',serif; font-style:italic; font-weight:400;
    font-size:0.98rem; color:#F6EFE2; opacity:0.92; text-shadow:0 1px 10px rgba(10,7,5,0.55), 0 1px 3px rgba(10,7,5,0.7);
  }
  .hero-kicker{
    margin-top:14px; font-family:'Fraunces',serif; font-style:italic; font-weight:400;
    font-size:1.15rem; color:#F6EFE2; opacity:0.98; text-shadow:0 1px 10px rgba(10,7,5,0.55), 0 1px 3px rgba(10,7,5,0.7);
  }

  /* you may be here because */
  .here-list{ margin-top:44px; display:flex; flex-direction:column; gap:22px; max-width:64ch; }
  .here-list p{ padding-left:22px; border-left:2px solid var(--line); color:var(--charcoal); opacity:0.88; font-size:1.03rem; }
  .here-close{ margin-top:38px; font-family:'Fraunces',serif; font-style:italic; font-size:1.25rem; color:var(--plum); }

  /* ethos */
  .section-head{ max-width:60ch; }
  .section-head .eyebrow{ margin-bottom:16px; display:block; }
  .section-head h2{ font-size:clamp(1.9rem,3.4vw,2.6rem); }
  .three-col{ margin-top:56px; display:grid; grid-template-columns:repeat(3,1fr); gap:48px; }
  @media (max-width:760px){ .three-col{ grid-template-columns:1fr; gap:36px; } }
  .three-col .num{ font-family:'Fraunces',serif; font-style:italic; font-size:1rem; color:var(--gold); margin-bottom:14px; display:block; }
  .three-col h3{ font-size:1.15rem; margin-bottom:10px; font-weight:500; }
  .three-col p{ color:var(--taupe); font-size:0.98rem; }

  .section-alt{ background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

  /* pillars */
  .pillars-grid{ margin-top:56px; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
  @media (max-width:700px){ .pillars-grid{ grid-template-columns:1fr; } }
  .pillar{ background:var(--bone); padding:44px 40px; }
  .pillar h3{ font-size:1.3rem; margin-bottom:14px; }
  .pillar p{ color:var(--taupe); }

  /* pillars, photo + list layout (home) */
  .pillars-photo-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center; }
  @media (max-width:860px){ .pillars-photo-grid{ grid-template-columns:1fr; gap:40px; } }
  .pillars-photo{ aspect-ratio:4/5; border-radius:2px; overflow:hidden; box-shadow:var(--shadow); }
  .pillars-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .pillars-copy .eyebrow{ margin-bottom:16px; display:block; }
  .pillars-copy h2{ font-size:clamp(1.9rem,3.4vw,2.6rem); margin-bottom:8px; }
  .pillars-list{ margin-top:38px; display:flex; flex-direction:column; gap:28px; }
  .pillar-line{ padding-top:24px; border-top:1px solid var(--line); }
  .pillar-line:first-child{ padding-top:0; border-top:none; }
  .pillar-line h3{ font-size:1.15rem; margin-bottom:8px; }
  .pillar-line p{ color:var(--taupe); font-size:0.96rem; }

  /* carl jung quote band (home) */
  .jung-quote{
    position:relative; min-height:64vh; display:flex; align-items:center; justify-content:center; overflow:hidden;
  }
  .jung-quote-img{
    position:absolute; top:-18%; left:0; width:100%; height:136%; object-fit:cover; z-index:1; pointer-events:none; will-change:transform;
  }
  .jung-quote::before{
    content:''; position:absolute; inset:0; z-index:1;
    background:color-mix(in srgb, var(--charcoal) 8%, transparent);
  }
  .jung-quote-inner{
    position:relative; z-index:2; max-width:640px; margin:32px; padding:56px 48px;
    background:color-mix(in srgb, var(--bone) 90%, transparent);
    backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);
    box-shadow:var(--shadow);
    text-align:center;
  }
  .jung-quote-inner p{ font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:clamp(1.4rem,3vw,2.1rem); line-height:1.42; color:var(--plum); }
  .jung-quote-inner .attr-line{ display:block; margin-top:22px; font-family:'Karla',sans-serif; text-transform:uppercase; letter-spacing:0.16em; font-size:0.76rem; color:var(--gold); }

  /* about */
  .about-grid{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:64px; align-items:start; }
  @media (max-width:860px){ .about-grid{ grid-template-columns:1fr; } }
  .art-panel{
    aspect-ratio:3/4; border-radius:2px; position:relative; overflow:hidden;
    background:
      radial-gradient(120% 90% at 20% 15%, color-mix(in srgb, var(--gold) 55%, transparent), transparent 60%),
      linear-gradient(155deg, var(--plum) 0%, var(--plum-deep) 55%, var(--charcoal) 130%);
    box-shadow:var(--shadow);
  }
  .art-panel .cap{ position:absolute; left:20px; bottom:18px; font-family:'Karla',sans-serif; font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-soft); }
  .about-copy .eyebrow{ margin-bottom:16px; }
  .about-copy h1{ font-size:clamp(1.9rem,3.2vw,2.5rem); margin-bottom:28px; }
  .about-copy p{ margin-bottom:20px; color:var(--charcoal); opacity:0.92; max-width:62ch; }
  .about-copy p:last-child{ margin-bottom:0; }
  .credentials{ margin-top:32px; padding-top:28px; border-top:1px solid var(--line); display:flex; gap:28px; flex-wrap:wrap; }
  .credentials div{ font-size:0.8rem; }
  .credentials .k{ color:var(--gold); text-transform:uppercase; letter-spacing:0.1em; font-size:0.68rem; margin-bottom:4px; }

  /* focus cards */
  .focus-grid{ margin-top:52px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  @media (max-width:900px){ .focus-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:600px){ .focus-grid{ grid-template-columns:1fr; } }
  .focus-card{
    position:relative; border-radius:2px; padding:28px 24px;
    background:var(--surface); border:1px solid var(--line); border-top:3px solid var(--gold);
    transition:border-color 0.25s, box-shadow 0.25s, transform 0.25s;
  }
  .focus-card:hover{ border-top-color:var(--plum); box-shadow:var(--shadow); transform:translateY(-3px); }
  .focus-card .fk{ font-family:'Fraunces',serif; font-style:italic; color:var(--gold); font-size:0.88rem; margin-bottom:12px; display:block; }
  .focus-card h3{ color:var(--plum); font-size:1.12rem; margin-bottom:10px; }
  .focus-card p{ color:var(--taupe); font-size:0.9rem; }
  .disclaimer{ margin-top:44px; padding:20px 24px; border-left:2px solid var(--gold); font-size:0.92rem; color:var(--taupe); background:var(--surface); }

  /* hypnotherapy quick answers */
  .qa-grid{ margin-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:36px 40px; }
  @media (max-width:760px){ .qa-grid{ grid-template-columns:1fr; } }
  .qa-item h3{ font-size:1.05rem; margin-bottom:10px; color:var(--plum); }
  .qa-item p{ color:var(--taupe); font-size:0.96rem; }
  .qa-item p + p{ margin-top:10px; }

  /* sessions */
  .tiers{ margin-top:50px; display:flex; flex-direction:column; }
  .tier{ display:grid; grid-template-columns:80px 1fr; gap:28px; align-items:start; padding:34px 0; border-top:1px solid var(--line); }
  .tiers .tier:last-child{ border-bottom:1px solid var(--line); }
  @media (max-width:700px){ .tier{ grid-template-columns:56px 1fr; } }
  .tier-num{ font-family:'Fraunces',serif; font-style:italic; font-size:1.7rem; color:var(--gold); }
  .tier h3{ font-size:1.2rem; margin-bottom:10px; }
  .tier .len{ font-size:0.75rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--taupe); margin-bottom:10px; display:block; }
  .tier p{ color:var(--taupe); }
  .tier p + p{ margin-top:10px; }

  .booking-band{
    margin-top:52px; padding:44px; border-radius:2px;
    background:var(--surface); border:1px solid var(--line); border-top:3px solid var(--gold);
    display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
  }
  .booking-band p{ color:var(--taupe); font-size:1.05rem; max-width:32ch; }

  /* proof */
  .proof-grid{ margin-top:8px; display:grid; grid-template-columns:repeat(3,1fr); gap:32px 28px; }
  @media (max-width:860px){ .proof-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){ .proof-grid{ grid-template-columns:1fr; } }
  .proof-card{ text-align:left; }
  .monogram{
    width:64px; height:64px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(150deg, var(--plum), var(--plum-deep));
    border:1px solid var(--gold);
    font-family:'Fraunces',serif; font-style:italic; color:var(--gold-soft); font-size:1.2rem;
    margin-bottom:18px;
  }
  .proof-card h3{ font-size:1.05rem; font-weight:500; }
  .proof-card .role{ color:var(--gold); font-size:0.74rem; letter-spacing:0.04em; margin-top:4px; display:block; text-transform:uppercase; }
  .proof-card p{ color:var(--taupe); font-size:0.94rem; margin-top:12px; }

  /* testimonials */
  .testi-grid{ margin-top:8px; display:grid; grid-template-columns:1fr 1fr; gap:36px; }
  @media (max-width:800px){ .testi-grid{ grid-template-columns:1fr; } }
  .testi-card{ background:var(--surface); border:1px solid var(--line); padding:40px; border-radius:2px; display:flex; flex-direction:column; justify-content:space-between; min-height:280px; }
  .testi-card .quote{ font-family:'Fraunces',serif; font-style:italic; font-size:1.14rem; line-height:1.5; }
  .testi-card .attr{ margin-top:26px; display:flex; align-items:center; gap:12px; }
  .attr .avatar{ width:36px; height:36px; border-radius:50%; background:linear-gradient(140deg, var(--gold), var(--plum)); }
  .attr .name{ font-size:0.86rem; font-weight:600; }
  .attr .via{ font-size:0.76rem; color:var(--taupe); }

  /* faq */
  .faq-list{ margin-top:8px; max-width:820px; }
  details{ border-top:1px solid var(--line); padding:22px 0; }
  .faq-list details:last-child{ border-bottom:1px solid var(--line); }
  summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px; font-family:'Fraunces',serif; font-size:1.06rem; font-weight:500; }
  summary::-webkit-details-marker{ display:none; }
  summary .plus{ color:var(--gold); font-family:'Karla',sans-serif; font-size:1.3rem; flex:none; transition:transform 0.25s; }
  details[open] summary .plus{ transform:rotate(45deg); }
  details p{ margin-top:16px; color:var(--taupe); max-width:68ch; }

  footer{ padding:56px 0 40px; background:var(--surface); border-top:1px solid var(--line); }
  .foot-grid{ display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
  footer img{ height:24px; opacity:0.85; }
  footer .fine{ font-size:0.78rem; color:var(--taupe); }

  .reveal{ opacity:0; transform:translateY(16px); transition:opacity 0.7s ease, transform 0.7s ease; }
  .reveal.in{ opacity:1; transform:none; }

  .mobile-nav{ display:none; }
  @media (max-width:940px){
    .mobile-nav{ display:flex; overflow-x:auto; gap:18px; padding:0 20px 14px; background:var(--surface); border-bottom:1px solid var(--line); }
    .mobile-nav a{ background:none; border:none; color:var(--charcoal); opacity:0.6; font-family:'Karla',sans-serif; font-size:0.78rem; white-space:nowrap; padding:4px 0; text-decoration:none; }
    .mobile-nav a.active{ opacity:1; color:var(--plum); }
  }
