/* iPhone (Safari) vs Android (Chrome) consistency. Loaded last. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
*{-webkit-tap-highlight-color:transparent}
/* Safari clips overflow+rounded corners wrongly when 3D children are preserved: keep cards flat */
.ap-cat,.sh-cardw{transform-style:flat!important;-webkit-transform-style:flat!important}
.ap-cat{isolation:isolate}
/* iOS zooms into inputs smaller than 16px and adds its own inner shadow/rounding */
input,select,textarea,button{font-family:inherit}
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),textarea{-webkit-appearance:none;appearance:none}
button,.ap-btn{-webkit-appearance:none;appearance:none}
@media (max-width:820px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}}
/* notch / gesture bar */
.ap-tabbar{padding-bottom:max(env(safe-area-inset-bottom),6px)}
.apc-fab{margin-bottom:env(safe-area-inset-bottom)}
@media (display-mode:standalone){.ap-header,.site-header{padding-top:env(safe-area-inset-top)}body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}}
/* dynamic viewport height so full-screen panels are not cut by Safari's toolbar */
@supports (height:100dvh){.browse-overlay{height:100dvh}}

/* Coloured quick-nav icons (mobile bottom bar) */
.ap-tabbar svg{box-sizing:content-box;width:22px;height:22px;padding:6px;border-radius:14px;background:var(--ti-bg);color:var(--ti);transition:transform .15s,box-shadow .15s}
.ap-tabbar>*:nth-child(1){--ti:#2F6BFF;--ti-bg:rgba(47,107,255,.12)}
.ap-tabbar>*:nth-child(2){--ti:#F26A1B;--ti-bg:rgba(242,106,27,.13)}
.ap-tabbar>*:nth-child(3){--ti:#8B4BE8;--ti-bg:rgba(139,75,232,.13)}
.ap-tabbar>*:nth-child(4){--ti:#1FA855;--ti-bg:rgba(37,211,102,.16)}
.ap-tabbar>*:nth-child(5){--ti:#E8336D;--ti-bg:rgba(232,51,109,.12)}
.ap-tabbar>*{color:#4b5563}
.ap-tabbar>.active{color:var(--ti)}
.ap-tabbar>.active svg{background:var(--ti);color:#fff;box-shadow:0 4px 0 rgba(0,0,0,.14),0 8px 14px -4px var(--ti)}
.ap-tabbar>*:active svg{transform:scale(.92)}
.ap-tabbar{padding-top:4px}
#genderWrap[hidden],#secWrap[hidden]{display:none!important}
#trWrap[hidden]{display:none!important}
.tr-box{border:1px solid rgba(242,106,27,.35);background:rgba(242,106,27,.06);border-radius:14px;padding:10px 12px 4px;margin:6px 0 10px}
.tr-title{display:block;margin-bottom:6px;font-size:14px}
.tr-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* Smart search suggestions */
.ap-search{position:relative}
.ap-sugg{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:80;background:#fff;color:#1f2937;border-radius:16px;box-shadow:0 18px 40px -10px rgba(10,20,40,.45),0 2px 0 rgba(0,0,0,.05);max-height:min(60vh,420px);overflow:auto;padding:6px;-webkit-overflow-scrolling:touch;text-align:left}
.ap-sugg[hidden]{display:none!important}
.ap-sg{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;background:none;border-radius:12px;text-align:left;font:inherit;color:inherit;cursor:pointer}
.ap-sg:hover,.ap-sg:focus-visible{background:#fff3ea}
.ap-sg span:nth-child(2){flex:1;min-width:0}
.ap-sg b{display:block;font-size:15px;font-weight:700;color:#111827}
.ap-sg small{display:block;font-size:12.5px;color:#6b7280;margin-top:1px}
.ap-sg i{font-style:normal;color:#9ca3af;font-size:20px}
.ap-sg-ic{width:34px;height:34px;border-radius:10px;background:rgba(242,106,27,.12);display:flex;align-items:center;justify-content:center;font-size:17px;flex:none}
.ap-sg-cat .ap-sg-ic{background:rgba(47,107,255,.12)}
.ap-sg-req{border-top:1px dashed #e5e7eb;border-radius:0 0 12px 12px;margin-top:4px}
.ap-sg-req .ap-sg-ic{background:rgba(31,168,85,.14)}
.ap-sg-more{padding:6px 12px;font-size:12px;color:#6b7280}
.ap-search{scroll-margin-top:96px}@media (max-width:820px){.ap-sugg{max-height:min(46vh,340px)}}

/* 3D quick-nav icons: glossy raised keys */
.ap-tabbar>*:nth-child(1){--ti:#2F6BFF;--t-hi:#7FA6FF;--t-lo:#1A45B8}
.ap-tabbar>*:nth-child(2){--ti:#F26A1B;--t-hi:#FFA66B;--t-lo:#B84708}
.ap-tabbar>*:nth-child(3){--ti:#8B4BE8;--t-hi:#BC91FA;--t-lo:#5E2AAE}
.ap-tabbar>*:nth-child(4){--ti:#1FA855;--t-hi:#5FE08E;--t-lo:#12763B}
.ap-tabbar>*:nth-child(5){--ti:#E8336D;--t-hi:#FF7FA6;--t-lo:#A81C49}
.ap-tabbar svg{
  background:linear-gradient(155deg,var(--t-hi) 0%,var(--ti) 55%,var(--t-lo) 130%)!important;
  color:#fff!important;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.25));
  box-shadow:inset 0 2px 1px rgba(255,255,255,.55),inset 0 -3px 4px rgba(0,0,0,.18),0 4px 0 var(--t-lo),0 9px 12px -3px rgba(0,0,0,.35)!important;
  transform:translateY(-2px);
}
.ap-tabbar>.active svg{transform:translateY(-4px) scale(1.06);box-shadow:inset 0 2px 1px rgba(255,255,255,.6),inset 0 -3px 4px rgba(0,0,0,.2),0 5px 0 var(--t-lo),0 14px 18px -4px var(--ti)!important}
.ap-tabbar>*:active svg{transform:translateY(2px);box-shadow:inset 0 2px 2px rgba(0,0,0,.2),0 1px 0 var(--t-lo),0 3px 5px -2px rgba(0,0,0,.3)!important}
.ap-tabbar>*{padding-top:6px}
.ap-tabbar>*>span{margin-top:3px}

/* Phone in "Desktop site" mode / tablets / foldables: viewport is wide but screen is touch -> still show the bottom bar (sized in vw so it stays readable) */
@media (min-width:821px) and (max-width:1400px) and (pointer:coarse){
  .ap-tabbar{display:grid!important;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(255,255,255,.97);border-top:1px solid var(--line,#e5e7eb);padding:1.2vw .6vw calc(1.2vw + env(safe-area-inset-bottom))}
  .ap-tabbar a,.ap-tabbar button{display:flex;flex-direction:column;align-items:center;gap:.7vw;background:none;border:0;font-size:2.7vw;font-weight:600;text-decoration:none;padding:.8vw 0}
  .ap-tabbar svg{width:4.6vw!important;height:4.6vw!important;padding:1.4vw!important;border-radius:2.6vw!important}
  body.ap{padding-bottom:16vw}
  .apc-fab{bottom:19vw!important}
}
.ap-deskhint{position:fixed;left:2vw;right:2vw;top:2vw;z-index:200;background:#0f1b2d;color:#fff;border-radius:2vw;padding:2vw 2.4vw;display:flex;gap:2vw;align-items:center;font-size:2.8vw;box-shadow:0 1vw 3vw rgba(0,0,0,.4)}
.ap-deskhint b{white-space:nowrap}.ap-deskhint span{flex:1}
.ap-deskhint button{background:#F26A1B;color:#fff;border:0;border-radius:1.4vw;padding:1.2vw 3vw;font-size:2.8vw;font-weight:700}

/* ===== Swipeable service cards ===== */
.ap-cat-grid.ap-swipe{display:flex!important;grid-template-columns:none!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:14px!important;padding:8px 6px 16px!important;perspective:none!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;scroll-padding:0 6px}
.ap-cat-grid.ap-swipe::-webkit-scrollbar{display:none}
.ap-swipe>.ap-cat{flex:0 0 92%;max-width:560px;scroll-snap-align:center;animation:none!important}
.ap-swipe>.ap-cat[hidden],.ap-swipe>.ap-cat[style*="display: none"]{display:none!important}
.ap-swipe>.ap-cat .ap-cat-body b{font-size:20px}
.ap-swipe>.ap-cat .ap-cat-body small{font-size:14px}
.ap-swipe>.ap-cat-other{justify-content:center}
@media (min-width:820px){.ap-swipe>.ap-cat{flex-basis:calc(38% - 10px)}}
@media (min-width:1200px){.ap-swipe>.ap-cat{flex-basis:calc(30% - 10px)}}
.ap-swbar{display:flex;align-items:center;justify-content:center;gap:12px;margin:2px 0 6px}
.ap-swbar button{border:0;cursor:pointer;font:inherit}
.ap-swbar .ap-swarrow{width:42px;height:42px;border-radius:50%;background:#0b1630;color:#fff;font-size:22px;line-height:1;display:grid;place-items:center;box-shadow:0 4px 10px rgba(11,22,48,.3)}
.ap-swbar .ap-swarrow:active{transform:scale(.92)}
.ap-swcount{min-width:64px;text-align:center;font-weight:800;color:#0b1630;font-size:15px}
.ap-swbar .ap-swmode{margin-left:6px;padding:9px 14px;border-radius:20px;background:#fff3e8;color:#e8590c;font-weight:800;font-size:13px;border:1px solid #f6c9a8}
.ap-swprog{height:4px;background:#e8ecf4;border-radius:3px;margin:0 6px 10px;overflow:hidden}
.ap-swprog i{display:block;height:100%;width:10%;background:linear-gradient(90deg,#e8590c,#ffb300);border-radius:3px;transition:width .15s}
.ap-swhint{text-align:center;font-size:13px;color:#6b7893;margin:-2px 0 6px}
/* 3D logo mark */
.ap-logo-mark{border-radius:22%;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))!important;transform:none!important}
.ap-brand:hover .ap-logo-mark{transform:translateY(-1px) scale(1.04)!important}

/* ===== Big swipe cards: full portrait photo only ===== */
.ap-cat>.ap-pimg{display:none!important}
.ap-swipe>.ap-cat{flex-basis:92%!important;border-radius:26px;min-height:0}
.ap-cat-grid.ap-swipe>.ap-cat>.ap-pimg{display:block!important;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.ap-swipe>.ap-cat .ap-cat-img{display:none}
.ap-swipe>.ap-cat .ap-cat-body{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);padding:0}
.ap-swipe>.ap-cat .ap-cat-arrow{display:none!important}
.ap-swipe>.ap-cat-other{min-height:0;aspect-ratio:4/5}
.ap-cat-grid.ap-swipe>.ap-cat-other>.ap-pimg{display:none!important}
@media (min-width:820px){.ap-swipe>.ap-cat{flex-basis:calc(34% - 10px)!important}}

/* Services section: whole card visible on phone */
@media (max-width:820px){
 #services{scroll-margin-top:92px;padding-top:18px!important;padding-bottom:20px!important}
 #services .ap-head{margin-bottom:6px!important}
 #services .ap-head-note{display:none!important}
 #services .ap-head h2{font-size:26px!important;line-height:1.15}
 .ap-swhint{margin:0 0 2px!important;font-size:12.5px}
 .ap-cat-grid.ap-swipe{padding-top:4px!important;padding-bottom:10px!important}
 .ap-cat-grid.ap-swipe>.ap-cat{flex-basis:min(92%,calc((100svh - 340px)*.8))!important;max-height:none}
 .ap-cat-grid.ap-swipe>.ap-cat>.ap-pimg{aspect-ratio:4/5;height:auto;max-height:none}
}
@media (max-width:820px){
 .ap-swbar{flex-wrap:wrap;justify-content:flex-start;padding:0 6px;gap:10px 10px;max-width:calc(100% - 150px)}
 .ap-swbar .ap-swmode{margin-left:0}
}

/* partner listing cards */
.ap-plist{padding:6px 0 18px}.ap-plist-note{font-size:13px;color:#5b6b82;margin:4px 2px 12px}
.ap-pcard{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e8ecf3;border-radius:16px;padding:12px;margin-bottom:10px;box-shadow:0 6px 18px rgba(20,35,55,.06)}
.ap-pav{flex:0 0 46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#ef4d09,#ff9a3c);color:#fff;font-weight:900;font-size:20px;display:flex;align-items:center;justify-content:center}
.ap-pinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ap-pinfo b{font-size:16px;color:#172233;line-height:1.2}.ap-pinfo span{font-size:12.5px;color:#5b6b82}.ap-pinfo em{font-style:normal;white-space:nowrap;font-size:12px;color:#12803b;font-weight:700}
.ap-pbtn{background:#1a9e55;color:#fff!important;font-weight:800;font-size:13px;padding:10px 14px;border-radius:12px;text-decoration:none;white-space:nowrap}

/* Pratibha Support */
.pr-wrap{padding:8px 16px 28px}.pr-actions{display:grid;gap:12px;margin:10px 0 18px}
.pr-act{text-align:left;border:0;border-radius:18px;padding:18px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:6px;box-shadow:0 10px 24px rgba(20,35,55,.14)}
.pr-act b{font-size:19px}.pr-act span{font-size:14px;opacity:.95}.pr-a1{background:linear-gradient(135deg,#be123c,#fb7185)}.pr-a2{background:linear-gradient(135deg,#0f766e,#14b8a6)}
.pr-h3{font-size:18px;margin:6px 2px 10px;color:#172233}.pr-hint{font-size:13.5px;color:#5b6b82;margin:4px 2px 12px;line-height:1.45}
.pr-wall{display:grid;gap:12px;margin-bottom:16px}.pr-card{background:#fff;border:1px solid #e8ecf3;border-radius:16px;padding:14px;box-shadow:0 6px 18px rgba(20,35,55,.06)}
.pr-top{display:flex;gap:12px;align-items:center;margin-bottom:8px}.pr-top b{display:block;font-size:16px;color:#172233}.pr-top span{font-size:12.5px;color:#5b6b82}
.pr-card p{margin:6px 0;font-size:14px;line-height:1.45;color:#2b3a50}.pr-need{color:#be123c!important}.pr-card .ap-pbtn{display:inline-block;margin-top:8px;background:#be123c}
.pr-form{display:grid;gap:12px}.pr-form h2{font-size:22px;margin:4px 0 0;color:#172233}.pr-form label{display:grid;gap:6px;font-weight:700;font-size:14px;color:#2b3a50}
.pr-form input,.pr-form select,.pr-form textarea{font:inherit;font-weight:500;padding:12px;border:1px solid #d6dde8;border-radius:12px;background:#fff;width:100%}
.pr-check{grid-template-columns:22px 1fr!important;align-items:start;font-weight:500!important}.pr-check input{width:20px;height:20px;padding:0}
.pr-btn{border:0;background:#f4510b;color:#fff;font-weight:800;font-size:17px;padding:14px 22px;border-radius:14px;cursor:pointer}.pr-btn:disabled{opacity:.6}
.pr-msg{color:#b91c1c;background:#fee2e2;border-radius:10px;padding:10px;font-size:14px;margin:0}
.pr-thanks{text-align:center;padding:40px 10px}.pr-ok{width:72px;height:72px;margin:0 auto 14px;border-radius:50%;background:#16a34a;color:#fff;font-size:40px;line-height:72px}.pr-ref{color:#5b6b82}
/* fallback: photo failed to load -> show normal card with text */
.ap-swipe>.ap-cat.ap-nopimg>.ap-pimg{display:none!important}
.ap-swipe>.ap-cat.ap-nopimg .ap-cat-img{display:block!important}
.ap-swipe>.ap-cat.ap-nopimg .ap-cat-body{position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;padding:14px 18px!important}

/* professional partner card */
.apx-card{background:#fff;border:1px solid #e6ebf3;border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:0 8px 22px rgba(20,35,55,.07)}
.apx-top{display:flex;gap:12px;align-items:center}
.apx-av{flex:0 0 64px;width:64px;height:64px;border-radius:16px;object-fit:cover;background:#eef2f8}
.apx-ini{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ef4d09,#ff9a3c);color:#fff;font-weight:900;font-size:26px}
.apx-info{min-width:0;flex:1}.apx-info h4{margin:0;font-size:18px;line-height:1.2;color:#172233;font-weight:800;text-transform:capitalize;overflow-wrap:anywhere}
.apx-title{margin-top:3px;font-size:14px;font-weight:700;color:#e8520c}
.apx-ver{display:inline-block;margin-top:6px;background:#e7f6ec;color:#0a7a3d;font-weight:800;font-size:11.5px;padding:3px 9px;border-radius:999px}
.apx-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 2px}.apx-chip{background:#f2f5fa;color:#34465f;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px}
.apx-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.apx-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:12px;font-weight:800;font-size:14px;text-decoration:none;text-align:center}
.apx-call{background:#e8520c;color:#fff!important}.apx-wa{background:#fff;color:#128c4a!important;border:1.5px solid #1a9e55}.apx-full{grid-column:1/-1}
.apx-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:9px;border-top:1px dashed #e0e6ef;font-size:12px;color:#7a889c}.apx-foot a{color:#1b6fd1;font-weight:700;text-decoration:none}
