@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f8f7f3;--white:#fff;--ink:#11172d;--navy:#152342;--muted:#667085;--line:#e5e5e0;--gold:#c99532;--violet:#7858f6;--coral:#ff7868;--lime:#c9ed76;--blue:#7acbfa;--font:"Manrope",sans-serif;--body:"DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.65;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(ellipse at 80% 12%,#e8e1ff 0,transparent 28%),radial-gradient(ellipse at 8% 75%,#ffede5 0,transparent 27%),var(--paper)}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
.section-shell{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.site-header{min-height:92px;padding:10px max(32px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:100;background:rgba(248,247,243,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(21,35,66,.10)}
.brand{width:190px;display:block;flex-shrink:0;background:#fff;border-radius:9px;padding:4px 7px}.brand img{display:block;width:100%;height:auto;max-height:74px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:25px}.nav-link{font-size:13px;font-weight:700;color:#48516a;transition:color .25s;white-space:nowrap}.nav-link:hover,.nav-link.active{color:var(--violet)}
.nav-dropdown{position:relative;padding:25px 0}.chevron{color:var(--gold);font-size:16px;margin-left:3px}
.dropdown-menu{position:absolute;top:70px;left:-18px;min-width:245px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 22px 60px #15234218;display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(9px);transition:.25s}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu a{padding:10px 12px;border-radius:8px;color:#38415a;font-size:12px}.dropdown-menu a:hover{background:#f1edff;color:var(--violet)}.dropdown-menu .dropdown-all{color:var(--violet);border-top:1px solid var(--line);margin-top:5px;padding-top:13px}
.nav-cta{display:inline-flex;align-items:center;gap:20px;padding:13px 18px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:7px;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 8px 24px #15234220}.nav-cta span,.button span{font-size:17px;transition:transform .25s}.nav-cta:hover span,.button:hover span{transform:translate(3px,-2px)}
.menu-toggle{display:none;background:none;border:0;color:var(--ink)}
.hero{min-height:700px;position:relative;display:flex;align-items:center;overflow:hidden;padding-top:70px;padding-bottom:100px;isolation:isolate}
.hero-grid{position:absolute;inset:0;opacity:.32;background-image:radial-gradient(#b6b1d3 1px,transparent 1px);background-size:23px 23px;mask-image:radial-gradient(ellipse at 75% 45%,black,transparent 70%);z-index:-2}
.hero-content{position:relative;z-index:4;max-width:680px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:800;color:var(--violet);margin:0 0 22px;display:flex;align-items:center;gap:10px}.eyebrow-line{display:inline-block;width:28px;height:2px;background:var(--coral)}
h1,h2,h3{font-family:var(--font);letter-spacing:-.05em;margin-top:0}h1{font-size:clamp(46px,6.3vw,84px);line-height:1.03;font-weight:800;margin-bottom:25px;max-width:850px}
.gold-text{background:linear-gradient(105deg,#7858f6 0%,#e56d83 52%,#d59c2c 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.muted-gold{color:#7858f6}
.hero-copy{font-size:16px;color:#5e6678;max-width:490px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:31px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 20px;font-size:12px;font-weight:800;border-radius:7px;transition:transform .25s,box-shadow .25s;cursor:pointer}.button:hover{transform:translateY(-3px)}
.button-gold{background:var(--navy);color:#fff;border:1px solid var(--navy);box-shadow:0 9px 26px #15234225}.button-gold:hover{box-shadow:0 13px 34px #15234235}.button-outline{border:1px solid #7858f6;color:#7858f6;background:#7858f60a}
.text-link,.underlined-link{font-size:12px;font-weight:800;color:var(--navy)}.text-link span{margin-left:8px;color:var(--violet)}
.hero-proof{display:flex;align-items:center;gap:13px;margin-top:45px}.proof-avatars{display:flex}.proof-avatars span{width:29px;height:29px;display:grid;place-items:center;margin-right:-7px;border:2px solid var(--paper);border-radius:50%;font-size:10px;background:var(--violet);color:#fff}.proof-avatars span:nth-child(2){background:var(--coral)}.proof-avatars span:nth-child(3){background:var(--navy);color:#fff}.hero-proof p{font-size:10px;color:#737b8d;line-height:1.5;margin:0 0 0 8px}.hero-proof strong{font-size:11px;color:var(--ink)}
.hero-orb{position:absolute;right:-10px;top:65px;width:min(49vw,590px);aspect-ratio:1;z-index:1;filter:drop-shadow(0 20px 50px #7858f625);animation:float 8s ease-in-out infinite;transform-style:preserve-3d}
.orb-core{position:absolute;inset:22%;border-radius:38% 62% 60% 40% / 42% 45% 55% 58%;background:linear-gradient(135deg,#c9ed76 0%,#8ed9f7 35%,#a493ff 68%,#ff9c8d 100%);box-shadow:inset -24px -28px 50px #5d48b540,inset 12px 12px 35px #ffffffb0,0 25px 70px #7858f640;transform:rotate(-24deg);animation:morph 10s ease-in-out infinite alternate}
.orb-core:after{content:"";position:absolute;inset:12%;border-radius:inherit;border:1px solid #ffffffaa;box-shadow:0 0 30px #fff5}
.orb-ring{position:absolute;inset:11%;border:2px solid #7858f66b;border-radius:50%;transform:rotate(-35deg) scaleY(.35);box-shadow:0 0 24px #9b5cff16}.ring-two{inset:5%;transform:rotate(55deg) scaleY(.48);border-color:#ff7868a3}.orb-flare{position:absolute;width:45%;height:2px;background:linear-gradient(90deg,transparent,var(--coral),transparent);top:49%;left:25%;transform:rotate(-38deg);box-shadow:0 0 22px #ff786866}
.hero-side-note{position:absolute;right:0;top:43%;display:flex;align-items:center;gap:13px;writing-mode:vertical-rl;color:#8b8fa0;font-size:8px;letter-spacing:.18em}.vertical-line{height:60px;width:1px;background:var(--coral)}.hero-bottom{position:absolute;bottom:24px;left:0;right:0;display:flex;align-items:center;gap:15px;font-size:8px;letter-spacing:.18em;color:#858a98}.scroll-mark{font-size:17px;color:var(--violet)}.hero-bottom-right{margin-left:auto}.hero-bottom-right i{color:var(--coral);font-style:normal;margin:0 7px}
.ticker{overflow:hidden;background:var(--navy);color:#fff;padding:17px 0;white-space:nowrap}.ticker-track{display:flex;align-items:center;justify-content:space-around;gap:40px;min-width:max-content;animation:ticker 28s linear infinite;font-size:11px;font-weight:800;letter-spacing:.2em}.ticker b{color:var(--lime);font-size:17px}
.section{padding-top:100px;padding-bottom:100px}.section-kicker{font-size:10px;letter-spacing:.17em;color:var(--violet);font-weight:800}.intro-section{display:grid;grid-template-columns:1fr 2.2fr;gap:45px}.intro-copy h2,.section-heading h2{font-size:clamp(32px,4.3vw,54px);line-height:1.12;margin:14px 0 20px}.intro-copy p{max-width:740px;color:#697184;font-size:15px}.underlined-link{display:inline-flex;gap:12px;border-bottom:1px solid #c7bfed;padding-bottom:7px;margin-top:12px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-heading h2{margin-bottom:0}.heading-aside{max-width:300px;color:#6d7484;font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{position:relative;display:flex;flex-direction:column;min-height:285px;padding:25px;background:#fff;border:1px solid #e9e8e2;border-radius:15px;box-shadow:0 10px 30px #15234206;transition:transform .3s,box-shadow .3s,border-color .3s;overflow:hidden}.service-card:before{content:"";position:absolute;top:-65px;right:-65px;width:130px;height:130px;border-radius:50%;background:var(--lime);opacity:.4;transition:transform .35s}.service-card:nth-child(2):before{background:#d9d1ff}.service-card:nth-child(3):before{background:#ffd8cf}.service-card:nth-child(4):before{background:#d2f0ff}.service-card:hover{transform:translateY(-7px);box-shadow:0 22px 45px #15234212;border-color:#c8bdf8}.service-card:hover:before{transform:scale(1.6)}.service-index{font-size:10px;color:#9298a5;font-weight:800}.service-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:#f1edff;color:var(--violet);font-size:25px;margin:28px 0 20px}.service-card h3{font-size:21px;line-height:1.2;margin-bottom:12px}.service-card p{font-size:12px;color:#737b8c;margin-bottom:25px}.card-arrow{position:absolute;right:23px;bottom:22px;color:var(--violet);font-size:20px}
.manifesto{position:relative;overflow:hidden;background:#eae5ff;padding:95px 0}.manifesto-glow{position:absolute;width:460px;height:460px;border-radius:50%;right:5%;top:-40%;background:radial-gradient(circle,#b7a8ff 0,transparent 68%);filter:blur(12px)}.manifesto-inner{position:relative}.manifesto h2{font-size:clamp(34px,5vw,61px);line-height:1.12;margin:15px 0}.manifesto p:not(.eyebrow){color:#62677b;max-width:550px}.manifesto .gold-text{background:linear-gradient(100deg,#7858f6,#d75c78);-webkit-background-clip:text;background-clip:text;color:transparent}
.process-list{border-top:1px solid var(--line)}.process-row{display:grid;grid-template-columns:70px 1fr 1.5fr 30px;gap:20px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.process-row>span:first-child{font-size:11px;color:var(--violet);font-weight:800}.process-row h3{margin:0;font-size:22px}.process-row p{margin:0;color:#737b8c;font-size:13px}.process-symbol{color:var(--coral);font-size:20px}
.contact-section{background:var(--navy);color:#fff;padding:100px 0;position:relative;overflow:hidden}.contact-section:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-100px;top:-200px;background:radial-gradient(circle,#7858f64c,transparent 68%)}.contact-shell{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.contact-copy h2{font-size:clamp(42px,5.4vw,68px);line-height:1.04;margin:20px 0}.contact-copy>p:not(.eyebrow){color:#c4cada;max-width:430px}.contact-copy .gold-text{background:linear-gradient(100deg,#c9ed76,#ff9a8d);-webkit-background-clip:text;background-clip:text;color:transparent}.contact-mini{display:flex;align-items:center;gap:12px;margin-top:45px;color:#d5d8e4;font-size:12px}.mini-orbit{width:38px;height:38px;border:1px solid #ffffff4d;border-radius:50%;display:grid;place-items:center;color:var(--lime)}
.contact-card{background:#fff;color:var(--ink);padding:30px;border-radius:18px;box-shadow:0 24px 65px #0002}.contact-card-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.15em;font-weight:800}.live-dot{width:8px;height:8px;border-radius:50%;background:#7fce69;box-shadow:0 0 0 5px #7fce6920}.lead-form{display:grid;gap:15px;padding-top:20px}.lead-form label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#40485b}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid #e2e3e8;border-radius:8px;background:#fafafa;padding:12px;color:var(--ink);outline:none;font-size:12px}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px #7858f619}.lead-form textarea{resize:vertical}.submit-button{width:100%;border:0}.form-note,.form-status{font-size:10px;color:#7c8392;margin:0}.form-status{color:#4c3a9c}
.site-footer{background:#101a32;color:#fff;padding-top:42px}.footer-main{display:grid;grid-template-columns:190px 1fr 1.5fr;gap:35px;align-items:center;padding-bottom:32px}.footer-brand{display:block;background:#fff;border-radius:8px;padding:4px 7px;width:185px}.footer-brand img{display:block;width:100%;height:auto}.footer-main>p{font-size:14px;color:#c9cede}.footer-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:18px}.footer-links a,.footer-legal a,.footer-bottom{font-size:11px;color:#c0c7d7}.footer-links a:hover,.footer-legal a:hover{color:var(--lime)}.footer-legal{display:flex;gap:25px;padding:18px 0;border-top:1px solid #ffffff1b}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid #ffffff1b;font-size:10px}
.page-hero{padding:100px 0 80px;position:relative;overflow:hidden;background:linear-gradient(120deg,#f2efff,#faf8f3 60%,#fff0eb)}.page-hero h1{max-width:900px}.page-hero p{max-width:650px;color:#687084;font-size:16px}.page-content{padding:75px 0}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.content-card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:15px}.content-card h2,.content-card h3{margin-bottom:14px}.content-card p{color:#697184}.service-detail-grid,.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-detail{padding:28px;border-radius:15px;background:#fff;border:1px solid var(--line);scroll-margin-top:110px}.service-detail h2{font-size:24px}.service-detail p{font-size:13px;color:#697184}.blog-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .3s,box-shadow .3s}.blog-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #15234212}.blog-card img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover;background:#eeebff}.blog-card-body{padding:23px}.blog-meta{font-size:10px;color:var(--violet);font-weight:800;letter-spacing:.1em}.blog-card h2,.blog-card h3{font-size:22px;line-height:1.2;margin:10px 0}.blog-card p{font-size:13px;color:#697184}.read-more{font-size:12px;font-weight:800;color:var(--violet)}
.article{max-width:820px;margin:0 auto}.article h1{font-size:clamp(38px,5vw,60px)}.article p,.article li{color:#596276;font-size:16px;line-height:1.9}.article h2{margin-top:35px;font-size:29px}.article-hero{width:100%;border-radius:18px;margin:20px 0 35px}.legal-content{max-width:850px;margin:auto}.legal-content h2{margin-top:32px}.legal-content p,.legal-content li{color:#626b7d;font-size:14px}
.reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}.js-motion .reveal{opacity:0;transform:translateY(22px)}.reveal.visible,.reveal.is-visible{opacity:1;transform:translateY(0)}.cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,#bbaaff18,transparent 70%);pointer-events:none;z-index:-1;left:60%;top:15%}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-17px) rotate(2deg)}}@keyframes morph{0%{border-radius:38% 62% 60% 40% / 42% 45% 55% 58%;transform:rotate(-24deg) scale(.98)}100%{border-radius:57% 43% 36% 64% / 51% 59% 41% 49%;transform:rotate(8deg) scale(1.04)}}@keyframes ticker{to{transform:translateX(-30%)}} 
@media(max-width:1050px){.main-nav{gap:14px}.brand{width:160px}.nav-link{font-size:12px}.hero-orb{right:-95px;opacity:.8}.service-grid{grid-template-columns:repeat(2,1fr)}.contact-shell{gap:35px}.footer-main{grid-template-columns:170px 1fr}.footer-links{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:760px){.section-shell{width:calc(100% - 38px)}.site-header{min-height:78px;padding:8px 19px}.brand{width:145px}.brand img{max-height:58px}.menu-toggle{display:flex;flex-direction:column;gap:6px;padding:10px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--navy)}.main-nav{display:none;position:absolute;top:77px;left:0;right:0;background:#fff;padding:18px 20px 24px;align-items:stretch;flex-direction:column;gap:0;border-bottom:1px solid var(--line);box-shadow:0 18px 30px #15234212}.main-nav.open{display:flex}.nav-link{display:block;padding:12px 0}.nav-dropdown{padding:0}.dropdown-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:#f7f6fb;margin:0 0 8px;padding:7px}.nav-dropdown:focus-within .dropdown-menu,.nav-dropdown:hover .dropdown-menu{display:grid}.nav-cta{justify-content:space-between;margin-top:12px}.hero{min-height:720px;padding-top:65px;padding-bottom:100px;align-items:flex-start}.hero-content{max-width:100%}.hero-orb{width:76vw;right:-24vw;top:330px;opacity:.58}.hero-side-note{display:none}.hero-bottom-right{display:none}.hero-copy{max-width:410px}.hero-proof{margin-top:30px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.section{padding-top:70px;padding-bottom:70px}.intro-section{grid-template-columns:1fr;gap:18px}.section-heading{align-items:flex-start;flex-direction:column}.service-grid{grid-template-columns:1fr}.service-card{min-height:240px}.manifesto{padding:70px 0}.process-row{grid-template-columns:35px 1fr 25px;gap:12px}.process-row p{grid-column:2;grid-row:2}.process-symbol{grid-column:3;grid-row:1}.contact-section{padding:70px 0}.contact-shell{grid-template-columns:1fr;gap:35px}.contact-card{padding:22px}.form-row{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;gap:16px}.footer-brand{width:175px}.footer-links{grid-column:auto;justify-content:flex-start;gap:15px}.footer-legal{flex-wrap:wrap}.footer-bottom{flex-wrap:wrap}.page-hero{padding:70px 0 55px}.page-content{padding:50px 0}.content-grid,.service-detail-grid,.blog-grid{grid-template-columns:1fr}.article p,.article li{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Page-specific layout repairs */
.brand,.footer-brand{background:transparent!important;padding:0!important;border-radius:0!important}
.brand{width:180px}.brand img{width:100%;max-height:76px;object-fit:contain}
.footer-brand{width:205px}.footer-brand img{width:100%;height:auto}
.page-hero{width:100%;max-width:none;padding:86px max(32px,calc((100vw - 1180px)/2)) 80px;min-height:360px;isolation:isolate}
.page-hero:before{content:"";position:absolute;z-index:-1;width:420px;height:420px;right:7%;top:-170px;border-radius:50%;background:radial-gradient(circle,#d8ceff 0, #f1edff 35%,transparent 70%);opacity:.9}
.page-hero-orbit{position:absolute;right:13%;top:45px;width:180px;height:180px;border:1px solid #9a86fa80;border-radius:50%;transform:rotate(-25deg) scaleY(.55);pointer-events:none}
.page-hero-orbit:before,.page-hero-orbit:after{content:"";position:absolute;inset:18px;border:1px solid #ff78687a;border-radius:50%;transform:rotate(60deg) scaleY(.65)}
.page-hero-orbit:after{inset:44px;background:linear-gradient(135deg,#c9ed76,#7acbfa,#b5a1ff);border:0;box-shadow:0 12px 30px #7858f626;transform:rotate(20deg);border-radius:42% 58% 60% 40%}
.info-section{display:grid;grid-template-columns:.7fr 1.6fr;gap:65px;align-items:start;padding-top:80px;padding-bottom:85px}
.info-content h2{font-size:clamp(32px,4vw,48px);line-height:1.12;margin:0 0 22px}
.info-content p{max-width:760px;color:#687084;font-size:15px;line-height:1.9}
.values-section{background:#f0edff;position:relative;overflow:hidden}
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.value-card{position:relative;padding:34px;background:#fff;border:1px solid #e3def8;border-radius:18px;min-height:330px;box-shadow:0 15px 45px #15234208}
.value-number{font-size:11px;font-weight:800;color:var(--violet)}
.value-symbol{float:right;display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#f1edff;color:var(--violet);font-size:26px}
.value-card h2{font-size:clamp(26px,3vw,36px);line-height:1.15;margin:18px 0}
.value-card>p:last-child{font-size:14px;line-height:1.85;color:#687084;max-width:470px}
.cta-band{width:100%;max-width:none;padding:55px max(32px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:35px;background:linear-gradient(105deg,#fbf9f3,#f0edff 80%,#fff0ec);min-height:240px}
.cta-band h2{font-size:clamp(28px,3.5vw,42px);margin:12px 0 0;line-height:1.16}
@media(max-width:760px){.brand{width:145px}.footer-brand{width:175px}.page-hero{padding:65px 19px 55px;min-height:320px}.page-hero-orbit{right:-45px;top:55px;width:130px;height:130px;opacity:.5}.info-section{grid-template-columns:1fr;gap:20px;padding-top:55px;padding-bottom:55px}.values-grid{grid-template-columns:1fr}.value-card{min-height:0;padding:25px}.cta-band{padding:45px 19px;align-items:flex-start;flex-direction:column;gap:22px}}

.contact-page-hero{min-height:350px;padding-top:72px;padding-bottom:50px}
.contact-page-hero h1{font-size:clamp(42px,5.4vw,68px);max-width:720px;margin-bottom:18px}
.contact-page-hero>p:not(.eyebrow){max-width:620px}
.contact-page-hero+.contact-section{padding-top:65px;padding-bottom:85px}
.contact-page-hero+.contact-section .contact-copy{padding-top:20px}
@media(max-width:760px){.contact-page-hero{min-height:300px;padding-top:55px;padding-bottom:35px}.contact-page-hero+.contact-section{padding-top:45px;padding-bottom:60px}}

/* Clean white, four-column footer inspired by the supplied reference */
.site-footer-light{background:#fff!important;color:#11172d!important;padding-top:72px;border-top:1px solid #e8e8e8}
.footer-columns{display:grid;grid-template-columns:1.15fr 1fr 1.05fr 1.2fr;gap:55px;padding-bottom:55px}
.footer-about{max-width:320px}
.footer-brand{display:block!important;width:155px!important;max-width:155px;margin-bottom:22px;background:transparent!important;padding:0!important}
.footer-brand img{width:100%;height:auto;max-height:none;object-fit:contain;display:block}
.footer-about>p,.footer-contact>p{font-size:14px;line-height:1.8;color:#5c6373;margin:0 0 20px}
.footer-know-more{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(100deg,#7858f6,#5f9cfb);color:#fff!important;border-radius:999px;padding:9px 15px;font-weight:800;font-size:13px}
.footer-know-more span{font-size:16px}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.footer-column h3{font-size:23px;letter-spacing:-.035em;margin:0 0 12px;color:#10172d}
.footer-column>a:not(.footer-know-more){font-size:14px;color:#30384a;transition:color .2s}
.footer-column>a:hover{color:#7858f6}
.footer-contact-line{display:flex;align-items:center;gap:12px;overflow-wrap:anywhere}
.footer-contact-line a{color:#30384a;font-size:14px}
.footer-contact-icon{font-size:22px;color:#182445}
.footer-bottom-light{border-top:1px solid #e5e5e5!important;color:#5c6373!important;padding-top:24px!important;padding-bottom:24px!important}
.footer-bottom-light span,.footer-bottom-light a{color:#5c6373!important;font-size:12px}
.footer-bottom-light .footer-tagline{color:#172342!important}
@media(max-width:1000px){.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}.footer-about{max-width:360px}}
@media(max-width:600px){.site-footer-light{padding-top:48px}.footer-columns{grid-template-columns:1fr;gap:32px;padding-bottom:35px}.footer-brand{width:135px!important;max-width:135px}.footer-column h3{font-size:21px}.footer-bottom-light{display:flex;flex-direction:column;align-items:flex-start;gap:12px}}

/* Homepage intro: replace empty left space with a branded creative composition */
.intro-section{grid-template-columns:minmax(320px,.95fr) minmax(0,1.25fr);align-items:center;column-gap:clamp(42px,7vw,105px)}
.intro-visual{position:relative;min-height:430px;display:grid;place-items:center;isolation:isolate}
.intro-visual:before{content:"";position:absolute;inset:7% 5%;border-radius:48% 52% 40% 60%;background:radial-gradient(circle at 35% 35%,#ded5ff 0, #f3eaff 37%,#ffece5 67%,transparent 72%);z-index:-2}
.intro-visual-orbit{position:absolute;width:90%;height:46%;border:1px solid #7858f67d;border-radius:50%;transform:rotate(-33deg);z-index:-1}
.intro-visual .orbit-b{width:88%;height:48%;transform:rotate(47deg);border-color:#ff786880}
.intro-visual-card{width:min(84%,360px);height:310px;position:relative;overflow:hidden;border:1px solid #ffffffd9;border-radius:25px;background:linear-gradient(145deg,#ffffffd9,#f0edffb8);box-shadow:0 25px 65px #4d3a8b20,inset 0 1px #fff;backdrop-filter:blur(10px);transform:rotate(-4deg);animation:introFloat 7s ease-in-out infinite}
.visual-kicker{position:absolute;top:24px;left:25px;font-size:9px;letter-spacing:.2em;color:#6b58ce;font-weight:800}
.visual-shape{position:absolute;filter:drop-shadow(0 15px 22px #392b7825)}
.shape-violet{width:160px;height:160px;left:35px;top:72px;border-radius:42% 58% 64% 36% / 41% 39% 61% 59%;background:linear-gradient(135deg,#b9a8ff,#7858f6 55%,#5640c4);transform:rotate(-20deg)}
.shape-coral{width:93px;height:93px;right:35px;top:62px;border-radius:31% 69% 48% 52%;background:linear-gradient(135deg,#ffc6b8,#ff7868);transform:rotate(20deg)}
.shape-lime{width:75px;height:75px;right:63px;bottom:72px;border-radius:50% 50% 10% 50%;background:linear-gradient(135deg,#e6ffab,#b7df61);transform:rotate(28deg)}
.visual-spark{position:absolute;right:42px;top:165px;font-size:55px;color:#172342}
.visual-caption{position:absolute;bottom:20px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:end;border-top:1px solid #15234220;padding-top:12px;color:#172342}
.visual-caption strong{font:800 11px var(--font)}.visual-caption span{font-size:8px;color:#687084}
.intro-visual-tag{position:absolute;bottom:8px;left:4%;font-size:8px;letter-spacing:.18em;color:#7d7894;font-weight:800}
@keyframes introFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-10px) rotate(-2deg)}}
@media(max-width:760px){.intro-section{grid-template-columns:1fr;gap:30px}.intro-visual{min-height:350px;order:0}.intro-copy{order:1}.intro-visual-card{height:280px}.intro-visual-tag{left:2%;bottom:0}}

/* SEO + contact-page polish */
.contact-section{padding:42px 0 68px!important}
.contact-shell{grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr)!important;gap:clamp(32px,4.5vw,72px)!important;align-items:start;max-width:1320px!important}
.contact-copy{padding-top:45px}
.contact-copy h2{font-size:clamp(42px,4.7vw,64px);max-width:560px}
.contact-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:410px}
.contact-card{padding:30px 34px}
.footer-socials{display:flex;gap:10px;align-items:center;justify-content:center}
.footer-socials a{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f1efff;color:#172342;transition:transform .2s,background .2s}
.footer-socials a:hover{transform:translateY(-3px);background:#e2dcff;color:#7858f6}
.footer-socials svg{width:17px;height:17px;fill:currentColor}
.whatsapp-float{position:fixed;right:22px;bottom:24px;z-index:9999;display:flex;align-items:center;gap:9px;background:#20bf64;color:#fff!important;padding:13px 17px;border-radius:999px;box-shadow:0 9px 28px #092b1840;font-size:13px;font-weight:800;transition:transform .2s,box-shadow .2s}
.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 12px 34px #092b1855}
.whatsapp-float svg{width:22px;height:22px;flex-shrink:0}
@media(max-width:900px){.contact-shell{grid-template-columns:1fr!important;gap:30px!important}.contact-copy{padding-top:0}.contact-card{max-width:none}}
@media(max-width:600px){.contact-section{padding:32px 0 45px!important}.contact-card{padding:23px 18px}.form-row{grid-template-columns:1fr}.contact-copy h2{font-size:42px}.whatsapp-float{right:14px;bottom:15px;padding:12px;border-radius:50%;width:52px;height:52px;justify-content:center}.whatsapp-float span{display:none}}

/* Fix oversized floating WhatsApp icon */
.whatsapp-float{width:auto;height:auto;min-width:56px;min-height:56px;max-width:190px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}
.whatsapp-float svg{display:block!important;width:23px!important;height:23px!important;min-width:23px!important;max-width:23px!important;min-height:23px!important;max-height:23px!important;flex:0 0 23px;overflow:visible}
.whatsapp-float span{font-size:13px;line-height:1;white-space:nowrap}
.footer-socials svg{width:17px!important;height:17px!important;min-width:17px!important;max-width:17px!important;min-height:17px!important;max-height:17px!important}
@media(max-width:600px){.whatsapp-float{width:54px;height:54px;min-width:54px;min-height:54px;max-width:54px;max-height:54px;padding:0;justify-content:center}.whatsapp-float svg{width:24px!important;height:24px!important;min-width:24px!important;max-width:24px!important;min-height:24px!important;max-height:24px!important}.whatsapp-float span{display:none}}

/* WhatsApp floating widget styled like the user's reference */
.whatsapp-float{
 position:fixed!important;right:28px!important;bottom:34px!important;z-index:9999!important;
 width:112px!important;height:132px!important;min-width:112px!important;min-height:132px!important;
 max-width:112px!important;max-height:132px!important;padding:0!important;
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;
 border-radius:60px!important;background:rgba(255,255,255,.86)!important;color:#344054!important;
 box-shadow:0 5px 28px rgba(20,30,55,.06)!important;text-decoration:none!important;
}
.whatsapp-float svg{
 display:block!important;width:76px!important;height:76px!important;min-width:76px!important;max-width:76px!important;
 min-height:76px!important;max-height:76px!important;flex:0 0 76px!important;padding:18px!important;box-sizing:border-box!important;
 color:#fff!important;background:#32d583!important;border-radius:50%!important;stroke:#fff!important;
}
.whatsapp-float span{display:block!important;font-size:13px!important;line-height:1.2!important;font-weight:500!important;color:#344054!important;white-space:nowrap!important}
.whatsapp-float:hover{transform:translateY(-3px)!important;box-shadow:0 9px 30px rgba(20,30,55,.12)!important}
@media(max-width:600px){
 .whatsapp-float{right:14px!important;bottom:18px!important;width:88px!important;height:105px!important;min-width:88px!important;min-height:105px!important;max-width:88px!important;max-height:105px!important;gap:5px!important}
 .whatsapp-float svg{width:58px!important;height:58px!important;min-width:58px!important;max-width:58px!important;min-height:58px!important;max-height:58px!important;flex-basis:58px!important;padding:14px!important}
 .whatsapp-float span{font-size:11px!important}
}

/* Icon-only WhatsApp shortcut, linked to the agency number */
.whatsapp-float{
 position:fixed!important;right:24px!important;bottom:24px!important;z-index:9999!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;
 max-width:64px!important;max-height:64px!important;padding:0!important;margin:0!important;
 background:transparent!important;border:0!important;border-radius:50%!important;box-shadow:0 5px 20px rgba(16,35,40,.18)!important;text-decoration:none!important;
}
.whatsapp-float img{display:block!important;width:64px!important;height:64px!important;min-width:64px!important;max-width:64px!important;min-height:64px!important;max-height:64px!important;object-fit:contain!important;border:0!important;}
.whatsapp-float span,.whatsapp-float svg{display:none!important}
.whatsapp-float:hover{transform:translateY(-3px)!important}
@media(max-width:600px){.whatsapp-float{right:15px!important;bottom:16px!important;width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;max-width:56px!important;max-height:56px!important}.whatsapp-float img{width:56px!important;height:56px!important;min-width:56px!important;max-width:56px!important;min-height:56px!important;max-height:56px!important}}

/* Compact footer contact block: one shared phone icon with two stacked numbers */
.footer-contact{gap:10px!important}
.footer-contact h3{margin-bottom:8px!important}
.footer-contact .footer-contact-line{margin:0!important;display:flex;align-items:center;gap:12px;line-height:1.45}
.footer-contact .footer-phone-group{display:grid;grid-template-columns:26px 1fr;align-items:start;column-gap:12px;margin:0 0 8px!important}
.footer-contact .footer-phone-group .footer-contact-icon{grid-column:1;grid-row:1 / span 2;align-self:start;padding-top:2px}
.footer-contact .footer-phone-group a{display:block;line-height:1.55;margin:0}
.footer-contact .footer-phone-group a+a{margin-top:3px}
.footer-contact .footer-email-line{margin:8px 0 12px!important}
.footer-contact>p:not(.footer-contact-line){margin:4px 0 10px!important;line-height:1.65}
.footer-contact .footer-know-more{margin-top:0!important}


/* Blog cards: give every text element comfortable breathing room */
.blog-grid{align-items:stretch;gap:22px}
.blog-card{display:flex;flex-direction:column;min-width:0}
.blog-card .blog-art{width:100%;overflow:hidden;flex:0 0 auto}
.blog-card .blog-art img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.blog-card:hover .blog-art img{transform:scale(1.035)}
.blog-card .blog-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 22px 0;line-height:1.5}
.blog-card h2,.blog-card h3{margin:12px 22px 13px;line-height:1.3;overflow-wrap:anywhere}
.blog-card p{margin:0 22px 22px;line-height:1.8;overflow-wrap:anywhere}
.blog-card .underlined-link,.blog-card .read-more{display:inline-block;align-self:flex-start;margin:0 22px 24px;padding-bottom:5px;line-height:1.5}
.blog-card .underlined-link{margin-top:auto}
.blog-card .blog-art + .blog-meta{padding-top:0}
@media(max-width:760px){
  .blog-grid{gap:18px}
  .blog-card .blog-meta{margin:16px 18px 0}
  .blog-card h2,.blog-card h3{margin:10px 18px 12px;font-size:21px}
  .blog-card p{margin:0 18px 19px}
  .blog-card .underlined-link,.blog-card .read-more{margin:0 18px 21px}
}
/* Small panda-paw cursor trail: decorative only, never blocks or hides content */
.panda-paw-trail{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;user-select:none;font-size:17px;line-height:1;opacity:.72;transform:translate(-50%,-50%) scale(.85) rotate(-12deg);animation:pandaPawFade .72s ease-out forwards;filter:drop-shadow(0 2px 3px rgba(21,35,66,.12))}
@keyframes pandaPawFade{0%{opacity:0;transform:translate(-50%,-40%) scale(.55) rotate(-20deg)}18%{opacity:.7}100%{opacity:0;transform:translate(-50%,-100%) scale(1.08) rotate(18deg)}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.panda-paw-trail{display:none}}


/* DV Scroll Reveal Animations */
html { scroll-behavior: smooth; }
.reveal-up, .reveal-left, .reveal-right {
  opacity: 0;
  transition: opacity 720ms cubic-bezier(.22,1,.36,1),
              transform 820ms cubic-bezier(.22,1,.36,1);
  transition-delay: var(--reveal-delay, 0ms);
}
.reveal-up { transform: translate3d(0, 34px, 0); }
.reveal-left { transform: translate3d(-42px, 0, 0); }
.reveal-right { transform: translate3d(42px, 0, 0); }
.reveal-up.is-visible, .reveal-left.is-visible, .reveal-right.is-visible {
  opacity: 1; transform: translate3d(0,0,0);
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal-up, .reveal-left, .reveal-right,
  .reveal-up.is-visible, .reveal-left.is-visible, .reveal-right.is-visible {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
}


/* Services page content layout */
.all-services { padding-top: 78px; padding-bottom: 92px; }
.all-services > .section-heading { margin-bottom: 34px; }
.service-detail-list { display: grid; gap: 18px; margin-top: 58px; }
.service-detail {
  position: relative; display: grid; grid-template-columns: 58px minmax(0,1fr) 90px;
  align-items: start; gap: 26px; padding: 38px 40px; overflow: hidden;
  border: 1px solid #e9e8e2; border-radius: 22px;
  background: rgba(255,255,255,.78);
}
.service-detail-number { color: #8a5cf6; font-size: 13px; font-weight: 800; letter-spacing: .12em; }
.service-detail h2 { margin: 4px 0 14px; font-size: clamp(25px,3vw,38px); line-height: 1.12; color: #15213d; }
.service-detail p:not(.eyebrow) { max-width: 760px; color: #68738a; line-height: 1.8; }
.service-detail .eyebrow { margin: 0; color: #7951f2; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.service-detail ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 24px; padding-left: 18px; color: #34405a; font-size: 14px; }
.service-detail li::marker { color: #8a5cf6; }
.service-detail-mark { display: grid; place-items: center; width: 78px; height: 78px; border-radius: 22px; background: #f0ebff; color: #8056ef; font-size: 38px; }
.service-detail:nth-child(even) .service-detail-mark { background: #fff0e8; color: #df815b; }
@media (max-width: 760px) {
  .all-services { padding-top: 52px; padding-bottom: 58px; }
  .service-detail { grid-template-columns: 32px minmax(0,1fr); gap: 14px; padding: 24px 20px; }
  .service-detail-mark { grid-column: 2; grid-row: 1; width: 54px; height: 54px; border-radius: 15px; font-size: 27px; margin-bottom: 6px; }
  .service-detail-number { grid-column: 1; grid-row: 1; }
  .service-detail > div:nth-child(2) { grid-column: 1 / -1; }
  .service-detail ul { grid-template-columns: 1fr; }
}


/* Contact page: balanced left column and clear enquiry journey */
.contact-shell { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(42px, 6vw, 90px); align-items: start; }
.contact-copy { padding-top: 38px; }
.contact-next { margin-top: 42px; max-width: 500px; }
.contact-next-kicker { margin: 0 0 16px; color: #9d8aff; font-size: 10px; font-weight: 800; letter-spacing: .17em; }
.contact-step { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 13px; padding: 15px 0; border-top: 1px solid #ffffff1c; }
.contact-step > span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #ffffff36; border-radius: 50%; color: #c9ed76; font-size: 10px; font-weight: 800; }
.contact-step strong { display: block; color: #fff; font-size: 13px; font-weight: 700; }
.contact-step p { margin: 5px 0 0; color: #b9c2d5; font-size: 12px; line-height: 1.65; }
.contact-service-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.contact-service-tags span { padding: 8px 11px; border: 1px solid #ffffff26; border-radius: 999px; color: #d5d9e6; font-size: 10px; }
.contact-card { padding: 30px 34px; }
@media (max-width: 900px) {
  .contact-shell { grid-template-columns: 1fr; gap: 38px; }
  .contact-copy { padding-top: 0; }
  .contact-next { margin-top: 30px; }
}
@media (max-width: 560px) {
  .contact-section { padding: 64px 0; }
  .contact-card { padding: 22px 18px; }
  .contact-next { margin-top: 26px; }
}


/* Homepage/contact final alignment: vertically center left copy against right form */
@media (min-width: 901px) {
  .contact-section .contact-shell {
    align-items: center !important;
  }
  .contact-section .contact-copy {
    align-self: center !important;
    padding-top: 0 !important;
    text-align: left !important;
  }
  .contact-section .contact-next {
    display: block !important;
  }
}
