/* A Beautiful Mind Clinic — site styles */
:root{
  --ink:#1E2A3A;        /* text */
  --ink-soft:#4A5668;   /* secondary text */
  --blue:#2E66A8;       /* logo blue, links, primary */
  --blue-deep:#1F4E85;
  --sky:#BFCCDF;        /* matches portrait backdrop */
  --sky-wash:#EAF0F8;   /* light section band */
  --paper:#FFFFFF;
  --line:#D3DCE9;
  --wa:#1C8C4C;         /* WhatsApp action */
  --radius:10px;
  --measure:68ch;
  --step--1:0.9rem;
  --step-0:1.0625rem;
  --step-1:1.3rem;
  --step-2:1.65rem;
  --step-3:2.2rem;
  --step-4:clamp(2.2rem, 1.4rem + 3.2vw, 3.5rem);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:var(--step-0);line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue)}
a:hover{color:var(--blue-deep)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:var(--step-4)}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-1)}
p{margin:0 0 1em}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.measure{max-width:var(--measure)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:8px 12px;z-index:50}
.skip:focus{left:8px}

/* Header */
.site-head{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.brand img{height:46px;width:auto}
.nav{display:flex;gap:22px;align-items:center}
.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:var(--step--1)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--blue)}
.nav .call{color:var(--blue)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font:inherit;font-weight:600;color:var(--ink)}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--paper);flex-direction:column;align-items:flex-start;padding:12px 20px 20px;border-bottom:1px solid var(--line);gap:14px}
  .nav.open{display:flex}
  .brand img{height:38px}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;font-weight:700;text-decoration:none;font-size:var(--step-0);border:2px solid transparent}
.btn svg{width:20px;height:20px;flex:none}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:#15723d;color:#fff}
.btn-line{border-color:var(--blue);color:var(--blue);background:var(--paper)}
.btn-line:hover{background:var(--sky-wash);color:var(--blue-deep)}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* Hero: portrait sits on its own backdrop colour */
.hero{background:var(--sky);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:24px}
.hero-text{padding:64px 0 56px}
.hero-text h1{max-width:16ch}
.hero-text .who{font-size:var(--step-1);color:var(--ink);margin-bottom:1.4em}
.hero-text .who strong{display:block}
.hero-photo{align-self:end}
.hero-photo img{width:100%;max-width:440px;margin-left:auto;
  -webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent);mask-image:linear-gradient(to bottom,#000 80%,transparent)}
.facts{display:flex;flex-wrap:wrap;gap:8px 26px;margin:28px 0 0;padding:0;list-style:none;color:var(--ink-soft);font-size:var(--step--1)}
.facts li{padding-left:16px;position:relative}
.facts li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--blue)}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr}
  .hero-text{padding:40px 0 8px}
  .hero-photo img{max-width:300px;margin:0 auto}
}

/* Sections */
.section{padding:72px 0}
.section.wash{background:var(--sky-wash)}
.section-head{margin-bottom:28px}
.section-head p{color:var(--ink-soft);max-width:var(--measure)}

/* Condition lists: two columns of plain links */
.help-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.help-cols h3{padding-bottom:10px;border-bottom:2px solid var(--blue);margin-bottom:6px}
.link-list{list-style:none;margin:0;padding:0}
.link-list li{border-bottom:1px solid var(--line)}
.link-list a{display:flex;justify-content:space-between;gap:12px;padding:12px 2px;text-decoration:none;color:var(--ink);font-weight:600}
.link-list a:hover{color:var(--blue)}
.link-list a span{color:var(--ink-soft);font-weight:400;font-size:var(--step--1);text-align:right}
@media (max-width:760px){.help-cols{grid-template-columns:1fr;gap:28px}}

/* Steps (a real sequence) */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:s}
.steps li{counter-increment:s;padding-top:4px}
.steps li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;margin-bottom:12px}
.steps h3{margin-bottom:.3em}
.steps p{color:var(--ink-soft);margin:0}
@media (max-width:760px){.steps{grid-template-columns:1fr}}

/* About split */
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.split img{border-radius:var(--radius);background:var(--sky)}
@media (max-width:760px){.split{grid-template-columns:1fr}.split img{max-width:320px}}

.creds{margin:0;border-top:2px solid var(--blue)}
.creds dt{font-size:var(--step--1);color:var(--ink-soft);font-weight:600;padding-top:14px}
.creds dd{margin:2px 0 0;padding-bottom:14px;border-bottom:1px solid var(--line);font-weight:600}

/* Team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;margin:0;padding:0}
.team img{border-radius:var(--radius);background:var(--sky);aspect-ratio:4/5;object-fit:cover;width:100%}
.team h3{margin:14px 0 2px}
.team p{color:var(--ink-soft);margin:0;font-size:var(--step--1)}
@media (max-width:760px){.team{grid-template-columns:1fr 1fr;gap:18px}}

/* Fee tables */
.fee-group{margin-bottom:44px}
.fee-group h2{font-size:var(--step-2)}
table.fees{width:100%;border-collapse:collapse;font-size:var(--step-0)}
.fees th,.fees td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.fees th{font-size:var(--step--1);color:var(--ink-soft);font-weight:600}
.fees td.amt,.fees th.amt{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.fees .note{display:block;color:var(--ink-soft);font-size:var(--step--1)}
.notice{background:var(--sky-wash);border-left:4px solid var(--blue);padding:14px 18px;border-radius:6px;margin:0 0 32px;max-width:var(--measure)}

/* Videos */
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none;margin:0 0 28px;padding:0}
.videos a{text-decoration:none;color:var(--ink);font-weight:600}
.videos img{border-radius:var(--radius);aspect-ratio:16/9;object-fit:cover;width:100%;margin-bottom:10px;background:var(--sky)}
@media (max-width:760px){.videos{grid-template-columns:1fr}}

/* Visit */
.visit{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.visit dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:10px 20px}
.visit dt{font-weight:700}
.visit dd{margin:0}
@media (max-width:760px){.visit{grid-template-columns:1fr}.visit dl{grid-template-columns:1fr;gap:2px}.visit dd{margin-bottom:10px}}

/* Article pages */
.page-head{background:var(--sky-wash);padding:44px 0 36px}
.crumbs{font-size:var(--step--1);color:var(--ink-soft);margin-bottom:10px}
.crumbs a{color:var(--ink-soft)}
.article{padding:48px 0 64px}
.article .wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px}
.article-body h2{font-size:var(--step-2);margin-top:1.6em}
.article-body ul{padding-left:1.2em}
.article-body li{margin-bottom:.35em}
.aside-box{background:var(--sky-wash);border-radius:var(--radius);padding:22px;position:sticky;top:96px}
.aside-box h2{font-size:var(--step-1)}
.aside-box .btn{width:100%;justify-content:center;margin-top:10px}
@media (max-width:860px){.article .wrap{grid-template-columns:1fr}.aside-box{position:static}}

/* Footer */
.site-foot{background:var(--ink);color:#DCE3EE;padding:48px 0 96px;font-size:var(--step--1)}
.site-foot a{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}
.site-foot h2{font-size:var(--step-0);color:#fff;margin-bottom:.6em}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:6px}
.help-line{border:1px solid #4B5A70;border-radius:8px;padding:12px 14px;margin-top:14px}
.legal{border-top:1px solid #3A475A;margin-top:32px;padding-top:18px;color:#A9B4C4}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr}}

/* Mobile action bar */
.action-bar{display:none}
@media (max-width:760px){
  .action-bar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);z-index:30}
  .action-bar .btn{justify-content:center;padding:12px 10px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
