/* FisioPro V5.4 · sistema tipográfico accesible y compartido.
   Escala única de lectura y componentes; sin parches por página ni !important.
   Se preservan estructura, fotografías, animaciones, secciones y contenido V5.3. */

:root{--navy:#063D59;--deep:#06354E;--blue:#056A98;--blue2:#1281AB;--ice:#EFF8FB;--paper:#FFFFFF;--soft:#F6F9FA;--sky:#DCECF2;--line:#CFE0E8;--ink:#183F55;--muted:#496979;--white:#FFF;--magenta:#D749A9;--max:1240px;--fp-text-body:1.0625rem;--fp-text-card:1.0625rem;--fp-text-ui:1rem;--fp-text-secondary:.9375rem;--fp-text-label:.875rem;--fp-text-heading-card:1.3125rem}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:98px}body{margin:0;color:var(--ink);font:400 17px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;background:#fff;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}p,h1,h2,h3,figure{margin:0}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #C23A9C;outline-offset:4px}h1,h2,h3{line-height:1.12;letter-spacing:-.038em}h1{font-size:clamp(37px,4.5vw,65px);font-weight:750}h2{font-size:clamp(31px,3.1vw,46px);font-weight:740}h3{font-size:clamp(20px,1.6vw,24px)}.wrap{width:min(calc(100% - 72px),var(--max));margin:auto}.eyebrow{color:var(--blue);font-size:var(--fp-text-label);letter-spacing:.095em;font-weight:760;text-transform:uppercase}.kicker{font-size:var(--fp-text-label);color:#B9E6F0;font-weight:730;letter-spacing:.09em;text-transform:uppercase}.lead{font-size:clamp(17px,1.3vw,19px);color:var(--muted);line-height:1.57}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:var(--fp-text-ui);font-weight:700;background:var(--blue);color:white;padding:13px 21px;border-radius:6px;min-height:48px;transition:background .2s,transform .2s}.button:hover{background:#004C70;transform:translateY(-1px)}.textlink{display:inline-flex;align-items:center;gap:7px;text-underline-offset:5px;font-size:var(--fp-text-ui);font-weight:740;color:var(--blue);min-height:44px}.textlink:hover{text-decoration-thickness:2px}.section{padding:62px 0}.photo{overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.note{font-size:var(--fp-text-secondary);color:var(--muted)}.demo-label{font-size:var(--fp-text-label);color:#5A7585;margin-top:6px}svg{vertical-align:middle}
/* Header */
.sitehead{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}.headerbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap;text-decoration:none}.brand img{width:46px;height:46px;object-fit:contain}.brand b{display:block;color:var(--navy);font-size:19px;line-height:1.15;letter-spacing:-.025em}.brand small{display:block;color:var(--muted);font-size:var(--fp-text-secondary)}.site-nav{display:flex;align-items:center;gap:24px}.site-nav>a:not(.button){font-size:var(--fp-text-ui);text-decoration:none;font-weight:600}.site-nav>a:not(.button):hover{color:var(--blue)}.site-nav .button{padding:10px 16px;min-height:42px;font-size:var(--fp-text-ui)}.menubtn{display:none;border:1px solid var(--line);background:white;border-radius:7px;width:44px;height:44px;color:var(--navy);cursor:pointer}
/* Hero: asymmetry with photo as integral plane */
.hero{background:linear-gradient(125deg,#F4FAFC 12%,#F7FCFD 53%,#E6F4F8 100%)}.hero-inner{position:relative;min-height:632px;display:flex;align-items:center;padding-top:42px;padding-bottom:42px}.hero-photo{position:absolute;inset:0 0 0 45%;margin:0;overflow:hidden;border-radius:0 0 0 118px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#F4FAFC 0%,rgba(244,250,252,.83) 14%,rgba(244,250,252,.06) 43%,transparent 80%)}.hero-copy{position:relative;z-index:1;max-width:640px;width:60%;padding:26px 0}.hero h1{max-width:630px;margin:0 0 21px;color:var(--navy)}.hero h1 span{color:var(--blue)}.hero-desc{max-width:510px;font-size:var(--fp-text-body);line-height:1.57;margin-bottom:19px;color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.hero-facts{display:flex;gap:20px;flex-wrap:wrap;margin-top:26px;padding-top:17px;border-top:1px solid #C5DBE4;color:var(--navy);font-size:var(--fp-text-secondary);font-weight:600;max-width:550px}.hero-facts span::before{content:"";display:inline-block;vertical-align:middle;width:7px;height:7px;background:var(--blue);border-radius:50%;margin-right:8px}
/* Services: full-width list, no sidebar */
.services-head{display:block;max-width:850px;margin-bottom:24px}.services-head h2{max-width:none;margin:0}.services-head .lead{max-width:745px;margin-top:13px}.services-rows{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:94px minmax(230px,1.05fr) minmax(270px,1.15fr) 30px;gap:24px;align-items:center;padding:17px 4px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);transition:background .18s,padding .18s}.service-row:hover{background:#F0F8FB;padding-left:12px;padding-right:12px}.service-row img{width:94px;height:73px;object-fit:cover;border-radius:5px}.service-row h3{color:var(--navy);font-size:25px}.service-row p{color:var(--muted);font-size:var(--fp-text-card);line-height:1.5}.service-row .arrow{color:var(--blue);font-size:26px;text-align:right}.services-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:18px}.services-foot p{font-size:var(--fp-text-ui);color:var(--muted);max-width:775px}
/* Vestibular: vertical reportage with panoramic photo */
.vestibular{background:var(--deep);color:white;padding:44px 0 43px}.vestibular>.wrap{display:grid;grid-template-columns:minmax(0,1.82fr) minmax(280px,.85fr);column-gap:35px;align-items:stretch}.vest-header{grid-column:1/-1;display:block;max-width:910px;margin-bottom:25px}.vest-header h2{margin-top:0;font-size:clamp(33px,3.25vw,45px);max-width:875px}.vest-header h2 em{font-style:normal;color:#AEE1EF}.vest-header p{color:#D4EDF5;font-size:var(--fp-text-body);line-height:1.56;max-width:770px;margin-top:13px}.vest-photo{grid-column:1;grid-row:2;margin:0;height:310px;position:relative;overflow:hidden;border-radius:5px}.vest-photo img{width:100%;height:100%;object-fit:cover;object-position:center 33%}.vest-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,38,59,.16),transparent 72%)}.vest-foot{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:22px;min-height:310px;margin:0;padding:15px 0 8px;border-top:1px solid rgba(174,225,239,.45)}.symptoms{display:grid;grid-template-columns:1fr;gap:14px;flex:none;max-width:none}.symptoms span{display:flex;align-items:flex-start;gap:10px;color:#E7F4F8;font-size:var(--fp-text-ui);line-height:1.5;font-weight:540;padding:0;border:0;border-radius:0}.symptoms span::before{content:"";display:block;flex:0 0 5px;width:5px;height:5px;margin-top:.58em;background:#AEE1EF;border-radius:50%}.vest-foot .textlink{color:white;white-space:normal}
/* Daniel: portrait editorial atop, credentials span whole */
.daniel{background:#F8FBFC}.daniel-top{display:grid;grid-template-columns:285px 1fr;gap:43px;align-items:center}.portrait{height:278px;margin:0;overflow:hidden;border-radius:6px;position:relative}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 36%}.portrait .real{position:absolute;inset:0}.portrait-badge{position:absolute;left:9px;bottom:8px;padding:4px 7px;border-radius:3px;background:rgba(255,255,255,.93);font-size:var(--fp-text-label);color:#31596b}.daniel-intro h2{margin:9px 0 16px}.daniel-intro .lead{max-width:740px}.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-top:24px}.credential{padding:18px 25px 0 0}.credential+.credential{border-left:1px solid var(--line);padding-left:24px}.credential b{display:block;color:var(--blue);font-size:var(--fp-text-ui);margin-bottom:4px}.credential strong{display:block;color:var(--navy);font-size:var(--fp-text-card);line-height:1.3}.credential span{display:block;color:var(--muted);font-size:var(--fp-text-secondary);margin-top:3px}.credentials-note{margin-top:13px}
/* Process: connected steps, no image*/
.valuation{background:#EAF5F9}.valuation-top{display:block;max-width:850px;margin:0 auto;text-align:center}.valuation-top h2{max-width:none;margin:0}.valuation-top .lead{max-width:740px;margin:13px auto 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin:35px 0 17px;position:relative}.steps:before{content:"";height:2px;background:#8FBCCC;position:absolute;top:16px;left:13px;right:13px}.step{position:relative;padding-top:54px}.step .number{position:absolute;top:0;left:0;display:grid;place-items:center;background:var(--blue);width:34px;height:34px;border-radius:50%;color:white;font-size:var(--fp-text-label);font-weight:700;z-index:1}.step h3{margin-bottom:10px;color:var(--navy)}.step p{color:var(--muted);font-size:var(--fp-text-card);line-height:1.48}
/* Reviews strip */
.reviews{background:#F8FAFB;border-bottom:1px solid var(--line);padding:27px 0}.reviews-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:36px;align-items:center}.reviews h2{font-size:clamp(27px,2.35vw,35px);margin-top:4px}.reviews-slot{border-left:3px solid var(--sky);padding:8px 0 8px 24px;color:var(--muted);font-size:var(--fp-text-ui)}.reviews-slot strong{display:block;color:var(--blue);font-size:var(--fp-text-ui);margin-bottom:5px}.reviews-slot p{font-size:var(--fp-text-body);line-height:1.55;margin:0 0 14px}.reviews-slot .button{font-size:var(--fp-text-ui);min-height:48px;text-align:center}
/* Location: map dominant, address overlay */
.location{background:white}.location-top{display:block;max-width:805px;margin-bottom:22px}.location h2{margin-top:8px}.location-top .lead{max-width:730px;margin-top:12px;line-height:1.53}.maparea{height:318px;position:relative;overflow:hidden;border-radius:5px;background:linear-gradient(120deg,#E4ECE7,#D6E6E8)}.maparea:before{content:"Mapa interactivo de FisioPro · Puebla";position:absolute;top:45%;left:20%;font-size:17px;font-weight:650;color:#69828b}.maparea iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.location-panel{position:absolute;right:18px;bottom:18px;width:315px;background:white;padding:19px 19px 17px;box-shadow:0 8px 35px #183C4B26;border-radius:5px;z-index:2}.location-panel h3{font-size:20px;margin:5px 0}.location-panel address{font-style:normal;color:var(--muted);font-size:var(--fp-text-ui);margin-bottom:14px}.location-panel .button{font-size:var(--fp-text-ui);min-height:40px;padding:9px 15px}
/* Agenda: center first then horizontal slot */
.booking{background:var(--deep);color:white;padding:48px 0 55px}.booking-heading{text-align:center;max-width:775px;margin:0 auto 22px}.booking-heading h2{font-size:clamp(30px,3.2vw,45px);margin:0 0 8px}.booking-heading p{font-size:var(--fp-text-body);color:#D7EAF0}.booking-price{font-weight:750;font-size:27px;color:#fff;margin-top:7px}.booking-flex{max-width:870px;margin:0 auto;padding:18px 20px;background:white;color:var(--ink);border-radius:6px;display:grid;grid-template-columns:210px 1fr;gap:23px;align-items:center}.booking-flex .button{font-size:var(--fp-text-ui);min-height:42px}.calendar-shell strong{font-size:var(--fp-text-ui);display:block;color:var(--navy);margin-bottom:7px}.calendar-shell p{font-size:var(--fp-text-body);line-height:1.55;color:var(--muted);margin:0 0 13px}.calendar-shell .button{font-size:var(--fp-text-ui);min-height:48px;text-align:center}
/* FAQ: centered single column */
.faq{background:#FFFFFF;padding:55px 0 65px}.faq-inner{max-width:890px;margin:auto}.faq-heading{text-align:center;margin-bottom:25px}.faq-heading h2{margin:7px 0 9px}.faq-heading p{color:var(--muted);font-size:var(--fp-text-body)}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;position:relative;cursor:pointer;padding:16px 42px 16px 2px;color:var(--navy);font-size:var(--fp-text-body);font-weight:680;min-height:56px}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:7px;top:12px;font-size:25px;font-weight:400;color:var(--blue)}details[open] summary:after{content:"−"}details p{font-size:var(--fp-text-body);color:var(--muted);padding:0 42px 18px 2px;max-width:760px}
.footer{background:#082F46;color:white;padding:24px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer strong{font-size:18px}.footer p{font-size:var(--fp-text-secondary);color:#BCD7E2}.footer nav{display:flex;gap:22px;flex-wrap:wrap}.footer a{font-size:var(--fp-text-secondary);color:#E6F1F4;text-decoration:none}.footer a:hover{text-decoration:underline}
@media(max-width:1020px){.wrap{width:min(calc(100% - 46px),var(--max))}.site-nav{gap:13px}.site-nav>a:not(.button){font-size:var(--fp-text-ui)}.hero-inner{min-height:610px}.hero-photo{left:41%}.hero-copy{width:64%}.service-row{grid-template-columns:83px 1fr 1.05fr 20px;gap:14px}.service-row img{width:83px;height:69px}.service-row h3{font-size:21px}.vest-header{gap:25px}.daniel-top{grid-template-columns:236px 1fr;gap:25px}.portrait{height:260px}}
@media(max-width:820px){html{scroll-padding-top:79px}.wrap{width:min(calc(100% - 36px),var(--max))}body{font-size:var(--fp-text-body)}.section{padding:42px 0}.sitehead .headerbar{min-height:66px}.brand img{width:40px;height:40px}.brand b{font-size:17px}.brand small{font-size:var(--fp-text-secondary)}.menubtn{display:grid;place-items:center}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 18px 17px;background:white;box-shadow:0 20px 27px #07375026;border-bottom:1px solid var(--line)}.site-nav[data-open="true"]{display:flex}.site-nav>a:not(.button){font-size:var(--fp-text-ui);padding:12px 10px;border-bottom:1px solid #EBF1F4}.site-nav .button{margin-top:10px}.hero-inner{display:flex;flex-direction:column-reverse;align-items:stretch;min-height:0;padding-top:26px;padding-bottom:0}.hero-photo{position:relative;inset:auto;height:255px;width:calc(100% + 36px);margin:23px -18px 0;border-radius:0;overflow:hidden}.hero-photo:after{background:linear-gradient(0deg,#EAF6F9,transparent 24%)}.hero-photo img{object-position:center 37%}.hero-copy{width:100%;max-width:none;padding:0}.hero h1{font-size:clamp(34px,8.4vw,49px);margin:0 0 12px;max-width:650px}.hero-desc{font-size:var(--fp-text-body);line-height:1.46;max-width:620px;margin-bottom:12px}.hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:5px;flex-wrap:nowrap}.hero-actions .button{flex:none;width:100%;white-space:normal;font-size:15px;line-height:1.4;padding:12px 16px;min-height:48px}.hero-actions .textlink{flex:none;align-self:flex-start;white-space:normal;font-size:15px;line-height:1.4;min-height:42px}.hero-facts{margin-top:11px;padding-top:10px;gap:8px 17px;font-size:var(--fp-text-secondary)}.eyebrow{font-size:var(--fp-text-label)}.services-head{display:block;margin-bottom:18px}.services-head h2{margin-bottom:12px}.services-head .lead{font-size:16px}.service-row{grid-template-columns:72px minmax(0,1fr) 20px;grid-template-rows:auto auto;align-items:start;gap:3px 14px;padding:13px 2px}.service-row img{grid-column:1;grid-row:1/3;width:72px;height:70px}.service-row h3{grid-column:2;grid-row:1;font-size:19px;margin-bottom:1px}.service-row p{grid-column:2;grid-row:2;font-size:var(--fp-text-card);line-height:1.44}.service-row .arrow{grid-column:3;grid-row:1/3;align-self:center}.services-foot{display:block;margin-top:16px}.services-foot p{font-size:var(--fp-text-ui);margin-bottom:6px}.vestibular{padding:42px 0 37px}.vestibular>.wrap{grid-template-columns:1fr;column-gap:0}.vest-header{grid-column:1;max-width:none;margin-bottom:18px}.vest-header h2{font-size:34px;margin:8px 0 12px}.vest-header p{font-size:var(--fp-text-body);margin-top:0}.vest-photo{grid-column:1;grid-row:auto;height:clamp(215px,43vw,295px)}.vest-photo img{object-position:center 45%}.vest-foot{grid-column:1;grid-row:auto;display:block;min-height:0;padding:0;border-top:0;margin-top:19px}.symptoms{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 16px;max-width:none;margin-bottom:17px}.symptoms span{font-size:var(--fp-text-ui)}.daniel-top{grid-template-columns:143px 1fr;gap:17px;align-items:start}.portrait{height:190px}.portrait-badge{font-size:var(--fp-text-label);max-width:125px;line-height:1.2}.daniel-intro h2{font-size:29px;margin:7px 0 8px}.daniel-intro .lead{font-size:14.5px;line-height:1.43}.credentials{margin-top:19px;grid-template-columns:1fr;gap:0}.credential,.credential+.credential{display:grid;grid-template-columns:83px 1fr;border-left:0;border-bottom:1px solid var(--line);padding:12px 0 10px;gap:12px}.credential b{margin:0}.credentials-note{margin-top:9px}.valuation-top{display:block}.valuation-top h2{margin:0 0 12px}.valuation-top .lead{font-size:15.5px}.steps{display:block;margin:20px 0}.steps:before{left:17px;top:11px;right:auto;bottom:20px;height:auto;width:2px}.step{padding:1px 0 23px 57px;min-height:78px}.step .number{top:0;left:0}.step h3{font-size:19px;margin:2px 0 5px}.step p{font-size:var(--fp-text-card)}.reviews{padding:26px 0}.reviews-layout{display:block}.reviews-slot{margin-top:12px;padding:9px 0 9px 15px}.location-top{display:block}.location-top .lead{margin-top:10px;font-size:15px}.maparea{height:auto;min-height:0;overflow:visible;margin-bottom:0;background:transparent;display:flex;flex-direction:column;gap:12px}.maparea:before{display:none}.maparea iframe{display:block;position:relative;inset:auto;flex:none;width:100%;height:250px;border-radius:5px;background:#E4ECE7}.location-panel{position:relative;inset:auto;width:100%;padding:16px;border:1px solid var(--line);box-shadow:none}.location-panel h3{font-size:19px}.location-panel address{margin-bottom:8px}.booking{padding:41px 0 45px}.booking-heading{margin-bottom:18px}.booking-heading h2{font-size:33px}.booking-flex{display:flex;flex-direction:column;align-items:stretch;gap:15px;padding:16px}.booking-action{display:flex;justify-content:center}.booking-action .button{width:100%;min-height:48px}.calendar-shell{width:100%}.faq{padding:43px 0 50px}.faq-heading{text-align:left}.faq-heading h2{font-size:34px}summary{font-size:var(--fp-text-body)}.footer-inner{display:block}.footer nav{margin-top:11px;gap:10px 19px}}
@media(max-width:600px){.daniel-top{display:flex;flex-direction:column;align-items:stretch;gap:16px}.portrait{width:min(100%,360px);height:238px}.daniel-intro h2{margin:7px 0 10px;font-size:31px}.daniel-intro .lead{font-size:16px;line-height:1.48}.symptoms{grid-template-columns:1fr;gap:10px}}
@media(max-width:440px){.hero h1{font-size:35px}.hero-photo{height:230px}.daniel-top{gap:16px}.portrait{height:220px}.daniel-intro h2{font-size:30px}.daniel-intro .lead{font-size:16px;line-height:1.48}.vest-header h2{font-size:32px}.brand small{max-width:186px;white-space:normal}}
@media(max-width:360px){
.service-row{grid-template-columns:64px minmax(0,1fr) 18px;grid-template-rows:auto auto;column-gap:10px;row-gap:7px;align-items:center;padding:12px 2px 15px}
.service-row img{grid-column:1;grid-row:1;width:64px;height:57px}
.service-row h3{grid-column:2;grid-row:1;font-size:19px;line-height:1.2;margin:0}
.service-row .arrow{grid-column:3;grid-row:1;align-self:center;font-size:23px}
.service-row p{grid-column:1 / -1;grid-row:2;margin:0;font-size:var(--fp-text-card);line-height:1.45}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* V7: small-screen first impression and accessibility polish; preserves approved layouts */
@media (max-width:820px){
  /* Break hero into explicit content sequence: intro -> headline -> explanation -> CTA -> photo -> practical info. */
  .hero-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
  .hero-copy{display:contents}
  .hero-copy>h1{grid-row:1}
  .hero-copy>.hero-desc{grid-row:2}
  .hero-copy>.hero-actions{grid-row:3}
  .hero-photo{grid-row:4;margin-top:16px;margin-bottom:0}
  .hero-copy>.hero-facts{grid-row:5;margin:0;padding:12px 0 15px;border-top:0}
  .hero-actions .textlink{align-self:flex-start}
  .service-row{scroll-margin-top:90px}
}
@media (max-width:440px){
  .hero-desc{line-height:1.49}
  .hero-photo{height:210px}
  .service-row h3{overflow-wrap:normal}
}
@media (max-width:360px){
  .hero h1{font-size:33px}
  .hero-photo{height:180px}
  .eyebrow,.kicker{letter-spacing:.055em}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto;animation-duration:0.01ms;transition-duration:0.01ms}
}

/* Solo para el archivo de revisión navegable; no se carga en el sitio WordPress */
#home-content[hidden],#legal-pages[hidden],.fp-legal[hidden]{display:none}
body.fp-legal-page .fp-legal{background:#fff;color:var(--ink)}
body.fp-legal-page .fp-legal-article h2{scroll-margin-top:120px}
body.fp-legal-page .fp-legal-toc a[aria-current="location"],body.fp-legal-page .fp-legal-toc-mobile a[aria-current="location"]{color:var(--blue);font-weight:750}
/* Legal-document layout, derived from FisioPro Home V7.3 tokens and components. */
.fp-legal-page .fp-legal{background:#fff; color:var(--ink);}
.fp-legal-page .fp-legal-hero{background:linear-gradient(125deg,#F4FAFC 12%,#F7FCFD 53%,#E6F4F8 100%); border-bottom:1px solid var(--line)}
.fp-legal-page .fp-legal-hero-inner{padding:70px 0 64px;max-width:1240px}
.fp-legal-page .fp-legal-hero h1{max-width:990px;color:var(--navy);font-size:clamp(37px,4vw,58px);line-height:1.08}
.fp-legal-page .fp-legal-intro{max-width:800px;margin-top:21px}
.fp-legal-page .fp-legal-intro p{color:var(--muted);font-size:clamp(17px,1.4vw,19px);line-height:1.6}
.fp-legal-page .fp-legal-layout{display:grid;grid-template-columns:minmax(180px,230px) minmax(0,780px);column-gap:clamp(42px,5vw,85px);align-items:start;padding-top:60px;padding-bottom:94px;max-width:1240px}
.fp-legal-page .fp-legal-sidebar{min-width:0}
.fp-legal-page .fp-legal-toc{position:sticky;top:110px;border-top:2px solid var(--blue);padding-top:20px}
.fp-legal-page .fp-legal-toc strong{display:block;color:var(--navy);font-weight:750;font-size:var(--fp-text-ui);margin-bottom:14px}
.fp-legal-page .fp-legal-toc ol{list-style:none;margin:0;padding:0}
.fp-legal-page .fp-legal-toc li{margin:0}
.fp-legal-page .fp-legal-toc a{display:block;padding:8px 4px 8px 0;color:var(--muted);font-size:var(--fp-text-ui);line-height:1.4;text-decoration:none;transition:color .2s}
.fp-legal-page .fp-legal-toc a:hover,.fp-legal-page .fp-legal-toc a:focus-visible{color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.fp-legal-page .fp-legal-toc-mobile{display:none}
.fp-legal-page .fp-legal-article{max-width:780px;min-width:0}
.fp-legal-page .fp-legal-article h2{scroll-margin-top:118px;border-top:1px solid var(--line);padding-top:29px;margin:36px 0 14px;color:var(--navy);font-size:clamp(23px,2vw,28px);font-weight:730;letter-spacing:-.027em;line-height:1.25}
.fp-legal-page .fp-legal-article h2:first-child{border-top:0;margin-top:0;padding-top:0}
.fp-legal-page .fp-legal-article p,.fp-legal-page .fp-legal-article li{font-size:var(--fp-text-body);line-height:1.68;color:var(--ink);overflow-wrap:break-word}
.fp-legal-page .fp-legal-article p{margin:0 0 16px}
.fp-legal-page .fp-legal-article a{color:var(--blue);text-underline-offset:3px}
.fp-legal-page .fp-legal-article ul{margin:6px 0 25px;padding-left:26px}
.fp-legal-page .fp-legal-article li{padding-left:4px;margin-bottom:12px}
.fp-legal-page .fp-legal-article li::marker{color:var(--blue)}
.fp-legal-page .fp-legal-article > p:last-child{font-size:var(--fp-text-secondary);color:var(--muted);margin-top:25px}
@media(max-width:960px){
 .fp-legal-page .fp-legal-layout{grid-template-columns:195px minmax(0,1fr);gap:32px}
 .fp-legal-page .fp-legal-hero-inner{padding:54px 0 52px}
}
@media(max-width:820px){
 .fp-legal-page .fp-legal-layout{display:block;padding-top:36px;padding-bottom:66px}
 .fp-legal-page .fp-legal-hero-inner{padding:47px 0 40px}
 .fp-legal-page .fp-legal-hero h1{font-size:clamp(33px,7.9vw,47px)}
 .fp-legal-page .fp-legal-intro{margin-top:16px}
 .fp-legal-page .fp-legal-toc{display:none}
 .fp-legal-page .fp-legal-toc-mobile{display:block;margin-bottom:33px;border:1px solid var(--line);border-radius:5px;background:var(--soft)}
 .fp-legal-page .fp-legal-toc-mobile summary{font-size:var(--fp-text-ui);font-weight:700;padding:15px 42px 15px 15px;min-height:50px;color:var(--navy)}
 .fp-legal-page .fp-legal-toc-mobile summary::after{top:10px}
 .fp-legal-page .fp-legal-toc-mobile nav{padding:0 15px 13px}
 .fp-legal-page .fp-legal-toc-mobile ol{list-style:none;margin:0;padding:0}
 .fp-legal-page .fp-legal-toc-mobile a{display:block;padding:8px 0;color:var(--blue);font-size:var(--fp-text-ui);text-decoration:none}
 .fp-legal-page .fp-legal-article h2{font-size:24px;scroll-margin-top:90px;margin:31px 0 14px;padding-top:26px}
 .fp-legal-page .fp-legal-article p,.fp-legal-page .fp-legal-article li{font-size:var(--fp-text-body);line-height:1.62}
}
@media(max-width:440px){
 .fp-legal-page .fp-legal-hero-inner{padding:39px 0 36px}
 .fp-legal-page .fp-legal-hero h1{font-size:35px}
 .fp-legal-page .fp-legal-intro p{font-size:clamp(17px,1.4vw,19px);line-height:1.52}
 .fp-legal-page .fp-legal-article h2{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.fp-legal-page .fp-legal-toc a{transition:none}}

/* Keep anchored legal headings and sticky index below the WordPress toolbar. */
body.admin-bar.fp-legal-page .fp-legal-toc{top:142px}
body.admin-bar.fp-legal-page .fp-legal-article h2{scroll-margin-top:156px}
@media(max-width:820px){body.admin-bar.fp-legal-page .fp-legal-article h2{scroll-margin-top:150px}}
@media(max-width:600px){body.admin-bar.fp-legal-page .fp-legal-article h2{scroll-margin-top:112px}}



/* Shared page architecture: all three specialties use identical markup and these exact rules. */
#specialty-pages[hidden],.fp-specialty[hidden]{display:none}
.fp-specialty [id]{scroll-margin-top:98px}
.fp-specialty-hero{background:linear-gradient(123deg,#EFF8FB 0%,#F7FAFB 62%,#E7F1F5 100%);overflow:hidden}
.fp-specialty-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(30px,5vw,74px);padding-top:clamp(35px,5vw,72px);padding-bottom:clamp(40px,5vw,78px)}
.fp-specialty-hero-copy{min-width:0}.fp-back{color:var(--blue);display:inline-flex;align-items:center;gap:8px;margin-bottom:30px;text-decoration:none;font-size:var(--fp-text-ui);font-weight:700}.fp-back:hover{text-decoration:underline}
.fp-specialty-hero h1{font-size:clamp(2.2rem,3.85vw,3.7rem);line-height:1.07;letter-spacing:-.047em;color:var(--navy);max-width:790px;text-wrap:balance}
.fp-specialty-lead{color:var(--ink);font-size:clamp(1.03rem,1.5vw,1.17rem);line-height:1.65;max-width:650px;margin-top:20px}
.fp-specialty-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:23px}.fp-specialty-pills span{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:30px;font-size:var(--fp-text-secondary);font-weight:650;padding:7px 13px}
.fp-specialty-cta{display:flex;align-items:center;gap:18px 23px;flex-wrap:wrap;margin-top:23px}.fp-specialty-cta .textlink{font-size:var(--fp-text-ui)}
.fp-specialty-hero-figure{min-height:390px;max-height:530px;border-radius:0;overflow:hidden;align-self:stretch;position:relative}.fp-specialty-hero-figure>img{width:100%;height:100%;object-fit:cover;object-position:center;min-height:390px}
.fp-specialty-hero-figure:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30%;background:linear-gradient(0deg,rgba(6,61,89,.12),transparent);pointer-events:none}
.fp-section-intro{display:block;max-width:900px;margin-bottom:34px}.fp-section-intro h2{color:var(--navy);font-size:clamp(1.85rem,3.2vw,3rem);letter-spacing:-.04em;line-height:1.16;margin:0 0 14px}.fp-section-intro p.lead{color:var(--muted);font-size:var(--fp-text-body);line-height:1.7;max-width:830px;margin:0}
.fp-specialty-needs{background:#fff}.fp-symptoms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fp-symptom{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;border-top:3px solid #1281AB;padding:22px 17px 20px;background:#F5FAFC;min-width:0}.fp-symptom-mark{display:inline-flex;align-items:center;justify-content:center;color:var(--blue);font-weight:800;border:1px solid #C5DFEB;border-radius:100%;width:31px;height:31px;font-size:var(--fp-text-label);margin-bottom:17px}.fp-symptom h3{color:var(--navy);font-size:var(--fp-text-heading-card);line-height:1.25;letter-spacing:-.02em}.fp-symptom p{color:var(--muted);font-size:var(--fp-text-card);line-height:1.65;margin-top:13px}
.fp-specialty-explain{background:var(--navy);color:#EAF5F8}.fp-explain-grid{display:block;max-width:900px}.fp-explain-head h2{color:#fff;font-size:clamp(1.95rem,3vw,3.15rem);line-height:1.15;letter-spacing:-.04em;margin:0}.fp-explain-rule{height:3px;width:75px;background:var(--blue2);margin:21px 0 23px}.fp-explain-body{font-size:1.075rem;line-height:1.78;max-width:850px}.fp-explain-body p{color:#EAF5F8;margin-bottom:19px}.fp-explain-body h3{color:#fff;font-size:clamp(1.35rem,2vw,1.75rem);margin:30px 0 14px;line-height:1.25}
.fp-specialty-treatment{background:#F6F9FA}.fp-techniques{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.fp-technique{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0;background:white;border:1px solid var(--line);padding:27px 30px;min-width:0}.fp-technique h3{color:var(--navy);font-size:var(--fp-text-heading-card);line-height:1.24;margin-top:0}.fp-technique p{margin-top:13px;color:var(--muted);font-size:var(--fp-text-card);line-height:1.67}.fp-clinical-note{color:var(--muted);font-size:var(--fp-text-ui);margin-top:24px;max-width:820px}
.fp-specialty-faq{background:#fff}
.fp-specialty .booking{scroll-margin-top:98px}
@media(max-width:920px){.fp-specialty-hero-grid{gap:24px}.fp-specialty-hero-figure{min-height:350px}.fp-specialty-hero-figure>img{min-height:350px}.fp-symptoms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.fp-specialty-hero-grid{grid-template-columns:1fr;gap:29px;padding-top:30px;padding-bottom:42px}.fp-back{margin-bottom:22px}.fp-specialty-hero h1{font-size:clamp(2.05rem,9.1vw,3rem)}.fp-specialty-lead{margin-top:20px}.fp-specialty-hero-figure{min-height:230px;max-height:350px;align-self:auto}.fp-specialty-hero-figure>img{min-height:230px;max-height:350px;object-position:center}.fp-section-intro{margin-bottom:25px}.fp-section-intro h2{margin-bottom:12px}.fp-explain-rule{margin:17px 0 19px}.fp-symptoms{grid-template-columns:1fr;gap:10px}.fp-symptom{padding:19px 14px}.fp-symptom h3{font-size:var(--fp-text-heading-card)}.fp-symptom p{font-size:var(--fp-text-card)}.fp-techniques{grid-template-columns:1fr;gap:11px}.fp-technique{padding:22px}.fp-specialty-pills{gap:7px}.fp-specialty-pills span{font-size:var(--fp-text-secondary);padding:6px 10px}.fp-specialty-cta{align-items:flex-start;gap:18px}.fp-explain-head h2{font-size:clamp(1.85rem,8vw,2.5rem)}}
@media(max-width:360px){.fp-symptoms{grid-template-columns:1fr}.fp-specialty-hero .button{font-size:.95rem}}



/* Independent First Valuation page: uses the Home V7.3 typography, colors and shared blocks */
#first-visit-content[hidden]{display:none}
.fp-first-page [id]{scroll-margin-top:98px}
.fp-first-page .fp-specialty-hero-figure>img{object-position:center 41%}
.fp-first-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-top:24px;color:var(--ink);font-size:var(--fp-text-body)}
.fp-first-price strong{font-size:clamp(24px,2.4vw,34px);font-weight:760;letter-spacing:-.035em;color:var(--navy)}
.fp-first-preparation{background:#F6F9FA}
.fp-first-prep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fp-first-prep-item{background:#fff;border:1px solid var(--line);padding:26px 24px;min-width:0}
.fp-first-prep-item h3{color:var(--navy);margin-bottom:16px}
.fp-first-prep-item p{color:var(--muted);font-size:var(--fp-text-body);line-height:1.63}
@media(max-width:900px){.fp-first-prep-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.fp-first-prep-grid{grid-template-columns:1fr}.fp-first-prep-item{padding:23px 20px}}
@media(max-width:820px){.fp-first-page [id]{scroll-margin-top:78px}}

/* Stable global menu. The active page is indicated without a tab/button state. */
.site-nav > a:not(.button)[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1.5px}
.site-nav > a.button[aria-current="page"]{background:var(--navy);color:#fff}

/* FisioPro V7.3 — recursos visuales originales y fotografías entregadas por el cliente.
   Cambios limitados a imágenes y sus contenedores; no cambia texto, layout global ni navegación. */


#servicios img.fp-service-art{object-fit:contain;object-position:center;mix-blend-mode:normal;background:#F2F8FB;padding:4px}
figure.portrait img.fp-real-portrait{width:100%;height:100%;object-fit:cover;object-position:center 35%}



/* Ilustraciones anatómicas con jerarquía secundaria al contenido clínico. */
.fp-specialty-explain .fp-explain-grid{
 display:grid;grid-template-columns:minmax(0,1fr) 225px;column-gap:clamp(24px,4vw,55px);align-items:start;max-width:1140px;
}
.fp-specialty-explain .fp-explain-head{grid-column:1;grid-row:1}
.fp-specialty-explain .fp-explain-body{grid-column:1;grid-row:2}
.fp-specialty-info-figure{
 grid-column:2;grid-row:1/span 2;
 margin:0;align-self:center;display:grid;place-items:center;
 background:rgba(245,251,253,.96);border:1px solid rgba(202,227,239,.33);
 border-radius:10px;min-height:224px;padding:22px;
}
.fp-specialty-info-figure img{width:100%;max-width:215px;height:auto;max-height:235px;object-fit:contain}

/* Iconografía discreta alineada con los encabezados de las tarjetas de técnicas. */
.fp-technique h3{display:flex;align-items:flex-start;gap:13px}
.fp-technique .fp-treatment-icon{width:42px;height:42px;flex:0 0 42px;object-fit:contain;display:block}

@media(max-width:920px){
 .fp-specialty-explain .fp-explain-grid{grid-template-columns:minmax(0,1fr) 180px;gap:0 24px}
 .fp-specialty-info-figure{min-height:200px;padding:14px}
}

@media(max-width:680px){
 .fp-specialty-explain .fp-explain-grid{display:block}
 .fp-specialty-info-figure{margin:16px 0 0;min-height:0;width:min(100%,235px);padding:14px}
 .fp-specialty-info-figure img{max-width:200px;max-height:180px}
 .fp-technique .fp-treatment-icon{width:34px;height:34px;flex-basis:34px}
 .fp-technique h3{gap:10px}
}



/* Coherencia: primera valoración usa el mismo formato de portada que especialidades. */
#pv-inicio .fp-specialty-hero-figure>img{object-fit:cover;object-position:center 44%}


