body{background:#f5f0e9}
.hero{isolation:isolate}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 22%,#c7b2f2aa,transparent 51%),radial-gradient(ellipse at 48% 76%,#ffcca5a8,transparent 53%),radial-gradient(ellipse at 12% 36%,#bce0d97a,transparent 52%);background-size:145% 145%;filter:blur(32px);animation:aurora-flow 16s ease-in-out infinite alternate;border-radius:70px}
.header{position:relative;z-index:2}
.hero h1 em,.section-heading h2 em,.approach h2 em,.enquiry h2 em{color:#78517c;background:linear-gradient(110deg,#93672a 5%,#a44764 28%,#7257aa 55%,#236f73 80%,#93672a);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:chromatic-flow 12s ease-in-out infinite alternate}
.hero h1{letter-spacing:-4px}
.pill-label{background:#ffffff75;border-color:#ffffffce;box-shadow:0 4px 25px #9c75be12;backdrop-filter:blur(14px)}
.focus-card{background:linear-gradient(125deg,#fffffff2,#ffffffc9);border-color:#fff;backdrop-filter:blur(24px);box-shadow:0 36px 85px #66548426,0 0 0 8px #ffffff26}
.hero-visual:before{background:radial-gradient(ellipse,#a99be84d,transparent 67%)}
.card-mark,.small-spark{color:#8c62ab}
.button{background:linear-gradient(115deg,#303345,#534467 55%,#31575c);background-size:200% 100%;box-shadow:0 8px 24px #4c466d20;transition:transform .25s,box-shadow .25s,background-position .5s}
.button:hover{background:linear-gradient(115deg,#303345,#534467 55%,#31575c);background-size:200% 100%;background-position:100% 50%;box-shadow:0 12px 32px #66519535}
.feature-section{position:relative;isolation:isolate;overflow:hidden;background:#151720}
.feature-section:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 10% 0%,#6958a85c,transparent 48%),radial-gradient(ellipse at 95% 90%,#256b6859,transparent 48%);background-size:150% 150%;animation:aurora-flow 20s ease-in-out infinite alternate}
.feature-section .section-heading h2 em{background-image:linear-gradient(100deg,#f2c589,#efaac3,#bca6ed,#8dd7d1,#f2c589)}
.feature-card{position:relative;isolation:isolate;background:linear-gradient(145deg,#30303edd,#222732ee);border-color:#77748c55;box-shadow:0 16px 32px #00000012;transition:transform .3s,border-color .3s,box-shadow .3s}
.feature-card:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(350px circle at var(--glow-x,50%) var(--glow-y,50%),#b0a1fa22,transparent 70%);opacity:0;transition:opacity .3s}
.feature-card:hover,.feature-card:focus-visible{border-color:#bea5e5;box-shadow:0 20px 45px #00000026,0 0 28px #afa0f215;transform:translateY(-7px)}
.feature-card:hover:after,.feature-card:focus-visible:after{opacity:1}
.feature-body p{color:#c0c2cd}
.feature-label,.feature-bottom{color:#d6badb}
.feature-bottom span:last-child{background:linear-gradient(120deg,#e8d2f5,#d2e5dc);color:#353044}
.feature-image{background:#f3f2ec}
.approach{position:relative}
.principles article{border-top:2px solid;border-image:linear-gradient(90deg,#9e77c1,#c39d69,#8ebfb3) 1}
.enquiry{background:linear-gradient(120deg,#e9dccb,#ded4ed,#d6e4de,#eadccb);background-size:250% 250%;animation:aurora-flow 18s ease-in-out infinite alternate}
.contact-placeholder{border-color:#b4a9ba}
.motion-toggle{display:block;margin-top:23px;border:1px solid #b4a7c1;background:#ffffff80;border-radius:24px;color:#50445b;font-size:13px;padding:10px 16px;min-height:44px;backdrop-filter:blur(10px)}
html[data-motion=paused] *,html[data-motion=paused] *:before,html[data-motion=paused] *:after{animation-play-state:paused!important}
@keyframes aurora-flow{0%{background-position:0% 20%}50%{background-position:80% 85%}100%{background-position:100% 15%}}
@keyframes chromatic-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(max-width:800px){.hero:before{filter:blur(20px)}.focus-card{backdrop-filter:none}.hero h1{letter-spacing:-2.5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.feature-card:hover{transform:none}.hero:before{background-position:50% 50%}}
@media(forced-colors:active){.hero h1 em,.section-heading h2 em,.approach h2 em,.enquiry h2 em{-webkit-text-fill-color:CanvasText;background:none}.feature-card{border:1px solid ButtonText}}
