/* Public website usability release, September 2026. */
:root { --ux-line:#d9cebc; --ux-muted:#655747; --ux-accent:#765b36; }
[hidden] { display:none !important; }
html { scroll-padding-top:110px; }
body { cursor:auto !important; }
a,button,summary,select { cursor:pointer !important; }
#cursor,#cursorRing,.cursor,.cursor-ring { display:none !important; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid #765b36 !important; outline-offset:4px; }
#nav .nav-menu { gap:25px; }
#nav .nav-menu > li > a { font-size:12px; letter-spacing:.07em; }
#nav .nav-menu .nav-btn { text-transform:none; font-size:14px; letter-spacing:.01em; }
.nav-dd:focus-within .nav-dd-menu { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.nav-dd-menu a { min-height:44px; display:flex; align-items:center; font-size:14px; }
.ux-shell { width:min(1120px,100%); margin:0 auto; padding:0 28px; }
.ux-page { padding:155px 0 75px; }
.ux-eyebrow { color:var(--ux-accent); font-size:13px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 18px; }
.ux-title { font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:clamp(38px,5.6vw,72px); line-height:1.08; letter-spacing:-.02em; margin:0 0 22px; }
.ux-lead { font-size:18px; line-height:1.7; max-width:720px; color:var(--ux-muted); margin:0 0 22px; }
.ux-page h2,.ux-panel h2 { font:400 clamp(28px,3vw,40px)/1.15 'Cormorant Garamond',Georgia,serif; margin:0 0 18px; }
.ux-page h3 { font-size:18px; line-height:1.4; margin:0 0 10px; }
.ux-page p,.ux-page li,.ux-panel p { line-height:1.7; }
.ux-page a:not(.ux-button):not(.cpay-razorpay):not(.pway-razorpay):not(.ux-choice) { color:var(--ux-accent); text-underline-offset:4px; }
.ux-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; margin:24px 0; }
.ux-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; text-align:center; padding:14px 24px; background:#1a1510; color:#f7f3ec !important; text-decoration:none; border:1px solid #1a1510; font:500 15px/1.4 'DM Sans',sans-serif; letter-spacing:0; text-transform:none; }
.ux-button:hover { background:#765b36; border-color:#765b36; }
.ux-button-secondary { background:transparent; color:#1a1510 !important; border-color:var(--ux-line); }
.ux-button-secondary:hover { background:#ede7d9; border-color:#765b36; }
.ux-section { margin:44px 0; }
.ux-panel { background:#fdfaF5; border:1px solid var(--ux-line); padding:30px; }
.ux-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ux-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; list-style:none; margin:24px 0; padding:0; }
.ux-benefits li { padding:22px; background:#fdfaF5; border:1px solid var(--ux-line); }
.ux-benefits b { display:block; margin-bottom:8px; color:#2a2218; }
.ux-benefits span { color:var(--ux-muted); font-size:15px; }
.ux-note { background:#ede7d9; border-left:3px solid #765b36; padding:18px 22px; color:#514332; font-size:15px; margin:20px 0; }
.ux-note p { margin:0 0 8px; }.ux-note p:last-child { margin:0; }
.ux-fine { font-size:14px; line-height:1.7; color:var(--ux-muted); }
.ux-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; gap:18px; padding:0; counter-reset:steps; }
.ux-steps li { border-top:2px solid var(--ux-line); padding:20px 0; counter-increment:steps; }
.ux-steps li:before { content:'0' counter(steps); color:var(--ux-accent); display:block; font-size:14px; margin-bottom:10px; }
.ux-steps h3 { font-size:16px; }.ux-steps p { font-size:15px; color:var(--ux-muted); }
.ux-book-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; }
.ux-book-layout .ux-panel { min-width:0; }
.ux-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:24px 0; }
.ux-choice { display:block; padding:20px; color:#2a2218; background:#fdfaF5; border:1px solid var(--ux-line); text-decoration:none; line-height:1.5; }
.ux-choice:hover { border-color:var(--ux-accent); }.ux-choice b { display:block; font-size:17px; margin-bottom:8px; }.ux-choice span { font-size:14px; color:var(--ux-muted); }
.ux-page .cpay-seg,.ux-page .pway-seg { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0; }
.ux-page .cpay-seg { grid-template-columns:1fr; }
.ux-page .cpay-opt,.ux-page .pway-opt { padding:18px; background:#f7f3ec; border:1px solid var(--ux-line); font:400 15px/1.5 'DM Sans',sans-serif; color:#2a2218; text-align:left; }
.ux-page .cpay-opt b,.ux-page .pway-opt b { display:block; font-size:24px; font-weight:500; }
.ux-page .cpay-opt.active,.ux-page .pway-opt.active { background:#1a1510; color:#f7f3ec; border-color:#1a1510; }
.ux-page .cpay-razorpay,.ux-page .pway-razorpay { display:block; padding:17px; background:#1a1510; color:#f7f3ec; font-size:16px; text-align:center; text-decoration:none; line-height:1.5; }
.ux-page .cpay-methods { font-size:14px; text-align:center; margin:10px 0 20px; color:var(--ux-muted); }
.ux-page .cpay-help { border-top:1px solid var(--ux-line); border-bottom:1px solid var(--ux-line); padding:14px 0; margin:20px 0; }
.ux-page summary { min-height:44px; padding:10px 0; font-size:16px; line-height:1.5; }
.ux-page .cpay-direct { display:flex; gap:20px; flex-wrap:wrap; padding:16px 0; }.ux-page .cpay-direct-qr { width:150px; flex:0 0 150px; background:#fff; padding:8px; }.ux-page .cpay-direct-qr img { width:100%; height:auto; }
.ux-page .cpay-direct-copy { flex:1; min-width:180px; font-size:14px; }.ux-page .cpay-direct-copy p { margin-bottom:12px; }
.ux-page .f-group { margin:0 0 18px; }.ux-page label { display:block; font-size:14px; color:#514332; text-transform:none; letter-spacing:0; margin-bottom:7px; }
.ux-page input,.ux-page select,.ux-page textarea,.ux-search input,.ux-search select { width:100%; min-height:48px; border:1px solid #b1a38e; border-radius:0; background:#fdfaF5; padding:12px; color:#2a2218; font:400 16px/1.5 'DM Sans',sans-serif; }
.ux-page .btn-submit { width:100%; font-size:16px; text-transform:none; letter-spacing:0; min-height:52px; background:#1a1510; color:#f7f3ec; border:1px solid #1a1510; }.ux-page .btn-submit:disabled { opacity:.7; cursor:default !important; }
.ux-form-status { margin-top:18px; font-size:15px; line-height:1.7; color:inherit; }
.ux-faq { max-width:850px; }.ux-faq details { border-bottom:1px solid var(--ux-line); padding:6px 0; }.ux-faq p { font-size:16px; margin:4px 0 20px; color:var(--ux-muted); }
.ux-package-card { font-size:16px; line-height:1.65; }.ux-package-card h2 { font:400 32px/1.15 'Cormorant Garamond',serif; margin-bottom:20px; }.ux-package-card ul { padding-left:20px; margin:16px 0; }.ux-package-card .ux-price { font-size:20px; color:#1a1510; }.ux-package-card .ux-price span { display:block; font-size:14px; }
.ux-search { background:#ede7d9; padding:24px; margin:28px 0; }.ux-search-row { display:grid; grid-template-columns:2fr 1fr auto; gap:16px; align-items:end; }.ux-search label { display:block; font-size:15px; margin-bottom:8px; }.ux-search p { margin:16px 0 0; font-size:15px; }
.ux-start { display:flex; flex-wrap:wrap; gap:10px 20px; margin:20px 0; }.ux-start a { color:#765b36; text-underline-offset:4px; font-size:15px; min-height:44px; display:flex; align-items:center; }
.articles-grid .article-card { padding:26px; gap:12px; transform:none !important; opacity:1 !important; }.article-card .article-excerpt { font-size:16px; }
.rd-rail-m > summary,.rd-fold > summary,.rd-tools button { font-size:14px !important; letter-spacing:0 !important; text-transform:none !important; min-height:44px; }.rd-sec > summary { min-height:48px; }
.ux-article-summary { max-width:760px; padding:18px 22px; border-left:3px solid #765b36; background:#ede7d9; font-size:17px; line-height:1.65; margin:20px 0 28px; }
.ux-home #services { padding-top:65px; padding-bottom:65px; }
.ux-home #care-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-flow:row; grid-auto-columns:auto; gap:18px; overflow:visible; padding:0; scroll-snap-type:none; }
.ux-home #care-grid .svc-card { min-width:0; width:auto; flex:auto; padding:25px; }.ux-home #care-grid.ux-care-collapsible:not(.ux-care-expanded) .svc-card:nth-child(n+7) { display:none; }
.ux-home .ux-services-more { margin-top:25px; color:#f7f3ec; border-color:#b1a38e; background:transparent; }
.ux-home #contact .ux-panel { color:#2a2218; }.ux-home #contact .ux-panel a:not(.ux-button) { color:#765b36; }
/* Keep the full contact details on the left, and use the open lower-right
   column for the clinic map on desktop. The map returns to the document flow
   on smaller screens so it remains easy to reach and read. */
@media (min-width:901px) {
  .ux-home #contact { position:relative; }
  .ux-home #contact .contact-side .visit-block {
    position:absolute;
    top:460px;
    left:calc(50% + 40px);
    width:calc(50% - 100px);
    margin:0;
  }
}
@media (max-width:900px) {
  .ux-home #contact .contact-side .visit-block { position:static; width:auto; margin-top:30px; }
}
.ux-book-intro { max-width:760px; margin:22px 0; }
/* A gentler title scale for informational pages that used the homepage size. */
#hero .hero-h1.hero-balanced { font-size:clamp(2.8rem,6vw,5.5rem); }
@media(max-width:600px) {
  #hero .hero-h1.hero-balanced { font-size:clamp(2.5rem,10.5vw,2.8rem); }
}
@media(max-width:1100px) {
  #nav .nav-menu { display:block !important; } #nav .nav-menu > li { display:none; } #nav .nav-menu > li:last-child { display:block; }
  #nav .nav-menu .nav-btn { position:fixed; bottom:calc(14px + env(safe-area-inset-bottom,0px)); left:14px; right:84px; width:auto; min-height:52px; display:flex; align-items:center; justify-content:center; margin:0; padding:12px 16px; font-size:15px; }
  #nav .nav-menu .nav-btn.ux-checkout-visible { opacity:0; pointer-events:none; visibility:hidden; }
  #nav .nav-hamburger { display:flex; }.float-cta,.care-book-float { display:none !important; }
  body:has(#nav .nav-btn) { padding-bottom:85px; }
  .mobile-nav { justify-content:flex-start; padding:85px 28px 105px !important; gap:22px; }.mobile-nav .mnav-link { font-size:28px; min-height:44px; padding:5px 0; }.mobile-nav .mnav-sub a { font-size:15px; min-height:44px; padding:10px 0; letter-spacing:0; text-transform:none; }.mobile-nav .mnav-cta { font-size:16px; text-transform:none; letter-spacing:0; }.mobile-nav .mnav-group { width:100%; }.mobile-nav .mobile-close { min-width:44px; min-height:44px; top:16px; right:22px; }
}
@media(max-width:760px) {
  .ux-page { padding-top:110px; }.ux-shell { padding:0 22px; }.ux-title { font-size:42px; }.ux-lead { font-size:17px; }
  .ux-grid,.ux-book-layout,.ux-choices,.ux-benefits { grid-template-columns:1fr; }.ux-panel { padding:22px; }.ux-section { margin:32px 0; }
  .ux-steps { grid-template-columns:1fr 1fr; gap:16px; }.ux-page .pway-seg { grid-template-columns:1fr 1fr; }.ux-page .pway-opt { padding:14px; font-size:14px; }
  .ux-actions { gap:12px; }.ux-actions .ux-button { flex:1 1 230px; }
  .ux-search-row { grid-template-columns:1fr; }.ux-search { padding:20px; }.ux-search button { width:100%; }
  .ux-home #care-grid { grid-template-columns:1fr 1fr; }.ux-home #care-grid .svc-card { padding:20px; }
  .ux-home .section-h2 { font-size:36px; }.ux-home #about,.ux-home #recognition,.ux-home #media { padding-top:45px; padding-bottom:45px; }
  .ux-home .media-grid { grid-template-columns:1fr 1fr; }.ux-home .media-card { min-width:0; }
  .hero-sub,.prose-body { line-height:1.7; }.hero-eyebrow { line-height:1.6; }
}
@media(max-width:420px) { .ux-home #care-grid { grid-template-columns:1fr; }.ux-steps { grid-template-columns:1fr; }.ux-home .media-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }

.ux-hero-price { flex-basis:100%; max-width:600px; margin:4px 0 0; }.ux-hero-price strong { display:block; color:#2a2218; font-size:16px; }

.ux-adhd-treatment #heroCtas > a { font-size:15px; letter-spacing:0; text-transform:none; min-height:48px; }.ux-adhd-treatment #heroEyebrow { max-width:650px; }
@media(max-width:760px) { .ux-adhd-treatment #heroEyebrow { max-width:100%; font-size:12px; letter-spacing:.1em; }.ux-adhd-treatment #heroCtas { margin-top:24px; gap:14px; } }
.ux-adhd-treatment #heroCtas { flex-wrap:wrap; max-width:660px; gap:16px 24px; }
.ux-adhd-treatment #heroCtas > a { flex-shrink:0; }
.ux-adhd-treatment #heroCtas > p { flex-basis:100%; margin:0; }
.ux-adhd-treatment #heroCtas p a { color:#765b36; text-underline-offset:3px; }
.ux-adhd-treatment .hero-portal-card { color:#2a2218; }
.ux-adhd-treatment .hpc-cta { margin-top:16px; font-size:14px; letter-spacing:0; text-transform:none; }
.ux-adhd-treatment .float-cta { display:none !important; }

/* Keep the original desktop cover. Compact cover treatment is phone-only. */
@media(max-width:600px) {
  .ux-home #hero { display:flex; min-height:0; padding:115px 24px 40px; align-items:flex-start; }
  .ux-home #hero .hero-eyebrow { order:1; font-size:12px; max-width:100%; margin:0 0 16px; }
  .ux-home #hero .hero-h1 { order:2; font-size:42px; max-width:100%; width:100%; margin-bottom:18px; }
  .ux-home #hero .hero-sub { order:3; max-width:100%; width:100%; font-size:17px; line-height:1.6; margin:0 0 20px; }
  .ux-home #hero .hero-ctas { order:4; max-width:100%; width:100%; margin:0; gap:12px; }.ux-home #hero .hero-ctas a { font-size:14px; text-transform:none; letter-spacing:0; min-height:48px; }
  .ux-home #hero .hero-photo-frame { order:5; position:relative; inset:auto; width:130px; height:150px; margin:25px 0 0; flex:none; align-self:flex-start; }
  .ux-home #hero .hero-photo-frame img { object-position:center 20%; }.ux-home #hero .hero-art { display:none; }
  .ux-home #hero .hero-photo-badge { display:none; }
  .ux-home #hero .hero-h1 { font-size:clamp(34px,10vw,42px); }
}
