/* Layout and wide-screen scaling. Text roles are defined in typography.css. */
body{font-size:1.125rem;line-height:1.7}
button,input,select,textarea{font-size:1.125rem}
.brand-text small{font-size:1rem;letter-spacing:.02em}
html.dx-header-compact .site-header .brand{transform:none}
.site-header{gap:1.25rem}
.site-header .brand{min-width:0;flex-shrink:0}
.site-header .main-nav{gap:clamp(1.75rem,2.2vw,2.75rem)}
.site-header .main-nav>a{font-size:1rem}
.dx-profile-action-links>a{white-space:normal;text-align:center}
.dx-flycam-content>p:not(:first-child){font-size:1.125rem;max-width:33.75rem;line-height:1.75}
.dx-flycam-credit>a{line-height:1.5}
.dx-calendar-legend,.dx-agenda-head{flex-wrap:wrap}
.dx-tour-intro{min-height:0}
.dx-pano-hotspots .dx-content-point small{white-space:normal;line-height:1.4}
@media(min-width:1001px) and (max-width:1200px){
 .site-header{padding-inline:1.25rem;gap:1rem}
 .site-header .header-cta{display:none}
 .site-header .main-nav{gap:1.5rem;margin-left:auto}
}
@media(max-width:1000px){
 .site-header .main-nav>a{font-size:1.25rem;line-height:1.5}
 .brand-text small{font-size:1rem;letter-spacing:0}
 .dx-flycam-hero{min-height:48.75rem}
 .dx-flycam-content{bottom:11.25rem}
 .dx-flycam-links>a{font-size:1rem}
 .dx-flycam-credit>a{max-width:15rem}
 .dx-profile-action-links>a{gap:0.375rem;font-size:1rem}
 .dx-profile-action-links small{font-size:1rem}
 .dx-pano-hotspots .dx-content-point small{max-width:9.375rem}
 .dx-calendar-legend{gap:0.75rem}
}

/* Scale the complete layout in CSS pixels, independent of device pixel ratio.
   1920: 1x, 2560: 1.25x, 3840: 1.75x. Browser text preferences remain respected. */
html{font-size:100%}
@media(min-width:1920px){
 html{font-size:clamp(100%,calc(.25rem + .625vw),175%)}
}

@media(min-width:1201px) and (max-width:1400px){.site-header .header-cta{display:none}}
