/* Responsive refinements: content must fit instead of hiding page overflow. */
.client-names{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:clamp(10px,2.4vw,32px);min-width:0;width:100%}
.client-names .client-logo{flex:1 1 0;width:0;min-width:0;max-width:160px;height:48px;max-height:none;object-fit:contain}
.client-names .brand-copilot{flex-grow:1.5}.client-names .brand-3m{flex-grow:.72}.client-names .brand-bac{flex-grow:1.25}.client-names .brand-auto-mercado{flex-grow:1.12}.client-names .brand-pg{flex-grow:.85}
.header-inner>*,.page-layout>*,.login-layout>*,.contact-layout>*,.form-grid>*,.admin-workspace>*,.admin-grid>*,.resource-grid>*,.experience-grid>*,.intro-strip>*{min-width:0}
.field,fieldset,form,.panel,.admin-content,.password-control{min-width:0}
h1,h2,h3,p,summary,.contact-link,.footer-links a,.resource-card,.admin-row{overflow-wrap:anywhere}
.button{max-width:100%;white-space:normal;text-align:center}.button .arrow,.circle-link{flex-shrink:0}
input,select,textarea{max-width:100%}.check span{min-width:0}.check input,.option input{flex-shrink:0}
@media(max-width:1000px){
 .header{height:76px}.header-inner{gap:12px}.header .brand-name{display:block}.header-actions{gap:10px}.header-actions>.button{display:none}
 .menu-button{display:block;min-width:52px;min-height:44px}.header .nav{display:none;position:absolute;top:75px;left:0;right:0;background:#141610;padding:16px 24px;border-bottom:1px solid var(--line);max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain}
 .header .nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header .nav a{padding:16px;min-height:48px}.nav a[aria-current=page]:after{left:16px;bottom:8px}
 .intro-strip{grid-template-columns:minmax(0,1fr)}.intro-strip p{max-width:none}
}
@media(max-width:800px){
 :root{--mobile-gutter:20px}.container{width:calc(100% - var(--mobile-gutter)*2)}
 .header{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
 .page-layout,.contact-layout,.login-layout{padding-bottom:56px}.page-head{padding-top:30px}.page-head h1{font-size:clamp(32px,7vw,46px);line-height:1.12}
 .section{padding-block:60px}.section-intro{max-width:100%}.page-head>p:not(.eyebrow){font-size:.95rem}
 .field input,.field select,.field textarea,.admin-main .field input,.admin-main .field select,.admin-main .field textarea,.admin-search input,.admin-pagination input,.admin-login-form .field input{font-size:16px;min-height:48px}
 .field>label,.admin-main .field label,fieldset>legend,.admin-main legend{font-size:.82rem;line-height:1.6}
 .field small,.admin-main .field small{font-size:.75rem;line-height:1.65}.field{margin-bottom:22px}
 .button,.admin-main .button{min-height:48px}.subnav{gap:6px;max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin}.subnav a,.subnav button{flex-shrink:0;min-height:48px}
 .contact-link{min-height:64px;font-size:.88rem}.contact-link small{font-size:.75rem}.contact-copy .minor-links{flex-wrap:wrap;gap:12px 24px}.contact-copy .minor-links a{min-height:44px;display:inline-flex;align-items:center}
 .aside-photo,.login-intro img{height:auto;aspect-ratio:1.5;object-fit:cover}.sticky-aside{position:static}
 .faq-list summary{min-height:52px;font-size:.9rem}.faq-list details p,.side-note,.benefit-list{font-size:.88rem}
 .footer-links a,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}.footer-links{gap:8px 24px}.footer-bottom{line-height:1.8}.footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
 #toast{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:none;font-size:.85rem;line-height:1.6;padding:16px}
 .admin-main .panel .panel{padding:18px}.admin-main .panel h2{font-size:1.25rem}.admin-main p{font-size:.85rem;line-height:1.7}
 .admin-pagination input{width:100%;min-width:0;flex-basis:100%}.admin-pagination{gap:10px}.admin-context{flex-direction:column;align-items:flex-start}
 .admin-quote summary{flex-wrap:wrap;gap:12px}.admin-quote summary>*{min-width:0}.admin-list-heading{flex-wrap:wrap}.admin-foot{line-height:1.8}
 .password-toggle{min-width:74px;font-size:.75rem;top:3px;bottom:3px;min-height:44px}.password-control input{min-height:52px;padding-right:92px}
 input[type=file]{font-size:.8rem;padding:10px;overflow:hidden}input::file-selector-button{max-width:100%;min-height:44px;margin-bottom:4px}
}
@media(max-width:640px){
 .form-grid,.option-grid,.resource-grid,.admin-main .resource-grid,.media-admin-grid{grid-template-columns:minmax(0,1fr)}
 .experience-grid{grid-template-columns:minmax(0,1fr);gap:38px}.experience-card:nth-child(2){padding-top:0}.experience-card>img,.experience-card:nth-child(2)>img{aspect-ratio:1.25}
 .hero,.hero-copy{min-height:620px;min-height:clamp(560px,82svh,700px)}.hero-copy{padding:32px 22px;gap:0}.hero h1{font-size:clamp(48px,12vw,76px);line-height:1.02;margin-bottom:26px}
 .hero-copy>.eyebrow{font-size:.64rem;line-height:1.7;letter-spacing:.09em;margin-bottom:25px}.hero-copy>p:not(.eyebrow){font-size:.9rem;line-height:1.75}.hero .actions{flex-direction:column;align-items:stretch;width:100%;gap:8px;padding-top:14px}.hero .button{font-size:.82rem}.hero .button.text{align-self:center}
 .client-names{gap:12px}.client-names .client-logo{height:38px;max-height:none;max-width:160px}
 .intro-strip{gap:16px;padding-block:26px}.intro-strip p{font-size:.7rem}
 .journey-nav a{padding:18px 12px;align-items:center;gap:10px;font-size:.8rem}.journey-nav a:first-child{padding-left:12px}.journey-nav small{font-size:.6rem;letter-spacing:.05em}.journey-nav .arrow{font-size:1.1rem}
 #experiencias h2,.chef-copy h2,.club-banner h2{font-size:clamp(32px,8vw,43px)}.chef-section>img{height:auto;aspect-ratio:1.05;object-fit:cover}.credentials{flex-wrap:wrap;gap:20px}.credentials span{flex:1 1 110px;font-size:.76rem}
 .club-banner>div{padding:30px 22px}.club-banner>img{height:auto;aspect-ratio:1.4;object-fit:cover}.method{gap:14px}.method article{min-width:0}.method p{font-size:.83rem}.method h3{font-size:1rem}
 .contact-image{min-height:350px}.contact-image h2{font-size:clamp(32px,9vw,45px)}.contact-copy h1{font-size:clamp(32px,9vw,45px)}
 .steps{gap:8px}.steps li{flex-direction:column;align-items:flex-start;gap:8px;font-size:.72rem;padding-right:0}.steps li span{width:30px;min-width:30px;height:30px}.steps li.current{font-weight:600}
 .form-actions{display:flex;flex-wrap:wrap;gap:12px}.form-actions>.button{flex:1 1 130px;font-size:.82rem;padding:14px}.form-actions>small,.form-actions>p{flex-basis:100%}
 .resource-card .actions{width:100%;flex-wrap:wrap}.resource-card .actions .button{font-size:.8rem}.summary{grid-template-columns:minmax(0,1fr)}.summary dt{font-size:.75rem}.summary dd{font-size:.88rem}
 .qr-pair{gap:16px}.qr-pair img{width:100%;height:auto}.qr-pair a{overflow-wrap:anywhere;font-size:.78rem;min-height:44px;padding-block:8px}
 .rating{justify-content:space-between;gap:0}.rating label{min-width:44px;min-height:48px;padding:6px}.rating label span{font-size:.72rem}
 .admin-page-heading{gap:16px}.admin-page-heading h1{font-size:clamp(28px,8vw,36px)}.admin-topbar{gap:10px}.admin-topbar>span{overflow-wrap:anywhere}.admin-topbar .muted{display:block;margin:6px 0 0}
 .admin-nav-item{min-height:48px}.admin-sidebar nav{scroll-padding-inline:16px;overscroll-behavior-x:contain}.admin-stats>div{padding:18px 14px}.admin-stats span{font-size:.72rem;line-height:1.5}.admin-stats strong{font-size:28px}
 .admin-login-story{min-height:220px}.admin-login-story h1{font-size:32px}.admin-login-form{padding:30px 20px}.admin-login-form h2{font-size:30px}.admin-main .button{font-size:.8rem}.admin-mobile-logout{min-height:44px}
 .check{font-size:.82rem}.option{font-size:.86rem;padding:18px}.option small{font-size:.76rem}.legal p{font-size:.9rem}.policy-text{font-size:.9rem}
}
@media(max-width:360px){
 :root{--mobile-gutter:16px}.header-inner{gap:8px}.brand img{width:38px;height:45px}.header .brand-name{font-size:.6rem}.header-actions{gap:4px}.menu-button{min-width:48px;padding:8px}.lang{min-width:36px}
 .hero-copy{padding-inline:18px}.hero h1{font-size:46px}.hero-copy>.eyebrow:before{width:16px}.client-names{gap:9px}.client-names .client-logo{height:32px}
 .panel,.admin-main .panel{padding:20px 16px}.admin-main .panel .panel{padding:14px}.journey-nav small{letter-spacing:0;font-size:.55rem}.journey-nav a{font-size:.75rem}
 .method{grid-template-columns:minmax(0,1fr)}.form-actions>.button{flex-basis:100%}
}
@media(max-height:500px) and (orientation:landscape){.header{position:relative}.sticky-aside{position:static}.hero,.hero-copy{min-height:540px}.admin-sidebar{position:relative}}

.nav .mobile-quote{display:none}
@media(max-width:1000px){.nav.open .mobile-quote{display:block;color:var(--text);background:var(--accent);margin-top:10px}.admin-main .form-grid,.admin-main .option-grid{grid-template-columns:minmax(0,1fr)}}
