/* VastuIQ — /contact/ page styles (Oct 2026). Site tokens come from includes/header.php.
   Look: ivory paper + fine gold lines (traditional), clean cards and motion (modern). */
.ct{--ln:rgba(200,150,10,.55);--ln2:rgba(107,26,26,.10);--paper:#FBF6EC;--wa:#25D366;overflow-x:clip;color:var(--td);}
.ct-wrap{max-width:1160px;margin:0 auto;padding:0 20px;}
.ct-narrow{max-width:820px;}
.ct-sec{padding:72px 0;}
.ct-kicker{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sf);margin-bottom:.7rem;}
.ct-c{text-align:center;}
.ct-h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.12;color:var(--mn);margin-bottom:.8rem;}
.ct-h2 em,.ct h1 em{font-style:italic;color:var(--sf);}
.ct-sub{text-align:center;color:var(--tm);margin:0 auto 2rem;}
.ct a{color:inherit;}
.ct svg{flex:none;}

/* buttons */
.ct-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font:600 .95rem 'DM Sans',sans-serif;border-radius:12px;padding:.8rem 1.15rem;cursor:pointer;border:0;transition:transform .15s,box-shadow .2s,background .2s,color .2s;text-decoration:none;line-height:1.2;}
.ct-btn:hover{transform:translateY(-2px);}
.ct-btn:focus-visible,.ct-node:focus-visible,.ct summary:focus-visible{outline:3px solid var(--gd2);outline-offset:3px;}
.ct-btn-gold{background:linear-gradient(135deg,var(--gd),var(--gd2));color:#3A2400;box-shadow:0 8px 20px rgba(200,150,10,.28);}
.ct-btn-line{background:#fff;color:var(--mn);border:1.5px solid rgba(107,26,26,.25);}
.ct-btn-line:hover{border-color:var(--mn);background:var(--mn);color:#fff;}
.ct-btn-wa{background:var(--wa);color:#05331A;box-shadow:0 8px 20px rgba(37,211,102,.28);}
.ct-btn-send{width:100%;background:linear-gradient(135deg,var(--sf),var(--sf2));color:#fff;font-size:1.02rem;padding:1rem;box-shadow:0 10px 24px rgba(212,96,26,.3);}
.ct-btn-send[disabled]{opacity:.7;cursor:wait;transform:none;}

/* ── hero ── */
.ct-hero{position:relative;padding:56px 0 76px;background:
  radial-gradient(700px 420px at 82% 40%,rgba(240,120,48,.13),transparent 65%),
  radial-gradient(600px 400px at 0% 100%,rgba(200,150,10,.10),transparent 60%),
  linear-gradient(var(--paper),var(--iv));}
.ct-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--ln2) 1px,transparent 1px),linear-gradient(90deg,var(--ln2) 1px,transparent 1px);background-size:44px 44px;
  -webkit-mask-image:radial-gradient(70% 80% at 80% 40%,#000,transparent 75%);mask-image:radial-gradient(70% 80% at 80% 40%,#000,transparent 75%);}
.ct-hero-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.ct-eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid rgba(200,150,10,.4);color:var(--mn);font-weight:600;font-size:.86rem;padding:.4rem .85rem;border-radius:99px;margin-bottom:1.1rem;}
.ct-dot{width:8px;height:8px;border-radius:50%;background:var(--sf);box-shadow:0 0 0 4px rgba(212,96,26,.15);}
.ct h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5.4vw,3.8rem);line-height:1.05;color:var(--mn);margin-bottom:1.1rem;letter-spacing:-.01em;}
.ct h1 em{display:block;}
.ct-lead{font-size:1.1rem;line-height:1.7;color:var(--tm);max-width:540px;margin-bottom:1.5rem;}
.ct-facts{list-style:none;padding:0;display:grid;gap:.6rem;}
.ct-facts li{display:flex;align-items:center;gap:.65rem;font-size:.97rem;color:var(--tm);}
.ct-facts svg{width:20px;height:20px;fill:none;stroke:var(--sf);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.ct-facts a{font-weight:600;color:var(--mn);text-decoration:underline;text-decoration-color:rgba(107,26,26,.3);text-underline-offset:3px;}

/* compass */
.ct-compass-box{display:flex;flex-direction:column;align-items:center;}
.ct-compass{position:relative;width:min(440px,100%);aspect-ratio:1;}
.ct-compass-art{width:100%;height:100%;display:block;}
.ct-compass-art .ln{fill:none;stroke:var(--ln);stroke-width:1.4;}
.ct-compass-art .thin{stroke-width:.8;stroke:rgba(200,150,10,.4);}
.ct-compass-art .ticks line{stroke:rgba(107,26,26,.45);stroke-width:1;}
.ct-compass-art .petals path{fill:rgba(255,255,255,.55);stroke:rgba(200,150,10,.55);stroke-width:1;}
.ct-compass-art .spokes line{stroke:rgba(107,26,26,.12);stroke-width:1;stroke-dasharray:3 5;}
.ct-compass-art .needle{transform-origin:200px 200px;animation:ctNeedle 9s ease-in-out infinite;}
.ct-compass-art .hub{fill:#fff;stroke:var(--gd);stroke-width:1.5;}
.ct-compass-art .hub-ring{fill:none;stroke:rgba(212,96,26,.35);stroke-width:1;stroke-dasharray:2 3;}
.ct-compass-art .hub-n{font:700 22px 'Cormorant Garamond',serif;fill:var(--mn);text-anchor:middle;}
.ct-compass-art .hub-t{font:600 8.5px 'DM Sans',sans-serif;letter-spacing:.2em;fill:var(--sf);text-anchor:middle;}
.ct-compass-art .dirs text{font:700 16px 'Cormorant Garamond',serif;fill:var(--mn);text-anchor:middle;}
.ct-compass-art .dirs .sm{font-size:11px;fill:var(--tl);}
@keyframes ctNeedle{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}

.ct-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.25rem;background:none;border:0;padding:0;cursor:pointer;text-decoration:none;font:inherit;z-index:2;}
.ct-node b{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--sf),var(--mn));box-shadow:0 0 0 5px rgba(255,255,255,.9),0 10px 22px rgba(107,26,26,.28);transition:transform .2s,box-shadow .2s;position:relative;}
.ct-node b svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.ct-node b::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(212,96,26,.5);animation:ctPing 2.6s ease-out infinite;}
.ct-node i{font:700 .72rem 'DM Sans',sans-serif;font-style:normal;letter-spacing:.08em;color:var(--mn);background:#fff;border:1px solid rgba(200,150,10,.5);border-radius:99px;padding:.05rem .45rem;}
.ct-node .ct-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);white-space:nowrap;background:var(--mn);color:#fff;font-size:.8rem;font-weight:600;padding:.35rem .65rem;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;}
.ct-node:hover .ct-tip,.ct-node:focus-visible .ct-tip{opacity:1;transform:translate(-50%,0);}
.ct-node-e .ct-tip{left:auto;right:0;transform:translateY(4px);}
.ct-node-e:hover .ct-tip,.ct-node-e:focus-visible .ct-tip{transform:none;}
.ct-node:hover b,.ct-node.on b{transform:scale(1.1);box-shadow:0 0 0 5px #fff,0 14px 28px rgba(107,26,26,.35);}
.ct-node-n{left:50%;top:11%;}
.ct-node-ne{left:78%;top:23%;}
.ct-node-e{left:88%;top:50%;}
.ct-node-nw{left:22%;top:23%;}
.ct-node-ne b::after{animation-delay:.6s;}.ct-node-e b::after{animation-delay:1.2s;}.ct-node-nw b::after{animation-delay:1.8s;}
@keyframes ctPing{0%{transform:scale(1);opacity:.9}80%,100%{transform:scale(1.45);opacity:0}}
.ct-compass-note{margin-top:.5rem;min-height:1.6em;font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-style:italic;color:var(--mn);text-align:center;}

.ct-toran{position:absolute;left:0;bottom:-1px;width:100%;height:22px;fill:#fff;}

/* ── routes ── */
.ct-routes-sec{background:#fff;padding-top:48px;}
.ct-routes{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.ct-route{position:relative;display:flex;flex-direction:column;background:var(--cr);border:1px solid rgba(200,150,10,.28);border-radius:18px;padding:1.3rem 1.2rem 1.25rem;transition:transform .2s,box-shadow .2s,border-color .2s;}
.ct-route::before{content:"";position:absolute;inset:6px;border:1px dashed rgba(200,150,10,.28);border-radius:13px;pointer-events:none;}
.ct-route:hover,.ct-route.on{transform:translateY(-4px);box-shadow:0 18px 40px rgba(74,16,16,.10);border-color:var(--gd);}
.ct-route-top{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.8rem;}
.ct-zone{font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--sf);}
.ct-zone b{color:var(--mn);}
.ct-zone-why{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tl);}
.ct-route h2{font-family:'Cormorant Garamond',serif;font-size:1.45rem;line-height:1.15;color:var(--mn);margin-bottom:.45rem;}
.ct-route p{font-size:.93rem;line-height:1.6;color:var(--tm);margin-bottom:1rem;flex:1;}
.ct-route .ct-btn{align-self:flex-start;position:relative;}
.ct-why{margin:1.6rem auto 0;max-width:820px;text-align:center;font-size:.9rem;color:var(--tl);font-style:italic;}

/* ── form ── */
.ct-form-sec{background:linear-gradient(180deg,#fff,var(--iv));}
.ct-form-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:start;}
.ct-about>p{color:var(--tm);line-height:1.75;margin-bottom:1.6rem;}
.ct-steps{list-style:none;padding:0;margin:0 0 1.6rem;position:relative;}
.ct-steps::before{content:"";position:absolute;left:17px;top:18px;bottom:18px;border-left:2px dotted rgba(200,150,10,.6);}
.ct-steps li{position:relative;display:flex;gap:.9rem;align-items:flex-start;padding:.45rem 0;}
.ct-steps li>span{width:36px;height:36px;border-radius:50%;flex:none;display:grid;place-items:center;background:#fff;border:1.5px solid var(--gd);color:var(--mn);font:700 1.05rem 'Cormorant Garamond',serif;}
.ct-steps b{display:block;color:var(--mn);font-size:.98rem;}
.ct-steps small{color:var(--tl);font-size:.86rem;}
.ct-cards{display:grid;gap:10px;}
.ct-card{display:flex;align-items:center;gap:.85rem;background:#fff;border:1px solid rgba(107,26,26,.10);border-radius:14px;padding:.85rem 1rem;text-decoration:none;transition:border-color .2s;}
a.ct-card:hover{border-color:var(--sf);}
.ct-card svg{width:38px;height:38px;padding:8px;border-radius:10px;background:rgba(212,96,26,.09);fill:none;stroke:var(--sf);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.ct-card small{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tl);}
.ct-card b{color:var(--td);font-size:.98rem;word-break:break-word;}

.ct-form-card{position:relative;background:#fff;border-radius:22px;padding:2rem 1.8rem;box-shadow:0 24px 60px rgba(74,16,16,.12);border:1px solid rgba(200,150,10,.25);}
.ct-form-card::before{content:"";position:absolute;left:24px;right:24px;top:0;height:4px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,var(--gd),var(--sf),var(--mn));}
.ct-form-head h2{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--mn);}
.ct-form-head p{color:var(--tl);font-size:.92rem;margin-bottom:1.2rem;}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ct-field{display:block;margin-bottom:.9rem;}
.ct-field>span{display:block;font-size:.85rem;font-weight:600;color:var(--tm);margin-bottom:.35rem;}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;font:400 1rem 'DM Sans',sans-serif;color:var(--td);background:var(--cr);border:1.5px solid rgba(107,26,26,.14);border-radius:11px;padding:.75rem .85rem;transition:border-color .2s,box-shadow .2s,background .2s;}
.ct-field textarea{resize:vertical;min-height:120px;}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:0;border-color:var(--sf);background:#fff;box-shadow:0 0 0 4px rgba(212,96,26,.12);}
.ct-field .bad{border-color:#C0392B;}
.ct-pay{display:none;}
.ct-pay.on{display:block;animation:ctIn .25s ease;}
.ct-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.ct-err{background:#FDECEA;color:#922B21;border-radius:10px;padding:.65rem .8rem;font-size:.9rem;margin-bottom:.8rem;}
.ct-small{display:flex;gap:.5rem;align-items:flex-start;margin-top:.9rem;font-size:.82rem;color:var(--tl);line-height:1.5;}
.ct-small svg{width:16px;height:16px;fill:none;stroke:var(--tl);stroke-width:1.8;margin-top:2px;}
.ct-small a{text-decoration:underline;}
.ct-done{background:#E8F6EC;color:#1E6B35;border-radius:12px;padding:.8rem 1rem;margin-bottom:1rem;font-size:.95rem;}
.ct-ok{text-align:center;padding:1.5rem .5rem;animation:ctIn .35s ease;}
.ct-ok svg{width:72px;height:72px;fill:none;stroke:#1F7A3D;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;margin-bottom:.6rem;}
.ct-ok svg path{stroke-dasharray:40;stroke-dashoffset:40;animation:ctTick .5s .2s ease forwards;}
.ct-ok h3{font-family:'Cormorant Garamond',serif;font-size:1.9rem;color:var(--mn);}
.ct-ok p{color:var(--tm);margin-top:.4rem;}
.ct-ref b{font-family:monospace;color:var(--mn);}
@keyframes ctTick{to{stroke-dashoffset:0}}
@keyframes ctIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── FAQ ── */
.ct-faq-sec{background:var(--iv);}
.ct-faq details{background:#fff;border:1px solid rgba(107,26,26,.10);border-radius:14px;margin-bottom:10px;transition:border-color .2s,box-shadow .2s;}
.ct-faq details[open]{border-color:rgba(200,150,10,.5);box-shadow:0 10px 26px rgba(74,16,16,.07);}
.ct-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.2rem;font-weight:600;color:var(--mn);}
.ct-faq summary::-webkit-details-marker{display:none;}
.ct-faq summary::after{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:rgba(212,96,26,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%23D4601A' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .2s;}
.ct-faq details[open] summary::after{transform:rotate(180deg);}
.ct-faq-a{padding:0 1.2rem 1.1rem;color:var(--tm);line-height:1.7;font-size:.96rem;}
.ct-faq-a a{color:var(--sf);text-decoration:underline;}

/* ── reveal on scroll (only when JS is running) ── */
.ct-js .ct-rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
.ct-js .ct-rv.in{opacity:1;transform:none;}

/* ── responsive ── */
@media (max-width:1000px){
  .ct-routes{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
  .ct-hero{padding:36px 0 60px;}
  .ct-hero-grid,.ct-form-grid{grid-template-columns:1fr;gap:28px;}
  .ct-compass{width:min(330px,100%);}
  .ct-sec{padding:56px 0;}
}
@media (max-width:560px){
  .ct-routes{grid-template-columns:1fr;}
  .ct-row{grid-template-columns:1fr;gap:0;}
  .ct-form-card{padding:1.6rem 1.15rem;border-radius:18px;}
  .ct-node b{width:46px;height:46px;}
  .ct-node b svg{width:22px;height:22px;}
  .ct-node .ct-tip{display:none;}
  .ct-compass-art .dirs .sm{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .ct-compass-art .needle,.ct-node b::after{animation:none;}
  .ct-js .ct-rv{opacity:1;transform:none;transition:none;}
}
body.hindi .ct-kicker,body.hindi .ct-zone-why,body.hindi .ct-compass-note{letter-spacing:0;text-transform:none;}
