/* ==========================================================
   SR Estates · premium design layer (shared by all public pages)
   Outfit (display) + Manrope (body), royal blue + teal
   ========================================================== */
:root{--sr-ease:cubic-bezier(.16,1,.3,1);--sr-blue:#1D4ED8;--sr-navy:#0B1F3A;--sr-teal:#14B8A6;--sr-teal-soft:#5EEAD4}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Manrope',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--sr-teal);color:var(--sr-navy)}
:focus-visible{outline:2px solid var(--sr-teal);outline-offset:3px}

/* Display type: tight, confident sans */
.cinematic-headline,.about-headline,.sec-title,.about-section-title,.areas-served-title,.pkg-name,.pkg-price,.calc-total-row .calc-work,.calc-total-row .calc-cost,.footer-title,.founder-story-name,.about-cta h2{font-family:'Outfit','Noto Sans',sans-serif!important;letter-spacing:-0.025em}
.cinematic-headline,.about-headline{font-weight:800!important;line-height:1.08!important}
.sec-title,.about-section-title,.areas-served-title{font-weight:700!important}
.stat-num,.hero-stat-num{font-family:'Outfit','Noto Sans',sans-serif!important;letter-spacing:-0.02em;font-weight:700}

/* Eyebrows become small pills with a live dot */
.sec-eyebrow,.about-section-eyebrow,.areas-served-eyebrow{display:inline-flex!important;align-items:center;gap:.5rem;padding:.38rem .85rem .38rem .7rem;border-radius:999px;border:1px solid rgba(20,184,166,.35);background:rgba(20,184,166,.08);letter-spacing:.14em!important;font-size:.7rem!important}
.sec-eyebrow::before,.about-section-eyebrow::before,.areas-served-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sr-teal);box-shadow:0 0 0 0 rgba(20,184,166,.6);animation:srPulse 2.4s var(--sr-ease) infinite}
@keyframes srPulse{0%{box-shadow:0 0 0 0 rgba(20,184,166,.55)}70%{box-shadow:0 0 0 8px rgba(20,184,166,0)}100%{box-shadow:0 0 0 0 rgba(20,184,166,0)}}
.about-section,.areas-served-section,.sec-head{text-align:center}

/* Film grain: takes the digital flatness off */
body::after{content:"";position:fixed;inset:0;z-index:9500;pointer-events:none;opacity:.045;mix-blend-mode:multiply;
  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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Scroll progress line */
.sr-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--sr-blue),var(--sr-teal),var(--sr-teal-soft));pointer-events:none}


/* Reveal on scroll */
.sr-js .sr-rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--sr-ease),transform .9s var(--sr-ease);transition-delay:var(--sr-d,0ms)}
.sr-js .sr-rv.sr-in{opacity:1;transform:none}

/* Spotlight that follows the pointer on cards */
.property-card,.why-card,.pkg-card,.founder-story-card,.contact-card,.person-card{position:relative;isolation:isolate}
.property-card::after,.why-card::after,.pkg-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;opacity:0;transition:opacity .35s ease;
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(20,184,166,.16),transparent 48%);
  box-shadow:inset 0 0 0 1px rgba(20,184,166,.0)}
.property-card:hover::after,.why-card:hover::after,.pkg-card:hover::after{opacity:1}
.property-card,.why-card,.pkg-card{transition:transform .5s var(--sr-ease),box-shadow .5s var(--sr-ease),border-color .3s!important}

/* Buttons: pill, tactile */
.cinematic-cta,.cinematic-nav-cta,.about-cta-btn,.pkg-cta,.calc-cta{border-radius:999px!important;transition:transform .35s var(--sr-ease),box-shadow .35s var(--sr-ease),background .3s!important;will-change:transform}
.cinematic-cta:active,.cinematic-nav-cta:active,.about-cta-btn:active,.pkg-cta:active,.calc-cta:active,.fab-item:active{transform:scale(.97)!important}
.cinematic-cta{box-shadow:0 14px 30px -10px rgba(20,184,166,.65)}

/* Area marquee (one per page, above the footer) */
.sr-marquee{position:relative;overflow:hidden;background:var(--sr-navy);padding:1.15rem 0;margin-top:4.5rem;border-top:1px solid rgba(255,255,255,.06)}
.sr-marquee::before,.sr-marquee::after{content:"";position:absolute;top:0;bottom:0;width:9%;z-index:2;pointer-events:none}
.sr-marquee::before{left:0;background:linear-gradient(90deg,var(--sr-navy),transparent)}
.sr-marquee::after{right:0;background:linear-gradient(270deg,var(--sr-navy),transparent)}
.sr-marquee + footer{margin-top:0!important}
.sr-marquee-track{display:flex;width:max-content;animation:srMarq 46s linear infinite}
.sr-marquee:hover .sr-marquee-track{animation-play-state:paused}
.sr-marquee span{font-family:'Outfit',sans-serif;font-weight:700;font-size:clamp(1.15rem,2.4vw,1.75rem);letter-spacing:-0.01em;text-transform:uppercase;white-space:nowrap;padding:0 1.4rem;color:#fff;display:inline-flex;align-items:center}
.sr-marquee span:nth-child(even){color:transparent;-webkit-text-stroke:1px rgba(94,234,212,.75)}
.sr-marquee span::after{content:"";width:8px;height:8px;margin-left:2.8rem;transform:rotate(45deg);background:var(--sr-teal);display:inline-block}
@keyframes srMarq{to{transform:translateX(-50%)}}

/* Calm everything down for people who ask for it */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .sr-js .sr-rv{opacity:1;transform:none;transition:none}
  .sr-marquee-track,.sec-eyebrow::before,.about-section-eyebrow::before,.areas-served-eyebrow::before{animation:none}
  .sr-progress{display:none}
}

/* Footer icons: clear and bright on the blue footer */
footer .footer-contact i,footer .footer-links i,footer a i{color:#5EEAD4!important;opacity:1!important}
footer .footer-contact i{width:18px;text-align:center}

/* "All Over Chennai" highlight in Areas We Serve */
.area-card-all{background:linear-gradient(135deg,#1D4ED8,#1E3A8A)!important;border-color:transparent!important}
.area-card-all .area-name{color:#fff!important}
.area-card-all .area-tag{color:#5EEAD4!important}
.area-card-all .area-icon{background:rgba(255,255,255,.14)!important;color:#5EEAD4!important}
.area-card-all .area-icon i{color:#5EEAD4!important}
.area-chip-all{background:linear-gradient(135deg,#1D4ED8,#1E3A8A)!important;color:#fff!important;border-color:transparent!important}
.area-chip-all i{color:#5EEAD4!important}

/* ==========================================================
   Light / Dark mode toggle
   ========================================================== */
.sr-theme-toggle{order:3;margin-left:.75rem;flex-shrink:0;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff;font-size:1.05rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:background .3s,transform .35s var(--sr-ease)}
.sr-theme-toggle:hover{background:rgba(255,255,255,.2)}
.sr-theme-toggle:active{transform:scale(.92)}
.sr-theme-toggle i{position:absolute;transition:transform .5s var(--sr-ease),opacity .3s}
.sr-theme-toggle .fa-sun{color:#FBBF24;transform:translateY(140%) rotate(-90deg);opacity:0}
.sr-theme-toggle .fa-moon{color:#fff}
html[data-theme="dark"] .sr-theme-toggle .fa-sun{transform:none;opacity:1}
html[data-theme="dark"] .sr-theme-toggle .fa-moon{transform:translateY(-140%) rotate(90deg);opacity:0}
.cinematic-nav-links{margin-left:auto}
@media(max-width:768px){
  .sr-theme-toggle{order:1;margin-left:auto;margin-right:.5rem;width:40px;height:40px}
  .nav-hamburger{order:2}
}
html.sr-theme-anim,html.sr-theme-anim *{transition:background-color .4s ease,color .4s ease,border-color .4s ease!important}

html[data-theme="dark"]{
  color-scheme:dark;
  --forest:#3B6FE8;--forest-mid:#93B4F5;--forest-light:#7DA7FF;--sage:#2DD4BF;
  --mint:#18263F;--cream:#111B2E;--smoke:#0B1220;
  --text:#E2E8F0;--muted:#94A3B8;--border:#22314D;
  --card-shadow:0 6px 24px rgba(0,0,0,.35);--card-shadow-hover:0 14px 40px rgba(0,0,0,.5);
}
html[data-theme="dark"] body{background:#0B1220!important;color:#E2E8F0}
html[data-theme="dark"] body::after{mix-blend-mode:overlay;opacity:.06}
/* surfaces */
html[data-theme="dark"] :is(.property-card,.skeleton-card,.stats-strip,.search-box,.modal,.detail-block,.doc-download-item,.pager button,.filter-chip,.sort-select,.btn-share,.about-stat-card,.area-card,.founder-story-card,.why-card,.terms-card,.pkg-card,.calc-wrap,.enquiry-wrap,.person-card,.map-wrap,.contact-card){background:#111B2E!important;border-color:#22314D!important}
html[data-theme="dark"] :is(.card-img-wrap,.card-img-wrap img,.thumb-strip){background:#16233A!important}
html[data-theme="dark"] :is(.card-id,.tag-id,.tag-facing,.area-chip,.area-icon,.founder-story-phone,.person-btn.call){background:#18263F!important}
html[data-theme="dark"] :is(input,select,textarea,.form-input,.form-textarea){background-color:#16233A!important;color:#E2E8F0!important;border-color:#2A3B5C!important}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#64748B!important}
html[data-theme="dark"] select option{background:#16233A;color:#E2E8F0}
html[data-theme="dark"] .filter-chip.active,html[data-theme="dark"] .pager button.active{background:var(--forest)!important;color:#fff!important}
/* text */
html[data-theme="dark"] :is(.sec-title,.about-section-title,.areas-served-title,.why-title,.pkg-name,.pkg-price,.stat-num,.about-stat-num,.card-title,.modal-title,.terms-item h3,.terms-card h2,.person-name,.founder-story-name,.calc-field label,.calc-table td.calc-work,.calc-table td.calc-cost,.calc-total-row .calc-work,.pkg-section-summary,.pkg-section li b,.enquiry-title,.area-name,.form-label,.map-info-title,.docs-section-title,.listings-title){color:#E8EEFB!important}
html[data-theme="dark"] .tag-id{color:#93B4F5!important}
html[data-theme="dark"] :is(.pkg-price span,.spec-item,.terms-item p,.card-location,.about-section-desc,.areas-served-desc,.why-desc,.stat-lbl,.about-stat-lbl,.area-tag){color:#A9B6CC!important}
html[data-theme="dark"] :is(.sec-eyebrow,.about-section-eyebrow,.areas-served-eyebrow,.founder-story-role,.person-role,.pkg-offer-lbl){color:#2DD4BF!important}
html[data-theme="dark"] :is(.card-price,.modal-price,.calc-total-row .calc-cost){color:#5EEAD4!important}
html[data-theme="dark"] .skeleton-img,html[data-theme="dark"] .skeleton-line{background:linear-gradient(90deg,#16233A 25%,#1E2D4A 50%,#16233A 75%)!important;background-size:800px 100%!important}
html[data-theme="dark"] .modal-overlay{background:rgba(2,6,15,.8)!important}
html[data-theme="dark"] footer{background:#0E1A33!important}
html[data-theme="dark"] .sr-marquee{background:#060C18}
html[data-theme="dark"] .hero-video-grad{background:radial-gradient(ellipse 55% 38% at 50% 42%,rgba(8,24,48,0.26),transparent 80%),linear-gradient(to bottom,rgba(10,32,62,0.32) 0%,rgba(10,32,62,0.12) 22%,rgba(10,32,62,0.08) 70%,rgba(11,18,32,0.7) 92%,#0B1220 100%)!important}
html[data-theme="dark"] .area-card-all,html[data-theme="dark"] .area-chip-all{background:linear-gradient(135deg,#1D4ED8,#1E3A8A)!important}

/* Business highlights strip (22+ / 1200+ / 600+ / All Chennai): deep navy band */
.stats-strip.biz-stats{background:#1C2E43!important;border-color:#1C2E43!important;border-top:1px solid rgba(94,234,212,.18)!important;border-bottom:1px solid rgba(94,234,212,.18)!important}
.biz-stats .stat-num{color:#FFFFFF!important}
.biz-stats .stat-num i{color:#2DD4BF!important}
.biz-stats .stat-lbl{color:#5EEAD4!important;opacity:.95}
html[data-theme="dark"] .stats-strip.biz-stats{background:#1C2E43!important}

/* Follow / Reach Us popup: each network in its own brand colour */
.insta-chooser-item i{color:#fff!important}
.insta-chooser-item[href*="instagram"] i{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)!important}
.insta-chooser-item[href*="facebook"] i{background:#1877F2!important}
.insta-chooser-item[href*="youtube"] i{background:#FF0000!important}
.insta-chooser-item[href*="twitter"] i,.insta-chooser-item[href*="x.com"] i{background:#000!important;border:1px solid rgba(255,255,255,.25)}

/* Top menu bar: deep navy */
.cinematic-nav{background:rgba(27,45,66,.94)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}

/* Floating buttons: call, WhatsApp, then each social network, Google review last */
.fab-container{flex-direction:column!important}
.fab-call{order:1}.fab-whatsapp{order:2}.fab-ig{order:3}.fab-fb{order:4}.fab-yt{order:5}.fab-x{order:6}.fab-google{order:7}
.fab-social{width:44px!important;height:44px!important;font-size:1.15rem!important;margin-right:3px}
.fab-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)!important}
.fab-fb{background:#1877F2!important}
.fab-yt{background:#FF0000!important}
.fab-x{background:#000!important;border:1px solid rgba(255,255,255,.3)}
@media(max-width:768px){.fab-container{gap:.45rem!important}.fab-social{width:38px!important;height:38px!important;font-size:1rem!important}}
