/*
Theme Name: Urban Fox India
Theme URI: https://urbanfoxindia.com
Author: Urban Fox India
Author URI: https://urbanfoxindia.com
Description: A design-first, motion-rich theme for Urban Fox India, a creative and digital marketing agency in Indore. Content is edited from Appearance > Customize.
Version: 1.1.34
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: urban-fox-india
*/
:root{--ink:#101628;--fox:#3661e3;--lime:#7283ed;--paper:#ffffff;--card:#f6f7fb;--text:#101628;--mute:#677389;--line:#e3e7f1;box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--paper);color:var(--text);font:400 17px/1.6 "Plus Jakarta Sans",system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3{font-family:"Plus Jakarta Sans","Plus Jakarta Sans",sans-serif;font-weight:800;line-height:1.02;margin:0;letter-spacing:-.03em}
a{color:inherit}:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.w{max-width:1200px;margin:0 auto;padding:0 24px}
#pre svg{width:64px;animation:bob 1.2s ease-in-out infinite}#pre b{display:block;font:800 clamp(60px,14vw,140px)/1 "Plus Jakarta Sans",sans-serif;color:var(--lime)}
#bar{position:fixed;top:0;left:0;height:4px;width:100%;background:linear-gradient(90deg,var(--fox),var(--lime));transform-origin:0 50%;transform:scaleX(0);z-index:60}

.cur-on 
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(16,22,40,.88);backdrop-filter:blur(14px);color:#fff}
header .w{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font:800 21px "Plus Jakarta Sans",sans-serif;text-decoration:none;display:flex;gap:10px;align-items:center}.logo svg{width:30px}
header nav#nv{display:flex;gap:26px;align-items:center}header nav#nv a{text-decoration:none;font-size:15px;font-weight:500;opacity:.8}header nav#nv a:hover{opacity:1;color:var(--lime)}
.btn{display:inline-block;background:var(--fox);color:#fff;font:700 16px "Plus Jakarta Sans",sans-serif;padding:15px 28px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--lime);color:var(--ink)}header nav#nv .btn{padding:10px 20px;font-size:15px;opacity:1;color:#fff}header nav#nv .btn:hover{color:var(--ink)}
.mb{display:none;background:none;border:1.5px solid #fff5;color:#fff;border-radius:999px;padding:8px 18px;font:500 15px inherit;cursor:pointer}
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(circle at 30% 40%,#000,transparent 70%);mask-image:radial-gradient(circle at 30% 40%,#000,transparent 70%)}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;animation:fl 13s ease-in-out infinite alternate}.b1{width:420px;height:420px;background:var(--fox);top:-140px;left:-100px}.b2{width:380px;height:380px;background:#6a4cff;right:-80px;bottom:-120px;animation-direction:alternate-reverse}
@keyframes fl{to{transform:translate(60px,40px) scale(1.15)}}
.hero .w{position:relative;display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:center;padding-top:72px;padding-bottom:90px}
.tag{display:inline-block;border:1px solid #fff4;border-radius:999px;padding:6px 16px;font-size:14px;margin-bottom:26px}
.hero h1{font-size:clamp(42px,6.8vw,96px)}.hero h1 em{font-style:normal;color:var(--lime);display:inline-block}
.hero p{max-width:30em;font-size:19px;color:#cdc9ee;margin:26px 0 34px}.hero .r{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.hero .r a:last-child{color:#fff;text-underline-offset:6px}
#fox{width:100%;max-width:420px;margin-left:auto;display:block;animation:bob 6s ease-in-out infinite;filter:drop-shadow(0 30px 60px rgba(54,97,227,.3))}
@keyframes bob{50%{transform:translateY(-16px) rotate(-2deg)}}
.mq{background:var(--lime);color:var(--ink);overflow:hidden;white-space:nowrap;font:800 24px "Plus Jakarta Sans",sans-serif;padding:14px 0}.mq div{display:inline-block;animation:sl 30s linear infinite}.mq span{margin:0 24px}
@keyframes sl{to{transform:translateX(-50%)}}
section{padding:104px 0}h2{font-size:clamp(34px,5vw,64px);max-width:14em}.lead{color:var(--mute);max-width:36em;margin:20px 0 0}
.sv{margin-top:50px;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:70px 1fr 1.2fr 40px;gap:20px;align-items:center;padding:30px 12px;border-bottom:1px solid var(--line);transition:background .3s,color .3s,padding .3s}
.row:hover{background:var(--fox);color:#fff;padding-left:30px}.row:hover p,.row:hover small{color:#fff}
.row small{font:700 15px "Plus Jakarta Sans",sans-serif;color:var(--fox)}.row h3{font-size:clamp(24px,3vw,38px)}.row p{margin:0;color:var(--mute)}.row i{font-style:normal;font-size:28px}
.wk{background:var(--ink);color:#fff}.wk .lead{color:#b9b5dd}
.trk{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:50px 24px 24px;margin-top:10px;scrollbar-color:var(--fox) transparent}
.cs{flex:0 0 min(78vw,380px);scroll-snap-align:start;border-radius:24px;min-height:440px;padding:28px;color:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:transform .25s}
.cs b{position:absolute;top:24px;left:28px;background:#fffb;border-radius:999px;padding:4px 14px;font-size:14px}.cs svg{position:absolute;right:-20px;top:36px;width:220px}
.cs h3{font-size:30px;margin-bottom:8px}.cs p{margin:0;font-size:15px}.k1{background:var(--fox)}.k2{background:var(--lime)}.k3{background:#e0e4ff}.k4{background:#dbe4ff}
.big{overflow:hidden;white-space:nowrap;padding:28px 0;border-block:1px solid var(--line)}
.big div{display:inline-block;font:800 clamp(56px,11vw,150px)/1 "Plus Jakarta Sans",sans-serif;letter-spacing:-.04em;-webkit-text-stroke:2px var(--text);color:transparent;animation:sl 45s linear infinite reverse}.big div:hover{color:var(--fox);-webkit-text-stroke-color:var(--fox)}
.ab .w{display:grid;grid-template-columns:1fr 1.2fr;gap:60px}.ab .st{position:sticky;top:110px;align-self:start}
.pr{border-top:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:60px 1fr;gap:16px}.pr b{font:800 22px "Plus Jakarta Sans",sans-serif;color:var(--fox)}.pr h3{font-size:30px;margin-bottom:8px}.pr p{margin:0;color:var(--mute)}
.pc{background:var(--card);border-block:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px}
.s{border:1.5px solid var(--line);border-radius:22px;padding:28px;background:var(--paper);transition:transform .3s,border-color .3s}.s:hover{transform:translateY(-8px);border-color:var(--fox)}
.s b{font:800 54px "Plus Jakarta Sans",sans-serif;color:var(--fox);line-height:1}.s h3{font-size:25px;margin:16px 0 8px}.s p{margin:0;color:var(--mute);font-size:16px}
.fq{max-width:820px;margin-top:44px;border-top:1px solid var(--line)}.fq details{border-bottom:1px solid var(--line);padding:22px 0}
.fq summary{cursor:pointer;font:800 22px "Plus Jakarta Sans",sans-serif;list-style:none;display:flex;justify-content:space-between;gap:16px}.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";color:var(--fox);font-size:28px;line-height:1;transition:transform .3s}.fq details[open] summary::after{transform:rotate(45deg)}.fq p{margin:14px 0 0;color:var(--mute);max-width:38em}
.ct{background:var(--ink);color:#fff}.ct .w{display:grid;grid-template-columns:1fr 1fr;gap:64px}.ct .lead{color:#b9b5dd}.ct .f{margin-top:34px;display:grid;gap:6px;color:#b9b5dd}.ct .f a{color:var(--lime);font-weight:700}
form{display:grid;gap:18px}label{display:grid;gap:6px;font-weight:500;font-size:15px}
input,select,textarea{font:inherit;color:#fff;background:#ffffff12;border:1.5px solid #fff3;border-radius:12px;padding:14px 16px;width:100%}select option{color:#000}input:focus,select:focus,textarea:focus{outline:3px solid var(--lime);border-color:var(--lime)}
.ok{display:none;background:var(--lime);color:var(--ink);border-radius:18px;padding:30px}.ok h3{font-size:30px;margin-bottom:8px}
footer{background:var(--ink);color:#b9b5dd;padding:0 0 32px;font-size:15px;overflow:hidden}
.fw{font:800 clamp(70px,17vw,240px)/.9 "Plus Jakarta Sans",sans-serif;letter-spacing:-.05em;-webkit-text-stroke:2px #fff3;color:transparent;white-space:nowrap;padding-top:40px}
footer .w>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid #2a2650;margin-top:30px;padding-top:24px}
.rv{opacity:0;translate:0 44px;transition:opacity .8s,translate .8s cubic-bezier(.2,.8,.2,1),transform .3s,background .3s}.rv.in{opacity:1;translate:0 0}.pl.hot.rv.in{transform:translateY(-14px)}
@media(max-width:900px){.hero .w,.ab .w,.ct .w,.pg{grid-template-columns:1fr}#fox{max-width:260px;margin:0}.steps{grid-template-columns:1fr 1fr}.row{grid-template-columns:50px 1fr 30px}.row p{display:none}.ab .st{position:static}.pl.hot,.pl.hot.rv.in{transform:none}section{padding:72px 0}
.mb{display:block}header nav#nv{display:none;position:absolute;top:68px;left:0;right:0;background:var(--ink);flex-direction:column;align-items:flex-start;padding:20px 24px 28px;gap:18px}header nav#nv.o{display:flex}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.hero{background:radial-gradient(540px circle at var(--mx,30%) var(--my,40%),rgba(54,97,227,.3),transparent 60%),var(--ink)}
.hero .w>div{translate:calc(var(--px,0)*14px) calc(var(--py,0)*10px);transition:translate .25s}
#fox{animation:bob 6s ease-in-out infinite,pulse 3.5s ease-in-out infinite;translate:calc(var(--px,0)*-28px) calc(var(--py,0)*-28px);transition:translate .25s}
@keyframes pulse{50%{filter:drop-shadow(0 0 70px rgba(54,97,227,.8))}}
.pu{filter:drop-shadow(0 0 6px #7283ed)}

#bar{box-shadow:0 0 14px var(--fox)}
.hero h1{text-shadow:0 0 40px rgba(255,255,255,.18)}.hero h1 em{text-shadow:0 0 28px rgba(114,131,237,.7),0 0 64px rgba(114,131,237,.35)}
.wk h2,.ct h2{text-shadow:0 0 36px rgba(54,97,227,.55)}.tag{border-color:#7283ed88;box-shadow:0 0 22px rgba(114,131,237,.25)}
.logo:hover svg{filter:drop-shadow(0 0 10px var(--fox))}.fw{filter:drop-shadow(0 0 26px rgba(54,97,227,.4))}.big div:hover{filter:drop-shadow(0 0 20px var(--fox))}
.btn{box-shadow:0 0 26px rgba(54,97,227,.55)}.btn:hover{box-shadow:0 0 36px rgba(114,131,237,.75)}
.pl.hot{box-shadow:0 0 70px rgba(54,97,227,.4)}.s:hover{box-shadow:0 0 44px rgba(54,97,227,.4)}.row:hover{box-shadow:0 0 50px rgba(54,97,227,.5)}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px rgba(114,131,237,.2),0 0 26px rgba(114,131,237,.4)}
.cs,.s,.pl{position:relative}.cs::after,.s::after,.pl::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(280px circle at var(--x,50%) var(--y,50%),rgba(54,97,227,.22),transparent 70%)}.cs::after{background:radial-gradient(280px circle at var(--x,50%) var(--y,50%),rgba(255,255,255,.55),transparent 70%)}.cs:hover::after,.s:hover::after,.pl:hover::after{opacity:1}
.mq,.big{transform:skewX(calc(var(--sk,0)*1deg))}
::selection{background:var(--fox);color:#fff}html{scrollbar-color:var(--fox) var(--paper)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
header{border-bottom:1px solid #ffffff18}
#services h2::before,#work h2::before,#about h2::before,#process h2::before,#faq h2::before,#contact h2::before,#insights h2::before{display:block;font:700 13px "Plus Jakarta Sans",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--fox);margin-bottom:20px;text-shadow:none}
#services h2::before{content:"Services"}#work h2::before{content:"Work";color:var(--lime)}#about h2::before{content:"About"}#process h2::before{content:"Process"}#faq h2::before{content:"FAQ"}#contact h2::before{content:"Contact";color:var(--lime)}
.btn::after{content:"\2192";display:inline-block;margin-left:10px;transition:transform .25s}.btn:hover::after{transform:translateX(5px)}
.s{border:1.5px solid transparent;background:linear-gradient(var(--paper),var(--paper)) padding-box,linear-gradient(135deg,var(--fox),var(--line) 40%,var(--line)) border-box}
.cs{box-shadow:0 30px 60px -24px rgba(0,0,0,.6)}.row h3{transition:letter-spacing .3s}.row:hover h3{letter-spacing:0}
.cta{padding:90px 0 60px}.cb{border-radius:32px;padding:clamp(44px,7vw,96px) clamp(24px,5vw,60px);background:radial-gradient(600px circle at 90% 0%,rgba(114,131,237,.32),transparent 60%),radial-gradient(700px circle at 0% 100%,rgba(54,97,227,.55),transparent 60%),var(--ink);color:#fff;text-align:center;overflow:hidden;box-shadow:0 40px 90px -30px rgba(54,97,227,.55);border:1px solid #ffffff1f}
.cb h2{margin:0 auto;max-width:12em;text-shadow:0 0 40px rgba(255,255,255,.2)}.cb p{color:#d6d2f3;max-width:32em;margin:22px auto 26px}
.ch{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 36px}.ch span{border:1px solid #fff4;border-radius:999px;padding:7px 18px;font-size:14px;background:#ffffff12;backdrop-filter:blur(6px)}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#2ee66b;margin-right:10px;box-shadow:0 0 12px #2ee66b;animation:pu2 1.6s infinite}@keyframes pu2{50%{opacity:.35}}
.hero .r .wa{color:#fff;border:1.5px solid #ffffff55;border-radius:999px;padding:14px 24px;text-decoration:none;font-weight:700;transition:border-color .2s,box-shadow .2s}.hero .r .wa:hover{border-color:#25d366;box-shadow:0 0 24px rgba(37,211,102,.5)}
.fwa{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:55;background:#25d366;color:#04230f;font:700 15px "Plus Jakarta Sans",sans-serif;padding:14px 22px;border-radius:999px;text-decoration:none;animation:ring 2.4s infinite;box-shadow:0 10px 30px rgba(0,0,0,.35)}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(37,211,102,.6),0 10px 30px rgba(0,0,0,.35)}70%,100%{box-shadow:0 0 0 18px rgba(37,211,102,0),0 10px 30px rgba(0,0,0,.35)}}
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px}.bc{background:var(--ink);color:#fff;border-radius:24px;padding:28px;border:1px solid #ffffff1f;overflow:hidden;box-shadow:0 30px 60px -28px rgba(16,22,40,.7)}.bc.l{grid-column:span 2}
.bc small{color:#b9b5dd;font-size:14px;display:flex;justify-content:space-between;gap:10px}.bc em{font-style:normal;font-size:11px;border:1px solid #fff4;border-radius:999px;padding:2px 9px;white-space:nowrap}
.bc b{display:block;font:700 clamp(44px,6vw,76px)/1.1 "Plus Jakarta Sans",sans-serif;margin-top:12px;color:var(--lime);text-shadow:0 0 30px rgba(114,131,237,.45)}
.spark{width:100%;height:90px;margin-top:10px}.spark path{fill:none;stroke:var(--fox);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.2s ease;filter:drop-shadow(0 0 6px var(--fox))}.go .spark path{stroke-dashoffset:0}
.mix{display:grid;gap:12px;margin-top:20px}.mix div{height:36px;border-radius:999px;background:#ffffff14;overflow:hidden}.mix span{display:flex;align-items:center;height:100%;width:0;padding-left:16px;font-size:14px;font-weight:700;background:linear-gradient(90deg,var(--fox),#7283ed);transition:width 1.4s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 24px rgba(54,97,227,.5)}.go .mix span{width:var(--w)}
.oc{display:block;margin-top:18px;padding-top:14px;border-top:1px dashed var(--line);font:700 13px "Plus Jakarta Sans",sans-serif;font-style:normal;color:var(--fox);letter-spacing:.03em}
.cp{border:0;background:var(--ink);color:#fff;border-radius:999px;padding:4px 14px;font:700 13px "Plus Jakarta Sans",sans-serif;cursor:pointer;margin-left:8px}.ok .btn{margin-top:10px}
.fg{max-width:1200px;margin:0 auto;padding:28px 24px 0;display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:32px}.fg b{display:block;color:#fff;margin-bottom:10px}.fg a,.fg span{display:block;margin:4px 0}.fg a{text-decoration:none}.fg a:hover{color:var(--lime)}.fg p{margin:0}
@media(max-width:900px){.bento,.fg{grid-template-columns:1fr}.bc.l{grid-column:auto}.fwa{padding:12px 18px}}
.sg{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:50px}.sc2{border:1.5px solid var(--line);border-radius:28px;padding:36px;background:var(--card);transition:transform .3s,border-color .3s,box-shadow .3s,opacity .8s,translate .8s}.sc2:hover{transform:translateY(-6px);border-color:var(--fox);box-shadow:0 0 50px rgba(54,97,227,.28)}
.sc2 small{font:700 15px "Plus Jakarta Sans",sans-serif;color:var(--fox)}.sc2 h3{font-size:clamp(28px,3vw,38px);margin:10px 0 12px}.sc2 p{color:var(--mute);margin:0 0 22px}
.cp2{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.cp2 span{border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:14px;background:var(--paper)}.sc2>a{font-weight:700;text-decoration:none;color:var(--fox)}.sc2>a:hover{text-decoration:underline}
.pstack{margin-top:50px;display:grid;gap:18px}.ps{display:grid;grid-template-columns:76px 1.4fr 1fr;gap:26px;align-items:center;border:1.5px solid var(--line);border-radius:26px;padding:30px;background:var(--paper);transition:border-color .3s,transform .3s,opacity .8s,translate .8s}.ps:hover{border-color:var(--fox);transform:translateX(8px)}
.ps>b{display:block;min-width:0;white-space:nowrap;font:700 clamp(30px,3.2vw,52px)/1 "Plus Jakarta Sans",sans-serif;font-variant-numeric:tabular-nums;color:var(--fox);text-shadow:0 0 28px rgba(54,97,227,.28)}.ps h3{font-size:clamp(24px,2.6vw,32px);margin-bottom:8px}.ps p{margin:0;color:var(--mute)}
.tg{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.tg span{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:3px 12px}
.ro{background:var(--ink);color:#fff;border-radius:18px;padding:22px 24px;box-shadow:0 0 36px rgba(54,97,227,.2)}.ro small{display:block;color:var(--lime);font:700 12px "Plus Jakarta Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}.ro div{font:700 20px/1.25 "Plus Jakarta Sans",sans-serif}
.pt{padding:44px 0;overflow:hidden;border-bottom:1px solid var(--line)}.pth{display:block;text-align:center;color:var(--mute);letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-bottom:22px}.ptm{white-space:nowrap}.ptm>div{display:inline-block;animation:sl 40s linear infinite}
.lg{display:inline-block;margin:0 12px;border:1.5px dashed var(--line);border-radius:14px;padding:16px 38px;color:var(--mute);font-weight:700}
.fb{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;align-items:start;margin-top:14px}.fb p{margin:0}.rc{background:var(--ink);color:#fff;border-radius:16px;padding:16px 18px;font-size:14px}.rc b{display:block;color:var(--lime);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.ft{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.ft div{border:1px solid #ffffff2a;border-radius:16px;padding:16px 18px;background:#ffffff0d}.ft b{display:block;font:700 18px "Plus Jakarta Sans",sans-serif;margin-bottom:4px}.ft span{font-size:14px;color:#b9b5dd}
.fg{grid-template-columns:1.2fr 1fr 1fr 1.2fr}.so{display:flex;gap:14px;flex-wrap:wrap}.fk{max-width:1200px;margin:26px auto 0;padding:0 24px;font-size:13px;opacity:.65}
@media(max-width:900px){.sg,.fb,.ft,.fg{grid-template-columns:1fr}.ps{grid-template-columns:1fr}.ps:hover{transform:none}}
#founder h2::before{content:"Founder";display:block;font:700 13px "Plus Jakarta Sans",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--fox);margin-bottom:20px}
.fd .w{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}.fph{position:relative;border-radius:32px;overflow:hidden;aspect-ratio:4/5;border:1px solid var(--line);box-shadow:0 0 70px rgba(54,97,227,.3)}.fph svg{width:100%;height:100%;display:block}.stk{position:absolute;left:16px;bottom:16px;background:#000b;color:#fff;font-size:12px;border-radius:999px;padding:4px 12px}
.fs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0}.fs div{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--card)}.fs b{display:block;font:700 30px "Plus Jakarta Sans",sans-serif;color:var(--fox)}.fs span{font-size:14px;color:var(--mute)}
@media(max-width:900px){.fd .w{grid-template-columns:1fr;gap:36px}.fph{max-width:340px}}
@media(prefers-reduced-motion:reduce){*{animation:none;transition:none}html{scroll-behavior:auto}.rv{opacity:1;translate:none}#fox,.hero .w>div{translate:none}.mq,.big{transform:none}}

/* ---- WordPress additions ---- */
.logo-img{height:38px;width:auto;display:block}
.pgc{padding:80px 0;min-height:60vh}.entry{max-width:780px}.entry h1{font-size:clamp(34px,5vw,60px);margin-bottom:24px}.entry a{color:var(--fox)}.entry img{max-width:100%;height:auto;border-radius:16px}
.cs.has-img{color:#fff}.cs .cimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cs.has-img::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,22,40,0) 30%,rgba(16,22,40,.92))}.cs.has-img h3,.cs.has-img p{position:relative;z-index:2}.cs b{z-index:2}
.fph .fimg{width:100%;height:100%;object-fit:cover;display:block}
.lgi{display:inline-block;height:48px;width:auto;margin:0 30px;vertical-align:middle;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s}.lgi:hover{filter:none;opacity:1}
.screen-reader-text{position:absolute;left:-9999px}
@media(max-width:900px){.bento{grid-template-columns:1fr}}
.admin-bar header{top:32px}@media(max-width:782px){.admin-bar header{top:46px}}

/* ===== Light, Hello-Media-style layout (palette sampled from reference screenshot) ===== */
body{background-color:var(--paper);background-image:radial-gradient(#d3d9ea 1.3px,transparent 1.3px);background-size:30px 30px;background-attachment:fixed}
body::after{display:none}
header{background:transparent;backdrop-filter:none;border:0;color:var(--text);padding:14px 12px 0}
header .w{height:auto;min-height:84px;background:#fff;border-radius:30px;border:1px solid #eef0f6;box-shadow:0 20px 60px -22px rgba(30,45,110,.25);padding:12px 16px 12px 18px;gap:14px}
.logo{color:var(--text);gap:14px}.logo svg{width:52px;height:52px;padding:10px;background:#fff;border-radius:16px;box-shadow:0 6px 22px rgba(30,45,110,.16)}.logo-img{height:46px}
.lt{display:flex;flex-direction:column;line-height:1.15}.lt b{font-size:22px;letter-spacing:-.03em;font-weight:800}.lt small{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);font-weight:600}
header nav#nv{background:#f5f5f6;border-radius:24px;padding:8px;gap:4px;margin:0 auto}
header nav#nv a{color:#495467;opacity:1;font-weight:600;font-size:15px;padding:12px 18px;border-radius:18px;transition:background .2s,color .2s}header nav#nv a:hover{background:#fff;color:var(--fox)}
.btn{background:linear-gradient(90deg,var(--fox),var(--lime));box-shadow:0 12px 32px -10px rgba(54,97,227,.6);color:#fff;font-weight:700}.btn:hover{background:linear-gradient(90deg,#2a4fc8,var(--fox));color:#fff;box-shadow:0 16px 40px -10px rgba(54,97,227,.75)}
.hire{letter-spacing:.14em;text-transform:uppercase;font-weight:800;font-size:15px;padding:18px 30px;white-space:nowrap}
.mb{color:var(--text);border-color:#d9deec;background:#fff}
.hero{background:radial-gradient(720px circle at var(--mx,50%) var(--my,35%),rgba(54,97,227,.13),transparent 60%);color:var(--text);text-align:center}
.hero::before,.blob{display:none}
.hero .w{display:block;max-width:1000px;padding-top:96px;padding-bottom:120px}
.tag{background:#fff;color:var(--text);border:1px solid #eef0f6;box-shadow:0 10px 34px -14px rgba(30,45,110,.3);font-weight:700;font-size:13px;letter-spacing:.03em;text-transform:uppercase;padding:10px 22px;margin-bottom:34px}
.tag .dot{background:var(--fox);box-shadow:0 0 10px var(--fox)}
.hero h1{font-size:clamp(40px,7.2vw,96px);line-height:1.04;letter-spacing:-.045em;text-shadow:none;font-weight:800}
.gt,.hero h1 em{background:linear-gradient(90deg,var(--fox),var(--lime));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;display:inline-block;position:relative}
.gt.u::after{content:"";position:absolute;left:4%;right:4%;bottom:-6px;height:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='8'%3E%3Cpath d='M0 5Q10 0 20 4T40 4' fill='none' stroke='%237283ed' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x;background-size:40px 8px;opacity:.8}
.hero p{color:var(--mute);margin:34px auto 40px;max-width:34em;font-size:20px}.hl{color:var(--fox);font-weight:700}
.hero .r{justify-content:center;gap:16px}
.hero .r .btn{padding:20px 40px;font-size:18px}
.hero .r .wa{display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--text);border:1.5px solid #e6e9f2;box-shadow:0 12px 34px -16px rgba(30,45,110,.3);border-radius:999px;padding:18px 34px;font-size:18px;font-weight:700;text-decoration:none}.hero .r .wa svg{width:26px;height:26px}.hero .r .wa:hover{border-color:#25d366;box-shadow:0 12px 34px -12px rgba(37,211,102,.5)}
.hero .r a:last-child:not(.wa):not(.btn){color:var(--fox);font-weight:700}
.fl{position:absolute;width:78px;height:78px;border-radius:26px;background:#fff;box-shadow:0 20px 54px -16px rgba(30,45,110,.32);display:grid;place-items:center;animation:bob 6s ease-in-out infinite;translate:calc(var(--px,0)*var(--d,20)*1px) calc(var(--py,0)*var(--d,20)*1px);transition:translate .25s}.fl svg{width:40px;height:40px}
.f1{left:12%;top:26%}.f2{right:10%;top:30%;animation-delay:-2s}.f3{left:9%;bottom:20%;animation-delay:-4s}.f4{right:13%;bottom:18%;animation-delay:-1s}.f5{left:22%;top:12%;width:60px;height:60px;animation-delay:-3s}
.mq{background:linear-gradient(90deg,var(--fox),#4a71e5);color:#fff;font:700 16px "Plus Jakarta Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:22px 0}.mq span{margin:0 30px}
.sbt{position:fixed;left:12px;top:50%;translate:0 -50%;z-index:55;display:grid;gap:12px}
.sbt a{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;box-shadow:0 12px 28px -12px rgba(30,45,110,.42);transition:transform .2s,box-shadow .2s;background:rgba(255,255,255,.96);border:1px solid rgba(16,22,40,.08)}.sbt a:hover{transform:translateX(2px);box-shadow:0 15px 30px -12px rgba(30,45,110,.5)}
.sbt .w1{color:#25a765}.sbt .w2{color:var(--fox)}.sbt-icon-box{display:grid;place-items:center;width:100%;height:100%;border-radius:inherit}.sbt-icon-box img{display:block;width:23px;height:23px;object-fit:contain}.sbt-icon-box svg{display:block;width:22px;height:22px}
.k1{color:#fff}
@media(max-width:900px){
header .w{border-radius:24px;padding:10px 12px;min-height:72px}.lt small{display:none}.logo svg{width:44px;height:44px}
.hire{padding:13px 18px;font-size:12px;margin-left:auto}
header nav#nv{display:none;position:absolute;top:calc(100% + 10px);left:12px;right:12px;background:#fff;border-radius:22px;box-shadow:0 24px 60px -20px rgba(30,45,110,.35);padding:12px;flex-direction:column;align-items:stretch;gap:2px;margin:0}header nav#nv.o{display:flex}
.hero .w{padding-top:56px;padding-bottom:76px}.hero p{font-size:17px}.hero .r .btn,.hero .r .wa{padding:16px 26px;font-size:16px}
.sbt a{width:46px;height:46px;border-radius:0 14px 14px 0}.sbt svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.fl{translate:none}}

#insights h2::before{content:"Insights"}
/* ===== Navigation menu ===== */
header nav#nv .menu{display:flex;gap:4px;list-style:none;margin:0;padding:0}
header nav#nv a.on,header nav#nv .current-menu-item>a,header nav#nv .current_page_item>a{background:#fff;color:var(--fox);box-shadow:0 4px 16px rgba(30,45,110,.12)}
header.sc .w{box-shadow:0 14px 44px -18px rgba(30,45,110,.35)}
/* ===== Inner pages ===== */
.ih{padding:76px 0 40px;text-align:center;position:relative}.ih .w{max-width:920px}
.crumbs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;font-size:14px;color:var(--mute);margin-bottom:24px}.crumbs a{color:var(--mute);text-decoration:none}.crumbs a:hover{color:var(--fox)}.crumbs span[aria-current]{color:var(--text);font-weight:700}.crumbs i{font-style:normal;opacity:.45}
.ih h1{font-size:clamp(36px,6vw,78px);letter-spacing:-.045em;line-height:1.05;margin:22px 0 0}.ih .lead{margin:22px auto 0;max-width:38em;font-size:19px}
.sec{padding:30px 0 100px}.nar{max-width:860px}.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.sh2{margin-bottom:34px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:22px}.sg{margin-top:50px}.empty{text-align:center;color:var(--mute);padding:70px 0}
.filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:0 0 40px}
.chip{border:1.5px solid var(--line);border-radius:999px;padding:10px 20px;font:600 15px "Plus Jakarta Sans",sans-serif;text-decoration:none;background:#fff;color:var(--mute);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.chip:hover,.chip.on{background:var(--fox);border-color:var(--fox);color:#fff}
a.cs{text-decoration:none}.wgrid .cs{min-height:420px}
.sc2{position:relative}.sc2>a::after{content:"";position:absolute;inset:0}
.pc2{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:26px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s}
.pc2:hover{transform:translateY(-6px);box-shadow:0 28px 60px -28px rgba(30,45,110,.4);border-color:var(--fox)}
.pim{display:block;aspect-ratio:16/10;background:linear-gradient(135deg,var(--fox),var(--lime));overflow:hidden}.pim img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.pc2:hover .pim img{transform:scale(1.06)}
.pph{display:grid;place-items:center;height:100%;font:800 84px "Plus Jakarta Sans",sans-serif;color:rgba(255,255,255,.88)}
.pbd{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}.pm{display:flex;gap:12px;font-size:13px;color:var(--mute);align-items:center;flex-wrap:wrap}.pm span{background:rgba(54,97,227,.1);color:var(--fox);font-weight:700;border-radius:999px;padding:3px 12px}
.pbd h3{font-size:22px;line-height:1.2}.pbd h3 a{text-decoration:none}.pbd h3 a::after{content:"";position:absolute;inset:0}.pbd p{margin:0;color:var(--mute);font-size:15px}
.pc2.feat{grid-column:1/-1;flex-direction:row}.pc2.feat .pim{flex:1.2;aspect-ratio:auto;min-height:340px}.pc2.feat .pbd{flex:1;justify-content:center;padding:44px}.pc2.feat h3{font-size:clamp(26px,3vw,42px)}
.lay{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:56px;align-items:start}.lay aside{position:sticky;top:120px;display:grid;gap:20px}
.box{display:block;background:var(--card);border:1.5px solid var(--line);border-radius:24px;padding:28px;text-decoration:none;color:var(--text)}a.box:hover{border-color:var(--fox)}.box h3{font-size:22px;margin-bottom:14px}.box small{display:block;color:var(--mute);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;margin-bottom:6px}.box b{font-size:19px;word-break:break-word}.box p{margin:0 0 18px;color:var(--mute)}
.box ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.ticks li::before{content:"\2713";color:var(--fox);font-weight:800;margin-right:10px}.links a{display:flex;justify-content:space-between;gap:10px;text-decoration:none;font-weight:600;padding:4px 0}.links a:hover{color:var(--fox)}
.box.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.box.dark p{color:#b9c0e0}
.ic{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:18px}.ic .box span{color:var(--mute);font-size:14px}
.pfi{margin:0 0 48px;border-radius:30px;overflow:hidden;box-shadow:0 30px 70px -34px rgba(30,45,110,.45)}.pfi img{width:100%;height:auto;display:block;object-fit:cover}
.wmeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin:0 0 44px;padding:26px;background:#fff;border:1.5px solid var(--line);border-radius:22px}.wmeta small{display:block;color:var(--mute);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700}.wmeta b{font-size:18px}.wmeta a{color:var(--fox);text-decoration:none}
.prose{font-size:18px;line-height:1.8;color:#2b3447;overflow-wrap:anywhere}.prose h2{font-size:clamp(26px,3vw,36px);margin:48px 0 16px;color:var(--text);line-height:1.15}.prose h3{font-size:24px;margin:36px 0 12px;color:var(--text)}.prose p{margin:0 0 22px}.prose a{color:var(--fox)}.prose ul,.prose ol{padding-left:22px;margin:0 0 22px}.prose li{margin:8px 0}
.prose blockquote{margin:36px 0;padding:26px 30px;border-left:4px solid var(--fox);background:var(--card);border-radius:0 18px 18px 0;font-size:22px;font-weight:600;color:var(--text)}.prose blockquote p{margin:0}
.prose img,.prose figure,.prose video,.prose iframe{max-width:100%;height:auto;border-radius:18px}.prose pre{overflow:auto;background:var(--ink);color:#e8ecff;padding:20px;border-radius:14px;font-size:15px}.prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.prose td,.prose th{border:1px solid var(--line);padding:10px 14px}
.byl{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:28px;color:var(--mute);font-size:15px}.byl img{border-radius:50%}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin:36px 0}.tags a{border:1.5px solid var(--line);border-radius:999px;padding:6px 16px;font-size:14px;text-decoration:none;color:var(--mute);background:#fff}.tags a:hover{border-color:var(--fox);color:var(--fox)}
.abox{display:flex;gap:22px;align-items:center;margin:40px 0}.abox img{border-radius:50%}.abox h3{margin-bottom:8px}.abox p{margin-bottom:14px}
.pnav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:56px 0}.pnav a{border:1.5px solid var(--line);border-radius:20px;padding:22px;text-decoration:none;background:#fff;display:block;transition:border-color .2s}.pnav a:hover{border-color:var(--fox)}.pnav small{color:var(--mute)}.pnav b{display:block;font-size:19px;margin-top:6px;line-height:1.25}.pnav .nx{text-align:right}
.navigation.pagination .nav-links{display:flex;gap:8px;justify-content:center;margin-top:54px;flex-wrap:wrap}.page-numbers{min-width:46px;height:46px;padding:0 14px;display:grid;place-items:center;border-radius:14px;border:1.5px solid var(--line);text-decoration:none;font-weight:700;background:#fff;color:var(--text)}.page-numbers.current,a.page-numbers:hover{background:var(--fox);border-color:var(--fox);color:#fff}
.screen-reader-text{position:absolute;left:-9999px}
/* ===== Premium cursor ===== */
.cur-on,.cur-on a,.cur-on button,.cur-on summary,.cur-on label,.cur-on select,.cur-on .chip{cursor:none}.cur-on input,.cur-on textarea{cursor:text}
#cur,#cd{position:fixed;left:0;top:0;pointer-events:none;z-index:99999;opacity:0;transition:opacity .35s}
.cur-in #cur,.cur-in #cd{opacity:1}.cur-f #cur,.cur-f #cd{opacity:0}
#cd{width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--fox);transition:opacity .35s,background .25s,scale .25s}
#cur{width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;border:1.5px solid var(--fox);display:grid;place-items:center;transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),margin .35s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s,opacity .35s,scale .2s;backdrop-filter:blur(0)}
#cur span{font:700 12px "Plus Jakarta Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .2s}
#cur.h{width:72px;height:72px;margin:-36px 0 0 -36px;background:rgba(54,97,227,.12);border-color:rgba(54,97,227,.55);backdrop-filter:blur(2px)}#cd.h{scale:0}
#cur.v{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--fox);border-color:var(--fox);box-shadow:0 14px 40px -10px rgba(54,97,227,.7)}#cur.v span{opacity:1}#cd.v{scale:0}
#cur.d{scale:.86}
#cur.dk{border-color:#fff}#cd.dk{background:#fff}#cur.h.dk{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.7)}
/* ===== Responsive ===== */
html,body{overflow-x:clip}img,svg,video{max-width:100%}.w{padding-left:clamp(16px,4vw,28px);padding-right:clamp(16px,4vw,28px)}
@media(max-width:1100px){
header nav#nv{display:none;position:absolute;top:calc(100% + 10px);left:12px;right:12px;background:#fff;border-radius:22px;box-shadow:0 24px 60px -20px rgba(30,45,110,.4);padding:12px;margin:0;z-index:1001}header nav#nv.o{display:flex}
header nav#nv .menu{flex-direction:column;gap:2px}header nav#nv a{display:block;padding:15px 18px}
.mb{display:block}.hire{margin-left:auto}.lt small{display:none}
.fg{grid-template-columns:1fr 1fr}.lay{grid-template-columns:1fr;gap:36px}.lay aside{position:static}
.pc2.feat{flex-direction:column}.pc2.feat .pim{min-height:0;aspect-ratio:16/10}.pc2.feat .pbd{padding:28px}}
@media(max-width:900px){.hero .w{padding-top:56px;padding-bottom:84px}.ih{padding:52px 0 28px}.sec{padding:24px 0 72px}}
@media(max-width:640px){
.fg,.pnav{grid-template-columns:1fr}.pnav .nx{text-align:left}
.hero .r{flex-direction:column;align-items:stretch}.hero .r .btn,.hero .r .wa{justify-content:center;text-align:center;width:100%}
.sh{align-items:flex-start}.sh .btn{width:100%;text-align:center}.prose{font-size:17px}.abox{flex-direction:column;align-items:flex-start}
.tag{font-size:11px;padding:8px 16px}.hire{padding:12px 16px;font-size:12px;letter-spacing:.1em}.logo svg{width:40px;height:40px;padding:8px}.lt b{font-size:19px}
.ct .w,.fd .w{gap:32px}.cb{border-radius:24px}.mq{font-size:13px}.mq span{margin:0 20px}.big div{-webkit-text-stroke-width:1.5px}}
@media(max-width:380px){.lt{display:none}.hero h1{font-size:36px}}
@media(hover:none){.cs:hover,.sc2:hover,.pc2:hover,.ps:hover{transform:none}}

/* v1.0.1 form consent accessibility */
.uf-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55}.uf-consent input{margin-top:4px;flex:0 0 auto}.uf-consent a{text-decoration:underline;text-underline-offset:3px}

/* v1.0.5: stronger service and portfolio cards, including image-free fallbacks */
.cs{position:relative;isolation:isolate;overflow:hidden;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#f5f7ff,#e9edff);text-decoration:none;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.cs:hover{transform:translateY(-5px);border-color:rgba(54,97,227,.35);box-shadow:0 22px 55px -35px rgba(16,22,40,.42)}
.cs .cimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .55s ease}
.cs.has-img:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,14,30,.04) 5%,rgba(9,14,30,.78) 100%)}
.cs.has-img{color:#fff;border-color:transparent}
.cs:hover .cimg{transform:scale(1.045)}
.cs> b{font-size:11px;letter-spacing:.12em;text-transform:uppercase;align-self:flex-start;padding:6px 10px;border-radius:99px;background:rgba(255,255,255,.82);color:#18213b}
.cs h3{font-size:clamp(25px,3vw,38px);max-width:17ch;overflow-wrap:anywhere}
.cs p{margin:0;max-width:44ch;color:inherit;opacity:.82;font-size:14px}
.cs .card-arrow{position:absolute;right:22px;top:22px;width:40px;height:40px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:20px;transition:transform .2s ease}
.cs:hover .card-arrow{transform:translate(2px,-2px)}
.cplaceholder{position:absolute;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 78% 20%,rgba(114,131,237,.45),transparent 34%),linear-gradient(135deg,#eef1ff,#dfe5ff 52%,#f5f6fb)}
.cplaceholder>span{position:absolute;left:22px;top:20px;color:rgba(16,22,40,.45);font-size:12px;letter-spacing:.16em}
.cplaceholder>b{font-size:clamp(110px,20vw,210px);line-height:1;color:rgba(54,97,227,.15);font-weight:800}
.cs.no-img> b{position:relative;z-index:1}
.cs.no-img h3,.cs.no-img p{position:relative;z-index:1}
.service-card-top{display:flex;align-items:center;justify-content:space-between;min-height:52px;margin-bottom:20px}
.service-card-top>small{font-size:12px;letter-spacing:.14em;color:var(--fox)}
.service-card-top>img{width:52px;height:52px;object-fit:cover;border-radius:14px}
.service-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#edf0ff;color:var(--fox);font-size:25px}
.sc2 h3 a{text-decoration:none}
.sc2 h3 a:hover{color:var(--fox)}
.service-link{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:15px;border-top:1px solid var(--line);text-decoration:none;font-weight:700}
.service-link span{font-size:20px;transition:transform .2s ease}
.service-link:hover span{transform:translate(3px,-3px)}
@media(prefers-reduced-motion:reduce){.cs,.cs .cimg,.service-link span{transition:none}.cs:hover{transform:none}}
@media(max-width:640px){.cs{min-height:260px;padding:22px;border-radius:19px}.cs .card-arrow{right:16px;top:16px;width:36px;height:36px}.service-card-top{margin-bottom:12px}}


/* v1.0.6: editorial case-study storytelling */
.case-story{display:grid;gap:16px;margin:42px 0 20px}
.case-story__item{display:grid;grid-template-columns:minmax(150px,.62fr) minmax(0,1.38fr);gap:28px;align-items:start;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--card)}
.case-story__eyebrow{font-size:12px;line-height:1.5;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--fox)}
.case-story__copy{font-size:16px;line-height:1.8;color:var(--text);overflow-wrap:anywhere}
.case-story__copy p{margin:0 0 12px}.case-story__copy p:last-child{margin-bottom:0}
.case-story__item--outcome{background:var(--ink);border-color:var(--ink)}.case-story__item--outcome .case-story__eyebrow{color:#aebcff}.case-story__item--outcome .case-story__copy{color:#fff}
@media(max-width:640px){.case-story__item{grid-template-columns:1fr;gap:10px;padding:22px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.case-story__item{scroll-behavior:auto}}


/* v1.0.7: editorial metadata and clear form feedback */
.pm{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pm>span:last-child{color:var(--mute);font-size:12px}
.uf-form-notice{margin:0 0 18px;padding:14px 16px;border:1px solid rgba(255,255,255,.25);border-left:4px solid #aebcff;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;line-height:1.6}
.entry-content{scroll-margin-top:100px}
@media(prefers-reduced-motion:reduce){.pnav a{transition:none}}


/* v1.0.8: recovery states, empty archives and keyboard focus */
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid #7283ed;outline-offset:4px}
.uf-recovery{max-width:1040px}
.uf-recovery__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.uf-recovery__card{position:relative;display:grid;gap:8px;padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--card);text-decoration:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.uf-recovery__card:hover{transform:translateY(-3px);border-color:var(--fox);box-shadow:0 18px 38px -28px rgba(16,22,40,.35)}
.uf-recovery__card>span{font-size:12px;letter-spacing:.14em;color:var(--fox);font-weight:800}
.uf-recovery__card>b{font-size:24px;line-height:1.2}
.uf-recovery__card>small{font-size:14px;color:var(--mute)}
.uf-recovery__card>i{position:absolute;right:22px;top:22px;font-style:normal;font-size:20px}
.uf-recovery__search{max-width:620px;margin:54px auto 0;text-align:center}
.uf-recovery__search h2{font-size:clamp(24px,3vw,34px);margin:0 0 20px}
.uf-empty-state{max-width:720px;margin:10px auto;padding:clamp(28px,5vw,54px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,#f7f8ff,#fff);text-align:center}
.uf-empty-state__mark{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 18px;border-radius:17px;background:#edf0ff;color:var(--fox);font-size:26px}
.uf-empty-state h2{font-size:clamp(25px,4vw,38px);line-height:1.12;margin:0 0 14px}
.uf-empty-state p{max-width:48ch;margin:0 auto 24px;color:var(--mute);line-height:1.75}
.uf-empty-state__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(max-width:640px){.uf-recovery__links{grid-template-columns:1fr}.uf-recovery__card{padding:22px}.uf-empty-state{border-radius:20px}.uf-empty-state__actions{flex-direction:column}.uf-empty-state__actions .btn{width:100%;justify-content:center;text-align:center}}
@media(prefers-reduced-motion:reduce){.uf-recovery__card{transition:none}.uf-recovery__card:hover{transform:none}}



/* --------------------------------------------------------------------------
   Urban Fox India — canonical responsive system (v1.1.16)
   Layout rules live here instead of accumulating emergency override patches.
   -------------------------------------------------------------------------- */
:root {
  --site-gutter: clamp(16px, 3.2vw, 32px);
  --content-width: 1200px;
  --header-height: 84px;
  --focus-ring: 3px solid var(--lime);
}

html { scroll-padding-top: calc(var(--header-height) + 24px); }
@supports (scroll-padding-top: env(safe-area-inset-top)) { html { scroll-padding-top: calc(var(--header-height) + 24px + env(safe-area-inset-top, 0px)); } }
body { min-width: 320px; overflow-wrap: break-word; }
img, video, iframe, embed, object { max-width: 100%; }
img, video { height: auto; }
svg { max-width: 100%; }
button, input, select, textarea { max-width: 100%; }
.w { width: min(100%, var(--content-width)); padding-inline: var(--site-gutter); }
section, main, article, aside, footer, header, .w, .pgc, .sec, .ih,
.hero .w, .ab .w, .ct .w, .fd .w, .lay, .pgrid, .bento, .steps,
.sg, .pstack, .fg, .case-story, .case-story__item { min-width: 0; }

/* Header: one desktop row, one controlled dropdown for tablet/mobile. */
header {
  position: sticky;
  top: env(safe-area-inset-top, 0px);
  z-index: 100;
  width: 100%;
  padding: 14px 12px 0;
  color: var(--text);
  background: transparent;
  border: 0;
  backdrop-filter: none;
}
.admin-bar header { top: calc(32px + env(safe-area-inset-top, 0px)); }
@media (max-width: 782px) { .admin-bar header { top: calc(46px + env(safe-area-inset-top, 0px)); } }
header .w {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(10px, 1.4vw, 20px);
  width: 100%;
  max-width: 1440px;
  min-height: var(--header-height);
  height: auto;
  padding: 12px clamp(12px, 1.4vw, 20px);
  border: 1px solid #eef0f6;
  border-radius: 26px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 48px -28px rgba(30,45,110,.30);
}
.logo { display: inline-flex; flex: 0 1 auto; align-items: center; gap: 12px; min-width: 0; color: var(--text); text-decoration: none; }
.logo-icon-box { display: grid; flex: 0 0 auto; place-items: center; width: 48px; height: 48px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.logo-icon-box svg, .logo-icon-box img { display: block; width: 100%; height: 100%; padding: 7px; object-fit: contain; }
.lt { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.lt b { font-size: clamp(16px, 1.45vw, 22px); font-weight: 800; letter-spacing: -.035em; overflow-wrap: normal; }
.lt small { margin-top: 4px; color: var(--mute); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
header nav#nv { display: flex; flex: 0 1 auto; align-items: center; min-width: 0; margin-inline: auto; padding: 6px; border-radius: 18px; background: #f5f6fa; }
header nav#nv .menu { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
header nav#nv .menu li { min-width: 0; }
header nav#nv a { display: block; padding: 11px clamp(8px, 1.05vw, 15px); border-radius: 13px; color: #495467; font-size: clamp(12px, .95vw, 14px); font-weight: 700; line-height: 1.25; text-decoration: none; white-space: nowrap; transition: background .2s ease, color .2s ease; }
header nav#nv a:hover, header nav#nv .current-menu-item > a, header nav#nv .current_page_item > a, header nav#nv a.on { color: var(--fox); background: #fff; }
header nav#nv .btn { padding: 10px 18px; color: #fff; }
.hire { flex: 0 0 auto; white-space: nowrap; padding: 15px clamp(16px, 2vw, 28px); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.mb { display: none; flex: 0 0 auto; align-items: center; justify-content: center; width: 46px; height: 46px; padding: 0; border: 1px solid #d9deec; border-radius: 14px; color: var(--text); background: #fff; cursor: pointer; }
.mb-lines { display: grid; gap: 5px; }
.mb-lines i { display: block; width: 20px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.mb[aria-expanded="true"] .mb-lines i:first-child { transform: translateY(7px) rotate(45deg); }
.mb[aria-expanded="true"] .mb-lines i:nth-child(2) { opacity: 0; }
.mb[aria-expanded="true"] .mb-lines i:last-child { transform: translateY(-7px) rotate(-45deg); }
header.sc .w { box-shadow: 0 16px 42px -24px rgba(30,45,110,.36); }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 10000; padding: 12px 16px; border-radius: 10px; color: #fff; background: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

/* Hero, display typography and floating social marks. */
.hero { position: relative; isolation: isolate; overflow: hidden; color: var(--text); text-align: center; background: radial-gradient(720px circle at var(--mx, 50%) var(--my, 35%), rgba(54,97,227,.13), transparent 60%); }
.hero::before, .hero .blob { display: none; }
.hero .w { position:relative; z-index:2; display: block; width: min(100%, 1000px); padding-top: clamp(54px, 8vw, 96px); padding-bottom: clamp(68px, 9vw, 120px); }
.hero h1, .ih h1 { max-width: 100%; min-width: 0; overflow: visible; text-wrap: balance; overflow-wrap: normal; word-break: normal; }
.hero h1 { font-size: clamp(38px, 6.6vw, 88px); line-height: 1.13; letter-spacing: -.045em; }
.ih h1 { font-size: clamp(34px, 5.8vw, 72px); line-height: 1.16; letter-spacing: -.04em; }
.hero h1 .gt, .hero h1 em, .ih h1 .gt, .ih h1 em { max-width: 100%; padding-block: .05em .20em; line-height: inherit; overflow-wrap: anywhere; }
.gt, .hero h1 em { background: linear-gradient(90deg, var(--fox), var(--lime)); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; text-shadow: none; }
.gt.u::after, .hero h1 .gt.u::after, .ih h1 .gt.u::after { bottom: .04em; pointer-events: none; }
.hero p { max-width: 34em; margin: 28px auto 36px; color: var(--mute); font-size: clamp(16px, 1.45vw, 20px); }
.hero .r { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; }
.hero .r .btn, .hero .r .wa { min-height: 48px; }
.fl { position: absolute; z-index:0; display:grid; place-items:center; width:clamp(42px, 3.4vw, 56px); height:clamp(42px, 3.4vw, 56px); border-radius:17px; background:#fff; box-shadow:0 14px 34px -18px rgba(30,45,110,.26); opacity:.88; animation:bob 6s ease-in-out infinite; translate:0 0; pointer-events:none; transition:transform .25s ease; }
.fl svg { width: 58%; height: 58%; }
.f1 { left:4%; top:42%; }.f2 { right:4%; top:42%; animation-delay:-2s; }.f3 { left:8%; bottom:12%; animation-delay:-4s; }.f4 { right:8%; bottom:12%; animation-delay:-1s; }.f5 { left:17%; top:15%; width:42px; height:42px; animation-delay:-3s; }

@media (max-width:1100px) { .hero .fl { width:44px; height:44px; border-radius:14px; opacity:.82; } .hero .f1 { left:2%; top:30%; } .hero .f2 { right:2%; top:30%; } .hero .f3 { left:3%; bottom:7%; } .hero .f4 { right:3%; bottom:7%; } .hero .f5 { left:12%; top:10%; } }
@media (max-width:640px) { .hero .fl { width:34px; height:34px; border-radius:11px; opacity:.72; } .hero .fl svg { width:62%; height:62%; } .hero .f1 { left:3%; top:24%; } .hero .f2 { right:3%; top:24%; } .hero .f3 { left:3%; bottom:5%; } .hero .f4 { right:3%; bottom:5%; } .hero .f5 { left:10%; top:7%; width:30px; height:30px; } .hero .w { position:relative; z-index:2; } }

/* Responsive grids: shrink safely instead of forcing the viewport wider. */
.sg, .steps, .bento, .pgrid, .ic, .fs, .fg, .ft, .wmeta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sg, .steps, .bento, .pgrid, .ic, .fs, .fg, .ft, .wmeta { min-width: 0; }
.sg > *, .steps > *, .bento > *, .pgrid > *, .ic > *, .fs > *, .fg > *, .ft > *, .wmeta > * { min-width: 0; }
.pgrid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.bento { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bento .bc.l { grid-column: span 2; }
.steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.row { grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1.2fr) 32px; gap: 16px; }
.row > *, .ps > *, .case-story__item > * { min-width: 0; }
.ps { grid-template-columns: 72px minmax(0, 1.4fr) minmax(0, 1fr); gap: 20px; }
.case-story__item { grid-template-columns: minmax(140px, .62fr) minmax(0, 1.38fr); }
.pc2.feat { min-width: 0; }
.ct .w, .fd .w, .ab .w { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ct form, .ct .w > *, .fd .w > *, .ab .w > * { min-width: 0; }
input, select, textarea { min-width: 0; }
textarea { resize: vertical; }
.uf-consent { display: flex; align-items: flex-start; gap: 10px; min-width: 0; line-height: 1.55; overflow-wrap: anywhere; }
.uf-consent input { flex: 0 0 auto; width: auto; margin-top: .35em; }
.prose { overflow-wrap: anywhere; }
.prose pre, .prose table { max-width: 100%; overflow: auto; }

/* Footer identity is a single centered brand lockup; details remain responsive. */
.footer-brand-row { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; max-width: var(--content-width); margin: 0 auto; padding: 32px var(--site-gutter) 0; text-align: center; }
.footer-mark { display: grid; place-items: center; flex: 0 0 auto; width: 64px; height: 64px; padding: 9px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; color: #fff; background: rgba(255,255,255,.07); transition: transform .2s ease, background .2s ease; }
.footer-mark:hover { transform: translateY(-2px); background: rgba(255,255,255,.12); }
.footer-mark svg, .footer-mark-img { display: block; width: 100%; height: 100%; object-fit: contain; }
.footer-mark-img { border-radius: 8px; }
.footer-brand-copy { display: grid; justify-items: center; gap: 5px; min-width: 0; text-align: center; }
.footer-brand-copy strong { color: #fff; font-size: clamp(22px, 2.2vw, 28px); font-weight: 800; letter-spacing: -.03em; line-height: 1.2; }
.footer-brand-copy span { color: #c7c4df; font-size: 15px; line-height: 1.5; }
.fg { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fg a, .fg span { overflow-wrap: anywhere; }
.fk { padding-inline: var(--site-gutter); }
.fw { display:block; width:100%; max-width:100%; min-width:0; overflow:hidden; overflow-wrap:anywhere; white-space:normal; text-align:center; box-sizing:border-box; font-size:clamp(36px,10vw,148px); line-height:1.02; letter-spacing:-.045em; padding:clamp(24px,3vw,40px) var(--site-gutter) 8px; }
footer .w > div { align-items: center; }
footer .w > div > * { min-width: 0; overflow-wrap: anywhere; }
.sbt { position: fixed; left: 0; top: 50%; z-index: 55; display: grid; gap: 12px; translate: 0 -50%; }
.sbt a { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 0 16px 16px 0; }
.sbt-icon-box { display:grid; place-items:center; width:100%; height:100%; border-radius:inherit; }
.sbt-icon-box img { display:block; width:23px; height:23px; object-fit:contain; }
.sbt-icon-box svg { width:22px; height:22px; }

/* Breakpoints are mobile-first at component boundaries and intentionally singular. */
@media (max-width: 1100px) {
  :root { --header-height: 72px; }
  header .w { gap: 10px; min-height: var(--header-height); border-radius: 22px; padding: 10px 12px; }
  .lt small { display: none; }
  .logo-icon-box { width: 44px; height: 44px; }
  .hire { margin-left: auto; padding: 12px 16px; font-size: 12px; letter-spacing: .05em; }
  .mb { display: inline-flex; }
  header nav#nv { display: none; position: absolute; top: calc(100% + 10px); left: 0; right: 0; z-index: 1001; flex-direction: column; align-items: stretch; max-height: min(70dvh, 520px); overflow-y: auto; overscroll-behavior: contain; margin: 0; padding: 10px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 24px 60px -20px rgba(30,45,110,.3); }
  header nav#nv.o { display: flex; }
  header nav#nv .menu { flex-direction: column; align-items: stretch; gap: 2px; }
  header nav#nv a { padding: 14px 16px; font-size: 15px; white-space: normal; overflow-wrap: anywhere; }
  .hero .w { padding-top: 56px; padding-bottom: 76px; }
  .hero p { font-size: 17px; }
  .hero .r .btn, .hero .r .wa { padding: 15px 24px; font-size: 16px; }
  .ab .w, .ct .w, .fd .w, .lay { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ab .st, .lay aside { position: static; }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .row { grid-template-columns: 44px minmax(0, 1fr) 28px; }
  .row p { display: none; }
  .ps { grid-template-columns: 64px minmax(0, 1fr); }
  .ps .ro { grid-column: 2; }
  .pc2.feat { flex-direction: column; }
  .pc2.feat .pim { min-height: 0; aspect-ratio: 16 / 10; }
  .pc2.feat .pbd { padding: 28px; }
  .sbt { left:8px; gap:9px; }
  .sbt a { width:42px; height:42px; border-radius:13px; }
  .sbt-icon-box img,.sbt-icon-box svg { width:20px; height:20px; }
}
@media (max-width: 782px) {
  .admin-bar header { top: calc(46px + env(safe-area-inset-top, 0px)); }
}
@media (max-width: 640px) {
  :root { --site-gutter: 18px; --header-height: 64px; }
  header { padding: 8px 8px 0; }
  header .w { min-height: var(--header-height); padding: 8px 9px; gap: 7px; border-radius: 18px; }
  .logo { gap: 8px; }
  .logo-icon-box { width: 40px; height: 40px; border-radius: 12px; }
  .lt b { font-size: clamp(15px, 4vw, 18px); }
  .hire { padding: 11px 12px; font-size: 11px; letter-spacing: .03em; }
  .mb { width: 40px; height: 40px; border-radius: 12px; }
  header nav#nv { left: 0; right: 0; top: calc(100% + 8px); max-height: min(68dvh, 480px); }
  html { scroll-padding-top: 82px; }
  section { padding-block: 64px; }
  .hero .w { padding-top: 48px; padding-bottom: 64px; }
  .hero h1 { font-size: clamp(34px, 9vw, 54px); line-height: 1.16; letter-spacing: -.04em; }
  .ih { padding: 42px 0 28px; }
  .ih h1 { font-size: clamp(31px, 8.5vw, 48px); line-height: 1.18; }
  .hero h1 .gt, .hero h1 em, .ih h1 .gt, .ih h1 em { padding-block: .04em .24em; }
  .hero p, .ih .lead, .prose { font-size: 16px; }
  .tag { max-width: 100%; padding: 8px 14px; font-size: 11px; line-height: 1.5; }
  .hero .r { flex-direction: column; align-items: stretch; gap: 12px; }
  .hero .r .btn, .hero .r .wa { width: 100%; justify-content: center; padding: 15px 18px; text-align: center; }
  .sg, .steps, .bento, .fg, .ft, .fb, .fs, .pnav, .uf-recovery__links { grid-template-columns: minmax(0, 1fr); }
  .bento .bc.l { grid-column: auto; }
  .ps { grid-template-columns: 1fr; gap: 14px; padding: 22px; }
  .ps > b { font-size: 36px; }
  .ps .ro { grid-column: auto; }
  .ps:hover { transform: none; }
  .row { grid-template-columns: 36px minmax(0, 1fr) 24px; gap: 10px; padding: 22px 4px; }
  .row h3 { font-size: clamp(21px, 6vw, 28px); }
  .pr { grid-template-columns: 42px minmax(0, 1fr); }
  .case-story__item { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 22px; }
  .pc2.feat .pbd { padding: 22px; }
  .pnav .nx { text-align: left; }
  .sh { align-items: flex-start; }
  .sh .btn { width: 100%; text-align: center; }
  .abox { flex-direction: column; align-items: flex-start; }
  .fph { max-width: 100%; }
  .fs { gap: 10px; }
  .footer-brand-row { padding-top: 26px; }
  .fg { gap: 24px; }
  .fk { line-height: 1.7; }
  footer .w > div { flex-direction: column; align-items: center; text-align: center; }
  .sbt { left:7px; gap:8px; }
  .sbt a { width:40px; height:40px; border-radius:12px; }
  .sbt-icon-box img,.sbt-icon-box svg { width:19px; height:19px; }
  .mq { font-size: 13px; padding-block: 16px; }
  .mq span { margin-inline: 18px; }
  .big div { -webkit-text-stroke-width: 1.5px; }
  .cb { border-radius: 22px; }
  .ct .w { gap: 28px; }
  .fw { font-size: clamp(44px, 15vw, 80px); letter-spacing: -.04em; }
  .ct .w, .fd .w { padding-inline: var(--site-gutter); }
  .uf-consent { font-size: 12px; }
}
@media (max-width: 380px) {
  .lt { display: none; }
  .hire { padding-inline: 10px; }
  .hero h1 { font-size: 32px; }
  .ih h1 { font-size: 30px; }
  .w { padding-inline: 16px; }
}
@media (hover: none), (pointer: coarse) {
  #cur, #cd { display: none; }
  .cs:hover, .sc2:hover, .pc2:hover, .ps:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms; animation-iteration-count: 1; transition-duration: .01ms; }
  .rv { opacity: 1; translate: none; }
  #fox, .hero .w > div, .fl { translate: none; }
  .mq, .big { transform: none; }
}


/* v1.1.18 visual repair: highlight clearance, neutral header, FAQ rhythm, outlined display type, centered inline footer lockup. */
.cur-on header, header { background: transparent; color: var(--text); backdrop-filter: none; }
header .w { background: rgba(255,255,255,.96); }
/* Gradient-highlighted words and their decorative underline need breathing room on both edges. */
.gt, .hero h1 em, .ih h1 em {
  display: inline-block;
  position: relative;
  max-width: 100%;
  padding-inline: .09em;
  margin-inline: -.09em;
  overflow: visible;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.gt.u::after, .hero h1 .gt.u::after, .ih h1 .gt.u::after {
  left: .08em;
  right: .08em;
  max-width: calc(100% - .16em);
}
/* Premium outlined display typography: centered, restrained stroke and no clipped glyphs. */
.big { width: 100%; max-width: 100%; overflow: clip; padding: 22px clamp(8px, 2vw, 24px); text-align: center; }
.big div {
  display: inline-block;
  max-width: 100%;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1.25px rgba(92,119,224,.68);
  paint-order: stroke fill;
  text-shadow: 0 1px 0 rgba(255,255,255,.025);
  font-kerning: normal;
  font-size: clamp(42px, 10.5vw, 148px);
  line-height: 1.08;
  letter-spacing: -.035em;
  white-space: nowrap;
  padding: .06em .045em .1em;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}
.fw {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  font-size: clamp(30px, 10.5vw, 148px);
  line-height: 1.08;
  margin-top: clamp(42px, 5vw, 76px);
  letter-spacing: -.045em;
  white-space: nowrap;
  overflow: hidden;
  padding: 12px .04em 8px;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1.2px rgba(226,231,255,.34);
  text-shadow: 0 0 18px rgba(114,131,237,.08);
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
}


/* v1.1.23 component system: footer, hero actions, uploaded marks and contact details */
.uf-footer { position: relative; isolation: isolate; min-width:0; padding: 0 0 max(26px, env(safe-area-inset-bottom, 0px)); background: var(--ink); color: #b9b5dd; overflow: clip; }
.uf-footer-topline { display:flex; justify-content:space-between; gap:16px; width:min(100% - 2 * var(--site-gutter),var(--content-width)); margin-inline:auto; padding:28px 0 0; color:#8f91b4; font-size:12px; letter-spacing:.09em; text-transform:uppercase; }
.uf-footer .fw { pointer-events:none; margin:clamp(34px,5vw,68px) auto clamp(24px,4vw,48px); font-size:clamp(36px,10vw,136px); line-height:1.02; overflow-wrap:anywhere; white-space:normal; -webkit-text-stroke-width:clamp(1px,.12vw,2px); }
.uf-footer-main { display:grid; grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(0,1fr)); gap:clamp(24px,4vw,60px); width:min(100% - 2 * var(--site-gutter),var(--content-width)); margin-inline:auto; align-items:start; }
.uf-footer-intro,.uf-footer-nav,.uf-footer-contact { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:11px; text-align:left; }
.uf-footer .footer-brand-row { width:100%; margin:0; padding:0; justify-content:flex-start; gap:12px; }
.uf-footer .footer-mark { width:48px; height:48px; flex-basis:48px; }
.uf-footer .footer-brand-copy { align-items:flex-start; text-align:left; }
.uf-footer .footer-brand-copy strong { font-size:clamp(19px,1.8vw,24px); }
.uf-footer .footer-brand-copy span { font-size:13px; }
.uf-footer-summary { max-width:28em; margin:8px 0 2px; color:#aaa9c8; line-height:1.7; }
.uf-footer .live { display:flex; align-items:center; gap:9px; margin-top:2px; }
.uf-footer-nav b,.uf-footer-contact b { color:#fff; font-size:15px; margin:0 0 7px; }
.uf-footer-nav a,.uf-footer-nav span,.uf-footer-contact a,.uf-footer-contact p { display:block; margin:0; color:#b9b5dd; text-decoration:none; line-height:1.65; overflow-wrap:anywhere; }
.uf-footer-nav a:hover,.uf-footer-contact a:hover { color:#fff; }
.uf-footer-contact p { max-width:26em; }
.uf-footer-contact .uf-footer-contact-cta { display:inline-flex; align-items:center; gap:12px; margin-top:8px; padding:11px 15px; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#fff; background:rgba(255,255,255,.06); }
.uf-footer-socials { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:8px; }
.uf-footer-socials a { color:#c9c9e3; font-size:13px; text-decoration:none; }
.uf-footer-full-logo { display:inline-flex; max-width:min(100%,260px); }
.uf-footer-full-logo img { display:block; max-width:100%; width:auto; max-height:64px; object-fit:contain; object-position:left center; }
.uf-footer .fk { width:min(100% - 2 * var(--site-gutter),var(--content-width)); margin:34px auto 0; padding:20px 0 0; border-top:1px solid rgba(255,255,255,.12); color:#8587a9; font-size:12px; line-height:1.7; text-align:left; }
.uf-footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; width:min(100% - 2 * var(--site-gutter),var(--content-width)); margin:20px auto 0; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); color:#aaa9c8; font-size:13px; }
.uf-footer-bottom a { color:#d8d8ed; text-decoration:none; }
.uf-hero-custom-icon { display:block; width:40px; height:40px; object-fit:contain; }
.contact-details-section { padding-block:clamp(28px,4vw,54px) clamp(58px,7vw,88px); }
.contact-details-section .w { width:min(100% - 2 * var(--site-gutter),var(--content-width)); margin-inline:auto; }
.contact-details-section .ic { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:18px; align-items:stretch; }
.contact-details-section .location-box { display:flex; min-width:0; height:100%; flex-direction:column; align-items:flex-start; gap:8px; }
.contact-details-section .location-box b { display:block; width:100%; max-width:100%; line-height:1.3; overflow-wrap:anywhere; }
.contact-details-section .location-box span { display:block; width:100%; max-width:100%; margin:0; line-height:1.65; overflow-wrap:anywhere; }
.hero .r .wa { min-width:min(220px,100%); }
.hero .r .wa:empty { display:none; }
@media (max-width:1100px) {
 .uf-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 28px; }
 .uf-footer-intro { grid-column:1/-1; }
 .uf-footer .fw { margin-top:44px; }
}
@media (max-width:640px) {
 .uf-footer-topline { flex-direction:column; gap:5px; font-size:10px; }
 .uf-footer-main { grid-template-columns:minmax(0,1fr); gap:26px; }
 .uf-footer-intro { grid-column:auto; }
 .uf-footer .fw { font-size:clamp(32px,10vw,56px); margin:34px auto 28px; letter-spacing:-.045em; }
 .uf-footer .fk { margin-top:26px; padding-top:18px; }
 .uf-footer-bottom { align-items:flex-start; flex-direction:column; }
 .contact-details-section .ic { grid-template-columns:minmax(0,1fr); }
 .hero .r .wa { min-width:0; }
}
.header-full-logo { display:block; width:auto; max-width:min(220px,32vw); max-height:52px; object-fit:contain; }
.logo-has-full-image { flex:0 1 auto; }
.fl .uf-hero-custom-icon { width:100%; height:100%; object-fit:contain; }

/* v1.1.25: fixed side action buttons use compact rounded-square shells and centered uploaded marks. */
.sbt a { overflow:hidden; }
.sbt-icon-box { overflow:hidden; }
.sbt-icon-box img { max-width:24px; max-height:24px; }
@media (prefers-reduced-motion: reduce) { .sbt a { transition:none; } }


/* v1.1.27: retain the original fixed-button dimensions and shape; apply platform brand colors only. */
.sbt a.w1 {
  color: #fff;
  background: #25D366;
  border: 1px solid rgba(37, 211, 102, .25);
  box-shadow: 0 10px 26px rgba(37, 211, 102, .25);
}
.sbt a.w2 {
  color: #fff;
  background: radial-gradient(circle at 30% 110%, #feda75 0%, #fa7e1e 28%, #d62976 58%, #962fbf 78%, #4f5bd5 100%);
  border: 1px solid rgba(214, 41, 118, .25);
  box-shadow: 0 10px 26px rgba(150, 47, 191, .24);
}
.sbt a.w1:hover { box-shadow: 0 13px 30px rgba(37, 211, 102, .34); }
.sbt a.w2:hover { box-shadow: 0 13px 30px rgba(214, 41, 118, .32); }
.sbt a.w1 .sbt-icon-box, .sbt a.w2 .sbt-icon-box { width: 100%; height: 100%; display: grid; place-items: center; }
.sbt a.w1 .sbt-icon-box svg, .sbt a.w2 .sbt-icon-box svg { width: 25px; height: 25px; color: #fff; stroke: currentColor; }
.sbt a.w1 .sbt-icon-box img, .sbt a.w2 .sbt-icon-box img { width: 25px; height: 25px; object-fit: contain; }


/* Hero floating icons and WhatsApp CTA: component-level behaviour */
.hero { position:relative; isolation:isolate; }
.hero .fl { z-index:1; pointer-events:none; will-change:transform; }
.hero .w { position:relative; z-index:2; }
.hero .r .wa { display:inline-flex; align-items:center; justify-content:center; gap:10px; white-space:normal; }
.hero .r .wa .wa-icon { display:block; flex:0 0 26px; width:26px; height:26px; }
.hero .r .wa .wa-label { display:inline-block; min-width:0; }
@media (max-width:640px) { .hero .r .wa { gap:9px; } .hero .r .wa .wa-icon { flex-basis:24px; width:24px; height:24px; } }

/* v1.1.31: final component rules for visible hero marks and readable WhatsApp CTA. */
.hero { position: relative; }
.hero > .fl { display: grid; visibility: visible; }
.hero .fl { z-index: 1; opacity: .96; }
.hero .fl svg, .hero .fl img { display: block; width: 64%; height: 64%; object-fit: contain; }
.hero .fl .uf-hero-custom-icon { width: 100%; height: 100%; }
.hero .r .wa { color: var(--text); -webkit-text-fill-color: var(--text); background: #fff; min-width: 220px; min-height: 68px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 18px 28px; line-height: 1.25; text-decoration: none; }
.hero .r .wa .wa-label { display: inline-block; visibility: visible; opacity: 1; color: var(--text); -webkit-text-fill-color: var(--text); font-size: 16px; font-weight: 700; line-height: 1.25; white-space: normal; }
.hero .r .wa .wa-icon { display: block; visibility: visible; opacity: 1; flex: 0 0 26px; width: 26px; height: 26px; }
@media (max-width: 1100px) {
  .hero .f1 { left: 2%; top: 42%; }
  .hero .f2 { right: 2%; top: 42%; }
  .hero .f3 { left: 3%; bottom: 8%; }
  .hero .f4 { right: 3%; bottom: 8%; }
  .hero .f5 { left: 8%; top: 12%; }
}
@media (max-width: 640px) {
  .hero .fl { width: 32px; height: 32px; border-radius: 10px; opacity: .92; }
  .hero .f1 { left: 2%; top: 38%; }
  .hero .f2 { right: 2%; top: 38%; }
  .hero .f3 { left: 3%; bottom: 6%; }
  .hero .f4 { right: 3%; bottom: 6%; }
  .hero .f5 { left: 8%; top: 9%; width: 28px; height: 28px; }
  .hero .r .wa { width: 100%; min-width: 0; min-height: 56px; padding: 14px 18px; }
}

/* v1.1.32: canonical social controls and hero CTA presentation. */
.hero { overflow: hidden; }
.hero > .fl { display: grid !important; visibility: visible; opacity: 1; position: absolute; pointer-events: none; }
.hero > .fl svg, .hero > .fl img { display: block; visibility: visible; opacity: 1; }
.hero .w { z-index: 3; }
.hero > .fl { z-index: 2; }
.hero .r .wa { width: auto; min-width: 220px; min-height: 64px; display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 12px; color: var(--text); background: #fff; font-size: 16px; font-weight: 700; line-height: 1.25; padding: 18px 28px; }
.hero .r .wa .wa-label { display: inline !important; visibility: visible !important; opacity: 1 !important; color: var(--text) !important; -webkit-text-fill-color: var(--text) !important; }
.hero .r .wa .wa-icon { display: block !important; flex: 0 0 26px; width: 26px; height: 26px; }
.sbt { display: grid; visibility: visible; opacity: 1; position: fixed; left: max(0px, env(safe-area-inset-left)); top: 50%; transform: translateY(-50%); z-index: 999; gap: 10px; }
.sbt a { display: grid; visibility: visible; opacity: 1; place-items: center; width: 48px; height: 48px; }
.sbt-icon-box, .sbt-icon-box svg, .sbt-icon-box img { display: grid; visibility: visible; opacity: 1; }
@media (max-width: 640px) {
 .hero .r .wa { width: 100%; min-width: 0; min-height: 56px; }
 .hero > .fl.f1 { left: 2%; top: 34%; } .hero > .fl.f2 { right: 2%; top: 34%; }
 .hero > .fl.f3 { left: 3%; bottom: 6%; } .hero > .fl.f4 { right: 3%; bottom: 6%; }
 .hero > .fl.f5 { left: 8%; top: 8%; }
 .sbt { left: max(0px, env(safe-area-inset-left)); gap: 8px; }
 .sbt a { width: 42px; height: 42px; }
}

/* v1.1.33: responsive social controls and configurable hero CTA icon */
.hero > .fl { display:grid; visibility:visible; opacity:.96; pointer-events:none; z-index:1; }
.hero > .fl svg, .hero > .fl img { display:block; width:100%; height:100%; object-fit:contain; }
.hero > .fl .uf-hero-custom-icon { width:100%; height:100%; object-fit:contain; }
.hero .w { position:relative; z-index:3; }
.hero .r .wa { box-sizing:border-box; display:inline-flex; flex-direction:row; align-items:center; justify-content:center; gap:12px; min-width:220px; min-height:60px; max-width:100%; padding:16px 24px; color:var(--text,#101628); -webkit-text-fill-color:var(--text,#101628); background:#fff; line-height:1.25; text-align:center; white-space:normal; }
.hero .r .wa .wa-label { display:inline-block; flex:0 1 auto; min-width:0; visibility:visible; opacity:1; color:inherit; -webkit-text-fill-color:currentColor; font-size:16px; font-weight:700; line-height:1.3; overflow-wrap:anywhere; }
.hero .r .wa .wa-icon { display:block; flex:0 0 26px; width:26px; height:26px; max-width:26px; object-fit:contain; visibility:visible; opacity:1; }
.hero .r .wa .wa-custom-icon { border-radius:0; }
.sbt { box-sizing:border-box; position:fixed; left:max(8px,env(safe-area-inset-left)); top:50%; transform:translateY(-50%); z-index:999; display:grid; gap:10px; visibility:visible; opacity:1; max-height:calc(100dvh - 32px); }
.sbt a { box-sizing:border-box; display:grid; place-items:center; width:48px; height:48px; min-width:44px; min-height:44px; overflow:hidden; }
.sbt-icon-box { display:grid; place-items:center; width:100%; height:100%; }
.sbt-icon-box img { display:block; width:24px; height:24px; object-fit:contain; }
.sbt-icon-box svg { display:block; width:24px; height:24px; }
@media (min-width:1101px) {
 .hero > .fl.f1 { left:8%; top:27%; }
 .hero > .fl.f2 { right:8%; top:27%; }
 .hero > .fl.f3 { left:13%; bottom:12%; }
 .hero > .fl.f4 { right:13%; bottom:12%; }
 .hero > .fl.f5 { left:20%; top:12%; }
}
@media (min-width:641px) and (max-width:1100px) {
 .hero > .fl { width:44px; height:44px; }
 .hero > .fl.f1 { left:3%; top:27%; }
 .hero > .fl.f2 { right:3%; top:27%; }
 .hero > .fl.f3 { left:5%; bottom:9%; }
 .hero > .fl.f4 { right:5%; bottom:9%; }
 .hero > .fl.f5 { left:12%; top:9%; }
 .sbt { left:max(6px,env(safe-area-inset-left)); gap:8px; }
 .sbt a { width:44px; height:44px; }
}
@media (max-width:640px) {
 .hero > .fl { width:30px; height:30px; }
 .hero > .fl.f1 { left:2%; top:32%; }
 .hero > .fl.f2 { right:2%; top:32%; }
 .hero > .fl.f3 { left:3%; bottom:5%; }
 .hero > .fl.f4 { right:3%; bottom:5%; }
 .hero > .fl.f5 { left:7%; top:7%; width:26px; height:26px; }
 .hero .r .wa { width:100%; min-width:0; min-height:54px; padding:13px 16px; gap:9px; }
 .hero .r .wa .wa-label { font-size:15px; }
 .hero .r .wa .wa-icon { flex-basis:24px; width:24px; height:24px; }
 .sbt { left:max(4px,env(safe-area-inset-left)); gap:7px; }
 .sbt a { width:40px; height:40px; min-width:40px; min-height:40px; border-radius:12px; }
 .sbt-icon-box img,.sbt-icon-box svg { width:20px; height:20px; }
}

/* ---- v1.1.34 service content (TOC, in-content image) ---- */
.prose .wp-block-rank-math-toc-block{background:var(--card);border:1.5px solid var(--line);border-radius:20px;padding:22px 28px;margin:0 0 36px}
.prose .wp-block-rank-math-toc-block h2{margin:0 0 12px;font-size:20px}
.prose .wp-block-rank-math-toc-block ul{margin:0;padding-left:20px}
.prose .wp-block-rank-math-toc-block a{text-decoration:none}
.prose figure.wp-block-image{margin:0 0 40px}.prose figure.wp-block-image img{width:100%;height:auto;display:block;border-radius:24px}
.prose h3{scroll-margin-top:96px}.prose h2{scroll-margin-top:96px}
