:root{--color-warm-ivory:#f7f6f2;--color-charcoal:#151515;--color-stone:#b8b0a3;--color-secondary-text:#77736d;--color-border:#ddd9d1;--color-white:#fff;--color-terracotta:#b8b0a3;--color-grey-lilac:#f7f6f2;--color-taupe:#77736d;--bg-primary:#f7f6f2;--bg-secondary:#efece6;--bg-dark:#151515;--bg-taupe:#77736d;--bg-surface:#fff;--bg-surface-elevated:#fff;--bg-charcoal:#151515;--bg-stone:#b8b0a3;--bg-light-tint:#b8b0a31f;--text-primary:#151515;--text-secondary:#77736d;--text-muted:#8e8a83;--text-light:#f7f6f2;--text-accent:#151515;--border-subtle:#ddd9d1;--border-accent:#b8b0a3;--border-dark:#15151538;--border-charcoal:#151515;--font-serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--max-width:1360px;--gutter:48px;--transition:all .3s cubic-bezier(.16, 1, .3, 1);--radius-sharp:0px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);width:100%;line-height:1.65;overflow-x:hidden}*{scrollbar-width:thin;scrollbar-color:var(--color-stone) var(--color-warm-ivory)}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--color-warm-ivory)}::-webkit-scrollbar-thumb{background:var(--color-stone);border:1px solid var(--color-warm-ivory);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--color-charcoal)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 40px}@media (width<=768px){.container{padding:0 20px}}.heading-label{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:10px;margin-bottom:12px;font-size:10.5px;font-weight:600;display:inline-flex}.heading-label:before{content:"";background:var(--color-stone);border-radius:50%;width:6px;height:6px;display:inline-block}.section-title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--text-primary);margin:0;font-size:clamp(34px,4.2vw,58px);font-weight:500;line-height:1.1}.section-title em,.section-title .italic-serif{font-style:italic;font-weight:400}.section-subtitle{color:var(--text-secondary);max-width:620px;font-size:15px;font-weight:400;line-height:1.7}.section-border-b{border-bottom:1px solid var(--border-subtle)}.btn-primary,.btn-gold{background:var(--color-charcoal);color:var(--color-warm-ivory);border:1px solid var(--color-charcoal);font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:var(--transition);border-radius:0;align-items:center;gap:10px;padding:12px 28px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary:hover,.btn-gold:hover{color:#fff;background:#2a2a2a;border-color:#2a2a2a;transform:translateY(-1px)}.btn-secondary,.btn-outline-gold,.btn-outline-ivory,.btn-outline-dark{color:var(--color-charcoal);border:1px solid var(--border-subtle);font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:var(--transition);background:0 0;border-radius:0;align-items:center;gap:10px;padding:12px 28px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.btn-secondary:hover,.btn-outline-gold:hover,.btn-outline-ivory:hover,.btn-outline-dark:hover{background:var(--color-charcoal);border-color:var(--color-charcoal);color:var(--color-warm-ivory);transform:translateY(-1px)}.link-action{letter-spacing:.16em;text-transform:uppercase;color:var(--color-charcoal);cursor:pointer;transition:var(--transition);background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.link-action:hover{color:var(--color-secondary-text);transform:translate(4px)}.arch-card{background:var(--bg-surface);border:1px solid var(--border-subtle);transition:var(--transition);border-radius:0}.arch-card:hover{border-color:var(--color-stone)}.drafting-bg{position:relative}.drafting-bg:before{content:"";pointer-events:none;z-index:1;background-image:linear-gradient(90deg,#ddd9d166 1px,#0000 1px),linear-gradient(#ddd9d166 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0}.arch-overflow-hidden{vertical-align:top;display:inline-block;overflow:hidden}.arch-word-block{will-change:transform, opacity;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .8s;display:inline-block;transform:translateY(0)}.section-connector-line{background:var(--border-subtle);z-index:2;width:1px;height:50px;margin:0 auto;position:relative}.arch-hover-zoom{will-change:transform;transition:transform .6s cubic-bezier(.16,1,.3,1),filter .6s}.arch-hover-zoom:hover{transform:scale(1.02)}input,textarea,select{font-family:var(--font-sans)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transform:none!important}}.ganesan-app,.calculator-page-root{min-height:100vh;position:relative}.arch-hero-section,.arch-about-section,.arch-services-section,.process-section,.projects-section,.materials-quality-section,.why-us-section,.founder-section,.insights-section,.faq-section,.estimate-section,.contact-section,.calculator-page-main{z-index:1;position:relative;background-color:#0000!important}.container,.header-container-inner,.card,.client-auth-card{z-index:2;position:relative}.client-auth-backdrop{z-index:10000!important}.reveal-on-scroll{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transform:translateY(22px)}.reveal-title{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.reveal-kicker{opacity:0;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.16,1,.3,1) 40ms,transform .7s cubic-bezier(.16,1,.3,1) 40ms;transform:translateY(10px)}.reveal-subtitle,.reveal-desc{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.16,1,.3,1) .12s,transform .85s cubic-bezier(.16,1,.3,1) .12s;transform:translateY(18px)}.reveal-card{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.16,1,.3,1) .14s,transform .85s cubic-bezier(.16,1,.3,1) .14s;transform:translateY(26px)}.reveal-stagger>*{opacity:0;will-change:opacity, transform;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.reveal-stagger.is-revealed>:first-child{transition-delay:40ms}.reveal-stagger.is-revealed>:nth-child(2){transition-delay:.11s}.reveal-stagger.is-revealed>:nth-child(3){transition-delay:.18s}.reveal-stagger.is-revealed>:nth-child(4){transition-delay:.25s}.reveal-stagger.is-revealed>:nth-child(5){transition-delay:.32s}.reveal-stagger.is-revealed>:nth-child(6){transition-delay:.39s}.reveal-stagger.is-revealed>:nth-child(n+7){transition-delay:.45s}.reveal-img-frame{position:relative;overflow:hidden}.reveal-img{opacity:0;will-change:opacity, transform;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1.05s cubic-bezier(.16,1,.3,1);transform:scale(1.04)translateY(14px)}.reveal-mask{clip-path:inset(0 0 18px);opacity:0;will-change:clip-path, opacity;transition:clip-path .95s cubic-bezier(.16,1,.3,1),opacity .75s ease-out}.reveal-on-scroll.is-revealed,.reveal-title.is-revealed,.reveal-kicker.is-revealed,.reveal-subtitle.is-revealed,.reveal-desc.is-revealed,.reveal-card.is-revealed{opacity:1!important;transform:translateY(0)!important}.reveal-img.is-revealed{opacity:1!important;transform:scale(1)translateY(0)!important}.reveal-mask.is-revealed{clip-path:inset(0)!important;opacity:1!important}.reveal-stagger.is-revealed>*{opacity:1!important;transform:translateY(0)!important}.parallax-subtle-frame{position:relative;overflow:hidden}.parallax-subtle-frame img{transition:transform .8s cubic-bezier(.16,1,.3,1)}.parallax-subtle-frame:hover img{transform:scale(1.025)}@media (prefers-reduced-motion:reduce){.reveal-on-scroll,.reveal-title,.reveal-kicker,.reveal-subtitle,.reveal-desc,.reveal-card,.reveal-img,.reveal-mask,.reveal-stagger>*{opacity:1!important;clip-path:none!important;transition:none!important;transform:none!important}}
