/* ==========================================================================
   DHARMIKAM — RESPONSIVE
   Breakpoint refinements, reduced-motion and print overrides.
   Must load last so its overrides win.
   ========================================================================== */

/* ==========================================================================
   20. RESPONSIVE REFINEMENTS
   ========================================================================== */
@media (max-width:1399.98px){
  .fc-3{left:-4%}
}

@media (max-width:1199.98px){
  :root{--nav-h:74px}
  .hero{min-height:auto}
  .hero__sweep{width:min(96vw,720px);right:-22%;top:2%}
}

/* Tablet & below: hero becomes single column, image moves below text */
@media (max-width:991.98px){
  .hero{padding-top:calc(var(--nav-h) + 34px);text-align:left}
  .hero__visual{margin-top:clamp(48px,8vw,72px);min-height:auto}
  .hero__frame{width:min(86%,420px);aspect-ratio:4/4.6}
  .hero__stats{gap:1.6rem 2.2rem}
  /* once the hero stacks, keep the floating pieces off the viewport edges */
  .fc-1{left:0}
  .fc-2{right:0}
  .fc-3{left:0}
  .fi-2{right:0}
  .fi-4{left:2%}
  .scroll-cue{display:none}
  .about__media{margin-bottom:3rem}
  .about__badge{left:0}
  .about__img-sub{right:0}
  /* Back-to-top is desktop only; the contact button owns this corner */
  .to-top{display:none!important}
}

@media (max-width:767.98px){
  :root{--pad-section:clamp(58px,11vw,84px)}
  .h-display{font-size:clamp(2.5rem,10vw,3.4rem)}
  .hero__actions .btn-ayur{flex:1 1 100%}
  .hero__frame{width:min(92%,360px)}
  /* scale decorations down, keep them alive */
  .float-card{padding:.7rem .9rem;gap:.6rem;transform:scale(.9)}
  .float-card__icon{width:36px;height:36px;font-size:1rem}
  .float-card__title{font-size:.88rem}
  .float-card__meta{font-size:.66rem}
  .fc-1{top:2%;left:0}
  .fc-2{bottom:4%;right:0}
  .fc-3{display:none}
  .float-ico{transform:scale(.82)}
  .cta__inner .float-ico,.wellness .float-ico{transform:scale(.7);opacity:.7}
  .why-card__num{font-size:3.2rem}
  .footer-bottom{justify-content:center;text-align:center}
  h1.h-display.anim-in.d-2 {font-size: 26px !important;}
  .lead-text{ font-size: 14px;line-height: 1.4 !important;}
  .eyebrow{ font-size: 10px}   
  .btn-ayur{ font-size: 10px; padding: 12px}
  .quote-band .om { font-size: 3.6rem;}
  .quote-band .attrib { font-size: 0.66rem;}
  p { font-size: 14px;}
  .h-section { font-size: clamp(1.45rem,4.1vw,3.5rem);}
  .contact-chip{ padding: .3rem 1rem; font-size: 13px }
  .video-band {padding: 30px 0;}
  section#services { padding: 10px 0 50px 0;}
  .svc-card__icon { width: 45px;height: 45px;}
  .svc-card {padding: clamp(1.5rem,2.4vw,2.4rem);}
  .svc-card--photo p{ font-size: 13px; line-height: 1.3; margin-bottom: 10px}
  .svc-card--photo h3 {  margin-bottom: 10px;}
  .svc-card p{ font-size: 13px; margin-bottom: 5px} 
  .is-revealed{ text-align: center}
  #science-and-tradition .sci-trad__media { max-width: 150px !important; margin-top: 40px}
  #science-and-tradition{ padding: 0 !important}
  .ask-us {padding: clamp(40px,11vw,84px) 0; }
  .video-band {padding: 30px 0 !important;}
  .video-band .lead-text{ line-height: 1.4}
  .why-card__icon {width: 45px;height: 45px;}
  .why-card p {font-size: 13px;line-height: 1.4;}
  .why-card {padding: clamp(1.5rem,2.2vw,2.2rem) clamp(1.5rem,2vw,2rem)}
  .trt-card__body p {font-size: 13px;line-height: 1.4;}
  /* Treatment cards: shorter, uniform image band on mobile */
  #treatments .trt-card__media{aspect-ratio:auto;height:180px}
  #treatments .trt-card__media img{object-fit:cover;object-position:center 40%}
  .wellness{ padding:clamp(30px,15vw,190px) 0 }
  .tst-card blockquote{ font-size: 13px;line-height: 1.4}
  #testimonials .tst-card{ padding: 1.25rem 1.1rem}
  .cta__inner { padding:clamp(2.8rem,6vw,5.2rem) clamp(1.5rem,5vw,4.5rem);}
  .cta__contacts{ margin-top: 0}
  .cta{ padding:30px 0 30px !important}
  .site-footer{padding: clamp(40px,7vw,96px) 0 0;}
  .footer__intro {font-size: 13px;}
  .footer-list a{ line-height:1.3; font-size: 13px; } 
  .newsletter h3{ font-size: 18px}
  .newsletter p { font-size: 12px;}
  .footer-bottom { margin-top: clamp(1.6rem,5vw,4rem);padding: 1.7rem 0 2rem; }
  .footer-bottom p{ font-size: 12px}
  .logo img{ height: 75px}
  .nav-link{ font-size: 13px}
  .page-hero__title {  font-size: clamp(1.8rem,6vw,4.4rem) !important;}
  .page-hero__lead{ font-size: 14px !important;line-height: 1.4}
  .therapy-band{padding: clamp(30px,6vw,80px) 0;}
  #contactForm{ text-align: left}
  .con-input{ padding: .75rem 1.25rem; font-size: 13px}
  .video-play { width: 60px !important;}
  #science-and-tradition .col-lg-7{ margin-top: 20px !important}
  .ask-us { padding: 0 !important;} 
  .footer-list{ display: block !important}
  .footer-col-title{ margin-bottom: 10px}
  .newsletter .form-control{padding: .65rem 1.35rem;}
  .therapy-band{padding:clamp(25px,6vw,80px) 0 }
  .section{ padding: 30px 0}
  .pkg-ribbon{ display: block !important}
  .klr-timeline > li{ padding-bottom: 15px !important}
  .klr-timeline p{ line-height: 1.4; font-size: 13px}
  .klr-pull p{ font-size: 14px}
  .klr-level p{ line-height: 1.4 !important}
  .klr-table ul li{ font-size: 13px; line-height: 1.4} 
  .con-input{ font-size: 14px !important; padding: .65rem 1.25rem!important}
  .con-field label { font-size: .60rem !important;}
  .con-form { margin-bottom: 0!important;}
  .con-actions {margin-top: 0!important;}
  .con-list li{ text-align: left !important}
  .con-list__body p { font-size: .85rem !important; line-height: 1.4 !important}
  .con-list__label {font-size: .6rem !important;}
  .quote-band{ padding-top: 0px !important} 
      
}

@media (max-width:575.98px){
  .hero__stats{gap:1.3rem 1.8rem;padding-top:1.3rem}
  .stat__value{font-size:1.45rem}
  .stat__label{font-size:.63rem;letter-spacing:.13em}
  .tst-btn{width:46px;height:46px}
  .cta__inner .fi-1,.cta__inner .fi-2,.cta__inner .fi-3,.cta__inner .fi-4{display:none}
}

/* Very small phones (320px) */
@media (max-width:359.98px){
  .brand-name{font-size:1.14rem}
  .brand-sub{letter-spacing:.2em;font-size:.54rem}
  .brand-mark{width:40px;height:40px}
  .float-card{transform:scale(.78)}
  .hero__frame{width:96%}
}

/* ==========================================================================
   21. REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  [data-reveal],.anim-in,.anim-scale{opacity:1!important;transform:none!important}
  .underline-swash path{stroke-dashoffset:0}
  .hero__frame,.about__img-main,.organic,.organic-2,.hero__sweep{
    border-radius:var(--r-xl)!important;
  }
  .particle{display:none}
}

/* ==========================================================================
   22. PRINT
   ========================================================================== */
@media print{
  .site-header,.to-top,.scroll-cue,.deco,.blob,.particle,.ring,.float-ico,.float-card{display:none!important}
  body{background:#fff;color:#000}
  .section,.hero{padding:1.5rem 0}
  /* the "come to" cards print as plain copy: no photographs, no scrim */
  .come-to__photo,.come-to__col::after{display:none!important}
  .come-to{background:#fff;padding:1.5rem 0}
  .come-to__col{background:#fff;box-shadow:none;border-color:#ccc;min-height:0;color:#000}
  .come-to__word,.come-to__kicker,.come-to__list li{color:#000}
}
