/* A rounded entry to each new colour field, inspired by Dayos.
   Separate caps keep the curvature away from text, controls and sticky scenes. */
:root{--section-curve:clamp(32px,4.45vw,72px)}
.section-turn{height:var(--section-curve);position:relative;isolation:isolate;background:var(--turn-from);margin:0;pointer-events:none;overflow:hidden}
.section-turn>span{display:block;position:absolute;inset:0 0 -1px;background:var(--turn-to);border-radius:var(--section-curve) var(--section-curve) 0 0}
.section-turn+section{margin-top:-1px}
.hero-section-turn{--turn-from:transparent;--turn-to:#be4b20;margin-top:calc(-1 * var(--section-curve));z-index:3}
.hero-video-section .hero-shade{background:linear-gradient(0deg,#0811235c,transparent 74%),linear-gradient(90deg,#08112326,#08112312);background-size:100% 100%;background-repeat:no-repeat}
.hero-copy.hero-caption{inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 5% 3%;margin:0}
.hero-caption h1{font-weight:700;font-size:clamp(68px,8.9vw,160px);line-height:1.03;letter-spacing:-.06em;text-wrap:balance}
.hero-video-toggle{bottom:calc(var(--section-curve) + 20px)}
#check .visibility-copy h2{font-weight:700}
.services-intro h2,.numbers-heading h2,.process h2,.offers-section h2,.faq h2,.contact h2{font-weight:650}
.offers-section.section{background:linear-gradient(#ffffff,#f5f5f0 130px)}
.faq.section{background:#ffffff}
.footer{background:#202124}
@media(max-width:760px){:root{--section-curve:32px}.hero-copy.hero-caption{padding:0 5% 5%}.hero-caption h1{font-size:clamp(35px,10.8vw,78px);line-height:1.08}.hero-video-toggle{bottom:calc(var(--section-curve) + 18px)}}
@media(max-height:520px) and (min-width:761px){.hero-caption h1{font-size:clamp(52px,7vw,96px)}}

/* The caption sits between the original scene and its foreground people. */

/* No coloured lip at entry; the next colour arrives with the scroll. */
.hero-section-turn>span{opacity:0}
.platforms.platforms-integrated{background:#be4b20;color:#fde6db;border:0;padding:30px 6% 64px;position:relative;gap:5%}
.platforms.platforms-integrated:before{content:'';position:absolute;top:0;left:6%;right:6%;height:1px;background:#ffffff30}
.platforms.platforms-integrated>p{color:#fde6db;font-size:9px;letter-spacing:.12em}
.platforms.platforms-integrated>div{color:#feede5;font-size:clamp(19px,2.25vw,30px);font-weight:500;letter-spacing:-.04em;background:none}
.platforms.platforms-integrated .maps svg{stroke:#fde6db}
@media(max-width:760px){.platforms.platforms-integrated{padding:29px 6% 44px}.platforms.platforms-integrated>p{font-size:8px;margin-bottom:24px}.platforms.platforms-integrated>div{font-size:22px;gap:19px 26px}.platforms.platforms-integrated i{font-size:23px}}

.hero-section-turn+section{margin-top:0}
/* Larger editorial type fills the service panel without changing its scroll behavior. */
@media(min-width:761px){
 .services-pin{padding-left:4%;padding-right:4%}
 .service-slide{grid-template-columns:50% 50%}
 .service-editorial{padding:32px clamp(28px,3vw,60px)}
 .service-category{font-size:12px;font-weight:600;margin-bottom:25px}
 .service-category>span{font-size:11px}
 .service-editorial h3{font-size:clamp(50px,4.6vw,90px);font-weight:700;line-height:1.02;letter-spacing:-.06em;margin-bottom:27px}
 .service-summary{font-size:clamp(16px,1.22vw,21px);font-weight:450;line-height:1.6;color:#555b68;max-width:none;margin-bottom:25px}
 .service-editorial ul{max-width:none;margin-bottom:16px}
 .service-editorial li{font-size:clamp(13px,.98vw,17px);line-height:1.45;color:#555b68;padding:12px 0}
 .service-project-link{font-size:15px;font-weight:600;padding:13px 0}
}
@media(min-width:761px) and (max-height:820px){.service-editorial{padding-top:23px;padding-bottom:23px}.service-category{margin-bottom:16px;font-size:10px}.service-editorial h3{font-size:clamp(43px,4.2vw,68px);margin-bottom:19px}.service-summary{font-size:14px;line-height:1.55;margin-bottom:16px}.service-editorial li{font-size:12px;padding:8px 0}.service-editorial ul{margin-bottom:9px}.service-project-link{font-size:13px;padding:10px 0}}
@media(min-width:761px) and (max-height:650px){.service-editorial h3{font-size:clamp(38px,3.9vw,57px);margin-bottom:14px}.service-category{margin-bottom:12px}.service-summary{font-size:13px;line-height:1.45;margin-bottom:12px}.service-editorial li{font-size:11px;padding:6px 0}}
@media(max-width:760px){.service-editorial h3{font-weight:700;font-size:33px}.service-summary{color:#555b68}.service-editorial li{color:#555b68}}
@media(max-width:760px) and (max-height:740px){.service-editorial h3{font-size:29px}}

@media(min-width:761px) and (max-height:820px){.service-editorial{padding-top:20px;padding-bottom:20px}.service-category{margin-bottom:12px}.service-editorial h3{font-size:clamp(42px,4vw,62px);margin-bottom:16px}.service-summary{line-height:1.5;margin-bottom:12px}.service-editorial li{padding:6px 0}.service-editorial ul{margin-bottom:7px}.service-project-link{padding:9px 0}}

/* HTML text is always visible; depth uses a supported local CSS path only. */
.hero-video-section .hero-caption h1{mask:none!important;-webkit-mask:none!important;opacity:1;visibility:visible}
.hero-depth-fill{position:absolute;z-index:1;margin:0;padding:0;border:0;opacity:0;pointer-events:none;user-select:none;text-align:center;background:none;overflow:visible}
