@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--green:#526d64;--green-dark:#3e5b52;--cream:#faf8f4;--soft:#f1f0ec;--ink:#252826;--muted:#686e6b;--line:#deddd7;--white:#fff;--gold:#d8dfc7;--max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65}a{text-decoration:none;color:inherit}p{color:var(--muted)}h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.1}h1{font-size:clamp(48px,5.4vw,78px);letter-spacing:-.04em;margin:0 0 25px}h2{font-size:clamp(36px,4vw,55px);letter-spacing:-.03em;margin:0 0 18px}h3{font-size:25px;margin:0 0 12px}.container{width:min(calc(100% - 80px),var(--max));margin:auto}.narrow{max-width:820px}.center{text-align:center}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:700;color:var(--green);margin:0 0 17px}.header{height:103px;background:var(--green);color:#fff}.header-inner{width:min(calc(100% - 80px),var(--max));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:14px}.psi{font-family:Georgia,serif;font-size:50px;color:var(--gold);line-height:1}.logo-text{display:flex;flex-direction:column}.logo-text strong{font-family:"Playfair Display",Georgia,serif;font-size:25px;font-weight:500}.logo-text small{font-family:"Playfair Display",Georgia,serif;font-size:13px;color:#e8ebe4}.navigation{display:flex;align-items:center;gap:34px;font-size:15px}.navigation>a:hover{opacity:.72}.language{display:flex;gap:10px;margin-left:28px}.language .active{font-weight:700}.menu{display:none;border:0;background:none;color:#fff;font-size:28px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;padding:15px 28px;border-radius:5px;font-weight:600;transition:.2s}.button:hover{background:var(--green-dark);transform:translateY(-2px)}.button-light{background:#fff;color:var(--green)}.button-outline{background:transparent;color:var(--green);border:1px solid var(--green)}



.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,248,244,.03) 0%,rgba(250,248,244,.05) 34%,rgba(250,248,244,.48) 58%,rgba(250,248,244,.88) 78%,rgba(250,248,244,.97) 100%)}


.hero-copy h1 span{color:var(--green)}
.hero-lead{font-size:20px;line-height:1.48;max-width:610px;margin:0 0 16px;color:var(--ink)}
.hero-desc{max-width:600px;margin:0 0 28px;font-size:16px}
.photo-placeholder{height:100%;min-height:650px;display:flex;align-items:center;justify-content:center;color:#53605b;text-transform:uppercase;letter-spacing:.13em;font-size:11px;text-align:center;padding:30px}.benefits{display:flex;gap:22px;margin-top:38px}.benefit{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.35;padding-right:24px;border-right:1px solid rgba(82,109,100,.25)}.benefit:last-child{border:0}.benefit-icon{font-size:28px;color:var(--green)}.section{padding:90px 0}.soft{background:var(--white)}.intro{padding:85px 0 95px;text-align:center}.intro p:last-child{font-size:17px}.section-head{display:grid;grid-template-columns:1fr .75fr;gap:70px;align-items:end;margin-bottom:48px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{background:#fff;border:1px solid #e5e3de;border-radius:13px;padding:38px;box-shadow:0 6px 20px rgba(40,48,44,.06)}.card-number{color:var(--green);font-size:11px;letter-spacing:.14em;font-weight:700}.card p:last-of-type{margin-bottom:0}.card-link{display:inline-block;color:var(--green);font-weight:600;margin-top:22px}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.feature{border-top:1px solid var(--line);padding-top:22px}.feature-num{font-size:11px;color:var(--green);letter-spacing:.15em;font-weight:700;margin-bottom:30px}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:85px;align-items:center}.portrait{min-height:600px;background:linear-gradient(145deg,#e8e2d8,#cfd7d0);display:flex;align-items:center;justify-content:center}.portrait img{width:100%;height:100%;object-fit:cover}.location{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:center}.map{min-height:420px;background:#e4e2dc;display:flex;align-items:center;justify-content:center;color:#6b706d;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.quote{background:#fff;border:1px solid #e6e4df;border-radius:13px;padding:30px}.quote p{font-size:15px}.quote cite{font-style:normal;color:var(--green);font-size:13px;font-weight:600}.cta{background:var(--green);padding:95px 0;color:#fff}.cta h2,.cta p{color:#fff}.cta p{max-width:650px;margin-left:auto;margin-right:auto}.footer{background:#202a27;color:#c8d0cc;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:50px}.footer-grid>div{display:flex;flex-direction:column;gap:9px}.footer-grid strong{color:#fff;margin-bottom:7px}.footer .brand{color:#fff}.legal{border-top:1px solid #3b4642;margin-top:45px;padding-top:18px;display:flex;justify-content:space-between;font-size:11px;color:#8d9893}.publication{padding:24px 0;border-bottom:1px solid var(--line)}.publication strong{display:block;color:var(--ink);margin-bottom:5px}.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.pill{border:1px solid var(--line);padding:8px 13px;border-radius:30px;font-size:12px;color:var(--green);background:#fff}
@media(max-width:1000px){.navigation{gap:18px;font-size:13px}.section-head{grid-template-columns:1fr;gap:10px}.features{grid-template-columns:repeat(2,1fr)}.about-grid,.location{grid-template-columns:1fr}.portrait{min-height:450px}.testimonials{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.container,.header-inner{width:calc(100% - 36px)}.header{height:75px}.navigation{display:none;position:absolute;top:75px;left:0;right:0;background:var(--green);padding:25px;flex-direction:column;gap:20px;z-index:20}.navigation.open{display:flex}.language{margin-left:0}.menu{display:block}
.service-image{width:100%;height:205px;object-fit:cover;display:block;border-radius:10px 10px 0 0}
.service-card{padding:0;overflow:hidden}
.service-card .service-body{padding:28px 30px 30px}
.service-card .card-number{margin-top:0}
.service-card h3,.service-card h2{margin-top:0}
.service-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:35px}
.service-strip img{width:100%;height:150px;object-fit:cover;border-radius:10px}
.page-hero-image{width:100%;height:430px;object-fit:cover;border-radius:16px;margin-top:30px}
@media(max-width:1000px){.service-strip{grid-template-columns:repeat(2,1fr)}}


.doctoralia-box{margin:42px 0 0;padding:34px 36px;border-radius:16px;background:#eef3f0;border:1px solid rgba(64,91,82,.12);display:flex;align-items:center;justify-content:space-between;gap:30px}
.doctoralia-box h2{margin:0 0 8px;font-family:Georgia,serif;font-weight:400}
.doctoralia-box p{margin:0;max-width:650px}
.doctoralia-actions{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0}
.doctoralia-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}


.testimonial-cta{margin-top:28px;text-align:center}
.location-photo{min-height:420px;border-radius:16px;overflow:hidden;background:#e4e2dc}
.location-photo img{width:100%;height:420px;object-fit:cover;display:block}
.service-card .service-image{height:210px;object-fit:cover}


.location-map{height:420px;border-radius:16px;overflow:hidden;background:#e4e2dc;border:1px solid var(--line)}
.location-map iframe{width:100%;height:100%;border:0;display:block}

.barcelona-feature>img{display:none}



.barcelona-feature-overlay .eyebrow{color:#d8dfc7}
@media(max-width:760px){
  

.barcelona-feature-overlay p:not(.eyebrow){font-size:18px;letter-spacing:.01em}

/* FINAL HERO: Adriana's uploaded photo is the full-bleed background */

.hero-full-background .hero-background{
  position:absolute;
  inset:0;
  z-index:0;
}
.hero-full-background .hero-background img{
  width:100%;
  height:100%;
  min-height:760px;
  display:block;
  object-fit:cover;
  object-position:22% center;
}
.hero-full-background .hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(250,248,244,.02) 0%,
      rgba(250,248,244,.04) 30%,
      rgba(250,248,244,.30) 52%,
      rgba(250,248,244,.78) 72%,
      rgba(250,248,244,.96) 100%);
}
.hero-full-background .hero-content{
  position:relative;
  z-index:2;
  width:min(56%,760px);
  min-height:760px;
  margin-left:auto;
  padding:80px 6vw 60px 5%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-full-background .hero-content h1{
  font-size:clamp(48px,5vw,72px);
  line-height:1.04;
}
.hero-full-background .hero-content h1 span{color:var(--green)}
@media(max-width:760px){
  




.hero-background-full .hero-background-content h1 span{color:var(--green)}






.barcelona-feature-overlay p:not(.eyebrow){color:#fff;font-size:18px}
.barcelona-feature-overlay .eyebrow{color:#d8dfc7}

@media(max-width:760px){
  
.hero-background-full img,
.barcelona-feature img{
  display:none !important;
}

/* =========================
   PsIcare — clean hero and Barcelona backgrounds
   ========================= */

.hero-background-full{
  position:relative;
  width:100%;
  min-height:760px;
  overflow:hidden;
  display:flex;
  align-items:stretch;
  background-color:#faf8f4;
  background-image:url("/assets/adriana-hero.jpg");
  background-repeat:no-repeat;
  background-position:22% center;
  background-size:cover;
}

.hero-background-full::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(
    90deg,
    rgba(250,248,244,0) 0%,
    rgba(250,248,244,.04) 27%,
    rgba(250,248,244,.25) 49%,
    rgba(250,248,244,.74) 69%,
    rgba(250,248,244,.97) 100%
  );
}

.hero-background-content{
  position:relative;
  z-index:1;
  width:min(52%,760px);
  min-height:760px;
  margin-left:auto;
  padding:90px 6vw 65px 5%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.hero-background-content h1{
  font-size:clamp(48px,5vw,76px);
  line-height:1.04;
  margin-bottom:24px;
}

.hero-background-content h1 span{color:var(--green)}
.hero-background-content .hero-lead{font-size:20px;line-height:1.48;max-width:610px;color:var(--ink)}
.hero-background-content .hero-desc{max-width:600px;margin-bottom:28px}

.barcelona-feature{
  position:relative;
  width:100%;
  min-height:560px;
  overflow:hidden;
  display:flex;
  align-items:center;
  background-color:#26332f;
  background-image:url("/assets/barcelona.jpg");
  background-repeat:no-repeat;
  background-position:50% 18%;
  background-size:cover;
}

.barcelona-feature::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(
    90deg,
    rgba(25,38,34,.78) 0%,
    rgba(25,38,34,.42) 45%,
    rgba(25,38,34,.08) 100%
  );
}

.barcelona-feature-overlay{
  position:relative;
  z-index:1;
  margin-left:max(6vw,70px);
  max-width:570px;
  color:#fff;
}

.barcelona-feature-overlay h2{
  color:#fff;
  max-width:560px;
  font-size:clamp(38px,4.5vw,62px);
  line-height:1.08;
}

.barcelona-feature-overlay p:not(.eyebrow){
  color:#fff;
  font-size:18px;
}

.barcelona-feature-overlay .eyebrow{color:#d8dfc7}

/* Background sections intentionally contain no image elements. */
.hero-background-full img,
.barcelona-feature img{display:none!important}

@media(max-width:760px){
  .hero-background-full{
    min-height:700px;
    background-position:27% center;
  }

  .hero-background-full::before{
    background:linear-gradient(
      0deg,
      rgba(250,248,244,.98) 0%,
      rgba(250,248,244,.86) 40%,
      rgba(250,248,244,.25) 73%,
      rgba(250,248,244,.03) 100%
    );
  }

  .hero-background-content{
    width:100%;
    min-height:700px;
    padding:70px 22px 45px;
    justify-content:flex-end;
  }

  .barcelona-feature{min-height:500px}
  .barcelona-feature-overlay{margin:0 22px;max-width:none}
}


/* =========================================================
   GLOBAL PAGE HEADER
   Exact visual format used by the Home page header.
   Scoped to .site-header so existing page formatting is preserved.
   ========================================================= */
.site-header{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:10;
  color:#fff;
}
.site-header .nav{
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.site-header .logo{
  font-family:Georgia,serif;
  font-size:25px;
  display:block;
  color:#fff;
}
.site-header .logo small{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#fff;
}
.site-header nav{
  display:flex;
  gap:28px;
  align-items:center;
  font-size:14px;
}
.site-header nav a{
  color:#fff;
  text-decoration:none;
}
.site-header nav a:hover{
  opacity:.75;
}
.site-header .navbook{
  border:1px solid rgba(255,255,255,.8);
  padding:10px 17px;
  border-radius:4px;
  background:transparent;
  color:#fff;
}
@media(max-width:800px){
  .site-header .nav{
    height:75px;
  }
  .site-header nav{
    display:none;
  }
}


/* =========================================================
   SHARED SUBPAGE HEADER
   Match the homepage navigation consistently on Therapy,
   For Organizations, and About PsIcare Health (EN + ES).
   ========================================================= */
.site-header{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:100!important;
  display:block!important;
  width:100%!important;
  background:rgba(39,70,59,.94)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.12)!important;
  color:#fff!important;
}
.site-header .container.nav{
  width:min(1120px,calc(100% - 48px))!important;
  max-width:1120px!important;
  height:88px!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
.site-header .logo{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:25px!important;
  font-weight:400!important;
  line-height:1.2!important;
  color:#fff!important;
  text-decoration:none!important;
}
.site-header .logo small{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:9px!important;
  line-height:1.4!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:#fff!important;
}
.site-header nav{
  display:flex!important;
  margin:0!important;
  padding:0!important;
  gap:28px!important;
  align-items:center!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  line-height:1!important;
}
.site-header nav a{
  display:inline-block!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.site-header nav a:hover{opacity:.75!important}
.site-header nav a.navbook{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:10px 17px!important;
  border:1px solid #fff!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#365b4c!important;
  font-weight:600!important;
  line-height:1!important;
}
@media(max-width:800px){
  .site-header .container.nav{height:76px!important}
  .site-header .logo{font-size:23px!important}
  .site-header nav{display:none!important}
}
