/* Ranges Counselling — shared page design system.
   Extracted verbatim from the CSS that was previously duplicated inline across
   13 pages. Page-specific rules stay inline on the pages that need them. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;background:var(--rc-li);color:var(--rc-f);
  line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font-family:inherit;cursor:pointer;border:none;background:none}
:root{
  /* Aliases onto the canonical palette in site-chrome.css. No colour value is
     defined here — change a colour there and it changes everywhere. */
  --f:var(--rc-f);--f2:var(--rc-f2);--fd:var(--rc-fd);
  --t:var(--rc-t);--t2:var(--rc-t2);
  --g:var(--rc-g);--gl:var(--rc-gl);
  --s:var(--rc-sage);
  --li:var(--rc-li);--ld:var(--rc-ld);--lb:var(--rc-lb);
  --ink:var(--rc-f);--stone:var(--rc-stone);--mist:var(--rc-mist);
  --border:var(--rc-border);
  --serif:var(--rc-serif);
  --sans:var(--rc-sans);
}

/* System A's dark surfaces — gold text inside these resolves to the light gold. */
.bg-f,.bg-fd,.phero,.qband,.cta-sec,.card-dark,.card-mid,.btn-f,.btn-ol:hover,.about-photo,.cred.hi{--rc-g-text:var(--rc-gl)}
.w{max-width:1140px;margin:0 auto;padding:0 24px}
.w-sm{max-width:720px;margin:0 auto;padding:0 24px}
.sec{padding:72px 0}
.sec-sm{padding:48px 0}
.bg-li{background:var(--li)}
.bg-ld{background:var(--ld)}
.bg-lb{background:var(--lb)}
.bg-f{background:var(--f)}
.bg-fd{background:var(--fd)}
.eye{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mist);display:flex;align-items:center;gap:10px;margin-bottom:14px}
.eye::before{content:'';width:18px;height:1px;background:var(--mist);flex-shrink:0}
.eye-t{color:var(--t)}
.eye-t::before{background:var(--t)}
.eye-g{color:var(--rc-g-text)}
.eye-g::before{background:var(--g)}
.eye-lt{color:var(--rc-on-4)}
.eye-lt::before{background:var(--rc-on-4)}
.sh{font-family:var(--serif);font-weight:400;font-size:clamp(26px,4vw,46px);
  line-height:1.1;letter-spacing:-.02em;color:var(--f);margin-bottom:14px}
.sh em{font-style:italic;color:var(--t)}
.sh-lt{color:#fff}
.sh-lt em{color:var(--rc-g-text)}
.sh-sm{font-size:clamp(22px,3vw,34px)}
.lead{font-size:16px;font-weight:300;color:var(--stone);line-height:1.78;max-width:600px}
.lead-lt{color:var(--rc-on-3)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:13px 26px;font-size:13px;font-weight:600;letter-spacing:.03em;
  border:1.5px solid transparent;transition:all .2s;min-height:48px;
  white-space:nowrap;cursor:pointer}
.btn-t{background:var(--t);color:#fff;border-color:var(--t)}
.btn-t:hover{background:transparent;color:var(--t)}
.btn-f{background:var(--f);color:#fff;border-color:var(--f)}
.btn-f:hover{background:transparent;color:var(--f)}
.btn-g{background:var(--g);color:var(--rc-fd);border-color:var(--g)}
.btn-g:hover{background:transparent;color:var(--rc-g-text)}
.btn-ghost{background:transparent;color:var(--rc-on-2);
  border-color:var(--rc-line-1)}
.btn-ghost:hover{background:var(--rc-fill-1);color:#fff}
.btn-ol{background:transparent;color:var(--f);border-color:var(--f)}
.btn-ol:hover{background:var(--f);color:#fff}
.btn-sm{padding:10px 20px;font-size:12px;min-height:44px}
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.1s}
.d2{transition-delay:.2s}
.d3{transition-delay:.3s}
.bc{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;color:var(--rc-on-4);margin-bottom:20px}
.bc a{color:var(--rc-on-4);transition:color .2s}
.bc a:hover{color:var(--rc-on-1)}
.bc span{opacity:.35}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--rc-fill-2)}
.stat{background:var(--rc-fill-2);padding:18px 18px}
.stat-n{font-family:var(--serif);font-size:32px;font-weight:300;color:#fff;
  line-height:1;margin-bottom:5px}
.stat-l{font-size:11.5px;color:var(--rc-on-4);line-height:1.45}
.grid2{display:grid;gap:2px}
.grid3{display:grid;gap:2px}
.card{background:#fff;padding:36px 28px;border-top:3px solid var(--border);
  display:flex;flex-direction:column;transition:background .2s}
.card:hover{background:var(--li)}
.card-dark{background:var(--f);border-top-color:var(--t)}
.card-mid{background:var(--f2);border-top-color:var(--g)}
.card .card-tag{font-size:9.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mist);margin-bottom:8px;display:block}
.card-dark .card-tag,.card-mid .card-tag{color:var(--rc-on-4)}
.card .card-h{font-family:var(--serif);font-size:20px;font-weight:500;
  color:var(--f);margin-bottom:8px;line-height:1.25}
.card-dark .card-h,.card-mid .card-h{color:#fff}
.card .card-body{font-size:14.5px;font-weight:300;color:var(--stone);
  line-height:1.72;flex:1;margin-bottom:14px}
.card-dark .card-body,.card-mid .card-body{color:var(--rc-on-3)}
.card .pts{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.card .pt{font-size:13px;color:var(--stone);display:flex;
  align-items:flex-start;gap:8px;line-height:1.5}
.card .pt::before{content:'—';color:var(--rc-g-text);flex-shrink:0;margin-top:1px}
.card-dark .pt,.card-mid .pt{color:var(--rc-on-4)}
.card .clink{font-size:12.5px;font-weight:600;letter-spacing:.06em;
  color:var(--t);display:inline-flex;align-items:center;gap:6px;
  margin-top:auto;transition:gap .2s;min-height:44px}
.card .clink:hover{gap:12px}
.card-dark .clink,.card-mid .clink{color:var(--rc-on-3)}
.card-dark:hover .clink,.card-mid:hover .clink{color:var(--rc-g-text)}
.ac{background:var(--ld);padding:28px 24px;border-top:2px solid var(--border);
  display:flex;flex-direction:column;transition:background .2s}
.ac:hover{background:#fff}
.ac-1{border-top-color:var(--t)}
.ac-2{border-top-color:var(--g)}
.ac-3{border-top-color:var(--s)}
.ac-4{border-top-color:var(--f)}
.ac-h{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--f);
  margin-bottom:6px;line-height:1.25}
.ac-desc{font-size:14px;color:var(--stone);line-height:1.65;flex:1;margin-bottom:10px}
.ac-meta{font-size:11px;font-weight:500;color:var(--mist);margin-bottom:10px}
.ac-btn{font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--t);
  display:inline-flex;align-items:center;gap:6px;margin-top:auto;
  transition:gap .2s;min-height:44px}
.ac:hover .ac-btn{gap:10px}
.qband{background:var(--f);padding:56px 0;position:relative;overflow:hidden}
.qband::after{content:'"';position:absolute;top:-20px;right:-10px;
  font-family:var(--serif);font-size:300px;font-weight:700;
  color:var(--rc-ghost);line-height:1;pointer-events:none}
.qband-inner{position:relative;z-index:1;max-width:740px}
.qband-q{font-family:var(--serif);font-size:clamp(19px,3.2vw,28px);
  font-style:italic;font-weight:400;color:var(--rc-on-1);
  line-height:1.45;border-left:3px solid var(--g);padding-left:24px;margin-bottom:12px}
.qband-attr{padding-left:24px;font-size:10.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--rc-g-text);margin-bottom:18px}
.qband-note{padding-left:24px;font-size:14.5px;color:var(--rc-on-4);
  line-height:1.72;max-width:560px;margin-bottom:20px}
.phero{background:var(--fd);padding:108px 0 70px;position:relative;overflow:hidden}
.phero-bg{position:absolute;inset:0}
.phero-inner{position:relative;z-index:2}
.phero-h{font-family:var(--serif);font-size:clamp(34px,6.5vw,62px);font-weight:400;
  color:#fff;line-height:1.05;letter-spacing:-.02em;margin-bottom:14px}
.phero-h em{font-style:italic;color:var(--rc-g-text)}
.phero-deck{font-size:clamp(15px,2vw,17px);font-weight:300;
  color:var(--rc-on-3);max-width:580px;line-height:1.78;margin-bottom:28px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.tag{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 13px;border:1px solid var(--rc-line-2);color:var(--rc-on-3);
  background:var(--rc-fill-1)}
.tag-g{background:var(--rc-g-fill);border-color:var(--rc-g-line);color:var(--rc-g-text)}
.tag-t{background:var(--rc-t-fill);border-color:var(--rc-t-line);color:var(--rc-tl)}
.dcard{background:var(--rc-fill-2);border:1px solid var(--rc-line-2);padding:0}
.drow{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;
  border-bottom:1px solid var(--rc-line-3)}
.drow:last-child{border-bottom:none}
.drow-icon{font-size:18px;flex-shrink:0;margin-top:2px}
.drow-label{font-size:9px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--rc-on-4);margin-bottom:4px}
.drow-val{font-size:15px;color:#fff;line-height:1.3}
.drow-note{font-size:11.5px;color:var(--rc-on-4);margin-top:3px}
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{display:flex;justify-content:space-between;align-items:center;
  padding:16px 0;cursor:pointer;font-family:var(--serif);font-size:16.5px;
  font-weight:500;color:var(--f);gap:14px;user-select:none;
  line-height:1.3;min-height:52px}
.faq-icon{font-size:22px;color:var(--rc-g-text);transition:transform .25s;flex-shrink:0}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-a{font-size:14.5px;font-weight:300;color:var(--stone);line-height:1.78;
  max-height:0;overflow:hidden;transition:max-height .4s ease,padding .25s}
.faq-item.open .faq-a{max-height:400px;padding-bottom:18px}
.cta-sec{background:var(--t);padding:72px 0;text-align:center}
.cta-sec-inner{max-width:520px;margin:0 auto;padding:0 24px}
.cta-h{font-family:var(--serif);font-size:clamp(26px,5vw,44px);font-weight:400;
  color:#fff;line-height:1.08;margin-bottom:12px}
.cta-h em{font-style:italic;color:var(--rc-on-2)}
.cta-sub{font-size:15px;color:var(--rc-on-3);line-height:1.78;margin-bottom:28px}
.cta-acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cta-note{margin-top:14px;font-size:12px;color:var(--rc-on-4)}
.cta-note a{color:var(--rc-on-4)}
.cta-note a:hover{color:#fff}
.fc{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.about-grid{display:grid;gap:40px}
.about-photo{background:var(--f2);position:relative;overflow:hidden;
  display:flex;align-items:flex-end;min-height:280px}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:top center}
.creds{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 18px}
.cred{font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 12px;border:1px solid var(--border);color:var(--stone);background:var(--ld)}
.cred.hi{background:var(--f);border-color:var(--f);color:#fff}
@media(min-width:640px){
.w{padding:0 36px}
.w-sm{padding:0 36px}
.sec{padding:88px 0}
.sec-sm{padding:60px 0}
.stats{grid-template-columns:repeat(4,1fr)}
.grid2{grid-template-columns:1fr 1fr}
.grid3{grid-template-columns:repeat(3,1fr)}
.fc{grid-template-columns:repeat(3,1fr)}
.about-grid{grid-template-columns:340px 1fr;align-items:start}
.about-photo{min-height:420px}
}
@media(min-width:960px){
.w{padding:0 52px}
.w-sm{padding:0 52px}
.sec{padding:104px 0}
.stats{grid-template-columns:repeat(4,1fr)}
.fc{grid-template-columns:1fr 1fr 1fr}
}
@media(prefers-reduced-motion:reduce){
.rv{opacity:1;transform:none;transition:none}
}
