:root { --forest:#063d2b; --forest-deep:#03291d; --cream:#f3efe7; --paper:#faf8f3; --gold:#a56523; --ink:#15261d; --sans:"DM Sans",Arial,sans-serif; --serif:"Playfair Display",Georgia,serif; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden}.site-grain{position:fixed;inset:0;z-index:10;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E")}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{height:92px;padding:13px clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:5;width:100%}.brand img{display:block;width:125px;height:66px;object-fit:contain;mix-blend-mode:multiply}.site-header nav{display:flex;gap:clamp(22px,3vw,46px);align-items:center}.site-header nav a{color:var(--forest);font-size:13px;font-weight:600;text-decoration:none}.site-header nav a:hover{color:var(--gold)}.site-header nav .nav-cta{padding:11px 15px;border:1px solid rgba(6,61,43,.4)}.nav-cta span,.button span{font-size:19px;margin-left:10px;line-height:0}.menu-button{display:none;background:none;border:0;width:40px;padding:9px 0}.menu-button span:not(.sr-only){height:1px;background:var(--forest);display:block;margin:5px 0;width:100%}.hero{min-height:760px;position:relative;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;padding:140px clamp(22px,9vw,140px) 70px;background:radial-gradient(circle at 76% 31%,rgba(173,109,38,.13),transparent 25%),linear-gradient(120deg,#f7f4ed 0%,#eee8dc 100%);overflow:hidden}.hero-copy{position:relative;z-index:1;max-width:670px}.eyebrow{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin:0 0 20px}.eyebrow span{height:1px;width:32px;background:currentColor}.eyebrow.light{color:#e1bd87}.hero h1,.statement h2,.section-heading h2,.gallery h2,.contact h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:.98;margin:0}.hero h1{font-size:clamp(52px,6.8vw,104px);color:var(--forest);max-width:780px}.hero h1 em,.statement h2 em,.section-heading h2 em,.gallery h2 em,.contact h2 em{color:var(--gold);font-style:italic}.hero-intro{font-size:18px;line-height:1.65;max-width:420px;margin:29px 0}.hero-actions{display:flex;align-items:center;gap:31px}.button{font-size:13px;font-weight:700;text-decoration:none;letter-spacing:.01em;padding:15px 18px;display:inline-flex;align-items:center;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--forest);color:white}.text-link{font-size:13px;font-weight:700;text-decoration:none;color:var(--forest);border-bottom:1px solid rgba(6,61,43,.35);padding-bottom:4px}.text-link span{font-size:16px;margin-left:7px}.hero-mark{position:relative;z-index:1;align-self:center;justify-self:center;width:min(420px,90%);text-align:center}.mark-backdrop{position:absolute;width:clamp(300px,33vw,530px);height:clamp(300px,33vw,530px);border-radius:50%;border:1px solid rgba(165,101,35,.35);inset:50% auto auto 50%;transform:translate(-50%,-50%)}.mark-backdrop:before,.mark-backdrop:after{content:"";position:absolute;border-radius:50%;inset:18px;border:1px solid rgba(6,61,43,.12)}.mark-backdrop:after{inset:45px}.hero-mark img{width:100%;position:relative;mix-blend-mode:multiply;filter:drop-shadow(0 18px 19px rgba(55,41,23,.13))}.hero-mark p{position:relative;color:var(--forest);font:600 11px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin:-5px 0 0}.hero-footnote{position:absolute;left:clamp(22px,5vw,76px);bottom:27px;color:#70766b;font-size:10px;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.scroll-line{display:block;height:1px;width:42px;background:var(--gold)}.hero-orbit{position:absolute;border:1px solid rgba(6,61,43,.09);border-radius:50%;pointer-events:none}.orbit-one{height:710px;width:710px;right:-260px;bottom:-380px}.orbit-two{height:980px;width:980px;right:-510px;bottom:-555px}.section-pad{padding:clamp(76px,11vw,156px) clamp(22px,9vw,140px)}.statement{background:var(--cream);position:relative;overflow:hidden}.statement-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:10vw;align-items:end}.statement h2{color:var(--forest);font-size:clamp(43px,5.6vw,82px);max-width:720px}.statement-layout>div>p{margin:0 0 25px;max-width:370px;font-size:16px;line-height:1.8}.dark-link{color:var(--forest)}.wood-lines{position:absolute;right:-12%;bottom:-245px;width:690px;height:500px;border:1px solid rgba(165,101,35,.3);border-radius:50% 50% 0 0;transform:rotate(-24deg)}.wood-lines i{position:absolute;inset:30px;border:1px solid rgba(165,101,35,.25);border-radius:inherit}.wood-lines i:nth-child(2){inset:61px}.wood-lines i:nth-child(3){inset:93px}.wood-lines i:nth-child(4){inset:125px}.wood-lines i:nth-child(5){inset:157px}.services{background:var(--forest-deep);color:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-heading h2,.gallery h2{font-size:clamp(43px,5vw,75px)}.service-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(243,239,231,.3)}.service-card{min-height:340px;padding:25px clamp(19px,2.5vw,39px) 25px 0;border-right:1px solid rgba(243,239,231,.2);position:relative}.service-card+ .service-card{padding-left:clamp(19px,2.5vw,39px)}.service-card:last-child{border:0}.service-card>span{font-size:11px;color:#e1bd87;letter-spacing:.1em}.service-card h3{font:500 clamp(25px,2.4vw,35px)/1.1 var(--serif);letter-spacing:-.03em;margin:74px 0 15px}.service-card p{color:#c5c9c2;max-width:250px;font-size:14px}.service-icon{height:74px;width:74px;position:absolute;right:27px;bottom:25px;opacity:.9}.icon-plan{border:1px solid #d7af74;box-shadow:17px -17px 0 -1px transparent,17px -17px 0 -1px #d7af74}.icon-plan:after{content:"";position:absolute;height:1px;width:100px;background:#d7af74;top:36px;left:-12px;transform:rotate(-45deg)}.icon-grain{border-radius:50%;border:1px solid #d7af74}.icon-grain:before,.icon-grain:after{content:"";position:absolute;border-radius:50%;border:1px solid #d7af74}.icon-grain:before{inset:13px}.icon-grain:after{inset:27px}.icon-arch{border:1px solid #d7af74;border-bottom:0;border-radius:75px 75px 0 0}.icon-arch:after{content:"";position:absolute;border:1px solid #d7af74;border-bottom:0;border-radius:50px 50px 0 0;inset:13px 13px 0}.gallery{background:var(--paper)}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:56px}.gallery-heading>p{max-width:295px;margin:0;font-size:15px;line-height:1.75}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,2vw,26px)}.gallery-item{min-height:260px;position:relative;overflow:hidden;background:linear-gradient(135deg,#d5c5ae,#8f6a3c);grid-column:span 4;display:block}.gallery-item:nth-child(5n+2){grid-column:span 5;min-height:390px}.gallery-item:nth-child(5n+3){grid-column:span 3;min-height:390px}.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;position:absolute;inset:0;transition:transform .55s}.gallery-item:hover img{transform:scale(1.06)}.gallery-hover{position:absolute;right:14px;bottom:14px;color:white;background:rgba(3,41,29,.82);padding:8px 10px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;transform:translateY(60px);transition:transform .3s}.gallery-item:hover .gallery-hover{transform:translateY(0)}.gallery-empty{grid-column:1/-1;border:1px dashed rgba(6,61,43,.3);padding:50px 25px;text-align:center;color:#526258}.gallery-empty strong{display:block;color:var(--forest);font:500 27px var(--serif);margin-bottom:8px}.gallery-empty code{color:var(--gold);font-family:var(--sans);font-weight:700}.contact{background:var(--forest);color:var(--cream);position:relative;overflow:hidden}.contact h2{font-size:clamp(57px,7.3vw,106px);position:relative;z-index:1;margin-bottom:42px}.button-gold{background:var(--gold);color:white;position:relative;z-index:1}.contact-grid{position:relative;z-index:1;margin-top:100px;padding-top:25px;border-top:1px solid rgba(243,239,231,.3);display:grid;grid-template-columns:1fr 1.4fr 1.2fr;gap:30px}.contact-grid a,.contact-grid address{font-size:14px;line-height:1.7;color:var(--cream);font-style:normal;text-decoration:none}.contact-label{color:#e1bd87;font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 6px}.contact-orb{position:absolute;right:-7%;top:-45%;height:720px;width:720px;border:1px solid rgba(225,189,135,.3);border-radius:50%}.contact-orb:before,.contact-orb:after{content:"";position:absolute;border:1px solid rgba(225,189,135,.22);border-radius:50%;inset:60px}.contact-orb:after{inset:120px}footer{background:#04271c;color:#a7b7ab;padding:28px clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px}footer img{width:72px;height:40px;object-fit:contain;display: block;opacity:.8}footer p{margin:0}footer a{color:#e1bd87;text-decoration:none}.reveal{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.site-header{height:77px;padding:8px 22px;background:rgba(250,248,243,.88);backdrop-filter:blur(9px);position:fixed}.brand img{height:56px;width:104px}.menu-button{display:block;position:relative;z-index:2}.site-header nav{display:none;position:absolute;top:0;right:0;width:100%;padding:91px 22px 28px;flex-direction:column;align-items:flex-start;background:var(--paper);box-shadow:0 14px 25px rgba(3,41,29,.08)}.site-header nav.open{display:flex}.site-header nav .nav-cta{width:100%}.hero{min-height:730px;grid-template-columns:1fr;padding:130px 22px 64px}.hero h1{font-size:clamp(50px,15.5vw,75px)}.hero-intro{font-size:16px;margin:22px 0}.hero-mark{display:none}.hero-mark p{font-size:8px}.hero-actions{gap:18px}.hero-actions .text-link{white-space:nowrap}.statement-layout,.section-heading,.gallery-heading{display:block}.statement-layout>div{margin-top:35px}.wood-lines{right:-85%;bottom:-290px}.service-list{grid-template-columns:1fr}.service-card,.service-card+.service-card{min-height:250px;padding:23px 18px;border-right:0;border-bottom:1px solid rgba(243,239,231,.2)}.service-card h3{margin-top:36px}.gallery-heading>p{margin-top:25px}.gallery-grid{gap:12px}.gallery-item,.gallery-item:nth-child(5n+2),.gallery-item:nth-child(5n+3){grid-column:span 6;min-height:200px}.gallery-item:nth-child(5n+2){min-height:250px}.contact-grid{margin-top:65px;grid-template-columns:1fr;gap:19px}.contact-orb{height:500px;width:500px;right:-58%;top:-9%}footer{align-items:flex-start;flex-direction:column;gap:11px;padding:24px 22px}.section-pad{padding:78px 22px}}

/* Profile, reviews, map, and logo-blending enhancements */
.brand,.hero-mark{mix-blend-mode:multiply}.brand img{filter:contrast(1.06) saturate(1.14)}.hero-mark img{filter:contrast(1.08) saturate(1.16) drop-shadow(0 18px 19px rgba(55,41,23,.13))}.reviews{background:var(--cream)}.reviews h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:.98;margin:0;color:var(--forest);font-size:clamp(43px,5vw,75px)}.reviews h2 em{color:var(--gold);font-style:italic}.reviews-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:58px}.rating-summary{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;text-decoration:none;color:var(--forest);padding:13px 0;border-top:1px solid rgba(6,61,43,.35);border-bottom:1px solid rgba(6,61,43,.35);min-width:215px}.rating-summary>span:last-child{grid-column:2;font-size:11px;font-weight:700}.rating-number{font:500 44px/.9 var(--serif);grid-row:span 2}.stars{color:var(--gold);font-size:13px;letter-spacing:.1em}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(6,61,43,.18)}.testimonial-grid figure{margin:0;background:var(--paper);padding:clamp(25px,3.2vw,47px);min-height:285px;display:flex;flex-direction:column}.testimonial-grid blockquote{font:500 clamp(22px,2.2vw,32px)/1.2 var(--serif);letter-spacing:-.03em;color:var(--forest);margin:34px 0 auto}.testimonial-grid figcaption{font-size:12px;font-weight:700;color:var(--forest);padding-top:32px}.testimonial-grid figcaption span{display:block;color:#79817a;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-top:3px}.contact-actions{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap}.button-gold{position:static}.button-outline{color:var(--cream);border:1px solid rgba(243,239,231,.6)}.contact-grid{margin-top:80px}.location-map{position:relative;z-index:1;margin-top:45px;border:1px solid rgba(243,239,231,.28);height:300px}.location-map iframe{border:0;width:100%;height:100%;filter:grayscale(1) sepia(.3) hue-rotate(90deg) saturate(.7) brightness(.78)}.location-map a{position:absolute;right:12px;bottom:12px;padding:10px 12px;background:var(--cream);color:var(--forest);font-size:11px;font-weight:700;text-decoration:none}.location-map a span{font-size:15px;margin-left:5px}
@media(max-width:760px){.reviews-intro{display:block}.rating-summary{margin-top:33px;max-width:235px}.testimonial-grid{grid-template-columns:1fr}.testimonial-grid figure{min-height:235px}.location-map{height:240px;margin-top:30px}}

/* Why Nandhi Woods */
.why-us {
  padding: 110px 7vw;
  background: var(--cream);
}

.why-us .section-heading {
  max-width: 760px;
  margin-bottom: 55px;
}

.why-us-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(6, 61, 43, 0.16);
  border: 1px solid rgba(6, 61, 43, 0.16);
}

.why-us-card {
  padding: 38px 30px;
  background: var(--cream);
  min-height: 230px;
  transition: transform 0.25s ease, background 0.25s ease;
}

.why-us-card span {
  display: block;
  margin-bottom: 28px;
  color: var(--gold);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  font-weight: 600;
}

.why-us-card h3 {
  margin: 0 0 14px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--forest);
}

.why-us-card p {
  margin: 0;
  color: rgba(3, 41, 29, 0.72);
  font-size: 0.94rem;
  line-height: 1.75;
}

.why-us-card:hover {
  transform: translateY(-4px);
  background: var(--paper);
}

@media (max-width: 1000px) {
  .why-us-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  .why-us {
    padding: 80px 6vw;
  }

  .why-us .section-heading {
    margin-bottom: 38px;
  }

  .why-us-grid {
    grid-template-columns: 1fr;
  }

  .why-us-card {
    min-height: auto;
    padding: 30px 24px;
  }
}

/* Gallery project captions */
.gallery-item {
  position: relative;
  overflow: hidden;
}

.gallery-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 60px 24px 22px;
  background: linear-gradient(
    to top,
    rgba(3, 41, 29, 0.92),
    rgba(3, 41, 29, 0)
  );
  color: #fff;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.gallery-item:hover .gallery-caption,
.gallery-item:focus-visible .gallery-caption {
  opacity: 1;
  transform: translateY(0);
}

.gallery-category {
  display: block;
  margin-bottom: 6px;
  color: #d4a15f;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.gallery-title {
  margin: 0;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.25rem;
  font-weight: 500;
}

@media (max-width: 760px) {
  .gallery-caption {
    opacity: 1;
    transform: none;
    padding: 45px 18px 16px;
  }

  .gallery-title {
    font-size: 1.05rem;
  }
}

/* Mobile contact bar */
.mobile-contact-bar {
  display: none;
}

@media (max-width: 760px) {
  .mobile-contact-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--forest-deep);
    box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.12);
  }

  .mobile-contact-bar a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 64px;
    text-decoration: none;
    color: #fff;
  }

  .mobile-contact-bar a + a {
    border-left: 1px solid rgba(255, 255, 255, 0.16);
  }

  .mobile-contact-bar span {
    margin-bottom: 3px;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.7;
  }

  .mobile-contact-bar strong {
    font-size: 0.88rem;
    font-weight: 600;
  }

  .mobile-contact-whatsapp strong {
    color: #d4a15f;
  }

  body {
    padding-bottom: 64px;
  }
  
}

@media (max-width: 760px) {
  .reviews-note {
    max-width: 100%;
    margin-top: 14px;
  }
}

/* Contact introduction */
.contact-intro {
  max-width: 620px;
  margin: 22px 0 32px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 1rem;
  line-height: 1.8;
}

/* Reviews supporting text */
.reviews-note {
  max-width: 360px;
  margin: 18px 0 0;
  color: rgba(3, 41, 29, 0.68);
  font-size: 0.92rem;
  line-height: 1.7;
}

.footer-credit {
  margin: 8px 0 0;
  font-size: 0.72rem;
  line-height: 1.5;
  opacity: 0.65;
}

.footer-credit a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.footer-credit a:hover,
.footer-credit a:focus-visible {
  opacity: 1;
  text-decoration: underline;
}

/* Footer copyright and designer credit */
.footer-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.footer-copy p {
  margin: 0;
}

.footer-credit {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.5;
  opacity: 0.65;
}

.footer-credit a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.footer-credit a:hover,
.footer-credit a:focus-visible {
  opacity: 1;
  text-decoration: underline;
}

@media (max-width: 760px) {
  .footer-copy {
    align-items: center;
    text-align: center;
  }
}
