/* The video ribbon reveals the same native animated scene as the other galleries. */
body[data-wiz-shared-bg] .AIFilmRibbon[data-enhanced]{background:transparent!important}
@media(max-width:1100px){
 .Header__container .Header__contact.WizGlassContact{display:none!important}
}
@media(max-width:768px){
 /* Align the footer CTA to the existing links' column rather than its outer edge. */
 .Footer__top_links{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.75fr);gap:20px}
 .Footer__top_links .Footer__pageLink{font-size:clamp(14px,4.1vw,16px);white-space:nowrap}
 .Footer__top_contact{width:100%;box-sizing:border-box;padding-inline:35px}
 .Footer__contact{width:100%;justify-content:flex-start}
 .Footer__contact_button.WizGlassContact{margin:0}
 /* A single bottom-left lockup inside the animated closing frame. */
 .Stellla__content{width:100%;margin:0;padding:24px;box-sizing:border-box;align-items:flex-start;justify-content:flex-end}
 .Stellla__main{display:flex;flex-direction:column;align-items:flex-start;gap:18px;width:100%;padding:0;margin:0}
 .Stellla__main_logo{width:min(230px,72vw);margin:0;flex:none}
 .Stellla__main_logo_link{align-items:center;gap:20px}
 .Stellla__main_logo_img{width:calc(100% - 46px)}
 .Stellla__main_logo_img picture{display:block;width:100%}
 .Stellla__main_logo_img img{display:block;width:100%;height:auto}
 .Stellla__main_logo_icon{flex:none;width:26px;transform:none}
 .Stellla__main_text{margin:0;font-size:clamp(20px,5.4vw,28px);line-height:1.3;letter-spacing:-.015em;max-width:360px}
 /* Retain the desktop's fixed text layers and full scroll-driven reveal on phones. */
 body[data-page=top] .MissionVision__container{position:fixed;inset:0;height:100svh;width:100%;z-index:1;overflow:hidden;pointer-events:none}
 body[data-page=top] .MissionVision__container[data-mission-container]{mask:linear-gradient(to top,#000 var(--mask-height,0%),transparent calc(var(--mask-height,0%) + var(--mask-fade,3%)));-webkit-mask:linear-gradient(to top,#000 var(--mask-height,0%),transparent calc(var(--mask-height,0%) + var(--mask-fade,3%)))}
 body[data-page=top] .SectionContainer__container[data-top_section=mission_in]{min-height:100svh;height:100svh}
 body[data-page=top] .SectionContainer__container[data-top_section=mission]{min-height:160svh}
 body[data-page=top] .MissionVision__missionContent{height:160svh}
 body[data-page=top] .SectionContainer__container[data-top_section=vision]{min-height:200svh}
 body[data-page=top] .MissionVision__visionContent{height:200svh}
 body[data-page=top] .MissionVision__inner{width:calc(100% - 48px);height:100%;box-sizing:border-box;padding-top:clamp(95px,15svh,140px)}
 body[data-page=top] [data-vision-container] .MissionVision__inner{padding-top:clamp(95px,15svh,140px)}
 body[data-page=top] .MissionVision__ttl svg{width:60%;height:auto}
 body[data-page=top] [data-vision-container] .MissionVision__ttl svg{width:60%}
 body[data-page=top] .MissionVision__text{font-size:clamp(30px,8.2vw,42px);line-height:1.2;margin-top:clamp(25px,6svh,55px);letter-spacing:.015em}
 body[data-page=top] [data-vision-container] .MissionVision__text{margin-top:clamp(25px,6svh,55px);text-align:left}
 body[data-page=top] .MissionVision__text_en{position:relative;top:auto;left:auto;margin:26px 0 0;font-size:16px;line-height:1.5;max-width:310px;letter-spacing:0}
 body[data-page=top] [data-vision-container] .MissionVision__text_en{max-width:310px}
}
/* Client review: scoped to detail pages, including navigation via Swup. */
body:has(main[data-wiz-solid-project]){background:#080a0b!important}
body:has(main[data-wiz-solid-project]) .Layout__gl{visibility:hidden!important}
body[data-wiz-shared-bg] main[data-wiz-solid-project]{background:#080a0b!important;min-height:100svh}
body[data-wiz-shared-bg] main[data-wiz-solid-project] :is(.twe-case,.StudyArticle){background:#080a0b!important}
[data-mission-text_en]{white-space:pre-line}
.WizIntro__words{flex-wrap:wrap;align-content:center}
#wiz-brief{margin:0;padding-top:0;border-top:0}
/* These complete desktop presentations fit together in one viewport. Other
   reading sections remain natural height, and mobile cards remain two rows. */
@media(min-width:1101px) and (min-height:650px){
 #wiz-sprint>.WizOffer__heading{margin-bottom:12px;gap:4vw}
 #wiz-sprint>.WizOffer__heading h2{font-size:clamp(40px,4.2vw,66px)}
 #wiz-sprint>.WizOffer__heading p{font-size:14px;line-height:1.45}
 #wiz-sprint .WizHang{margin-bottom:65px}
 #wiz-sprint .WizHang__track{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:18px}
 #wiz-sprint .WizHang__enter{--card-height:clamp(315px,43svh,400px);--wire:calc(var(--wire-base) * .35)}
 #wiz-sprint .WizHang__art{height:clamp(85px,14svh,140px);margin-bottom:12px;flex-shrink:0}
 #wiz-sprint .WizHang__number{font-size:clamp(52px,6vw,84px)}
 #wiz-sprint .WizHang__name{font-size:clamp(22px,2vw,30px);margin-bottom:12px}
 #wiz-sprint .WizHang__summary{font-size:13px;line-height:1.4}
 #wiz-sprint .WizHang__face{padding:16px}
 #wiz-sprint .WizHang__footer{padding:8px;font-size:10px;min-height:30px}
 #wiz-sprint .WizHang__backTop{margin-bottom:6px}
 #wiz-sprint .WizHang__backNumber{font-size:26px}
 #wiz-sprint .WizHang__close{width:32px;height:32px;font-size:20px}
 #wiz-sprint .WizHang__back h3{font-size:21px;margin-bottom:6px}
 #wiz-sprint .WizHang__back p{font-size:11px;line-height:1.35}
 #wiz-sprint .WizHang__back ul{font-size:11px;margin-top:6px}
 #wiz-sprint .WizHang__back li{padding:4px 0}
 #wiz-sprint .WizHang__back .WizHang__outcome{font-size:11px;padding-top:8px}
}
/* One spacing token keeps the section's top and bottom inset equal on every device.
   Stacked phone cards keep their natural reading height. */
#wiz-routes{--offer-gutter:clamp(24px,8.8vw,240px);--offer-block-space:clamp(100px,9svh,144px);padding:var(--offer-block-space) var(--offer-gutter)}
#wiz-routes .WizShowcase{margin-inline:calc(-1 * var(--offer-gutter));padding:0 var(--offer-gutter)}
#wiz-routes .WizRoute{padding-block:clamp(24px,3svh,44px)}
/* Keep both offers in the viewport when there is room for two readable columns,
   independently of the navigation's desktop/mobile breakpoint. */
@media(min-width:901px) and (min-height:700px), (min-width:701px) and (max-width:900px) and (min-height:900px){
 #wiz-routes{height:100svh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(20px,2.3svh,32px);padding:var(--offer-block-space) var(--offer-gutter)}
 #wiz-routes>.WizOffer__heading{grid-template-columns:1.1fr 1fr;gap:28px;margin:0;align-items:end}
 #wiz-routes>.WizOffer__heading h2{font-size:clamp(40px,6.5svh,96px)}
 #wiz-routes>.WizOffer__heading p{font-size:clamp(14px,1.65svh,22px);line-height:1.45;width:min(100%,40ch);max-width:none;justify-self:end}
 #wiz-routes .WizShowcase{display:grid;min-height:0;margin-inline:calc(-1 * var(--offer-gutter));padding:0 var(--offer-gutter)}
 #wiz-routes .WizRoutes{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:none;margin:0;gap:clamp(16px,2vw,28px)}
 #wiz-routes .WizRoute{padding:clamp(20px,2.8svh,40px);height:100%}
 #wiz-routes .WizRoute h3{font-size:clamp(28px,4svh,56px);margin:0 0 clamp(12px,1.7svh,24px)}
 #wiz-routes .WizRoute>p{font-size:clamp(14px,1.65svh,22px);line-height:1.4}
 #wiz-routes .WizRoute__price{font-size:clamp(40px,6svh,78px);margin:clamp(12px,1.8svh,24px) 0 0}
 #wiz-routes .WizRoute .WizOffer__lines{font-size:clamp(11px,1.35svh,17px);padding-top:clamp(12px,1.5svh,22px);margin: auto 0 clamp(14px,1.8svh,24px)}
 #wiz-routes .WizOffer__lines li{padding:clamp(6px,.8svh,12px) 0}
 #wiz-routes .WizButton{min-height:clamp(42px,5.5svh,68px);padding:clamp(12px,1.5svh,20px) clamp(20px,2svh,32px)!important;font-size:clamp(11px,1.35svh,17px)}
 #wiz-routes .WizOffer__textlink{font-size:clamp(10px,1.2svh,16px);margin-top:clamp(8px,1.2svh,16px);padding:5px 0}
}

@media(min-width:701px) and (max-width:900px) and (min-height:650px){
 #wiz-routes{--offer-gutter:32px}
 #wiz-routes>.WizOffer__heading{grid-template-columns:1fr;gap:16px}
 #wiz-routes>.WizOffer__heading p{justify-self:start;width:min(100%,64ch)}
 #wiz-routes>.WizOffer__heading h2{font-size:clamp(38px,5.5svh,56px)}
 #wiz-routes .WizRoute>p{font-size:14px}
}
