/* Intrinsic grid sizes must never push neighbouring text or photographs away. */
.editorial-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.about-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}
.expertise-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.project-list summary{grid-template-columns:150px minmax(0,1fr) 40px}
.editorial-hero>*,.about-layout>*,.expertise-layout>*,.project-list summary>*,.contact-links>*{min-width:0}
.section{margin-left:auto;margin-right:auto}
.project-name small{white-space:normal}
#lightbox{top:0;right:0;bottom:0;left:0;height:100vh;max-height:100vh}
.lightbox-stage img{max-height:calc(100vh - 190px)}
@supports(height:100dvh){#lightbox{height:100dvh;max-height:100dvh}.lightbox-stage img{max-height:calc(100dvh - 190px)}}
/* Older Chromium rejects an entire font shorthand containing clamp(). */
@supports not (font-size:clamp(1px,2vw,3px)){
 h1,h2,h3{font-family:Ample,Zain,sans-serif;font-weight:500;line-height:1.2}
 html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{font-family:Zain,Ample,sans-serif;font-weight:900;letter-spacing:0}
 h2[lang],html[lang=en] [data-heading]{font-size:72px}
 .editorial-hero h1,html[lang=en] h1[data-heading]{font-size:110px}
 .intro-heading{font-size:110px!important}.contact h2[lang]{font-size:90px}
 .wedding-feature-copy>h3{font-size:64px}.contact-links span{font-size:24px}
 @media(max-width:760px){h2[lang],html[lang=en] [data-heading]{font-size:50px}.editorial-hero h1,html[lang=en] h1[data-heading]{font-size:65px}.intro-heading{font-size:76px!important}.contact h2[lang]{font-size:50px}.wedding-feature-copy>h3{font-size:48px}}
}
/* A conservative layout for TV engines: flexible widths, explicit spacing. */
html.tv-layout{scroll-behavior:auto}
.tv-layout .header{height:auto;min-height:100px;display:block;position:relative;text-align:center;padding:24px 5%}
.tv-layout .brand{display:block;max-width:280px;width:100%;margin:0 auto 20px}
.tv-layout .header nav{display:block;position:static;padding:0;margin:0 0 18px;background:transparent;border:0}
.tv-layout .header nav>a{display:inline-block;margin:4px 15px;padding:10px 0}
.tv-layout .header nav .nav-contact{display:inline-block;padding:10px 20px}
.tv-layout .menu-toggle{display:none}.tv-layout .language-toggle{display:inline-block}
.tv-layout .editorial-hero{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:40px 6%;height:auto}
.tv-layout .hero-topline{order:0;width:100%;display:block;margin-bottom:28px}
.tv-layout .hero-topline>span{display:block;margin-bottom:8px;max-width:none}
.tv-layout .hero-intro{order:1;width:40%;margin:0 0 30px}
.tv-layout .hero-photograph{order:2;width:51%;margin:0 0 30px}
.tv-layout .hero-side{order:3;display:block;width:100%;max-width:none;margin-bottom:24px}
.tv-layout .hero-selector{order:4;display:block;width:100%}.tv-layout .hero-selector button{display:inline-block;margin:0 15px}
.tv-layout .hero-scroll{display:none}
.tv-layout .editorial-hero h1,.tv-layout[lang=en] h1[data-heading]{font-size:100px;line-height:1.2}
.tv-layout .editorial-hero h1>span{white-space:normal}
.tv-layout .selected-grid,.tv-layout .gallery{display:flex;flex-wrap:wrap;align-items:flex-start}
.tv-layout .selected-piece{width:46%;margin:0 2% 50px}
.tv-layout .selected-caption{display:block}.tv-layout .selected-caption>span{display:block;margin-top:10px}
.tv-layout .gallery .photo{width:30%;margin:0 1.5% 40px}
.tv-layout .gallery .photo.is-collage{width:63%}
.tv-layout .photo-caption{display:block}.tv-layout .photo-caption small{display:block;max-width:none;margin-top:8px}
.tv-layout .project-list summary{display:flex;align-items:flex-start;justify-content:space-between}
.tv-layout .project-year{width:150px;flex-shrink:0;padding-top:8px}
.tv-layout .project-name{flex:1;margin:0 24px}.tv-layout .project-toggle{flex-shrink:0}
.tv-layout .about-layout{display:flex;align-items:flex-start;justify-content:space-between}
.tv-layout .about-photo{width:32%;margin:0}.tv-layout .about-copy{width:59%}
.tv-layout .journey-countries{display:block}.tv-layout .journey-countries li{display:inline-block;margin:4px}
.tv-layout .contact-links{display:block}.tv-layout .contact-links a{display:block;margin-bottom:28px}
.tv-layout .contact-links small,.tv-layout .contact-links span{display:block;margin-bottom:12px}
.tv-layout .studio-section{display:none}
.tv-layout a:focus,.tv-layout button:focus,.tv-layout summary:focus{outline:3px solid #4BACCF;outline-offset:5px}
@media(max-width:1050px){.project-list summary{grid-template-columns:120px minmax(0,1fr) 40px}.tv-layout .editorial-hero h1,.tv-layout[lang=en] h1[data-heading]{font-size:72px}}
@media(max-width:760px){
 .project-list summary{grid-template-columns:76px minmax(0,1fr) 30px}
 .lightbox-stage img{max-height:calc(100vh - 210px)}
 @supports(height:100dvh){.lightbox-stage img{max-height:calc(100dvh - 210px)}}
 .tv-layout .editorial-hero,.tv-layout .about-layout{display:block}
 .tv-layout .hero-intro,.tv-layout .hero-photograph,.tv-layout .about-copy,.tv-layout .about-photo{width:100%;margin:0 0 30px}
 .tv-layout .gallery .photo,.tv-layout .gallery .photo.is-collage,.tv-layout .selected-piece{width:100%;margin:0 0 35px}
 .tv-layout .project-year{width:65px}.tv-layout .project-name{margin:0 12px}
}
@media(max-width:370px){.project-list summary{grid-template-columns:65px minmax(0,1fr) 28px}}
