@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600&family=Inter:wght@400;500;600&display=swap');

:root{
  --vadea-ink:#0F2D4A;
  --vadea-mist:#7B9BB3;
  --vadea-mineral:#8CA699;
  --vadea-light:#E7EBEA;
  --vadea-ivory:#FAF8F3;
  --vadea-white:#FFFFFF;
  --vadea-muted:#526879;
  --vadea-line:rgba(15,45,74,.14);
  --vadea-line-strong:rgba(15,45,74,.24);
  --vadea-ink-soft:rgba(15,45,74,.07);
  --vadea-mist-soft:rgba(123,155,179,.12);
  --vadea-mineral-soft:rgba(140,166,153,.13);
  --vadea-danger:#8B4545;
  --vadea-danger-soft:#FBF3F1;
  --vadea-success:#4D6F60;
  --vadea-success-soft:#F0F5F1;
  --vadea-warning:#7D6335;
  --vadea-warning-soft:#FBF7EC;
  --vadea-radius-sm:8px;
  --vadea-radius:12px;
  --vadea-radius-lg:16px;
  --vadea-shadow:0 18px 50px rgba(15,45,74,.055);
  --vadea-font-display:'Instrument Sans',Inter,Arial,sans-serif;
  --vadea-font-body:Inter,Arial,sans-serif;
}

html{background:var(--vadea-ivory)}
body{background:var(--vadea-ivory)!important;color:var(--vadea-ink)!important;font-family:var(--vadea-font-body)!important}
body::selection{background:rgba(123,155,179,.28)}
button,input,select,textarea{font-family:var(--vadea-font-body)!important}
a,button,input,select{outline-color:var(--vadea-mist)}

.wordmark{display:inline-flex!important;align-items:center;text-decoration:none!important;line-height:1!important;letter-spacing:0!important;font-size:0!important}
.wordmark img{display:block;width:clamp(116px,10vw,148px);height:auto}

h1,h2,.payment-title,.price,.therapist-name,.professional-name,.panel h2,.panel h3,.confirmation h2{font-family:var(--vadea-font-display)!important}
h1{font-weight:500!important;letter-spacing:-.045em!important}
h2{font-weight:500!important;letter-spacing:-.025em!important}

.eyebrow{font-family:var(--vadea-font-body)!important;font-weight:600!important;letter-spacing:.11em!important;color:var(--vadea-muted)!important}
.eyebrow::before{width:9px!important;height:9px!important;flex:0 0 9px!important;background:var(--vadea-mineral)!important;border-radius:1px!important}

.back{color:var(--vadea-muted)!important;border-bottom:0!important;position:relative!important;padding-bottom:4px!important}
.back::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--vadea-ink);transition:right .18s ease}
.back:hover::after{right:0}

footer{border-top-color:var(--vadea-line)!important;color:var(--vadea-muted)!important}
footer span:first-child{font-family:var(--vadea-font-display);font-weight:600;color:var(--vadea-ink)}

/* HOME */
.home-page .page{max-width:1680px!important;padding:clamp(24px,4.5vw,72px)!important}
.home-page header{border-bottom:1px solid var(--vadea-line);padding-bottom:22px}
.home-page .descriptor{font-family:var(--vadea-font-body);font-size:12px!important;line-height:1.45!important;letter-spacing:.04em;color:var(--vadea-muted)!important;max-width:220px;text-align:right}
.home-page main{padding:clamp(76px,9vw,148px) 0 clamp(88px,10vw,150px)!important;align-items:center!important}
.home-page .content{max-width:1260px!important;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(290px,.58fr);column-gap:clamp(54px,7vw,108px);row-gap:0;align-items:end;position:relative}
.home-page .content::after{content:'';position:absolute;top:76px;bottom:0;left:calc(68% + 18px);width:1px;background:var(--vadea-line);pointer-events:none}
.home-page .eyebrow{grid-column:1/-1;margin:0 0 34px!important}
.home-page h1{grid-column:1;font-size:clamp(58px,7.9vw,124px)!important;line-height:.96!important;margin:0!important;max-width:none;white-space:nowrap;overflow-wrap:normal!important;word-break:normal}
.home-page .intro{grid-column:2;font-family:var(--vadea-font-display);font-size:clamp(22px,2.1vw,30px)!important;line-height:1.34!important;letter-spacing:-.025em!important;max-width:430px!important;margin:0 0 24px!important;color:var(--vadea-ink)}
.home-page .note{grid-column:2;font-size:15px!important;line-height:1.72!important;color:var(--vadea-muted)!important;max-width:430px!important;margin:0!important}
.home-page .actions{grid-column:2;margin-top:30px!important}
.home-page .button{min-height:50px!important;padding:13px 18px!important;border-radius:var(--vadea-radius-sm)!important;border:1px solid var(--vadea-ink)!important;background:var(--vadea-ink)!important;color:var(--vadea-ivory)!important;font-family:var(--vadea-font-body);font-size:14px!important;font-weight:600!important;box-shadow:none!important;transition:transform .16s ease,background .16s ease,border-color .16s ease!important}
.home-page .button::after{content:'↗';margin-left:22px;font-size:14px;line-height:1;opacity:.72}
.home-page .button:hover{transform:translateY(-1px)!important;background:#173A5D!important}
.home-page footer{padding-top:18px!important}

/* BOOKING */
.booking-page .page{max-width:1540px!important;padding:clamp(24px,4vw,62px)!important}
.booking-page header{margin-bottom:clamp(52px,6vw,82px)!important;border-bottom:1px solid var(--vadea-line);padding-bottom:20px}
.booking-page .hero{grid-template-columns:minmax(300px,.72fr) minmax(520px,1.28fr)!important;gap:clamp(52px,6.5vw,96px)!important}
.booking-page .copy{top:30px!important;padding-top:8px!important}
.booking-page h1{font-size:clamp(48px,5.9vw,82px)!important;line-height:1!important;margin-bottom:28px!important}
.booking-page .lead{font-family:var(--vadea-font-display);font-size:clamp(20px,1.8vw,25px)!important;line-height:1.42!important;letter-spacing:-.018em!important;color:var(--vadea-ink)}
.booking-page .note{color:var(--vadea-muted)!important;font-size:14px!important;line-height:1.75!important}
.booking-page .therapist{border:0!important;border-left:3px solid var(--vadea-mineral)!important;border-radius:0!important;background:transparent!important;padding:4px 0 4px 16px!important;margin-top:30px!important}
.booking-page .therapist-photo{border-radius:var(--vadea-radius-sm)!important;width:78px!important;height:78px!important;flex-basis:78px!important;box-shadow:0 0 0 1px var(--vadea-line)}
.booking-page .therapist-kicker{color:var(--vadea-muted)!important;letter-spacing:.1em!important}
.booking-page .therapist-name{font-size:17px!important;font-weight:600!important}
.booking-page .therapist-role{color:var(--vadea-muted)!important}
.booking-page .booking{background:rgba(255,255,255,.76)!important;border:1px solid var(--vadea-line)!important;border-radius:var(--vadea-radius-lg)!important;padding:clamp(18px,2vw,28px)!important;box-shadow:var(--vadea-shadow)!important;backdrop-filter:blur(8px)}
.booking-page .booking::before{content:'';display:block;width:44px;height:5px;background:var(--vadea-mist);margin:-1px 0 18px;border-radius:1px}
.booking-page .email-note{border:0!important;border-left:3px solid var(--vadea-mineral)!important;border-radius:0!important;background:var(--vadea-mineral-soft)!important;color:var(--vadea-muted)!important;padding:12px 14px!important}
.booking-page .email-note strong{color:var(--vadea-ink)!important}
.booking-page .email-dot{border-radius:1px!important;background:var(--vadea-mineral)!important;opacity:1!important}
.booking-page .process{border:1px solid var(--vadea-line)!important;border-radius:var(--vadea-radius)!important;background:rgba(231,235,234,.45)!important;padding:14px!important;margin-bottom:18px!important}
.booking-page .step-number{border:1px solid var(--vadea-line-strong)!important;border-radius:6px!important;background:var(--vadea-ivory)!important;color:var(--vadea-ink)!important;font-family:var(--vadea-font-display)!important}
.booking-page .step-label{color:var(--vadea-muted)!important}
.booking-page .step-title{font-family:var(--vadea-font-display);font-weight:600!important}
.booking-page .process-arrow{color:var(--vadea-mist)!important}
.booking-page .process-action{border:1px solid var(--vadea-ink)!important;border-radius:7px!important;color:var(--vadea-ink)!important;background:transparent!important;padding:7px 10px!important}
.booking-page .process-action:hover{background:var(--vadea-ink)!important;color:var(--vadea-ivory)!important}
.booking-page .meetings-shell{border:1px solid var(--vadea-line)!important;border-radius:var(--vadea-radius)!important;background:var(--vadea-white)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.booking-page .fallback{border-top-color:var(--vadea-line)!important;color:var(--vadea-muted)!important}
.booking-page .payment{border-top-color:var(--vadea-line)!important;margin-top:22px!important;padding-top:28px!important}
.booking-page .payment-label{color:var(--vadea-muted)!important}
.booking-page .payment-title{font-size:24px!important;font-weight:600!important}
.booking-page .payment-copy{color:var(--vadea-muted)!important}
.booking-page .price{font-size:23px!important;color:var(--vadea-ink)!important;font-weight:600!important}
.booking-page .verify-card{border:1px solid var(--vadea-line)!important;border-radius:var(--vadea-radius)!important;background:rgba(231,235,234,.38)!important;padding:20px!important}
.booking-page .verify-title{font-family:var(--vadea-font-display);font-weight:600!important}
.booking-page .verify-copy,.booking-page .privacy{color:var(--vadea-muted)!important}
.booking-page .field label{color:var(--vadea-ink)!important}
.booking-page .field input{border:1px solid var(--vadea-line-strong)!important;border-radius:var(--vadea-radius-sm)!important;background:var(--vadea-white)!important;color:var(--vadea-ink)!important}
.booking-page .field input:focus{border-color:var(--vadea-mist)!important;box-shadow:0 0 0 3px var(--vadea-mist-soft)!important}
.booking-page .payment-button{border-radius:var(--vadea-radius-sm)!important;background:var(--vadea-ink)!important;color:var(--vadea-ivory)!important;border-color:var(--vadea-ink)!important;box-shadow:none!important}
.booking-page .payment-button:hover{background:#173A5D!important}
.booking-page .payment-status{color:var(--vadea-muted)!important}
.booking-page .payment-status.error{color:var(--vadea-danger)!important}

/* CONSENT */
.consent-page .page{max-width:1500px!important;padding:clamp(22px,4vw,60px)!important}
.consent-page .draft{margin:0 0 24px 0!important;border:1px solid rgba(125,99,53,.25)!important;border-radius:var(--vadea-radius-sm)!important;background:var(--vadea-warning-soft)!important;color:var(--vadea-warning)!important;padding:8px 11px!important}
.consent-page .draft-dot{border-radius:1px!important}
.consent-page header{margin-bottom:clamp(48px,6vw,74px)!important;border-bottom:1px solid var(--vadea-line);padding-bottom:20px}
.consent-page .layout{grid-template-columns:minmax(300px,.70fr) minmax(580px,1.30fr)!important;gap:clamp(48px,6.3vw,92px)!important}
.consent-page .intro{top:30px!important}
.consent-page h1{font-size:clamp(48px,5.5vw,76px)!important;line-height:1!important}
.consent-page .lead{font-family:var(--vadea-font-display);font-size:clamp(20px,1.7vw,24px)!important;line-height:1.42!important;letter-spacing:-.018em!important}
.consent-page .intro-note{color:var(--vadea-muted)!important;line-height:1.75!important}
.consent-page .professional{border:0!important;border-left:3px solid var(--vadea-mineral)!important;border-radius:0!important;background:transparent!important;padding:4px 0 4px 16px!important}
.consent-page .professional-mark{width:46px!important;height:46px!important;flex-basis:46px!important;border:1px solid var(--vadea-line)!important;border-radius:var(--vadea-radius-sm)!important;background:url('/assets/juan-david-nino.svg') center/cover no-repeat!important;padding:0!important;overflow:hidden}
.consent-page .professional-mark img{display:none!important}
.consent-page .professional-kicker,.consent-page .professional-meta{color:var(--vadea-muted)!important}
.consent-page .journey{border:1px solid var(--vadea-line)!important;border-radius:var(--vadea-radius-lg)!important;box-shadow:var(--vadea-shadow)!important;background:rgba(255,255,255,.78)!important}
.consent-page .journey-top{padding:20px 24px 18px!important;border-bottom:1px solid var(--vadea-line)!important;background:rgba(231,235,234,.46)!important}
.consent-page .progress-label,.consent-page .progress-count{color:var(--vadea-muted)!important}
.consent-page .progress-track{height:4px!important;background:rgba(15,45,74,.10)!important;border-radius:1px!important}
.consent-page .progress-bar{background:var(--vadea-mineral)!important;border-radius:1px!important}
.consent-page .panel{padding:clamp(26px,3.2vw,42px)!important}
.consent-page .panel-kicker{color:var(--vadea-muted)!important;display:flex;align-items:center;gap:10px}
.consent-page .panel-kicker::before{content:'';width:8px;height:8px;background:var(--vadea-mist);border-radius:1px;flex:0 0 8px}
.consent-page h2{font-size:clamp(31px,3vw,42px)!important;line-height:1.1!important}
.consent-page .panel-lead,.consent-page .section p,.consent-page .plain-list li,.consent-page .mini-copy,.consent-page .acceptance-copy,.consent-page .version{color:var(--vadea-muted)!important}
.consent-page .section{border-top-color:var(--vadea-line)!important}
.consent-page .section h3{font-family:var(--vadea-font-display)!important;font-weight:600!important;color:var(--vadea-ink)}
.consent-page .plain-list li::before{width:6px!important;height:6px!important;border-radius:1px!important;background:var(--vadea-mineral)!important}
.consent-page .callout{border:0!important;border-left:3px solid var(--vadea-mist)!important;border-radius:0!important;background:var(--vadea-mist-soft)!important;color:var(--vadea-muted)!important;padding:15px 16px!important}
.consent-page .callout.urgent{border-left-color:var(--vadea-danger)!important;background:var(--vadea-danger-soft)!important}
.consent-page .mini{border:1px solid var(--vadea-line)!important;border-radius:var(--vadea-radius-sm)!important;background:rgba(231,235,234,.38)!important}
.consent-page .field input,.consent-page .field select{border:1px solid var(--vadea-line-strong)!important;border-radius:var(--vadea-radius-sm)!important;background:var(--vadea-white)!important;color:var(--vadea-ink)!important}
.consent-page .field input:focus,.consent-page .field select:focus{border-color:var(--vadea-mist)!important;box-shadow:0 0 0 3px var(--vadea-mist-soft)!important}
.consent-page .acceptance{border:1px solid var(--vadea-line)!important;border-radius:var(--vadea-radius)!important;background:rgba(231,235,234,.38)!important}
.consent-page .acceptance:hover{border-color:var(--vadea-mist)!important}
.consent-page .acceptance input{accent-color:var(--vadea-ink)!important}
.consent-page .nav{border-top-color:var(--vadea-line)!important;background:rgba(231,235,234,.46)!important}
.consent-page .btn{border-radius:var(--vadea-radius-sm)!important;min-height:46px!important}
.consent-page .btn.secondary{border-color:var(--vadea-line-strong)!important;background:var(--vadea-white)!important;color:var(--vadea-ink)!important}
.consent-page .btn.primary{border-color:var(--vadea-ink)!important;background:var(--vadea-ink)!important;color:var(--vadea-ivory)!important}
.consent-page .btn.primary:hover{background:#173A5D!important}
.consent-page .review{border:1px solid rgba(77,111,96,.26)!important;border-radius:var(--vadea-radius)!important;background:var(--vadea-success-soft)!important}
.consent-page .review-title{color:var(--vadea-success)!important}
.consent-page .review-copy,.consent-page .review-data{color:var(--vadea-muted)!important}
.consent-page .status{color:var(--vadea-muted)!important}
.consent-page .status.error{color:var(--vadea-danger)!important}

/* PAYMENT CONFIRMATION */
.confirmation-page .page{max-width:1380px!important;padding:clamp(22px,4vw,60px)!important}
.confirmation-page header{border-bottom:1px solid var(--vadea-line);padding-bottom:20px}
.confirmation-page main{padding:clamp(70px,8vw,118px) 0!important}
.confirmation-page .confirmation{max-width:980px!important}
.confirmation-page .status-mark{width:68px!important;height:68px!important;border-radius:var(--vadea-radius)!important;background:var(--vadea-success-soft)!important;color:var(--vadea-success)!important;border:1px solid rgba(77,111,96,.18)}
.confirmation-page .status-mark.error{background:var(--vadea-danger-soft)!important;color:var(--vadea-danger)!important;border-color:rgba(139,69,69,.16)}
.confirmation-page .eyebrow{display:flex;align-items:center;gap:10px}
.confirmation-page h1{font-size:clamp(48px,6vw,78px)!important;line-height:1!important}
.confirmation-page .lead{font-family:var(--vadea-font-display);font-size:clamp(20px,1.9vw,25px)!important;line-height:1.45!important;letter-spacing:-.018em!important}
.confirmation-page .grid{gap:16px!important}
.confirmation-page .panel{border:1px solid var(--vadea-line)!important;border-radius:var(--vadea-radius)!important;background:rgba(255,255,255,.76)!important;box-shadow:none!important}
.confirmation-page .panel h2{font-size:21px!important;font-weight:600!important}
.confirmation-page .summary-row{border-top-color:var(--vadea-line)!important}
.confirmation-page .summary dt{color:var(--vadea-muted)!important}
.confirmation-page .approved{color:var(--vadea-success)!important}
.confirmation-page .steps li::before{border:1px solid var(--vadea-line-strong)!important;border-radius:6px!important;background:var(--vadea-ivory)!important;font-family:var(--vadea-font-display)!important}
.confirmation-page .button{border-radius:var(--vadea-radius-sm)!important;background:var(--vadea-ink)!important;color:var(--vadea-ivory)!important;border-color:var(--vadea-ink)!important}
.confirmation-page .button.secondary{background:transparent!important;color:var(--vadea-ink)!important}

@media(max-width:980px){
  .home-page .content{grid-template-columns:1fr;max-width:820px!important}
  .home-page .content::after{display:none}
  .home-page .eyebrow,.home-page h1,.home-page .intro,.home-page .note,.home-page .actions{grid-column:1}
  .home-page .intro{margin-top:38px!important}
  .home-page .note{max-width:620px!important}
  .booking-page .hero,.consent-page .layout{grid-template-columns:1fr!important}
  .booking-page .copy,.consent-page .intro{position:static!important;max-width:720px}
}

@media(max-width:620px){
  .wordmark img{width:112px}
  .home-page header,.booking-page header,.consent-page header,.confirmation-page header{padding-bottom:16px}
  .home-page .descriptor{font-size:11px!important;max-width:150px}
  .home-page main{padding:68px 0 80px!important}
  .home-page h1{font-size:clamp(46px,13.8vw,64px)!important}
  .home-page .intro{margin-top:32px!important}
  .booking-page .booking{padding:12px!important;border-radius:var(--vadea-radius)!important}
  .booking-page .therapist{padding-left:12px!important}
  .consent-page .journey{border-radius:var(--vadea-radius)!important}
  .consent-page .panel{padding:24px 18px!important}
  .consent-page .journey-top{padding:17px 18px!important}
  .consent-page .nav{padding:14px 18px!important}
}

@media(prefers-reduced-motion:reduce){
  .back::after{transition:none}
}