/* Shared Diwali system. Legacy IDs and request handlers remain compatible. */
:root {
  --festival-navy:#090f24; --festival-panel:#11192f; --festival-wine:#3b0d24;
  --festival-gold:#e9be71; --festival-copy:#d5c9b8; --festival-border:#c79a4f70;
  --ink:#090f24; --ink-soft:#11192f; --panel:#11192f; --line:#c79a4f35;
  --line-strong:#c79a4f80; --blue:#bd842c; --blue-bright:#e9be71;
  --cyan:#efcc8d; --monsoon:#e9be71; --storm-blue:#b13d50;
  --offer-glow:#d6a64e22; --text:#fcf4e5; --muted:#c8bfae; --soft:#e1d4bd;
}
*, *::before, *::after { box-sizing:border-box; letter-spacing:0 !important; }
html { background:var(--festival-navy); scroll-padding-top:104px; }
body { margin:0; background:var(--festival-navy); color:var(--text); font-family:"Segoe UI",Arial,sans-serif; }
body :is(h1,h2,h3,h4) { text-wrap:balance; }
body h1 { font-size:64px !important; line-height:1.1; }
body h2 { color:var(--festival-gold); font-size:44px !important; line-height:1.14; font-weight:600; }
body h3 { color:var(--text); font-size:23px !important; line-height:1.3; }
body :is(p,li) { line-height:1.8; }
button,input,select,textarea { font:inherit; }
a,button,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:is(a,button,input,select,textarea):focus-visible { outline:3px solid #f7cf82; outline-offset:4px; }
::selection { background:#9a264a; color:#fff7e5; }
.site-header { padding:0; background:#080e22f7; border-bottom:1px solid var(--festival-border); }
.nav-shell { width:min(1280px,calc(100% - 80px)); min-height:84px; margin:auto; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.brand { width:154px; height:46px; }
.nav-links { gap:30px; }
.nav-links > a:not(.nav-mobile-cta) { color:#f0e6d7; font-size:13px; font-weight:500; }
.nav-links > a:not(.nav-mobile-cta):hover { color:#ffd58c; }
.nav-links > a:not(.nav-mobile-cta)::after { background:#e9be71; }
.nav-cta,.button,.nav-mobile-cta { border:1px solid #dbaf62; border-radius:5px; min-height:49px; font-size:14px; font-weight:650; box-shadow:none; }
.nav-cta { color:#28170c; background:#e6b861; }
.nav-cta:hover { color:#28170c; background:#f3cf88; border-color:#f3cf88; transform:none; }
.button-primary,.nav-mobile-cta { color:#fff4dd; background:#8d1c3d; border-color:#deb46a; box-shadow:inset 0 0 0 2px #7d1d37; }
.button-primary:hover { color:#fff7e5; background:#a82d4b; border-color:#f7d494; box-shadow:inset 0 0 0 2px #7d1d37,0 0 18px #d6a64e22; }
.button-secondary { color:#f4d398; background:#10142be8; border-color:#bc914e; }
.button-secondary:hover { background:#192039; border-color:#e9be71; }
.hero { isolation:isolate; min-height:0; padding:184px 0 48px; background:#090f24; position:relative; }
.hero::before { all:unset; content:""; display:block; position:absolute; inset:84px 0 0; z-index:-1; pointer-events:none; background:url('/diwali-festival-20261104/festival-hero.webp') center top / cover no-repeat; }
.hero::after,.hero-noise,.hero-grid,.hero-visual { display:none !important; }
.hero-layout { display:block; min-height:0; width:min(1280px,calc(100% - 112px)); margin:auto; position:relative; z-index:1; }
.hero-copy { max-width:700px; padding:0; }
.hero h1 { max-width:740px; margin:0; color:#fff8e9; font-size:64px !important; line-height:1.04; font-weight:650; }
.hero h1 .headline-line:first-child { margin-bottom:8px; font-size:36px; }
.headline-line { padding:0 0 5px; }
.headline-accent,.headline-accent > span { color:#e9be71; background:none; -webkit-text-fill-color:currentColor; }
.hero-eyebrow { display:none; }
.hero-intro { max-width:540px; margin:24px 0 0; color:#eadcc7; font-size:16px; line-height:1.8; }
.hero-actions { gap:14px; margin-top:26px; }
.hero-actions .button { min-height:52px; padding:0 24px; font-size:14px; }
.hero-reassurance { flex-wrap:wrap; gap:10px 22px; margin-top:24px; }
.hero-reassurance li { color:#ebddc8; font-size:12px; text-shadow:0 1px 3px #080e22; }
.hero-reassurance li::before { background:#f0c676; box-shadow:none; }
.hero-foot { display:none; position:static; inset:auto; }
.monsoon-hero-chip { background:#0a1024e8; border:1px solid #dab06c80; border-radius:4px; padding:9px 12px; gap:14px; margin-bottom:22px; box-shadow:none; backdrop-filter:none; font-size:10px; }
.monsoon-hero-chip > span { color:#edca8b; }
.monsoon-hero-chip > span i { background:#f0c676; animation:none; box-shadow:none; }
.monsoon-hero-chip strong { color:#f4e7d0; background:transparent; border-left:1px solid #b88e4a66; border-radius:0; padding:1px 0 1px 12px; font-size:10px; }
.monsoon-hero-chip .arrow { color:#e9be71; }
.monsoon-offer { width:100%; margin:0; padding:72px 0 0; color:var(--text); background:#090f24; border:0; border-radius:0; box-shadow:none; overflow:hidden; }
.monsoon-offer::before,.monsoon-offer::after,.monsoon-rain,.monsoon-grid { display:none; }
.monsoon-shell { width:100%; margin:0 auto; }
.monsoon-heading,.monsoon-plans { width:min(1280px,calc(100% - 80px)); margin-left:auto; margin-right:auto; }
.monsoon-heading { display:grid; grid-template-columns:1fr .85fr; align-items:end; gap:70px; margin-bottom:42px; }
.monsoon-heading h2,.monsoon-heading h2:first-line { color:#e9be71; font-size:44px !important; line-height:1.14; }
.monsoon-live-chip { color:#eccc92; background:#141a30; border:1px solid #b68a4355; border-radius:4px; padding:8px 10px; margin-bottom:21px; font-size:10px; }
.monsoon-live-chip > span { background:#f0c676; box-shadow:none; animation:none; }
.monsoon-intro { padding-bottom:4px; }
.monsoon-intro p { color:#dbd0bd; font-size:15px; line-height:1.9; }
.monsoon-intro strong,.monsoon-intro a,.monsoon-intro a .arrow { color:#f0c676; }
.monsoon-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; scroll-margin-top:110px; }
.monsoon-plan { isolation:isolate; position:relative; display:flex; flex-direction:column; min-height:570px; padding:40px 32px 55px; color:#fcf4e5; background:#10172d; border:1px solid #d2a35e; border-radius:7px; box-shadow:none; overflow:hidden; }
.monsoon-plan::before { display:none; }
.monsoon-plan::after,.monsoon-plan.has-discount::after { content:""; display:block; position:absolute; inset:0; z-index:-1; pointer-events:none; background:url('/diwali-festival-20261104/festival-frame.webp') center / 100% 100% no-repeat; opacity:.74; transform:none; animation:none; width:auto; height:auto; }
.monsoon-plan.is-featured,.monsoon-plan.is-selected { background:#3c1028; border-color:#f6d18b; padding:40px 32px 55px; box-shadow:0 0 0 1px #dbad5a55,0 10px 30px #0003; transform:none; }
.monsoon-plan:hover { border-color:#ffe3ac; transform:translateY(-2px); }
.plan-selection { align-self:flex-start; min-height:15px; color:#d7bc91; font-size:10px; }
.plan-selection > i { border-color:#e7bc72; }
.monsoon-plan.is-selected .plan-selection { color:#f4cf8b; }
.monsoon-plan.is-selected .plan-selection > i { background:#edc57c; box-shadow:none; }
.plan-topline { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:9px; color:#fff3dd; margin-top:25px; font-size:17px; }
.plan-topline em { color:#f8d89e; background:#681a35; border:1px solid #be934e; border-radius:2px; padding:6px 9px; font-size:9px; }
.plan-price { min-height:86px; margin-top:18px; gap:8px; }
.plan-price strong { color:#f1c77e; font-size:40px !important; font-weight:620; }
.plan-price small { color:#edcf9c; font-size:9px; }
.plan-price del { color:#b9a78f; font-size:12px; }
.monsoon-plan > b { color:#fff0d6; font-size:17px; margin-top:23px; line-height:1.45; }
.plan-copy { color:#d3c5b2; font-size:13px; line-height:1.8; margin:11px 0 25px; }
.plan-features { display:flex; flex-direction:column; gap:11px; margin-top:auto; padding-top:24px; border-color:#d1a76740; }
.plan-features > span { color:#e0d3be; font-size:12px; line-height:1.55; }
.plan-features i { color:#e9be71; }
.monsoon-console { isolation:isolate; color:var(--text); background:#3b0d24; border:0; border-top:1px solid #d2a35e88; border-radius:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); min-height:650px; margin:74px 0 0; padding:35px max(40px,calc((100% - 1280px) / 2)) 55px; position:relative; overflow:hidden; box-shadow:none; backdrop-filter:none; }
.monsoon-console::before { content:""; z-index:-1; position:absolute; inset:0; background:url('/diwali-festival-20261104/festival-ornaments.webp') center / 100% 100% no-repeat; opacity:.6; pointer-events:none; }
.monsoon-readout { padding:35px 35px 30px 0; background:none; border-right:1px solid #c7975933; }
.monsoon-readout h3 { color:#efc680; font-size:31px !important; line-height:1.2; }
.monsoon-readout .eyebrow { color:#ebc992; font-size:10px; }
.selected-plan-readout { margin-top:28px; border-color:#d2a36844; }
.selected-plan-readout span { color:#d2bca0; font-size:10px; }
.selected-plan-readout strong,.selected-plan-readout b { color:#f2d8ab; font-size:14px; }
.signal-list > span { color:#decaaf; font-size:12px; }
.signal-list i { color:#f1c77e; }
.monsoon-result,.monsoon-result.is-visible { background:#240e21e8; color:#ffefd5; border:1px solid #c99d5c; border-radius:6px; min-height:190px; opacity:1; margin-top:28px; padding:26px; box-shadow:none; transform:none; }
.monsoon-result :is(p,small),.result-prompt { color:#ddc8aa; }
.monsoon-result :is(strong,h4),.result-discount { color:#f2c77c; }
.result-label,.result-kicker,.result-code,.offer-code,.monsoon-result > span { color:#f1d19a; }
.result-prompt > span { color:#edc785; border-color:#c79a4f80; }
.result-error > span { color:#ffda96; border-color:#d7a65699; }
.result-error a { color:#f3d8a6; }
.monsoon-result :is(code,input) { color:#f5daae; background:#42132b; border-color:#c79a4f66; }
.monsoon-terms { color:#d3baa1; font-size:11px; line-height:1.9; }
.wheel-stage { --wheel-size:366px; --wheel-label-radius:128px; min-width:0; min-height:590px; isolation:isolate; place-items:center; display:grid; position:relative; }
.wheel-stage::before,.wheel-stage.is-winning::before { all:unset; content:""; display:block; position:absolute; z-index:0; width:520px; max-width:98%; aspect-ratio:1; height:auto; background:url('/diwali-festival-20261104/festival-mandala.webp') center / contain no-repeat; border:0; border-radius:0; animation:none; pointer-events:none; }
.wheel-stage::after,.wheel-atmosphere { display:none; }
.discount-wheel { z-index:1; background:repeating-conic-gradient(from -22.5deg,#edca8b88 0deg .6deg,transparent .6deg 45deg),conic-gradient(from -22.5deg,#681c3b 0 12.5%,#17483b 12.5% 25%,#8a3449 25% 37.5%,#775024 37.5% 50%,#6b2347 50% 62.5%,#164238 62.5% 75%,#9a3c4c 75% 87.5%,#7f5029 87.5% 100%); border:2px solid #e6ba67; box-shadow:0 0 0 5px #4b1429,0 0 0 7px #e9be7190,0 15px 35px #0004; }
.discount-wheel::before { border-color:#edcc8d66; box-shadow:none; }
.discount-wheel::after { background:none; box-shadow:none; }
.wheel-label strong { color:#fff0d0; font-size:25px; }
.wheel-label small { color:#efdbb7; }
.wheel-pointer { z-index:8; top:calc(50% - var(--wheel-size) / 2 - 13px); left:50%; width:0; height:0; background:none; border:12px solid transparent; border-top:25px solid #ffe0a2; border-bottom:0; filter:drop-shadow(0 2px 3px #47102a); transform:translateX(-50%); }
.wheel-pointer::before,.wheel-pointer::after,.wheel-pointer > span { display:none; }
.spin-trigger { z-index:7; width:108px; color:#fff1d8; background:#6c1937; border:2px solid #e3b76a; box-shadow:0 0 0 5px #33102299,inset 0 0 0 3px #572033; }
.spin-trigger > span { color:#f1cf91; font-size:10px; }
.spin-trigger strong { color:#fff1d8; font-size:12px; }
.spin-trigger:hover:not(:disabled) { background:#8e2644; transform:none; box-shadow:0 0 0 5px #e0b36533; }
.spin-description { color:#e3c5a2; font-family:inherit; font-size:11px; line-height:1.6; bottom:12px; }
.proof-band { padding:20px 0; background:#0a1024; border-color:#c79a4f66; }
.proof-track { width:min(1280px,calc(100% - 80px)); margin:auto; display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; color:#d8c6a8; font-size:10px; animation:none; }
.proof-track i { background:#dcb56f; box-shadow:none; }
.section { width:100%; max-width:none; margin:0; padding:90px max(40px,calc((100% - 1280px) / 2)); background:#090f24; position:relative; overflow:hidden; border-top:1px solid #c79a4f33; }
.reveal { opacity:1; transform:none; transition:none; }
.section-heading { gap:60px; margin-bottom:40px; }
.section-lead,.about-copy p,.home-service-intro p { color:#d0c3af; font-size:15px; line-height:1.9; }
.eyebrow { color:#cdb692; font-size:11px; }
.eyebrow > span { background:#d9af67; box-shadow:none; }
.projects { gap:23px; }
.project-card { color:#f9eedc; background:#10172a; border:1px solid #b68a4b; border-radius:7px; min-height:620px; box-shadow:none; }
.project-card::before { display:none; }
.project-card:hover { border-color:#e5bc76; transform:none; }
.project-index { color:#eac783; font-size:11px; }
.project-copy h3 { color:#faecd3; }
.project-copy p,.project-meta { color:#d0c2ac; }
.project-meta span { color:#e0c698; border-color:#aa824955; background:transparent; border-radius:4px; }
.project-outcome { border-color:#c79a4f44; color:#c9b797; }
.project-outcome strong { color:#eed2a0; }
.project-art { background-color:#0b1327; }
.commerce-orbit,.brand-disc { display:none; }
.project-art-brand .brand-word { color:#f6dfa9; text-shadow:none; }
.project-art-brand { background:#10162b; }
.manifesto { width:100%; min-height:420px; padding:95px max(40px,calc((100% - 1280px) / 2)) 110px; color:#eed1a0; border-top:1px solid #ba914d; border-bottom:1px solid #ba914d; background:#25112c url('/diwali-festival-20261104/festival-ornaments.webp') center / 100% 100% no-repeat; }
.manifesto-orbit { display:none; }
.manifesto-statement,.manifesto-statement span { color:#ecc48a; background:none; -webkit-text-fill-color:currentColor; font-size:43px; }
.manifesto .eyebrow,.manifesto-note { color:#dcc6a8; }
.capabilities-section { padding-bottom:125px; background:#390d25 url('/diwali-festival-20261104/festival-ornaments.webp') center / 100% 100% no-repeat; }
.capabilities-section .section-lead { padding-right:70px; }
.capability { min-height:145px; border-color:#cfa45b44; background:transparent; gap:22px; }
.capability:hover { background:#d0a0540a; }
.capability h3 { color:#f1d7a6; font-size:22px !important; }
.capability p,.capability li { color:#dcc8b0; font-size:13px; }
.capability-number { display:grid; place-items:center; width:47px; height:47px; border:2px solid #d4a651; border-radius:50%; color:#f5d495; background:#5c1830; box-shadow:0 0 0 4px #b78b4240; font-size:13px; }
.capability-arrow { color:#f3cf88; border-color:#c4995080; background:#56142c; }
.home-service-portfolio { padding-bottom:125px; background:#090f24 url('/diwali-festival-20261104/festival-ornaments.webp') center / 100% 100% no-repeat; }
.home-service-portfolio .home-service-intro { padding-right:60px; }
.home-service-intro { max-width:530px; }
.home-service-intro > a { display:inline-flex; gap:10px; color:#efc980; font-size:14px; margin-top:18px; }
.home-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.home-service-card { display:flex; flex-direction:column; min-width:0; min-height:270px; padding:25px 22px; color:#fff1d9; background:#11192e; border:1px solid #ba914d88; border-radius:6px; text-decoration:none; }
.home-service-card > span { color:#e6bd75; font-size:11px; }
.home-service-card h3 { color:#f4d29a; font-size:19px !important; line-height:1.4; margin:18px 0 12px; }
.home-service-card p { color:#d0c0aa; font-size:13px; line-height:1.8; margin:0 0 22px; }
.home-service-card > strong,.home-service-card > b,.home-service-card > small { margin-top:auto; color:#f0cc8b; font-size:12px; }
.home-service-card:hover { border-color:#f0c676; background:#181e34; }
.approach-section { padding-bottom:120px; background:#0d1328 url('/diwali-festival-20261104/festival-ornaments.webp') center / 100% 100% no-repeat; }
.approach-section .approach-step:first-child { padding-right:65px; }
.approach-intro { padding-right:36px; }
.approach-step { border-color:#bd944c44; padding-top:28px; padding-bottom:28px; min-height:150px; }
.approach-step h3,.principle h3 { color:#efcf96; font-size:22px !important; }
.approach-step p,.principle p { color:#d0c2ae; font-size:14px; }
.approach-step > span { color:#f4d598; background:#681b35; border:1px solid #d7aa59; box-shadow:0 0 0 4px #c5984430; }
.about-section { background:#0a1025; }
.about-lead { color:#f1d8ad !important; }
.principle { border-color:#bd944c44; }
.faq-section { background:#0d1329; }
.faq-item { border-color:#bc934b50; }
.faq-item button { color:#f2dbb7; font-size:16px; }
.faq-item button > span,.faq-item button i { color:#e9be71; }
.faq-item p,.faq-heading > p { color:#d5c5ae; font-size:14px; }
.contact-section { isolation:isolate; position:relative; overflow:hidden; width:100%; margin:0; padding:90px max(40px,calc((100% - 1280px) / 2)) 120px; color:#f4dfbc; background:#310d24; border:0; border-top:1px solid #bc934b99; border-radius:0; box-shadow:none; }
.contact-section::before { content:""; position:absolute; z-index:-1; inset:0; background:url('/diwali-festival-20261104/festival-ornaments.webp') center / 100% 100% no-repeat; opacity:.35; pointer-events:none; }
.contact-glow { display:none; }
.contact-copy > p { color:#dbc9ae; }
.contact-copy > a { color:#f2ce89; }
.contact-form { border:0; border-radius:0; background:transparent; padding:0; margin:0; box-shadow:none; backdrop-filter:none; }
.contact-form label > span { color:#ead1a9; font-size:11px; }
.contact-form input,.contact-form textarea,.contact-form select { background:#140f23; color:#fcf0d8; border:1px solid #a77a4299; border-radius:5px; font-size:14px; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#b7a690; }
.contact-form :is(input,textarea,select):focus { background:#1d1229; border-color:#e6b969; box-shadow:0 0 0 3px #dcb56f22; }
.contact-form select { color-scheme:dark; }
.form-note,.form-status { color:#d5bd9e; font-size:12px; }
.form-offer-summary { color:#efc980; background:#211024; border:1px solid #c79a4f99; border-radius:6px; box-shadow:none; }
.form-offer-summary > span,.form-offer-summary > strong,.form-offer-summary code { color:#f0cf91; }
.form-offer-summary code { background:#45132b; border-color:#b98d4a80; }
.form-offer-summary small { color:#d7c2a3; }
.site-footer { max-width:none; width:100%; margin:0; padding:65px max(40px,calc((100% - 1280px) / 2)) 25px; background:#080e21; border-top:1px solid #bd954d66; }
.footer-main { display:grid; grid-template-columns:170px minmax(180px,.75fr) minmax(0,1.75fr); gap:36px; }
.footer-main > *, .footer-links > * { min-width:0; }
.footer-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.footer-links a { white-space:normal; overflow-wrap:anywhere; line-height:1.65; }
.footer-main p,.footer-links a,.footer-bottom { color:#cdbda5; }
.footer-links > span,.footer-links > strong,.footer-capability-links > span { color:#edc783; }
.footer-links a:hover,.footer-capability-links a:hover { color:#f6d58e; }
.footer-bottom { border-color:#be944c44; }
.floating-contact,.sticky-offer,.floating-offer,.mobile-offer { color:#f5d49b; background:#631b33; border-color:#c79a4f; }
.inner-hero { padding-top:155px; padding-bottom:65px; min-height:0; background:#090f24; border-color:#b88e4a55; }
.inner-hero h1 { color:#edc885; font-size:58px !important; }
.inner-hero h1 span { color:#edc885; background:none; -webkit-text-fill-color:currentColor; }
.inner-hero { background:#090f24 url('/diwali-festival-20261104/festival-ornaments.webp') center / 100% 100% no-repeat; }
.inner-hero-copy { padding-right:50px; }
.inner-hero-visual { filter:sepia(.7) saturate(.65); }
.inner-hero-intro,.inner-section p { color:#d2c3ad; }
.inner-hero-grid,.inner-hero-glow { display:none; }
.inner-section { background:transparent; padding-top:80px; padding-bottom:80px; }
.inner-page { background:#090f24; }
.inner-cta { width:100%; margin:0; padding-top:85px; padding-bottom:100px; background:#350d25 url('/diwali-festival-20261104/festival-ornaments.webp') center / 100% 100% no-repeat; border:0; border-radius:0; box-shadow:none; }
.inner-cta p { color:#ddc7aa; }
.monsoon-route-panel { background:#221027; border-color:#bc934b; border-radius:6px; box-shadow:none; }
.inner-page :is(.service-card,.service-portfolio-card,.portfolio-card,.pricing-card,.plan-card,.blog-card,.process-card,.value-card) { background-color:#11192e; border-color:#bc934b88; border-radius:6px; box-shadow:none; }
@media (max-width:1100px) {
  .footer-main { grid-template-columns:150px minmax(0,1fr); }
  .footer-links { grid-column:1 / -1; }
  .nav-links { gap:20px; }
  .hero h1 { font-size:59px !important; }
  .hero-copy { max-width:610px; }
  .hero::before { background-position:58% top; }
  .plan-topline { flex-direction:column; align-items:flex-start; }
  .monsoon-plan,.monsoon-plan.is-selected { padding:40px 27px 55px; }
  .plan-price strong { font-size:35px !important; }
  .wheel-stage { --wheel-size:310px; --wheel-label-radius:109px; }
  .wheel-stage::before { width:435px; }
  .home-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .capabilities-section .section-lead,.home-service-portfolio .home-service-intro { padding-right:45px; }
  body h1 { font-size:48px !important; }
  body h2,.monsoon-heading h2 { font-size:35px !important; }
  .nav-shell { width:calc(100% - 36px); min-height:74px; }
  .brand { width:139px; height:43px; }
  .menu-button { color:#f0cc88; background:#182037; border:1px solid #c99a4f; border-radius:4px; }
  .menu-button > span { background:#f0cf91; }
  .nav-links { background:#10182e; border:1px solid #b88e4a88; border-radius:5px; }
  .nav-links > a:not(.nav-mobile-cta) { border-color:#b88e4a33; color:#f0dfbf; }
  .nav-mobile-cta { background:#8d1c3d; color:#fff0d5; border-color:#dcb56f; border-radius:4px; }
  .hero { padding:155px 0 70px; }
  .hero::before { top:74px; background-position:38% top; }
  .hero-layout { width:calc(100% - 48px); }
  .hero h1 { font-size:51px !important; }
  .hero h1 .headline-line:first-child { font-size:32px; }
  .hero-intro { max-width:440px; font-size:15px; }
  .hero-actions { gap:11px; }
  .monsoon-heading,.monsoon-plans { width:calc(100% - 40px); }
  .monsoon-offer { padding-top:55px; }
  .monsoon-heading { grid-template-columns:1fr; gap:24px; margin-bottom:32px; }
  .monsoon-intro a { margin-top:16px; }
  .monsoon-plans { grid-template-columns:1fr; gap:24px; }
  .monsoon-plan,.monsoon-plan.is-selected { min-height:0; padding:48px 35px 65px; }
  .plan-topline { flex-direction:row; align-items:center; font-size:18px; }
  .plan-price strong { font-size:39px !important; }
  .plan-features { margin-top:20px; }
  .monsoon-console { grid-template-columns:1fr; margin:55px 0 0; padding:45px 25px 70px; }
  .monsoon-readout { padding:0 0 30px; border-right:0; border-bottom:1px solid #bd914755; }
  .monsoon-readout h3 { font-size:30px !important; }
  .wheel-stage { --wheel-size:340px; --wheel-label-radius:119px; min-height:520px; }
  .wheel-stage::before { width:475px; }
  .proof-track { width:calc(100% - 40px); justify-content:flex-start; gap:14px 24px; font-size:9px; }
  .proof-track i { display:none; }
  .section { width:100%; padding:65px 25px; }
  .section-heading { gap:25px; margin-bottom:30px; }
  .section-lead,.about-copy p,.home-service-intro p { font-size:14px; }
  .project-card { min-height:490px; }
  .manifesto { min-height:370px; padding:75px 28px 100px; }
  .manifesto-statement,.manifesto-statement span { font-size:33px; }
  .capabilities-section { padding-bottom:110px; }
  .capability { gap:18px; }
  .capability h3 { font-size:21px !important; }
  .capability-number { width:38px; height:38px; }
  .home-service-card { min-height:260px; }
  .approach-intro { padding-right:0; }
  .contact-section { padding:70px 25px 105px; }
  .site-footer { padding:55px 25px 105px; }
  .footer-main { grid-template-columns:1fr; gap:30px; }
  .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-capability-links { grid-column:1 / -1; }
  .inner-hero { padding-top:130px; }
  .inner-hero h1 { font-size:43px !important; }
  .inner-section { padding-top:60px; padding-bottom:60px; }
}
@media (max-width:480px) {
  .hero { min-height:740px; padding:149px 0 140px; }
  .hero::before { background-image:url('/diwali-festival-20261104/festival-hero-mobile.webp'); background-size:cover; background-position:center top; }
  .hero-layout { width:calc(100% - 40px); }
  .hero h1 { font-size:42px !important; }
  .hero h1 .headline-line:first-child { font-size:28px; margin-bottom:6px; }
  .hero-intro { margin-top:20px; font-size:14px; line-height:1.85; }
  .hero-actions { margin-top:24px; gap:11px; }
  .hero-actions .button { min-height:48px; padding:0 15px; font-size:13px; }
  .hero-reassurance { gap:9px 16px; margin-top:22px; }
  .hero-reassurance li { font-size:10px; }
  .monsoon-hero-chip { gap:10px; padding:9px; margin-bottom:21px; font-size:9px; }
  .monsoon-hero-chip strong { padding-left:10px; font-size:9px; }
  .monsoon-hero-chip .arrow { display:none; }
  body h2,.monsoon-heading h2 { font-size:31px !important; }
  .monsoon-offer { padding-top:45px; }
  .monsoon-heading,.monsoon-plans { width:calc(100% - 36px); }
  .monsoon-plan,.monsoon-plan.is-selected { padding:48px 30px 65px; }
  .plan-topline { font-size:17px; }
  .plan-topline em { font-size:8px; }
  .plan-price strong { font-size:36px !important; }
  .plan-features { grid-template-columns:1fr; }
  .monsoon-console { padding:35px 22px 65px; }
  .monsoon-readout h3 { font-size:27px !important; }
  .monsoon-result { padding:22px; }
  .wheel-stage { --wheel-size:242px; --wheel-label-radius:83px; min-height:390px; }
  .wheel-stage::before { width:338px; }
  .wheel-label strong { font-size:19px; }
  .wheel-label small { font-size:7px; }
  .spin-trigger { width:84px; }
  .spin-trigger > span { font-size:8px; }
  .spin-trigger strong { font-size:10px; }
  .spin-description { bottom:4px; font-size:10px; }
  .section { padding-left:21px; padding-right:21px; }
  .home-service-grid { grid-template-columns:1fr; gap:16px; }
  .home-service-card { min-height:230px; padding:24px; }
  .home-service-card h3 { margin-top:14px; }
  .manifesto { padding-left:24px; padding-right:24px; }
  .manifesto-statement,.manifesto-statement span { font-size:29px; }
  .capability { grid-template-columns:42px minmax(0,1fr); gap:12px; }
  .capability-number { width:32px; height:32px; font-size:11px; }
  .capability h3 { font-size:20px !important; }
  .contact-section { padding-left:22px; padding-right:22px; }
  .footer-main { gap:30px; }
  .inner-hero-copy { padding-right:20px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; }
}
