/* Lectura cómoda y redistribución para las cuatro páginas de BFL Studio. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:1.5rem}
body{font-size:1.125rem;line-height:1.7;overflow-wrap:break-word}
[data-bfl-page="hogar"]{--muted:#4f6058}
[data-bfl-page="barberia"]{--rust:#a84025}
[data-bfl-page="fotografia"]{--muted:#5d5049}
[data-bfl-page="fotografia"] .contact-grid>div>p:not(.eyebrow),
[data-bfl-page="fotografia"] .contact-card small,
[data-bfl-page="fotografia"] #copy-status{color:#57463f}
img{max-width:100%}
p,li,small,label,summary,figcaption{overflow-wrap:break-word}
button,input,select,textarea{font-size:1rem;line-height:1.5}
input,select,textarea{max-width:100%;min-width:0;min-height:3rem}
button{cursor:pointer}
button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}
nav a,.button,.text-link,.underlined,.filter,.menu,.menu-toggle,.menu-button{min-height:3rem}
summary{min-height:3rem;align-items:center}
small{font-size:1rem;line-height:1.7}
.eyebrow,.offer-label,.bfl-next-label{font-size:1rem;line-height:1.65;letter-spacing:.08em}
.hero-description,.intro,.hero-desc,.hero-aside p,.section-head>p,.section-heading>p,
.project-info>p:not(.eyebrow),.project-features,.offer-subtitle,.offer ul,.offer-conditions p,
.custom-project p,.process-grid p,.about-copy>p:not(.eyebrow),.faq details p,
.contact-copy>p:not(.eyebrow),.service p,.service-copy p,.steps p,.gallery-note p,
.experience-copy>p:not(.eyebrow),.experience li p,.space-bottom p,.sessions-grid p,
.approach-grid>div>p:not(.eyebrow),.approach li p,.contact-grid>div>p:not(.eyebrow),
.contact p:not(.eyebrow),.contact-inner p,.bfl-next-step p:not(.bfl-next-label){font-size:1.125rem;line-height:1.8}
.contact-card label,dialog label{font-size:1rem;line-height:1.6}
.contact-card input::placeholder{font-size:1rem;opacity:1}
.contact-card textarea{font-size:1rem;min-height:11rem;resize:vertical}
.contact-note,.contact-copy small,.offer small,.project-info small,.prices-note,.disclaimer,
.gallery-note,.gallery-note small,.sessions>small,.approach small,.contact-card small,
.demo-selector-help,.demo-context,.hero-note,.hero-note p,.footer-bottom,
.footer-main p,.footer-main>a:last-child,.bfl-next-step .bfl-next-action small{font-size:1rem;line-height:1.75}
.hero>*,.hero-heading>*,.section-head>*,.section-heading>*,.project>*,.offer-grid>*,
.contact>*,.contact-grid>*,.contact-card,.footer-main>*,.bfl-next-step-inner>*,.process-grid>*,.steps li>div{min-width:0}
.button{white-space:normal;text-align:left;line-height:1.5;gap:1rem}
.price{line-height:1.2}.price span{display:inline-block;line-height:1.5}
.offer-top{flex-wrap:wrap;gap:14px}.offer-label{min-width:0;overflow-wrap:anywhere}
.visual-caption,.browser-bar,.preview-bottom,.footer-bottom,.demo-bar,.demo-notice{flex-wrap:wrap}
.demo-option span{display:block;font-size:1rem;line-height:1.4;padding:12px 9px;min-height:4.25rem}
.demo-option span:after{margin-left:.4rem}
.demo-options{gap:10px}
.demo-option img{height:72px}
.browser-bar{line-height:1.5}.preview-bottom{gap:12px}
.marquee .container,.service-strip .wrap,.strip .wrap{flex-wrap:wrap;gap:14px 22px;padding-top:18px;padding-bottom:18px;font-size:1rem;letter-spacing:.05em}
dialog{max-width:calc(100% - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain}
dialog::backdrop{background:#000b}
dialog button[aria-label]{min-width:44px;min-height:44px}
.brand small,.brand span,footer .brand span{line-height:1.5;letter-spacing:.1em}
.brand{min-width:0}.brand span,.brand small{white-space:normal}
.vertical-note{display:none}
.hero-image figcaption,.hero-image>figcaption,.wide-photo figcaption,.approach figcaption{line-height:1.6;letter-spacing:.04em}
.gallery-item figcaption{flex-wrap:wrap;gap:10px}
.sessions-grid a,.service a,.service-price a{min-height:3rem;align-items:center;line-height:1.5}
.filter{padding:10px 15px;line-height:1.5}
.bfl-next-step a.bfl-next-button,.bfl-next-step .bfl-next-return{font-size:1rem;min-height:3rem;line-height:1.5}
.bfl-next-step .bfl-next-action small{font-size:1rem}
@media(max-width:1050px){
  [data-bfl-page="studio"] .hero{gap:32px}
  [data-bfl-page="studio"] .header-inner{gap:20px}
  [data-bfl-page="studio"] nav{gap:18px}
  .section-head,.section-heading{flex-wrap:wrap;gap:24px}
  .section-head>p,.section-heading>p{max-width:36rem}
  .offer{padding:28px}.offer .price{font-size:2.5rem}
}
@media(min-width:761px) and (max-width:1000px){
  [data-bfl-page="studio"] .hero{grid-template-columns:1fr}
  [data-bfl-page="studio"] .hero h1{font-size:5rem;max-width:700px}
  [data-bfl-page="studio"] .hero-visual{max-width:700px;width:100%;margin:auto}
  .sessions-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .container,.wrap{padding-left:clamp(18px,5vw,30px);padding-right:clamp(18px,5vw,30px)}
  header{gap:16px}.header-inner{gap:16px}
  .hero h1{font-size:clamp(2.75rem,12vw,5rem);line-height:1.08;letter-spacing:-.045em}
  .hero-description,.intro,.hero-desc{max-width:38rem}
  .hero-actions{align-items:stretch;gap:16px}
  .hero-points{font-size:1rem;gap:12px 20px}
  .browser-preview{transform:none}
  .hero-visual .visual-caption{font-size:1rem;letter-spacing:.04em;line-height:1.6}
  .browser-bar,.preview-bottom>span:last-child{font-size:1rem;letter-spacing:.03em}
  .offer-grid,.about,.faq-grid,.faq,.process-grid,.services-grid,.sessions-grid{grid-template-columns:1fr}
  .offer{padding:26px}.offer .price{font-size:2.6rem}.offer .price span{font-size:1rem}
  .offer .button,.button{font-size:1rem}
  .custom-project{display:block}.custom-project a{margin-top:20px}
  .about-mark{max-width:520px;width:100%;margin:auto}
  .about-mark>div{font-size:1rem;letter-spacing:.05em;text-align:center;padding:0 16px}
  .contact h2,.contact-inner h2{font-size:clamp(2.5rem,10vw,3.75rem);line-height:1.1}
  .contact-card{padding:clamp(18px,5vw,28px)}
  .contact-card .eyebrow,.contact-copy .eyebrow{font-size:1rem;letter-spacing:.06em}
  .contact-card label{font-size:1rem}
  .contact .phone{font-size:clamp(1.3rem,6vw,1.75rem)}
  .footer-main,footer>div{flex-wrap:wrap;gap:24px}
  .footer-bottom{align-items:flex-start;gap:16px;font-size:1rem}
  .footer-bottom>span:last-child{max-width:none;text-align:left}
  .project-image-top{flex-wrap:wrap;gap:10px}.tag{font-size:1rem;letter-spacing:.02em;max-width:85%}
  .hero-note{max-width:100%}.hero-note p{font-size:1rem}
  .hero-photo figcaption{left:16px;right:16px;bottom:16px;padding:16px;flex-wrap:wrap}
  .hero-photo figcaption small{font-size:1rem}
  .gallery figcaption{flex-wrap:wrap;line-height:1.6}
  .hero-image figcaption{flex-wrap:wrap;gap:12px;padding:14px;font-size:1rem}
  .hero-image figcaption>span:last-child{font-size:1rem}
  .hero-image figcaption>span{white-space:normal;min-width:0;overflow-wrap:anywhere}
  .service-strip .wrap{grid-template-columns:minmax(0,1fr)}
  .service-price{flex-wrap:wrap;min-width:0}
  .service-copy{min-width:0}
  .brand span,.brand small,footer .brand span{font-size:1rem;letter-spacing:.04em}
  .contact-stamp{display:none}
  .bfl-next-step .bfl-next-label{font-size:1rem;letter-spacing:.06em}
}
@media(max-width:520px){
  .hero h1{font-size:clamp(2.65rem,13.5vw,4.1rem)}
  .eyebrow{letter-spacing:.06em}
  .hero-actions .button,.hero-actions .underlined{width:100%;font-size:1rem}
  .preview-bottom{align-items:flex-start;flex-direction:column}
  .demo-options{gap:8px}.demo-option img{height:58px}.demo-option span{padding:11px 7px;font-size:1rem}
  .hero-visual .visual-caption{gap:8px}
  .footer-main{grid-template-columns:1fr}
  .footer-main>a:last-child{grid-column:auto}
  footer>div>a:last-child{max-width:none;text-align:left}
  .brand{flex-shrink:1;max-width:65%}.brand span,.brand small{font-size:1rem}
  .demo-bar,.demo-notice{font-size:1rem;line-height:1.65;letter-spacing:.03em;padding:12px 18px}
  .demo-bar a,.demo-notice a{display:inline-flex;align-items:center;min-height:44px}
  .contact-card .button,.bfl-next-step a.bfl-next-button{width:100%;font-size:1rem}
  .process-grid li{grid-template-columns:36px minmax(0,1fr)}
  .menu-list article{grid-template-columns:26px minmax(0,1fr)}
  .gallery-note{padding:26px}
  .image-open{font-size:1rem;max-width:calc(100% - 32px);line-height:1.5}
  .hero-image>figcaption,.wide-photo figcaption,.approach figcaption{font-size:1rem;line-height:1.6}
}
@media(hover:none){.button:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}




