/* PDF-inspired edition: white space, blue typography and orange curved corners. */
:root{--brand-blue:#3D4C91;--brand-orange:#DD7127;--brand-ink:#253367;--brand-paper:#fff;--brand-warm:#fff7f1}
body{background:var(--brand-paper)}
header.nav,header.bar{border-bottom:4px solid var(--brand-orange)}
.language-select{background:#3D4C91;border-color:#ffffff66}
.home-page .hero{min-height:680px;background-position:center 55%;overflow:hidden;color:var(--brand-blue)}
.home-page .hero:before{background:#fffffff5;inset:0 auto 0 0;width:53%;border-bottom-right-radius:42% 24%;box-shadow:40px 0 80px #ffffff28}
.home-page .hero:after{content:'';position:absolute;left:0;top:0;width:130px;height:130px;background:radial-gradient(ellipse at 100% 100%,transparent 69%,#DD7127 70%);pointer-events:none}
.home-page .hero .wrap{position:relative;z-index:1;padding:110px 0 105px}
.home-page .hero h1{max-width:560px;font-size:clamp(40px,5.2vw,72px);line-height:1.06;letter-spacing:-.045em;color:var(--brand-blue)}
.home-page .hero h1 .hero-accent{color:#b75416}
.home-page .hero p{max-width:470px;color:#33415b;font-size:18px;line-height:1.75}
.home-page .hero .hero-kicker{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.13em;font-weight:800;color:var(--brand-blue);margin-bottom:20px}
.hero-kicker:before{content:'';display:block;width:12px;height:12px;background:var(--brand-orange);flex:none}
.home-page .hero .button.outline{border:1px solid var(--brand-blue);color:var(--brand-blue)!important;background:#fff}
.home-page .hero .button.outline:hover{background:#eef0f8}
.button{border-radius:7px;box-shadow:0 7px 18px #dd71271c}
.strip{position:relative;background:#fff;border-bottom:1px solid #ebe8e5}
.strip strong{color:var(--brand-blue)}
.strip .wrap>div{border-left:3px solid var(--brand-orange);padding-left:16px}
.home-page .section:not(.dark) h2,.home-page .section:not(.dark) h3{color:var(--brand-blue)}
.home-page .section:not(.dark) .eyebrow{color:#a94d15}
.section .intro h2:after{content:'';display:block;width:58px;height:4px;border-radius:2px;background:var(--brand-orange);margin-top:22px}
.card,.solution-card,.industry,.locale-app-card{position:relative;overflow:hidden;border-color:#e7e7ef;box-shadow:0 12px 28px #25336708}
.card:before,.solution-card:before{content:'';position:absolute;top:0;right:0;width:48px;height:48px;background:radial-gradient(ellipse at 0 100%,transparent 68%,#DD7127 70%);pointer-events:none}
.card:hover,.solution-card:hover,.app-card:hover{border-color:var(--brand-orange)}
.card-read,.video-copy a,.text-link{color:#3D4C91}
.section.dark{position:relative;background:#3D4C91;isolation:isolate}
.section.dark:before{content:'';position:absolute;top:0;right:0;width:150px;height:90px;background:radial-gradient(ellipse at 0 100%,transparent 69%,#DD7127 70%);pointer-events:none;z-index:-1}
.dark .card{background:#ffffff0a;border-color:#ffffff33}.dark .card:before{opacity:.75}
.section.dark h2,.section.dark h3{color:#fff}.dark .intro p,.feature p{color:#e4e8f6}
.section.dark .eyebrow{color:#ffbe90}
.videos,.industries,.solution-overview,.cap-display{background:#f5f6fb}
.cap-visual{background:var(--brand-blue);border-top:4px solid var(--brand-orange)}
.contact{position:relative;background:#3D4C91;overflow:hidden;padding:95px 0 75px;border-top-left-radius:50% 45px;border-top-right-radius:50% 45px}
.contact:before{content:'';position:absolute;right:0;bottom:0;width:180px;height:150px;background:radial-gradient(ellipse at 0 0,transparent 69%,#DD7127 70%);pointer-events:none}
.contact .wrap{position:relative;z-index:1}.contact h2{color:#fff}.contact p{color:#f0f1fc}
.footer{background:#3D4C91;border-top:4px solid var(--brand-orange);color:#e0e4f4}
.explain-hero{background:linear-gradient(115deg,#3D4C91,#3D4C91);border-bottom:5px solid var(--brand-orange)}
.explain-heading h1{color:#fff}.product-card,.video-card,.shot-window{border-radius:12px}
@media(min-width:1800px){.home-page .hero:before{width:calc(50% + 60px)}}
@media(max-width:1100px){.home-page .hero:before{width:62%;background:#fffffff2}.home-page .hero h1{max-width:510px}.home-page .hero p{max-width:440px}}
@media(max-width:700px){.home-page .hero{min-height:700px;background-position:68% center;align-items:flex-start}.home-page .hero:before{width:100%;height:100%;background:linear-gradient(90deg,#fffffff7,#ffffffdc 60%,#ffffff65);border-radius:0;box-shadow:none}.home-page .hero:after{width:75px;height:75px}.home-page .hero .wrap{padding:90px 0 70px}.home-page .hero h1{max-width:95%;font-size:clamp(38px,9vw,58px)}.home-page .hero p{max-width:92%;font-size:17px}.home-page .hero .hero-kicker{font-size:10px;letter-spacing:.08em}.strip .wrap>div{border-left:3px solid var(--brand-orange);padding-left:16px}.contact{border-top-left-radius:50% 22px;border-top-right-radius:50% 22px}}

/* White text on blue panels. */
.section.datacenter-home,.section.dark{color:#fff}
.section.datacenter-home h2,.section.datacenter-home h3,.section.datacenter-home p,.section.datacenter-home .eyebrow{color:#fff!important}
.section.dark h2,.section.dark h3,.section.dark p,.section.dark .eyebrow{color:#fff!important}
.dc-stat-grid article,.dc-flow article,.indoor-flow,.ebs-flow div{color:#fff}
.dc-stat-grid article h3,.dc-flow article h3,.dc-stat-grid article p,.dc-flow article p,.indoor-flow h3,.indoor-flow p,.ebs-flow div h3,.ebs-flow div p{color:#fff!important}
.security-page .section h2,.security-page .security-card h3,.fleet-ai-page .section h2,.fleet-ai-page .fleet-ai-steps h3,.fleet-ai-page .fleet-ai-info h3{color:#fff!important}
.section.fleet-ai-home h2,.section.fleet-ai-home p,.section.fleet-ai-home .eyebrow,.section.security-home h2,.section.security-home p,.section.security-home .eyebrow{color:#fff!important}
/* Remove legacy cyan styling from AI and security sections. */
.section.fleet-ai-home,.section.security-home{background:#3D4C91!important;border-color:#ffffff33}
.section.fleet-ai-home .button,.section.security-home .button{background:#DD7127!important;color:#171c32!important}
.section.fleet-ai-home .button:hover,.section.security-home .button:hover{background:#eb8a47!important}
.section.fleet-ai-home .eyebrow,.section.security-home .eyebrow{color:#fff!important}

/* Orange curves belong at the bottom-right of blue panels. */
.brand-blue-panel{position:relative;isolation:isolate}
.brand-blue-panel:before,.section.dark:before,.contact:before{content:'';position:absolute;inset:auto 0 0 auto;top:auto;bottom:0;right:0;left:auto;width:150px;height:110px;background:radial-gradient(ellipse at 0 0,transparent 69%,#DD7127 70%);pointer-events:none;z-index:-1}
.brand-blue-panel>.wrap{position:relative;z-index:1}
.dark .card:before{top:auto;bottom:0;background:radial-gradient(ellipse at 0 0,transparent 68%,#DD7127 70%)}
.section.customer-section h2,.section.customer-section p,.section.customer-section .eyebrow,.section.control-centre h2,.section.control-centre .eyebrow{color:#fff!important}
@media(max-width:700px){.brand-blue-panel:before,.section.dark:before,.contact:before{width:95px;height:75px}}
.section.control-centre h3,.section.control-centre .control-flow-title{color:#fff!important}
.section.control-centre .control-flow-row>span{color:#ffbe90!important}
.section.control-centre .control-features>div{border-top-color:#DD7127}
/* Readable section labels throughout the site. */
.eyebrow,.home-page .hero .hero-kicker{font-size:clamp(18px,1.4vw,20px)!important;line-height:1.5!important;letter-spacing:.07em!important;font-weight:800;overflow-wrap:anywhere}
@media(max-width:700px){.eyebrow,.home-page .hero .hero-kicker{font-size:18px!important;letter-spacing:.045em!important}}
/* No decorative orange corner beside the platform film/API section. */
section#platform:before{display:none}
/* Larger diagonal corner pair for the control centre. */
.section.control-centre:before{width:240px;height:170px}
.section.control-centre:after{content:'';position:absolute;top:0;left:0;right:auto;bottom:auto;width:240px;height:170px;background:radial-gradient(ellipse at 100% 100%,transparent 69%,#DD7127 70%);pointer-events:none;z-index:-1}
@media(max-width:700px){.section.control-centre:before,.section.control-centre:after{width:120px;height:90px}}
/* Smooth corner curves, flush with the panel edges. */
.home-page .hero:after,.section.control-centre:after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 170' preserveAspectRatio='none'%3E%3Cpath fill='%23DD7127' d='M0 0H240C107 0 0 76 0 170Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.brand-blue-panel:before,.section.dark:before,.contact:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 170' preserveAspectRatio='none'%3E%3Cpath fill='%23DD7127' d='M240 170H0C133 170 240 94 240 0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
/* Contact and customer sections form one continuous blue field. */
.home-page .contact:before{display:none}
.home-page .contact:after{content:'';position:absolute;inset:0 auto auto 0;width:240px;height:170px;pointer-events:none;z-index:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 170' preserveAspectRatio='none'%3E%3Cpath fill='%23DD7127' d='M0 0H240C107 0 0 76 0 170Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.home-page .customer-section:before{width:240px;height:170px}
@media(max-width:700px){.home-page .contact:after,.home-page .customer-section:before{width:120px;height:90px}}
/* Replace remaining legacy navy/cyan in control and news panels. */
.control-flow{background:#3D4C91!important;border-color:#ffffff55!important;box-shadow:0 16px 38px #25336726}
.control-flow-title,.control-flow h3,.control-flow p{color:#fff!important}
.control-flow-row{border-color:#ffffff33!important}
.section.home-news{background:#3D4C91!important;color:#fff!important}
.section.home-news h2,.section.home-news h3,.section.home-news p,.section.home-news .eyebrow{color:#fff!important}
.home-news-grid>a{background:#3D4C91!important;border-color:#ffffff55!important;box-shadow:0 10px 24px #25336726;color:#fff!important}
.home-news-grid small{color:#ffbe90!important}
/* Keep the corner at the outer end of the continuous blue field. */
.home-page .customer-section:before{display:none}
.home-page .home-news{position:relative;isolation:isolate}
.home-page .home-news:before{content:'';position:absolute;inset:auto 0 0 auto;width:240px;height:170px;pointer-events:none;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 170' preserveAspectRatio='none'%3E%3Cpath fill='%23DD7127' d='M240 170H0C133 170 240 94 240 0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.home-page .home-news>.wrap{position:relative;z-index:1}
@media(max-width:700px){.home-page .home-news:before{width:120px;height:90px}}

/* All inner pages share the brand blue and readable white typography. */
.inner-page{background:#3D4C91;color:#fff}
.inner-page .hero{background:#3D4C91;color:#fff}
.inner-page .hero h1,.inner-page .hero p,.inner-page .hero .kicker,.inner-page .hero .eyebrow{color:#fff!important}
.inner-page .catalog-section h2,.inner-page .use-section h2,.inner-page .news-hero h1,.inner-page .news-hero p{color:#fff}
.inner-page .catalog-section,.inner-page .use-section,.inner-page .news-hero,.inner-page .catalog-card,.inner-page .catalog-body,.inner-page .news-card{background:#3D4C91!important;color:#fff}
.inner-page .catalog-card h3,.inner-page .news-card h2,.inner-page .news-card h3{color:#fff!important}
.inner-page .hero .button:not(.outline),.inner-page .button:not(.outline){color:#fff!important}
.inner-page .catalog-section .eyebrow,.inner-page .use-section .eyebrow,.inner-page .news-card small,.inner-page .catalog-body .model{color:#ffbe90!important}
.inner-page .catalog-card,.inner-page .news-card{border-color:#ffffff55}
/* Light inset panels keep their existing dark text. */
.inner-page .visual,.inner-page .catalog-image{color:#253367}

/* Matching orange corners diagonally across blue panels. */
.brand-blue-panel:after{content:'';position:absolute;inset:0 auto auto 0;width:240px;height:170px;pointer-events:none;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 170' preserveAspectRatio='none'%3E%3Cpath fill='%23DD7127' d='M0 0H240C107 0 0 76 0 170Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.brand-blue-panel:before{width:240px;height:170px}
/* The continuous contact/customer/news field has its top corner at contact. */
.home-page .customer-section:after{display:none}
section#platform:after{display:none}
@media(max-width:700px){.brand-blue-panel:before,.brand-blue-panel:after{width:120px;height:90px}}

/* Application pages: visible diagonal corners on every blue content section. */
.application-page .brand-blue-panel{position:relative;isolation:isolate}
.application-page .brand-blue-panel:before,.application-page .brand-blue-panel:after{display:block;z-index:0;pointer-events:none}
.application-page .brand-blue-panel>.wrap{position:relative;z-index:1}


/* Small content cards remain clear; orange corners frame large blue sections. */
.card:before,.solution-card:before{display:none}

/* Diagonal accents belong to framed cards, with clear space around their text. */
.framed-orange-card{position:relative;overflow:hidden;isolation:isolate}
.framed-orange-corners{position:absolute;inset:0;pointer-events:none;z-index:2;border-radius:inherit;background:linear-gradient(135deg,#DD7127 0 21px,transparent 22px) top left/34px 34px no-repeat,linear-gradient(315deg,#DD7127 0 21px,transparent 22px) bottom right/34px 34px no-repeat}
@media(max-width:640px){.framed-orange-corners{background-size:28px 28px}}

/* Product tiles use the same top-left and bottom-right diagonal pair. */
.products-grid>a{position:relative;overflow:hidden}
.products-grid>a:before,.products-grid>a:after{content:"";position:absolute;width:34px;height:34px;background:#DD7127;pointer-events:none}
.products-grid>a:before{top:0;left:0;clip-path:polygon(0 0,100% 0,0 100%)}
.products-grid>a:after{bottom:0;right:0;clip-path:polygon(100% 0,100% 100%,0 100%)}
@media(max-width:640px){.products-grid>a:before,.products-grid>a:after{width:28px;height:28px}}

/* Film and related solutions share one blue field; finish it at the bottom rule. */
.inner-page:has(.catalog-section) section#film:before{display:none}
.inner-page:has(.catalog-section) main>section:last-child{position:relative;isolation:isolate;border-bottom:1px solid #DD7127}
.inner-page:has(.catalog-section) main>section:last-child:before{content:"";position:absolute;right:0;bottom:0;width:240px;height:170px;pointer-events:none;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 170' preserveAspectRatio='none'%3E%3Cpath fill='%23DD7127' d='M240 170H0C133 170 240 94 240 0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
@media(max-width:700px){.inner-page:has(.catalog-section) main>section:last-child:before{width:120px;height:90px}}

.home-page .hero{border-bottom:3px solid #DD7127}

/* Finish the hero at its orange bottom rule with a matching lower-right corner. */
.hero-bottom-corner{position:absolute;right:0;bottom:0;width:150px;height:100px;z-index:2;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 170' preserveAspectRatio='none'%3E%3Cpath fill='%23DD7127' d='M240 170H0C133 170 240 94 240 0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
@media(max-width:700px){.hero-bottom-corner{width:90px;height:65px}}

/* A smaller text panel leaves more of the fleet photograph visible. */
@media(min-width:701px){.home-page .hero:before{width:46%}.home-page .hero h1{font-size:clamp(38px,4.1vw,58px);max-width:430px}.home-page .hero p{font-size:16px;max-width:420px;line-height:1.65}.home-page .hero .hero-kicker{font-size:10px}.home-page .hero>.wrap{padding-top:85px;padding-bottom:95px}}
@media(min-width:701px) and (max-width:1100px){.home-page .hero:before{width:54%}.home-page .hero h1,.home-page .hero p{max-width:400px}}
@media(min-width:1800px){.home-page .hero:before{width:calc(50% - 70px)}}

/* Platform and datacenter are one blue field, framed at its outer top. */
.home-page section#platform:after{display:block}
.home-page section#datacenter:after{display:none}
