/* Source: site.css */
:root{--ink:#173f49;--ink-dark:#102e36;--mint:#e7f2ef;--sand:#f7f5ef;--accent:#a9c95d;--line:#d5e0dc;--white:#fff;--max:1160px;--shadow:0 16px 36px rgba(16,46,54,.08)}*{box-sizing:border-box;border-radius:0!important}html{scroll-behavior:smooth}body{margin:0;color:#24343a;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}img{max-width:100%;height:auto}a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:#587c35}button,.button{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:.72rem 1.1rem;cursor:pointer;font:inherit;text-decoration:none}button:hover,.button:hover{background:var(--ink-dark);color:#fff}.site-container{width:min(calc(100% - 3rem),var(--max));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:0}.skip-link:focus{left:1rem;top:1rem;z-index:10;background:#fff;padding:.75rem;border:1px solid var(--ink)}.topbar{background:var(--ink);color:#fff;font-size:.78rem;letter-spacing:.01em}.topbar a{color:#fff}.topbar-inner{min-height:38px;display:flex;justify-content:space-between;gap:1rem;align-items:center}.contact-strip,.social-links{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.masthead{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line)}.brand{display:block;width:min(260px,48vw);line-height:0}.brand img{display:block;width:100%;height:auto}.main-nav{display:flex;align-items:center;gap:clamp(.65rem,1.5vw,1.45rem);font-size:.92rem}.main-nav a,.search-toggle{color:var(--ink);text-decoration:none;background:transparent;border:0;padding:.45rem 0}.main-nav a:hover,.search-toggle:hover{color:#6d923e;background:transparent}.menu-toggle{display:none}.search-panel{padding:1rem 0 1.3rem;border-bottom:1px solid var(--line)}.search-panel label{display:block;font-weight:700;margin-bottom:.35rem}.search-row{display:flex;gap:.6rem}.search-row input{flex:1;min-width:0;border:1px solid #aebfba;padding:.72rem;font:inherit}.content-shell{padding-bottom:5rem}.page-hero{padding:4rem 0 2.3rem;border-bottom:1px solid var(--line);margin-bottom:3rem}.page-hero.compact{padding-bottom:1.5rem}.page-hero h1{font-size:clamp(2rem,4vw,3.7rem);line-height:1.08;letter-spacing:-.04em;color:var(--ink);max-width:18ch;margin:.2rem 0 1rem}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800;color:#6d923e}.breadcrumbs{display:flex;gap:.55rem;flex-wrap:wrap;color:#67777b;font-size:.85rem}.breadcrumbs a{color:#67777b}.content-area{min-width:0}.prose{font-size:1.03rem}.prose p,.prose li{text-align:justify;hyphens:auto}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--ink);line-height:1.2;letter-spacing:-.02em}.prose h2{font-size:clamp(1.55rem,2.8vw,2.25rem);margin-top:2.2rem}.prose strong,.prose b{color:var(--ink-dark);font-weight:800}.prose>img,.prose img.aligncenter,.prose img.alignleft{display:block;margin:1.3rem auto}.prose img.alignleft{float:left;margin:0 2rem 1rem 0}.prose .one-half{display:inline-block;vertical-align:top;width:calc(50% - 1rem);margin-right:1.5rem}.prose .one-half.column-last{margin-right:0}.fusion-fullwidth{width:100%;margin:0 auto}.fusion-row{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}.fusion_builder_column{min-width:0}.fusion_builder_column_1_1{flex-basis:100%}.fusion_builder_column_1_2{flex:1 1 calc(50% - .75rem)}.fusion_builder_column_1_3{flex:1 1 calc(33.333% - 1rem)}.fusion_builder_column_2_3{flex:2 1 calc(66.666% - .75rem)}.fusion_builder_column_1_4{flex:1 1 calc(25% - 1.2rem)}.fusion_builder_column_3_4{flex:3 1 calc(75% - .3rem)}.fusion_builder_column_1_5{flex:1 1 calc(20% - 1.2rem)}.fusion_builder_column_2_5{flex:2 1 calc(40% - 1rem)}.fusion_builder_column_3_5{flex:3 1 calc(60% - .8rem)}.fusion_builder_column_4_5{flex:4 1 calc(80% - .4rem)}.fusion-column-wrapper{height:100%}.fusion-fullwidth.fusion-parallax-up{min-height:460px;display:flex;align-items:center;padding:5rem 0!important;background-position:center;background-size:cover}.fusion-parallax-up h1{font-size:clamp(2rem,5vw,4rem);line-height:1.05}.fusion-parallax-up p{color:#fff}.fusion-bg-parallax{display:none}.fusion-aligncenter{text-align:center}.fusion-separator{border-bottom:1px solid rgba(255,255,255,.7);margin:1rem auto}.fusion-button{display:inline-block;padding:.8rem 1.15rem;color:#fff!important;text-decoration:none;border:1px solid rgba(255,255,255,.8)}.fusion-gallery-container{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fusion-grid-column{width:auto!important;padding:0!important}.fusion-gallery-image a{display:block}.fusion-gallery-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.fusion-element-portrait img{aspect-ratio:3/4}.pricing-table-1{border:1px solid var(--line);background:var(--sand);padding:1rem}.pricing-table-1 .panel-container,.pricing-table-1 .panel-heading,.pricing-table-1 .panel-body,.pricing-table-1 .panel-footer{border-color:var(--line)!important}.pricing-table-1 .panel-heading,.pricing-table-1 .panel-body,.pricing-table-1 .panel-footer{padding:1rem}.pricing-table-1 ul{padding-left:1.2rem}.accordion{border-top:1px solid var(--line)}.accordion>div{border-bottom:1px solid var(--line)}.accordion-title{display:block;padding:1rem 2rem 1rem 0;font-weight:800;color:var(--ink);position:relative}.accordion-title:after{content:'+';position:absolute;right:.25rem}.accordion>div.is-open .accordion-title:after{content:'–'}.accordion-inner{display:none;padding:0 1rem 1rem 0}.accordion>div.is-open .accordion-inner{display:block}.wpcf7 form{display:grid;gap:.45rem}.wpcf7 input,.wpcf7 textarea{width:100%;border:1px solid #aebfba;padding:.7rem;font:inherit}.wpcf7 textarea{min-height:150px}.wpcf7 input[type=submit]{width:auto;background:var(--ink);color:#fff;cursor:pointer}.blog-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.post-card{border:1px solid var(--line);padding:1.35rem;background:#fff;box-shadow:var(--shadow)}.post-card h2{font-size:1.35rem;line-height:1.18;margin:.55rem 0}.post-card h2 a{text-decoration:none}.post-card time{font-size:.8rem;color:#68777a}.post-card p{margin-bottom:1rem}.article-meta{color:#68777a;font-size:.86rem}.post-content{max-width:900px}.post-content>p:first-child img{display:block;margin:0 auto 2rem}.search-results{display:grid;gap:1rem}.search-result{border-bottom:1px solid var(--line);padding-bottom:1rem}.search-result h2{margin:.2rem 0;font-size:1.35rem}.not-found-body{padding:3rem 0 6rem}.site-footer{background:var(--ink);color:#e9f0ee}.site-footer a{color:#e9f0ee}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1.2fr;gap:3rem;padding:3rem 0}.site-footer h2{color:#fff;font-size:.85rem;letter-spacing:.12em;margin:0 0 1rem}.site-footer p{margin:.25rem 0}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:.4rem 0}.footer-action{display:inline-block;margin-top:.7rem;border:1px solid rgba(255,255,255,.55);padding:.55rem .8rem;text-decoration:none}.footer-subheading{margin-top:2rem!important}.recent-posts a{text-decoration:none}.footer-bottom{border-top:1px solid rgba(255,255,255,.2)}.footer-bottom-inner{padding:1rem 0;display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.8rem}.lightbox{border:1px solid #fff;background:#0f262b;padding:3rem;max-width:min(90vw,1000px);max-height:90vh}.lightbox::backdrop{background:rgba(0,0,0,.75)}.lightbox img{max-height:75vh;width:auto}.lightbox button{position:absolute;right:.5rem;top:.5rem;background:transparent;border:0;font-size:2rem;padding:.2rem;color:#fff}@media(max-width:800px){.site-container{width:min(calc(100% - 2rem),var(--max))}.topbar-inner{align-items:flex-start;padding:.55rem 0}.social-links{font-size:.78rem}.masthead{min-height:86px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;z-index:4;top:124px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:1rem;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.main-nav.is-open{display:flex}.prose .one-half,.fusion_builder_column_1_2,.fusion_builder_column_1_3,.fusion_builder_column_2_3,.fusion_builder_column_1_4,.fusion_builder_column_3_4,.fusion_builder_column_1_5,.fusion_builder_column_2_5,.fusion_builder_column_3_5,.fusion_builder_column_4_5{flex-basis:100%;width:100%;margin-right:0}.fusion-gallery-container{grid-template-columns:repeat(2,1fr)}.blog-list{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.footer-grid section:first-child{grid-column:1/-1}}@media(max-width:520px){.contact-strip{display:block}.contact-strip span,.contact-strip a{display:inline}.topbar .social-links{display:none}.page-hero{padding-top:2.5rem}.prose p,.prose li{text-align:left}.prose img.alignleft{float:none;margin:1rem auto}.fusion-gallery-container{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom-inner{display:block}.footer-bottom-inner .social-links{margin-top:.7rem}}

/* Source: curated.css */
/* Curated layout overrides: removes the visual dependency on WordPress/Avada. */
.home-main{overflow:hidden}.home-hero{position:relative;isolation:isolate;background:#173f49 url('/wp-content/uploads/ZA_LEAVE-Banner-HomePage.jpg') center/cover no-repeat;color:#fff;border-bottom:8px solid var(--accent)}.home-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,46,54,.94) 0%,rgba(16,46,54,.78) 54%,rgba(16,46,54,.38) 100%)}.home-hero-grid{min-height:530px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding-block:clamp(4rem,9vw,7rem)}.home-hero-copy{max-width:720px}.home-hero h1{max-width:700px;margin:0 0 1.1rem;color:#fff;font-size:clamp(2.6rem,5.7vw,5.3rem);line-height:.98;letter-spacing:-.055em}.home-hero-copy>p{margin:0 0 2rem;color:#dfeadb;font-size:clamp(.9rem,1.4vw,1.12rem);font-weight:800;letter-spacing:.12em}.button-light{border-color:#fff;background:#fff;color:var(--ink)}.button-light:hover{border-color:var(--accent);background:var(--accent);color:var(--ink-dark)}.home-whatsapp{display:block;border:1px solid rgba(255,255,255,.45);background:#fff;box-shadow:18px 18px 0 rgba(169,201,93,.6);line-height:0}.home-whatsapp img{display:block;width:100%;aspect-ratio:1200/550;object-fit:cover}.home-sections{padding-block:clamp(4rem,8vw,7.5rem)}.profile-section{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding-bottom:clamp(4rem,8vw,7rem)}.profile-copy h2{margin:0 0 1.6rem;color:var(--ink);font-size:clamp(2.1rem,4vw,4.15rem);line-height:1;letter-spacing:-.045em}.profile-copy p{max-width:760px;margin:0 0 1rem;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.75}.profile-copy strong{color:var(--ink-dark);font-weight:800}.profile-photo{margin:0;border:1px solid var(--line);background:var(--sand);box-shadow:18px 18px 0 var(--mint)}.profile-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center}.credentials-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-top:1rem}.credentials-grid a{display:block;border:1px solid var(--line);background:#fff;line-height:0}.credentials-grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.experience-section{margin-inline:calc(50% - 50vw);padding:clamp(4rem,8vw,7rem) max(3rem,calc((100vw - var(--max))/2));background:var(--ink);color:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:1.3rem}.section-heading p{margin:0;color:var(--accent);font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.section-heading h2{margin:0;color:inherit;font-size:clamp(2.2rem,4.6vw,4.7rem);line-height:1;letter-spacing:-.045em}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}.experience-grid li{position:relative;min-height:94px;display:flex;align-items:center;padding:1.25rem 1.25rem 1.25rem 3.2rem;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);font-weight:700}.experience-grid li:before{content:"✓";position:absolute;left:1.2rem;color:var(--accent);font-weight:900}.latest-section{padding-top:clamp(4rem,8vw,7rem)}.latest-section .section-heading{border-color:var(--line)}.latest-section .section-heading h2{color:var(--ink)}.home-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}.home-post-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.home-post-image{display:block;overflow:hidden;border-bottom:1px solid var(--line);line-height:0}.home-post-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .25s ease}.home-post-card:hover .home-post-image img{transform:scale(1.025)}.home-post-body{display:flex;flex:1;flex-direction:column;padding:1.35rem}.home-post-body .article-meta{margin:0 0 .65rem;color:#65757a;font-size:.78rem}.home-post-body h3{margin:0 0 .85rem;font-size:1.22rem;line-height:1.25}.home-post-body h3 a{text-decoration:none}.home-post-body>p:last-child{display:-webkit-box;overflow:hidden;margin:.9rem 0 0;-webkit-line-clamp:4;-webkit-box-orient:vertical;color:#536267;font-size:.92rem}.content-area[class*="page-"]{padding-bottom:1rem}.content-area>p:empty{display:none}.content-area .fusion-fullwidth{min-height:0!important;padding:0!important}.content-area .fusion-builder-row,.content-area .fusion-row{display:flex!important;max-width:100%!important;margin:0!important;gap:clamp(1.5rem,4vw,3.5rem);align-items:flex-start;flex-wrap:wrap}.content-area .fusion-layout-column{min-width:0!important;flex:1 1 300px!important;width:auto!important;margin:0!important}.content-area .fusion-column-wrapper{min-height:0!important}.content-area .fusion-checklist{margin:0;padding:0;list-style:none}.content-area .fusion-checklist li{position:relative;padding:.35rem 0 .35rem 1.7rem}.content-area .fusion-checklist li:before{content:"✓";position:absolute;left:0;color:#6d923e;font-weight:900}.content-area .fusion-checklist p{margin:0}.content-area .fusion-image-carousel .swiper-wrapper{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;transform:none!important}.content-area .swiper-slide{width:auto!important;margin:0!important}.content-area .fusion-gallery-container{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.content-area .fusion-grid-column{width:auto!important;margin:0!important}.content-area .fusion-grid-column img{width:100%;aspect-ratio:4/3;object-fit:cover}.page-consultor-appcc,.page-terminos-y-condiciones-de-uso,.page-politica-de-cookies,.page-politica-de-privacidad,.page-clausula-para-el-uso-de-whatsapp{max-width:880px;margin-inline:auto}.page-consultor-appcc p{font-size:1.08rem}.page-contacto .fusion-builder-row{display:grid!important;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.page-contacto input,.page-contacto textarea{width:100%;border:1px solid var(--line);padding:.8rem;font:inherit}.page-contacto textarea{min-height:150px}.page-preguntas-frecuentes .fusion-accordian{border-top:1px solid var(--line)}.page-preguntas-frecuentes .panel{border-bottom:1px solid var(--line)}.page-preguntas-frecuentes .panel-title{margin:0;padding:1rem 0;font-size:1.06rem}.page-preguntas-frecuentes .panel-title a{text-decoration:none}.page-preguntas-frecuentes .panel-collapse{padding:0 0 1rem}.pagination{display:flex;justify-content:center;gap:.8rem;margin-top:2rem}
@media(max-width:900px){.home-hero-grid{grid-template-columns:1fr;min-height:0}.home-whatsapp{max-width:430px}.profile-section{grid-template-columns:1fr}.profile-photo{max-width:420px}.credentials-grid{grid-template-columns:repeat(2,1fr)}.experience-grid,.home-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-contacto .fusion-builder-row{grid-template-columns:1fr}.content-area .fusion-image-carousel .swiper-wrapper{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.home-hero-grid{padding-block:3.5rem}.home-hero h1{font-size:2.65rem}.home-whatsapp{box-shadow:10px 10px 0 rgba(169,201,93,.6)}.credentials-grid,.experience-grid,.home-post-grid,.content-area .fusion-gallery-container{grid-template-columns:1fr}.experience-section{padding-inline:1.5rem}.section-heading{display:block}.section-heading p{margin-bottom:.55rem}.profile-photo{max-width:none}}

/* Source: pages.css */
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}.contact-form-panel h2{margin:0 0 1.8rem;color:var(--ink);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05}.contact-form-panel form{display:grid;gap:1.2rem}.contact-form-panel label{display:grid;gap:.45rem;font-weight:700}.contact-form-panel input[type="text"],.contact-form-panel input[type="email"],.contact-form-panel textarea{width:100%;border:1px solid var(--line);background:#fff;padding:.8rem .9rem;color:inherit;font:inherit}.contact-form-panel input:focus,.contact-form-panel textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.contact-form-panel textarea{min-height:190px;resize:vertical}.privacy-copy{margin:.3rem 0 0;color:#536267;font-size:.88rem;line-height:1.65;text-align:left}.privacy-check{grid-template-columns:auto 1fr!important;align-items:start;gap:.7rem!important;font-size:.93rem}.privacy-check input{margin-top:.3rem}.contact-form-panel button{justify-self:start}.contact-location{position:sticky;top:1.5rem;border-left:1px solid var(--line);padding-left:clamp(1.5rem,3vw,3rem)}.contact-location iframe{display:block;width:100%;height:390px;border:1px solid var(--line)}.contact-address{padding:1.25rem 0}.contact-address p{margin:.25rem 0 1rem}.content-area.page-consultor-appcc{padding:1.5rem 0 3rem}.content-area.page-consultor-appcc p{text-align:left}.content-area.page-la-consulta{padding-bottom:4rem}.content-area.page-nutricion{padding-bottom:4rem}.content-area.page-nutricion h2{font-size:clamp(1.5rem,2.5vw,2.2rem)}.blog-archive{padding-bottom:4rem}.blog-archive .home-post-body h2{margin:0 0 .85rem;font-size:1.22rem;line-height:1.25}.blog-archive .home-post-body h2 a{text-decoration:none}.blog-read-more{margin-top:1.1rem;font-weight:800}
@media(max-width:820px){.contact-layout{grid-template-columns:1fr}.contact-location{position:static;border-left:0;border-top:1px solid var(--line);padding:2rem 0 0}}

/* Perfil profesional de Arturo */
.arturo-page{padding:0 0 clamp(3.5rem,6vw,5.5rem);color:var(--ink)}
.arturo-page>section{margin-top:clamp(2.6rem,5vw,4.5rem)}
.arturo-page .profile-section-heading{display:block;max-width:780px;margin:0 0 clamp(1.35rem,2.5vw,2rem)}
.arturo-page .profile-section-heading p,.arturo-page .profile-kicker{margin:0 0 .45rem;color:#66863f;font-size:.74rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.arturo-page h2{margin:0;color:var(--ink);font-size:clamp(1.65rem,2.8vw,2.35rem);line-height:1.12;letter-spacing:-.025em}
.arturo-page h3{margin:0;color:var(--ink);font-size:1.08rem;line-height:1.3}
.arturo-page p{line-height:1.68}
.arturo-intro{display:grid;grid-template-columns:minmax(230px,285px) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:center;padding:clamp(1.5rem,3vw,2.7rem);border-top:5px solid var(--accent);border-bottom:1px solid var(--line);background:#f6f8f7}
.arturo-portrait{margin:0;background:#fff}
.arturo-portrait img{display:block;width:100%;height:auto}
.arturo-intro-copy h2{margin-bottom:1rem}
.academic-list{display:grid;border-top:1px solid var(--line)}
.academic-list p{margin:0;padding:.78rem 0;border-bottom:1px solid var(--line);line-height:1.55}
.academic-list strong{color:#173f49}
.experience-copy{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(1.8rem,4vw,3.5rem);padding-top:1.4rem;border-top:1px solid var(--line)}
.experience-copy p{margin:0 0 1rem}
.experience-copy p:last-child{margin-bottom:0}
.experience-lead{color:#31464d;font-size:1.04rem}
.experience-detail{padding-left:clamp(1.5rem,3vw,2.5rem);border-left:4px solid var(--accent)}
.method-list{display:grid;grid-template-columns:1fr;margin:0;padding:0;border-bottom:1px solid var(--line);list-style:none}
.method-item{display:grid;grid-template-columns:minmax(185px,.42fr) minmax(0,1fr);gap:clamp(1.25rem,3vw,3rem);padding:1.35rem 0;border-top:1px solid var(--line)}
.method-title{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.7rem;align-items:start}
.method-number{display:block;margin:.18rem 0 0;color:#73953f;font-size:.72rem;font-weight:900;letter-spacing:.1em}
.method-copy p{margin:0}
.method-note{margin-top:.7rem!important;padding-top:.7rem;border-top:1px solid var(--line);font-weight:800}
.additional-list{columns:2;column-gap:1rem}
.additional-card{break-inside:avoid;margin:0 0 1rem;padding:1.25rem 1.35rem;border:1px solid var(--line);border-top:4px solid var(--accent);background:#f7f9f8}
.additional-card h3{margin-bottom:.5rem}
.additional-card p{margin:0}
.arturo-credentials{padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line)}
.credential-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.credential-card{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(145px,.6fr);min-width:0;margin:0;align-items:stretch;border:1px solid var(--line);background:#fff}
.credential-card a{display:flex;align-items:center;padding:.75rem;border-right:1px solid var(--line);background:#f6f8f7;cursor:zoom-in}
.credential-card a::after{content:"";position:absolute;inset:0}
.credential-card img{display:block;width:100%;height:auto;max-height:220px;object-fit:contain;background:#fff;transition:opacity .18s ease}
.credential-card:hover img{opacity:.86}
.credential-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.credential-card figcaption{display:flex;align-items:center;gap:.75rem;padding:1rem;font-size:.9rem;font-weight:800;line-height:1.35}
.credential-card figcaption::after{content:"↗";margin-left:auto;color:#66863f;font-size:1rem}
@media(max-width:900px){.arturo-intro{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:2rem}.experience-copy{grid-template-columns:1fr}.experience-detail{padding-top:1.25rem;padding-left:0;border-top:1px solid var(--line);border-left:0}.method-item{grid-template-columns:170px minmax(0,1fr)}.credential-gallery{grid-template-columns:1fr}}
@media(max-width:650px){.arturo-page>section{margin-top:2.7rem}.arturo-intro{grid-template-columns:1fr;padding:1rem}.arturo-portrait{width:min(250px,100%)}.arturo-intro-copy{padding:.35rem}.method-item{grid-template-columns:1fr;gap:.7rem;padding:1.15rem 0}.additional-list{grid-template-columns:1fr}.credential-card{grid-template-columns:1fr}.credential-card a{border-right:0;border-bottom:1px solid var(--line)}.credential-card img{max-height:none}.credential-card figcaption{padding:.85rem}.arturo-page h2{font-size:1.8rem}}

/* Sistema común para páginas interiores */
.content-shell>.page-hero{padding-top:clamp(2.5rem,4vw,3.2rem);padding-bottom:1.5rem;margin-bottom:clamp(2.2rem,4vw,3rem)}
.content-area.prose{padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.content-area.prose p,.content-area.prose li{text-align:left;hyphens:none}
.content-area.prose> :first-child{margin-top:0}
.section-kicker{margin:0 0 .45rem;color:#66863f;font-size:.74rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.content-area .section-heading{display:block;max-width:800px;margin:0 0 1.4rem}
.content-area .section-heading h2{margin:0;font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.12}
.compact-heading{padding-bottom:1.15rem;border-bottom:1px solid var(--line)}

/* La consulta */
.consultation-intro{max-width:760px;margin:0 0 2rem;padding:0 0 0 1.5rem;border-left:4px solid var(--accent)}
.consultation-intro h2{margin:0 0 .65rem;font-size:clamp(1.7rem,3vw,2.35rem)}
.consultation-intro p:last-child{margin:0;line-height:1.7}
.consultation-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.consultation-photo{position:relative;margin:0;overflow:hidden;border:1px solid var(--line);background:#eef2f0;aspect-ratio:4/3}
.consultation-photo a{display:block;width:100%;height:100%;cursor:zoom-in}
.consultation-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease,opacity .2s ease}
.consultation-photo:hover img{transform:scale(1.02);opacity:.92}
.consultation-photo:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.consultation-photo--portrait img{object-position:center 42%}

/* Nutrición */
.nutrition-layout{display:grid;grid-template-columns:minmax(300px,430px) minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}
.nutrition-figure{margin:0;padding:1rem;border:1px solid var(--line);border-top:5px solid var(--accent);background:#f6f8f7}
.nutrition-figure img{display:block;width:100%;height:auto;margin:0}
.nutrition-copy{max-width:690px}
.nutrition-copy blockquote{margin:0 0 1.8rem;padding:0 0 1.4rem;border-bottom:1px solid var(--line)}
.nutrition-copy blockquote p{margin:0 0 .45rem;color:var(--ink);font-size:clamp(1.55rem,2.7vw,2.2rem);font-weight:800;line-height:1.16;letter-spacing:-.02em}
.nutrition-copy cite{color:#596a70;font-size:.9rem;font-style:normal}
.nutrition-copy>p{margin:0 0 1.15rem;line-height:1.76}
.nutrition-closing-quote{margin-top:1.5rem!important;padding-top:1.25rem;border-top:4px solid var(--accent);color:#34484f}

/* Tarifas */
.pricing-section{margin:0 0 clamp(3rem,6vw,5rem)}
.pricing-section>.section-heading{max-width:none}
.pricing-section>.section-heading h2{max-width:800px}
.nutrition-price-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding:clamp(1.4rem,3vw,2.2rem);border:1px solid var(--line);border-top:5px solid var(--accent);background:#f6f8f7}
.nutrition-price-panel h3{margin:0 0 .4rem;font-size:1.22rem}
.nutrition-price-panel p{margin:0;color:#596a70}
.nutrition-price{display:grid;min-width:150px;padding-left:2rem;border-left:1px solid var(--line);text-align:right}
.nutrition-price strong{color:#668d34;font-size:clamp(2.4rem,5vw,4rem);line-height:1}
.nutrition-price span{margin-top:.35rem;color:#536267;font-size:.84rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.appcc-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}
.appcc-price-card{display:grid;grid-template-rows:auto 1fr;margin:0;border:1px solid var(--line);background:#fff}
.appcc-price-card h3{min-height:4.4rem;margin:0;padding:1.25rem 1.35rem;border-top:5px solid var(--ink);border-bottom:1px solid var(--line);font-size:1.18rem;line-height:1.35}
.price-list{margin:0;padding:0 1.35rem}
.price-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto);gap:1rem;align-items:start;padding:1rem 0;border-bottom:1px solid var(--line)}
.price-list>div:last-child{border-bottom:0}
.price-list dt,.price-list dd{margin:0}
.price-list dd{color:var(--ink);font-weight:900;text-align:right}
.pricing-tax-note{margin:.8rem 0 0;color:#536267;font-size:.88rem;font-weight:800}
.pricing-package-note{max-width:900px;margin-top:2rem;padding:1.4rem 1.5rem;border-left:5px solid var(--accent);background:#f6f8f7}
.pricing-package-note h3{margin:0 0 .55rem;font-size:1.16rem}
.pricing-package-note p{margin:0;line-height:1.7}

/* Páginas documentales y secundarias */
.legal-copy{max-width:980px;margin-inline:auto;color:#31464d}
.legal-copy h2{margin:2.3rem 0 .85rem;padding-top:1.3rem;border-top:1px solid var(--line);font-size:clamp(1.35rem,2.3vw,1.75rem);line-height:1.25}
.legal-copy h3,.legal-copy h4{margin:1.7rem 0 .65rem;font-size:1.13rem}
.legal-copy p,.legal-copy li{max-width:82ch;line-height:1.72}
.legal-copy table{width:100%!important;max-width:100%;table-layout:fixed;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}
.legal-copy th,.legal-copy td{padding:.75rem;border:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.legal-copy th{background:#eef3f1;color:var(--ink);text-align:left}
.hours-layout{display:grid;grid-template-columns:minmax(220px,310px) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center;padding:clamp(1.4rem,3vw,2.2rem);border:1px solid var(--line);border-top:5px solid var(--accent);background:#f6f8f7}
.hours-figure{margin:0}
.hours-figure img{display:block;width:100%;height:auto;margin:0}
.hours-copy h2{margin:0 0 .7rem;font-size:clamp(1.7rem,3vw,2.35rem)}
.hours-copy p:not(.section-kicker){margin:0 0 1.25rem}
.service-intro{max-width:850px}
.service-intro>p{font-size:1.05rem;line-height:1.75}
.service-lead{color:var(--ink);font-size:clamp(1.25rem,2vw,1.55rem)!important;font-weight:800;line-height:1.45!important}
.service-note{margin-top:2rem;padding:1.4rem 1.5rem;border-left:5px solid var(--accent);background:#f6f8f7}
.service-note p{margin:0}
.faq-intro{margin-bottom:1.7rem}
.faq-intro img{display:block;width:100%;max-height:260px;object-fit:cover;margin:0 0 1.5rem;border:1px solid var(--line)}
.faq-intro h2{margin:0;font-size:clamp(1.7rem,3vw,2.35rem)}
.accordion-title{cursor:pointer}

/* Ajustes transversales */
.arturo-page>.arturo-intro{margin-top:0}
.additional-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));columns:auto;gap:1rem}
.additional-card{margin:0}
.contact-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.5rem,4vw,4rem)}
.blog-archive .home-post-grid{align-items:start}
.post-content{max-width:880px;margin-inline:auto}
.post-content img{display:block;width:auto;max-width:100%;height:auto;margin:1.5rem auto}
.post-content>p:has(>img){margin:0;text-align:center}

@media(max-width:900px){.consultation-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-layout{grid-template-columns:1fr}.nutrition-figure{width:min(450px,100%)}.contact-layout{grid-template-columns:1fr}.appcc-price-grid{grid-template-columns:1fr}.appcc-price-card h3{min-height:0}.legal-copy table{font-size:.84rem}}
@media(max-width:600px){.content-shell>.page-hero{padding-top:2rem;margin-bottom:2rem}.consultation-intro{padding-left:1rem}.consultation-gallery{grid-template-columns:1fr}.nutrition-price-panel{grid-template-columns:1fr;gap:1.2rem}.nutrition-price{min-width:0;padding-top:1.2rem;padding-left:0;border-top:1px solid var(--line);border-left:0;text-align:left}.price-list>div{grid-template-columns:1fr;gap:.3rem}.price-list dd{text-align:left}.hours-layout{grid-template-columns:1fr}.hours-figure{width:min(310px,100%)}.legal-copy table{table-layout:auto;display:block;overflow-x:auto}.additional-list{grid-template-columns:1fr}}

/* Source: home-v2.css */
/* Navigation and homepage information architecture, 2026 refresh. */
.masthead{position:relative}.utility-nav{display:flex;align-items:center;gap:1rem;white-space:nowrap}.utility-nav a{color:#fff;text-decoration:none}.utility-nav a:hover{text-decoration:underline}.nav-panel{display:flex;align-items:center}.mobile-utility-nav{display:none}.main-nav a.active:not(.nav-cta){color:#587c35;box-shadow:inset 0 -2px 0 var(--accent)}.main-nav .nav-cta{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:.66rem 1rem}.main-nav .nav-cta:hover,.main-nav .nav-cta.active{border-color:var(--ink-dark);background:var(--ink-dark);color:#fff}

.home-hero{background:#173f49;color:#fff}.home-hero:before{background:linear-gradient(120deg,rgba(16,46,54,.98),rgba(23,63,73,.92))}.home-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);min-height:570px}.home-hero-copy>p{margin:0 0 1rem;color:#dfeadb;text-transform:uppercase}.home-hero h1{margin-bottom:2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}.button-ghost{border-color:rgba(255,255,255,.7);background:transparent;color:#fff}.button-ghost:hover{border-color:#fff;background:#fff;color:var(--ink)}.home-hero-portrait{position:relative;max-width:410px;justify-self:end;border:1px solid rgba(255,255,255,.55);box-shadow:18px 18px 0 rgba(169,201,93,.62)}.home-hero-portrait>img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center}.hero-contact-card{position:absolute;left:-2rem;right:1.5rem;bottom:1.5rem;display:grid;gap:.2rem;border-left:5px solid var(--accent);background:#fff;color:var(--ink);padding:1rem 1.2rem;box-shadow:var(--shadow)}.hero-contact-card strong{font-size:1.08rem}.hero-contact-card a{font-weight:800}

.home-sections{padding-top:0}.quick-info{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:-2.6rem;margin-bottom:clamp(4rem,8vw,7rem);border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.quick-card{min-width:0;padding:1.45rem 1.6rem;border-right:1px solid var(--line)}.quick-card:last-child{border-right:0}.quick-card p{margin:.25rem 0 .8rem}.quick-card>a:last-child{font-weight:800}.quick-label{color:#66863f;font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.quick-value{display:block;margin:.15rem 0 .75rem;color:var(--ink);font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:850;line-height:1.25;text-decoration:none}.experience-section{margin-bottom:clamp(4rem,8vw,7rem)}.section-action{margin-top:2rem;text-align:center}.button.outline{border-color:var(--ink);background:transparent;color:var(--ink)}.button.outline:hover{background:var(--ink);color:#fff}.profile-section{padding-top:0}

.home-pricing{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);margin-bottom:clamp(4rem,8vw,7rem);border:1px solid var(--line);background:var(--mint)}.pricing-copy{padding:clamp(2rem,5vw,4.5rem)}.pricing-copy h2{max-width:760px;margin:.4rem 0 1rem;color:var(--ink);font-size:clamp(2rem,4vw,3.7rem);line-height:1.03;letter-spacing:-.04em}.pricing-mode{margin:0 0 1.6rem;font-size:1.1rem}.price-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border-left:1px solid var(--line);background:var(--ink);color:#fff;padding:2.5rem}.price-number{font-size:clamp(3.4rem,7vw,6rem);font-weight:900;line-height:1;letter-spacing:-.06em}


.home-location{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:stretch;margin-bottom:clamp(4rem,8vw,7rem);background:var(--sand)}.location-image{min-height:440px}.location-image img{display:block;width:100%;height:100%;object-fit:cover}.location-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4.5rem)}.location-copy h2{margin:.4rem 0 1.2rem;color:var(--ink);font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.04em}.location-copy p:not(.eyebrow){font-size:1.08rem}.latest-section{padding-bottom:clamp(4rem,7vw,6rem)}.home-final-contact{border-top:8px solid var(--accent);background:var(--ink);color:#fff}.final-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:clamp(3rem,6vw,5rem)}.final-contact-inner h2{margin:.2rem 0;color:#fff;font-size:clamp(2rem,4vw,3.6rem)}.final-contact-inner p{margin:.25rem 0;color:#e5eeee}.final-contact-inner .eyebrow{color:var(--accent)}

@media(max-width:1050px){.topbar .contact-strip a:last-child,.topbar .contact-strip span:last-of-type{display:none}.utility-nav{gap:.75rem;font-size:.72rem}.main-nav{gap:.72rem;font-size:.86rem}.main-nav .nav-cta{padding:.55rem .75rem}.home-hero-grid{grid-template-columns:minmax(0,1fr) 330px}}
@media(max-width:800px){.utility-nav{display:none}.nav-panel{display:none;position:absolute;z-index:8;top:100%;left:0;right:0;border-bottom:1px solid var(--line);background:#fff;box-shadow:var(--shadow);padding:1rem}.nav-panel.is-open{display:block}#main-menu.main-nav{display:flex;position:static;flex-direction:column;align-items:stretch;gap:.15rem;border:0;background:transparent;box-shadow:none;padding:0}#main-menu.main-nav a{display:block;padding:.75rem .5rem}#main-menu.main-nav .nav-cta{margin-top:.5rem;padding:.75rem 1rem;text-align:center}.mobile-utility-nav{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;margin-top:1rem;border-top:1px solid var(--line);padding-top:.85rem}.mobile-utility-nav a{padding:.35rem .5rem;font-size:.86rem}.home-hero-grid{grid-template-columns:1fr;padding-bottom:5rem}.home-hero-portrait{width:min(100%,430px);max-width:none;justify-self:start}.quick-info{grid-template-columns:1fr;margin-top:-1.8rem}.quick-card{border-right:0;border-bottom:1px solid var(--line)}.quick-card:last-child{border-bottom:0}.home-pricing,.home-location{grid-template-columns:1fr}.price-card{min-height:260px;border-top:1px solid var(--line);border-left:0}.home-location .location-image{min-height:360px}.final-contact-inner{display:block}.final-contact-inner .hero-actions{margin-top:1.5rem}}
@media(max-width:640px){.topbar .contact-strip{display:flex;gap:.5rem}.topbar .contact-strip span{display:none}.topbar .contact-strip a:nth-of-type(2){display:none}.brand{width:min(235px,62vw)}.home-hero h1{font-size:2.75rem}.home-hero-portrait{box-shadow:10px 10px 0 rgba(169,201,93,.62)}.hero-contact-card{left:.75rem;right:.75rem;bottom:.75rem}.location-image{min-height:300px}.mobile-utility-nav{grid-template-columns:1fr}.final-contact-inner .button{width:100%;text-align:center}}

/* Source: redesign.css */
/* 2026 visual system — editorial Mediterranean wellness. */
:root {
  --paper: #f6f1e8;
  --paper-deep: #ede4d4;
  --white: #fffdf8;
  --ink: #1f382b;
  --ink-deep: #11271e;
  --leaf: #52763c;
  --leaf-light: #dfe9cb;
  --tomato: #c85c3d;
  --apricot: #e89b63;
  --line: #d7cbb9;
  --muted: #677269;
  --max: 1200px;
  --shadow: 0 18px 42px rgba(43, 52, 35, .10);
}

html { background: var(--paper); }
body {
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.68;
}
body::selection { background: var(--leaf-light); color: var(--ink-deep); }
.site-container { width: min(calc(100% - 3rem), var(--max)); }
a { color: inherit; text-decoration-color: var(--tomato); text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { color: var(--tomato); }
img { display: block; }
.button, button {
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--white);
  padding: .8rem 1.25rem;
  font-size: .83rem;
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 1.15;
  text-transform: uppercase;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}
.button:hover, button:hover { background: var(--tomato); border-color: var(--tomato); color: var(--white); transform: translateY(-2px); }
.button.outline { background: transparent; border-color: var(--ink); color: var(--ink); }
.button.outline:hover { background: var(--ink); color: var(--white); }
.eyebrow, .quick-label {
  color: var(--tomato) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
}

/* Header */
.site-header { background: var(--white); border-bottom: 1px solid var(--line); }
.topbar { background: var(--paper-deep); color: var(--ink); font-size: .75rem; }
.topbar a { color: var(--ink); text-decoration: none; }
.topbar a:hover { color: var(--tomato); }
.topbar-inner { min-height: 36px; }
.contact-strip, .utility-nav { gap: .8rem; }
.utility-nav { font-weight: 650; }
.masthead { min-height: 96px; border: 0; gap: 1.5rem; }
.brand { width: min(250px, 48vw); }
.main-nav { gap: clamp(.75rem, 1.5vw, 1.35rem); font-size: .83rem; font-weight: 780; letter-spacing: .01em; }
.main-nav a, .search-toggle { color: var(--ink); }
.main-nav a.active:not(.nav-cta) { color: var(--tomato); box-shadow: inset 0 -2px 0 var(--tomato); }
.main-nav .nav-cta { background: var(--tomato); border-color: var(--tomato); color: var(--white); padding: .7rem 1rem; }
.main-nav .nav-cta:hover, .main-nav .nav-cta.active { background: var(--ink); border-color: var(--ink); }

/* Home: a warm editorial landing page */
.home-main { overflow: clip; }
.home-hero {
  background: var(--paper) !important;
  border-bottom: 0 !important;
  color: var(--ink) !important;
  position: relative;
  overflow: hidden;
}
.home-hero::before { display: none !important; }
.home-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 34%;
  background: var(--leaf-light);
}
.home-hero-grid {
  min-height: 515px !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .68fr) !important;
  gap: clamp(2rem, 6vw, 6.5rem) !important;
  padding-block: clamp(3rem, 6vw, 4.75rem) !important;
  position: relative;
  z-index: 1;
}
.home-hero-grid::before,
.home-hero-grid::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}
.home-hero-grid::before {
  width: 26rem;
  height: 26rem;
  right: -13rem;
  top: -11rem;
  border: 1px solid rgba(59, 100, 52, .2);
  border-radius: 50%;
  background: radial-gradient(circle, transparent 0 45%, rgba(255, 253, 248, .42) 45.3% 46%, transparent 46.4%);
  animation: hero-orbit 18s ease-in-out infinite alternate;
}
.home-hero-grid::after {
  width: 15rem;
  height: 15rem;
  right: 8rem;
  bottom: -9rem;
  border: 1px solid rgba(59, 100, 52, .17);
  transform: rotate(24deg);
  animation: hero-drift 21s ease-in-out infinite alternate;
}
.home-hero-copy,
.home-hero-portrait { position: relative; z-index: 1; }
.home-hero-copy { max-width: 650px; }
.home-hero-copy > p:first-child { color: var(--tomato) !important; margin: 0 0 1rem !important; }
.home-hero h1 {
  color: var(--ink) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 5.25vw, 4.9rem) !important;
  font-weight: 500;
  letter-spacing: -.06em !important;
  line-height: .97 !important;
  margin: 0 0 1.15rem !important;
}
.home-hero-copy > p.home-hero-lead {
  max-width: 54ch;
  margin: 0 0 1.65rem !important;
  color: var(--muted) !important;
  font-size: clamp(1rem, 1.4vw, 1.1rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.65;
  text-transform: none;
}
.hero-actions { gap: .75rem; }
.button-light { background: var(--tomato); border-color: var(--tomato); color: var(--white); }
.button-light:hover { background: var(--ink); border-color: var(--ink); color: var(--white); }
.button-ghost { border-color: var(--ink); background: transparent; color: var(--ink); }
.button-ghost:hover { background: var(--ink); border-color: var(--ink); color: var(--white); }
.home-hero-portrait {
  align-self: center;
  justify-self: end;
  width: min(100%, 340px);
  max-width: 340px;
  border: 0;
  box-shadow: 12px 12px 0 var(--tomato);
}
.home-hero-portrait > img { aspect-ratio: 300 / 352; object-position: center; }
.hero-contact-card {
  left: -2rem;
  right: .75rem;
  bottom: 1rem;
  gap: .25rem;
  border-left: 0;
  background: var(--white);
  box-shadow: var(--shadow);
  padding: .9rem 1rem;
}
.hero-contact-card strong { font-size: .92rem; }
.hero-contact-card span { color: var(--muted); font-size: .72rem; line-height: 1.35; }
.hero-contact-card a { margin-top: .2rem; color: var(--tomato); font-size: .76rem; text-decoration: none; }
.hero-contact-card a:hover { text-decoration: underline; }
.home-sections { padding-block: clamp(2.75rem, 5.5vw, 5rem) !important; }
.quick-info {
  margin: 0 0 clamp(4.5rem, 8vw, 7.5rem) !important;
  border: 0;
  box-shadow: none;
  background: transparent;
  gap: 1px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.quick-card { padding: 1.35rem 1.3rem; border-right: 1px solid var(--line); }
.quick-card:last-child { border-right: 0; }
.home-benefit-icon { width: 2rem; height: 2rem; margin-bottom: .65rem; fill: none; stroke: var(--tomato); stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.quick-value { color: var(--ink); font-size: 1.15rem; font-weight: 780; }
.quick-card a:last-child { color: var(--tomato); font-size: .82rem; font-weight: 850; text-decoration: none; }
.section-heading { align-items: end; border-bottom: 1px solid var(--line); padding-bottom: 1rem; margin-bottom: 1.75rem; }
.section-heading h2, .profile-copy h2, .location-copy h2, .pricing-copy h2, .final-contact-inner h2 {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.05em;
}
.section-heading h2 { font-size: clamp(2.55rem, 5vw, 4.7rem) !important; line-height: .95; }
.experience-section {
  background: var(--ink) !important;
  color: var(--white);
  margin-inline: calc((min(100vw, var(--max)) - min(100vw - 3rem, var(--max))) / -2);
  padding: clamp(2rem, 5vw, 4.5rem) max(1.5rem, calc((100vw - var(--max)) / 2)) !important;
  margin-bottom: clamp(4rem, 8vw, 7rem) !important;
}
.experience-section .section-heading { border-color: rgba(255,255,255,.22); }
.experience-section .section-heading h2 { color: var(--white); }
.experience-section .eyebrow { color: var(--apricot) !important; }
.experience-grid { gap: 1px; background: rgba(255,255,255,.18); }
.experience-grid li { position: relative; border: 0; background: rgba(255,255,255,.07); padding: 1.15rem 1.1rem 1.15rem 2.15rem !important; font-size: .95rem; }
.experience-grid li::before { content: "•"; color: var(--apricot); font-family: Arial, sans-serif; font-size: 1.25rem; line-height: 1; left: 1rem !important; top: 50% !important; transform: translateY(-50%); }
/* The legacy list rule uses an absolute pseudo-element: lock its geometry locally. */
.home-main .experience-section .experience-grid li { padding: 1.15rem 1.1rem 1.15rem 2.25rem !important; }
.home-main .experience-section .experience-grid li::before { content: "•" !important; left: 1rem !important; top: 50% !important; width: auto !important; height: auto !important; margin: 0 !important; transform: translateY(-50%) !important; color: var(--apricot) !important; font-size: 1rem !important; line-height: 1 !important; }
.experience-section .button.outline { border-color: var(--white); color: var(--white); }
.experience-section .button.outline:hover { background: var(--white); color: var(--ink); }
.profile-section { gap: clamp(2rem, 7vw, 6rem); padding-bottom: clamp(4rem, 8vw, 7rem) !important; }
.profile-copy h2 { font-size: clamp(2.7rem, 5vw, 4.9rem) !important; line-height: .96; }
.profile-copy p { font-size: 1.06rem; }
.profile-copy strong { color: var(--tomato); }
.profile-photo { border: 0; box-shadow: 14px 14px 0 var(--leaf-light); background: transparent; }
.credentials-grid { gap: 1rem; }
.credentials-grid a { border: 1px solid var(--line); background: var(--white); padding: .35rem; transition: transform .18s ease, border-color .18s ease; }
.credentials-grid a:hover { border-color: var(--tomato); transform: translateY(-4px); }
.home-pricing { border: 0; background: var(--tomato); color: var(--white); }
.pricing-copy { padding: clamp(2.25rem, 5vw, 4.5rem); }
.pricing-copy .eyebrow { color: var(--paper-deep) !important; }
.pricing-copy h2 { color: var(--white); font-size: clamp(2.35rem, 4vw, 4.2rem) !important; }
.pricing-copy .button.outline { border-color: var(--white); color: var(--white); }
.pricing-copy .button.outline:hover { background: var(--white); color: var(--tomato); }
.price-card { border-left: 1px solid rgba(255,255,255,.3); background: var(--ink); }
.price-number { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.08em; }
.home-location { background: var(--paper-deep); }
.location-image { min-height: 470px; }
.location-copy h2 { font-size: clamp(2.45rem, 4.7vw, 4.5rem) !important; }
.location-copy p:not(.eyebrow) { font-size: 1.05rem; }
.latest-section { padding-bottom: 0 !important; }
.home-post-grid { gap: 1.25rem; }
.home-post-card { background: var(--white); border: 1px solid var(--line); box-shadow: none; transition: transform .18s ease, box-shadow .18s ease; }
.home-post-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.home-post-image { min-height: 215px; background: var(--leaf-light); overflow: hidden; }
.home-post-image img { height: 100%; min-height: 215px; object-fit: cover; transition: transform .35s ease; }
.home-post-card:hover .home-post-image img { transform: scale(1.035); }
.home-post-body { padding: 1.4rem 1.35rem 1.5rem; }
.article-meta { color: var(--tomato); font-size: .75rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.home-post-body h3, .home-post-body h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.025em; }
.home-post-body h3 { font-size: 1.6rem; line-height: 1.08; }
.home-post-body h2 { font-size: 1.55rem !important; line-height: 1.08 !important; }
.home-post-body h2 a, .home-post-body h3 a { text-decoration: none; }
.home-post-body > p:last-child { color: var(--muted); font-size: .93rem; }
.blog-read-more { color: var(--tomato); font-size: .8rem; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; }
.home-final-contact { border-top: 0; background: var(--leaf); margin-top: clamp(4rem, 8vw, 7rem); }
.final-contact-inner h2 { color: var(--white); }
.final-contact-inner .eyebrow { color: var(--paper-deep) !important; }
.final-contact-inner p { color: var(--white); }
.final-contact-inner .button-light { background: var(--white); border-color: var(--white); color: var(--ink); }
.final-contact-inner .button-ghost { border-color: var(--white); color: var(--white); }

/* Compact homepage: retain decision-making content, move reference material to its dedicated pages. */
.quick-info--benefits { margin-bottom: clamp(2.75rem, 5vw, 4.5rem) !important; }
.quick-info--benefits .quick-card > p:not(.quick-label) { min-height: 3.2rem; margin: .25rem 0 .85rem; }
.home-pricing--compact { margin-bottom: clamp(2.75rem, 5vw, 4.5rem); }
.home-pricing--compact .pricing-copy { padding: clamp(2rem, 4vw, 3.25rem); }
.home-pricing--compact .pricing-copy h2 { font-size: clamp(2.25rem, 4vw, 3.5rem) !important; margin-bottom: .6rem; }
.home-pricing--compact .pricing-mode { margin-bottom: 1.15rem; }
.home-pricing--compact .price-card { min-height: 0; padding: 2rem; }
.home-pricing--compact .price-number { font-size: clamp(3.5rem, 6vw, 5rem); }
.home-visit { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-bottom: clamp(2.75rem, 5vw, 4.5rem); padding: clamp(1.6rem, 3.5vw, 2.5rem); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.home-visit h2 { margin: .25rem 0; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 3.5vw, 3.25rem); font-weight: 500; letter-spacing: -.045em; line-height: 1; }
.home-visit p:not(.eyebrow) { margin: .6rem 0 0; color: var(--muted); }
.home-visit .hero-actions { flex: 0 0 auto; }
.latest-section--compact { padding: 0 !important; }
.home-blog-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--line); padding-bottom: 1.15rem; }
.home-blog-heading .eyebrow { margin-bottom: .35rem; }
.home-blog-heading h2 { margin: 0; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.45rem, 4.4vw, 4.1rem); font-weight: 500; letter-spacing: -.05em; line-height: .95; }
.home-blog-heading .button { flex: 0 0 auto; }
.home-post-grid--single { grid-template-columns: 1fr !important; }
.home-post-grid--single .home-post-card { display: grid; grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr); min-height: 280px; }
.home-post-grid--single .home-post-image, .home-post-grid--single .home-post-image img { min-height: 280px; height: 100%; }
.home-post-grid--single .home-post-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.7rem, 4vw, 3rem); }
.home-post-grid--single .home-post-body h3 { margin: .2rem 0 1.15rem; font-size: clamp(1.8rem, 3vw, 2.65rem); }

/* Shared interior shell, articles and legacy content */
.content-shell { padding-bottom: clamp(4rem, 8vw, 7rem); }
.page-hero {
  position: relative;
  isolation: isolate;
  margin: 0 calc((100vw - min(100vw - 3rem, var(--max))) / -2) clamp(2.25rem, 4.5vw, 3.75rem) !important;
  padding: clamp(2.3rem, 4.5vw, 3.75rem) max(1.5rem, calc((100vw - var(--max)) / 2)) clamp(2rem, 4vw, 3.25rem) !important;
  background:
    radial-gradient(circle at 82% 22%, rgba(255,253,248,.66) 0 5%, transparent 5.2%),
    linear-gradient(118deg, var(--leaf-light) 0 68%, #d4e1b8 100%) !important;
  overflow: hidden;
}
.page-hero::before,
.page-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  will-change: transform;
}
.page-hero::before {
  right: -4rem;
  top: -9rem;
  width: clamp(21rem, 38vw, 36rem);
  aspect-ratio: 1;
  opacity: .62;
  background:
    radial-gradient(circle at center, transparent 0 35%, rgba(82,118,60,.18) 35.3% 35.8%, transparent 36.1% 50%, rgba(200,92,61,.13) 50.3% 50.8%, transparent 51.1% 66%, rgba(255,253,248,.72) 66.3% 66.8%, transparent 67.1%);
  animation: hero-orbit 18s ease-in-out infinite alternate;
}
.page-hero::after {
  right: clamp(9rem, 24vw, 25rem);
  bottom: -6rem;
  width: clamp(11rem, 20vw, 19rem);
  aspect-ratio: 1;
  opacity: .48;
  background:
    linear-gradient(35deg, transparent 0 44%, rgba(31,56,43,.18) 44.5% 45%, transparent 45.5%),
    linear-gradient(145deg, transparent 0 54%, rgba(200,92,61,.14) 54.5% 55%, transparent 55.5%);
  animation: hero-drift 14s ease-in-out infinite alternate;
}
.page-hero .eyebrow { position: relative; z-index: 1; margin-bottom: .35rem; }
.page-hero h1 {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: .25rem 0 .75rem !important;
  color: var(--ink) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.45rem, 5vw, 4.75rem) !important;
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: .94 !important;
}
.breadcrumbs { position: relative; z-index: 1; color: var(--muted); font-size: .82rem; }
.breadcrumbs a { text-decoration: none; }
@keyframes hero-orbit {
  from { transform: translate3d(0, 0, 0) rotate(-5deg) scale(.96); }
  to { transform: translate3d(-1.3rem, 1rem, 0) rotate(7deg) scale(1.04); }
}
@keyframes hero-drift {
  from { transform: translate3d(0, 0, 0) rotate(-8deg); }
  to { transform: translate3d(1rem, -1rem, 0) rotate(7deg); }
}
@media (prefers-reduced-motion: reduce) {
  .page-hero::before, .page-hero::after, .home-hero-grid::before, .home-hero-grid::after { animation: none; }
}
.content-area, .post-content { max-width: 850px; color: var(--ink); font-size: 1.04rem; }
.content-area > :first-child, .post-content > :first-child { margin-top: 0; }
.content-area h2, .post-content h2 { margin: 3rem 0 1rem; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.04; }
.content-area h3, .post-content h3 { margin: 2rem 0 .75rem; color: var(--tomato); font-size: 1.15rem; letter-spacing: .01em; }
.content-area p, .post-content p { margin: 0 0 1.2rem; }
.content-area ul, .content-area ol, .post-content ul, .post-content ol { padding-left: 1.3rem; margin: 0 0 1.4rem; }
.content-area li, .post-content li { margin-bottom: .45rem; }
.content-area blockquote, .post-content blockquote { margin: 2rem 0; border-left: 4px solid var(--tomato); padding: 1rem 1.35rem; background: var(--white); color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; line-height: 1.3; }
.content-area table, .post-content table { width: 100% !important; border-collapse: collapse; margin: 2rem 0; font-size: .9rem; }
.content-area th, .content-area td, .post-content th, .post-content td { border: 1px solid var(--line) !important; padding: .85rem !important; text-align: left; vertical-align: top; }
.content-area th, .content-area tr:first-child td, .post-content th, .post-content tr:first-child td { background: var(--leaf-light); color: var(--ink); font-weight: 800; }
.content-area img, .post-content img { max-width: 100%; height: auto; }
.post-content > img, .post-content > p > img, .content-area > img { margin: 1.75rem 0; border: 1px solid var(--line); }
/* Flatten the old builder scaffolding so its source content reads as one coherent article. */
.content-area .fusion-fullwidth, .content-area .fusion-builder-row, .content-area .fusion-row, .content-area .fusion-layout-column, .content-area .fusion-column-wrapper, .content-area .fusion-text, .content-area .fusion-title, .content-area .fusion-sep-clear { width: auto !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; float: none !important; background: transparent !important; border: 0 !important; }
.content-area .fusion-fullwidth { margin-bottom: 1.5rem !important; }
.content-area [style*="background"], .content-area [style*="padding"], .content-area [style*="margin"] { background-image: none !important; }
/* Nutrición: composición editorial amplia, sin una cuadrícula duplicada que comprima el texto. */
.content-area.page-nutricion { max-width: 1120px; }
.page-nutricion .nutrition-layout {
  display: grid;
  grid-template-columns: minmax(280px, 400px) minmax(0, 1fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
}
.page-nutricion .nutrition-figure {
  position: sticky;
  top: 1.5rem;
  margin: 0;
  padding: .8rem;
  border: 1px solid var(--line);
  border-top: 5px solid var(--leaf);
  background: var(--white);
  box-shadow: 12px 12px 0 var(--leaf-light);
}
.page-nutricion .nutrition-figure img { width: 100%; margin: 0 !important; border: 0; }
.page-nutricion .nutrition-figure figcaption {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding: .9rem .35rem .2rem;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.45;
}
.page-nutricion .nutrition-figure figcaption strong { display: block; color: var(--ink); font-size: .82rem; }
.page-nutricion .nutrition-caption-icon { flex: 0 0 auto; display: inline-grid; place-items: center; width: 2rem; height: 2rem; background: var(--leaf-light); color: var(--leaf); }
.page-nutricion .nutrition-caption-icon svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.page-nutricion .nutrition-copy { max-width: 700px; }
.page-nutricion .nutrition-copy > .section-kicker { margin-bottom: .85rem; }
.page-nutricion .nutrition-copy blockquote { margin: 0 0 1.8rem; padding: 0 0 1.35rem; border: 0; border-bottom: 1px solid var(--line); background: transparent; }
.page-nutricion .nutrition-copy blockquote p { margin: 0 0 .5rem; color: var(--ink); font-size: clamp(1.75rem, 3.2vw, 2.65rem); font-weight: 500; line-height: 1.08; letter-spacing: -.04em; }
.page-nutricion .nutrition-copy blockquote cite { color: var(--tomato); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .76rem; font-style: normal; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.page-nutricion .nutrition-copy > p { text-align: left !important; }
.page-nutricion .nutrition-lead { color: var(--ink); font-size: 1.13rem; line-height: 1.7; }
.nutrition-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 2rem 0; border: 1px solid var(--line); background: var(--line); }
.nutrition-principle { min-width: 0; padding: 1.15rem; background: var(--white); }
.nutrition-principle svg { width: 1.5rem; height: 1.5rem; margin-bottom: .75rem; fill: none; stroke: var(--tomato); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.nutrition-principle h2 { margin: 0 0 .35rem !important; color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .86rem !important; font-weight: 850; letter-spacing: .01em; line-height: 1.25; }
.nutrition-principle p { margin: 0 !important; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.page-nutricion .nutrition-closing-quote { margin: 2rem 0 0 !important; padding: 1.3rem 1.4rem !important; border: 0 !important; border-left: 4px solid var(--tomato) !important; background: var(--paper-deep) !important; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.18rem; line-height: 1.5; }
.page-nutricion .nutrition-closing-quote cite { display: block; margin-top: .55rem; color: var(--muted); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .75rem; font-style: normal; }
.nutrition-cta { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.nutrition-cta p { flex: 1 1 250px; margin: 0 !important; color: var(--ink); font-weight: 750; }
.nutrition-cta .button { flex: 0 0 auto; }
/* Pricing is a comparison page, not a narrow prose article: use the shared full container. */
.content-area.page-precios-nutricion-arturo-esteve-gonzalez { max-width: var(--max); }
.content-area.page-precios-nutricion-arturo-esteve-gonzalez .pricing-section { max-width: none; }
/* The former Avada masonry gallery is replaced by a predictable editorial grid. */
.content-area.page-la-consulta { max-width: 1080px; }
.consultation-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.consultation-image { display: block; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--line); background: var(--leaf-light); }
.consultation-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.consultation-image:hover img { transform: scale(1.04); }

/* Contact and blog */
.contact-layout { gap: clamp(2.5rem, 7vw, 7rem); }
.contact-form-panel h2 { color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.045em; }
.contact-form-panel input[type="text"], .contact-form-panel input[type="email"], .contact-form-panel textarea { border-color: var(--line); background: var(--white); padding: .85rem .9rem; }
.contact-form-panel input:focus, .contact-form-panel textarea:focus { outline-color: var(--tomato); }
.contact-location { border-left-color: var(--line); }
.contact-location iframe { border-color: var(--line); filter: saturate(.65) sepia(.08); }
.privacy-copy { color: var(--muted); }
.blog-archive .home-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.blog-archive .home-post-card { height: 100%; }
.pagination { margin-top: 2.5rem; display: flex; gap: .75rem; }

/* Footer */
.site-footer { margin-top: 0; background: var(--ink-deep); color: #edf2e8; }
.footer-grid { grid-template-columns: 1.1fr .8fr 1fr; gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(3rem, 6vw, 5rem); }
.site-footer h2 { margin: 0 0 1.15rem; color: var(--apricot); font-size: .73rem; letter-spacing: .14em; }
.site-footer p, .site-footer li { color: #dce4d8; }
.site-footer a { color: #f6f1e8; text-decoration-color: rgba(232,155,99,.8); }
.site-footer a:hover { color: var(--apricot); }
.footer-contact-list, .footer-nav-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.footer-contact-list li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; align-items: start; padding: .65rem 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-contact-list li:first-child { padding-top: 0; }
.footer-contact-list li:last-child { border-bottom: 0; }
.footer-contact-list span { min-width: 0; line-height: 1.45; }
.footer-contact-list a { overflow-wrap: anywhere; }
.footer-address { display: block; }
.footer-contact-list small { display: block; margin-top: .15rem; color: #9fb0a2; font-size: .7rem; }
.footer-icon { width: 1.35rem; height: 1.35rem; margin-top: .12rem; fill: none; stroke: var(--apricot); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.footer-nav-list li { padding: .42rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-nav-list li:last-child { border-bottom: 0; }
.footer-nav-list a { text-decoration: none; }
.footer-action { display: inline-block; margin-top: .9rem; border: 1px solid rgba(255,255,255,.5); padding: .55rem .8rem; text-decoration: none; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.footer-action--icon { display: inline-flex; gap: .5rem; align-items: center; }
.footer-action--icon svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.footer-action--icon:hover svg { transform: translateX(3px); }
.footer-hours { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; align-items: start; }
.footer-hours p { display: grid; gap: .15rem; margin: 0; }
.footer-hours strong { color: var(--white); font-size: .98rem; }
.footer-hours span { color: #b9c6ba; font-size: .82rem; }
.footer-hours a { margin-top: .25rem; font-size: .78rem; font-weight: 800; }
.site-footer .footer-subheading { margin-top: 2rem; }
.footer-bottom { border-color: rgba(255,255,255,.16); }
.footer-bottom-inner { font-size: .78rem; }
.social-links { gap: .55rem; }
.social-links a { display: inline-flex; align-items: center; justify-content: center; width: 31px; height: 31px; border: 1px solid rgba(255,255,255,.48); color: var(--white); text-decoration: none; }
.social-links a:hover { background: var(--tomato); border-color: var(--tomato); color: var(--white); }
.social-links svg { width: 14px; height: 14px; fill: currentColor; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.lightbox { max-width: min(94vw, 1100px); max-height: 92vh; padding: .8rem; border: 0; background: var(--white); box-shadow: var(--shadow); }
.lightbox::backdrop { background: rgba(17,39,30,.75); }
.lightbox img { max-height: calc(92vh - 2rem); width: auto; }
.lightbox button { position: absolute; top: .25rem; right: .25rem; min-width: 2.2rem; padding: .25rem .55rem; font-size: 1.2rem; line-height: 1; }

@media (max-width: 900px) {
  .home-hero::after { width: 42%; }
  .home-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr) !important; gap: 2.5rem !important; }
  .home-hero h1 { font-size: clamp(3rem, 7vw, 4.4rem) !important; }
  .home-hero-portrait { width: min(100%, 320px); }
  .experience-section { margin-inline: -1.5rem; padding-inline: 1.5rem !important; }
  .consultation-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-archive .home-post-grid { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .masthead { min-height: 78px; }
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ink); background: var(--white); color: var(--ink); padding: .5rem .7rem; font-size: .75rem; }
  .menu-toggle:hover { background: var(--ink); color: var(--white); transform: none; }
  .nav-panel { background: var(--white); box-shadow: var(--shadow); }
  #main-menu.main-nav a { border-bottom: 1px solid var(--line); }
  #main-menu.main-nav .nav-cta { margin-top: .7rem; border-bottom: 0; }
  .mobile-utility-nav { border-color: var(--line); }
  .home-hero::after { width: 50%; opacity: .75; }
  .home-hero-grid { grid-template-columns: 1fr !important; min-height: 0 !important; padding-block: 2.75rem !important; }
  .home-hero-portrait { display: none; }
  .quick-card { border-right: 0; border-bottom: 1px solid var(--line); }
  .quick-card:last-child { border-bottom: 0; }
  .home-pricing, .home-location { grid-template-columns: 1fr; }
  .home-visit { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
  .home-post-grid--single .home-post-card { grid-template-columns: 1fr; min-height: 0; }
  .home-post-grid--single .home-post-image { display: block; min-height: 210px; aspect-ratio: 16 / 8; }
  .home-post-grid--single .home-post-image img { min-height: 210px; }
  .home-blog-heading { align-items: center; }
  .price-card { min-height: 230px; border-top: 1px solid rgba(255,255,255,.3); border-left: 0; }
  .location-image { min-height: 340px; }
  .profile-section { grid-template-columns: 1fr; }
  .page-nutricion .nutrition-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .page-nutricion .nutrition-figure { position: static; width: min(380px, 100%); }
  .page-nutricion .nutrition-copy { max-width: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  body { font-size: 15px; }
  .site-container { width: min(calc(100% - 2rem), var(--max)); }
  .topbar-inner { min-height: 34px; }
  .topbar .contact-strip a:nth-of-type(2), .topbar .contact-strip span { display: none; }
  .home-hero::after { width: 68%; }
  .home-hero-grid { padding-block: 2.25rem !important; }
  .home-hero h1 { font-size: clamp(2.65rem, 12vw, 3.5rem) !important; margin-bottom: .9rem !important; }
  .home-hero-lead { margin-bottom: 1.35rem !important; line-height: 1.55; }
  .quick-info--benefits { margin-bottom: 2.5rem !important; }
  .quick-info--benefits .quick-card { padding: .95rem 0; }
  .quick-info--benefits .quick-card > p:not(.quick-label) { min-height: 0; margin: .1rem 0 .5rem; }
  .home-pricing--compact .pricing-copy { padding: 1.75rem; }
  .home-visit { margin-bottom: 2.5rem; padding: 1.5rem 0; }
  .hero-contact-card { left: .8rem; right: .8rem; bottom: .8rem; }
  .home-blog-heading { align-items: stretch; flex-direction: column; gap: 1rem; }
  .home-blog-heading .button { align-self: flex-start; }
  .home-post-grid--single .home-post-image { min-height: 180px; aspect-ratio: 16 / 9; }
  .home-post-grid--single .home-post-image img { min-height: 180px; }
  .home-post-grid--single .home-post-body { padding: 1.4rem; }
  .section-heading { display: block; }
  .section-heading h2 { margin-top: .45rem; }
  .experience-grid, .home-post-grid { grid-template-columns: 1fr; }
  .credentials-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consultation-gallery { grid-template-columns: 1fr; }
  .page-hero { margin-inline: -1rem !important; margin-bottom: 2rem !important; padding: 2.3rem 1rem 2rem !important; }
  .page-hero::before { right: -10rem; top: -10rem; opacity: .5; }
  .page-hero::after { right: 28%; bottom: -7rem; }
  .page-hero h1 { font-size: clamp(2.45rem, 11vw, 3.65rem) !important; line-height: .98 !important; }
  .content-area, .post-content { font-size: 1rem; }
  .content-area h2, .post-content h2 { font-size: clamp(2rem, 10vw, 2.8rem); }
  .content-area table, .post-content table { display: block; overflow-x: auto; white-space: normal; }
  .contact-layout { grid-template-columns: 1fr; }
  .nutrition-principles { grid-template-columns: 1fr; }
  .nutrition-principle { display: grid; grid-template-columns: 2rem minmax(0, 1fr); column-gap: .8rem; }
  .nutrition-principle svg { grid-row: 1 / span 2; margin: .1rem 0 0; }
  .nutrition-cta { align-items: stretch; }
  .nutrition-cta .button { flex: 1 1 auto; text-align: center; }
  .footer-grid { grid-template-columns: 1fr; gap: 2.4rem; }
  .footer-bottom-inner { align-items: flex-start; gap: .8rem; flex-direction: column; }
}

/* Final accessibility, SEO-content and performance polish */
:where(a, button, input, textarea, [role="button"]):focus-visible {
  outline: 3px solid var(--tomato);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px var(--white);
}
.site-footer :where(a, button):focus-visible,
.home-hero :where(a, button):focus-visible { outline-color: var(--apricot); box-shadow: 0 0 0 2px var(--ink-dark); }
.quick-card .quick-label { margin: 0 0 .2rem; line-height: 1.25; }
.nutrition-section-title { margin: 1.5rem 0 .75rem; color: var(--ink); font-size: clamp(1.8rem, 3vw, 2.6rem); }
.content-resource, .content-next-step, .pricing-next-step {
  margin-top: 1.5rem;
  padding: 1rem 1.1rem;
  border-left: 4px solid var(--tomato);
  background: var(--cream);
}
.content-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: 1.5rem; }
.post-resources { margin-top: 3rem; padding: 1.5rem; border: 1px solid var(--line); background: var(--cream); }
.post-resources h2 { margin-top: 0; font-size: clamp(1.55rem, 3vw, 2.2rem); }
.form-status { min-height: 1.6em; margin: 0; color: var(--ink); font-weight: 700; }
.map-placeholder {
  display: grid;
  place-content: center;
  min-height: 360px;
  padding: 2rem;
  border: 1px solid var(--line);
  background: var(--cream);
  text-align: center;
}
.map-placeholder p { margin: 0 0 .65rem; }
.map-placeholder .button { justify-self: center; margin-top: .4rem; }
.accordion-title { width: 100%; border: 0; background: transparent; color: var(--ink); font: inherit; text-align: left; }
.accordion-title:focus-visible { background: var(--cream); }
.accordion-title[aria-expanded="true"] { color: var(--tomato); }
.blog-archive .home-post-card { height: 100%; }
.blog-archive .home-post-body { display: flex; flex-direction: column; }
.blog-archive .blog-read-more { margin-top: auto; }
.site-footer h2 { font-size: 1.02rem; letter-spacing: .04em; }

@media (max-width: 800px) {
  .home-hero-portrait {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    align-items: stretch;
    width: min(100%, 430px);
    margin: 0 auto;
    box-shadow: 8px 8px 0 rgba(169,201,93,.42);
  }
  .home-hero-portrait > img { width: 108px; height: 146px; object-fit: cover; object-position: 50% 25%; }
  .home-hero-portrait .hero-contact-card { position: static; display: flex; flex-direction: column; min-width: 0; padding: 1rem; }
  .home-hero-portrait .hero-contact-card strong { font-size: .82rem; }
  .home-hero-portrait .hero-contact-card span { font-size: .7rem; }
  .home-hero-portrait .hero-contact-card a { margin-top: auto; font-size: .7rem; }
}
@media (max-width: 480px) {
  .content-actions { align-items: stretch; flex-direction: column; }
  .content-actions .button { width: 100%; text-align: center; }
  .map-placeholder { min-height: 300px; }
}

/* Horario: compact information-first layout */
.page-horario { max-width: 1040px; }
.hours-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
  padding: clamp(1.6rem, 4vw, 3.5rem);
  border-top: 5px solid var(--leaf);
  background: var(--white);
  box-shadow: 0 18px 55px rgba(25, 58, 45, .08);
}
.hours-summary h2 { margin: .25rem 0 1rem; font-size: clamp(2rem, 4vw, 3.4rem); }
.hours-lead { max-width: 56ch; font-size: 1.08rem; line-height: 1.75; }
.hours-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.6rem; }
.hours-details { display: grid; gap: .75rem; }
.hours-detail {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding: 1.1rem 1.2rem;
  border: 1px solid var(--line);
  background: var(--cream);
}
.hours-detail svg { width: 2rem; height: 2rem; margin-top: .1rem; fill: none; stroke: var(--tomato); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.hours-detail h3 { margin: 0 0 .25rem; font-family: inherit; font-size: 1rem; letter-spacing: .02em; }
.hours-detail p { margin: 0; color: var(--ink-soft); line-height: 1.55; }
.hours-note { max-width: 1040px; margin: 1rem auto 0; padding: 1rem 1.2rem; border-left: 4px solid var(--tomato); background: var(--leaf-light); }

/* La consulta: editorial introduction and balanced gallery */
.page-la-consulta { max-width: 1120px; }
.consultation-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
  margin-bottom: clamp(3rem, 7vw, 5rem);
}
.consultation-copy h2 { margin: .3rem 0 1rem; font-size: clamp(2.1rem, 4.3vw, 3.7rem); }
.consultation-lead { font-size: 1.08rem; line-height: 1.75; }
.consultation-features { display: grid; gap: .75rem; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.consultation-features li { position: relative; padding-left: 1.6rem; }
.consultation-features li::before { content: ''; position: absolute; left: 0; top: .62em; width: .55rem; height: .55rem; border-radius: 50%; background: var(--tomato); }
.consultation-featured { margin: 0; box-shadow: 14px 14px 0 var(--leaf-light); }
.consultation-featured img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.consultation-featured figcaption { padding: .7rem 1rem; background: var(--ink); color: var(--white); font-size: .8rem; letter-spacing: .04em; }
.consultation-gallery-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 2rem; align-items: end; margin-bottom: 1.3rem; }
.consultation-gallery-heading .section-kicker { grid-column: 1 / -1; }
.consultation-gallery-heading h2 { margin: .25rem 0 0; font-size: clamp(2rem, 4vw, 3.2rem); }
.consultation-gallery-heading > p:last-child { margin: 0 0 .35rem; color: var(--ink-soft); }
.consultation-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.consultation-image { aspect-ratio: 4 / 3; }
.consultation-image img { display: block; }
.consultation-image:focus-visible { outline-offset: 4px; }

/* Long-form health content */
.post-highlight { margin: 1.5rem 0; padding: 1.1rem 1.25rem; border-left: 4px solid var(--tomato); background: var(--leaf-light); line-height: 1.7; }
.post-content > ul { margin-block: 1rem 1.6rem; }
.post-content > ul li { margin-bottom: .65rem; }

@media (max-width: 800px) {
  .hours-panel, .consultation-overview { grid-template-columns: 1fr; }
  .hours-panel { gap: 1.75rem; }
  .consultation-featured { width: min(100%, 520px); }
  .consultation-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .hours-panel { margin-inline: -.2rem; padding: 1.3rem; }
  .hours-actions, .consultation-copy .content-actions { align-items: stretch; flex-direction: column; }
  .hours-actions .button, .consultation-copy .button { width: 100%; text-align: center; }
  .hours-detail { grid-template-columns: 2.2rem minmax(0, 1fr); padding: 1rem; }
  .consultation-gallery-heading { display: block; }
  .consultation-gallery-heading > p:last-child { margin-top: .45rem; }
  .consultation-gallery { grid-template-columns: 1fr; }
}

/* Wide interior layout and article navigation */
:root { --max: 1440px; }
.site-container { width: min(calc(100% - clamp(2rem, 5vw, 6rem)), var(--max)); }

/* Generic interior pages use the available shell instead of a second narrow centered column. */
.content-area { width: 100%; max-width: none; margin-inline: 0; }
.content-area.prose > p,
.content-area.prose > ul,
.content-area.prose > ol,
.content-area.prose > blockquote { max-width: 82ch; }

/* Legal documents need room for tables while their prose retains a readable measure. */
.content-area:has(> .legal-copy) { max-width: none; }
.legal-copy { width: 100%; max-width: 1240px; margin-inline: 0; }
.legal-copy p,
.legal-copy li { max-width: 92ch; }
.legal-copy table { max-width: 1180px; }

/* Articles: wide two-column shell, restrained reading column, useful navigation. */
.article-reading-layout {
  display: grid;
  grid-template-columns: minmax(0, 900px) minmax(260px, 330px);
  justify-content: space-between;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
}
.article-reading-layout .post-content { width: 100%; max-width: 900px; margin: 0; }
.article-reading-layout .post-content > p,
.article-reading-layout .post-content > ul,
.article-reading-layout .post-content > ol { max-width: 78ch; }
.article-reading-layout .post-content > p:has(> img),
.article-reading-layout .post-content > img { max-width: 100%; }
.article-sidebar {
  position: sticky;
  top: 1.5rem;
  display: grid;
  gap: 1rem;
  min-width: 0;
}
.sidebar-section { padding: 1.35rem; border: 1px solid var(--line); background: var(--white); }
.sidebar-section:first-child { border-top: 5px solid var(--leaf); }
.sidebar-section h2 {
  margin: .2rem 0 1rem;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.sidebar-posts,
.sidebar-links { margin: 0; padding: 0; list-style: none; }
.sidebar-posts li { padding: .85rem 0; border-top: 1px solid var(--line); }
.sidebar-posts li:first-child { padding-top: 0; border-top: 0; }
.sidebar-posts a { display: block; color: var(--ink); font-weight: 750; line-height: 1.35; text-decoration-thickness: 1px; }
.sidebar-posts time { display: block; margin-top: .3rem; color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }
.sidebar-all-posts { display: inline-block; margin-top: .9rem; color: var(--tomato); font-size: .82rem; font-weight: 850; }
.sidebar-useful { background: var(--leaf-light); }
.sidebar-links { display: grid; gap: .55rem; margin-bottom: 1.2rem; }
.sidebar-links a { font-weight: 720; }
.sidebar-useful .button { width: 100%; text-align: center; }

@media (max-width: 1080px) {
  .article-reading-layout { grid-template-columns: minmax(0, 1fr) minmax(240px, 280px); gap: 2rem; }
}
@media (max-width: 850px) {
  .article-reading-layout { grid-template-columns: 1fr; }
  .article-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }
  .legal-copy { max-width: none; }
}
@media (max-width: 600px) {
  .site-container { width: min(calc(100% - 2rem), var(--max)); }
  .article-sidebar { grid-template-columns: 1fr; }
  .sidebar-section { padding: 1.1rem; }
  .legal-copy p,
  .legal-copy li { max-width: none; }
}

/* Keep the full-bleed interior hero inside the viewport at tablet widths. */
@media (min-width: 601px) and (max-width: 900px) {
  .content-shell > .page-hero {
    margin-inline: calc((100vw - 100%) / -2) !important;
    padding-inline: max(calc((100vw - 100%) / 2), 1.2rem) !important;
  }
}

/* Legal tables remain readable on narrow screens: scroll the table, not the page. */
@media (max-width: 700px) {
  .legal-copy table {
    display: block;
    width: 100% !important;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
  .legal-copy table > tbody {
    display: table;
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    table-layout: auto;
  }
  .legal-copy table:has(tr > :nth-child(4)) > tbody { min-width: 820px; }
  .legal-copy th,
  .legal-copy td { min-width: 135px; }
}

/* Let designed service pages participate in the wider shared shell. */
.content-area.page-nutricion,
.content-area.page-la-consulta { max-width: none; }
.page-nutricion .nutrition-layout { grid-template-columns: minmax(300px, 430px) minmax(0, 1fr); }
.page-nutricion .nutrition-copy { max-width: 780px; }

/* Restore the single-column nutrition layout below desktop after the wide-shell override. */
@media (max-width: 900px) {
  .page-nutricion .nutrition-layout { grid-template-columns: minmax(0, 1fr); }
  .page-nutricion .nutrition-figure {
    position: static;
    width: min(100%, 430px);
  }
  .page-nutricion .nutrition-copy { max-width: none; }
}

@media (max-width: 700px) {
  .legal-copy th,
  .legal-copy td,
  .legal-copy th p,
  .legal-copy td p {
    overflow-wrap: normal;
    word-break: normal;
  }
  .legal-copy th:first-child,
  .legal-copy td:first-child { min-width: 170px; }
}

/* One shared exterior grid: legal documents and tables meet the same right guide as the header. */
.content-area:has(> .legal-copy),
.legal-copy {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
.legal-copy table {
  width: 100% !important;
  max-width: none;
}

/* Complete interior compositions: use the shared shell intentionally, not as empty canvas. */

/* APPCC: concise service content becomes a balanced two-column service spread. */
.content-area.page-consultor-appcc { max-width: none; }
.service-intro--appcc {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
  width: 100%;
  max-width: none;
}
.service-intro--appcc .service-primary h2 {
  max-width: 22ch;
  margin: .35rem 0 1rem;
  font-size: clamp(1.85rem, 3.2vw, 2.9rem);
  line-height: 1.05;
}
.service-intro--appcc .service-primary > p { max-width: 64ch; }
.service-intro--appcc .service-lead { color: var(--ink); font-size: 1.1rem; line-height: 1.6; }
.service-intro--appcc .service-features { display: grid; gap: 0; margin: 1.75rem 0 0; padding: 0; list-style: none; max-width: 62ch; }
.service-intro--appcc .service-features li { display: grid; grid-template-columns: 1.3rem minmax(0, 1fr); column-gap: .7rem; row-gap: .12rem; padding: .9rem 0; border-top: 1px solid var(--line); }
.service-intro--appcc .service-features li:first-child { border-top: 0; padding-top: 0; }
.service-intro--appcc .service-features li::before { content: "\2713"; grid-row: 1 / span 2; align-self: start; color: var(--leaf); font-weight: 900; font-size: 1rem; line-height: 1.55; }
.service-intro--appcc .service-features strong { grid-column: 2; color: var(--ink); font-size: .98rem; font-weight: 800; }
.service-intro--appcc .service-features span { grid-column: 2; color: var(--muted); font-size: .93rem; line-height: 1.55; }
.service-intro--appcc .service-support { display: grid; gap: 1rem; }
.service-intro--appcc .service-note,
.service-intro--appcc .content-resource { margin: 0; }
.service-intro--appcc .service-note { padding: clamp(1.5rem, 3vw, 2.4rem); border-top: 5px solid var(--leaf); border-left: 0; background: var(--white); }
.service-intro--appcc .service-note p:last-child { margin-bottom: 0; }
.service-intro--appcc .content-resource { padding: 1.25rem 1.35rem; color: var(--muted); font-size: .92rem; }
.service-intro--appcc .content-actions { margin-top: 2rem; }

/* Pricing: compact section labels at left, existing price content at right. */
.page-precios-nutricion-arturo-esteve-gonzalez .pricing-section {
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  column-gap: clamp(2.5rem, 6vw, 6rem);
  row-gap: 1rem;
  align-items: start;
  padding-block: clamp(1rem, 2vw, 2rem);
}
.page-precios-nutricion-arturo-esteve-gonzalez .pricing-section > .section-heading {
  grid-column: 1;
  grid-row: 1 / span 3;
  position: sticky;
  top: 1.5rem;
  padding: 0 1.5rem 1.35rem 0;
  border-bottom: 0;
  border-right: 1px solid var(--line);
}
.page-precios-nutricion-arturo-esteve-gonzalez .pricing-section > .section-heading h2 {
  margin-top: .4rem;
  font-size: clamp(2rem, 3vw, 3rem) !important;
  line-height: 1.02;
}
.page-precios-nutricion-arturo-esteve-gonzalez .pricing-section > :not(.section-heading) { grid-column: 2; }
.page-precios-nutricion-arturo-esteve-gonzalez .pricing-section + .pricing-section { padding-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid var(--line); }
.page-precios-nutricion-arturo-esteve-gonzalez .pricing-package-note { max-width: none; }
.page-precios-nutricion-arturo-esteve-gonzalez .nutrition-price-panel { min-height: 220px; }

/* FAQs: image/title at left, accordion at right; next step spans the shared grid. */
.content-area.page-preguntas-frecuentes {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}
.page-preguntas-frecuentes .faq-intro { position: sticky; top: 1.5rem; margin: 0; }
.page-preguntas-frecuentes .faq-intro img { aspect-ratio: 16 / 9; max-height: none; }
.page-preguntas-frecuentes .faq-intro h2 { max-width: 12ch; font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1; }
.page-preguntas-frecuentes .accordion { margin: 0; }
.page-preguntas-frecuentes .content-next-step { grid-column: 1 / -1; width: 100%; max-width: none; margin: 0; }

/* Hours: the compact note belongs to the same full-width panel. */
.page-horario .hours-note { width: 100%; max-width: none; margin: 1rem 0 0; }

/* Long legal documents: readable document plus navigation made from existing headings. */
.document-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 310px);
  gap: clamp(3rem, 6vw, 6rem);
  align-items: start;
}
.document-layout .document-main { min-width: 0; }
.document-layout .legal-copy { width: 100%; }
.document-layout .legal-copy > p,
.document-layout .legal-copy li { max-width: 88ch; }
.document-toc {
  position: sticky;
  top: 1.5rem;
  padding: 1.35rem;
  border-top: 5px solid var(--leaf);
  background: var(--white);
}
.document-toc h2 { margin: .25rem 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.8rem; font-weight: 500; }
.document-toc ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: document-nav; }
.document-toc li { counter-increment: document-nav; border-top: 1px solid var(--line); }
.document-toc li:first-child { border-top: 0; }
.document-toc a { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: .45rem; padding: .65rem 0; color: var(--ink); font-size: .78rem; font-weight: 720; line-height: 1.35; text-decoration: none; }
.document-toc a::before { content: counter(document-nav, decimal-leading-zero); color: var(--tomato); font-size: .68rem; letter-spacing: .04em; }
.document-toc a:hover { color: var(--tomato); }
.document-main h2 { scroll-margin-top: 1.5rem; }

/* Short legal pages: distribute existing sections instead of stretching prose. */
.legal-copy--cards .legal-updated { max-width: none; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.legal-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.legal-card { padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid var(--line); background: var(--white); }
.legal-card:first-child { grid-column: 1 / -1; border-top: 5px solid var(--leaf); }
.legal-card h2 { margin: 0 0 .8rem; padding: 0; border: 0; font-size: clamp(1.6rem, 2.5vw, 2.25rem); }
.legal-card p:last-child { margin-bottom: 0; }
.legal-brief-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.legal-brief-main h2 { margin-top: 0; padding-top: 0; border-top: 0; }
.legal-channel-panel { padding: clamp(1.4rem, 3vw, 2.2rem); border-top: 5px solid var(--leaf); background: var(--white); }
.legal-channel-panel p:last-child { margin-bottom: 0; }

@media (max-width: 1000px) {
  .service-intro--appcc,
  .legal-brief-grid { grid-template-columns: 1fr; }
  .document-layout { grid-template-columns: minmax(0, 1fr) 240px; gap: 2rem; }
  .page-precios-nutricion-arturo-esteve-gonzalez .pricing-section { grid-template-columns: 240px minmax(0, 1fr); gap: 2rem; }
}
@media (max-width: 850px) {
  .document-layout,
  .content-area.page-preguntas-frecuentes,
  .page-precios-nutricion-arturo-esteve-gonzalez .pricing-section { grid-template-columns: 1fr; }
  .document-toc,
  .page-preguntas-frecuentes .faq-intro,
  .page-precios-nutricion-arturo-esteve-gonzalez .pricing-section > .section-heading { position: static; }
  .document-toc { grid-row: 1; }
  .page-precios-nutricion-arturo-esteve-gonzalez .pricing-section > .section-heading {
    grid-column: 1;
    grid-row: auto;
    padding: 0 0 1rem;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .page-precios-nutricion-arturo-esteve-gonzalez .pricing-section > :not(.section-heading) { grid-column: 1; }
  .page-preguntas-frecuentes .content-next-step { grid-column: 1; }
  .legal-card-grid { grid-template-columns: 1fr; }
  .legal-card:first-child { grid-column: 1; }
}
@media (max-width: 600px) {
  .service-intro--appcc .service-primary h2,
  .page-preguntas-frecuentes .faq-intro h2 { font-size: clamp(2.15rem, 10vw, 3rem); }
  .document-toc { padding: 1.1rem; }
  .document-toc ol { grid-template-columns: 1fr; }
  .legal-card,
  .legal-channel-panel { padding: 1.1rem; }
}

/* Full-grid utility notes must not inherit the prose measure. */
.content-area.page-horario > .hours-note,
.content-area.page-preguntas-frecuentes > .content-next-step {
  width: 100%;
  max-width: none !important;
}

/* Final placement of concise supporting notes. */
.hours-summary .hours-note {
  max-width: 62ch !important;
  margin: 1.4rem 0 0;
  background: var(--leaf-light);
}
.content-area.page-preguntas-frecuentes > .content-next-step {
  grid-column: 2;
  width: 100%;
  margin: 0;
}
@media (max-width: 850px) {
  .content-area.page-preguntas-frecuentes > .content-next-step { grid-column: 1; }
}

/* Responsive document index and explicit mobile table scrolling. */
.document-toc summary { cursor: default; list-style: none; }
.document-toc summary::-webkit-details-marker { display: none; }
.document-toc summary .section-kicker { display: block; }
.document-toc summary strong { display: block; margin: .25rem 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.8rem; font-weight: 500; }
.document-toc[open] summary { border-bottom: 0; }
.document-main .legal-copy table { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
@media (max-width: 850px) {
  .document-toc summary { position: relative; cursor: pointer; padding-right: 2rem; }
  .document-toc summary::after { content: "+"; position: absolute; right: 0; top: .35rem; color: var(--tomato); font-size: 1.5rem; font-family: sans-serif; }
  .document-toc[open] summary::after { content: "−"; }
  .document-toc summary strong { margin-bottom: 0; }
  .document-toc[open] summary strong { margin-bottom: 1rem; }
  .document-main .legal-copy table { -webkit-overflow-scrolling: touch; }
}

/* Legal prose uses the complete document column requested by the client. */
.document-layout .document-main .legal-copy p,
.document-layout .document-main .legal-copy li,
.document-layout .document-main .legal-copy > ul,
.document-layout .document-main .legal-copy > ol,
.document-layout .document-main .legal-copy > blockquote {
  width: 100%;
  max-width: none;
}

/* Legal navigation: original page switcher plus generated section index. */
.document-sidebar {
  position: sticky;
  top: 1.5rem;
  display: grid;
  gap: 1rem;
  min-width: 0;
}
.document-sidebar .document-toc { position: static; top: auto; }
.legal-page-menu {
  padding: 1.35rem;
  border-top: 5px solid var(--tomato);
  background: var(--white);
}
.legal-page-menu h2 {
  margin: .25rem 0 1rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.8rem;
  font-weight: 500;
}
.legal-page-menu ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.legal-page-menu li { border-top: 1px solid var(--line); }
.legal-page-menu li:first-child { border-top: 0; }
.legal-page-menu a {
  display: block;
  padding: .72rem 0;
  color: var(--ink);
  font-size: .84rem;
  font-weight: 760;
  line-height: 1.35;
  text-decoration: none;
}
.legal-page-menu a:hover,
.legal-page-menu a.is-current { color: var(--tomato); }
.legal-page-menu a.is-current::before { content: "→ "; }
.legal-copy--original > :first-child { margin-top: 0; }
.legal-copy--original table { width: 100% !important; max-width: 100%; }
.legal-copy--original td p,
.legal-copy--original th p { margin: 0; max-width: none; }
@media (max-width: 850px) {
  .document-sidebar { position: static; grid-row: 1; grid-template-columns: 1fr; }
  .document-sidebar .document-toc { grid-row: auto; }
  .legal-page-menu { padding: 1.1rem; }
  .legal-page-menu ul { grid-template-columns: 1fr; }
}

/* --- 2026-08-13: homepage blog trio, footer thumbnails, WhatsApp, a11y polish --- */
.home-post-grid--trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-post-excerpt { margin: .55rem 0 1rem; color: var(--muted); font-size: .92rem; line-height: 1.55; }
@media (max-width: 800px) { .home-post-grid--trio { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .home-post-grid--trio { grid-template-columns: 1fr; } }

/* Footer recent posts with thumbnails */
.recent-posts { display: grid; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.recent-posts li { margin: 0; }
.recent-posts a { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: .7rem; align-items: center; padding: .45rem 0; text-decoration: none; }
.recent-post-thumb { width: 52px; height: 52px; object-fit: cover; border-radius: 4px; background: rgba(255,255,255,.06); }
.recent-post-thumb--placeholder { display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.14); }
.recent-post-thumb--placeholder svg { width: 1.4rem; height: 1.4rem; fill: none; stroke: var(--apricot); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.recent-post-title { min-width: 0; font-size: .86rem; line-height: 1.35; color: #edf2e8; }
.recent-posts a:hover .recent-post-title { color: var(--apricot); }

/* Floating WhatsApp button */
.whatsapp-float { position: fixed; right: 1.1rem; bottom: 1.1rem; z-index: 60; display: inline-flex; align-items: center; gap: .55rem; padding: .7rem 1rem .7rem .8rem; border-radius: 999px; background: #25d366; color: #fff; box-shadow: 0 10px 26px rgba(0,0,0,.3); text-decoration: none; font-weight: 800; font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; transition: transform .18s ease, box-shadow .18s ease; }
.whatsapp-float:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 14px 32px rgba(0,0,0,.36); }
.whatsapp-float svg { width: 1.55rem; height: 1.55rem; fill: #fff; flex: none; }
.whatsapp-float:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@media (max-width: 600px) { .whatsapp-float { right: .85rem; bottom: .85rem; padding: .85rem; } .whatsapp-float-label { display: none; } }
@media (prefers-reduced-motion: reduce) { .whatsapp-float { transition: none; } .whatsapp-float:hover { transform: none; } }

/* Accessibility: raise accent-label contrast to WCAG AA on light backgrounds.
   Scoped to labels that only ever sit on white/paper cards (not the tomato-background
   sections), so the brand accent is untouched where it works. */
.article-meta, .blog-read-more, .sidebar-all-posts { color: #b8431f; }
.section-kicker { color: var(--leaf); }

/* Article inline internal-linking CTA */
.article-inline-cta { margin: 2.25rem 0 0; padding: 1.15rem 1.35rem; border-left: 4px solid var(--tomato); background: var(--leaf-light); }
.article-inline-cta p { margin: 0; color: var(--ink); font-weight: 600; line-height: 1.6; }

/* Contact form: spam honeypot (hidden from people) and submission banners */
.hp-field { position: absolute !important; left: -9999px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }
.form-status--ok, .form-status--error { min-height: 0; margin: 0 0 1.4rem; padding: .9rem 1.1rem; font-weight: 700; }
.form-status--ok { border-left: 4px solid var(--leaf); background: var(--leaf-light); }
.form-status--error { border-left: 4px solid var(--tomato); background: #f8e9e3; }
