/* Dimensional public theme: light catches edges, surfaces cast shadows. */
body{background:#eef3f7}
.topbar{background:linear-gradient(110deg,#081726,#203d53);box-shadow:inset 0 -1px #ffffff15}
.public-header{background:linear-gradient(#fffffffa,#edf3f8f5);border-bottom:1px solid #fff;box-shadow:0 8px 26px #051f3630;backdrop-filter:blur(18px)}
.hero{min-height:620px;overflow:hidden;isolation:isolate;padding-bottom:115px}
.hero-overlay{background:radial-gradient(ellipse at 75% 15%,#048fc855,transparent 50%),linear-gradient(110deg,#061525ef,#163b50be,#071628e8)}
.hero:before,.hero:after{content:'';position:absolute;pointer-events:none;border-radius:50%;z-index:1}
.hero:before{width:430px;height:430px;right:-145px;top:45px;border:48px solid #69d4ee13;box-shadow:inset 12px 10px 32px #0006,16px 25px 45px #0005,0 0 0 1px #93e6ff30;transform:rotate(-25deg) scaleX(.75)}
.hero:after{width:280px;height:280px;left:-140px;bottom:-100px;background:radial-gradient(circle at 30% 25%,#71c5de,#1a5674 40%,#071d31 75%);box-shadow:24px 25px 60px #0008}
.hero-content{max-width:900px;padding:42px 48px;border:1px solid #c6eaff25;border-top-color:#d4f3ff55;border-radius:24px;background:linear-gradient(135deg,#8cc9e017,#06172542);box-shadow:0 30px 70px #0005,inset 0 1px #ffffff12;backdrop-filter:blur(5px)}
.hero-title{text-shadow:0 5px 12px #0007}.hero-bottom{z-index:2}
.btn,.cta-outline{border-radius:9px;transition:transform .2s,box-shadow .2s;background-image:linear-gradient(#ffffff18,#00000012);box-shadow:inset 0 1px #ffffff75,0 4px 0 #044268,0 8px 15px #05294030}
.btn:hover,.cta-outline:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff75,0 5px 0 #044268,0 12px 22px #05294040}
.btn:active,.cta-outline:active{transform:translateY(2px);box-shadow:inset 0 1px #ffffff55,0 1px 0 #044268}
.hero .btn-primary{background:linear-gradient(#ffc866,#ec9715);border-color:#ffd283;box-shadow:inset 0 1px #fff9,0 4px 0 #9a5c05,0 10px 28px #0005}
.btn-light-outline{background:linear-gradient(#d2efff20,#91b7d909);box-shadow:inset 0 1px #ffffff25,0 4px 0 #061b2d,0 9px 20px #0003}
.service-strip{background:linear-gradient(155deg,#fff,#e9f0f6);border-top:1px solid #fff;padding-top:70px}
.section-header{margin-left:auto;margin-right:auto;text-align:center}
.service-card{border:1px solid #fff;border-radius:18px;background:linear-gradient(130deg,#fff,#f5f8fb);box-shadow:0 3px 3px #15374b12,0 17px 30px -12px #15374b45}
.service-card:hover{box-shadow:0 6px 6px #15374b15,0 25px 38px -12px #15374b60}
.solution-visual{background:radial-gradient(ellipse at 35% 10%,#b4e6f1,#558fa8 65%,#285c78);box-shadow:inset 0 1px #fff9,inset 0 -12px 30px #143f5a30}
.solution-visual i{display:grid;place-items:center;width:88px;height:88px;border-radius:22px;background:linear-gradient(135deg,#fcffff,#a8cbdc);border:1px solid #eaffff;box-shadow:inset 2px 2px 3px white,inset -3px -3px 8px #35638355,7px 9px 0 #426f88,13px 20px 22px #153c5d66;text-shadow:1px 2px 1px #fff;transform:rotate(-8deg)}
.solution-visual:before{width:220px;height:220px;top:55px;right:-25px;border:22px solid #e9fbff30;box-shadow:0 8px 15px #133e5833,inset 0 5px 10px #173f5733;transform:rotateX(55deg)}
.solution-visual:after{border-color:#eaffff38}.solution-visual span{color:#103b50;font-weight:700}
.tone-1{background:radial-gradient(ellipse at 35% 10%,#d6e4e9,#8ca4b6 65%,#526c87)}
.tone-2{background:radial-gradient(ellipse at 35% 10%,#ffedc3,#d4ad68 65%,#98783d)}
.tone-2 i{background:linear-gradient(135deg,#fffef2,#ead19b);box-shadow:inset 2px 2px 3px white,inset -3px -3px 8px #98783d55,7px 9px 0 #9b814a,13px 20px 22px #65491555}
.industries-section{background:radial-gradient(ellipse at 80% 0,#28516b,transparent 65%),linear-gradient(130deg,#10283d,#091725);box-shadow:inset 0 8px 25px #0003}
.industries-section .section-header h2{color:#fff}.industries-section .section-header p{color:#b8cfdf}.industries-section .section-header .eyebrow{color:#ffc46a}
.industry-grid>a{background:linear-gradient(135deg,#31516a,#182e43);border:1px solid #7896ac45;border-top-color:#abc6d770;box-shadow:0 12px 22px #0004,inset 0 1px #ffffff12;border-radius:14px;color:#fff}
.industry-grid p{color:#bfd0dd}.industry-number{color:#85d1f1}.industry-arrow{text-shadow:0 3px 5px #0008}
.about-strip{position:relative}.approach-list{background:linear-gradient(130deg,#fff,#e9f0f5);padding:30px;border:1px solid #fff;border-radius:20px;box-shadow:0 20px 40px -20px #24496166}.approach-list>div:last-child{border:0;margin:0;padding:0}
.approach-icon,.team-initial{background:linear-gradient(135deg,#fff,#c5dce9);border:1px solid #fff;box-shadow:3px 5px 9px #345b7930,inset 0 1px #fff}
.cta-section{background:radial-gradient(ellipse at top left,#fff,#d3e5ef);border-top:1px solid #fff;box-shadow:inset 0 5px 15px #446a8410}
.public-footer,.page-banner{background:radial-gradient(ellipse at top right,#284c65,transparent 70%),linear-gradient(130deg,#142b40,#071421);box-shadow:inset 0 1px #ffffff20}
.page-banner h1{text-shadow:0 4px 10px #0005}
.contact-form,.enquiry-box,.team-card,.testimonial-grid blockquote{background:linear-gradient(135deg,#fff,#e8f0f6);border:1px solid #fff;box-shadow:0 16px 35px -15px #20446055,inset 0 1px #fff;border-radius:18px}
.form-control,.form-select{background-color:#f8fbfd;box-shadow:inset 0 2px 5px #23496415;border-color:#b5c8d6}.form-control:focus,.form-select:focus{background-color:white}
@media(max-width:900px){.hero-content{max-width:750px;margin:0 16px;padding:35px 26px}.hero:before{right:-270px}.about-strip{gap:30px}}
@media(max-width:600px){.hero{min-height:610px;padding:40px 8px 90px}.hero-content{margin:0 8px;padding:28px 18px;border-radius:18px}.hero-title{font-size:36px}.hero-subtitle{font-size:14px}.hero:before{right:-330px}.hero:after{left:-210px}.approach-list{padding:24px}.service-strip{padding-top:50px}}
@media(prefers-reduced-motion:reduce){.btn:hover,.cta-outline:hover,.service-card:hover,.industry-grid>a:hover{transform:none}}
