/*
Theme Name: Urban Stoneworks
Theme URI: https://urbanstoneworks.com.au
Author: Urban Stoneworks
Author URI: https://urbanstoneworks.com.au
Description: Premium custom WordPress theme for Urban Stoneworks — luxury landscaping and stonework company in Sydney.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
License URI: https://urbanstoneworks.com.au
Text Domain: urbanstoneworks
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ── Reset & Base ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
img,video{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
button,input,select,textarea{font:inherit;color:inherit;background:transparent;}
::selection{background:#a7d85f;color:#07120d;}

:root{
  --black:#07120d;
  --dark:#0f2117;
  --olive:#19351f;
  --lime:#a7d85f;
  --lime2:#b6e471;
  --sand:#d7c6a3;
  --stone:#d4d0c8;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
}

body{background:var(--black);font-family:var(--sans);color:var(--stone);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:300;letter-spacing:.025em;color:#fff;}

.text-balance{text-wrap:balance;}

/* ── Buttons ── */
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  background:linear-gradient(to right,var(--lime2),var(--lime));
  color:var(--black);font-family:var(--sans);font-size:.875rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.1em;
  padding:16px 32px;border-radius:9999px;cursor:pointer;
  box-shadow:0 4px 14px rgba(167,216,95,.15);
  transition:filter .3s,transform .3s;white-space:nowrap;
}
.btn-primary:hover{filter:brightness(1.1);transform:scale(1.03);}
.btn-primary:active{transform:scale(.98);}

.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  background:transparent;color:#fff;font-family:var(--sans);
  font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;
  padding:16px 32px;border-radius:9999px;
  border:1px solid rgba(255,255,255,.1);cursor:pointer;
  transition:all .3s;white-space:nowrap;
}
.btn-secondary:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.05);}

/* ── Shared ── */
.max-w-7xl{max-width:80rem;margin:0 auto;}
.px-6{padding-left:1.5rem;padding-right:1.5rem;}
.section-tag{
  color:var(--lime);text-transform:uppercase;letter-spacing:.2em;
  font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;gap:12px;
  margin-bottom:16px;
}
.section-tag .line{width:32px;height:1px;background:var(--lime);}

/* ═══════════════════════════════════
   NAVBAR
═══════════════════════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:background .3s,backdrop-filter .3s;
  padding:0 24px;
}
.nav-inner{
  max-width:80rem;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  height:72px;gap:16px;
}
.nav-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.nav-logo-icon{
  width:40px;height:40px;border-radius:10px;background:var(--olive);
  border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  color:var(--lime);font-family:var(--serif);font-style:italic;font-size:1.25rem;flex-shrink:0;
}
.nav-logo-text{font-family:var(--serif);font-size:1.125rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:#fff;}
.nav-logo-text span{color:var(--lime);}
.nav-logo img.custom-logo{height:40px;width:auto;}

.nav-center{display:none;flex:1;justify-content:center;padding:0 16px;}
.nav-links{display:flex;align-items:center;gap:20px;}
.nav-links a{
  position:relative;font-size:.6875rem;text-transform:uppercase;letter-spacing:.15em;
  color:var(--stone);font-weight:500;white-space:nowrap;padding-bottom:4px;overflow:hidden;
  transition:color .3s;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;
  background:var(--lime);transform:translateX(-101%);transition:transform .3s ease-out;
}
.nav-links a:hover,.nav-links a.current-menu-item{color:#fff;}
.nav-links a:hover::after,.nav-links a.current-menu-item::after{transform:translateX(0);}

.nav-right{display:none;align-items:center;gap:16px;flex-shrink:0;border-left:1px solid rgba(255,255,255,.1);padding-left:20px;}
.nav-phone{display:flex;align-items:center;gap:6px;color:#fff;font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500;transition:color .3s;white-space:nowrap;}
.nav-phone:hover{color:var(--lime);}

.nav-toggle{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;color:#fff;cursor:pointer;background:none;
  flex-shrink:0;transition:color .3s;
}
.nav-toggle:hover{color:var(--lime);}
.nav-toggle svg{width:28px;height:28px;}

@media(min-width:1024px){
  .nav-center{display:flex;}
  .nav-right{display:flex;}
  .nav-toggle{display:none;}
}

/* ── Mobile overlay ── */
.mobile-menu{
  display:none;position:fixed;inset:0;z-index:49;
  background:var(--black);padding-top:96px;padding-left:24px;padding-right:24px;
  flex-direction:column;gap:24px;overflow-y:auto;padding-bottom:48px;
  border-bottom:1px solid rgba(167,216,95,.1);
}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-family:var(--serif);font-size:1.875rem;color:var(--stone);transition:color .3s;}
.mobile-menu a:hover{color:#fff;}
.mobile-menu-bottom{padding-top:32px;margin-top:16px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:16px;}
.mobile-call{display:flex;align-items:center;gap:16px;color:#fff;font-size:1.25rem;}
.mobile-call-icon{width:48px;height:48px;border-radius:50%;background:var(--dark);border:1px solid rgba(167,216,95,.2);display:flex;align-items:center;justify-content:center;color:var(--lime);flex-shrink:0;}
.mobile-call-icon svg{width:20px;height:20px;}
.mobile-call-num{font-family:var(--sans);letter-spacing:.1em;font-weight:500;}

/* ═══════════════════════════════════
   HERO
═══════════════════════════════════ */
.hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;
  justify-content:center;padding-top:96px;padding-bottom:64px;
  background:var(--black);overflow:hidden;
}
.hero-bg-glow{
  position:absolute;top:0;right:0;width:800px;height:800px;
  background:rgba(25,53,31,.2);border-radius:50%;filter:blur(120px);
  transform:translate(33%,-33%);pointer-events:none;
}
.hero-inner{
  max-width:80rem;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:minmax(0,1fr);gap:48px;width:100%;
  position:relative;z-index:10;
}
.hero-col-left{display:flex;flex-direction:column;align-items:center;text-align:center;}
.hero-badge{
  display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;
  font-size:.625rem;font-weight:500;color:var(--stone);
  text-transform:uppercase;letter-spacing:.15em;
  border:1px solid rgba(255,255,255,.1);padding:8px 16px;border-radius:9999px;
  background:rgba(255,255,255,.05);backdrop-filter:blur(4px);
  margin-bottom:40px;
}
.hero-badge-stars{display:flex;align-items:center;gap:2px;color:var(--lime);}
.hero-badge-stars svg{width:12px;height:12px;fill:currentColor;}
.hero-badge-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.2);}
.hero-badge-loc{display:flex;align-items:center;gap:4px;color:var(--lime);}
.hero-badge-loc svg{width:12px;height:12px;}
.hero-h1{
  font-family:var(--serif);font-weight:300;color:#fff;
  font-size:clamp(1.875rem,7vw,4.5rem);line-height:1.15;
  margin-bottom:32px;display:flex;flex-direction:column;
  align-items:center;
}
.hero-h1 .sand{color:var(--sand);font-style:italic;}
.hero-lead{
  font-size:1rem;font-weight:300;color:rgba(212,208,200,.9);
  max-width:42rem;line-height:1.625;margin-bottom:40px;text-wrap:balance;
}
.hero-btns{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;}
.hero-btns .btn-primary,.hero-btns .btn-secondary{width:100%;max-width:340px;}

.hero-col-right{position:relative;width:100%;aspect-ratio:3/4;}
.hero-img-border{position:absolute;inset:0;border-radius:2rem;border:1px solid rgba(167,216,95,.2);transform:translate(14px,14px);}
.hero-img-card{position:absolute;inset:0;border-radius:2rem;overflow:hidden;background:var(--dark);border:1px solid rgba(255,255,255,.05);}
.hero-img-card img{width:100%;height:100%;object-fit:cover;opacity:.8;}
.hero-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,18,13,.8),transparent,transparent);}

.hero-cards{
  max-width:80rem;margin:0 auto;padding:40px 24px 32px;width:100%;
  background:var(--black);
}
.hero-cards-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
}
.hero-card{
  background:linear-gradient(to bottom,rgba(15,33,23,.95),rgba(7,18,13,.95));
  backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.05);
  padding:18px 12px;border-radius:16px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  min-height:130px;cursor:pointer;
  transition:all .5s;position:relative;overflow:hidden;
}
.hero-card:hover{transform:translateY(-8px);border-color:rgba(167,216,95,.5);box-shadow:0 20px 40px -20px rgba(167,216,95,.2);}
.hero-card-glow{position:absolute;top:0;right:0;width:128px;height:128px;background:rgba(167,216,95,0);border-radius:50%;filter:blur(40px);transition:background .5s;}
.hero-card:hover .hero-card-glow{background:rgba(167,216,95,.1);}
.hero-card-icon{width:40px;height:40px;border-radius:12px;background:var(--olive);border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:all .3s;box-shadow:0 4px 6px rgba(0,0,0,.2);}
.hero-card:hover .hero-card-icon{transform:scale(1.1);border-color:rgba(167,216,95,.3);}
.hero-card-icon svg{width:18px;height:18px;color:var(--lime);}
.hero-card-title{font-family:var(--serif);font-size:.875rem;color:var(--sand);margin-bottom:4px;line-height:1.2;}
.hero-card-desc{font-size:.625rem;color:rgba(212,208,200,.7);line-height:1.4;font-weight:300;}

@media(min-width:640px){
  .hero-btns{flex-direction:row;justify-content:center;}
  .hero-btns .btn-primary,.hero-btns .btn-secondary{width:auto;max-width:none;}
}
@media(min-width:1024px){
  .hero{padding-top:128px;padding-bottom:64px;}
  .hero-inner{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:64px;}
  .hero-col-left{align-items:flex-start;text-align:left;min-width:0;}
  .hero-h1{align-items:flex-start;}
  .hero-badge{justify-content:flex-start;}
  .hero-col-right{aspect-ratio:auto;min-height:600px;align-self:stretch;min-width:0;}
  .hero-img-card{border-radius:2.5rem;}
  .hero-img-border{border-radius:2.5rem;}
  .hero-btns{justify-content:flex-start;}
  .hero-cards{background:var(--black);position:relative;z-index:5;margin-top:0;padding:40px 24px 0;}
  .hero-cards-grid{grid-template-columns:repeat(4,1fr);gap:24px;}
  .hero-card{padding:32px;align-items:flex-start;text-align:left;height:220px;justify-content:space-between;}
  .hero-card-title{font-size:1.5rem;}
  .hero-card-desc{font-size:.875rem;}
  .hero-card-icon{width:48px;height:48px;margin-bottom:0;}
}

/* ═══════════════════════════════════
   STATS BANNER
═══════════════════════════════════ */
.stats-banner{display:none;padding-top:0;padding-bottom:64px;background:var(--black);position:relative;z-index:0;}
.stats-grid{
  max-width:87.5rem;margin:0 auto;padding:0 32px;
  display:grid;grid-template-columns:repeat(5,1fr);
  border:1px solid rgba(255,255,255,.1);border-radius:16px;
  background:rgba(15,33,23,.5);backdrop-filter:blur(12px);overflow:hidden;
}
.stat-item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:32px;gap:12px;position:relative;
  border-right:1px solid rgba(255,255,255,.1);transition:all .3s;
  cursor:pointer;
}
.stat-item:last-child{border-right:none;}
.stat-item-glow{position:absolute;inset:0;background:linear-gradient(to top,rgba(167,216,95,.05),transparent);opacity:0;transition:opacity .3s;}
.stat-item:hover .stat-item-glow{opacity:1;}
.stat-item-icon{margin-bottom:4px;}
.stat-item-icon svg{width:24px;height:24px;}
.stat-item-icon.highlight svg{color:var(--lime);}
.stat-item-icon.muted svg{color:rgba(212,208,200,.4);}
.stat-value{font-family:var(--serif);font-size:2rem;color:#fff;font-weight:300;line-height:1;}
.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(212,208,200,.7);}
@media(min-width:1024px){.stats-banner{display:block;padding-top:64px;padding-bottom:64px;}}

/* ═══════════════════════════════════
   SIGNATURE SERVICES
═══════════════════════════════════ */
.sig-services{
  padding:64px 0;background:var(--black);
  border-top:1px solid rgba(167,216,95,.05);border-bottom:1px solid rgba(167,216,95,.05);
}
.sig-services-inner{max-width:80rem;margin:0 auto;padding:0 24px;}
.sig-header{text-align:center;margin-bottom:64px;}
.sig-title{
  font-family:var(--serif);font-size:clamp(1.875rem,5vw,3.75rem);
  font-weight:300;color:#fff;line-height:1.15;text-wrap:balance;margin-bottom:24px;
}
.sig-title .sand{color:var(--sand);font-style:italic;}
.sig-body{color:var(--stone);font-weight:300;font-size:1.125rem;max-width:42rem;margin:0 auto;}

.sig-images{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:48px;}
.sig-images img{width:100%;height:200px;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.05);}
@media(min-width:768px){
  .sig-images{grid-template-columns:repeat(3,1fr);}
  .sig-images img{height:256px;}
}

.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:64px;}
.service-tile{
  position:relative;overflow:hidden;
  padding:18px 12px;border-radius:16px;
  background:linear-gradient(to bottom,rgba(255,255,255,.05),transparent);
  border:1px solid rgba(255,255,255,.05);
  transition:all .3s;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.service-tile:hover{border-color:rgba(167,216,95,.3);transform:translateY(-8px);box-shadow:0 20px 40px -20px rgba(167,216,95,.15);}
.service-tile-glow{position:absolute;top:0;right:0;width:128px;height:128px;background:rgba(255,255,255,.05);border-radius:50%;filter:blur(64px);transition:background .5s;}
.service-tile:hover .service-tile-glow{background:rgba(167,216,95,.1);}
.service-tile-icon{width:48px;height:48px;border-radius:16px;background:var(--olive);border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:transform .5s;}
.service-tile:hover .service-tile-icon{transform:scale(1.1);}
.service-tile-icon svg{width:20px;height:20px;color:var(--lime);}
.service-tile h3{font-family:var(--serif);font-size:.875rem;color:#fff;margin-bottom:8px;transition:color .3s;line-height:1.2;}
.service-tile:hover h3{color:var(--lime);}
.service-tile p{color:var(--stone);font-weight:300;font-size:.6875rem;line-height:1.5;}
@media(min-width:640px){
  .service-tile{align-items:flex-start;text-align:left;}
  .service-tile h3{font-size:1.25rem;}
  .service-tile p{font-size:.875rem;}
}
@media(min-width:1024px){
  .services-grid{grid-template-columns:repeat(4,1fr);gap:24px;}
  .service-tile{padding:32px;}
}
.sig-cta{display:flex;justify-content:center;}

/* ═══════════════════════════════════
   PORTFOLIO PREVIEW (Yard to Escape)
═══════════════════════════════════ */
.yard-escape{
  padding:64px 0 0;background:var(--dark);
  border-top:1px solid rgba(167,216,95,.05);border-bottom:1px solid rgba(167,216,95,.05);
}
.yard-escape-inner{max-width:80rem;margin:0 auto;padding:0 24px;}
.yard-escape-header{
  display:flex;flex-direction:column;justify-content:space-between;
  align-items:flex-start;margin-bottom:48px;gap:24px;
}
.yard-title{
  font-family:var(--serif);font-size:clamp(2rem,5vw,3.75rem);
  font-weight:300;color:#fff;line-height:1.1;text-wrap:balance;
}
.yard-title .sand{color:var(--sand);font-style:italic;}
.yard-cards{
  display:grid;grid-template-columns:1fr;gap:24px;
}
.yard-card{
  position:relative;border-radius:2rem;overflow:hidden;
  aspect-ratio:3/4;border:1px solid rgba(255,255,255,.05);
  cursor:pointer;
}
.yard-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease-out;}
.yard-card:hover img{transform:scale(1.1);}
.yard-card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,18,13,.1),rgba(7,18,13,.35),rgba(7,18,13,.85));}
.yard-card-info{position:absolute;bottom:0;left:0;right:0;padding:28px;display:flex;flex-direction:column;align-items:center;text-align:center;}
.yard-card-before{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:rgba(212,208,200,.7);font-weight:300;margin-bottom:8px;}
.yard-card-arrow{color:var(--lime);opacity:.5;margin-bottom:8px;}
.yard-card-arrow svg{width:22px;height:22px;}
.yard-card-after{font-family:var(--serif);font-size:1.375rem;font-weight:500;color:#fff;line-height:1.25;}
.yard-cta-mobile{display:flex;justify-content:center;margin-top:48px;}
@media(min-width:768px){
  .yard-escape-header{flex-direction:row;align-items:flex-end;}
  .yard-cards{grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:110px;}
  .yard-card:nth-child(2){transform:translateY(48px);}
  .yard-card:nth-child(3){transform:translateY(96px);}
  .yard-cta-mobile{display:none;}
}

/* ═══════════════════════════════════
   WHY CHOOSE
═══════════════════════════════════ */
.why{
  padding:64px 0;background:var(--black);
  border-top:1px solid rgba(167,216,95,.05);border-bottom:1px solid rgba(167,216,95,.05);
  position:relative;overflow:hidden;
}
.why-glow{position:absolute;bottom:0;left:0;right:0;height:500px;background:linear-gradient(to top,rgba(167,216,95,.05),transparent);pointer-events:none;}
.why-inner{max-width:80rem;margin:0 auto;padding:0 24px;position:relative;z-index:10;}
.why-top{display:grid;grid-template-columns:1fr;gap:48px;margin-bottom:48px;}
.why-text-tag{color:var(--lime);text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:16px;justify-content:center;}
.why-text-tag .line{width:32px;height:1px;background:var(--lime);}
.why-h2{
  font-family:var(--serif);font-size:clamp(2rem,5vw,3.75rem);font-weight:300;
  color:#fff;line-height:1.1;text-wrap:balance;margin-bottom:24px;text-align:center;
}
.why-h2 .sand{color:var(--sand);font-style:italic;}
.why-para{font-size:1.125rem;color:var(--stone);font-weight:300;line-height:1.625;margin-bottom:16px;text-align:center;}
.why-cards{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:64px;}
.why-card{
  background:linear-gradient(to bottom right,var(--dark),var(--black));
  border:1px solid rgba(255,255,255,.05);padding:32px;border-radius:24px;
  position:relative;overflow:hidden;transition:border-color .3s;cursor:pointer;
}
.why-card:hover{border-color:rgba(167,216,95,.3);}
.why-card-glow{position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:rgba(255,255,255,.05);border-radius:50%;filter:blur(64px);transition:background .5s;}
.why-card:hover .why-card-glow{background:rgba(167,216,95,.1);}
.why-card-top{display:flex;align-items:center;gap:16px;margin-bottom:24px;}
.why-card-icon{width:48px;height:48px;border-radius:50%;background:var(--olive);border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.why-card-icon svg{width:20px;height:20px;color:var(--lime);}
.why-card-tag{font-size:.625rem;text-transform:uppercase;letter-spacing:.2em;color:rgba(212,208,200,.5);font-weight:500;}
.why-card h3{font-family:var(--serif);font-size:1.25rem;color:#fff;margin-bottom:12px;transition:color .3s;}
.why-card:hover h3{color:var(--lime);}
.why-card p{color:var(--stone);font-weight:300;line-height:1.625;font-size:1rem;}
.why-cta{display:flex;justify-content:center;}
@media(min-width:1024px){
  .why-top{grid-template-columns:1fr 1fr;align-items:center;}
  .why-text-tag,.why-h2,.why-para{text-align:left;}
  .why-text-tag{justify-content:flex-start;}
  .why-cards{grid-template-columns:repeat(3,1fr);}
}

/* ═══════════════════════════════════
   PORTFOLIO (Projects)
═══════════════════════════════════ */
.portfolio{
  padding:96px 0;background:var(--dark);
  border-top:1px solid rgba(167,216,95,.05);
}
.portfolio-inner{max-width:80rem;margin:0 auto;padding:0 24px;}
.portfolio-header{
  display:flex;flex-direction:column;justify-content:flex-start;
  align-items:flex-start;margin-bottom:48px;gap:32px;
}
.portfolio-tag{color:var(--lime);text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:16px;justify-content:flex-start;}
.portfolio-tag .line{width:32px;height:1px;background:var(--lime);}
.portfolio-h2{
  font-family:var(--serif);font-size:clamp(2rem,5vw,3.75rem);font-weight:300;
  color:#fff;line-height:1.1;text-wrap:balance;text-align:left;
}
.portfolio-h2 .sand{color:var(--sand);font-style:italic;}
.portfolio-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:64px;}
.proj-card{cursor:pointer;}
.proj-img{
  position:relative;border-radius:24px;overflow:hidden;
  aspect-ratio:1;border:1px solid rgba(255,255,255,.05);margin-bottom:24px;
}
.proj-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.proj-card:hover .proj-img img{transform:scale(1.07);}
.proj-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,18,13,.7),transparent);}
.proj-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;justify-content:center;}
.proj-tag{
  font-size:.625rem;text-transform:uppercase;letter-spacing:.1em;
  color:var(--lime);border:1px solid rgba(167,216,95,.25);border-radius:9999px;
  padding:4px 12px;
}
.proj-h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:#fff;margin-bottom:8px;text-align:center;}
.proj-desc{font-size:.875rem;color:var(--stone);font-weight:300;line-height:1.625;text-align:center;max-width:340px;margin:0 auto;}
.portfolio-cta{display:flex;justify-content:center;}
@media(min-width:768px){
  .proj-tags{justify-content:flex-start;}
  .proj-h3,.proj-desc{text-align:left;}
  .proj-desc{margin:0;}
}
@media(min-width:1024px){
  .portfolio-grid{grid-template-columns:repeat(3,1fr);}
  .proj-img{aspect-ratio:4/5;}
}

/* ═══════════════════════════════════
   GALLERY
═══════════════════════════════════ */
.gallery{padding:64px 0;background:var(--black);overflow:hidden;}
.gallery-inner{max-width:87.5rem;margin:0 auto;padding:0 24px;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.gal-item{
  position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;
  cursor:pointer;border:1px solid rgba(255,255,255,.05);
}
.gal-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease-out;}
.gal-item:hover img{transform:scale(1.05);}
.gal-overlay{
  position:absolute;inset:0;background:rgba(7,18,13,0);transition:background .5s;
  display:flex;flex-direction:column;justify-content:flex-end;
}
.gal-item:hover .gal-overlay{background:rgba(7,18,13,.6);}
.gal-caption-wrap{
  position:absolute;bottom:0;left:0;right:0;padding:12px;
  transform:translateY(8px);opacity:0;transition:all .5s;
  background:linear-gradient(to top,rgba(7,18,13,.8),transparent);
}
.gal-item:hover .gal-caption-wrap{transform:translateY(0);opacity:1;}
.gal-line{width:16px;height:1px;background:var(--lime);margin-bottom:4px;}
.gal-caption{font-family:var(--serif);font-size:.75rem;color:#fff;}
@media(min-width:768px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:24px;}
  .gal-item{border-radius:16px;aspect-ratio:4/3;}
  .gal-caption{font-size:1.5rem;}
  .gal-caption-wrap{padding:32px;}
  .gal-line{width:32px;margin-bottom:12px;}
}
@media(min-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}

/* ═══════════════════════════════════
   REVIEWS
═══════════════════════════════════ */
.reviews{
  padding:64px 0;background:var(--dark);
  border-top:1px solid rgba(167,216,95,.05);border-bottom:1px solid rgba(167,216,95,.05);
  position:relative;overflow:hidden;
}
.reviews-glow{position:absolute;top:50%;left:50%;width:800px;height:800px;background:rgba(167,216,95,.05);border-radius:50%;filter:blur(150px);transform:translate(-50%,-50%);pointer-events:none;}
.reviews-inner{max-width:56rem;margin:0 auto;padding:0 24px;position:relative;z-index:10;}
.reviews-header{text-align:center;margin-bottom:64px;}
.reviews-stars{display:flex;justify-content:center;gap:4px;color:var(--lime);margin-bottom:24px;}
.reviews-stars svg{width:20px;height:20px;fill:currentColor;filter:drop-shadow(0 0 8px rgba(167,216,95,.4));}
.reviews-title{font-family:var(--serif);font-size:clamp(1.875rem,4vw,2.5rem);color:#fff;font-style:italic;font-weight:300;}
.review-carousel{position:relative;height:350px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
@media(min-width:768px){.review-carousel{height:250px;}}
.review-slide{
  position:absolute;width:100%;padding:0 64px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  transition:opacity .4s,transform .4s;
}
.review-slide.hidden{opacity:0;pointer-events:none;}
.review-quote-icon{color:rgba(167,216,95,.2);margin-bottom:24px;}
.review-quote-icon svg{width:40px;height:40px;filter:drop-shadow(0 0 10px rgba(167,216,95,.2));}
.review-text{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:300;color:#fff;line-height:1.625;margin-bottom:32px;text-wrap:balance;}
.review-author{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--lime);font-weight:500;}
.reviews-nav{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:32px;}
@media(min-width:768px){.reviews-nav{margin-top:48px;}}
.reviews-nav-btn{
  width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;color:var(--stone);
  cursor:pointer;background:none;transition:all .3s;z-index:10;
}
.reviews-nav-btn:hover{color:var(--lime);border-color:var(--lime);transform:scale(1.05);}
.reviews-nav-btn svg{width:20px;height:20px;}
.reviews-dots{display:flex;gap:12px;align-items:center;}
.reviews-dot{
  width:8px;height:8px;border-radius:9999px;background:rgba(255,255,255,.2);
  cursor:pointer;transition:all .5s;border:none;
}
.reviews-dot.active{width:32px;background:var(--lime);box-shadow:0 0 10px rgba(167,216,95,.4);}
.reviews-cta{display:flex;justify-content:center;margin-top:64px;}

/* ═══════════════════════════════════
   FAQ
═══════════════════════════════════ */
.faq{
  padding:64px 0;background:var(--black);
  border-top:1px solid rgba(167,216,95,.05);border-bottom:1px solid rgba(167,216,95,.05);
  position:relative;overflow:hidden;
}
.faq-glow{position:absolute;top:0;right:0;width:600px;height:600px;background:rgba(167,216,95,.05);border-radius:50%;filter:blur(150px);transform:translate(33%,-50%);pointer-events:none;}
.faq-inner{max-width:56rem;margin:0 auto;padding:0 24px;position:relative;z-index:10;}
.faq-header{text-align:center;margin-bottom:64px;}
.faq-title{font-family:var(--serif);font-size:clamp(2rem,5vw,3rem);color:#fff;font-weight:300;}
.faq-list{display:flex;flex-direction:column;gap:16px;}
.faq-item{
  background:rgba(7,18,13,.5);border:1px solid rgba(255,255,255,.05);border-radius:16px;
  overflow:hidden;transition:border-color .2s;
}
.faq-item.open{border-color:rgba(167,216,95,.2);}
.faq-btn{
  width:100%;text-align:left;padding:24px 32px;display:flex;align-items:center;
  justify-content:space-between;gap:24px;cursor:pointer;background:none;
  color:var(--stone);font-size:.9375rem;font-weight:400;line-height:1.4;
  transition:color .2s;
}
.faq-btn:hover,.faq-item.open .faq-btn{color:#fff;}
.faq-chevron{flex-shrink:0;width:20px;height:20px;color:var(--lime);transition:transform .3s;}
.faq-item.open .faq-chevron{transform:rotate(180deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;padding:0 32px;}
.faq-item.open .faq-answer{max-height:300px;padding:0 32px 24px;}
.faq-answer p{font-size:.875rem;color:var(--stone);font-weight:300;line-height:1.7;}

/* ═══════════════════════════════════
   CONTACT
═══════════════════════════════════ */
.contact{padding:64px 0;background:var(--dark);position:relative;}
.contact-inner{
  max-width:80rem;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1fr;gap:48px;
}
.contact-tag{color:var(--lime);text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.contact-tag .line{width:32px;height:1px;background:var(--lime);}
.contact-h2{font-family:var(--serif);font-size:clamp(1.875rem,4vw,3rem);color:#fff;margin-bottom:24px;line-height:1.15;}
.contact-h2 em{color:var(--lime);font-style:italic;font-weight:300;}
.contact-lead{color:var(--stone);font-weight:300;line-height:1.7;font-size:1.125rem;margin-bottom:40px;}
.contact-info-card{
  background:rgba(7,18,13,.4);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.05);border-radius:24px;
  padding:32px;display:flex;flex-direction:column;gap:24px;
  position:relative;overflow:hidden;margin-bottom:32px;
}
.contact-info-card-glow{position:absolute;top:0;right:0;width:128px;height:128px;background:rgba(255,255,255,.05);border-radius:50%;filter:blur(64px);pointer-events:none;}
.contact-biz-name{font-family:var(--serif);font-size:1.5rem;color:#fff;text-transform:uppercase;letter-spacing:.2em;position:relative;z-index:1;}
.contact-row{display:flex;align-items:center;gap:16px;color:var(--stone);font-weight:300;position:relative;z-index:1;}
.contact-row-icon{width:40px;height:40px;border-radius:50%;background:var(--olive);border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-row-icon svg{width:18px;height:18px;color:var(--lime);}
.contact-row-icon.lime{background:rgba(167,216,95,.1);border-color:rgba(167,216,95,.2);}
.contact-loc-main{color:#fff;display:block;}
.contact-loc-sub{font-size:.875rem;opacity:.6;}
.contact-phone-link{color:#fff;font-size:1.125rem;font-weight:500;transition:color .2s;}
.contact-phone-link:hover{color:var(--lime);}
.contact-rating-row{border-top:1px solid rgba(255,255,255,.05);padding-top:24px;margin-top:8px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;}
.c-stars{display:flex;gap:2px;color:var(--lime);margin-bottom:4px;}
.c-stars svg{width:14px;height:14px;fill:currentColor;}
.c-rating-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(212,208,200,.6);}
.c-rev-count{font-size:1.25rem;color:#fff;font-weight:500;display:block;text-align:right;}
.contact-call-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  background:var(--olive);color:#fff;padding:16px 32px;border-radius:9999px;
  font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;
  border:1px solid rgba(167,216,95,.2);transition:all .3s;cursor:pointer;
}
.contact-call-btn:hover{border-color:var(--lime);background:rgba(25,53,31,.8);}
.contact-call-btn svg{width:18px;height:18px;}
.contact-form-wrap{
  background:rgba(7,18,13,.6);backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.05);border-radius:32px;
  padding:40px;position:relative;overflow:hidden;
}
.contact-form-glow{position:absolute;top:0;right:0;width:400px;height:400px;background:rgba(167,216,95,.05);border-radius:50%;filter:blur(100px);transform:translate(50%,-50%);pointer-events:none;}
.cform{display:flex;flex-direction:column;gap:20px;position:relative;z-index:1;}
.form-row-2{display:grid;grid-template-columns:1fr;gap:20px;}
.form-grp{display:flex;flex-direction:column;gap:8px;}
.form-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(212,208,200,.8);font-weight:500;margin-left:4px;}
.form-inp,.form-sel,.form-area{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;
  padding:0 16px;height:48px;font-size:.875rem;color:#fff;font-family:var(--sans);font-weight:300;
  outline:none;transition:border-color .2s,background .2s;width:100%;
}
.form-inp::placeholder,.form-area::placeholder{color:rgba(255,255,255,.2);}
.form-inp:focus,.form-sel:focus,.form-area:focus{border-color:var(--lime);background:rgba(255,255,255,.1);}
.form-sel{appearance:none;cursor:pointer;}
.form-sel option{background:#0f2117;color:#fff;}
.form-area{height:auto;padding-top:14px;padding-bottom:14px;min-height:120px;resize:none;}
.form-sel-wrap{position:relative;}
.form-sel-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--stone);}
.form-sel-arrow svg{width:16px;height:16px;}
.submit-btn{
  width:100%;margin-top:16px;height:56px;border-radius:12px;
  background:linear-gradient(to right,var(--lime2),var(--lime));
  color:var(--black);font-weight:600;text-transform:uppercase;letter-spacing:.1em;
  font-size:.875rem;display:flex;align-items:center;justify-content:center;gap:8px;
  cursor:pointer;box-shadow:0 4px 14px rgba(167,216,95,.15);
  transition:filter .2s,transform .15s;border:none;
}
.submit-btn:hover{filter:brightness(1.1);}
.submit-btn:active{transform:scale(.98);}
.submit-btn svg{width:18px;height:18px;}
.form-note{text-align:center;font-size:.6875rem;color:rgba(212,208,200,.4);text-transform:uppercase;letter-spacing:.15em;margin-top:8px;}
.form-success{text-align:center;padding:24px;color:var(--lime);font-size:1rem;font-weight:500;}
.form-error{color:#ff6b6b;font-size:.75rem;margin-top:4px;}
@media(min-width:768px){.form-row-2{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.contact-inner{grid-template-columns:1fr 1fr;align-items:start;}}

/* ═══════════════════════════════════
   FOOTER
═══════════════════════════════════ */
footer{
  background:var(--black);border-top:1px solid rgba(167,216,95,.1);
  padding:32px 24px 32px;position:relative;overflow:hidden;
}
@media(min-width:768px){footer{padding:96px 24px 48px;}}
.footer-glow{position:absolute;top:0;left:50%;width:800px;height:800px;background:rgba(25,53,31,.05);border-radius:50%;filter:blur(120px);transform:translate(-50%,-50%);pointer-events:none;}
.footer-inner{max-width:80rem;margin:0 auto;position:relative;z-index:1;}
.footer-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap-x:24px;gap-y:48px;
  margin-bottom:80px;text-align:center;
}
.footer-brand{grid-column:1/-1;}
.footer-logo-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px;}
.footer-logo-icon{width:40px;height:40px;border-radius:10px;background:var(--olive);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--lime);font-family:var(--serif);font-style:italic;font-size:1.25rem;flex-shrink:0;}
.footer-logo-text{font-family:var(--serif);font-size:1.5rem;letter-spacing:.15em;color:#fff;text-transform:uppercase;}
.footer-desc{color:var(--stone);font-weight:300;max-width:320px;line-height:1.7;margin:0 auto 32px;font-size:.9rem;}
.footer-social{display:flex;justify-content:center;gap:16px;}
.footer-social a{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:rgba(15,33,23,.5);display:flex;align-items:center;justify-content:center;color:var(--stone);transition:all .3s;}
.footer-social a:hover{color:var(--lime);border-color:rgba(167,216,95,.3);transform:scale(1.1);}
.footer-social a svg{width:20px;height:20px;}
.footer-col h4{color:#fff;font-size:.625rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600;margin-bottom:24px;font-family:var(--sans);}
.footer-col ul{display:flex;flex-direction:column;align-items:center;gap:16px;}
.footer-col a,.footer-col li{color:var(--stone);font-weight:300;font-size:.9rem;transition:color .2s;}
.footer-col a:hover{color:var(--lime);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:32px;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;}
.footer-copy{color:rgba(212,208,200,.6);font-size:.875rem;font-weight:300;}
.footer-copy span{display:block;margin-top:8px;}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;font-size:.75rem;color:rgba(212,208,200,.4);}
.footer-legal a{transition:color .2s;}
.footer-legal a:hover{color:#fff;}
.footer-legal-sep{color:rgba(255,255,255,.2);}
@media(min-width:768px){
  .footer-grid{grid-template-columns:4fr 2fr 2fr 2fr;text-align:left;}
  .footer-brand{grid-column:auto;}
  .footer-logo-row{justify-content:flex-start;}
  .footer-desc{margin-left:0;}
  .footer-social{justify-content:flex-start;}
  .footer-col ul{align-items:flex-start;}
  .footer-bottom{flex-direction:row;justify-content:space-between;text-align:left;}
  .footer-copy span{display:inline;margin-top:0;margin-left:16px;padding-left:16px;border-left:1px solid rgba(255,255,255,.1);}
}

/* ── Fade-in animation ── */
.fade{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.fade.in{opacity:1;transform:translateY(0);}
.fade-d1{transition-delay:.1s;}
.fade-d2{transition-delay:.2s;}
.fade-d3{transition-delay:.3s;}

/* ═══════════════════════════════════
   BACK TO TOP
═══════════════════════════════════ */
.back-to-top{
  position:fixed;bottom:32px;right:32px;z-index:40;
  width:48px;height:48px;border-radius:50%;
  background:var(--olive);border:1px solid rgba(167,216,95,.3);
  color:var(--lime);display:flex;align-items:center;justify-content:center;
  cursor:pointer;opacity:0;transform:translateY(16px);
  transition:all .3s;
}
.back-to-top.visible{opacity:1;transform:translateY(0);}
.back-to-top:hover{background:rgba(167,216,95,.2);border-color:var(--lime);}
.back-to-top svg{width:20px;height:20px;}

/* ═══════════════════════════════════
   PAGE HERO (Inner Pages)
═══════════════════════════════════ */
.page-hero{
  padding:140px 24px 80px;
  background:linear-gradient(to bottom,var(--dark),var(--black));
  position:relative;overflow:hidden;
  border-bottom:1px solid rgba(167,216,95,.08);
}
.page-hero-glow{
  position:absolute;top:0;right:0;width:600px;height:600px;
  background:rgba(25,53,31,.15);border-radius:50%;filter:blur(100px);
  transform:translate(30%,-30%);pointer-events:none;
}
.page-hero-inner{max-width:80rem;margin:0 auto;position:relative;z-index:1;}
.page-hero-tag{color:var(--lime);text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.page-hero-tag .line{width:32px;height:1px;background:var(--lime);}
.page-hero-title{font-family:var(--serif);font-size:clamp(1.875rem,7vw,4.5rem);font-weight:300;color:#fff;line-height:1.1;margin-bottom:24px;}
.page-hero-title .sand{color:var(--sand);font-style:italic;}
.page-hero-subtitle{font-size:1.125rem;color:var(--stone);font-weight:300;max-width:42rem;line-height:1.7;}

/* ═══════════════════════════════════
   BREADCRUMBS
═══════════════════════════════════ */
.breadcrumb-wrap{
  padding:16px 24px;
  background:rgba(15,33,23,.4);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.breadcrumb-inner{max-width:80rem;margin:0 auto;}
.breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(212,208,200,.5);}
.breadcrumb-list a{color:rgba(212,208,200,.5);transition:color .2s;}
.breadcrumb-list a:hover{color:var(--lime);}
.breadcrumb-list .sep{color:rgba(255,255,255,.2);}
.breadcrumb-list .current{color:var(--lime);}

/* ═══════════════════════════════════
   BLOG / ARCHIVE
═══════════════════════════════════ */
.blog-section{padding:80px 0;background:var(--black);}
.blog-inner{max-width:80rem;margin:0 auto;padding:0 24px;}
.blog-grid{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:768px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.blog-grid{grid-template-columns:repeat(3,1fr);}}

.post-card{
  background:linear-gradient(to bottom,rgba(15,33,23,.5),rgba(7,18,13,.5));
  border:1px solid rgba(255,255,255,.05);border-radius:24px;overflow:hidden;
  transition:border-color .3s,transform .3s;cursor:pointer;
}
.post-card:hover{border-color:rgba(167,216,95,.2);transform:translateY(-4px);}
.post-card-img{position:relative;aspect-ratio:16/9;overflow:hidden;}
.post-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.post-card:hover .post-card-img img{transform:scale(1.05);}
.post-card-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,18,13,.6),transparent);}
.post-card-body{padding:28px;}
.post-card-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px;}
.post-card-cat{
  font-size:.625rem;text-transform:uppercase;letter-spacing:.1em;
  color:var(--lime);border:1px solid rgba(167,216,95,.25);border-radius:9999px;padding:4px 12px;
}
.post-card-date{font-size:.75rem;color:rgba(212,208,200,.5);text-transform:uppercase;letter-spacing:.05em;}
.post-card-title{font-family:var(--serif);font-size:1.375rem;color:#fff;margin-bottom:12px;line-height:1.3;transition:color .3s;}
.post-card:hover .post-card-title{color:var(--lime);}
.post-card-excerpt{font-size:.875rem;color:var(--stone);font-weight:300;line-height:1.7;margin-bottom:20px;}
.post-card-link{display:inline-flex;align-items:center;gap:8px;color:var(--lime);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;transition:gap .3s;}
.post-card-link:hover{gap:12px;}
.post-card-link svg{width:16px;height:16px;}

/* ── Single Post ── */
.single-post{padding:80px 0;background:var(--black);}
.single-post-inner{max-width:56rem;margin:0 auto;padding:0 24px;}
.post-meta-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.05);}
.post-featured-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:24px;margin-bottom:48px;border:1px solid rgba(255,255,255,.05);}
.post-content{color:var(--stone);font-weight:300;line-height:1.8;font-size:1.0625rem;}
.post-content h2,.post-content h3,.post-content h4{font-family:var(--serif);font-weight:300;color:#fff;margin:40px 0 16px;}
.post-content h2{font-size:2rem;}
.post-content h3{font-size:1.5rem;}
.post-content p{margin-bottom:24px;}
.post-content a{color:var(--lime);border-bottom:1px solid rgba(167,216,95,.3);transition:border-color .2s;}
.post-content a:hover{border-color:var(--lime);}
.post-content ul,.post-content ol{margin:0 0 24px 24px;}
.post-content li{margin-bottom:8px;}
.post-content blockquote{border-left:3px solid var(--lime);margin:32px 0;padding:24px 32px;background:rgba(167,216,95,.05);border-radius:0 12px 12px 0;}
.post-content blockquote p{margin:0;font-style:italic;font-size:1.125rem;}
.post-content img{border-radius:16px;margin:32px 0;}
.post-content code{background:rgba(255,255,255,.05);padding:2px 8px;border-radius:4px;font-size:.875rem;}
.post-content pre{background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;overflow-x:auto;margin-bottom:24px;}

/* ── Pagination ── */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:64px;flex-wrap:wrap;}
.page-numbers{
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  color:var(--stone);font-size:.875rem;transition:all .3s;
}
.page-numbers:hover,.page-numbers.current{border-color:var(--lime);color:var(--lime);}
.page-numbers.current{background:rgba(167,216,95,.1);}
.page-numbers.dots{border:none;cursor:default;}

/* ═══════════════════════════════════
   ABOUT PAGE
═══════════════════════════════════ */
.about-section{padding:80px 0;background:var(--black);}
.about-inner{max-width:80rem;margin:0 auto;padding:0 24px;}
.about-grid{display:grid;grid-template-columns:1fr;gap:64px;align-items:center;}
@media(min-width:1024px){.about-grid{grid-template-columns:1fr 1fr;}}
.about-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.05);}
.about-text-tag{color:var(--lime);text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.about-text-tag .line{width:32px;height:1px;background:var(--lime);}
.about-title{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:300;color:#fff;margin-bottom:24px;line-height:1.2;}
.about-title .sand{color:var(--sand);font-style:italic;}
.about-body{color:var(--stone);font-weight:300;line-height:1.8;font-size:1.0625rem;margin-bottom:32px;}

.mission-vision{padding:80px 0;background:var(--dark);}
.mv-grid{display:grid;grid-template-columns:1fr;gap:32px;max-width:80rem;margin:0 auto;padding:0 24px;}
@media(min-width:768px){.mv-grid{grid-template-columns:repeat(2,1fr);}}
.mv-card{
  background:linear-gradient(to bottom right,rgba(255,255,255,.05),transparent);
  border:1px solid rgba(255,255,255,.05);border-radius:24px;padding:40px;
  transition:border-color .3s;
}
.mv-card:hover{border-color:rgba(167,216,95,.2);}
.mv-icon{width:56px;height:56px;border-radius:16px;background:var(--olive);border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;margin-bottom:24px;}
.mv-icon svg{width:24px;height:24px;color:var(--lime);}
.mv-card h3{font-family:var(--serif);font-size:1.75rem;color:#fff;margin-bottom:16px;}
.mv-card p{color:var(--stone);font-weight:300;line-height:1.7;}

.team-section{padding:80px 0;background:var(--black);}
.team-header{text-align:center;margin-bottom:64px;}
.team-grid{display:grid;grid-template-columns:1fr;gap:32px;max-width:80rem;margin:0 auto;padding:0 24px;}
@media(min-width:640px){.team-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.team-grid{grid-template-columns:repeat(3,1fr);}}
.team-card{
  background:linear-gradient(to bottom,rgba(15,33,23,.5),rgba(7,18,13,.5));
  border:1px solid rgba(255,255,255,.05);border-radius:24px;overflow:hidden;
  text-align:center;transition:border-color .3s;
}
.team-card:hover{border-color:rgba(167,216,95,.2);}
.team-card-img{width:100%;aspect-ratio:1;object-fit:cover;}
.team-card-body{padding:24px;}
.team-card-name{font-family:var(--serif);font-size:1.375rem;color:#fff;margin-bottom:4px;}
.team-card-role{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--lime);margin-bottom:12px;}
.team-card-bio{font-size:.875rem;color:var(--stone);font-weight:300;line-height:1.7;}

/* ═══════════════════════════════════
   SERVICES PAGE
═══════════════════════════════════ */
.services-page{padding:80px 0;background:var(--black);}
.services-page-inner{max-width:80rem;margin:0 auto;padding:0 24px;}
.service-card{
  display:grid;grid-template-columns:1fr;gap:40px;align-items:center;
  padding:48px 0;border-bottom:1px solid rgba(255,255,255,.05);
}
.service-card:last-child{border-bottom:none;}
@media(min-width:1024px){
  .service-card{grid-template-columns:1fr 1fr;}
  .service-card:nth-child(even) .service-card-img{order:-1;}
}
.service-card-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.05);}
.service-card-icon-wrap{width:56px;height:56px;border-radius:16px;background:var(--olive);border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;margin-bottom:24px;}
.service-card-icon-wrap svg{width:24px;height:24px;color:var(--lime);}
.service-card-title{font-family:var(--serif);font-size:2rem;font-weight:300;color:#fff;margin-bottom:16px;}
.service-card-desc{color:var(--stone);font-weight:300;line-height:1.8;margin-bottom:24px;}
.service-card-benefits{display:flex;flex-direction:column;gap:12px;margin-bottom:32px;}
.benefit-item{display:flex;align-items:center;gap:12px;color:var(--stone);font-size:.9rem;font-weight:300;}
.benefit-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);flex-shrink:0;}

/* ═══════════════════════════════════
   PROJECTS ARCHIVE (Portfolio)
═══════════════════════════════════ */
.projects-archive{padding:80px 0;background:var(--black);}
.projects-inner{max-width:80rem;margin:0 auto;padding:0 24px;}
.projects-masonry{
  display:grid;grid-template-columns:1fr;gap:32px;
}
@media(min-width:768px){.projects-masonry{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.projects-masonry{grid-template-columns:repeat(3,1fr);}}
.project-archive-card{
  background:linear-gradient(to bottom,rgba(15,33,23,.5),rgba(7,18,13,.5));
  border:1px solid rgba(255,255,255,.05);border-radius:24px;overflow:hidden;
  cursor:pointer;transition:border-color .3s,transform .3s;
}
.project-archive-card:hover{border-color:rgba(167,216,95,.2);transform:translateY(-4px);}
.project-archive-img{position:relative;aspect-ratio:4/3;overflow:hidden;}
.project-archive-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.project-archive-card:hover .project-archive-img img{transform:scale(1.05);}
.project-archive-body{padding:24px;}
.project-archive-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.project-archive-title{font-family:var(--serif);font-size:1.375rem;color:#fff;margin-bottom:8px;transition:color .3s;}
.project-archive-card:hover .project-archive-title{color:var(--lime);}
.project-archive-desc{font-size:.875rem;color:var(--stone);font-weight:300;line-height:1.7;}

/* ═══════════════════════════════════
   PROJECT DETAIL
═══════════════════════════════════ */
.project-detail{padding:80px 0;background:var(--black);}
.project-detail-inner{max-width:80rem;margin:0 auto;padding:0 24px;}
.project-main-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:24px;margin-bottom:48px;border:1px solid rgba(255,255,255,.05);}
.project-meta-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:48px;}
@media(min-width:640px){.project-meta-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.project-meta-grid{grid-template-columns:repeat(4,1fr);}}
.project-meta-item{
  background:rgba(15,33,23,.4);border:1px solid rgba(255,255,255,.05);
  border-radius:16px;padding:20px;
}
.project-meta-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(212,208,200,.5);font-weight:500;margin-bottom:8px;}
.project-meta-value{color:#fff;font-size:1rem;font-weight:300;}
.project-content{color:var(--stone);font-weight:300;line-height:1.8;font-size:1.0625rem;margin-bottom:48px;}
.project-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(min-width:768px){.project-gallery-grid{grid-template-columns:repeat(3,1fr);}}
.project-gallery-item{aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:transform .3s;width:100%;}
.project-gallery-item:hover{transform:scale(1.02);}

/* ═══════════════════════════════════
   SERVICE DETAIL
═══════════════════════════════════ */
.service-detail{padding:80px 0;background:var(--black);}
.service-detail-inner{max-width:80rem;margin:0 auto;padding:0 24px;}
.service-detail-grid{display:grid;grid-template-columns:1fr;gap:48px;}
@media(min-width:1024px){.service-detail-grid{grid-template-columns:2fr 1fr;}}
.service-detail-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:24px;margin-bottom:32px;border:1px solid rgba(255,255,255,.05);}
.service-detail-content{color:var(--stone);font-weight:300;line-height:1.8;}
.service-detail-content h2{font-family:var(--serif);font-size:1.75rem;color:#fff;margin:32px 0 16px;}
.service-sidebar{position:sticky;top:100px;}
.service-cta-box{
  background:linear-gradient(to bottom,rgba(15,33,23,.8),rgba(7,18,13,.8));
  border:1px solid rgba(167,216,95,.15);border-radius:24px;padding:32px;
}
.service-cta-box h3{font-family:var(--serif);font-size:1.5rem;color:#fff;margin-bottom:16px;}
.service-cta-box p{color:var(--stone);font-weight:300;font-size:.9rem;line-height:1.7;margin-bottom:24px;}
.benefits-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;}
.benefit-row{display:flex;align-items:center;gap:12px;color:var(--stone);font-size:.9rem;font-weight:300;}
.benefit-check{width:20px;height:20px;border-radius:50%;background:rgba(167,216,95,.1);border:1px solid rgba(167,216,95,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.benefit-check svg{width:12px;height:12px;color:var(--lime);}

/* ═══════════════════════════════════
   TESTIMONIALS PAGE
═══════════════════════════════════ */
.testimonials-section{padding:80px 0;background:var(--black);}
.testimonials-inner{max-width:80rem;margin:0 auto;padding:0 24px;}
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:768px){.testimonials-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.testimonials-grid{grid-template-columns:repeat(3,1fr);}}
.testimonial-card{
  background:linear-gradient(to bottom right,rgba(15,33,23,.5),rgba(7,18,13,.5));
  border:1px solid rgba(255,255,255,.05);border-radius:24px;padding:32px;
  position:relative;transition:border-color .3s;
}
.testimonial-card:hover{border-color:rgba(167,216,95,.2);}
.testimonial-stars{display:flex;gap:4px;color:var(--lime);margin-bottom:20px;}
.testimonial-stars svg{width:16px;height:16px;fill:currentColor;}
.testimonial-text{font-size:1rem;color:var(--stone);font-weight:300;line-height:1.7;margin-bottom:24px;font-style:italic;}
.testimonial-author{display:flex;align-items:center;gap:16px;}
.testimonial-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.1);}
.testimonial-avatar-placeholder{width:48px;height:48px;border-radius:50%;background:var(--olive);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--lime);font-family:var(--serif);font-size:1.25rem;flex-shrink:0;}
.testimonial-name{font-family:var(--serif);font-size:1rem;color:#fff;}
.testimonial-designation{font-size:.75rem;color:rgba(212,208,200,.5);text-transform:uppercase;letter-spacing:.1em;}

/* ═══════════════════════════════════
   FAQ PAGE
═══════════════════════════════════ */
.faq-page{padding:80px 0;background:var(--black);}
.faq-page-inner{max-width:56rem;margin:0 auto;padding:0 24px;}
.faq-category{margin-bottom:48px;}
.faq-category-title{font-family:var(--serif);font-size:1.5rem;color:var(--sand);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.05);}

/* ═══════════════════════════════════
   CONTACT PAGE
═══════════════════════════════════ */
.contact-page{padding:80px 0;background:var(--dark);}
.contact-page-inner{max-width:80rem;margin:0 auto;padding:0 24px;}
.contact-page-grid{display:grid;grid-template-columns:1fr;gap:48px;}
@media(min-width:1024px){.contact-page-grid{grid-template-columns:1fr 1fr;}}
.map-embed{width:100%;height:400px;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.05);}
.map-embed iframe{width:100%;height:100%;border:none;}

/* ═══════════════════════════════════
   QUOTE PAGE
═══════════════════════════════════ */
.quote-page{padding:80px 0;background:var(--dark);}
.quote-inner{max-width:56rem;margin:0 auto;padding:0 24px;}
.quote-form-wrap{
  background:rgba(7,18,13,.6);backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.05);border-radius:32px;
  padding:48px;position:relative;overflow:hidden;
}

/* ═══════════════════════════════════
   SEARCH RESULTS
═══════════════════════════════════ */
.search-section{padding:80px 0;background:var(--black);}
.search-inner{max-width:80rem;margin:0 auto;padding:0 24px;}
.search-form-wrap{margin-bottom:48px;}
.wp-search-form{
  display:flex;gap:12px;max-width:48rem;
}
.wp-search-field{
  flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:12px;padding:0 16px;height:52px;font-size:.9375rem;color:#fff;
  outline:none;transition:border-color .2s;
}
.wp-search-field:focus{border-color:var(--lime);}
.wp-search-submit{
  height:52px;padding:0 24px;border-radius:12px;border:none;
  background:linear-gradient(to right,var(--lime2),var(--lime));
  color:var(--black);font-weight:600;font-size:.875rem;text-transform:uppercase;
  letter-spacing:.1em;cursor:pointer;transition:filter .2s;white-space:nowrap;
}
.wp-search-submit:hover{filter:brightness(1.1);}
.search-results-count{font-size:.9rem;color:rgba(212,208,200,.5);margin-bottom:32px;}
.no-results-wrap{text-align:center;padding:80px 0;}
.no-results-icon{width:80px;height:80px;border-radius:50%;background:var(--dark);border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--lime);}
.no-results-icon svg{width:32px;height:32px;}
.no-results-title{font-family:var(--serif);font-size:2rem;color:#fff;margin-bottom:16px;}
.no-results-text{color:var(--stone);font-weight:300;font-size:1rem;margin-bottom:32px;}

/* ═══════════════════════════════════
   404 PAGE
═══════════════════════════════════ */
.error-404-section{
  min-height:100vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:120px 24px 80px;background:var(--black);text-align:center;
  position:relative;overflow:hidden;
}
.error-404-glow{position:absolute;top:50%;left:50%;width:800px;height:800px;background:rgba(167,216,95,.04);border-radius:50%;filter:blur(150px);transform:translate(-50%,-50%);pointer-events:none;}
.error-404-code{font-family:var(--serif);font-size:clamp(6rem,20vw,12rem);color:rgba(167,216,95,.1);line-height:1;margin-bottom:24px;position:relative;}
.error-404-code span{color:var(--lime);}
.error-404-title{font-family:var(--serif);font-size:clamp(1.5rem,4vw,2.5rem);color:#fff;margin-bottom:16px;}
.error-404-text{color:var(--stone);font-weight:300;font-size:1.0625rem;max-width:40rem;line-height:1.7;margin-bottom:40px;}
.error-404-btns{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;}

/* ═══════════════════════════════════
   LEGAL PAGES (Privacy / Terms)
═══════════════════════════════════ */
.legal-section{padding:80px 0;background:var(--black);}
.legal-inner{max-width:56rem;margin:0 auto;padding:0 24px;}
.legal-content{color:var(--stone);font-weight:300;line-height:1.8;font-size:1.0625rem;}
.legal-content h2{font-family:var(--serif);font-size:1.75rem;color:#fff;margin:40px 0 16px;}
.legal-content h3{font-family:var(--serif);font-size:1.25rem;color:var(--sand);margin:24px 0 12px;}
.legal-content p{margin-bottom:20px;}
.legal-content ul{margin:0 0 20px 24px;}
.legal-content li{margin-bottom:8px;}
.legal-content a{color:var(--lime);}
.legal-updated{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(212,208,200,.4);margin-bottom:40px;}

/* ═══════════════════════════════════
   NEWSLETTER SECTION
═══════════════════════════════════ */
.newsletter-section{
  padding:64px 0;background:var(--dark);
  border-top:1px solid rgba(167,216,95,.05);
}
.newsletter-inner{max-width:56rem;margin:0 auto;padding:0 24px;text-align:center;}
.newsletter-title{font-family:var(--serif);font-size:clamp(1.75rem,4vw,2.5rem);color:#fff;margin-bottom:16px;}
.newsletter-subtitle{color:var(--stone);font-weight:300;font-size:1rem;margin-bottom:32px;}
.newsletter-form{display:flex;gap:12px;max-width:440px;margin:0 auto;flex-direction:column;}
@media(min-width:480px){.newsletter-form{flex-direction:row;}}
.newsletter-email{
  flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:9999px;padding:0 20px;height:48px;font-size:.875rem;color:#fff;
  outline:none;transition:border-color .2s;
}
.newsletter-email:focus{border-color:var(--lime);}
.newsletter-submit{
  height:48px;padding:0 24px;border-radius:9999px;border:none;
  background:linear-gradient(to right,var(--lime2),var(--lime));
  color:var(--black);font-weight:600;font-size:.875rem;text-transform:uppercase;
  letter-spacing:.1em;cursor:pointer;white-space:nowrap;transition:filter .2s;
}
.newsletter-submit:hover{filter:brightness(1.1);}

/* ═══════════════════════════════════
   CTA SECTION
═══════════════════════════════════ */
.cta-section{
  padding:80px 0;
  background:linear-gradient(to bottom right,var(--dark),var(--olive));
  position:relative;overflow:hidden;
  border-top:1px solid rgba(167,216,95,.1);
}
.cta-glow{position:absolute;top:50%;left:50%;width:600px;height:600px;background:rgba(167,216,95,.06);border-radius:50%;filter:blur(100px);transform:translate(-50%,-50%);pointer-events:none;}
.cta-inner{max-width:56rem;margin:0 auto;padding:0 24px;text-align:center;position:relative;z-index:1;}
.cta-title{font-family:var(--serif);font-size:clamp(2rem,5vw,3.5rem);color:#fff;font-weight:300;margin-bottom:24px;line-height:1.2;}
.cta-title .sand{color:var(--sand);font-style:italic;}
.cta-subtitle{color:rgba(212,208,200,.8);font-weight:300;font-size:1.125rem;margin-bottom:40px;max-width:42rem;margin-left:auto;margin-right:auto;}
.cta-btns{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;}

/* ═══════════════════════════════════
   COUNTERS
═══════════════════════════════════ */
.counter-val{font-variant-numeric:tabular-nums;}

/* ═══════════════════════════════════
   PROJECT DETAIL — GRID & META CARD
═══════════════════════════════════ */
.project-detail-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:start;}
@media(min-width:1024px){.project-detail-grid{grid-template-columns:2fr 1fr;}}
.project-description{color:var(--stone);font-weight:300;line-height:1.8;font-size:1.0625rem;margin-bottom:40px;}
.project-description p{margin-bottom:20px;}
.project-description h2,.project-description h3{font-family:var(--serif);color:#fff;margin:32px 0 12px;}
.project-meta-panel{position:sticky;top:100px;}
.project-meta-card{
  background:linear-gradient(to bottom,rgba(15,33,23,.8),rgba(7,18,13,.8));
  border:1px solid rgba(255,255,255,.05);border-radius:24px;padding:32px;
  position:relative;overflow:hidden;margin-bottom:24px;
}
.project-meta-card-glow{position:absolute;top:-80px;right:-80px;width:200px;height:200px;background:rgba(167,216,95,.04);border-radius:50%;filter:blur(60px);pointer-events:none;}
.meta-row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.05);}
.meta-row:last-of-type{border-bottom:none;}
.meta-icon{width:32px;height:32px;border-radius:10px;background:var(--olive);border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--lime);}
.meta-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(212,208,200,.4);margin-bottom:3px;}
.meta-val{font-size:.9rem;color:#fff;font-weight:300;}
.meta-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.meta-tag{font-size:.7rem;padding:3px 10px;border-radius:9999px;background:rgba(167,216,95,.08);border:1px solid rgba(167,216,95,.2);color:var(--lime);letter-spacing:.05em;}

/* ═══════════════════════════════════
   SERVICE DETAIL — BENEFITS & PROCESS
═══════════════════════════════════ */
.service-benefits-grid{display:grid;grid-template-columns:1fr;gap:12px;}
@media(min-width:640px){.service-benefits-grid{grid-template-columns:1fr 1fr;}}
.service-benefit-item{display:flex;align-items:center;gap:12px;color:var(--stone);font-size:.9rem;font-weight:300;}
.service-benefit-icon{width:24px;height:24px;border-radius:50%;background:rgba(167,216,95,.1);border:1px solid rgba(167,216,95,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--lime);}
.process-steps{display:flex;flex-direction:column;gap:24px;}
.process-step{display:flex;gap:20px;align-items:flex-start;}
.process-step-num{font-family:var(--serif);font-size:2.5rem;color:rgba(167,216,95,.2);font-weight:300;line-height:1;flex-shrink:0;width:48px;}
.process-step-body{flex:1;padding-top:6px;}
.process-step-title{font-family:var(--serif);font-size:1.125rem;color:#fff;margin-bottom:8px;}
.process-step-desc{color:var(--stone);font-size:.9rem;font-weight:300;line-height:1.7;}
.service-detail-icon{width:64px;height:64px;border-radius:20px;background:var(--olive);border:1px solid rgba(167,216,95,.15);display:flex;align-items:center;justify-content:center;margin-bottom:32px;color:var(--lime);}
.service-detail-icon svg{width:28px;height:28px;}
.service-description{color:var(--stone);font-weight:300;line-height:1.8;font-size:1.0625rem;}
.service-description p{margin-bottom:20px;}

/* ═══════════════════════════════════
   PORTFOLIO GRID (archive-us_project)
═══════════════════════════════════ */
.portfolio-grid{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:640px){.portfolio-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.portfolio-grid{grid-template-columns:repeat(3,1fr);}}
.portfolio-card{position:relative;border-radius:24px;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.05);transition:border-color .3s,transform .3s;}
.portfolio-card:hover{border-color:rgba(167,216,95,.2);transform:translateY(-4px);}
.portfolio-card-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .5s;}
.portfolio-card:hover .portfolio-card-img{transform:scale(1.05);}
.portfolio-card-over{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,18,13,.95) 0%,rgba(7,18,13,.1) 60%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:28px 24px;opacity:0;transition:opacity .3s;}
.portfolio-card:hover .portfolio-card-over{opacity:1;}
.portfolio-card-tag{font-size:.625rem;text-transform:uppercase;letter-spacing:.15em;color:var(--lime);margin-bottom:8px;}
.portfolio-card-title{font-family:var(--serif);font-size:1.25rem;color:#fff;margin-bottom:6px;}
.portfolio-card-meta{font-size:.8rem;color:var(--stone);margin-bottom:16px;font-weight:300;}
.portfolio-card-link{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--lime);font-weight:500;text-decoration:none;}

/* ═══════════════════════════════════
   BLOG SECTION (category / index)
═══════════════════════════════════ */
.blog-section{padding:80px 0;background:var(--black);}
.blog-inner{max-width:80rem;margin:0 auto;padding:0 24px;}

/* ═══════════════════════════════════
   SERVICES ARCHIVE CARD VARIANT
═══════════════════════════════════ */
.service-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px 20px 0 0;}
.service-card-body{padding:28px;}
.service-card-icon{width:48px;height:48px;border-radius:14px;background:var(--olive);border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--lime);}
.service-card-icon svg{width:22px;height:22px;}
.service-card-title{font-family:var(--serif);font-size:1.5rem;color:#fff;margin-bottom:12px;font-weight:300;}
.service-card-desc{color:var(--stone);font-size:.9rem;font-weight:300;line-height:1.7;margin-bottom:20px;}
.service-card-benefits{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:8px;}
.service-card-benefits li{display:flex;align-items:center;gap:10px;color:var(--stone);font-size:.8375rem;font-weight:300;}
.service-card-benefits svg{flex-shrink:0;color:var(--lime);}
.service-card-link{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--lime);font-weight:500;text-decoration:none;transition:gap .2s;}
.service-card-link:hover{gap:10px;}
.services-grid{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:768px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr);}}
.services-grid .service-card{
  background:linear-gradient(to bottom,rgba(15,33,23,.5),rgba(7,18,13,.5));
  border:1px solid rgba(255,255,255,.05);border-radius:24px;overflow:hidden;
  display:flex;flex-direction:column;padding:0;border-bottom:none;
  transition:border-color .3s,transform .3s;
}
.services-grid .service-card:hover{border-color:rgba(167,216,95,.2);transform:translateY(-4px);}
.services-inner{max-width:80rem;margin:0 auto;padding:0 24px;}

/* ═══════════════════════════════════
   COMMENTS
═══════════════════════════════════ */
.comments-wrap{margin-top:64px;padding-top:64px;border-top:1px solid rgba(255,255,255,.05);}
.comments-title{font-family:var(--serif);font-size:1.75rem;color:#fff;margin-bottom:32px;font-weight:300;}
.comment-list{list-style:none;padding:0;margin:0 0 48px;display:flex;flex-direction:column;gap:24px;}
.comment-item{padding:24px;background:rgba(15,33,23,.3);border:1px solid rgba(255,255,255,.05);border-radius:20px;}
.comment-body{display:flex;gap:16px;}
.comment-avatar img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.comment-content{flex:1;}
.comment-meta{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap;}
.comment-author-name{font-family:var(--serif);font-size:1rem;color:#fff;}
.comment-time{font-size:.75rem;color:rgba(212,208,200,.4);text-transform:uppercase;letter-spacing:.08em;}
.comment-text p{color:var(--stone);font-weight:300;line-height:1.7;margin-bottom:0;}
.comment-reply{margin-top:12px;}
.comment-reply a{font-size:.8rem;color:var(--lime);text-decoration:none;font-weight:500;}
.comment-awaiting{color:rgba(212,208,200,.4);font-size:.8rem;font-style:italic;}
.comment-form .form-grp{margin-bottom:20px;}
.no-comments{color:var(--stone);font-weight:300;font-size:.9rem;}

/* ═══════════════════════════════════
   WP CORE OVERRIDES
═══════════════════════════════════ */
.wp-block-image img{border-radius:16px;}
.aligncenter{display:block;margin:0 auto;}
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
  height:1px;margin:-1px;overflow:hidden;padding:0;
  position:absolute;width:1px;word-wrap:normal!important;
}
.skip-link{position:absolute;top:-999px;left:-999px;}
.skip-link:focus{top:8px;left:8px;z-index:9999;background:var(--lime);color:var(--black);padding:8px 16px;border-radius:8px;font-weight:600;}
