/* MahaVastu Designs — site styles.
 * Author: Nikhil Kalia
 */

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
:root{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
body{margin:0;overflow-x:hidden;background:#E2DEDA}
a{color:inherit;text-decoration:none}
img{max-width:100%}
:focus-visible{outline:2px solid #9B1C22;outline-offset:3px}

/* ===== SHARED HEADER / FOOTER ===== */
.hdr{--red:#9B1C22;font-family:'Tenor Sans','Gill Sans',system-ui,sans-serif;color:#2A2626;background:#EAE5DF;border-bottom:1px solid #D8CFC8;position:relative;z-index:20}
.hdr-over{position:absolute;left:0;right:0;top:0;background:linear-gradient(rgba(240,236,232,.75),rgba(240,236,232,0));border-bottom:0}
.hdr-in{width:min(1280px,100% - 48px);margin:0 auto;display:flex;align-items:center;gap:20px;min-height:96px}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{height:46px;width:auto;display:block}
.brand-word{height:29px;width:auto;display:block}
.hdr-nav{margin-left:auto}
.hdr-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:22px}
.hdr-nav a{display:block;padding:12px 0;font-size:13.5px;white-space:nowrap;position:relative}
.hdr-join{display:inline-flex;align-items:center;min-height:40px;padding:0 20px;border:1.5px solid var(--red);color:var(--red);border-radius:999px;font-size:13px;white-space:nowrap;transition:background .25s,color .25s}
.hdr-join:hover{background:var(--red);color:#fff}
.hdr-nav a:hover,.hdr-nav a[aria-current]{color:var(--red)}
.hdr-nav>ul>li>a[aria-current]::after,.hdr-nav>ul>li>a.on::after{content:"";position:absolute;left:15%;right:15%;bottom:4px;height:1.5px;background:var(--red)}
.hdr-nav a.on{color:var(--red)}
.hdr-nav .has-sub{position:relative}
.hdr-nav .has-sub>a{display:flex;align-items:center;gap:5px}
.hdr-nav .caret{transition:transform .2s}
.hdr-nav .sub{display:none;position:absolute;left:-18px;top:100%;min-width:190px;margin:0;padding:8px 0;list-style:none;background:#F7F4F0;border:1px solid #D8CFC8;border-top:2px solid var(--red);box-shadow:0 14px 28px rgba(40,30,30,.10);z-index:40}
.hdr-nav .has-sub:hover .sub,.hdr-nav .has-sub:focus-within .sub{display:block}
.hdr-nav .has-sub:hover .caret,.hdr-nav .has-sub:focus-within .caret{transform:rotate(180deg)}
.hdr-nav .sub a{padding:10px 20px;font-size:13.5px}
.hdr-nav .sub a:hover,.hdr-nav .sub a[aria-current]{background:#EDE6DF;color:var(--red)}
.hdr-icon{width:46px;height:46px;border:0;background:none;color:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer}
.hdr-mnav{display:none}
.hdr-mnav summary{list-style:none;width:46px;height:46px;border:1.5px solid var(--red);color:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hdr-mnav summary::-webkit-details-marker{display:none}
.hdr-mnav summary::marker{content:""}
.hdr-mnav .ic-close{display:none}
.hdr-mnav[open] .ic-open{display:none}.hdr-mnav[open] .ic-close{display:block}
.hdr-mpanel{position:absolute;left:0;right:0;top:100%;background:#F3F0EC;border-bottom:1px solid #D8CFC8;box-shadow:0 12px 24px rgba(40,30,30,.08);z-index:30}
.hdr-mpanel ul{list-style:none;margin:0;padding:6px 24px 16px}
.hdr-mpanel a{display:block;padding:13px 0;font-size:16px;border-bottom:1px solid #E4DCD4}
.hdr-mpanel li:last-child a{border-bottom:0}
.hdr-mpanel a[aria-current],.hdr-mpanel a.on{color:var(--red)}
.hdr-mpanel .msub{list-style:none;margin:0 0 4px;padding:0 0 0 18px;border-left:1.5px solid #E0C9C9}
.hdr-mpanel .msub a{font-size:15px;padding:10px 0;border-bottom:0;color:#4A4443}
.hdr-mpanel .msub a[aria-current]{color:var(--red)}
.hdr-mpanel .m-join{color:var(--red)}
.hdr-nav .soon,.hdr-mpanel .soon{display:block;padding:12px 0;font-size:13.5px;white-space:nowrap;color:#8C8681;cursor:default}
.hdr-nav .sub .soon{padding:10px 20px}
.hdr-mpanel .soon{font-size:16px;padding:13px 0;border-bottom:1px solid #E4DCD4}
.hdr-mpanel .msub .soon{font-size:15px;padding:10px 0;border-bottom:0}
.ftr{background:#F3F0EC;border-top:1px solid #D8CFC8;font-family:'Tenor Sans',system-ui,sans-serif;color:#4A4443}
.ftr-in{width:min(1240px,100% - 48px);margin:0 auto;padding:44px 0 36px;display:grid;grid-template-columns:auto 1fr;gap:20px 48px;align-items:center}
.ftr-logo{width:260px;height:auto;display:block}
.ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:flex-end;font-size:14px}
.ftr a:hover{color:#9B1C22}
.ftr p{grid-column:1/-1;margin:0;font-size:12px;border-top:1px solid #D8CFC8;padding-top:18px}
.ftr-login{margin-left:18px;color:#9B1C22}
.ftr-login:hover{text-decoration:underline}
/* Robot trap on forms — never shown to people. */
.jn-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media (max-width:1220px){
 .hdr-nav{display:none}
 .hdr-mnav{display:block}
 .hdr-in{min-height:76px;gap:8px}
 .hdr-join{margin-left:auto}
 .hdr-icon{margin-left:0}
}
@media (max-width:900px){
 .brand-mark{height:40px}.brand-word{height:24px}
 .hdr-over{position:relative;background:#EAE5DF}
 .ftr-in{grid-template-columns:1fr}.ftr ul{justify-content:flex-start}
 .hdr-join{display:none}.hdr-icon{margin-left:auto}
}
@media (max-width:420px){.brand-word{height:20px}.brand{gap:10px}}

/* ===== MAHAVASTU PLANNING PAGE ===== */
.page-planning{--pg:#F1EDE3;--pg2:#ECE6DA;--ink:#3A2F25;--muted:#5C5145;--gold:#A57D3E;--gold-ic:#7A5C33;--line:#D8C9AE;background:var(--pg);color:var(--ink);font-family:'EB Garamond',Georgia,serif}
.pl-wrap{width:min(1120px,100% - 48px);margin:0 auto}
.pl-hero{position:relative;overflow:hidden;background:var(--pg2)}
.pl-hero-img{position:absolute;right:0;top:0;height:100%;width:56%;object-fit:cover;-webkit-mask-image:linear-gradient(to right,transparent,#000 30%);mask-image:linear-gradient(to right,transparent,#000 30%)}
.pl-hero-in{position:relative;padding:56px 0 44px}
.pl-eyebrow{display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px}
.pl-eyebrow>span:first-child{width:46px;height:1px;background:var(--gold);flex:none}
.pl-hero-grid{display:grid;grid-template-columns:76px minmax(0,470px)}
.pl-big{font-size:48px;line-height:1;color:var(--gold);padding-top:8px}
.pl-hero h1{margin:0;font-weight:400;font-size:clamp(34px,3.6vw,48px);line-height:1.05;letter-spacing:.06em}
.pl-lede{margin:22px 0 20px;font-size:clamp(16px,1.35vw,19px);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.pl-body em{color:var(--ink)}
.pl-body{margin:0;font-size:17px;line-height:1.65;color:var(--muted)}
.pl-rule{display:block;width:38px;height:1.5px;background:var(--gold);margin:30px 0 22px}
.pl-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;row-gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.pl-tags li:not(:last-child)::after{content:"·";margin:0 12px;color:var(--gold)}
.pl-blocks{padding:50px 0 60px}
.pl-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;margin-bottom:80px}
.pl-block:last-child{margin-bottom:0}
.pl-pic{position:relative;display:flex;align-items:center;gap:26px}
.pl-block:not(.flip) .pl-pic{flex-direction:row-reverse;justify-content:flex-end}
.pl-block.flip .pl-pic{justify-content:flex-end}
.pl-pic img{width:min(420px,100%);height:auto;display:block}
.pl-shape{position:relative;display:block;width:min(420px,100%)}
.pl-shape img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;border-radius:0 44% 0 0/0 34% 0 0}
.pl-shape::after{content:"";position:absolute;inset:-14px;border:1.5px solid var(--gold);border-left-color:transparent;border-bottom-color:transparent;border-radius:0 44% 0 0/0 34% 0 0;pointer-events:none}
.pl-star{width:40px;height:190px;color:var(--gold);flex:none}
.pl-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.pl-rose{width:40px;height:40px;color:var(--gold);flex:none}
.pl-n{font-size:40px;line-height:1;color:var(--gold)}
.pl-line{width:48px;height:1px;background:var(--gold)}
.pl-head h2{margin:0;font-weight:500;font-size:16px;letter-spacing:.3em;text-transform:uppercase}
.pl-p{margin:0 0 34px 56px;font-size:18px;line-height:1.6;color:var(--muted);max-width:420px}
.pl-icons{list-style:none;margin:0 0 0 46px;padding:0 0 28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);text-align:center}
.pl-icons li{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:12px;letter-spacing:.15em;line-height:1.5;text-transform:uppercase}
.pl-icons li:not(:last-child)::after{content:"";position:absolute;right:0;top:18px;width:3px;height:3px;border-radius:50%;background:var(--line)}
.pl-ic{width:40px;height:40px;color:var(--gold-ic)}
.pl-ic svg{width:100%;height:100%}
.pl-stats{margin:26px 0 0 46px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.pl-stats div{display:flex;flex-direction:column-reverse;gap:8px;padding-left:4px}
.pl-stats div+div{border-left:1px solid var(--line);padding-left:34px}
.pl-stats dt{font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.pl-stats dd{margin:0;font-size:24px}
.pl-stats small{font-size:15px;letter-spacing:.04em}
.pl-banner{position:relative;height:clamp(220px,20vw,320px);background:url("https://mahavastudesign.com/wp-content/uploads/2026/09/mv-banner-planning.jpg") center 60%/cover no-repeat;text-align:center;padding-top:34px;box-sizing:border-box}
.pl-banner p{margin:0 0 18px;font-size:13px;letter-spacing:.36em;text-transform:uppercase;color:var(--ink)}
.pl-emblem{width:52px;height:52px;color:var(--gold)}
.pl-banner a{display:inline-flex;border-radius:50%;transition:transform .3s}
.pl-banner a:hover{transform:rotate(45deg)}
@media (max-width:900px){
 .pl-hero-img{position:static;width:100%;height:auto;aspect-ratio:4/3;-webkit-mask-image:linear-gradient(#000 75%,transparent);mask-image:linear-gradient(#000 75%,transparent)}
 .pl-hero-in{padding-top:0}
 .pl-block,.pl-block.flip{grid-template-columns:minmax(0,1fr);gap:32px}
 .pl-block.flip .pl-pic{order:2}
 .pl-star{display:none}
 .pl-pic,.pl-block.flip .pl-pic{justify-content:center}
 .pl-p,.pl-icons,.pl-stats{margin-left:0}
}
@media (max-width:520px){
 .pl-hero-grid{grid-template-columns:minmax(0,1fr)}.pl-big{margin-bottom:12px}
 .pl-head{flex-wrap:wrap;gap:12px}.pl-line{width:28px}
 .pl-icons li{font-size:11px;letter-spacing:.08em}
 .pl-stats div+div{padding-left:20px}.pl-stats dd{font-size:21px}
}

/* ===== INTERIORS PAGE ===== */
.page-interiors{--pg:#F1ECE2;--pg2:#ECE5D8;--ink:#3A2F25;--muted:#5C5145;--gold:#A57D3E;--line:#CDB48A;background:var(--pg);color:var(--ink);font-family:'EB Garamond',Georgia,serif}
.in-hero{position:relative;overflow:hidden;background:var(--pg2)}
.in-hero-img{position:absolute;right:0;top:0;height:100%;width:48%;object-fit:cover;object-position:left center;-webkit-mask-image:linear-gradient(to right,transparent,#000 22%);mask-image:linear-gradient(to right,transparent,#000 22%)}
.in-hero-in{position:relative;padding:62px 0 34px}
.in-eyebrow{display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 28px -60px}
.in-eyebrow>span:first-child{width:46px;height:1px;background:var(--gold);flex:none}
.in-eyebrow b{font-weight:400;font-size:22px;letter-spacing:0;color:var(--gold)}
.in-hero h1{margin:0;max-width:560px;font-weight:400;font-size:clamp(32px,3.4vw,44px);line-height:1.18;letter-spacing:.07em;text-transform:uppercase}
.in-lede{margin:26px 0 0;max-width:470px;font-style:italic;font-size:clamp(18px,1.6vw,21px);line-height:1.5;letter-spacing:.02em}
.in-rule{display:block;width:40px;height:1.5px;background:var(--gold);margin-top:28px}
.in-cards{padding:70px 0 90px}
.in-grid{width:min(1120px,100% - 48px);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;padding:0 26px}
.in-grid::before,.in-grid::after{content:"";position:absolute;top:70px;bottom:40px;width:1px;background:var(--line)}
.in-grid::before{left:0}.in-grid::after{right:0}
.in-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 30px}
.in-card+.in-card{border-left:1px solid var(--line)}
.in-arch{position:relative;width:min(290px,100%);padding-top:44px}
.in-arc{position:absolute;left:-7%;top:10px;width:114%;height:auto;color:var(--gold);stroke-width:1.2}
.in-ic{position:absolute;left:50%;top:0;width:30px;height:30px;transform:translateX(-50%);color:var(--gold)}
.in-ic svg{width:100%;height:100%}
.in-arch img{display:block;width:100%;aspect-ratio:246/328;object-fit:cover;border-radius:50% 50% 0 0/38% 38% 0 0}
.in-card h2{margin:36px 0 18px;font-weight:400;font-size:clamp(21px,2vw,26px);line-height:1.3;letter-spacing:.2em;text-transform:uppercase}
.in-card p{margin:0;flex-grow:1;max-width:290px;font-size:17px;line-height:1.6;color:var(--muted)}
.in-card .in-rule{width:52px;height:1px;margin:28px 0 24px}
.in-arr{width:44px;height:44px;border:1.2px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s}
.in-arr:hover{background:var(--ink);color:var(--pg)}
.in-arr svg{width:20px}
.in-banner{background-image:url("https://mahavastudesign.com/wp-content/uploads/2026/09/mv-banner-interiors.jpg")}
.in-banner svg{width:52px;height:52px;color:var(--gold)}
@media (max-width:900px){
 .in-hero-img{position:static;width:100%;height:auto;aspect-ratio:4/3;-webkit-mask-image:linear-gradient(#000 75%,transparent);mask-image:linear-gradient(#000 75%,transparent)}
 .in-hero-in{padding-top:0}
 .in-eyebrow{margin-left:0}
 .in-hero h1{font-size:27px;letter-spacing:.04em}
 .in-grid{grid-template-columns:minmax(0,1fr);gap:56px;padding:0}
 .in-grid::before,.in-grid::after{display:none}
 .in-card+.in-card{border-left:0;border-top:1px solid var(--line);padding-top:48px}
}

/* ===== STYLING PAGE ===== */
.page-styling{--pg:#F1ECE2;--pg2:#ECE5D8;--ink:#3A2F25;--muted:#5C5145;--gold:#A57D3E;--line:#CDB48A;background:var(--pg);color:var(--ink);font-family:'EB Garamond',Georgia,serif}
.page-styling .in-hero h1{font-size:clamp(36px,4vw,54px);line-height:1.1}
.page-styling .in-card h2{margin:36px 0 0;min-height:3.9em}
.page-styling .in-card .in-rule{margin:18px 0 24px}
.page-styling .in-card p{margin-bottom:30px}
.st-banner{background-image:url("https://mahavastudesign.com/wp-content/uploads/2026/09/mv-banner-styling.jpg")}
@media (max-width:900px){.page-styling .in-card h2{min-height:0}.page-styling .in-hero h1{font-size:34px}}

/* ===== HOME PAGE (illustrated) ===== */
.page-home{--ink:#2B2522;--muted:#433B36;--red:#8E1B22;--paper:#ECE4D8;color:var(--ink);font-family:'EB Garamond',Georgia,serif;background:#ECE4D8}
.page-home .hdr-over{background:linear-gradient(rgba(236,228,216,.92),rgba(236,228,216,0))}
.h3-stage{--w:min(1440px,100vw);--u:calc(var(--w) / 809);position:relative;width:var(--w);aspect-ratio:809/1944;margin:0 auto}
.h3-bg{position:absolute;inset:0;width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
@media (max-width:1440px){.h3-bg{-webkit-mask-image:none;mask-image:none}}
.h3-stage>*:not(.h3-bg){position:absolute}
.h3-g{height:auto;display:block;-webkit-mask-image:radial-gradient(ellipse at center,#000 62%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 62%,transparent 78%)}
.h3-rule{display:block;width:calc(var(--u)*28);height:1.5px;background:var(--red)}
.h3-hero{text-align:center}
.h3-hero h1{margin:0;font-weight:400;font-size:calc(var(--u)*14.5);letter-spacing:.2em;line-height:1.7;text-transform:uppercase}
.h3-hero .h3-rule{margin:calc(var(--u)*9) auto calc(var(--u)*11)}
.h3-hero p{margin:0;font-size:calc(var(--u)*13.5);letter-spacing:.02em}
.h3-num{font-size:calc(var(--u)*27);line-height:1;color:var(--red)}
.h3-title{margin:0;font-weight:500;font-size:calc(var(--u)*17);line-height:1.22;text-transform:uppercase;letter-spacing:.01em}
.h3-title a:hover{color:var(--red)}
.h3-desc{margin:0;font-size:calc(var(--u)*13.5);line-height:1.34;color:var(--muted)}
.h3-arr{width:calc(var(--u)*34);height:calc(var(--u)*34);border:1.6px solid var(--red);color:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s}
.h3-arr:hover{background:var(--red);color:#fff}
.h3-arr svg{width:45%;height:45%}
.h3-lbl{font-family:'Tenor Sans',system-ui,sans-serif;font-size:calc(var(--u)*9.5);letter-spacing:.2em;line-height:1.72;text-transform:uppercase}
.h3-lbl .h3-rule{margin-top:calc(var(--u)*12)}
.h3-quote{margin:0;text-align:center}
.h3-quote p{margin:0;font-style:italic;font-size:calc(var(--u)*21);line-height:1.28}
.h3-quote .h3-rule{margin:calc(var(--u)*14) auto}
.h3-quote cite{font-style:normal;font-family:'Tenor Sans',system-ui,sans-serif;font-size:calc(var(--u)*10.5);letter-spacing:.3em;text-transform:uppercase}
.h3-mob{display:none}
@media (max-width:900px){
 .h3-stage{display:none}
 .h3-mob{display:block;--u:1.6px}
 .h3m-hero{display:block;width:100%;height:auto;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
 .h3-mob .h3-hero{padding:0 20px;margin-top:-10px}
 .h3-mob .h3-hero h1{font-size:17px;letter-spacing:.14em}
 .h3-mob .h3-hero p{font-size:17px}
 .h3m-svc{padding:40px 22px 0}
 .h3m-svc img{display:block;width:88%;height:auto;margin:0 auto 20px;-webkit-mask-image:radial-gradient(ellipse at center,#000 60%,transparent 74%);mask-image:radial-gradient(ellipse at center,#000 60%,transparent 74%)}
 .h3m-svc .h3-num{font-size:38px;margin-bottom:8px}
 .h3m-svc .h3-title{font-size:23px;margin-bottom:10px}
 .h3m-svc .h3-desc{font-size:18px}
 .h3m-svc .h3-arr{width:48px;height:48px;margin-top:16px}
 .h3m-svc.rev>div{text-align:right}.h3m-svc.rev .h3-arr{margin-left:auto}
 .h3m-foot{position:relative;margin-top:30px}
 .h3m-foot img{display:block;width:100%;height:auto}
 .h3m-foot .h3-quote{position:absolute;left:0;right:0;top:22%}
 .h3m-foot .h3-quote p{font-size:24px}
 .h3m-foot .h3-quote .h3-rule{width:40px;margin:12px auto}
 .h3m-foot .h3-quote cite{font-size:11px}
}

/* ===== MUSIC BUTTON ===== */
.music{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px 0 14px;border:0;border-radius:999px;background:#8E1B22;color:#fff;font:14px 'Tenor Sans',system-ui,sans-serif;letter-spacing:.06em;box-shadow:0 8px 24px rgba(60,20,20,.25);cursor:pointer}
.music:hover{background:#6F141A}
.music .bars{display:flex;align-items:flex-end;gap:2px;height:16px}
.music .bars i{display:block;width:3px;height:5px;background:currentColor;border-radius:1px}
.music[aria-pressed="true"] .bars i{animation:eq .9s ease-in-out infinite}
.music .bars i:nth-child(2){animation-delay:.2s}.music .bars i:nth-child(3){animation-delay:.4s}.music .bars i:nth-child(4){animation-delay:.1s}
@keyframes eq{0%,100%{height:4px}50%{height:16px}}
@media (max-width:600px){.music{width:48px;padding:0;justify-content:center}.music .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media (prefers-reduced-motion:reduce){.music[aria-pressed="true"] .bars i{animation:none;height:12px}}
