:root{
  --teal-900:#0E4547;
  --teal-700:#166B6D;
  --teal-600:#1B7E7F;
  --teal-500:#3C9997;
  --teal-100:#E3EFEC;
  --teal-50:#F2F7F6;
  --gold-600:#B98A28;
  --gold-500:#C99A2E;
  --gold-300:#E3C377;
  --paper:#F7F6F1;
  --ink:#1B2523;
  --ink-soft:#51615D;
  --white:#FFFFFF;
  --line:#DDE5E1;
  --radius:10px;
  --shadow-card: 0 10px 28px rgba(14,69,71,0.10);
  --serif: "Newsreader", Georgia, serif;
  --sans: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  padding-bottom: 64px; /* room for mobile sticky bar */
}
@media (min-width: 992px){ body{ padding-bottom:0; } }
h1,h2,h3,h4{
  font-family: var(--serif);
  color: var(--teal-900);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -0.01em;
}
p{ color: var(--ink-soft); }
a{ color: var(--teal-700);text-decoration:none; transition: all 0.2s ease-in-out; }
:focus-visible{ outline: 3px solid var(--gold-500); outline-offset: 2px; }
.container-narrow{ max-width: 1120px; margin: 0 auto; padding-left: 1.25rem; padding-right: 1.25rem; }
/* ---------- Header ---------- */
.site-header{
  background: var(--white);
  border-bottom: 1px solid var(--line);
  position: sticky; top:0; z-index: 1000;
}
.site-header .inner{
  max-width: 1320px; margin: 0 auto; padding: 0.65rem 1.25rem;
  display:flex; align-items:center; justify-content:space-between; gap: 1rem;
}
.brand-mark{ display:flex; align-items:center; gap:0.6rem; text-decoration:none; }
.brand-mark img{ height: 60px; width:auto; display:block; }
.brand-mark img:focus-visible {outline: none;}
.header-actions{ display:flex; align-items:center; gap:0.75rem; }
.phone-pill{
  display:flex; align-items:center; gap:0.4rem;
  font-family: var(--sans); font-weight:600; color: var(--teal-900);
  text-decoration:none; font-size:0.92rem;
}
.phone-pill svg{ flex-shrink:0; }
.btn-eulooks-primary{
  background: var(--teal-700); border-color: var(--teal-700); color:#fff;
  font-family: var(--sans); font-weight:600; padding: 0.55rem 1.15rem;
  border-radius: 6px; font-size:0.92rem;
}
.btn-eulooks-primary:hover{ background: var(--teal-900); border-color: var(--teal-900); color:#fff; }
.btn-eulooks-outline{
  background: transparent; border: 1.5px solid var(--teal-700); color: var(--teal-700);
  font-family: var(--sans); font-weight:600; padding: 0.55rem 1.15rem; border-radius: 6px; font-size:0.92rem;
}
.btn-eulooks-outline:hover{ background: var(--teal-50); color: var(--teal-900); }
.btn-gold{
  background: var(--gold-500); border-color: var(--gold-500); color: var(--teal-900);
  font-family: var(--sans); font-weight:700; padding: 0.7rem 1.4rem; border-radius: 6px;
}
.btn-gold:hover{ background: var(--gold-600); border-color: var(--gold-600); color: var(--teal-900); }
/* ---------- Hero ---------- */
.hero{
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}
.trust-line{
  font-size:0.86rem; color: var(--teal-700); font-weight:600;
  display:flex; flex-wrap:wrap; gap:0.5rem 0.9rem; margin-bottom:1.1rem;
}
.trust-line span{ display:flex; align-items:center; gap:0.35rem; }
.trust-line span::before{
  content:""; width:5px; height:5px; border-radius:50%; background: var(--gold-500); display:inline-block;
}
.hero h1{ font-size: clamp(1.9rem, 3.4vw, 2.7rem); margin-bottom: 0.9rem; }
.hero-sub{ font-size: 1.08rem; max-width: 46ch; margin-bottom: 1.6rem; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:0.75rem; margin-bottom: 1.75rem; }
.hero-illustration{ width:100%; height:auto; }
/* ---------- Lead form ---------- */
.lead-form-card{
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  border: 1px solid var(--line);
  padding: 1.2rem;
}
.lead-form-card h2{ font-size:1.4rem; margin-bottom:0.3rem; }
.lead-form-card .form-lede{ font-size:0.8rem; margin-bottom:1rem; }
.form-label{ font-weight:600; color: var(--teal-900); font-size:0.88rem; margin-bottom: 0.3rem; }
.form-control, .form-select{
  border: 1.5px solid var(--line); border-radius:6px; padding:0.6rem 0.75rem; font-size:0.95rem;
}
.form-control:focus, .form-select:focus{
  border-color: var(--teal-500); box-shadow: 0 0 0 3px rgba(60,153,151,0.15);
}
.mode-toggle{ display:flex; gap:0.6rem; }
.mode-toggle .form-check{
  flex:1; border:1.5px solid var(--line); border-radius:6px; padding:0.55rem 0.75rem 0.55rem 2.3rem; margin:0;
}
.mode-toggle .form-check-input:checked ~ .form-check-label{ color: var(--teal-700); font-weight:600; }
.mode-toggle .form-check.selected{ border-color: var(--teal-500); background: var(--teal-50); }
.privacy-note{ font-size:0.8rem; color: var(--ink-soft); margin-top:0.9rem; }
.btn-submit-form{
  width:100%; background: var(--gold-500); border-color: var(--gold-500); color: var(--teal-900);
  font-weight:700; padding:0.75rem; border-radius:6px; font-family: var(--sans);
}
.btn-submit-form:hover{ background: var(--gold-600); border-color: var(--gold-600); }
/* ---------- Section rhythm ---------- */
section{ padding: 3.25rem 0; }
.section-tight{ padding: 2.5rem 0; }
.section-head{ max-width: 62ch; margin-bottom: 2rem; }
.section-head h2{ font-size: clamp(1.55rem, 2.6vw, 2.05rem); margin-bottom:0.6rem; }
.section-head p{ font-size:1.02rem; }
.bg-alt{ background: var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.bg-teal-wash{ background: var(--teal-50); }
/* ---------- Benefit / conversion strip ---------- */
.benefit-item{ display:flex; gap:0.9rem; align-items:flex-start; }
.benefit-icon{
  flex-shrink:0; width:44px; height:44px; border-radius:8px; background: var(--teal-100);
  display:flex; align-items:center; justify-content:center; color: var(--teal-700);
}
.benefit-item h3{ font-size:1.05rem; margin-bottom:0.25rem; }
.benefit-item p{ font-size:0.92rem; margin-bottom:0; }
/* ---------- Service cards ---------- */
.service-card{
  background: var(--white); border: 1px solid var(--line); border-left: 3px solid var(--teal-600);
  border-radius: 6px; padding: 1.35rem 1.4rem; height:100%;
}
.service-card h3{ font-size:1.08rem; margin-bottom:0.4rem; }
.service-card p{ font-size:0.92rem; margin-bottom:0; }
/* ---------- Who can benefit ---------- */
.benefit-list{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns: repeat(2,1fr); gap:0.6rem 1.5rem; }
@media (max-width: 575px){ .benefit-list{ grid-template-columns: 1fr; } }
@media (max-width: 991px){ .brand-mark img {height: 45px;}
section {padding: 1.5rem 0;} }
.benefit-list li{ display:flex; gap:0.6rem; align-items:flex-start; font-size:0.96rem; color: var(--ink); padding: 0.4rem 0; border-bottom: 1px solid var(--line); }
.benefit-list li svg{ flex-shrink:0; margin-top:3px; color: var(--gold-600); }
.who-benefit-note{ font-size:0.9rem; color: var(--ink-soft); margin-top:1.25rem; }
/* ---------- Process steps ---------- */
.step{ position:relative; padding-left: 3.1rem; }
.step-num{
  position:absolute; left:0; top:0; width:2.3rem; height:2.3rem; border-radius:50%;
  background: var(--teal-700); color:#fff; font-family: var(--serif); font-weight:600; font-size:1.05rem;
  display:flex; align-items:center; justify-content:center;
}
.step h3{ font-size:1.05rem; margin-bottom:0.3rem; }
.step p{ font-size:0.92rem; margin-bottom:0; }
.step-connector{ border-left: 2px dashed var(--line); }
/* ---------- Why choose ---------- */
.why-list{ list-style:none; margin:0; padding:0; }
.why-list li{
  display:flex; gap:0.7rem; align-items:flex-start; padding: 0.7rem 0; border-bottom:1px solid var(--line); font-size:0.98rem;
}
.why-list li:last-child{ border-bottom:none; }
.why-list svg{ flex-shrink:0; color: var(--teal-700); margin-top:2px; }
/* ---------- Psychologist card ---------- */
.psych-card{
  background:#fff; border:1px solid var(--line); border-radius: var(--radius);
  padding: 1.75rem; display:flex; gap:3.5rem; align-items:center; flex-wrap:wrap;
  box-shadow: var(--shadow-card);
}
.psych-photo-placeholder{
  width:300px; height:300px; border-radius:50%; background: var(--teal-100);
  display:flex; align-items:center; justify-content:center; color: var(--teal-600); flex-shrink:0;
  border: 2px dashed var(--teal-500);
}
.placeholder-badge{
  display:inline-block; font-size:0.72rem; font-weight:700; color: var(--gold-600);
  background: rgba(201,154,46,0.12); padding: 0.15rem 0.55rem; border-radius: 4px; margin-bottom:0.5rem;
}
.psych-card h3{ font-size:1.2rem; margin-bottom:0.15rem; }
.psych-meta{ font-size:0.88rem; color: var(--ink-soft); margin-bottom:0.5rem; }
/* ---------- Location ---------- */
.map-frame-placeholder{
  background: var(--teal-100); border-radius: var(--radius); min-height: 280px;
  display:flex; align-items:center; justify-content:center; color: var(--teal-700);
  border: 1px solid var(--line); font-size:0.92rem; text-align:center; padding:1.5rem;
}
.location-details dt{ font-weight:600; color: var(--teal-900); font-size:0.85rem; margin-top:0.9rem; }
.location-details dd{ margin:0; color: var(--ink-soft); }
/* ---------- FAQ ---------- */
.accordion-item{ border: none; border-bottom: 1px solid var(--line); background: transparent; }
.accordion-button{
  font-family: var(--serif); font-weight:600; color: var(--teal-900); background: transparent;
  padding: 1.05rem 0.25rem; font-size:1.03rem; box-shadow:none;
}
.accordion-button:not(.collapsed){ background: transparent; color: var(--teal-700); box-shadow:none; }
.accordion-button:focus{ box-shadow:none; }
.accordion-button::after{ flex-shrink:0; }
.accordion-body{ padding: 0 0.25rem 1.2rem; font-size:0.96rem; color: var(--ink-soft); }
/* ---------- Final CTA ---------- */
.final-cta{
  background: var(--teal-900);
  border-radius: 14px;
  padding: 2.75rem 2rem;
  color: #fff;
  text-align:center;
}
.final-cta h2{ color:#fff; font-size: clamp(1.5rem, 2.8vw, 2.1rem); margin-bottom:0.75rem; }
.final-cta p{ color: rgba(255,255,255,0.82); max-width: 56ch; margin: 0 auto 1.6rem; }
.final-cta .btn-eulooks-outline{ border-color: rgba(255,255,255,0.5); color:#fff; }
.final-cta .btn-eulooks-outline:hover{ background: rgba(255,255,255,0.1); color:#fff; }
/* ---------- Footer ---------- */
.site-footer{ background: var(--teal-900); color: rgba(255,255,255,0.75); padding: 2.5rem 0 0.5rem; font-size:0.9rem; }
/*@media (min-width:992px){ .site-footer{ padding-bottom:2.5rem; } }*/
.site-footer a{ color: rgba(255,255,255,0.85);font-size: 1rem; }
.site-footer .brand-mark img{ height:60px; filter: brightness(0) invert(1); opacity:0.92; }
.footer-disclaimer{ font-size:0.78rem; color: rgba(255,255,255,0.55); margin-top:1.5rem; border-top:1px solid rgba(255,255,255,0.12); padding-top:1.25rem; }
/* ---------- Sticky mobile CTA bar ---------- */
.mobile-sticky-cta{
  position: fixed; bottom:0; left:0; right:0; z-index: 1030;
  background: #fff; border-top: 1px solid var(--line);
  display:flex; box-shadow: 0 -6px 18px rgba(14,69,71,0.12);
}
.mobile-sticky-cta a{
  flex:1; text-align:center; padding: 0.85rem 0.5rem; font-weight:700; font-size:0.92rem; text-decoration:none;
}
.mobile-sticky-cta a.call{ color: var(--teal-800, var(--teal-900)); background:#fff; border-right:1px solid var(--line); }
.mobile-sticky-cta a.book{ color: var(--teal-900); background: var(--gold-500); }
@media (min-width: 992px){ .mobile-sticky-cta{ display:none; } }
/* ---------- Toast ---------- */
.toast-container{ z-index: 1080; }

/* ===== Partnership strip (below header) ===== */
  .partnership-strip{
    background:#0E4547;
    color:#fff;
  }
  .partnership-strip-inner{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:.5rem 1.25rem;
    padding:.5rem 1rem;
    font-size:.88rem;
    text-align:center;
  }
  .partnership-text strong{ color:#E3C377; }
  .partnership-phone{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    color:#fff;
    text-decoration:none;
    font-weight:600;
    white-space:nowrap;
  }
  .partnership-phone:hover{ color:#E3C377; }

  /* ===== Partnership section (mid-page) ===== */
  .partnership-card{
    background:#fff;
    border:1px solid rgba(14,69,71,0.12);
    border-radius:14px;
    padding:2rem;
    max-width:760px;
    margin:0 auto;
    text-align:center;
  }
  .partnership-badge{
    display:inline-block;
    background:rgba(39,137,140,0.12);
    color:#27898c;
    font-size:.78rem;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    padding:.3rem .75rem;
    border-radius:999px;
    margin-bottom:.75rem;
  }
  .partnership-card-text h2{ margin-bottom:.75rem; }
  .partnership-card-text p{ margin-bottom:1.25rem; }