/* =========================================================
   VARUN DEVELOPERS — INNER PAGES
   Projects + Contact
   ========================================================= */
body.inner-page{background:#fff;color:var(--ink)}
body.inner-page .site-header{position:absolute;color:var(--ink);mix-blend-mode:normal}
body.inner-page .brand img{filter:brightness(0)}
body.inner-page .site-header.is-on-dark{color:#fff}
body.inner-page .site-header.is-on-dark .brand img{filter:brightness(0) invert(1)}
.inner-main{padding-top:0}
.inner-shell{width:min(100% - (var(--pad)*2),1500px);margin-inline:auto}
.inner-eyebrow{font:500 12px/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.inner-display{font:500 clamp(62px,8.2vw,138px)/.88 var(--sans);letter-spacing:-.065em}
.inner-display em{font-family:var(--serif);font-weight:400}
.inner-intro{font:clamp(18px,1.55vw,25px)/1.48 var(--sans);color:var(--muted)}
.inner-rule{border-top:1px solid var(--line)}
.inner-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.75,.25,1)}
.inner-reveal.is-visible{opacity:1;transform:none}
.inner-image-reveal{clip-path:inset(0 0 100% 0);transition:clip-path 1.15s cubic-bezier(.77,0,.18,1)}
.inner-image-reveal.is-visible{clip-path:inset(0)}

/* Shared footer */
.vd-footer{background:var(--dark);color:#fff;padding:72px 0 34px}
.vd-footer__top{display:grid;grid-template-columns:1.35fr .8fr .9fr;gap:80px;padding-bottom:72px}
.vd-footer__brand img{width:180px;height:auto;filter:none;object-fit:contain;object-position:left center}
.vd-footer__tagline{font:italic 400 clamp(28px,3.2vw,49px)/1.05 var(--serif);color:#fff;margin-top:38px;max-width:520px}
.vd-footer__group p{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:22px}
.vd-footer__group a{display:block;font-size:15px;margin:12px 0;transition:color .2s,transform .2s}
.vd-footer__group a:hover{color:#d4ad54;transform:translateX(4px)}
.vd-footer__bottom{border-top:1px solid rgba(255,255,255,.18);padding-top:25px;display:flex;justify-content:space-between;gap:30px;font-size:11px;color:rgba(255,255,255,.65)}

/* PROJECTS PAGE */
.projects-page-hero{min-height:88svh;padding:180px 0 85px;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:#fff}
.projects-page-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;width:100%}
.projects-page-hero .inner-eyebrow{margin-bottom:42px}
.projects-page-hero .inner-intro{max-width:650px;margin-left:auto;padding-bottom:12px}
.projects-page-hero__line{position:absolute;bottom:0;left:var(--pad);right:var(--pad);height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;animation:innerRuleIn 1.1s .7s cubic-bezier(.2,.75,.25,1) forwards}
@keyframes innerRuleIn{to{transform:scaleX(1)}}

.projects-catalog{padding:90px 0 140px}
.projects-catalog__head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:38px;border-bottom:1px solid var(--line)}
.projects-filter{display:flex;flex-wrap:wrap;gap:8px}
.projects-filter button{appearance:none;border:1px solid var(--line);border-radius:999px;background:transparent;padding:9px 15px;color:var(--ink);font-size:12px;cursor:pointer;transition:.25s}
.projects-filter button.active,.projects-filter button:hover{background:var(--dark);border-color:var(--dark);color:#fff}
.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:90px 28px;padding-top:58px}
.catalog-card{position:relative;min-width:0}
.catalog-card:nth-child(3n+1){grid-column:1/-1}
.catalog-card:nth-child(3n+1) .catalog-card__image{height:min(73vw,790px)}
.catalog-card__image{position:relative;height:min(48vw,650px);min-height:460px;overflow:hidden;background:#ddd}
.catalog-card__image img{transform:scale(1.06);transition:transform 1.05s cubic-bezier(.2,.75,.25,1);will-change:transform}
.catalog-card:hover .catalog-card__image img{transform:scale(1)}
.catalog-card__year{position:absolute;left:18px;top:18px;z-index:2;background:rgba(20,20,20,.66);color:#fff;padding:10px 15px;font-size:12px;backdrop-filter:blur(8px)}
.catalog-card__overlay{position:absolute;inset:auto 0 0;padding:90px 28px 26px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));opacity:.9}
.catalog-card__overlay h2{font:italic 400 clamp(35px,4vw,64px)/.95 var(--serif);letter-spacing:-.04em}
.catalog-card__overlay p{font-size:14px;line-height:1.5;max-width:600px;margin-top:16px;color:rgba(255,255,255,.9)}
.catalog-card__meta{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:17px;border-top:1px solid var(--line);gap:20px}
.catalog-card__tags{display:flex;gap:7px;flex-wrap:wrap}
.catalog-card__tags span{border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.catalog-card__arrow{font-size:22px;transition:transform .25s}.catalog-card:hover .catalog-card__arrow{transform:translate(4px,-4px)}
.catalog-card.is-hidden{display:none}
.projects-philosophy{background:var(--dark);color:#fff;padding:145px 0}
.projects-philosophy__copy{font:italic 400 clamp(42px,6vw,92px)/1 var(--serif);max-width:1300px;letter-spacing:-.04em}
.projects-cta{padding:105px 0;background:#fff}
.projects-cta__row{display:flex;align-items:flex-end;justify-content:space-between;gap:60px}
.projects-cta h2{font:500 clamp(48px,7vw,105px)/.9 var(--sans);letter-spacing:-.06em;max-width:950px}
.projects-cta a{border-bottom:1px solid;padding-bottom:6px;font-size:14px;white-space:nowrap}

/* CONTACT PAGE */
.contact-page-hero{padding:180px 0 85px;background:#fff}
.contact-page-hero .inner-eyebrow{margin-bottom:42px}
.contact-page-hero__headline{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}
.contact-page-hero__headline .inner-intro{max-width:630px;margin-left:auto}
.contact-page-visual{height:min(62vw,770px);min-height:560px;overflow:hidden;margin-top:70px;position:relative}
.contact-page-visual img{transform:scale(1.08);transition:transform 1.2s cubic-bezier(.2,.75,.25,1)}
.contact-page-visual.is-visible img{transform:scale(1)}
.contact-page-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,42,44,.05),rgba(0,42,44,.28))}
.contact-info-section{padding:130px 0;background:#fff}
.contact-info-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;align-items:start}
.contact-details-card .inner-eyebrow{margin-bottom:40px}
.contact-details-card h2,.contact-form-panel h2{font:italic 400 clamp(38px,4.5vw,68px)/1 var(--serif);letter-spacing:-.04em;margin-bottom:45px}
.contact-details-list{border-top:1px solid var(--line)}
.contact-details-list>div{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:150px 1fr;gap:30px}
.contact-details-list small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.contact-details-list a,.contact-details-list span{font-size:16px;line-height:1.5}
.contact-page-form{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.contact-page-form label{position:relative;padding:0 0 16px;margin-bottom:28px;border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.contact-page-form label.full{grid-column:1/-1}
.contact-page-form input,.contact-page-form textarea,.contact-page-form select{display:block;width:100%;border:0;background:none;outline:none;color:var(--ink);padding:11px 0 0;font:400 17px/1.4 var(--sans);resize:none}
.contact-page-form button{grid-column:1/-1;justify-self:start;border:0;background:var(--dark);color:#fff;border-radius:999px;padding:15px 22px;cursor:pointer;transition:transform .25s,background .25s}
.contact-page-form button:hover{transform:translateY(-2px);background:var(--gold)}
.contact-map-section{padding:0 0 130px;background:#fff}
.contact-map-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:30px}
.contact-map-head h2{font:italic 400 clamp(34px,4vw,58px)/1 var(--serif)}
.contact-map{height:520px;background:#e7e1d4;position:relative;overflow:hidden}
.contact-map img{filter:saturate(.45) contrast(.92);transform:scale(1.04)}
.contact-map__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,42,44,.12),rgba(156,113,20,.10))}
.contact-map__pin{position:absolute;left:52%;top:52%;transform:translate(-50%,-50%);width:100px;height:100px;border-radius:50%;background:var(--dark);color:#fff;display:grid;place-items:center;text-align:center;font-size:11px;line-height:1.35;box-shadow:0 12px 45px rgba(0,0,0,.2)}
.contact-direct{background:var(--dark);color:#fff;padding:105px 0}
.contact-direct__grid{display:grid;grid-template-columns:1fr repeat(3,1fr);gap:40px;border-top:1px solid rgba(255,255,255,.22);padding-top:35px}
.contact-direct h2{font:italic 400 clamp(36px,4vw,60px)/1 var(--serif);max-width:420px}
.contact-direct__item small{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:18px}
.contact-direct__item a{font-size:15px;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:5px}

@media(max-width:1000px){
  .projects-page-hero__grid,.contact-page-hero__headline,.contact-info-grid{grid-template-columns:1fr;gap:45px}
  .projects-page-hero .inner-intro,.contact-page-hero__headline .inner-intro{margin-left:0;max-width:720px}
  .projects-grid{gap:65px 22px}
  .vd-footer__top{grid-template-columns:1fr 1fr;gap:55px}.vd-footer__brand{grid-column:1/-1}
  .contact-direct__grid{grid-template-columns:1fr 1fr}.contact-direct h2{grid-column:1/-1}
}
@media(max-width:700px){
  .projects-page-hero,.contact-page-hero{padding:135px 0 58px;min-height:auto}
  .inner-display{font-size:clamp(50px,16vw,74px)}
  .inner-intro{font-size:16px}
  .projects-page-hero .inner-eyebrow,.contact-page-hero .inner-eyebrow{margin-bottom:26px}
  .projects-catalog{padding:65px 0 95px}.projects-catalog__head{display:block}.projects-filter{margin-top:25px}
  .projects-grid{grid-template-columns:1fr;gap:55px;padding-top:42px}.catalog-card:nth-child(3n+1){grid-column:auto}
  .catalog-card__image,.catalog-card:nth-child(3n+1) .catalog-card__image{height:64vh;min-height:440px}
  .catalog-card__overlay{padding:70px 20px 20px}.catalog-card__overlay h2{font-size:40px}
  .projects-philosophy{padding:90px 0}.projects-cta{padding:75px 0}.projects-cta__row{display:block}.projects-cta a{display:inline-block;margin-top:30px}
  .contact-page-visual{height:56vh;min-height:430px;margin-top:45px}
  .contact-info-section{padding:85px 0}.contact-details-list>div{grid-template-columns:1fr;gap:8px}.contact-page-form{grid-template-columns:1fr}.contact-page-form label.full,.contact-page-form button{grid-column:auto}
  .contact-map-section{padding-bottom:90px}.contact-map{height:400px}.contact-map-head{display:block}.contact-map-head h2{margin-top:15px}
  .contact-direct{padding:80px 0}.contact-direct__grid{grid-template-columns:1fr;gap:34px}.contact-direct h2{grid-column:auto}
  .vd-footer{padding-top:58px}.vd-footer__top{grid-template-columns:1fr;gap:45px;padding-bottom:55px}.vd-footer__brand{grid-column:auto}.vd-footer__bottom{display:block}.vd-footer__bottom span{display:block;margin-top:10px}
}

.footer-credit{color:rgba(255,255,255,.72);text-decoration:none;transition:color .25s ease}
.footer-credit:hover{color:#d4ad54}
@media(max-width:767px){.vd-footer__bottom .footer-credit{display:block;margin-top:10px}}


/* Projects page: reuse Home featured-project stack and animation */
.projects-page-stack{padding-top:70px;}
.projects-page-stack__head{display:grid;grid-template-columns:1fr minmax(300px,520px);gap:48px;align-items:end;padding-bottom:44px;}
.projects-page-stack__head .inner-eyebrow,.projects-page-stack__head .inner-intro{margin:0;}
.projects-page-stack .project-stack{margin-top:0;}
@media (max-width:1000px){.projects-page-stack__head{grid-template-columns:1fr;gap:22px;padding-bottom:30px}.projects-page-stack{padding-top:48px;}}
@media (max-width:700px){.projects-page-stack{padding-top:36px}.projects-page-stack__head{gap:16px;padding-bottom:22px;}}

/* ===== Revision: Projects padding + Contact page matched to reference ===== */
@media (min-width:1001px){
  .projects-page-hero{padding-left:100px;padding-right:100px}
  .projects-page-hero .inner-shell{width:min(100%,1500px)}
  .projects-page-hero__line{left:100px;right:100px}
  .projects-page-stack{padding-left:100px;padding-right:100px}
  .projects-page-stack>.inner-shell{width:min(100%,1500px)}
  .projects-page-stack .project-stack{border-radius:0 0 22px 22px;overflow:clip}
  .projects-page-stack .project-card{padding-left:0;padding-right:0;grid-template-columns:minmax(300px,34%) 1fr;gap:35px 5vw}
  .projects-page-stack .project-meta,.projects-page-stack .project-year-badge{margin-left:0}
}

/* CONTACT HERO */
.contact-page-body .site-header{color:#fff;mix-blend-mode:normal}
.contact-page-body .brand img{filter:brightness(0) invert(1)}
.contact-page-hero{height:100svh;min-height:720px;padding:0;position:relative;overflow:hidden;background:#111;color:#fff}
.contact-page-visual{position:absolute;inset:0;height:auto;min-height:0;margin:0;overflow:hidden}
.contact-page-visual img{transform:scale(1.06);filter:saturate(.78) contrast(.96)}
.contact-page-hero__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.16) 66%,rgba(0,0,0,.30)),linear-gradient(0deg,rgba(0,0,0,.42),transparent 48%)}
.contact-page-hero__content{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:1fr 1fr;align-items:end;padding-top:150px;padding-bottom:64px;gap:8vw}
.contact-page-hero__title{align-self:center;margin-top:70px}
.contact-page-hero__title .inner-eyebrow{color:#fff;margin-bottom:20px}
.contact-page-hero__title h1{font:500 clamp(58px,6vw,96px)/.98 var(--sans);letter-spacing:-.055em;max-width:760px}
.contact-page-hero__title h1 strong{font-weight:500}
.contact-page-hero__intro{font:400 clamp(17px,1.35vw,23px)/1.5 var(--sans);max-width:600px;justify-self:end;align-self:end;color:#fff;margin-bottom:3px}

/* CONTACT DETAILS + FORM */
.contact-info-section{padding:120px 0 92px;background:#fff}
.contact-info-grid{grid-template-columns:.95fr 1.05fr;gap:64px;align-items:stretch}
.contact-details-card{padding:6px 32px 0 0}
.contact-details-card .inner-eyebrow{margin-bottom:20px}
.contact-details-card h2{font:500 clamp(45px,4vw,67px)/1.02 var(--sans);letter-spacing:-.045em;margin-bottom:46px}
.contact-detail-block{padding:0 0 38px;margin-bottom:38px;border-bottom:1px solid var(--line)}
.contact-detail-block:last-child{margin-bottom:0}
.contact-detail-block h3{font:600 18px/1.3 var(--sans);margin:0 0 18px}
.contact-detail-block p,.contact-detail-block a{font:400 16px/1.65 var(--sans);color:var(--ink)}
.contact-form-panel{background:#f2f2f2;padding:40px 34px 32px;min-height:690px}
.contact-form-panel h2{font:500 clamp(36px,3.15vw,52px)/1.12 var(--sans);letter-spacing:-.035em;margin:0 0 34px;max-width:690px}
.contact-page-form{grid-template-columns:1fr 1fr;gap:0 24px}
.contact-page-form label{padding:0 0 14px;margin:0 0 25px;border-bottom:1px solid #d4d4d4;color:#737781;text-transform:none;letter-spacing:0;font-size:15px}
.contact-page-form label span{display:block}
.contact-page-form input,.contact-page-form textarea,.contact-page-form select{padding:8px 0 0;font-size:16px;background:transparent;color:#111}
.contact-page-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#777 50%),linear-gradient(135deg,#777 50%,transparent 50%);background-position:calc(100% - 8px) 15px,calc(100% - 3px) 15px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.contact-page-form button{grid-column:1/-1;width:100%;border-radius:0;padding:18px 24px;background:#181818;display:flex;justify-content:center;gap:15px;font-size:15px;font-weight:500}
.contact-page-form button b{font-size:17px;font-weight:400}

/* MAP */
.contact-map-section{padding:72px 0 0;background:#fff}
.contact-map-copy{padding-bottom:46px}
.contact-map-copy .inner-eyebrow{margin-bottom:20px}
.contact-map-copy h2{font:500 clamp(48px,4.4vw,72px)/1 var(--sans);letter-spacing:-.045em}
.contact-map{display:block;width:100%;height:min(62vw,650px);min-height:480px;background:#f1f1f1;overflow:hidden;position:relative}
.contact-map__placeholder{position:absolute;inset:0;background:#f5f5f5;overflow:hidden}
.map-grid{position:absolute;inset:-12%;background:
 linear-gradient(22deg,transparent 48%,#e3e3e3 49%,#e3e3e3 51%,transparent 52%) 0 0/180px 120px,
 linear-gradient(-18deg,transparent 48%,#e7e7e7 49%,#e7e7e7 51%,transparent 52%) 0 0/210px 140px,
 linear-gradient(90deg,transparent 48%,#ececec 49%,#ececec 51%,transparent 52%) 0 0/150px 160px,
 #f7f7f7;transform:rotate(-3deg) scale(1.12)}
.map-city{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);font:500 clamp(44px,5vw,78px)/1 var(--sans);color:#b9b9b9;letter-spacing:-.04em}
.map-pin{position:absolute;left:52%;top:54%;width:24px;height:24px;border-radius:50%;background:#002A2C;box-shadow:0 0 0 9px rgba(0,42,44,.11)}
.map-pin span{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;left:8px;top:8px}

@media(max-width:1000px){
  .contact-page-hero__content{grid-template-columns:1fr;align-content:end;gap:34px;padding-bottom:55px}
  .contact-page-hero__title{align-self:end;margin-top:0}
  .contact-page-hero__intro{justify-self:start;max-width:620px}
  .contact-info-grid{grid-template-columns:1fr;gap:55px}
  .contact-details-card{padding-right:0}
}
@media(max-width:700px){
  .contact-page-hero{height:92svh;min-height:670px;padding:0}
  .contact-page-hero__content{padding-top:120px;padding-bottom:34px;gap:28px}
  .contact-page-hero__title h1{font-size:clamp(52px,14vw,72px)}
  .contact-page-hero__intro{font-size:15px;max-width:320px}
  .contact-info-section{padding:78px 0 70px}
  .contact-details-card h2{font-size:44px;margin-bottom:36px}
  .contact-detail-block{padding-bottom:28px;margin-bottom:28px}
  .contact-form-panel{padding:30px 22px 24px;min-height:0}
  .contact-form-panel h2{font-size:34px;margin-bottom:30px}
  .contact-page-form{grid-template-columns:1fr}
  .contact-page-form label.full,.contact-page-form button{grid-column:auto}
  .contact-map-section{padding-top:58px}
  .contact-map-copy{padding-bottom:30px}
  .contact-map-copy h2{font-size:46px}
  .contact-map{height:58vh;min-height:390px}
}


/* ===== Contact hero/map visibility fix ===== */
.contact-page-body .site-header,
.contact-page-body .site-header.is-on-dark{color:#fff !important;mix-blend-mode:normal !important}
.contact-page-body .brand img,
.contact-page-body .site-header.is-on-dark .brand img{filter:brightness(0) invert(1) !important;opacity:1 !important}
.contact-page-body .menu-btn{color:#fff !important;opacity:1 !important}
.contact-page-body .menu-btn i{background:#fff !important}
.contact-page-visual{
  clip-path:none !important;
  opacity:1 !important;
}
.contact-page-visual::after{display:none !important}
.contact-map{background:#f3f3f3}
.contact-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(1) contrast(.94) brightness(1.08)}
@media(max-width:700px){
  .contact-page-visual img{object-position:62% center}
}

/* Map visibility hard-fix */
.contact-map{display:block!important;position:relative!important;overflow:hidden!important;clip-path:none!important;opacity:1!important;visibility:visible!important;min-height:520px!important;background:#ececec!important}
.contact-map iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:520px!important;border:0!important;display:block!important;opacity:1!important;visibility:visible!important;clip-path:none!important;filter:grayscale(1) contrast(.94) brightness(1.08)}
@media(max-width:700px){.contact-map,.contact-map iframe{min-height:400px!important}}

/* Projects hero gold emphasis */
.gold-emphasis{color:#9C7114 !important;}

/* ===== 11 Aug revision: Portfolio geometry + gold accents ===== */
/* Match Portfolio project panels to the exact Home Featured Projects geometry. */
@media (min-width:1001px){
  .projects-page-stack{padding-left:0 !important;padding-right:0 !important;}
  .projects-page-stack>.inner-shell{width:min(100% - (var(--pad)*2),1500px);}
  .projects-page-stack .project-stack{box-sizing:border-box;padding-left:100px !important;padding-right:100px !important;border-radius:0;overflow:visible;}
  .projects-page-stack .project-card.sticky-project{width:100%;height:100svh;min-height:100svh;}
}
/* Requested breathing room between the final project panel and Our Approach. */
.projects-philosophy{margin-top:100px;}
/* Gold accent on the italic CTA word. */
.projects-cta h2 em{color:var(--gold) !important;}
/* Footer accent headings/tagline across all inner pages. */
.vd-footer__tagline,.vd-footer__group>p{color:var(--gold) !important;}

/* Contact page final typography */
.contact-page-hero__title h1 strong{font:italic 400 1em/0.98 var(--serif);letter-spacing:-.045em}
.contact-details-card h2{font:italic 400 clamp(45px,4vw,67px)/1.02 var(--serif);letter-spacing:-.045em;color:var(--gold)}
