:root{--black:#171715;--ink:#292522;--gold:#c59462;--cream:#f3f0e9;--muted:#706c65;--sidebar:218px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}h1,h2,h3,.brand strong,.metrics b{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1,h2,h3,p{margin-top:0}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:1rem;z-index:100}.sidebar{width:var(--sidebar);background:linear-gradient(160deg,#161716 0%,#20201d 75%,#28231f 100%);color:#eee5d8;position:fixed;top:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;border-right:1px solid #66513a;box-shadow:8px 0 28px #0004}.brand{height:215px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;letter-spacing:3px;border-bottom:1px solid #ffffff20}.brand svg{width:110px;height:65px;color:#d7b189}.brand strong{font-size:25px;letter-spacing:3px}.brand>span{font-size:12px;letter-spacing:5px;margin-top:3px}.brand small{font-size:8px;letter-spacing:1.2px;margin-top:12px;color:#c6bbac}.sidebar nav{padding-top:18px}.sidebar nav a{display:flex;align-items:center;gap:19px;padding:17px 30px;font-family:Georgia,serif;font-size:15px;border-left:3px solid transparent}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,#8a6240,#76553a88);border-left-color:#d7ae80}.sidebar nav a:first-letter{color:var(--gold)}.sidebar-cta{margin:26px 15px;padding:17px 12px;background:#ab7b52;text-align:center;color:#fff;font-size:10px;font-weight:700;letter-spacing:1.3px;border:1px solid #d2ab83}.sidebar-cta span{margin-left:8px}.sidebar-note{margin:auto 12px 42px;text-align:center;line-height:1.9;letter-spacing:2px;font-size:11px;color:#e7c296}.sidebar-note span{display:block;margin-top:15px;font-size:9px;letter-spacing:1.5px;color:#aaa49d}.shell{margin-left:var(--sidebar);overflow:hidden}.hero{position:relative;min-height:600px;display:flex;align-items:center;isolation:isolate;background:#0c273d}.hero-image,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero-video{display:none}.hero-video.ready{display:block}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#061a2ef2 0%,#08243bc7 28%,#07223e26 64%,transparent 100%)}.hero-content{width:min(570px,57%);padding:85px 25px 80px 5.5%;color:white}.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;color:#d7b38b}.eyebrow.dark{color:#79563a}.hero h1{font-size:clamp(56px,5.8vw,96px);line-height:.99;letter-spacing:-3px;margin:20px 0 19px;text-shadow:0 2px 20px #08132344}.hero h1 em{font-style:normal;color:#d6a274}.hero-content>p:not(.eyebrow){font-size:16px;line-height:1.75;max-width:420px;color:#eee}.gold-rule{height:2px;width:60px;background:#bc8a5a;margin-bottom:22px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:17px 25px;font-size:11px;font-weight:700;letter-spacing:1.4px;border:0;cursor:pointer;transition:.2s}.btn.gold{background:#ac7c51;color:white;border:1px solid #d4af89}.btn:hover,.sidebar-cta:hover{background:#8a603f;transform:translateY(-1px)}.hero-corner{position:absolute;right:28px;bottom:25px;font-size:10px;letter-spacing:3px;color:#fff;opacity:.8}.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:#242423;color:white;padding:25px 35px;gap:1px}.metrics>div{display:flex;align-items:center;gap:14px;padding:8px 18px;border-right:1px solid #7a6b5b77}.metrics>div:last-child{border:0}.metrics b{color:#e1b78a;font-size:32px}.metrics span{font-size:12px;line-height:1.5;color:#e9e4de}.section{padding:66px 5%;}.services{background:#f4f0e9;background-image:radial-gradient(circle at 95% 0%,#fff6 0,#fff0 34%)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:22px}.section h2,.feature h2,.contact h2{font-size:clamp(29px,3vw,44px);line-height:1.13;margin-bottom:14px}.section-head p:not(.eyebrow),.about p,.portfolio>p:not(.eyebrow){font-size:14px;line-height:1.7;color:#736c63;max-width:670px}.textlink{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#95683f;white-space:nowrap;margin-bottom:22px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:25px}.service-grid article{background:#fffaf4;box-shadow:0 6px 25px #2a21120d}.service-visual{height:145px;background-size:cover;background-position:center;display:flex;align-items:flex-start;justify-content:flex-end;padding:13px}.service-visual span{background:#1b1d1bd9;color:#e9ba88;font-size:11px;padding:7px 10px}.v1,.v4,.v6{background-image:linear-gradient(30deg,#11203455,#0001),url('assets/blueprint-to-reality.webp')}.v2,.v5{background-image:linear-gradient(35deg,#00335c66,#152b4199),url('assets/blueprint-to-reality.webp')}.v3{background-image:linear-gradient(35deg,#80623a88,#152b4199),url('assets/blueprint-to-reality.webp')}.v1{background-position:80% center}.v2{background-position:15% center}.v3{background-position:45% center}.v4{background-position:95% center}.v5{background-position:5% center}.v6{background-position:65% center}.service-copy{padding:15px 21px 23px;min-height:168px}.service-copy i{font-size:23px;font-style:normal}.service-copy h3{font-size:21px;margin:8px 0}.service-copy p{color:#66605b;font-size:13px;line-height:1.55;margin:0}.disclaimer{font-size:11px;color:#746c62;margin:18px 0 0}.feature{background:linear-gradient(120deg,#191b1a,#272724);color:white;padding:60px 5%;display:grid;grid-template-columns:1fr 1.55fr;gap:32px;align-items:center}.feature p:not(.eyebrow){font-size:14px;line-height:1.8;color:#d5cbc2;max-width:420px}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feature-strip figure{margin:0;min-width:0}.stage{height:170px;border:2px solid #c4a27b;display:flex;align-items:center;justify-content:center;font-size:100px;color:#b9ad9f;background:#ddd8cb}.stage.blueprint,.stage.reality{background-image:url('assets/blueprint-to-reality.webp');background-size:cover}.stage.blueprint{background-position:15% center}.stage.reality{background-position:90% center}.feature figcaption{font-size:10px;color:#d1a779;letter-spacing:1.5px;padding-top:12px}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;background:white}.about p{font-size:16px}.portfolio{background:#f0ece5}.portfolio-placeholder{margin-top:22px;height:250px;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#051b2de8,#0b344255),url('assets/blueprint-to-reality.webp') center/cover;color:white;text-align:center;letter-spacing:4px;font-family:Georgia,serif;font-size:28px}.portfolio-placeholder small{font:11px Arial;letter-spacing:5px;color:#d9b68b}.contact{padding:65px 5%;display:grid;grid-template-columns:1fr 1fr;gap:55px;background:linear-gradient(105deg,#151b1e,#2e2923);color:white}.contact p:not(.eyebrow){color:#cbc3bb;line-height:1.7;max-width:410px}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact label{display:flex;flex-direction:column;font-size:11px;letter-spacing:1px;gap:8px;color:#e3d4c2}.contact label:nth-child(4){grid-column:1/-1}.contact input,.contact select,.contact textarea{width:100%;background:#ffffff14;color:white;border:1px solid #ffffff4d;padding:13px;border-radius:0;letter-spacing:0;font-size:13px}.contact select option{color:#222}.contact button{grid-column:1/-1}.form-note{grid-column:1/-1;font-size:11px;margin:0}footer{background:#0f1010;color:#bbb4aa;padding:25px 5%;font-size:11px;display:flex;justify-content:space-between;gap:15px}.mobile-toggle{display:none}@media(max-width:1150px){:root{--sidebar:185px}.service-grid{grid-template-columns:repeat(3,1fr)}.sidebar nav a{padding:15px 20px}.brand strong{font-size:21px}.metrics{padding:20px 10px}.metrics>div{padding:5px 10px;gap:8px}.metrics b{font-size:26px}.hero{min-height:550px}.hero-content{width:65%}}@media(max-width:850px){.mobile-toggle{display:flex;align-items:center;gap:12px;position:fixed;top:14px;left:14px;z-index:31;padding:12px 16px;background:#161a1b;color:#e3c29e;border:1px solid #d0a679;cursor:pointer}.mobile-toggle span{font-size:10px;letter-spacing:2px}.sidebar{transform:translateX(-100%);transition:transform .25s;width:240px;padding-top:28px}.sidebar.open{transform:translateX(0)}.shell{margin-left:0}.hero{min-height:600px}.hero-content{padding:115px 6% 80px;width:72%}.feature{grid-template-columns:1fr}.contact{grid-template-columns:1fr}}@media(max-width:620px){.hero{min-height:620px;align-items:end}.hero-image,.hero-video{object-position:58% center}.hero-shade{background:linear-gradient(0deg,#071827 5%,#071827dd 37%,#07182722 100%)}.hero-content{width:100%;padding:130px 7% 50px}.hero h1{font-size:60px}.hero-corner{display:none}.metrics{grid-template-columns:1fr 1fr}.metrics>div:nth-child(2){border:0}.section{padding:48px 6%}.section-head{display:block}.service-grid{grid-template-columns:1fr 1fr;gap:10px}.service-visual{height:115px}.service-copy{padding:13px;min-height:186px}.service-copy h3{font-size:18px}.service-copy p{font-size:12px}.feature{padding:48px 6%}.stage{height:95px;font-size:60px}.feature figcaption{font-size:9px;line-height:1.5}.about{grid-template-columns:1fr;gap:0}.contact{padding:48px 6%;gap:25px}.contact form{grid-template-columns:1fr}.contact label:nth-child(4){grid-column:auto}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video{display:none!important}*{transition:none!important}}

/* Screenshot-aligned desktop layout */
:root{--sidebar:210px} .hero{min-height:475px}.hero-content{padding-top:45px;padding-bottom:45px;width:min(510px,56%)}.hero h1{font-size:clamp(52px,5.3vw,81px)}.hero-video{object-position:center}.hero-shade{background:linear-gradient(90deg,#04192de9 0%,#041f37bf 29%,#041e3822 65%,transparent 100%)}.hero-content>p:not(.eyebrow){font-size:14px}.metrics{min-height:112px;padding:15px 20px;grid-template-columns:repeat(4,minmax(0,1fr));background:linear-gradient(135deg,#232321,#151716)}.metrics>div{gap:15px;min-width:0}.metrics>div>div{display:flex;flex-direction:column}.metrics .metric-icon{font-size:29px;color:#c59462;flex-shrink:0}.metrics b.words{font-size:20px;line-height:1.13;color:#fff}.metrics small{display:block;letter-spacing:1px;color:#b2aaa0;font-size:8px;margin-top:9px}.metrics span{font-family:Georgia,serif}.section.services{padding:30px 3.5% 35px}.services h2{font-size:34px}.service-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:18px}.service-visual{height:100px}.service-copy{padding:10px 10px 14px;min-height:160px}.service-copy i{font-size:20px}.service-copy h3{font-size:17px;line-height:1.1;margin:6px 0}.service-copy p{font-size:11px;line-height:1.5}.feature{grid-template-columns:.9fr 1.6fr;padding:28px 3.5%;gap:18px;min-height:215px}.feature h2{font-size:32px}.feature-strip{gap:8px}.stage{height:146px;background-position:center;background-size:cover}.stage.sketch{background-size:cover}.feature figcaption{font-size:9px}.reviews-section{display:grid;grid-template-columns:1.05fr 1.18fr .56fr;align-items:center;gap:25px;background:#f2eee6;padding:33px 3.5%;min-height:190px}.reviews-section h2{font:normal 30px/1.05 Georgia,serif;margin:8px 0}.reviews-section p{font-size:13px;line-height:1.55;color:#6d665f;margin:0}.review-feature{position:relative;background:#faf8f4;padding:27px 27px 20px 52px;min-height:135px;box-shadow:0 5px 22px #0000000c}.review-feature .quote-icon{position:absolute;left:14px;top:3px;font:70px Georgia;color:#d4c7b8}.review-feature p{font-family:Georgia,serif;color:#34312e}.review-feature small{display:block;font-size:9px;letter-spacing:1px;margin-top:13px;color:#9b734c}.review-summary{min-height:138px;border:1px solid #d5c7b7;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px}.review-summary .big-star{color:#b98651;font-size:23px}.review-summary strong{font:40px Georgia}.review-summary span:not(.big-star){font:12px Georgia}.review-summary small{font-size:8px;letter-spacing:1.4px;color:#938577;margin-top:7px}.portfolio{padding:38px 4%;background:white}.process-inner{max-width:850px;margin:auto;text-align:center}.process-inner h2{font-size:35px}.process-inner p:not(.eyebrow){color:#685e55;line-height:1.6;font-size:14px}.process-actions{display:flex;gap:22px;align-items:center;justify-content:center;margin-top:20px;font-size:11px;color:#8b735a}.bottom-cta{padding:33px 4%;color:white;background:linear-gradient(90deg,#0f1414ed,#0f1615be),url('assets/real-porch.jpg') center 46%/cover;display:flex;align-items:center;justify-content:space-between;gap:30px}.bottom-cta h2{font:normal 34px Georgia;margin:6px 0}.bottom-cta p:not(.eyebrow){max-width:600px;font-size:13px;line-height:1.5;color:#e2d8cc}.bottom-cta .btn{white-space:nowrap}.contact{padding:50px 5%}@media(max-width:1400px){.service-copy h3{font-size:15px}.service-grid{gap:8px}.service-copy{padding:10px}.metrics .metric-icon{font-size:24px}}@media(max-width:1050px){.service-grid{grid-template-columns:repeat(3,1fr)}.service-visual{height:135px}.service-copy{min-height:130px}.reviews-section{grid-template-columns:1fr 1fr}.review-summary{grid-column:1/-1;min-height:105px}.hero{min-height:500px}}@media(max-width:850px){.shell{margin-left:0}.hero{min-height:550px}.metrics{grid-template-columns:repeat(2,1fr)}.metrics>div:nth-child(2){border-right:0}}@media(max-width:620px){.hero{min-height:600px}.hero-content{width:100%;padding:130px 7% 42px}.hero h1{font-size:55px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-visual{height:115px}.feature{grid-template-columns:1fr}.stage{height:90px}.reviews-section{grid-template-columns:1fr}.review-summary{grid-column:auto}.bottom-cta{flex-direction:column;align-items:start}.bottom-cta h2{font-size:30px}.metrics>div{padding:8px}.metrics b.words{font-size:17px}}

/* EC Studio layout standard: stable desktop composition.
   At narrower laptop/window widths the desktop page scrolls horizontally
   rather than compressing type, changing column counts or breaking cards.
   Genuine phone layouts remain responsive and intentionally designed. */
@media (min-width:701px){
  :root{--sidebar:190px}
  body{min-width:1370px;overflow-x:auto}
  .sidebar{width:190px;transform:none!important;padding-top:0}
  .mobile-toggle{display:none!important}
  .shell{margin-left:190px!important;width:calc(100% - 190px);min-width:1180px;overflow:hidden}
  .hero{min-height:475px}
  .hero-content{width:530px;padding:45px 20px 45px 48px;flex:0 0 530px}
  .hero h1{font-size:76px;line-height:0.99;letter-spacing:-2px;white-space:normal}
  .hero-content>p:not(.eyebrow){font-size:14px}
  .metrics{grid-template-columns:repeat(4,minmax(0,1fr));padding:15px 20px;min-height:112px}
  .metrics>div{gap:14px;padding:8px 13px;min-width:0}
  .metrics>div:nth-child(2){border-right:1px solid #7a6b5b77}
  .metrics .metric-icon{font-size:25px}
  .metrics b.words{font-size:20px}
  .section.services{padding:30px 3.5% 35px}
  .service-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
  .service-visual{height:100px}
  .service-copy{padding:10px 10px 14px;min-height:160px}
  .service-copy h3{font-size:17px;line-height:1.1}
  .service-copy p{font-size:11px}
  .feature{grid-template-columns:.9fr 1.6fr;gap:18px;min-height:215px;padding:28px 3.5%}
  .feature-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stage{height:146px}
  .reviews-section{grid-template-columns:1.05fr 1.18fr .56fr;gap:25px}
  .review-summary{grid-column:auto;min-height:138px}
  .bottom-cta{flex-direction:row;align-items:center}
}
/* At phone widths, use a purpose-made touch-friendly layout instead
   of forcing visitors to pan around a 1370px desktop canvas. */
@media (max-width:700px){
  body{min-width:0;overflow-x:hidden}
  .shell{margin-left:0;width:100%;min-width:0}
  .mobile-toggle{display:flex}
  .sidebar{width:240px;transform:translateX(-100%);padding-top:28px}
  .sidebar.open{transform:translateX(0)}
  .hero{min-height:620px;align-items:end}
  .hero-content{width:100%;padding:135px 7% 45px}
  .hero h1{font-size:clamp(47px,11vw,62px);letter-spacing:-2px}
  .hero-shade{background:linear-gradient(0deg,#071827 5%,#071827df 40%,#07182722 100%)}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metrics>div:nth-child(2){border-right:0}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-visual{height:115px}
  .service-copy{min-height:180px}
  .feature{grid-template-columns:1fr}
  .reviews-section{grid-template-columns:1fr}
  .review-summary{grid-column:auto}
  .bottom-cta{flex-direction:column;align-items:flex-start}
}

/* v1.2 VERIFIED FIX: unlike min-width, explicit canvas width cannot expand
   with the viewport. Desktop artboard is 1180px plus 190px fixed sidebar. */
@media (min-width:701px){
  .shell { width:1180px !important; min-width:1180px; max-width:1180px; margin-left:190px !important; overflow:hidden; }
  .hero { width:1180px; }
  .hero-image,.hero-video { object-fit:cover; }
}


/* v1.3 — fill available desktop area without unlimited stretching.
   This supersedes v1.2's fixed 1180px shell; card count/type sizes stay fixed.
   Wide viewports are capped; hero media retains aspect ratio by cropping. */
@media (min-width:701px) {
  :root { --sidebar:190px; --desktop-max:1720px; }
  body { min-width: 1370px; overflow-x:auto; background:#1c1d1c; }
  .sidebar {
    width:var(--sidebar);
    left:max(0px, calc((100vw - (var(--desktop-max) + var(--sidebar)))/2));
  }
  .shell {
    width:calc(100% - var(--sidebar)) !important;
    min-width:1180px;
    max-width:var(--desktop-max);
    margin-left:max(var(--sidebar), calc((100vw - (var(--desktop-max) + var(--sidebar)))/2 + var(--sidebar))) !important;
    overflow:hidden;
  }
  .hero { width:100%; min-height:475px; }
  .hero-image, .hero-video { width:100%; height:100%; object-fit:cover; object-position:center; }
  .hero-content { flex:0 0 530px; width:530px; }
  .hero h1 { font-size:76px; }
  .service-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .service-copy h3 { font-size:17px; }
  .service-copy p { font-size:11px; }
  .feature-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .reviews-section { grid-template-columns:1.05fr 1.18fr .56fr; }
}

/* v1.5 — investigated adjustments based on live review
   1) Restore the review-section heading/copy from the approved mock.
   2) Make service-card imagery thicker on desktop.
   3) Introduce the real stone-wall texture into the left sidebar.
*/

.sidebar{
  isolation:isolate;
  overflow:hidden;
}
.sidebar::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/stone-pattern.png') center top / 285px auto repeat-y;
  opacity:.22;
  pointer-events:none;
  z-index:0;
}
.sidebar::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(9,11,13,.88) 0%, rgba(16,16,15,.78) 38%, rgba(18,14,11,.82) 100%),
    linear-gradient(160deg, rgba(14,15,14,.55) 0%, rgba(34,29,24,.4) 100%);
  pointer-events:none;
  z-index:0;
}
.sidebar > *{
  position:relative;
  z-index:1;
}

@media (min-width:701px){
  .service-visual{height:132px;}
  .service-copy{min-height:173px;}
  .service-copy h3{font-size:18px;line-height:1.15;}
  .service-copy p{font-size:12px;line-height:1.48;}
  .reviews-section .review-intro h2{font-size:31px;line-height:1.08;}
  .reviews-section .review-intro p:not(.eyebrow){font-size:14px;line-height:1.6;}
}

@media (max-width:700px){
  .sidebar::before{background-size:240px auto; opacity:.18;}
}


/* v1.6 — supplied stone behind warm brown smoked glass. */
.sidebar{background:#241b16;}
.sidebar::before{
  background:url('assets/stone-pattern.png') center top / 530px auto repeat-y;
  opacity:.8;
}
.sidebar::after{
  background:linear-gradient(180deg,rgba(31,21,16,.66),rgba(34,23,17,.62) 45%,rgba(22,16,12,.76));
}
.metrics{
  background:linear-gradient(110deg,rgba(31,23,18,.79),rgba(24,19,15,.84)),
    url('assets/stone-pattern.png') center / 850px auto repeat;
}
.feature{
  background:linear-gradient(110deg,rgba(28,21,17,.8),rgba(37,27,20,.85)),
    url('assets/stone-pattern.png') center / 1000px auto repeat;
}
@media(max-width:700px){
  .sidebar::before{background-size:530px auto;opacity:.8;}
}


/* v1.6 — smoky brown stone treatment */
:root{
  --stone-glass-dark:rgba(16,13,10,.76);
  --stone-glass-warm:rgba(92,61,34,.18);
}
.sidebar{isolation:isolate;overflow:hidden}
.sidebar::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/stone-pattern.png') center top/330px auto repeat-y;
  opacity:.34;
  filter:saturate(.82) contrast(.92) brightness(.82);
  pointer-events:none;
  z-index:0;
}
.sidebar::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(12,10,9,.90) 0%,rgba(20,16,13,.80) 38%,rgba(24,18,14,.84) 100%),
    linear-gradient(160deg,rgba(28,20,15,.38) 0%,rgba(82,56,35,.16) 100%),
    linear-gradient(90deg,rgba(0,0,0,.10),rgba(255,255,255,.03));
  pointer-events:none;
  z-index:0;
}
.sidebar>*{position:relative;z-index:1}
.metrics,.feature{position:relative;isolation:isolate;overflow:hidden;background:none}
.metrics::before,.feature::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/stone-pattern.png') center/640px auto repeat;
  opacity:.15;
  filter:saturate(.75) contrast(.92) brightness(.80);
  z-index:-3;
}
.metrics::after,.feature::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg,var(--stone-glass-dark) 0%,rgba(22,18,15,.84) 55%,rgba(18,16,13,.90) 100%),
    linear-gradient(90deg,var(--stone-glass-warm),rgba(0,0,0,0) 45%,rgba(255,255,255,.02));
  z-index:-2;
}
@media(min-width:701px){
  .sidebar::before{background-size:330px auto;opacity:.34}
  .metrics::before{background-size:620px auto;opacity:.14}
  .feature::before{background-size:600px auto;opacity:.15}
}
@media(max-width:700px){
  .sidebar::before{background-size:250px auto;opacity:.24}
  .metrics::before,.feature::before{background-size:460px auto;opacity:.12}
}


/* v1.7 — corrected stone asset and layering.
   Uses the actual supplied stone wall image already in the repo:
   assets/stone-sidebar-brown.webp
   This block intentionally overrides all earlier stone rules. */
.sidebar{
  background:#171310 !important;
  isolation:isolate;
  overflow:hidden;
}
.sidebar::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url('assets/stone-sidebar-brown.webp') !important;
  background-position:center top !important;
  background-size:360px auto !important;
  background-repeat:repeat-y !important;
  opacity:.40 !important;
  filter:saturate(.78) contrast(.96) brightness(.72);
  pointer-events:none;
  z-index:0;
}
.sidebar::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(17,12,9,.78) 0%,rgba(31,21,15,.70) 46%,rgba(19,14,11,.82) 100%),
    linear-gradient(90deg,rgba(105,72,44,.15) 0%,rgba(0,0,0,.12) 100%) !important;
  pointer-events:none;
  z-index:0;
}
.sidebar>*{
  position:relative;
  z-index:1;
}

.metrics,
.feature{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#1a1512 !important;
}
.metrics::before,
.feature::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url('assets/stone-sidebar-brown.webp') !important;
  background-position:center center !important;
  background-repeat:repeat !important;
  background-size:720px auto !important;
  opacity:.13 !important;
  filter:saturate(.72) contrast(.94) brightness(.72);
  pointer-events:none;
  z-index:0 !important;
}
.metrics::after,
.feature::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg,rgba(18,13,10,.88) 0%,rgba(31,22,16,.82) 55%,rgba(20,15,12,.90) 100%),
    linear-gradient(90deg,rgba(111,76,45,.09) 0%,rgba(255,255,255,.02) 100%) !important;
  pointer-events:none;
  z-index:0 !important;
}
.metrics>*,
.feature>*{
  position:relative;
  z-index:1;
}
@media(max-width:700px){
  .sidebar::before{
    background-size:270px auto !important;
    opacity:.30 !important;
  }
  .metrics::before,
  .feature::before{
    background-size:520px auto !important;
    opacity:.10 !important;
  }
}


/* v1.8 — sidebar fade + refined cream drafting texture.
   Sidebar: top quarter reads as solid deep brown, then softly reveals stone.
   Cream sections: subtle architectural linework for tactile depth. */

.sidebar{
  background:#1a120e !important;
}
.sidebar::before{
  background-image:url('assets/stone-sidebar-brown.webp') !important;
  background-position:center 24vh !important;
  background-size:360px auto !important;
  background-repeat:repeat-y !important;
  opacity:.46 !important;
  filter:saturate(.78) contrast(.96) brightness(.74);
  -webkit-mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    transparent 18%,
    rgba(0,0,0,.18) 24%,
    rgba(0,0,0,.68) 34%,
    #000 43%,
    #000 100%
  );
  mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    transparent 18%,
    rgba(0,0,0,.18) 24%,
    rgba(0,0,0,.68) 34%,
    #000 43%,
    #000 100%
  );
}
.sidebar::after{
  background:
    linear-gradient(
      180deg,
      #2a1b14 0%,
      #2a1b14 20%,
      rgba(42,27,20,.97) 25%,
      rgba(35,23,17,.82) 34%,
      rgba(25,18,14,.66) 48%,
      rgba(18,13,10,.78) 100%
    ),
    linear-gradient(90deg,rgba(112,75,43,.12),rgba(0,0,0,.10)) !important;
}

/* Premium architectural paper treatment on cream/light areas */
.services,
.reviews-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.services{
  background-color:#f4f0e9 !important;
  background-image:
    radial-gradient(circle at 14% 18%, rgba(138,103,70,.055) 0 1px, transparent 1.4px),
    radial-gradient(circle at 78% 64%, rgba(138,103,70,.035) 0 1px, transparent 1.4px),
    repeating-linear-gradient(0deg, rgba(84,72,61,.026) 0 1px, transparent 1px 34px),
    repeating-linear-gradient(90deg, rgba(84,72,61,.020) 0 1px, transparent 1px 34px),
    linear-gradient(135deg, rgba(255,255,255,.28), rgba(213,203,190,.06)) !important;
  background-size:
    92px 92px,
    128px 128px,
    auto,
    auto,
    auto !important;
}
.services::before,
.reviews-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(ellipse at 8% 34%, transparent 0 56px, rgba(118,96,76,.038) 57px 58px, transparent 59px 88px),
    radial-gradient(ellipse at 93% 14%, transparent 0 76px, rgba(118,96,76,.032) 77px 78px, transparent 79px 112px),
    radial-gradient(ellipse at 72% 86%, transparent 0 96px, rgba(118,96,76,.025) 97px 98px, transparent 99px 142px);
  opacity:.9;
}
.services>*,
.reviews-section>*{
  position:relative;
  z-index:1;
}

.reviews-section{
  background-color:#f2eee6 !important;
  background-image:
    repeating-linear-gradient(0deg, rgba(86,72,58,.022) 0 1px, transparent 1px 38px),
    repeating-linear-gradient(90deg, rgba(86,72,58,.017) 0 1px, transparent 1px 38px),
    linear-gradient(135deg, rgba(255,255,255,.25), rgba(210,198,184,.06)) !important;
}

@media(max-width:700px){
  .sidebar::before{
    background-position:center 20vh !important;
    background-size:275px auto !important;
  }
}


/* v1.9 — 45° sepia architectural drafting texture on cream sections */
.services,
.reviews-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

.services::before,
.reviews-section::before{
  content:"";
  position:absolute;
  left:-18%;
  top:-28%;
  width:145%;
  height:165%;
  pointer-events:none;
  z-index:0;
  transform:rotate(-45deg);
  transform-origin:center;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(126,94,66,.065) 0 1px,
      transparent 1px 42px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(126,94,66,.05) 0 1px,
      transparent 1px 42px
    ),
    repeating-linear-gradient(
      0deg,
      transparent 0 84px,
      rgba(126,94,66,.055) 84px 86px,
      transparent 86px 126px
    ),
    radial-gradient(
      ellipse at 18% 26%,
      transparent 0 84px,
      rgba(126,94,66,.055) 85px 87px,
      transparent 88px 138px
    ),
    radial-gradient(
      ellipse at 72% 58%,
      transparent 0 116px,
      rgba(126,94,66,.045) 117px 119px,
      transparent 120px 176px
    );
  opacity:.95;
}

.services::after,
.reviews-section::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.30) 0%,
      rgba(244,238,229,.06) 38%,
      rgba(213,197,180,.045) 100%
    );
}

.services>*,
.reviews-section>*{
  position:relative;
  z-index:1;
}

/* keep service cards visually clean above the diagonal drafting field */
.service-grid article{
  position:relative;
  z-index:2;
}


/* v2.0 — actual architectural house linework on all light/cream sections.
   Transparent sepia drawing, oversized and rotated 45 degrees. */
.services,
.reviews-section,
.portfolio{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:#f3efe8 !important;
  background-image:none !important;
}

.services::before,
.reviews-section::before,
.portfolio::before{
  content:"";
  position:absolute;
  left:-24%;
  top:-42%;
  width:150%;
  height:190%;
  pointer-events:none;
  z-index:0;
  background-image:url('assets/architectural-sepia-overlay.svg') !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:92% auto !important;
  transform:rotate(-45deg) scale(1.18);
  transform-origin:center;
  opacity:.16;
}

.services::after,
.reviews-section::after,
.portfolio::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:linear-gradient(
    135deg,
    rgba(255,255,255,.14) 0%,
    rgba(255,255,255,.02) 42%,
    rgba(173,145,118,.025) 100%
  ) !important;
}

.services>*,
.reviews-section>*,
.portfolio>*{
  position:relative;
  z-index:1;
}

.service-grid article,
.review-feature,
.review-summary{
  position:relative;
  z-index:2;
}

@media(max-width:700px){
  .services::before,
  .reviews-section::before,
  .portfolio::before{
    left:-46%;
    top:-28%;
    width:190%;
    height:165%;
    background-size:110% auto !important;
    opacity:.12;
  }
}


/* v2.1 — guaranteed visible architectural house drawing on every cream section.
   Uses the existing blueprint PNG directly; CSS converts blue to a pale field and
   the white drafting lines into warm brown/sepia linework. */
.services,
.reviews-section,
.portfolio{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#f3efe8 !important;
}

.services::before,
.reviews-section::before,
.portfolio::before{
  content:"";
  position:absolute;
  left:-30%;
  top:-55%;
  width:165%;
  height:220%;
  pointer-events:none;
  z-index:0;
  background:url('assets/real-home-blueprint.png') center/contain no-repeat !important;
  transform:rotate(-45deg) scale(1.12);
  transform-origin:center;
  filter:grayscale(1) invert(1) contrast(1.9) sepia(.85) saturate(1.8) hue-rotate(335deg);
  opacity:.11;
  mix-blend-mode:multiply;
}

.services::after,
.reviews-section::after,
.portfolio::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:rgba(255,250,244,.17) !important;
}

.services>*,
.reviews-section>*,
.portfolio>*{
  position:relative;
  z-index:1;
}

@media(max-width:700px){
  .services::before,
  .reviews-section::before,
  .portfolio::before{
    left:-58%;
    top:-32%;
    width:215%;
    height:175%;
    opacity:.085;
    transform:rotate(-45deg) scale(1.18);
  }
}
