/* Each route is a cover; the information footer remains in the viewport. */
html,body{height:100%;overflow:hidden}
.magazine{height:100svh;min-height:0;padding-bottom:calc(88px + env(safe-area-inset-bottom));overflow:hidden}
.site-header{flex-shrink:0;min-height:88px}
.page-footer{position:fixed;z-index:20}
.inside-story{min-height:0;overflow:hidden;padding-block:18px;gap:5vw;align-items:center}
.story-copy{max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}
.story-copy:focus-visible{outline:2px solid #fff;outline-offset:4px}
.home-story{min-height:0;padding:20px 0 14px;gap:28px}
.masthead{flex-shrink:0;padding-top:12px}
.page-1 .masthead h1{font-size:clamp(4rem,min(21vw,31svh),24rem)}
.masthead-caption{margin-top:18px}
.home-story h2{font-size:clamp(2.6rem,min(5.4vw,10svh),6rem)}
.cover-note{max-height:100%;overflow:auto}
@media(min-width:701px) and (max-height:850px){.story-copy{padding:24px}.inside-story .eyebrow{margin-bottom:14px}.story-copy h2{font-size:1.65rem;margin-bottom:18px}.story-copy>p{line-height:1.55}.story-copy>p+p{margin-top:12px}.section-index{margin-bottom:16px}.service-list summary{padding-block:16px}.service-description{padding-bottom:16px}.service-description p{line-height:1.5}.story-copy .editorial-link{margin-top:16px}.location{margin-top:22px}.email-link{margin-top:20px}}
@media(max-width:700px){.magazine{padding-inline:20px;padding-bottom:calc(82px + env(safe-area-inset-bottom))}.site-header{min-height:60px;padding-block:18px;gap:0}.site-header>nav{display:none}.site-header .header-location{display:block}.page-footer{bottom:calc(12px + env(safe-area-inset-bottom));max-width:calc(100% - 24px)}.pagination{gap:1px;padding:5px}.pagination a{padding:9px 12px;min-height:44px;font-size:.875rem}.pagination .page-number{display:none}.inside-story{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding:12px 0 8px}.story-title{flex-shrink:0}.story-title>.eyebrow{margin-bottom:12px}.story-title h1{font-size:clamp(2.25rem,min(10vw,6.4svh),4rem)}.title-caption{margin-top:12px;max-width:none;font-size:.875rem}.story-copy{margin:0;min-height:0;max-height:none;flex:0 1 auto;padding:21px}.story-copy h2{font-size:1.45rem;margin-bottom:16px}.story-copy>p{line-height:1.5}.story-copy>p+p{margin-top:12px}.story-copy>.editorial-link{margin-top:16px;font-size:.875rem;padding:10px 14px}.services-copy>.eyebrow{margin-bottom:14px;font-size:.75rem}.service-list summary{padding:14px 0}.service-list summary>span:nth-child(2){font-size:1.25rem}.service-description{padding-bottom:16px}.services-copy .service-description p{line-height:1.45}.service-description>span{margin-top:10px}.location{margin-top:20px}.email-link{margin-top:18px;font-size:1.2rem}.masthead{padding-top:12px}.page-1 .masthead h1{font-size:21vw}.masthead-caption{margin-top:12px;padding-top:8px;font-size:.75rem}.home-story{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:18px;padding-top:20px;padding-bottom:8px}.home-story .eyebrow{margin-bottom:12px}.home-story h2{font-size:clamp(2.6rem,min(12vw,8svh),4.8rem)}.page-1 .cover-note{margin:0;padding:20px;flex-shrink:0}.page-1 .cover-note p{font-size:1rem;line-height:1.45}.page-1 .cover-note .editorial-link{margin-top:14px;padding-block:9px}.photo-credit{display:none}}
@media(max-width:360px){.magazine{padding-inline:16px}.pagination a{padding-inline:10px}.inside-story{gap:14px}.story-copy{padding:17px}.home-story{gap:14px}.page-1 .cover-note{padding:17px}}
/* Preserve every paragraph at high zoom and on unusually short displays. */
@media(max-height:600px){.inside-story{overflow-y:auto;display:block}.story-copy{margin-top:18px;max-height:none;overflow:visible}.home-story{overflow-y:auto;display:block}.page-1 .cover-note{margin-top:18px}.masthead-caption{display:none}.page-1 .masthead h1{font-size:min(18vw,22svh)}.site-header{min-height:58px;padding-block:12px}.home-story h2{font-size:2.5rem}.masthead{padding-top:6px}.story-title h1{font-size:2.5rem}}
/* Studio signature and compact company footer. */
.brand{display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.brand-tagline{max-width:245px;font-size:.75rem;line-height:1.35;font-weight:400;letter-spacing:.01em}
.page-1 .brand{max-width:none}
.masthead-caption{letter-spacing:.06em;text-transform:uppercase}
.page-footer{inset:auto 0 0;transform:none;width:100%;max-width:none;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:6px 4.2vw calc(6px + env(safe-area-inset-bottom));border-width:1px 0 0;font-size:.75rem;line-height:1.65}
.footer-company,.footer-contact{display:flex;flex-direction:column;gap:1px}
.footer-company>span:first-child{font-weight:600;letter-spacing:.05em}
.footer-company>span:last-child,.footer-contact>span:first-child{opacity:.78}
.footer-contact small{font-size:inherit;opacity:.65}
.social-icons{display:flex;gap:8px;align-items:center}
.social-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.035)}
.social-icon svg{width:16px;height:16px}
.magazine{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
.home-story h2{font-size:clamp(2.6rem,min(4.6vw,8svh),5.2rem)}
@media(max-width:1000px){.site-header{gap:16px}.site-header nav a{padding-inline:12px}.brand-tagline{max-width:190px}.page-1 .cover-note{width:330px}}
@media(max-width:700px){
 .site-header{padding:15px 0 8px;min-height:0;gap:12px;flex-wrap:wrap}
 .site-header>nav{display:flex;order:2;flex-basis:100%;justify-content:space-between;margin-top:2px}
 .site-header nav a{min-height:40px;padding:8px 9px;font-size:.875rem}
 .brand{gap:4px}.brand-tagline{font-size:.75rem;max-width:230px}
 .site-header .header-location{margin-left:auto}
 .page-footer{min-height:60px;padding:6px 20px calc(6px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto;gap:2px 12px;font-size:.75rem}
 .footer-company{gap:0}.footer-company>span:last-child{display:none}
 .footer-contact{grid-column:1;gap:0}.footer-contact>span:first-child{display:none}
 .social-icons{grid-column:2;grid-row:1 / 3;gap:6px}
 .social-icon{width:30px;height:30px}.social-icon svg{width:17px;height:17px}
 .footer-company>span:first-child::after{content:' · Madrid';font-weight:400;letter-spacing:0;opacity:.8}
 .magazine{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
 .masthead-caption{display:flex;font-size:.75rem;line-height:1.45;max-width:280px;margin-top:12px}
 .home-story h2{font-size:clamp(2.2rem,min(10vw,7svh),4rem)}
 .page-1 .cover-note{width:100%;padding:18px}
 .home-story{gap:15px}
}
@media(max-width:360px){.page-footer{padding-inline:16px;gap:2px 8px}.social-icons{gap:4px}.social-icon{width:30px;height:30px}.footer-contact small{display:none}.brand-tagline{max-width:205px}}
@media(max-height:650px) and (min-width:701px){.site-header{min-height:78px}.page-1 .masthead h1{font-size:min(18vw,18svh)}.masthead-caption{display:flex;margin-top:10px}.home-story{display:flex;align-items:center;overflow-y:auto;padding-top:16px;gap:30px}.home-story h2{font-size:2.4rem}.page-1 .cover-note{margin:0;padding:18px;width:340px}.page-1 .cover-note p{font-size:.875rem;line-height:1.5}.page-1 .cover-note .editorial-link{margin-top:12px}}

/* One-line footer on every page. */
.page-footer{min-height:46px;flex-wrap:nowrap;gap:16px;line-height:1.3}
.footer-company,.footer-contact{display:block;white-space:nowrap}
.footer-company>span:first-child::after{content:none}
.footer-contact>span:first-child{display:inline;opacity:1}
.magazine{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
@media(max-width:700px){.page-footer{display:flex;min-height:46px;gap:8px;padding-inline:16px}.footer-company>span:first-child{letter-spacing:0}.footer-contact small{display:none}.social-icons{gap:4px;flex-shrink:0}.social-icon{width:24px;height:24px}.social-icon svg{width:14px;height:14px}.magazine{padding-bottom:calc(60px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.page-footer{padding-inline:8px;gap:4px}.social-icons{gap:3px}.social-icon{width:20px;height:24px;border:none}}
.page-footer .footer-company>span{display:inline;opacity:1}
/* Keep navigation on the viewport axis and bring both editorial columns inward. */
@media(min-width:1001px){
 .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px}
 .site-header .brand{justify-self:start}
 .site-header>nav{justify-self:center}
 .site-header .header-location{justify-self:end}
}
@media(min-width:701px){
 .inside-story,.home-story{width:100%;max-width:1200px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px)}
 .story-title,.home-story>div:first-child{width:100%;max-width:500px;justify-self:center}
 .inside-story .story-copy{width:100%;max-width:500px;justify-self:center}
 .page-1 .cover-note{justify-self:center;width:100%;max-width:370px}
}
@media(min-width:701px) and (max-width:1000px){
 .site-header{display:grid;grid-template-columns:1fr;justify-items:center;gap:12px;padding-block:16px}
 .site-header .brand{justify-self:start}
 .site-header>nav{justify-self:center}
}
@media(max-width:700px){.site-header>nav{margin-inline:auto}}
@media(min-width:701px) and (max-height:600px){.inside-story .story-copy{margin-top:0}}
