/* ---------- INNER PAGE STYLES (Services, About) ---------- */
  .page-hero {
    background:var(--deep);
    color:var(--paper);
    padding:100px 0 70px;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
  }
  .page-hero .eyebrow {
    color:#b7cdb6;
  }
  .page-hero h1 {
    font-family:'Instrument Serif', serif;
    font-weight:400;
    color:var(--paper);
    font-size:clamp(2.2rem, 4.6vw, 3.6rem);
    max-width:18ch;
  }
  .page-hero p {
    max-width:50ch;
    color:#d6ddd4;
    margin-top:16px;
  }
  .page-hero.services-hero {
    position:relative;
    display:flex;
    align-items:center;
    min-height:100vh;
    min-height:100svh;
    min-height:100dvh;
    padding:clamp(118px, 15vh, 164px) 0 clamp(70px, 10vh, 110px);
    background:
      linear-gradient(180deg, rgba(28,52,56,0.42) 0%, rgba(28,52,56,0.56) 60%, rgba(28,52,56,0.86) 100%),
      url('../assets/images/services.jpg') center top / cover no-repeat;
    background-color:var(--deep);
    overflow:hidden;
  }
  .services-hero .wrap {
    position:relative;
    z-index:1;
    width:100%;
  }
  .services-hero h1,
  .services-hero p {
    text-shadow:0 2px 20px rgba(0,0,0,0.35);
  }
  .breadcrumb {
    font-family:'JetBrains Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:#a9c0b9;
    margin-bottom:18px;
  }
  .breadcrumb a {
    text-decoration:none;
    color:var(--accent-gold);
  }
  .breadcrumb a:hover {
    text-decoration:underline;
  }
  .menu-note {
    background:var(--paper);
    border:1px solid var(--line);
    padding:20px 24px;
    font-size:0.88rem;
    color:#4c5955;
    margin-bottom:48px;
  }
  .menu-note strong {
    color:var(--ink);
  }
  .page-cta {
    text-align:center;
    margin-top:56px;
  }
  .privacy-content { background:var(--paper); }
  .privacy-policy { max-width:800px; }
  .privacy-updated {
    margin:0 0 38px;
    color:var(--sage);
    font-family:'JetBrains Mono', monospace;
    font-size:.72rem;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .privacy-policy h2 {
    margin:38px 0 12px;
    font-size:clamp(1.55rem, 3vw, 2rem);
  }
  .privacy-policy p { color:#465550; }
  .privacy-policy a,
  .booking-fineprint a { color:var(--deep); font-weight:600; }
  .home-intro-cta {
    padding-bottom:110px;
    text-align:center;
  }
  .home-intro-cta h2 {
    font-size:clamp(1.9rem, 3.4vw, 2.7rem);
    max-width:20ch;
    margin:0 auto 18px;
  }
  .home-intro-cta p {
    max-width:46ch;
    margin:0 auto 34px;
    color:#3f4d49;
  }

  /* ---------- TESTIMONIAL ---------- */
  .testimonial {
    background:var(--paper);
    text-align:center;
    padding:110px 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .testimonial .eyebrow {
    margin-bottom:20px;
  }
  .testimonial blockquote {
    font-family:'Instrument Serif', serif;
    font-style:italic;
    font-size:clamp(1.6rem, 3.4vw, 2.6rem);
    max-width:20ch;
    margin:0 auto 24px;
    color:var(--deep);
    line-height:1.3;
  }
  .testimonial cite {
    font-family:'JetBrains Mono', monospace;
    font-style:normal;
    font-size:0.75rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#6c7a75;
  }

  /* ---------- CONTACT ---------- */
  .contact .wrap {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
  }
  .contact h2 {
    font-size:2.2rem;
    margin-bottom:24px;
  }
  .info-row {
    display:flex;
    gap:18px;
    padding:20px 0;
    border-top:1px solid var(--line);
  }
  .info-row:last-child {
    border-bottom:1px solid var(--line);
  }
  .info-row .label {
    font-family:'JetBrains Mono', monospace;
    font-size:0.7rem;
    text-transform:uppercase;
    letter-spacing:0.06em;
    color:var(--sage);
    width:110px;
    flex-shrink:0;
    padding-top:2px;
  }
  .info-row .value {
    font-size:0.98rem;
  }
  .info-row .value small {
    display:block;
    color:#6c7a75;
    font-size:0.82rem;
    margin-top:2px;
  }
  .form-field {
    margin-bottom:18px;
  }
  .form-field label {
    display:block;
    font-family:'JetBrains Mono', monospace;
    font-size:0.7rem;
    text-transform:uppercase;
    letter-spacing:0.06em;
    color:#5c6b66;
    margin-bottom:8px;
  }
  .form-field input,
  .form-field textarea {
    width:100%;
    background:var(--paper);
    border:1px solid var(--line);
    padding:13px 14px;
    font-family:'Inter', sans-serif;
    font-size:16px;
    color:var(--ink);
    border-radius:2px;
  }
  .form-field input:focus,
  .form-field textarea:focus {
    outline:none;
    border-color:var(--accent-gold);
  }
  .form-field textarea {
    resize:vertical;
    min-height:100px;
  }
  /* Cloudflare Turnstile widget on the contact form
     (SECURITY_AUDIT_2026-08-20.md finding 3) -- renders its own
     fixed-size iframe, so this only nudges its spacing to match the
     fields above and below it. */
  .contact .cf-turnstile {
    margin:4px 0 18px;
  }
  #form-status {
    font-family:'JetBrains Mono', monospace;
    font-size:0.75rem;
    letter-spacing:0.04em;
    margin-top:14px;
    min-height:1.4em;
  }
  .form-status-ok {
    color:var(--sage);
  }
  .form-status-err {
    color:#a04040;
  }
  #form-submit-btn:disabled {
    opacity:0.6;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
  }
