/* Dr Reghai Maria — Phase 2 Design System
   Unified palette, typography, spacing, cards, controls and accessibility. */
:root{
  --ds-green-950:#123b30;
  --ds-green-900:#17483a;
  --ds-green-800:#205b49;
  --ds-green-700:#2d705b;
  --ds-green-500:#6fa58f;
  --ds-green-300:#b9d7ca;
  --ds-green-200:#d3e8df;
  --ds-green-100:#e5f2ec;
  --ds-green-50:#f0f8f4;
  --ds-surface:#e9f5ef;
  --ds-surface-soft:#f1f9f5;
  --ds-surface-strong:#dceee6;
  --ds-text:#173c31;
  --ds-text-soft:#365b4f;
  --ds-gold:#9a6b16;
  --ds-gold-dark:#76500f;
  --ds-border:rgba(31,91,73,.22);
  --ds-border-strong:rgba(31,91,73,.38);
  --ds-shadow-sm:0 8px 22px rgba(20,72,57,.08);
  --ds-shadow-md:0 18px 44px rgba(20,72,57,.12);
  --ds-radius-sm:12px;
  --ds-radius-md:20px;
  --ds-radius-lg:30px;
  --ds-container:1180px;
  --ds-space-1:.5rem;
  --ds-space-2:1rem;
  --ds-space-3:1.5rem;
  --ds-space-4:2rem;
  --ds-space-5:3rem;
  --ds-space-6:4.5rem;
  --ds-space-7:6rem;
  --ds-ease:cubic-bezier(.2,.75,.25,1);
}

html{scroll-behavior:smooth;background:var(--ds-green-50)}
body{
  margin:0;
  color:var(--ds-text);
  background:var(--ds-green-50);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.72;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
main,section,article,.section,.about-section,.results-section,.reviews-section,.services-section,.blog-section{
  color:var(--ds-text);
}
main{background:var(--ds-green-50)}
section,.section,.about-section,.results-section,.reviews-section,.services-section,.blog-section{
  background:var(--ds-surface);
}
section:nth-of-type(even),main>section:nth-of-type(even){background:var(--ds-surface-strong)}

.container,.section-container,.content-container,.results-container,.services-container{
  width:min(var(--ds-container),calc(100% - 40px));
  margin-inline:auto;
}
section,.section{padding-block:clamp(64px,8vw,104px)}
section+section{border-top:1px solid var(--ds-border)}

h1,h2,h3,h4,h5,h6{
  margin-top:0;
  color:var(--ds-green-950);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.018em;
  text-wrap:balance;
}
h1{font-size:clamp(2.75rem,6vw,5.25rem);margin-bottom:1.2rem}
h2{font-size:clamp(2.25rem,4.4vw,3.9rem);margin-bottom:1.1rem}
h3{font-size:clamp(1.65rem,2.6vw,2.3rem);margin-bottom:.8rem}
h4{font-size:clamp(1.3rem,2vw,1.7rem);margin-bottom:.65rem}
p,li,dd,dt,label,input,select,textarea,button{font-size:inherit}
p{color:var(--ds-text-soft);margin:0 0 1.15rem;max-width:72ch}
small,.caption,.image-caption,figcaption{color:var(--ds-text-soft);font-size:.9rem;line-height:1.5}
strong,b{color:var(--ds-green-950)}
a{color:var(--ds-gold-dark);text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--ds-green-800)}

.eyebrow,.section-kicker,.kicker,.overline,.badge,.label{
  color:var(--ds-gold-dark);
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.78rem;
}
.section-header,.section-intro{text-align:center;margin:0 auto clamp(2rem,5vw,4rem)}
.section-header p,.section-intro p{margin-inline:auto;font-size:clamp(1rem,1.4vw,1.18rem)}
.section-header:after,.section-intro:after{
  content:"";display:block;width:74px;height:2px;margin:24px auto 0;
  background:linear-gradient(90deg,transparent,var(--ds-gold),transparent);
}

button,.btn,.button,a.btn,a.button,[class*="cta"] a,.cta-button,.learn-more,.read-more{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.78rem 1.35rem;
  border:1px solid var(--ds-green-800);
  border-radius:999px;
  background:var(--ds-green-800);
  color:#fff;
  font-family:Inter,system-ui,sans-serif;
  font-size:.93rem;
  font-weight:750;
  line-height:1;
  text-decoration:none;
  box-shadow:var(--ds-shadow-sm);
  transition:transform .22s var(--ds-ease),box-shadow .22s var(--ds-ease),background .22s ease,color .22s ease;
}
button:hover,.btn:hover,.button:hover,a.btn:hover,a.button:hover,.cta-button:hover,.learn-more:hover,.read-more:hover{
  transform:translateY(-2px);background:var(--ds-green-950);color:#fff;box-shadow:var(--ds-shadow-md)
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(154,107,22,.38);outline-offset:3px
}

.card,.service-card,.result-card,.treatment-card,.procedure-card,.review-card,.blog-card,.article-card,
[class*="-card"]{
  background:var(--ds-surface-soft);
  color:var(--ds-text);
  border:1px solid var(--ds-border);
  border-radius:var(--ds-radius-md);
  box-shadow:var(--ds-shadow-sm);
  overflow:hidden;
  transition:transform .28s var(--ds-ease),box-shadow .28s var(--ds-ease),border-color .28s ease;
}
.card:hover,.service-card:hover,.result-card:hover,.treatment-card:hover,.procedure-card:hover,.review-card:hover,.blog-card:hover,.article-card:hover,
[class*="-card"]:hover{
  transform:translateY(-4px);box-shadow:var(--ds-shadow-md);border-color:var(--ds-border-strong)
}
.card-content,.card-body,.service-content,.result-content,.treatment-content,.procedure-content,.review-content,.blog-card-content{
  padding:clamp(1.25rem,3vw,2rem)
}
.card h3,.service-card h3,.result-card h3,.treatment-card h3,.procedure-card h3,.blog-card h3{color:var(--ds-green-950)}
.card p,.service-card p,.result-card p,.treatment-card p,.procedure-card p,.review-card p,.blog-card p{color:var(--ds-text-soft)}

img{max-width:100%;height:auto}
figure{margin:0}
.card img,.service-card img,.result-card img,.treatment-card img,.procedure-card img,.blog-card img,
.image-frame,.media-frame{
  border:1px solid var(--ds-border);
  background:var(--ds-green-100);
}
.card img,.service-card img,.result-card img,.treatment-card img,.procedure-card img,.blog-card img{
  display:block;width:100%;object-fit:contain;
}
.image-frame,.media-frame{padding:10px;border-radius:var(--ds-radius-md);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.image-frame img,.media-frame img{border-radius:calc(var(--ds-radius-md) - 8px)}

input,select,textarea{
  width:100%;min-height:48px;padding:.8rem 1rem;border:1px solid var(--ds-border-strong);
  border-radius:var(--ds-radius-sm);background:var(--ds-green-50);color:var(--ds-text);
  font-family:Inter,system-ui,sans-serif;box-sizing:border-box
}
textarea{min-height:130px;resize:vertical}
input::placeholder,textarea::placeholder{color:#66877b;opacity:1}

blockquote{
  margin:1.5rem 0;padding:1.2rem 1.5rem;border-left:4px solid var(--ds-gold);
  border-radius:0 var(--ds-radius-sm) var(--ds-radius-sm) 0;background:var(--ds-green-100);color:var(--ds-text)
}
hr{border:0;border-top:1px solid var(--ds-border);margin:var(--ds-space-5) 0}

/* Keep rebuilt Phase 1 header authoritative, while harmonizing its tokens. */
.rm-site-header{
  --rm-header-bg:#205b49;
  --rm-header-bg-2:#17483a;
  --rm-header-text:#f7fbf8;
  --rm-header-muted:#dcece5;
  --rm-header-gold:#e0bd72;
  --rm-header-border:rgba(255,255,255,.18);
}
.rm-header-shell{width:min(1440px,calc(100% - 40px))}
.rm-header-btn,.rm-menu-toggle,.rm-language{box-sizing:border-box}

/* Accessibility and motion */
::selection{background:var(--ds-green-300);color:var(--ds-green-950)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media(max-width:900px){
  body{font-size:16px}
  section,.section{padding-block:clamp(52px,9vw,76px)}
  .container,.section-container,.content-container,.results-container,.services-container{width:min(100% - 28px,var(--ds-container))}
}
@media(max-width:560px){
  h1{font-size:clamp(2.35rem,12vw,3.6rem)}
  h2{font-size:clamp(2rem,10vw,3rem)}
  h3{font-size:clamp(1.45rem,7vw,2rem)}
  .card-content,.card-body,.service-content,.result-content,.treatment-content,.procedure-content,.review-content,.blog-card-content{padding:1.15rem}
  button,.btn,.button,a.btn,a.button,.cta-button,.learn-more,.read-more{min-height:46px;padding:.75rem 1.1rem}
}
