/* Shared brighter blue palette, inspired by the Shanghai artwork. */
body,body.home-page,body.space-page{background-color:#123957!important;background-image:radial-gradient(ellipse at 0% 15%,#13749b55,transparent 48%),radial-gradient(ellipse at 100% 55%,#95448230,transparent 48%),linear-gradient(180deg,#153b60,#174765 55%,#163951)!important;color:#f4f9ff}
body:not(.home-page)>header{background:#133650ed!important;border-bottom:1px solid #5593ac50}
.home-page .visual-intro,.home-page .world-banner,.home-page .hero{background:transparent!important}
.home-page .intro-pitch{background:linear-gradient(180deg,#173b5b,#174361)!important}
.home-page .world-banner::after{background:linear-gradient(180deg,transparent 58%,#16395755 78%,#173b5bef 100%)!important}
.home-page .world-stats{background:transparent!important}
.home-page #sourcing{background:linear-gradient(110deg,#174461,#24516c)!important;border-block:1px solid #659db13b}
body footer,.home-page footer{background:linear-gradient(110deg,#173c57,#23425f)!important;border-top:1px solid #6399b15c}
.space-card,.home-page .product,.home-page .service-grid article,.service-grid article,.story-grid article,.service-details>article,.brief-box,.product-support,.meeting-card,.community,.collection-search,.brief-assistant,.product-answers details,.project-facts>div{background:linear-gradient(135deg,#215773,#1b405f)!important;border-color:#6ba8bd66!important;box-shadow:0 8px 22px #08223818}
.launch-panel{background:radial-gradient(ellipse at top right,#df6bb735,transparent 65%),linear-gradient(125deg,#235775,#254565)!important;border-color:#80b8ca66}
.category-tabs a,.share-product,.collection-search button,.brief-copy{background:#225773!important;border-color:#7caabe!important;color:#f3fbff}
.category-tabs a[aria-current],.category-tabs a:hover{background:#326f89!important;border-color:#86e5ee!important}
body p,.story-grid p,.product-info>p,.space-heading p,.meeting-card p,.product-answers details p,.brief-help,.brief-progress-label,.buying-note{color:#d5e6f2}
body input,body textarea,body select,.collection-search input,.brief-preview{background:#153c59!important;color:#fff!important;border-color:#75a3bd!important}
body input::placeholder,body textarea::placeholder{color:#c1d5e3!important}
.home-page .intro-summary,.spec-list li,.product-support p{color:#d5e6f2!important}
body .small-label,.story-grid b{color:#8deaf5!important}
body .gallery-stage,body .card-photo{border-color:#57d8f5!important}
body .contact-channels{border-top-color:#72a0b655}
@media(max-width:760px){header.mobile-menu-ready nav a{background:#245775!important}.mobile-quote-bar:not([hidden]){background:#173e59f5!important}}

/* Larger navigation and continuous colour transitions. */
.home-page>header nav a{font-size:19px!important;font-weight:600!important}
.home-page>header nav{gap:clamp(14px,2vw,28px)}
.home-page .intro-pitch{background:linear-gradient(180deg,#173b5b 0%,#194661 70%,#1a4966 100%)!important}
.home-page .visual-intro{background:linear-gradient(180deg,transparent 65%,#1a4966 100%)!important}
.home-page #sourcing{background:linear-gradient(180deg,#19445f00,#28607880 35%,#36557455 70%,#19445f00)!important;border:0!important;padding-block:42px}
.home-page #catalogue{position:relative;background:radial-gradient(ellipse at 5% 35%,#29b6d536,transparent 60%),radial-gradient(ellipse at 100% 65%,#eb64b12b,transparent 60%),linear-gradient(180deg,#1a466100,#245674 20%,#295571 80%,#1a466100)!important;border:0!important;padding-block:48px}
.home-page #catalogue .products{background:transparent!important;padding-top:16px;padding-bottom:24px}
.home-page #catalogue .product{background:linear-gradient(145deg,#326b85,#284969)!important;border:1px solid #8dd2df70!important;border-radius:22px;box-shadow:0 12px 26px #082d4325;overflow:hidden}
.home-page #catalogue .product-body{background:transparent!important;padding:16px!important}.home-page #catalogue .product p{color:#e0eff8!important}

.home-page #catalogue .carousel-controls button{background:#2a627d;border-color:#82d6e6;color:#fff}
body footer,.home-page footer{background:radial-gradient(ellipse at 10% 100%,#13b7db55,transparent 60%),radial-gradient(ellipse at 85% 100%,#ee58a85c,transparent 65%),linear-gradient(180deg,#1b425c,#284d70 60%,#36456b)!important;border-top:1px solid #a8d9e333!important;padding-top:32px}
body .contact-channels{background:transparent;padding-block:24px}
@media(max-width:760px){.home-page>header.mobile-menu-ready nav a{font-size:18px!important}.home-page .mobile-menu-toggle{font-size:16px}.home-page #catalogue{padding-block:32px}.home-page #catalogue .product-body{padding:14px!important}}
@media(prefers-reduced-motion:no-preference){.home-page #catalogue .product:hover{box-shadow:0 15px 30px #1bd0dd28;border-color:#8deaff!important}}

/* One continuous homepage background instead of separate section gradients. */
body.home-page{background:#193f5a!important;background-image:none!important}
.home-page main{background:radial-gradient(ellipse 85% 26% at 0% 30%,#2c849c38,transparent 100%),radial-gradient(ellipse 85% 30% at 100% 65%,#9c619631,transparent 100%),linear-gradient(180deg,#173b5b 0%,#1b435e 35%,#20485f 72%,#244760 100%)!important}
.home-page .visual-intro,.home-page .world-banner,.home-page .intro-pitch,.home-page .hero,.home-page #sourcing,.home-page #catalogue,.home-page #services,.home-page #contact,.home-page .about-home,.home-page .story-path{background:transparent!important;background-image:none!important;border-top:0!important;border-bottom:0!important}
.home-page .world-banner::after{background:linear-gradient(180deg,transparent 48%,#173b5b22 65%,#173b5b99 85%,#173b5b 100%)!important}
.home-page footer{background:radial-gradient(ellipse at 0% 100%,#20b8d538,transparent 75%),radial-gradient(ellipse at 100% 100%,#dc74ae38,transparent 75%),linear-gradient(180deg,#244760,#2b4b68)!important;border-top:0!important;margin-top:0}
.home-page .launch-panel{background:linear-gradient(120deg,#42789335,#855f8b26)!important;border-color:#91bbcc40!important;box-shadow:none}

/* Luminous atmosphere shared by every page, without section seams. */
body,body.home-page,body.space-page{background-color:#133857!important;background-image:radial-gradient(ellipse at 8% 12%,#168dbb75,transparent 48%),radial-gradient(ellipse at 95% 46%,#b83d9860,transparent 50%),radial-gradient(ellipse at 16% 88%,#13aba568,transparent 48%),linear-gradient(145deg,#153c68,#284973 55%,#303d68)!important;background-attachment:fixed!important;background-repeat:no-repeat!important;background-size:cover!important}
.home-page main{background:transparent!important;background-image:none!important}
.home-page .world-banner::after{background:linear-gradient(180deg,transparent 50%,#183f6620 66%,#183f6680 86%,#183f66 100%)!important}
body footer,.home-page footer{background:linear-gradient(180deg,#22496600,#1c4a6970),radial-gradient(ellipse at 12% 100%,#27d9db35,transparent 68%),radial-gradient(ellipse at 90% 100%,#f279c33d,transparent 68%)!important;border-top:1px solid #a8dff220!important}
.home-page .story-grid article,.home-page .service-grid article,.space-card,.meeting-card,.brief-assistant{background:linear-gradient(135deg,#326a858f,#234465ce)!important;border-color:#91d8e24d!important;box-shadow:0 12px 32px #07263820,inset 0 1px #c6f7ff12}
@media(max-width:760px){body,body.home-page,body.space-page{background-attachment:scroll!important;background-size:100% 100%!important}}

/* Blend the opening artwork into the introduction with the same blue endpoint. */
.home-page .world-banner::after{background:linear-gradient(180deg,transparent 48%,rgba(26,67,101,.08) 62%,rgba(26,67,101,.38) 77%,rgba(26,67,101,.85) 94%,#1a4365 100%)!important}
.home-page .intro-pitch{background:linear-gradient(180deg,#1a4365 0%,rgba(26,67,101,.94) 25%,rgba(26,67,101,.55) 65%,rgba(26,67,101,0) 100%)!important;padding-bottom:48px!important}
/* Sunset tones at the foot of the site, with a soft entrance from the page. */
body footer,.home-page footer{background:linear-gradient(180deg,rgba(48,61,104,0) 0%,rgba(102,57,100,.72) 28%,rgba(157,65,106,.86) 60%,rgba(199,99,105,.95) 100%),radial-gradient(ellipse at 10% 100%,#ffa65d80,transparent 72%),radial-gradient(ellipse at 90% 100%,#f563b26b,transparent 75%)!important;border-top:0!important;padding-top:48px}
body footer a,body footer small,body footer .contact-channels>span:first-child{color:#fff0f4!important}body footer .contact-channels{border-top-color:#ffdfcf35}

/* A clear action within the first viewport, above the existing figures. */
.home-page .opening-cta{grid-column:1;grid-row:1;align-self:end;justify-self:center;position:relative;z-index:2;text-align:center;padding:20px 24px 16px;max-width:760px;box-sizing:border-box;color:white}
.home-page .opening-cta p{color:#fff;font-size:15px;font-weight:600;text-shadow:0 2px 12px #001426;margin:0 0 14px}
.home-page .opening-cta .pink{display:inline-flex;align-items:center;justify-content:center;padding:15px 26px;min-height:48px;box-sizing:border-box;border-radius:999px;font-weight:650;text-decoration:none;box-shadow:0 8px 30px #00142c66}
.home-page .opening-cta span{display:block;margin:12px auto 0;font-size:12px;color:#f0f6ff;text-shadow:0 2px 8px #001426;line-height:1.5}
@media(max-width:760px){.home-page .opening-cta{padding:12px 18px 10px}.home-page .opening-cta p{font-size:13px;max-width:320px;line-height:1.5}.home-page .opening-cta span{max-width:320px}.home-page .opening-cta .pink{font-size:14px}}
@media(max-height:560px) and (min-width:761px){.home-page .opening-cta span{display:none}.home-page .opening-cta{padding-bottom:6px}.home-page .opening-cta p{margin-bottom:8px}}
@media(prefers-reduced-motion:no-preference){.home-page .opening-cta{animation:opening-action .7s .15s both}.home-page .opening-cta a{transition:transform .2s,box-shadow .2s}.home-page .opening-cta a:hover{transform:translateY(-3px);box-shadow:0 12px 32px #ec3a9950}@keyframes opening-action{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}

/* Transparent map and luminous journeys, integrated directly into the page. */
.home-page .contact-world-map{position:relative;width:100%;margin:24px 0 0;border:0;border-radius:0;background:none;box-shadow:none;isolation:isolate}
.home-page .contact-world-map img{display:block;width:100%;height:auto;object-fit:contain}
.contact-world-map .map-routes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.map-trail{fill:none;stroke:#d6ffff;stroke-width:4;stroke-linecap:round;stroke-dasharray:3 97;opacity:0;filter:drop-shadow(0 0 5px #42eaff)}
.map-point{fill:#fff;filter:drop-shadow(0 0 10px #ff4dcb)}
.map-pulse{fill:none;stroke:#ff96e1;stroke-width:3;transform-box:fill-box;transform-origin:center;opacity:.55}
@media(prefers-reduced-motion:no-preference){
 .map-trail{animation:map-journey 5.5s linear infinite;animation-delay:var(--delay)}
 .map-pulse{animation:map-beacon 3.5s ease-out infinite;animation-delay:var(--delay)}
 @keyframes map-journey{0%{stroke-dashoffset:0;opacity:0}12%,80%{opacity:.9}100%{stroke-dashoffset:-100;opacity:0}}
 @keyframes map-beacon{0%{transform:scale(.5);opacity:.85}85%,100%{transform:scale(2.8);opacity:0}}
}

/* Staggered destination lights and moving particles on the existing routes. */
.contact-world-map::before{content:"";position:absolute;inset:6% 0;background:radial-gradient(ellipse at 73% 45%,#ff46c826,transparent 42%),radial-gradient(ellipse at 32% 50%,#1bdfff20,transparent 60%);filter:blur(18px);z-index:-1;pointer-events:none;opacity:.65}
.map-traveller{fill:#fff;stroke:#8cf8ff;stroke-width:3;filter:drop-shadow(0 0 10px #64efff);opacity:0;offset-path:var(--travel-path)}
@media(prefers-reduced-motion:no-preference){
 .map-traveller{animation:map-travel var(--duration) linear infinite;animation-delay:var(--delay)}
 .contact-world-map .map-point{transform-box:fill-box;transform-origin:center;animation:map-spark 3s ease-in-out infinite}
 .contact-world-map .map-point:nth-of-type(4n){animation-delay:-1.4s}
 .contact-world-map .map-point:nth-of-type(6n){animation-delay:-2.2s}
 .contact-world-map::before{animation:map-aura 7s ease-in-out infinite alternate}
 @keyframes map-travel{0%{offset-distance:0%;opacity:0}8%,88%{opacity:1}100%{offset-distance:100%;opacity:0}}
 @keyframes map-spark{0%,100%{opacity:.55;transform:scale(.8)}45%{opacity:1;transform:scale(1.65)}}
 @keyframes map-aura{from{opacity:.3;transform:scale(.96)}to{opacity:.85;transform:scale(1.04)}}
}

/* Aircraft follow the routes; the map gently enlarges on pointer hover. */
.contact-world-map .map-trail{display:none}
.contact-world-map .map-plane{offset-path:var(--travel-path);offset-rotate:auto;offset-anchor:0px 0px;opacity:0;filter:drop-shadow(0 2px 5px #00264f)}
.contact-world-map .map-plane path{fill:#fff;stroke:#46d8ff;stroke-width:2;stroke-linejoin:round}
.home-page .contact-world-map{transform-origin:center;transition:transform .55s cubic-bezier(.2,.7,.3,1)}
@media(prefers-reduced-motion:no-preference){
 .contact-world-map .map-plane{animation:map-travel var(--duration) linear infinite;animation-delay:var(--delay)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .home-page .contact-world-map:hover{transform:scale(1.045)}
}
@media(prefers-reduced-motion:reduce){.home-page .contact-world-map{transition:none}}

/* More legible navigation and opening action over the colourful photograph. */
.home-page>header nav a{font-size:21px!important;font-weight:600!important;text-shadow:0 2px 6px #001329,0 0 18px #001329}
.home-page .opening-cta{width:min(760px,calc(100% - 40px));max-width:760px;padding:22px 28px 20px;border-radius:26px;background:linear-gradient(125deg,rgba(4,28,53,.88),rgba(18,43,74,.82));border:1px solid rgba(160,224,255,.26);box-shadow:0 12px 36px #00142630;margin-bottom:12px;backdrop-filter:blur(8px)}
.home-page .opening-cta p{font-size:20px;line-height:1.5;font-weight:650;margin:0 0 16px;color:#fff;text-shadow:none}
.home-page .opening-cta .pink{font-size:19px;padding:16px 32px;min-height:54px;background:#ff55bb!important;color:#111c32!important;box-shadow:0 5px 22px #fc35b03b}
.home-page .opening-cta span{font-size:16px;line-height:1.6;color:#f4f8ff;margin-top:14px;text-shadow:none}
@media(max-width:1100px) and (min-width:761px){.home-page>header nav a{font-size:19px!important}}
@media(max-width:760px){
 .home-page>header.mobile-menu-ready nav a{font-size:20px!important}
 .home-page .opening-cta{width:calc(100% - 28px);padding:16px 18px;border-radius:22px;margin-bottom:10px}
 .home-page .opening-cta p{font-size:16px;max-width:none;margin-bottom:12px}
 .home-page .opening-cta .pink{font-size:17px;min-height:50px;padding:13px 22px}
 .home-page .opening-cta span{font-size:14px;max-width:none;margin-top:10px}
}
@media(max-height:600px){.home-page .opening-cta{padding:10px 18px;margin-bottom:6px}.home-page .opening-cta p{font-size:15px;margin-bottom:8px}.home-page .opening-cta span{display:none}.home-page .opening-cta .pink{font-size:16px;min-height:44px;padding:10px 22px}}

/* Seamless photographic shading instead of a boxed opening action. */
.home-page .opening-cta{background:none;border:0;box-shadow:none;backdrop-filter:none;border-radius:0;isolation:isolate}
.home-page .opening-cta::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-65px -120px -38px;background:radial-gradient(ellipse at 50% 62%,rgba(28,43,88,.78) 0%,rgba(65,47,100,.56) 35%,rgba(102,62,111,.22) 59%,transparent 74%);filter:blur(16px)}
.home-page .opening-cta p{font-size:22px;text-shadow:0 2px 5px #14233d,0 0 16px #17294b;font-weight:650;letter-spacing:.1px}
.home-page .opening-cta span{font-size:17px;color:#fff;text-shadow:0 2px 5px #14233d,0 0 12px #17294b}
.home-page .opening-cta .pink{background:linear-gradient(115deg,#ffab8c,#ff74bd)!important;border:1px solid #ffd9e28c;box-shadow:0 8px 26px #53224d55,inset 0 1px 0 #ffffff66;color:#17213c!important}
@media(max-width:760px){.home-page .opening-cta::before{inset:-35px -14px -25px;filter:blur(10px)}.home-page .opening-cta p{font-size:17px}.home-page .opening-cta span{font-size:15px}}
@media(max-height:600px){.home-page .opening-cta p{font-size:15px}}

/* Shared peach-to-rose primary actions, matching the opening photograph. */
body .pink,.home-page .opening-cta .pink{background:linear-gradient(115deg,#ffab8c 0%,#ff8ca7 48%,#ff74bd 100%)!important;color:#17213c!important;border:1px solid #ffd9e28c!important;border-radius:999px!important;font-weight:700;box-shadow:0 6px 20px #53224d30,inset 0 1px 0 #ffffff66;text-shadow:none!important}
body .pink:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(hover:hover){body .pink:hover{background:linear-gradient(115deg,#ffbd9e,#ff8bc8)!important;box-shadow:0 8px 24px #f273a54d}}
/* Continuous blue entrance, opening into warm lilac and soft teal. */
.home-page .intro-pitch{background:linear-gradient(180deg,#1a4365 0%,rgba(26,67,101,.4) 28%,rgba(26,67,101,0) 100%),radial-gradient(ellipse at 82% 45%,#b36b944d,transparent 72%),radial-gradient(ellipse at 14% 60%,#35a7b247,transparent 70%)!important;padding-top:48px!important;padding-bottom:54px!important}
.home-page .intro-pitch h1{color:#fff!important;line-height:1.18;text-shadow:0 2px 12px #132c4f35}
.home-page .intro-pitch h1 span{color:#ffc4cd!important;background:none!important;-webkit-text-fill-color:#ffc4cd}
.home-page .intro-pitch .intro-kicker{color:#ffe0d0!important;font-size:16px!important;font-weight:650;letter-spacing:.14em;line-height:1.6}
.home-page .intro-pitch .intro-summary{color:#fff!important;font-size:20px!important;line-height:1.75!important;max-width:800px;margin-left:auto;margin-right:auto;opacity:1}
.home-page .intro-pitch .intro-secondary{color:#fff!important;font-size:17px!important;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.home-page .intro-pitch .pink{font-size:18px;min-height:50px}
@media(max-width:760px){.home-page .intro-pitch{padding-top:36px!important;padding-bottom:40px!important}.home-page .intro-pitch .intro-kicker{font-size:14px!important;letter-spacing:.09em}.home-page .intro-pitch .intro-summary{font-size:18px!important;line-height:1.65!important}.home-page .intro-pitch .intro-secondary{font-size:16px!important}}

/* Matching service action, seamless section exit and white search field. */
.home-page .intro-pitch .intro-secondary.pink{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;text-decoration:none!important;color:#17213c!important;font-size:18px!important;min-height:50px;box-sizing:border-box}
.home-page .intro-pitch{position:relative;isolation:isolate;background:transparent!important;border:0!important;box-shadow:none!important}
.home-page .intro-pitch::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#1a4365 0%,rgba(26,67,101,.4) 28%,transparent 100%),radial-gradient(ellipse at 82% 45%,#b36b944d,transparent 72%),radial-gradient(ellipse at 14% 60%,#35a7b247,transparent 70%);mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 100%)}
.home-page .visual-intro,.home-page .hero{border:0!important;box-shadow:none!important}
.home-page #search{background:#fff!important;border:1px solid #dfdfef!important;box-shadow:0 6px 22px #09284518!important;color:#17213c!important}
.home-page #search #query{background:#fff!important;color:#17213c!important;border:0!important;box-shadow:none!important;caret-color:#a32a72}
.home-page #search #query::placeholder{color:#536078!important;opacity:1}
.home-page #search>span{color:#273653!important}
.home-page #search:focus-within{outline:3px solid #ffadce;outline-offset:3px}

/* Consistent rounded corners throughout the contact area. */
.home-page #contact{--contact-radius:20px}
.home-page #contact input,.home-page #contact textarea,.home-page #contact select,
.home-page #contact .meeting-card,.home-page #contact .community,
.home-page #contact .brief-assistant,.home-page #contact .brief-preview,
.home-page #contact .brief-assistant details,.home-page #contact .brief-copy,
.home-page #contact button.pink{border-radius:var(--contact-radius)!important}
.home-page #contact input,.home-page #contact textarea,.home-page #contact select{padding-left:16px;padding-right:16px}

/* Peach-pink outlines only: preserve each card's interior colour. */
body :is(.service-grid article,.story-grid article,.service-details>article,.space-card,.product,.meeting-card,.community,.brief-assistant,.product-support,.brief-box,.launch-panel,.project-facts>div){position:relative;border-color:transparent!important}
body :is(.service-grid article,.story-grid article,.service-details>article,.space-card,.product,.meeting-card,.community,.brief-assistant,.product-support,.brief-box,.launch-panel,.project-facts>div)::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(125deg,#ffb18b 0%,#ff91a5 45%,#ff75c1 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;z-index:2}

/* Gradient edges on controls and image frames, without recolouring interiors. */
body :is(.category-tabs a,.filters a,.filters button,.gallery-thumbs button,.collection-search,.gallery-stage,.card-photo,.product-image,.product-answers details,.faq-list details){border:2px solid transparent!important;background:linear-gradient(#234967,#234967) padding-box,linear-gradient(125deg,#ffb18b,#ff91a5 45%,#ff75c1) border-box!important}
body :is(input:not([type=checkbox]):not([type=radio]),textarea,select){border:2px solid transparent!important;background:linear-gradient(#153c59,#153c59) padding-box,linear-gradient(125deg,#ffb18b,#ff91a5 45%,#ff75c1) border-box!important}
.home-page #search{border:2px solid transparent!important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(125deg,#ffb18b,#ff91a5 45%,#ff75c1) border-box!important}
.home-page #search #query{border:0!important;background:#fff!important}
body .about-home>img{padding:2px;box-sizing:border-box;background:linear-gradient(125deg,#ffb18b,#ff91a5 45%,#ff75c1)!important;border:0!important;border-radius:22px}
body .category-tabs a[aria-current],body .category-tabs a:hover,body .filters a:hover{background:linear-gradient(#326f89,#326f89) padding-box,linear-gradient(125deg,#ffb18b,#ff91a5 45%,#ff75c1) border-box!important}

/* Clearly outlined category pills and separate rounded FAQ cards. */
body .category-tabs a,body .filters a,body #filters a{display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent!important;border-radius:999px!important;background:linear-gradient(#234967,#234967) padding-box,linear-gradient(125deg,#ffb18b,#ff91a5 45%,#ff75c1) border-box!important;color:#fff!important;padding:10px 18px;box-sizing:border-box}
body .category-tabs a[aria-current="page"],body .filters a:hover,body .category-tabs a:hover{background:linear-gradient(#356780,#356780) padding-box,linear-gradient(125deg,#ffb18b,#ff91a5 45%,#ff75c1) border-box!important}
body .faq-list{display:grid;gap:16px}
body .faq-list details{border:2px solid transparent!important;border-radius:20px!important;padding:0!important;overflow:hidden;background:linear-gradient(#234967,#234967) padding-box,linear-gradient(125deg,#ffb18b,#ff91a5 45%,#ff75c1) border-box!important}
body .faq-list summary{padding:20px 24px;cursor:pointer}
body .faq-list details p{padding:0 24px 22px;margin:0;box-sizing:border-box}
@media(max-width:760px){body .faq-list{gap:14px}body .faq-list summary{padding:17px 18px}body .faq-list details p{padding:0 18px 20px}}

/* Launch checklist and homepage category contours. */
.home-page #catalogue #filters a,.home-page #catalogue #filters a:hover{border:2px solid transparent!important;background:linear-gradient(#234967,#234967) padding-box,linear-gradient(125deg,#ffb18b,#ff91a5 45%,#ff75c1) border-box!important;border-radius:999px!important}
body .launch-checklist li{border:2px solid transparent!important;border-radius:20px;background:linear-gradient(#173a55,#173a55) padding-box,linear-gradient(125deg,#ffb18b,#ff91a5 45%,#ff75c1) border-box!important}

/* Stable shared colour at the image/intro seam, independent of animations. */
.home-page .intro-pitch::before{animation:none!important;opacity:1!important;top:-2px;background:linear-gradient(180deg,#1a4365 0%,#1a4365 10%,rgba(26,67,101,.82) 32%,rgba(26,67,101,0) 100%),radial-gradient(ellipse at 82% 65%,#b36b9433,transparent 72%),radial-gradient(ellipse at 14% 70%,#35a7b230,transparent 70%)}
.home-page .world-banner::after{background:linear-gradient(180deg,transparent 45%,rgba(26,67,101,.12) 60%,rgba(26,67,101,.55) 78%,#1a4365 97%,#1a4365 100%)!important}

/* Hide the separate homepage corner logo at every screen size. */
.home-page>header .corner-brand{display:none!important}

.trend-watch{padding-block:48px}.trend-watch h2{font-size:clamp(26px,3vw,38px);line-height:1.25;max-width:850px}.trend-watch>p{max-width:850px;font-size:18px;line-height:1.75;color:#eff6ff}.trend-actions{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0}.trend-actions a{display:inline-flex;align-items:center;padding:14px 22px;text-decoration:none;box-sizing:border-box;white-space:normal}.trend-watch .trend-note{font-size:14px;color:#d2e2ef}@media(max-width:760px){.trend-watch{padding-block:32px}.trend-actions{flex-direction:column}.trend-actions a{justify-content:center;text-align:center}.trend-watch>p{font-size:17px}}

/* Preserve the original sunset reflections across the opening image. */
.home-page .world-banner::after{background:linear-gradient(180deg,transparent 0%,transparent 96%,rgba(26,67,101,.28) 100%)!important}
.home-page .world-stats,.home-page .world-stats>div{background:transparent!important;backdrop-filter:none!important}
.home-page .world-stats b,.home-page .world-stats span,.home-page .world-stats small{text-shadow:0 2px 4px #041126,0 0 12px #041126!important}

/* Carry the water reflections below the first screen. */
.home-page .world-banner::after{background:none!important}
.home-page .intro-pitch::before{content:"";inset:0 0 auto!important;height:180px!important;background:url('assets/smartclicks-shanghai-reflections.webp') center bottom / auto 100svh no-repeat!important;transform:scaleY(-1)!important;transform-origin:center;mask-image:linear-gradient(to top,#000 0%,#000 8%,rgba(0,0,0,.65) 45%,transparent 100%)!important;-webkit-mask-image:linear-gradient(to top,#000 0%,#000 8%,rgba(0,0,0,.65) 45%,transparent 100%)!important;opacity:1!important;animation:none!important;z-index:-1}
.home-page .intro-pitch .intro-kicker,.home-page .intro-pitch h1,.home-page .intro-pitch .intro-summary{text-shadow:0 2px 6px #09223c}

/* One continuous image: no mirrored strip or second water layer. */
.home-page .world-banner>img{height:calc(100svh + 180px)!important;object-fit:cover!important;object-position:center center!important;mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 180px),transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 180px),transparent 100%)!important}
.home-page .intro-pitch::before{display:none!important;background:none!important}
.home-page .world-banner::after{background:none!important}

/* Legible figures over the photograph, with a soft shared backdrop. */
.home-page .world-stats{position:relative;isolation:isolate}
.home-page .world-stats::before{content:"";position:absolute;inset:-14px -28px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(5,20,46,.92) 0%,rgba(5,20,46,.78) 52%,transparent 76%);filter:blur(8px)}
.home-page .world-stats b{color:#ff8bcd!important;font-weight:800!important;text-shadow:0 2px 5px #041126!important}
.home-page .world-stats span{color:#fff!important;font-weight:700!important;font-size:15px!important;line-height:1.4!important;text-shadow:0 1px 4px #041126!important}
.home-page .world-stats small{color:#f5f1ff!important;font-size:12px!important;line-height:1.4!important;text-shadow:0 1px 4px #041126!important}

/* Match the opening composition to the landscape artwork instead of cropping it. */
.home-page .world-banner{grid-template-rows:calc(56.28vw - 136px) 136px auto!important;min-height:0!important}
.home-page .world-banner>img{height:calc(56.28vw + 25px)!important;object-fit:cover!important;object-position:center top!important;mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 90px),transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 90px),transparent 100%)!important}
.home-page .world-banner::after{height:calc(56.28vw + 25px)!important}

/* Let the water remain visible further into the following section. */
.home-page .world-banner>img{height:calc(56.28vw + 85px)!important;object-fit:fill!important;mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 105px),transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 105px),transparent 100%)!important}

/* Longer, gradual blend into the page palette. */
.home-page .world-banner>img{height:calc(56.28vw + 170px)!important;mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 260px),rgba(0,0,0,.92) calc(100% - 210px),rgba(0,0,0,.65) calc(100% - 140px),rgba(0,0,0,.25) calc(100% - 65px),transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 260px),rgba(0,0,0,.92) calc(100% - 210px),rgba(0,0,0,.65) calc(100% - 140px),rgba(0,0,0,.25) calc(100% - 65px),transparent 100%)!important}

/* Extend the water transition further down the introduction. */
.home-page .world-banner>img{height:calc(56.28vw + 270px)!important;mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 350px),rgba(0,0,0,.9) calc(100% - 275px),rgba(0,0,0,.6) calc(100% - 180px),rgba(0,0,0,.2) calc(100% - 80px),transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 350px),rgba(0,0,0,.9) calc(100% - 275px),rgba(0,0,0,.6) calc(100% - 180px),rgba(0,0,0,.2) calc(100% - 80px),transparent 100%)!important}

/* Keep the hull colours intact; fade only the lowest water reflections. */
.home-page .world-banner>img{mask-image:linear-gradient(to bottom,#000 0%,#000 88%,rgba(0,0,0,.95) 91%,rgba(0,0,0,.65) 95%,rgba(0,0,0,.2) 98%,transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 88%,rgba(0,0,0,.95) 91%,rgba(0,0,0,.65) 95%,rgba(0,0,0,.2) 98%,transparent 100%)!important}

/* Restore the original landscape proportions without stretching. */
.home-page .world-banner>img{height:56.28vw!important;object-fit:contain!important;object-position:center top!important}

/* Original artwork above, generated river continuation behind it. */
.home-page .world-banner::before{content:"";display:block!important;position:absolute;inset:0 0 auto!important;height:86.64vw!important;background:url("assets/shanghai-water-extended.webp") center top / 100% auto no-repeat!important;z-index:-3!important;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%)!important;mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%)!important}
.home-page .world-banner>img{mask-image:linear-gradient(#000 0%,#000 95%,transparent 100%)!important;-webkit-mask-image:linear-gradient(#000 0%,#000 95%,transparent 100%)!important}

/* Blend the two water textures gradually and support the introductory copy. */
.home-page .world-banner>img{mask-image:linear-gradient(to bottom,#000 0%,#000 86%,rgba(0,0,0,.9) 90%,rgba(0,0,0,.5) 96%,transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 86%,rgba(0,0,0,.9) 90%,rgba(0,0,0,.5) 96%,transparent 100%)!important}
.home-page .intro-pitch::after{content:"";position:absolute;inset:-28px 0 -12px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(4,24,48,.86) 0%,rgba(4,24,48,.65) 42%,transparent 75%);filter:blur(12px)}
.home-page .intro-pitch .intro-kicker{color:#fff!important;font-size:17px!important;font-weight:700!important;letter-spacing:.12em!important;text-shadow:0 2px 5px #041326!important}
.home-page .intro-pitch h1{color:#fff!important;font-size:clamp(32px,3.4vw,46px)!important;line-height:1.2!important;text-shadow:0 2px 6px #041326!important}
.home-page .intro-pitch h1 span{color:#ffb4d8!important}
.home-page .intro-pitch .intro-summary{color:#fff!important;font-size:19px!important;font-weight:500!important;line-height:1.65!important;text-shadow:0 2px 4px #041326!important;max-width:780px!important}

/* A broad, continuous fade from the river into the shared page background. */
.home-page .world-banner::before{mask-image:linear-gradient(to bottom,#000 0%,#000 57%,rgba(0,0,0,.96) 63%,rgba(0,0,0,.82) 69%,rgba(0,0,0,.58) 77%,rgba(0,0,0,.3) 85%,rgba(0,0,0,.1) 93%,transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 57%,rgba(0,0,0,.96) 63%,rgba(0,0,0,.82) 69%,rgba(0,0,0,.58) 77%,rgba(0,0,0,.3) 85%,rgba(0,0,0,.1) 93%,transparent 100%)!important}
.home-page .intro-pitch,.home-page .hero{background:transparent!important;border:0!important;box-shadow:none!important}
.home-page .intro-pitch::after{inset:-40px 0 -90px!important;background:radial-gradient(ellipse at 50% 40%,rgba(4,24,48,.7),rgba(4,24,48,.32) 40%,transparent 72%)!important;filter:blur(22px)!important}

/* Sunset / electric blue colour study, shared across the site. */
body,body.home-page,body.space-page{background-color:#123665!important;background-image:radial-gradient(ellipse at 0% 20%,rgba(0,172,225,.48),transparent 58%),radial-gradient(ellipse at 100% 48%,rgba(229,42,147,.38),transparent 60%),radial-gradient(ellipse at 10% 95%,rgba(52,102,231,.45),transparent 55%),linear-gradient(135deg,#103b76 0%,#153e79 42%,#452c72 78%,#653852 100%)!important;background-attachment:fixed!important}
body :is(.service-grid article,.story-grid article,.space-card,.meeting-card,.brief-assistant,.product,.product-support,.brief-box,.community){background:linear-gradient(135deg,rgba(14,65,114,.96),rgba(39,43,94,.96))!important;box-shadow:0 12px 28px #061b3c30,inset 0 1px #8bdfff20!important}
body :is(.service-grid p,.story-grid p,.space-card p,.meeting-card p,.product p,.brief-assistant p,.catalogue-note,.about-home p){color:#eef5ff!important}
body .launch-panel{background:linear-gradient(120deg,rgba(23,83,142,.88),rgba(135,42,111,.7))!important}
body footer,.home-page footer{background:linear-gradient(180deg,transparent,rgba(113,43,104,.55) 45%,rgba(202,72,113,.64) 80%,rgba(239,126,98,.66)),radial-gradient(ellipse at 15% 100%,#ff9d6355,transparent 70%)!important;border-top:0!important}
body footer a,body footer small{color:#fff!important}

/* One shared section: a compact process above the four service cards. */
.home-page .combined-services{padding-block:44px!important}
.home-page .project-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:28px 0 30px}
.home-page .project-steps article{background:none!important;border:0!important;box-shadow:none!important;padding:0 0 0 16px!important;border-left:2px solid #ff96bd!important;border-radius:0!important;min-width:0}
.home-page .project-steps article::before{display:none!important}
.home-page .project-steps b{color:#ffb18b;font-size:14px}
.home-page .project-steps h3{font-size:19px;line-height:1.35;margin:7px 0 10px}
.home-page .project-steps p{font-size:15px;line-height:1.6;color:#eef5ff;margin:0}
.home-page .services-caption{font-size:19px;font-weight:700;color:#fff;margin:0 0 16px}
.home-page .combined-services .service-grid{margin-top:0!important}
