/* ===================== Base ===================== */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#F7F4EF;font-family:'Jost',sans-serif;color:#0B0B0B;overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}

/* ===================== Shared interactive styles ===================== */
.nav-link{position:relative;}
.nav-link::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:#C79B5C;transition:width .35s ease;}
.nav-link:hover::after{width:100%;}
.nav-link:hover{color:#AF854E;}

.usp-card{transition:transform .4s ease, box-shadow .4s ease, border-color .4s ease;}
.usp-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(11,11,11,.08);border-color:#C79B5C;}

.price-card{transition:transform .4s ease, box-shadow .4s ease;}
.price-card:hover{transform:translateY(-8px);box-shadow:0 34px 60px rgba(11,11,11,.12);}

.info-card{transition:transform .4s ease, box-shadow .4s ease, border-color .4s ease;}
.info-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(11,11,11,.08);border-color:#C79B5C;}

.gallery-card{transition:transform .4s ease, box-shadow .4s ease;}
.gallery-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(11,11,11,.1);}

/* Projects carousel */
.projects-carousel{max-width:1280px;margin:0 auto;}
.projects-carousel-viewport{overflow:hidden;padding:3px 3px 12px;margin:0 -3px;}
.projects-carousel-track{display:flex;gap:22px;will-change:transform;transition:transform .62s cubic-bezier(.22,.75,.26,1);touch-action:pan-y;cursor:grab;}
.projects-carousel-track.is-dragging{cursor:grabbing;transition:none;}
.projects-carousel-track>.gallery-card{flex:0 0 calc((100% - 44px)/3);min-width:0;}
.projects-carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:0;margin-top:22px;}
.projects-carousel-button{display:grid;place-items:center;width:52px;height:46px;padding:0;border:1px solid #ddc292;background:#fbf8f2;color:#28221b;cursor:pointer;transition:background .28s ease,color .28s ease,transform .28s cubic-bezier(.22,.75,.26,1),border-color .28s ease,box-shadow .28s ease;}
.projects-carousel-button:first-child{border-radius:3px 0 0 3px;}
.projects-carousel-button:last-child{border-left:0;border-radius:0 3px 3px 0;}
.projects-carousel-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55;transition:transform .28s cubic-bezier(.22,.75,.26,1);}
.projects-carousel-button:hover:not(:disabled){position:relative;z-index:1;background:#b7833f;border-color:#b7833f;color:#fff;box-shadow:0 10px 20px rgba(128,83,31,.2);}
.projects-carousel-button:first-child:hover:not(:disabled) svg{transform:translateX(-3px);}
.projects-carousel-button:last-child:hover:not(:disabled) svg{transform:translateX(3px);}
.projects-carousel-button:focus-visible{position:relative;z-index:2;outline:2px solid #24201b;outline-offset:3px;}
.projects-carousel-button:disabled{background:#f7f3ec;color:#a79d90;cursor:not-allowed;}
.project-card-image-link{position:relative;z-index:2;display:block;overflow:hidden;pointer-events:auto;}
.project-card-image-link img{display:block;transition:transform .55s cubic-bezier(.22,.75,.26,1);}
.gallery-card:hover .project-card-image-link img{transform:scale(1.045);}
.project-card-title{position:relative;z-index:2;color:inherit;text-decoration:none;pointer-events:auto;transition:color .25s ease;}
.project-card-title:hover{color:#af854e;}

.btn-gold{transition:box-shadow .35s ease, transform .35s ease;}
.btn-gold:hover{box-shadow:0 14px 34px rgba(199,155,92,.4);transform:translateY(-2px);}

.btn-outline{transition:background .3s ease, color .3s ease;}
.btn-outline:hover{background:#0B0B0B;color:#F7F4EF;}

.float-btn{transition:transform .3s ease, box-shadow .3s ease;}
.float-btn:hover{transform:translateY(-3px) scale(1.04);}

.form-field{transition:border-color .3s ease;}
.form-field:focus{outline:none;border-color:#C79B5C !important;}

/* ===================== Site Nav ===================== */
.sn-wrap{position:relative;z-index:40;}
.sn-desktop{display:flex;align-items:center;gap:38px;}
.sn-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.sn-burger span{display:block;width:26px;height:2px;background:#0B0B0B;transition:transform .3s ease,opacity .3s ease;}
.sn-item{position:relative;}
.sn-panel{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);min-width:220px;background:#FBF8F2;border:1px solid #e4ddcf;border-radius:3px;box-shadow:0 20px 44px rgba(11,11,11,.12);padding:10px;opacity:0;visibility:hidden;transition:opacity .28s ease,transform .28s ease;z-index:50;}
.sn-item:hover .sn-panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.sn-panel::before{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);width:11px;height:11px;background:#FBF8F2;border-left:1px solid #e4ddcf;border-top:1px solid #e4ddcf;}
.sn-panel a{display:block;padding:12px 16px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#0B0B0B;font-weight:400;border-radius:2px;transition:background .25s ease,color .25s ease;white-space:nowrap;}
.sn-panel a:hover{background:#EFE7D7;color:#AF854E;}
.sn-caret{display:inline-block;margin-left:6px;font-size:9px;transition:transform .3s ease;color:#AF854E;}
.sn-item:hover .sn-caret{transform:rotate(180deg);}
.sn-mobile{position:absolute;top:100%;left:0;right:0;background:#F7F4EF;border-top:1px solid #e4ddcf;box-shadow:0 24px 44px rgba(11,11,11,.14);max-height:0;overflow:hidden;transition:max-height .45s ease;z-index:45;}
.sn-mobile.open{max-height:640px;}
.sn-macc{max-height:0;overflow:hidden;transition:max-height .4s ease;background:#EFE7D7;}
.sn-macc.open{max-height:320px;}
.sn-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.sn-burger.open span:nth-child(2){opacity:0;}
.sn-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:940px){
  .sn-desktop{display:none;}
  .sn-burger{display:flex;}
}

/* ===================== Site Footer ===================== */
.social-link{transition:background .3s ease,border-color .3s ease,color .3s ease;}
.social-link:hover{background:#C79B5C;border-color:#C79B5C;color:#fff;}

/* ===================== Dark-nav variant (used on Contact) ===================== */
.sn-wrap.dark .sn-burger span{background:#F7F4EF;}
.sn-wrap.dark .sn-mobile{background:#151310;border-top:1px solid #2a251c;}

/* ===================== Responsive Layout Overrides ===================== */
/* Utility classes (r-*) are added to HTML elements so media queries can
   override their inline styles via !important.                            */

/* --- Tablet & small laptops (≤ 1024px) --- */
@media(max-width:1024px){
  .projects-carousel-track{gap:18px;}
  .projects-carousel-track>.gallery-card{flex-basis:calc((100% - 18px)/2);}
  .r-grid-2{gap:40px!important;}
  .r-grid-3{grid-template-columns:repeat(2,1fr)!important;}
  .r-grid-4{grid-template-columns:repeat(2,1fr)!important;}
  .r-feat-img{height:380px!important;}
  .r-hero-img{height:min(420px,50vh)!important;}
}

/* --- Mobile (≤ 768px) --- */
@media(max-width:768px){
  .projects-carousel-track{gap:14px;}
  .projects-carousel-track>.gallery-card{flex-basis:100%;}
  .projects-carousel-controls{margin-top:16px;}
  .r-grid-2{grid-template-columns:1fr!important;gap:30px!important;}
  .r-grid-3{grid-template-columns:1fr!important;gap:18px!important;}
  .r-grid-4{gap:14px!important;}
  .r-footer-grid{grid-template-columns:1fr 1fr!important;gap:28px!important;}
  .r-stats{flex-wrap:wrap!important;gap:20px 30px!important;justify-content:flex-start!important;}
  .r-feat-img{height:260px!important;}
  .r-hero-img{height:min(280px,40vh)!important;}
  .r-hero-decor,.r-feat-decor{display:none!important;}
  .r-price-inner{grid-template-columns:1fr 1fr!important;}
  .r-form-row{grid-template-columns:1fr!important;}
  .r-float-pill{right:20px!important;bottom:96px!important;padding:12px 18px!important;font-size:11px!important;}
  .sn-mobile.open{max-height:calc(100vh - 80px);overflow-y:auto;}
}

/* --- Small mobile (≤ 480px) --- */
@media(max-width:480px){
  .r-grid-4.about-services-grid,.r-grid-4.about-team-grid,.r-grid-4.about-stats-grid{grid-template-columns:repeat(2,1fr)!important;}
  .about-services-grid,.about-team-grid{gap:12px!important;}
  .about-services-grid>div,.about-team-grid>div{padding:20px 15px!important;min-height:0!important;}
  .about-team-grid h3{font-size:21px!important;}
  .about-stats-grid{gap:0!important;}
  .about-stats-grid>div{border-right:1px solid #e4ddcf!important;border-bottom:1px solid #e4ddcf!important;padding:25px 14px!important;}
  .about-stats-grid>div:nth-child(2n){border-right:0!important;}
  .about-stats-grid>div:nth-last-child(-n+2){border-bottom:0!important;}
  .r-grid-4.properties-stats-grid{grid-template-columns:repeat(2,1fr)!important;}
  .properties-stats-grid{gap:0!important;}
  .properties-stats-grid>div{padding:25px 14px!important;border-right:1px solid #e4ddcf!important;border-bottom:1px solid #e4ddcf!important;}
  .properties-stats-grid>div:nth-child(2n){border-right:0!important;}
  .properties-stats-grid>div:nth-last-child(-n+2){border-bottom:0!important;}
  .r-grid-4{grid-template-columns:1fr!important;}
  .r-footer-grid{grid-template-columns:1fr!important;}
  .r-feat-img{height:220px!important;}
  .r-hero-img{height:min(240px,36vh)!important;}
  .r-price-inner{grid-template-columns:1fr!important;}
  .r-float-pill{right:16px!important;bottom:90px!important;padding:10px 14px!important;font-size:10px!important;letter-spacing:.1em!important;}
}

/* The shared sticky nav occupies its own 78px row. Keep imported page heroes
   comfortably separated from it instead of starting flush against the border. */
body > .saachi-nav.is-solid + section[style*="background:#F7F4EF"]{
  padding-top:clamp(38px,5vw,72px)!important;
}

/* Keep the desktop dropdown legible against both transparent and solid nav states. */
.saachi-nav .saachi-nav-dropdown a,
.saachi-nav .saachi-nav-dropdown a:visited{
  color:#24201b!important;
}
