/* ===========================================================
   CBT in CPT — shared site styles (Direction B · Warm Clinic)
   =========================================================== */
:root{
  --paper:#F6EFE5;
  --card:#FFFFFF;
  --pink-wash:#F7E6EF;
  --ink:#241F1B;
  --ink-60:rgba(36,31,27,.6);
  --ink-40:rgba(36,31,27,.42);
  --line:rgba(36,31,27,.12);
  --pink:#C46FA8;
  --pink-deep:#A8528C;
  --orange:#E2521F;
  --sage:#7AAE8E;
  --green-ink:#173A2A;
  --disp:"Bricolage Grotesque",system-ui,sans-serif;
  --sans:"Hanken Grotesk",system-ui,sans-serif;
  --mono:"DM Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:clip;}
body{overflow-x:clip;-webkit-text-size-adjust:100%;}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1380px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-deep);}
h1,h2,h3{font-family:var(--disp);font-weight:700;letter-spacing:-.025em;line-height:1.0;}
.dots{display:inline-flex;gap:7px;vertical-align:middle;}
.dots i{width:11px;height:11px;border-radius:50%;display:inline-block;}

/* NAV */
header.nav{position:sticky;top:0;z-index:50;padding:14px 0;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:100px;padding:10px 12px 10px 22px;box-shadow:0 6px 22px rgba(36,31,27,.06);}
.brand{display:flex;align-items:center;gap:11px;}
.brand img{width:34px;height:34px;object-fit:contain;}
.brand b{font-family:var(--disp);font-weight:800;font-size:19px;white-space:nowrap;}
nav.links{display:flex;gap:30px;}
nav.links a{font-size:15px;font-weight:500;color:var(--ink-60);white-space:nowrap;transition:color .2s;position:relative;}
nav.links a:hover{color:var(--ink);}
nav.links a.active{color:var(--ink);font-weight:600;}
nav.links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--pink);}
.enquire{font-weight:700;font-size:15px;color:#fff;background:var(--orange);padding:12px 24px;border-radius:100px;white-space:nowrap;transition:transform .2s,box-shadow .25s;}
.enquire:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(226,82,31,.3);}
.menu-btn{display:none;flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--paper);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;}
.menu-btn span{display:block;width:16px;height:2px;border-radius:2px;background:var(--ink);transition:transform .25s,opacity .2s;}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0;}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* BUTTONS */
.btn{display:inline-block;font-weight:700;font-size:16px;padding:15px 28px;border-radius:100px;transition:transform .2s,box-shadow .25s;cursor:pointer;border:none;font-family:var(--sans);}
.btn-orange{background:var(--orange);color:#fff;box-shadow:0 10px 26px rgba(226,82,31,.22);}
.btn-orange:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(226,82,31,.3);}
.btn-ghost{background:var(--card);color:var(--ink);border:1px solid var(--line);}
.btn-ghost:hover{transform:translateY(-2px);}

/* SECTION HEADERS */
section{padding:56px 0;}
.sec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;border-top:1.5px solid var(--ink);padding-top:20px;margin-bottom:46px;}
.sec-head .l{display:flex;align-items:flex-start;gap:18px;}
.sec-head .idx{font-family:var(--mono);font-size:13px;color:var(--pink-deep);padding-top:6px;}
.sec-head h2{font-size:clamp(32px,4.2vw,52px);}
.sec-head .r{max-width:38ch;font-size:18px;color:var(--ink-60);text-align:right;flex:0 0 auto;}

/* PAGE HERO (interior pages) */
.page-hero{padding:60px 0 30px;}
.page-hero .eyebrow{margin-bottom:18px;}
.page-hero h1{font-size:clamp(46px,6.4vw,86px);}
.page-hero h1 em{font-style:normal;color:var(--pink);}
.page-hero .lede{margin-top:24px;font-size:21px;color:var(--ink-60);max-width:52ch;}

/* MARQUEE */
.marq{background:var(--ink);color:rgba(246,239,229,.9);overflow:hidden;padding:15px 0;}
.marq .track{display:inline-flex;white-space:nowrap;will-change:transform;animation:marq 40s linear infinite;}
.marq .seg{font-family:var(--sans);font-weight:500;font-size:14px;letter-spacing:.16em;text-transform:uppercase;}
@keyframes marq{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.marq .track{animation:none;}}

/* FOOTER */
footer{padding:26px 0 36px;}
.foot-card{background:var(--ink);color:var(--paper);border-radius:32px;padding:56px;position:relative;overflow:hidden;}
.foot-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px;padding-bottom:44px;border-bottom:1px solid rgba(246,239,229,.18);}
.foot-card h2{font-size:clamp(34px,4.4vw,58px);color:var(--paper);}
.foot-card h2 em{font-style:normal;color:var(--pink);}
.foot-card .btn-orange{display:inline-block;margin-top:24px;}
.foot-col h4{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(246,239,229,.5);margin-bottom:16px;}
.foot-col a,.foot-col p{display:block;font-size:17px;color:rgba(246,239,229,.86);margin-bottom:10px;}
.foot-col a:hover{color:var(--pink);}
.foot-bottom{padding-top:26px;display:flex;justify-content:space-between;font-size:13px;color:rgba(246,239,229,.5);font-family:var(--mono);letter-spacing:.06em;}

/* RESPONSIVE (global) */
@media(max-width:1040px){
  .nav-inner{position:relative;gap:10px;}
  nav.links{display:none;}
  .menu-btn{display:flex;}
  .enquire{margin-left:auto;}
  nav.links.open{display:flex;position:absolute;top:calc(100% + 10px);left:0;right:0;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:12px;box-shadow:0 22px 50px rgba(36,31,27,.16);z-index:60;}
  nav.links.open a{font-size:17px;font-weight:600;color:var(--ink);padding:13px 16px;border-radius:14px;}
  nav.links.open a.active{background:var(--pink-wash);color:var(--pink-deep);}
  nav.links.open a.active::after{display:none;}
}
@media(max-width:900px){
  .wrap{padding:0 20px;}
  .foot-top{grid-template-columns:1fr;gap:28px;}
  .foot-card{padding:34px;}
}
@media(max-width:760px){
  .sec-head{flex-direction:column;align-items:flex-start;gap:16px;}
  .sec-head .r{text-align:left;}
}
@media(max-width:600px){
  body{font-size:17px;}
  section{padding:42px 0;}
  .page-hero{padding:44px 0 24px;}
  .page-hero .lede{font-size:18px;}
  .nav-inner{padding:8px 8px 8px 16px;}
  .brand img{width:30px;height:30px;}
  .brand b{font-size:17px;}
  .enquire{padding:11px 16px;font-size:14px;}
  .btn{font-size:15px;padding:14px 24px;}
  .foot-card{padding:30px 22px;}
  .foot-bottom{flex-wrap:wrap;gap:8px 20px;}
  .sec-head .r{font-size:16px;}
}
