:root{--ink:#171717;--cream:#f2efe9;--line:#d0ccc5;--muted:#6c6964;--lime:#d9c8af;--dark:#141414}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.site-header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:5;border-bottom:1px solid rgba(0,0,0,.12)}
.header-on-dark{color:#f5f2ec;border-color:rgba(255,255,255,.16)}
.home-page .site-header{position:absolute;inset:0 0 auto}
.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font:600 17px 'Space Grotesk',sans-serif;letter-spacing:-.05em}
.brand>span:last-child>span{font-weight:400;opacity:.65}
.brand-mark{width:35px;height:35px;border:1px solid currentColor;display:grid;place-items:center;font-size:19px;letter-spacing:-.08em}
.site-nav{display:flex;align-items:center;gap:clamp(18px,3vw,48px);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.site-nav>a{transition:opacity .25s ease}
.site-nav>a:hover{opacity:.6}
.site-nav>a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}
.nav-action{padding:12px 0;border-bottom:1px solid currentColor;white-space:nowrap}
.nav-action span{margin-left:12px;font-size:17px}

/* Opening screen */
.home-page{background:var(--dark);color:#f5f2ec}
.home-hero{min-height:700px;height:100svh;padding:120px 5vw 42px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;isolation:isolate}
.hero-atmosphere{position:absolute;inset:0;z-index:-1;background:linear-gradient(108deg,#171719 4%,#29272e 42%,#605760 73%,#b39784 110%)}
.hero-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,15,17,.8) 0%,rgba(18,18,20,.44) 53%,transparent 100%)}
.hero-glow{position:absolute;inset:-20% -12% -15% 35%;background:linear-gradient(125deg,transparent 10%,rgba(135,128,195,.45) 43%,rgba(235,162,143,.5) 67%,rgba(225,197,150,.34) 90%);filter:blur(70px);animation:colourShift 11s ease-in-out infinite alternate}
.hero-panel{position:absolute;height:120%;top:-10%;transform:skew(-18deg);border-left:1px solid rgba(255,255,255,.15);border-right:1px solid rgba(255,255,255,.1);animation:panelFloat 13s ease-in-out infinite alternate}
.panel-one{width:28%;right:13%;background:linear-gradient(180deg,rgba(197,157,178,.26),rgba(116,118,173,.18) 55%,rgba(234,196,150,.15))}
.panel-two{width:20%;right:-10%;background:linear-gradient(180deg,rgba(237,181,153,.21),rgba(169,145,184,.19));animation-delay:-4s;animation-direction:alternate-reverse}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,transparent 25%,#000 100%)}
.hero-meta,.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;font-weight:700;letter-spacing:.18em}
.hero-meta{color:#f4e7db;justify-content:flex-end}
.hero-copy{margin-top:10vh;max-width:1260px;animation:reveal .9s ease-out both}
.hero-kicker{font-size:clamp(15px,1.4vw,20px);font-weight:500;margin:0 0 26px;color:#e8dfd2}
.hero-copy h1{font:600 clamp(65px,8.5vw,142px)/.9 'Space Grotesk',sans-serif;letter-spacing:-.085em;margin:0;white-space:nowrap}
.hero-copy h1 em{font-style:normal;color:#f3c6ae}
.hero-description{max-width:560px;font-size:clamp(16px,1.4vw,21px);line-height:1.55;color:#e0d9d0;margin:42px 0 0}
.hero-bottom{justify-content:flex-start;animation:reveal .9s .2s ease-out both}
.hero-link{border-bottom:1px solid currentColor;padding:0 0 12px;min-width:176px;transition:color .25s,transform .25s}
.hero-link:hover{color:var(--lime);transform:translateY(-3px)}
.hero-link span{font-size:19px;margin-left:18px}
.secondary-link{color:#e0d9d0}
.hero-index{margin-left:auto;color:#c8beb3}
@keyframes colourShift{to{transform:translate(-5%,4%) scale(1.07);opacity:.78}}
@keyframes panelFloat{to{transform:skew(-18deg) translateX(30px)}}
@keyframes reveal{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}

/* Services */
.inner-page{min-height:100vh}
.page-heading{padding:110px 7vw 100px;border-bottom:1px solid var(--line)}
.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;margin:0}
.page-heading .eyebrow{display:flex;justify-content:space-between;color:var(--muted)}
.page-heading h1{font:600 clamp(66px,9vw,150px)/.84 'Space Grotesk',sans-serif;letter-spacing:-.09em;margin:55px 0 38px}
.page-heading h1 span{color:#817b73}
.page-heading>p:last-child{max-width:620px;color:#625d57;font-size:19px;line-height:1.65;margin:0}
.service-list{padding:70px 7vw 115px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.service-card{min-width:0;border:1px solid var(--line);background:#f8f6f1;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(28,25,22,.1)}
.service-image{height:clamp(235px,24vw,360px);overflow:hidden;background:#d3cec5}
.service-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.service-card:hover .service-image img{transform:scale(1.045)}
.service-content{min-height:305px;padding:30px clamp(26px,3vw,48px) 34px;display:flex;flex-direction:column;align-items:flex-start}
.service-number,.service-detail{font-size:10px;font-weight:700;letter-spacing:.15em}
.service-number{display:inline-block;padding:8px 11px;margin-bottom:26px;background:#e8dac8;color:#473930}
.brand-card .service-number{background:#e3ded1;color:#554b3b}
.film-card .service-number{background:#d8dfdf;color:#3b5557}
.social-card .service-number{background:#e4d8d4;color:#69483f}
.service-card h2{font:500 clamp(34px,3.3vw,52px)/1 'Space Grotesk',sans-serif;letter-spacing:-.06em;margin:0 0 17px}
.service-card p{max-width:520px;font-size:16px;line-height:1.6;color:#625e59;margin:0 0 32px}
.service-detail{color:#77716b;line-height:1.5;margin-top:auto}
.page-cta{padding:95px 7vw 105px;background:#1c1b1a;color:#f5f2ec}
.page-cta p{font-size:11px;font-weight:700;letter-spacing:.2em;color:#d5cbc0}
.page-cta h2{font:600 clamp(64px,9vw,145px)/.84 'Space Grotesk',sans-serif;letter-spacing:-.09em;margin:45px 0}
.page-cta a{display:inline-flex;gap:50px;align-items:center;border-bottom:1px solid;padding:12px 0;font-weight:700}
.page-cta a:hover{color:var(--lime)}
.site-footer{padding:30px 5vw;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.12em}

/* Contact */
.contact-page{background:#1c1b1a;color:#f5f2ec}
.contact-page .site-header,.contact-page .site-footer{border-color:rgba(255,255,255,.16)}
.contact-layout{min-height:calc(100svh - 160px);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);align-items:center;gap:10vw;padding:95px 7vw 120px}
.contact-intro h1{font:600 clamp(90px,12vw,190px)/.78 'Space Grotesk',sans-serif;letter-spacing:-.09em;margin:58px 0 36px}
.contact-intro h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.75)}
.contact-intro>p:nth-of-type(2){max-width:480px;color:#d2c8bd;font-size:19px;line-height:1.6}
.contact-email{display:block;width:max-content;max-width:100%;font:500 clamp(19px,2.3vw,32px) 'Space Grotesk',sans-serif;border-bottom:1px solid;padding-bottom:8px;margin-top:60px;overflow-wrap:anywhere}
.contact-phone{display:block;width:max-content;color:#d2c8bd;margin-top:20px}
.contact-form{background:#f2efe9;color:#171717;padding:clamp(28px,4vw,55px);display:flex;flex-direction:column;align-self:center}
.contact-form label{font-size:11px;font-weight:700;letter-spacing:.14em;margin:0 0 9px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #aaaead;border-radius:0;background:transparent;color:#171717;padding:13px 0 16px;margin-bottom:26px;outline:0;font-size:16px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#171717;box-shadow:0 1px #141514}
.contact-form textarea{resize:vertical;min-height:110px}
.contact-form button{display:flex;justify-content:space-between;align-items:center;border:0;background:#1c1b1a;color:#fff;padding:19px 22px;cursor:pointer;font-weight:700;text-align:left}
.contact-form button:hover{background:#393633}
.form-note{font-size:13px;color:#69645e;line-height:1.5;margin:18px 0 0}
.form-note a{text-decoration:underline;text-underline-offset:3px}

@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:65px}.service-list{gap:18px}.service-content{min-height:340px}.hero-copy h1{font-size:9.2vw}}
@media(max-width:600px){.site-header{height:auto;min-height:76px;padding:17px 5vw;align-items:flex-start;flex-wrap:wrap;gap:14px}.brand{font-size:16px}.brand-mark{height:32px;width:32px}.site-nav{width:100%;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.02em}.nav-action{padding:0 0 5px}.nav-action span{margin-left:3px;font-size:13px}.home-hero{min-height:690px;padding:155px 5vw 30px}.hero-meta{font-size:9px}.hero-meta span:last-child{display:none}.hero-copy{margin:0}.hero-kicker{font-size:14px;margin-bottom:28px}.hero-copy h1{font-size:10.5vw;line-height:.99;letter-spacing:-.07em}.hero-description{font-size:17px;margin-top:30px;max-width:370px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:18px}.hero-link{font-size:10px;min-width:0;padding-bottom:7px}.hero-index{margin:8px 0 0;font-size:9px}.hero-panel{height:100%;top:0}.panel-one{width:48%;right:0}.panel-two{width:30%;right:-20%}.page-heading{padding:85px 5vw 70px}.page-heading h1{font-size:13vw;margin:45px 0 30px}.page-heading>p:last-child{font-size:17px}.service-list{padding:45px 5vw 80px;grid-template-columns:1fr;gap:22px}.service-image{height:260px}.service-content{min-height:0;padding:28px}.service-card h2{font-size:36px}.service-card p{font-size:15px}.service-detail{font-size:9px}.page-cta{padding:75px 5vw 85px}.page-cta h2{font-size:16vw}.contact-layout{padding:70px 5vw 90px;gap:55px}.contact-intro h1{font-size:26vw;margin:45px 0 30px}.contact-intro>p:nth-of-type(2){font-size:17px}.contact-email{margin-top:38px}.site-footer{padding:25px 5vw;font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}


/* Web design playground */
.web-showcase{padding:clamp(18px,2.5vw,36px);background:#080808;display:grid;place-items:center}
.geek-browser{width:100%;height:100%;min-height:260px;border:1px solid #fff;background:#121212;box-shadow:12px 12px 0 #b8ff36;transform:rotate(-1deg);transition:transform .4s ease,box-shadow .4s ease}
.web-card:hover .geek-browser{transform:rotate(0) translateY(-3px);box-shadow:16px 16px 0 #ff4fd8}
.geek-bar{height:38px;padding:0 13px;display:flex;align-items:center;gap:7px;background:#f5f5f0;color:#111;border-bottom:1px solid #111}
.geek-bar span{width:8px;height:8px;border:1px solid #111;border-radius:50%}
.geek-bar b{margin-left:auto;font:700 8px 'Space Grotesk',sans-serif;letter-spacing:.14em}
.geek-screen{height:calc(100% - 38px);min-height:222px;padding:22px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#5d35ff 0 42%,#ff4fd8 42% 68%,#ffdd36 68% 100%)}
.geek-screen:before{content:"";position:absolute;width:160px;height:160px;border:22px solid #b8ff36;border-radius:50%;right:-55px;bottom:-72px;mix-blend-mode:multiply}
.geek-tag{display:inline-block;padding:6px 9px;background:#111;color:#b8ff36;font:700 8px 'Space Grotesk',sans-serif;letter-spacing:.12em}
.geek-spark{position:absolute;right:24px;top:16px;font-size:40px;color:#111;animation:geekSpin 8s linear infinite}
.geek-screen h3{position:relative;margin:30px 0 12px;font:700 clamp(32px,4.1vw,62px)/.82 'Space Grotesk',sans-serif;letter-spacing:-.075em;text-transform:uppercase}
.geek-screen h3 em{font-style:normal;color:#111;-webkit-text-stroke:1px #fff}
.geek-screen p{position:relative;margin:0;font:700 8px 'Space Grotesk',sans-serif;letter-spacing:.18em}
.geek-button{position:absolute;right:20px;bottom:18px;padding:8px 10px;background:#111;color:#fff;font:700 8px 'Space Grotesk',sans-serif;letter-spacing:.08em}
@keyframes geekSpin{to{transform:rotate(360deg)}}
@media(max-width:600px){.web-showcase{height:300px}.geek-browser{min-height:245px}.geek-screen{min-height:207px}.geek-screen h3{font-size:40px}}


/* Immersive web-world entrance */
.home-hero{perspective:1100px}
.hero-atmosphere{background:radial-gradient(circle at 72% 48%,#38323d 0,#1b1b1e 31%,#09090a 70%)}
.hero-atmosphere::after{background:linear-gradient(90deg,rgba(5,5,6,.92) 0%,rgba(10,10,12,.52) 46%,rgba(0,0,0,.08) 100%)}
.web-tunnel{position:absolute;inset:-18%;transform:rotateX(63deg) rotateZ(-13deg) translate3d(25%,8%,-140px);transform-style:preserve-3d;opacity:.62}
.web-tunnel:before,.web-tunnel:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 1px,transparent 1px 82px),repeating-linear-gradient(0deg,rgba(255,255,255,.13) 0 1px,transparent 1px 82px);animation:tunnelMove 9s linear infinite}
.web-tunnel:after{transform:translateZ(180px) scale(.78);opacity:.34}
.web-tunnel i{position:absolute;width:clamp(90px,10vw,170px);height:clamp(55px,6vw,100px);border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.035);backdrop-filter:blur(3px);box-shadow:0 0 30px rgba(217,200,175,.08)}
.web-tunnel i:nth-child(1){left:45%;top:18%;transform:translateZ(80px)}
.web-tunnel i:nth-child(2){left:68%;top:30%;transform:translateZ(160px)}
.web-tunnel i:nth-child(3){left:51%;top:48%;transform:translateZ(240px)}
.web-tunnel i:nth-child(4){left:77%;top:58%;transform:translateZ(320px)}
.web-tunnel i:nth-child(5){left:59%;top:72%;transform:translateZ(400px)}
.web-tunnel i:nth-child(6){left:86%;top:77%;transform:translateZ(480px)}
.portal-core{position:absolute;right:8vw;top:50%;width:clamp(180px,24vw,390px);aspect-ratio:1;border:1px solid rgba(255,255,255,.28);border-radius:50%;transform:translateY(-50%);display:grid;place-items:center;box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018),0 0 100px rgba(243,198,174,.12);animation:portalPulse 5s ease-in-out infinite}
.portal-core:before,.portal-core:after{content:"";position:absolute;inset:13%;border:1px dashed rgba(255,255,255,.28);border-radius:50%;animation:portalSpin 18s linear infinite}
.portal-core:after{inset:30%;animation-direction:reverse;animation-duration:11s}
.portal-core span{font:600 9px 'Space Grotesk',sans-serif;letter-spacing:.24em;color:rgba(255,255,255,.72)}
.cursor-orbit{position:absolute;right:18%;top:25%;font:400 30px 'Space Grotesk',sans-serif;color:#f3c6ae;animation:cursorFloat 5s ease-in-out infinite}
.hero-copy,.hero-meta,.hero-bottom{position:relative;z-index:2}
.hero-copy h1{text-shadow:0 8px 40px rgba(0,0,0,.3)}
@keyframes tunnelMove{to{background-position:82px 82px,82px 82px}}
@keyframes portalSpin{to{transform:rotate(360deg)}}
@keyframes portalPulse{50%{transform:translateY(-50%) scale(1.035);box-shadow:0 0 0 42px rgba(255,255,255,.02),0 0 0 82px rgba(255,255,255,.012),0 0 130px rgba(243,198,174,.17)}}
@keyframes cursorFloat{50%{transform:translate(22px,18px) rotate(8deg)}}
@media(max-width:600px){.portal-core{right:-22vw;width:72vw;opacity:.62}.cursor-orbit{right:12%;top:30%}.web-tunnel{inset:-5% -55%;opacity:.38}}


/* Hero colour burst */
.hero-atmosphere{background:#08080a}
.hero-glow{inset:-35% -20% -35% 18%;background:conic-gradient(from 215deg at 68% 50%,#ff3cac 0deg,#784ba0 58deg,#2b86c5 112deg,#35f2c4 166deg,#f7ff4a 218deg,#ff8a34 270deg,#ff3cac 360deg);filter:blur(58px) saturate(1.35);opacity:.82;mix-blend-mode:screen;animation:burstFlow 9s ease-in-out infinite alternate}
.hero-atmosphere:before{content:"";position:absolute;inset:-15%;background:radial-gradient(circle at 78% 38%,rgba(255,73,207,.95) 0 4%,transparent 24%),radial-gradient(circle at 63% 72%,rgba(53,242,196,.85) 0 5%,transparent 28%),radial-gradient(circle at 91% 70%,rgba(255,192,55,.8) 0 3%,transparent 22%),radial-gradient(circle at 55% 22%,rgba(93,78,255,.9) 0 5%,transparent 30%);filter:blur(18px);animation:burstDrift 12s ease-in-out infinite alternate}
.hero-atmosphere::after{background:linear-gradient(90deg,rgba(4,4,6,.94) 0%,rgba(6,6,9,.68) 34%,rgba(5,5,8,.18) 66%,rgba(0,0,0,.04) 100%)}
.portal-core{border-color:rgba(255,255,255,.58);box-shadow:0 0 0 34px rgba(255,79,216,.07),0 0 0 72px rgba(53,242,196,.045),0 0 150px rgba(120,75,160,.55)}
.portal-core:before{border-color:rgba(184,255,54,.6)}
.portal-core:after{border-color:rgba(255,255,255,.42)}
.cursor-orbit{color:#b8ff36;text-shadow:0 0 24px rgba(184,255,54,.75)}
.hero-copy h1 em{background:linear-gradient(90deg,#ff72dc,#ffb83e,#dfff49,#55f3cf,#8ea7ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-grid{opacity:.78}
@keyframes burstFlow{to{transform:translate(-6%,5%) scale(1.16) rotate(8deg);filter:blur(48px) saturate(1.6)}}
@keyframes burstDrift{to{transform:translate(-4%,3%) scale(1.08) rotate(-4deg)}}


/* Stark monochrome hero with controlled colour energy */
.hero-atmosphere{background:#000}
.hero-atmosphere::after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.96) 31%,rgba(0,0,0,.66) 54%,rgba(0,0,0,.18) 78%,rgba(0,0,0,.08) 100%)}
.hero-glow{inset:-38% -24% -38% 38%;background:conic-gradient(from 220deg at 72% 50%,#ff3cac,#784ba0 18%,#2b86c5 34%,#35f2c4 50%,#f7ff4a 67%,#ff8a34 83%,#ff3cac);filter:blur(72px) saturate(1.45);opacity:.72;mix-blend-mode:screen}
.hero-atmosphere:before{opacity:.72}
.hero-grid{background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);opacity:.48}
.web-tunnel{filter:grayscale(1) contrast(1.45);opacity:.72}
.portal-core{border-color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 0 42px rgba(255,255,255,.025),0 0 0 84px rgba(255,255,255,.018),0 0 120px rgba(255,255,255,.08)}
.portal-core:before,.portal-core:after{border-color:rgba(255,255,255,.62)}
.portal-core span{color:#fff}
.cursor-orbit{color:#fff;text-shadow:none}
.hero-copy h1{color:#fff;text-shadow:none}
.hero-copy h1 em{background:linear-gradient(90deg,#ff3cac 0%,#ff8a34 25%,#f7ff4a 43%,#35f2c4 65%,#6b8cff 84%,#ff3cac 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-kicker,.hero-description,.hero-meta,.hero-index{color:#fff}
.header-on-dark{color:#fff;border-color:rgba(255,255,255,.28)}


/* Clean colour-field hero — no grid or vertical architecture */
.hero-grid,.web-tunnel,.hero-panel{display:none}
.hero-atmosphere{background:#000}
.hero-atmosphere:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 72% 42%,rgba(255,60,172,.88) 0 9%,transparent 31%),radial-gradient(ellipse at 88% 22%,rgba(120,75,160,.82) 0 8%,transparent 28%),radial-gradient(ellipse at 83% 72%,rgba(43,134,197,.82) 0 9%,transparent 30%),radial-gradient(ellipse at 58% 82%,rgba(53,242,196,.62) 0 7%,transparent 27%);filter:blur(34px);opacity:.95;animation:colourFieldDrift 11s ease-in-out infinite alternate}
.hero-glow{inset:-12% -8% -12% 42%;background:linear-gradient(145deg,rgba(255,60,172,.92) 0%,rgba(120,75,160,.88) 27%,rgba(43,134,197,.84) 52%,rgba(53,242,196,.72) 74%,rgba(247,255,74,.48) 100%);filter:blur(88px);opacity:.72;mix-blend-mode:screen;animation:colourField 10s ease-in-out infinite alternate}
.hero-atmosphere::after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.98) 30%,rgba(0,0,0,.72) 49%,rgba(0,0,0,.24) 70%,rgba(0,0,0,.1) 100%)}
.portal-core{opacity:.72;border-color:rgba(255,255,255,.82);box-shadow:0 0 70px rgba(255,255,255,.06)}
.portal-core:before,.portal-core:after{border-color:rgba(255,255,255,.36)}
@keyframes colourField{to{transform:translate(-4%,3%) scale(1.08);filter:blur(105px);opacity:.86}}
@keyframes colourFieldDrift{to{transform:translate(3%,-2%) scale(1.06)}}


/* Editorial art-direction pass */
.home-hero{background:#000;padding-top:126px}
.hero-copy{max-width:none;width:100%;margin-top:auto;margin-bottom:auto}
.hero-kicker{text-transform:uppercase;font-size:10px;letter-spacing:.28em;font-weight:700;margin-bottom:22px}
.hero-copy h1{font-size:clamp(78px,10.4vw,174px);line-height:.78;letter-spacing:-.09em;text-transform:uppercase;max-width:1200px}
.hero-copy h1 em{display:inline-block;font-style:normal;font-weight:500;letter-spacing:-.085em}
.hero-description{max-width:470px;margin:38px 0 0 52%;font-size:clamp(15px,1.15vw,18px);line-height:1.55;color:rgba(255,255,255,.82)}
.hero-meta{position:absolute;right:5vw;top:122px}
.hero-atmosphere:before{background:radial-gradient(ellipse at 80% 30%,rgba(255,54,162,.95) 0 8%,transparent 28%),radial-gradient(ellipse at 91% 51%,rgba(103,74,255,.88) 0 9%,transparent 29%),radial-gradient(ellipse at 73% 76%,rgba(36,220,208,.78) 0 8%,transparent 28%),radial-gradient(ellipse at 96% 84%,rgba(246,255,72,.62) 0 5%,transparent 22%);filter:blur(26px)}
.hero-glow{inset:-18% -5% -18% 48%;background:linear-gradient(155deg,#ff36a2 0%,#7550ff 34%,#239bd3 60%,#24dcd0 80%,#f6ff48 100%);filter:blur(92px);opacity:.64}
.portal-core{right:4vw;width:clamp(220px,31vw,500px);opacity:.42;border-width:1px}
.portal-core:before{inset:8%;border-style:solid;opacity:.4}
.portal-core:after{inset:24%;border-style:solid;opacity:.55}
.portal-core span{background:#000;padding:8px 11px;letter-spacing:.3em}
.hero-bottom{border-top:1px solid rgba(255,255,255,.28);padding-top:22px}
.hero-link{border-bottom-color:rgba(255,255,255,.7);font-size:10px;letter-spacing:.16em}
.hero-link:hover{color:#fff;transform:translateX(5px)}
@media(max-width:600px){.home-hero{padding-top:150px}.hero-copy h1{font-size:15vw;line-height:.82}.hero-description{margin:28px 0 0;max-width:330px}.hero-meta{top:132px}.portal-core{right:-32vw;width:92vw;opacity:.3}}


/* Unified hero colour composition */
.hero-atmosphere:before{background:radial-gradient(circle at 79% 50%,rgba(255,54,162,.92) 0 8%,transparent 29%),radial-gradient(circle at 80% 50%,rgba(111,75,255,.82) 0 20%,transparent 45%),radial-gradient(circle at 80% 54%,rgba(35,155,211,.68) 0 31%,transparent 57%),radial-gradient(circle at 82% 60%,rgba(36,220,208,.48) 0 39%,transparent 65%);filter:blur(42px);opacity:.94}
.hero-glow{inset:-22% -10% -22% 42%;background:radial-gradient(ellipse at 72% 50%,#ff36a2 0%,#8b4fff 24%,#239bd3 49%,#24dcd0 70%,rgba(246,255,72,.72) 84%,transparent 100%);filter:blur(96px);opacity:.66;transform:none}
.hero-atmosphere::after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.98) 27%,rgba(0,0,0,.74) 48%,rgba(0,0,0,.18) 73%,rgba(0,0,0,.08) 100%)}
@keyframes colourField{to{transform:scale(1.055);filter:blur(108px);opacity:.78}}
@keyframes colourFieldDrift{to{transform:scale(1.04) translateY(-1.5%)}}


/* Pitch-black canvas with colour added on top */
.hero-atmosphere{background:#000!important}
.hero-atmosphere::after{background:linear-gradient(90deg,#000 0%,#000 36%,rgba(0,0,0,.94) 49%,rgba(0,0,0,.58) 67%,rgba(0,0,0,.16) 86%,rgba(0,0,0,.05) 100%)}
.hero-atmosphere:before{inset:8% -4% 4% 50%;background:radial-gradient(circle at 68% 38%,rgba(255,54,162,.96) 0 7%,transparent 29%),radial-gradient(circle at 79% 50%,rgba(111,75,255,.9) 0 12%,transparent 38%),radial-gradient(circle at 66% 67%,rgba(35,155,211,.82) 0 10%,transparent 36%),radial-gradient(circle at 82% 78%,rgba(36,220,208,.7) 0 7%,transparent 29%);filter:blur(44px);opacity:.88}
.hero-glow{inset:10% 1% 8% 56%;background:radial-gradient(ellipse at 62% 50%,rgba(255,54,162,.94) 0%,rgba(139,79,255,.82) 25%,rgba(35,155,211,.67) 48%,rgba(36,220,208,.48) 68%,rgba(246,255,72,.22) 82%,transparent 100%);filter:blur(82px);opacity:.74;mix-blend-mode:screen}


/* Black canvas + expressive colour mark */
.hero-atmosphere{background:#000!important}
.hero-atmosphere::after{background:linear-gradient(90deg,#000 0%,#000 44%,rgba(0,0,0,.88) 58%,rgba(0,0,0,.2) 82%,transparent 100%)}
.hero-atmosphere:before{inset:3% -8% -5% 49%;background:radial-gradient(ellipse at 68% 44%,rgba(255,45,155,.98) 0 8%,transparent 31%),radial-gradient(ellipse at 78% 51%,rgba(119,71,255,.94) 0 14%,transparent 42%),radial-gradient(ellipse at 62% 67%,rgba(25,154,224,.88) 0 12%,transparent 38%),radial-gradient(ellipse at 83% 74%,rgba(31,226,201,.72) 0 8%,transparent 31%);filter:blur(34px);opacity:.9;transform:rotate(-8deg);border-radius:48% 52% 38% 62%}
.hero-glow{inset:12% -2% 6% 57%;background:linear-gradient(138deg,transparent 3%,rgba(255,45,155,.92) 19%,rgba(128,68,255,.9) 39%,rgba(28,147,226,.82) 59%,rgba(31,226,201,.7) 76%,rgba(246,255,72,.38) 90%,transparent 100%);filter:blur(68px);opacity:.76;transform:rotate(-10deg) skewX(-7deg);border-radius:65% 35% 58% 42%}
.portal-core{opacity:.2}
@keyframes colourField{to{transform:rotate(-7deg) skewX(-5deg) scale(1.04);filter:blur(76px);opacity:.82}}
@keyframes colourFieldDrift{to{transform:rotate(-6deg) translate(-1%,1%) scale(1.025)}}


/* Remove portal circle from hero */
.portal-core{display:none!important}


/* Final minimal monochrome hero */
.hero-atmosphere{background:#000!important}
.hero-atmosphere:before,.hero-glow,.hero-grid,.web-tunnel,.hero-panel,.portal-core,.cursor-orbit{display:none!important}
.hero-atmosphere::after{display:none}
.hero-copy h1,.hero-copy h1 em{color:#fff!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;-webkit-text-stroke:0!important}
.hero-kicker,.hero-description,.hero-meta,.hero-index{color:#fff}
.hero-description{color:rgba(255,255,255,.72)}
.header-on-dark{color:#fff;border-color:rgba(255,255,255,.22)}
.hero-bottom{border-top:1px solid rgba(255,255,255,.28)}
.hero-link,.secondary-link{color:#fff}
.hero-link:hover{color:#fff;opacity:.62}


/* KAE locked homepage direction — minimal outside, creative inside */
.home-page,.home-hero,.hero-atmosphere{background:#000!important}
.home-hero{perspective:none;padding:126px 5vw 38px}
.hero-atmosphere:before,.hero-atmosphere:after{display:none!important}
.hero-copy{max-width:none;width:100%;margin:auto 0}
.hero-kicker{margin:0 0 24px;text-transform:none;font-size:clamp(13px,1vw,16px);font-weight:500;letter-spacing:0;color:rgba(255,255,255,.72)}
.hero-copy h1{max-width:1250px;margin:0;font:600 clamp(76px,10vw,166px)/.82 'Space Grotesk',sans-serif;letter-spacing:-.09em;text-transform:none;white-space:normal;color:#fff}
.hero-copy h1 em{font-style:normal;font-weight:400;color:#fff!important}
.hero-description{max-width:460px;margin:36px 0 0 52%;font-size:clamp(15px,1.15vw,18px);line-height:1.55;color:rgba(255,255,255,.68)}
.hero-meta{position:absolute;right:5vw;top:122px;color:rgba(255,255,255,.58)}
.hero-bottom{padding-top:20px;border-top:1px solid rgba(255,255,255,.24)}
.hero-link{padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.68);font-size:10px;letter-spacing:.14em;transition:opacity .25s ease,transform .25s ease}
.hero-link:hover{opacity:.58;transform:translateX(4px)}
.hero-index{color:rgba(255,255,255,.48)}
@media(max-width:600px){.home-hero{padding:150px 5vw 28px}.hero-copy{margin:auto 0}.hero-copy h1{font-size:15vw;line-height:.86}.hero-description{margin:28px 0 0;max-width:340px}.hero-meta{top:132px}.hero-bottom{gap:16px}}


/* Coordinated service concept artwork */
.concept-showcase{padding:clamp(18px,2.5vw,36px);display:grid;place-items:center;background:#080808}
.concept-frame{width:100%;height:100%;min-height:260px;padding:24px;position:relative;overflow:hidden;border:1px solid #111;transition:transform .4s ease;display:flex;flex-direction:column;justify-content:flex-end}
.service-card:hover .concept-frame{transform:translateY(-3px)}
.concept-label{position:absolute;left:22px;top:20px;padding:6px 9px;background:#111;color:#fff;font:700 8px 'Space Grotesk',sans-serif;letter-spacing:.13em}
.concept-frame h3{position:relative;z-index:2;margin:0 0 12px;font:700 clamp(38px,4.4vw,66px)/.8 'Space Grotesk',sans-serif;letter-spacing:-.08em}
.concept-frame p{position:relative;z-index:2;margin:0;font:700 8px 'Space Grotesk',sans-serif;letter-spacing:.18em;color:inherit}
.brand-showcase{background:#e8d8ff}.brand-showcase .concept-frame{background:#ff5b35;color:#111;box-shadow:12px 12px 0 #5938ff}
.brand-symbol{position:absolute;right:18px;top:15px;font:700 90px/.8 'Space Grotesk',sans-serif;color:#ffd93d;transform:rotate(8deg)}
.film-showcase{background:#111}.film-showcase .concept-frame{background:#d8ff3e;color:#111;box-shadow:12px 12px 0 #ff4f9a}
.film-showcase .concept-frame:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-35px;top:32px;background:#6b4cff}
.film-showcase h3 em{font-style:normal;color:#fff;-webkit-text-stroke:1px #111}
.film-time{position:absolute;right:20px;top:20px;z-index:2;font:700 9px 'Space Grotesk',sans-serif;letter-spacing:.12em;color:#fff}
.social-showcase{background:#c9f4ff}.social-showcase .concept-frame{background:#6548ff;color:#fff;box-shadow:12px 12px 0 #ffdc39}
.social-showcase .concept-frame:after{content:"↗";position:absolute;right:-8px;top:34px;font:700 150px/.8 'Space Grotesk',sans-serif;color:#ff5da2;transform:rotate(-8deg)}
.social-badge{position:absolute;right:20px;bottom:22px;z-index:3;padding:7px 9px;background:#fff;color:#111;font:700 8px 'Space Grotesk',sans-serif;letter-spacing:.1em}
@media(max-width:600px){.concept-showcase{height:300px}.concept-frame{min-height:245px}.concept-frame h3{font-size:46px}}


/* Services shell aligned with KAE homepage */
.inner-page{background:#000;color:#fff}
.inner-page .site-header{color:#fff;background:#000;border-color:rgba(255,255,255,.22)}
.inner-page .service-list{background:#000;padding-top:clamp(70px,8vw,120px);padding-bottom:clamp(90px,10vw,150px)}
.inner-page .service-card{background:#000;color:#fff;border-color:rgba(255,255,255,.24);box-shadow:none}
.inner-page .service-card:hover{box-shadow:none;transform:translateY(-4px)}
.inner-page .service-content{background:#000;border-top:1px solid rgba(255,255,255,.18)}
.inner-page .service-number{background:transparent!important;color:rgba(255,255,255,.56)!important;padding:0;margin-bottom:28px}
.inner-page .service-card h2{color:#fff}
.inner-page .service-card p{color:rgba(255,255,255,.68)}
.inner-page .service-detail{color:rgba(255,255,255,.46)}
.inner-page .page-cta{background:#f2efe9;color:#111;border-top:0}
.inner-page .page-cta p{color:#6c6964}
.inner-page .page-cta a{color:#111}
.inner-page .page-cta a:hover{color:#111;opacity:.58}
.inner-page .site-footer{background:#000;color:#fff;border-color:rgba(255,255,255,.2)}
@media(max-width:600px){.inner-page .service-list{padding-top:55px;padding-bottom:85px}}


/* Final KAE polish */
.services-intro{padding:clamp(90px,10vw,150px) 7vw clamp(65px,7vw,105px);background:#000;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}
.services-intro>span{display:block;font-size:10px;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.52);margin-bottom:clamp(36px,5vw,70px)}
.services-intro h1{max-width:1200px;margin:0;font:600 clamp(66px,9vw,148px)/.82 'Space Grotesk',sans-serif;letter-spacing:-.09em}
.services-intro h1 em{font-style:normal;font-weight:400;color:rgba(255,255,255,.58)}
.services-intro p{max-width:470px;margin:42px 0 0 52%;font-size:clamp(15px,1.15vw,18px);line-height:1.6;color:rgba(255,255,255,.66)}
.inner-page .service-list{padding-top:clamp(55px,6vw,90px)}
.inner-page .service-card{transition:transform .35s ease,border-color .35s ease}
.inner-page .service-card:hover{border-color:rgba(255,255,255,.48)}
.inner-page .service-card h2{font-weight:500}
.inner-page .page-cta h2{letter-spacing:-.085em}
.brand-mark{transition:background .25s ease,color .25s ease}
.brand:hover .brand-mark{background:currentColor;color:#000}
.home-page .brand:hover .brand-mark,.inner-page .brand:hover .brand-mark{background:#fff;color:#000}
@media(max-width:600px){.services-intro{padding:75px 5vw 62px}.services-intro h1{font-size:14vw}.services-intro p{margin:28px 0 0;max-width:340px}.services-intro>span{margin-bottom:38px}}


/* Refined CTA and contact type scale */
.inner-page .page-cta h2{font-size:clamp(48px,6.6vw,104px);line-height:.88;margin:34px 0 40px}
.contact-intro h1{font-size:clamp(62px,8vw,124px);line-height:.84;letter-spacing:-.075em;margin:48px 0 34px}
@media(max-width:600px){.inner-page .page-cta h2{font-size:13vw}.contact-intro h1{font-size:17vw;line-height:.86}}


/* KAE homepage signature accent */
.home-page .hero-copy h1 em{color:#4D5BFF!important}


/* Mobile services proportion fix */
@media(max-width:600px){
  .inner-page .service-list{padding-left:4vw;padding-right:4vw;gap:18px}
  .inner-page .service-card{display:grid;grid-template-columns:1fr}
  .inner-page .service-image,.inner-page .web-showcase,.inner-page .concept-showcase{height:245px}
  .inner-page .service-content{min-height:245px;padding:24px 28px 26px}
  .inner-page .service-number{margin-bottom:18px}
  .inner-page .service-card h2{font-size:clamp(30px,9vw,38px);line-height:1.02;margin-bottom:14px}
  .inner-page .service-card p{font-size:15px;line-height:1.55;margin-bottom:24px}
  .inner-page .service-detail{font-size:8px}
  .inner-page .concept-frame{min-height:0;padding:20px}
  .inner-page .concept-frame h3{font-size:40px}
  .inner-page .geek-browser{min-height:0}
  .inner-page .geek-screen{min-height:0}
}


/* Minimal services closing CTA */
.inner-page .page-cta.minimal-cta{background:#000;color:#fff;padding:20px 7vw 90px;border:0}
.inner-page .page-cta.minimal-cta a{color:#fff;margin:0;border-bottom:1px solid rgba(255,255,255,.68);padding:0 0 8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.inner-page .page-cta.minimal-cta a:hover{color:#fff;opacity:.58}
@media(max-width:600px){.inner-page .page-cta.minimal-cta{padding:8px 4vw 65px}}


/* Restore services closing CTA presentation */
.inner-page .page-cta:not(.minimal-cta){background:#f2efe9;color:#111;padding:95px 7vw 105px}
.inner-page .page-cta:not(.minimal-cta) p{color:#6c6964}
.inner-page .page-cta:not(.minimal-cta) a{color:#111;font-size:inherit;letter-spacing:normal;text-transform:none}
@media(max-width:600px){.inner-page .page-cta:not(.minimal-cta){padding:75px 5vw 85px}}


/* Mobile social artwork cleanup */
@media(max-width:600px){
  .social-showcase .concept-frame:after{font-size:92px;right:8px;top:48px;line-height:1;transform:rotate(-6deg);opacity:.9}
  .social-showcase .concept-frame h3{position:relative;z-index:2}
  .social-badge{right:16px;bottom:16px}
}


/* Keep social artwork clean on phones */
@media(max-width:600px){
  .social-showcase .concept-frame:after{display:none!important}
}


/* Mobile social artwork: remove decorative arrow completely */
@media(max-width:600px){
  .inner-page .social-showcase .concept-frame:after{
    content:none!important;
    display:none!important;
    background:none!important;
  }
}


/* TEST: embedded office image inside the black homepage hero */
.home-page .home-hero{
  background-color:#000!important;
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.88) 38%,rgba(0,0,0,.72) 72%,rgba(0,0,0,.78) 100%),
    url("https://images.unsplash.com/photo-1740933084077-edca148dbd5a?auto=format&fit=crop&fm=jpg&q=82&w=2400")!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
@media(max-width:600px){
  .home-page .home-hero{
    background-image:
      linear-gradient(rgba(0,0,0,.86),rgba(0,0,0,.9)),
      url("https://images.unsplash.com/photo-1740933084077-edca148dbd5a?auto=format&fit=crop&fm=jpg&q=78&w=1200")!important;
    background-position:center!important;
  }
}


/* Homepage hero links: no underline */
.home-page .hero-link,
.home-page .hero-link:hover,
.home-page .hero-link:focus{
  border-bottom:0!important;
  text-decoration:none!important;
}


/* Web showcase WWW.001 label */
.inner-page .web-showcase .geek-tag{
  color:#fff!important;
}


/* Refined services closing CTA */
.inner-page .page-cta:not(.minimal-cta){
  background:#000!important;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.18);
}
.inner-page .page-cta:not(.minimal-cta) p{color:rgba(255,255,255,.52)!important}
.inner-page .page-cta:not(.minimal-cta) h2{
  color:#fff;
  font-size:clamp(44px,5.8vw,88px);
  line-height:.9;
  letter-spacing:-.065em;
  margin:32px 0 42px;
}
.inner-page .page-cta:not(.minimal-cta) h2 em{
  color:#4D5BFF;
  font-style:normal;
  font-weight:inherit;
}
.inner-page .page-cta:not(.minimal-cta) a{
  color:#fff!important;
  display:inline-block;
  padding-bottom:7px;
  border-bottom:0!important;
  text-decoration:none!important;
}
.inner-page .page-cta:not(.minimal-cta) a:hover{color:#fff!important;opacity:.58}
@media(max-width:600px){
  .inner-page .page-cta:not(.minimal-cta) h2{font-size:12vw;line-height:.92}
}


/* FIJI-water-inspired tropical colour palette — homepage hero only */
.home-page .home-hero{
  background-color:#047ca8!important;
  background-image:
    radial-gradient(ellipse at 86% 18%,rgba(255,190,196,.84) 0%,rgba(255,190,196,0) 30%),
    radial-gradient(ellipse at 74% 78%,rgba(33,224,212,.85) 0%,rgba(33,224,212,0) 43%),
    linear-gradient(118deg,#043e78 0%,#076ca8 43%,#16bfd2 75%,#84e3d6 100%)!important;
  background-size:cover!important;
  background-position:center!important;
}
.home-page .hero-atmosphere{
  background:linear-gradient(90deg,rgba(2,36,85,.43),rgba(0,115,166,.08) 75%)!important;
}
.home-page .hero-atmosphere::after{
  background:linear-gradient(90deg,rgba(0,38,88,.36),transparent 76%)!important;
}
.home-page .hero-glow{
  background:linear-gradient(130deg,transparent 12%,rgba(27,220,217,.38) 40%,rgba(255,174,185,.54) 73%,rgba(248,222,176,.3) 94%)!important;
}
.home-page .panel-one{
  background:linear-gradient(180deg,rgba(249,190,203,.28),rgba(48,208,215,.12) 60%,rgba(245,239,201,.18))!important;
}
.home-page .panel-two{
  background:linear-gradient(180deg,rgba(255,207,199,.28),rgba(75,224,206,.14))!important;
}
.home-page .hero-copy h1 em{color:#ffccd2!important}
.home-page .hero-kicker,.home-page .hero-description,.home-page .hero-meta,.home-page .secondary-link,.home-page .hero-index{color:#f0fcff!important}
.home-page .hero-link:hover{color:#ffccd2!important}
@media(max-width:600px){
  .home-page .home-hero{
    background-image:
      radial-gradient(ellipse at 88% 28%,rgba(255,190,196,.63),transparent 43%),
      radial-gradient(ellipse at 76% 85%,rgba(39,219,208,.7),transparent 48%),
      linear-gradient(145deg,#034577 0%,#067ca9 55%,#4bd4d0 100%)!important;
  }
}


/* Shared FIJI-inspired brand palette across KAE Digital */
:root{
  --cream:#f2fbfa;
  --line:#badcde;
  --muted:#416b78;
  --lime:#ffccd2;
  --ink:#063d67;
  --dark:#043e78;
}
body{background:#f2fbfa;color:#063d67}
.inner-page:not(.contact-page){background:#f2fbfa;color:#063d67}
.inner-page:not(.contact-page) .page-heading{background:linear-gradient(120deg,#e8f9fa 0%,#d7f3f2 72%,#fce3ec 100%);border-color:#b8dce0}
.inner-page:not(.contact-page) .page-heading h1 span{color:#087eaf}
.inner-page:not(.contact-page) .page-heading>p:last-child{color:#416b78}
.inner-page:not(.contact-page) .service-list{background:#f2fbfa}
.inner-page:not(.contact-page) .service-card{background:#fff;border-color:#b7dfe1}
.inner-page:not(.contact-page) .service-card p,.inner-page:not(.contact-page) .service-detail{color:#416b78}
.inner-page:not(.contact-page) .service-number{background:#d7f4f3;color:#075b81}
.inner-page:not(.contact-page) .brand-card .service-number{background:#f9d7e4;color:#94375e}
.inner-page:not(.contact-page) .film-card .service-number{background:#cbeaf5;color:#064f80}
.inner-page:not(.contact-page) .social-card .service-number{background:#f7e2bc;color:#725027}
.inner-page .page-cta:not(.minimal-cta){background:linear-gradient(125deg,#043e78 0%,#087eaf 63%,#13aeb9 100%)!important;border-color:#1bb6c7}
.inner-page .page-cta:not(.minimal-cta) h2 em{color:#ffccd2!important}
.inner-page .page-cta:not(.minimal-cta) a:hover{color:#ffccd2!important}
.contact-page{background:linear-gradient(135deg,#043e78 0%,#075f92 58%,#0b9eaf 100%);color:#f8feff}
.contact-page .contact-intro>p:nth-of-type(2),.contact-page .contact-phone{color:#d9f3f5}
.contact-page .contact-intro h1 span{-webkit-text-stroke:1px #ffccd2}
.contact-page .contact-form{background:#f2fbfa;color:#063d67}
.contact-page .contact-form input,.contact-page .contact-form select,.contact-page .contact-form textarea{color:#063d67;border-bottom-color:#9ac7cf}
.contact-page .contact-form button{background:#075d91;color:#fff}
.contact-page .contact-form button:hover{background:#ffccd2}
.contact-page .form-note{color:#416b78}
.home-page .hero-copy h1 em{color:#ffccd2!important}
.home-page .hero-link:hover{color:#ffd0d6!important}
.inner-page:not(.contact-page) .site-footer{background:#f2fbfa;border-color:#b7dfe1}

/* Consistent ocean-blue headers and original soft-pink highlights */
.inner-page:not(.contact-page) .site-header{
  background:linear-gradient(100deg,#043e78,#087eaf);
  color:#f8feff;
  border-bottom:1px solid rgba(255,255,255,.2);
}
.contact-page .site-header{background:rgba(3,52,100,.38)}
.inner-page:not(.contact-page) .page-heading h1{color:#063d67}
.inner-page:not(.contact-page) .page-heading h1 span{color:#087eaf}
.inner-page .page-cta:not(.minimal-cta) h2 em{color:#ffccd2!important}
.contact-page .contact-form button:hover{background:#087eaf}
.home-page .hero-copy h1 em{color:#ffccd2!important}


/* Services page: replace white cards with subtle tropical colour */
.inner-page:not(.contact-page) .service-card{
  background:linear-gradient(145deg,#d9f4f3 0%,#c5ebee 100%)!important;
  border-color:#9bd4dc;
}
.inner-page:not(.contact-page) .brand-card{
  background:linear-gradient(145deg,#f8e0e8 0%,#e7e8ee 100%)!important;
}
.inner-page:not(.contact-page) .film-card{
  background:linear-gradient(145deg,#d1ebf7 0%,#bde5ed 100%)!important;
}
.inner-page:not(.contact-page) .social-card{
  background:linear-gradient(145deg,#d7f3ec 0%,#c5e8e5 100%)!important;
}
