@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Manrope:wght@300;400;500;600;700&display=swap');
:root{--black:#151413;--coal:#252320;--bronze:#c18b5c;--brighter:#e4ad7b;--paper:#f4f0ea;--muted:#aea69e;--line:#403b35}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#f4efea;font:400 16px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{transition:color .25s,background .25s,border-color .25s}a:hover{color:var(--brighter)}.top{height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 5.5%;border-bottom:1px solid #ffffff15;background:#131211;position:sticky;top:0;z-index:20}.brand{display:flex;gap:12px;align-items:center;color:white!important;flex:0 0 auto}.brand-symbol{width:51px;height:51px;overflow:hidden;display:block;flex:0 0 auto}.brand-symbol img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:screen}.brand-divider{width:1px;height:38px;background:#82674f;display:block;flex:0 0 auto}.brand-copy{display:flex;flex-direction:column;justify-content:center;gap:3px}.brand-wordmark{width:180px;height:26px;overflow:hidden;display:block}.brand-wordmark img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:screen}.brand small{display:block;color:var(--bronze);font:500 8px/1.2 Manrope;letter-spacing:.24em}.top nav{display:flex;gap:26px}.top nav a,.header-phone{font-size:11px;letter-spacing:.13em;text-transform:uppercase}.header-phone{color:var(--brighter)}.menu{display:none;background:none;color:#fff;border:0;font-size:26px}.hero{min-height:690px;position:relative;display:grid;grid-template-columns:55% 45%;align-items:center;overflow:hidden;padding:85px 7%;background:radial-gradient(circle at 82% 43%,#48372d 0%,#181513 40%,#10100f 72%)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111 0%,transparent 35%);pointer-events:none}.hero-text{z-index:2;max-width:670px}.eyebrow{font-weight:700;font-size:11px;letter-spacing:.34em;color:var(--bronze);margin:0 0 27px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,Arial,sans-serif;font-weight:300;letter-spacing:-.04em;line-height:1.12}h1{font-size:clamp(48px,5.1vw,90px);margin-bottom:30px}h2{font-size:clamp(37px,4.2vw,64px);margin-bottom:26px}h1 em,h2 i{font-style:normal;color:var(--brighter)}.hero-copy{color:#d1c5b8;font-size:17px;max-width:520px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:35px}.btn{min-height:51px;padding:14px 23px;display:inline-flex;align-items:center;gap:20px;justify-content:center;font:700 11px Manrope;letter-spacing:.12em;border:1px solid var(--bronze);cursor:pointer}.fill{background:var(--bronze);color:#13100e}.fill:hover{color:black;background:#e4b28a}.ghost{background:transparent;color:#ebd4c2}.ghost:hover{background:#ffffff18}.hero-logo{z-index:1;transform:scale(1.03);filter:drop-shadow(0 14px 32px #000)}.hero-logo img{width:100%;object-fit:contain;mix-blend-mode:screen;border-radius:5px}.scroll-note{position:absolute;bottom:32px;left:7%;z-index:3;font-size:10px;letter-spacing:.28em;color:#a08d7a}.section{padding:110px 8%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#eee9e2;color:#1d1b1a}.intro .eyebrow,.services .eyebrow{color:#a4714b}.intro p:not(.eyebrow){color:#59534d;font-size:18px}.text-link{color:#805937;font-size:12px;letter-spacing:.19em;border-bottom:1px solid #a48266;padding-bottom:8px;display:inline-block}.services{background:#f7f4f0;color:#181615}.section-title{max-width:760px}.section-title>p:last-child{max-width:540px;color:#655e58}.service-grid{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d5cdc4;border-left:1px solid #d5cdc4}.service-grid article{min-height:250px;padding:30px;border-right:1px solid #d5cdc4;border-bottom:1px solid #d5cdc4}.service-grid article>span{font-size:11px;color:#a27859}.service-icon{font-size:37px;color:#9a7454;height:70px;padding-top:14px}.service-grid h3,.approach h3{font-size:18px;font-weight:600;margin-bottom:11px}.service-grid p{color:#777069;font-size:14px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#201d1a}.approach-side>p:not(.eyebrow){color:#b7aaa0}.approach-side .btn{margin-top:24px}.approach-steps>div{border-bottom:1px solid #57483f;padding:20px 0 26px}.approach-steps b{font-size:12px;color:#b98b68}.approach-steps h3{margin-top:11px}.approach-steps p{color:#a89f97;font-size:14px}.projects{background:#eee9e2;color:#1c1b19}.pending-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0}.pending{min-height:295px;background:linear-gradient(140deg,#1e1b19,#584437);padding:28px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}.pending:nth-child(2){background:linear-gradient(140deg,#4d4945,#191817)}.pending:nth-child(3){background:linear-gradient(140deg,#302720,#836348)}.pending span{color:#d5ab8a;font-size:10px;letter-spacing:.2em}.pending strong{font-size:22px;font-weight:400;letter-spacing:.18em}.pending small{color:#d8d0c9}.hint{color:#665e55;font-size:14px}.hint a{color:#916645;text-decoration:underline}.reviews{text-align:center;background:#24201d}.reviews p:last-child{max-width:650px;margin:auto;color:#b4a79e}.contact{display:grid;grid-template-columns:1fr 1fr;gap:11%;background:#171514}.contact>div>p:not(.eyebrow){color:#b5a79a}.contact-links{display:grid;gap:6px;font-size:19px;margin:35px 0;color:var(--brighter)}.note{font-size:13px!important}.form-card{padding:34px;background:#2d2925;border:1px solid #54473a}.form-card h3{font-size:25px;font-weight:400}.form-note{font-size:12px;color:#ceb9a7}form{display:grid;gap:15px}label{font-size:11px;letter-spacing:.1em;color:#d3b59d;text-transform:uppercase}input,select,textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;background:#171513;color:#fff;border:1px solid #5d4f42;outline:none;letter-spacing:normal;border-radius:0}input:focus,textarea:focus,select:focus{border-color:#e2aa75}.form-submit{margin-top:7px;width:100%}footer{padding:55px 8% 25px;background:#0e0e0e}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:12px;color:#fff!important}.footer-symbol{width:54px;height:54px;display:block;overflow:hidden;flex:0 0 auto}.footer-symbol img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:screen}.footer-divider{width:1px;height:34px;background:#82674f;display:block}.footer-copy{display:flex;flex-direction:column;gap:3px}.footer-wordmark{width:190px;height:27px;display:block;overflow:hidden}.footer-wordmark img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:screen}.footer-copy small{font-size:10px;letter-spacing:.15em;color:#b18e71}.footer-bottom{margin-top:36px;border-top:1px solid #38332f;padding-top:24px;font-size:11px;color:#958b82;letter-spacing:.1em}@media(max-width:1050px){.top nav{gap:12px}.top nav a{font-size:10px}.hero{min-height:640px}.section{padding:80px 6%}}@media(max-width:780px){.top{height:75px;padding:0 5%}.top nav{display:none;position:absolute;top:75px;left:0;right:0;background:#181614;padding:28px;flex-direction:column}.top nav.open{display:flex}.menu{display:block}.header-phone{display:none}.hero{display:block;min-height:745px;padding:75px 7%}.hero-logo{width:90%;margin:25px auto 0;max-width:450px}.hero h1{font-size:48px}.scroll-note{bottom:15px}.intro,.approach,.contact{grid-template-columns:1fr;gap:32px}.service-grid{grid-template-columns:repeat(2,1fr)}.pending-grid{grid-template-columns:1fr}.pending{min-height:200px}}@media(max-width:520px){.service-grid{grid-template-columns:1fr}.hero{min-height:700px}.hero h1{font-size:41px}.brand-wordmark{width:140px;height:21px}.brand-wordmark img{width:100%;height:100%;object-fit:contain}.brand small{font-size:6px}.brand-symbol{width:39px;height:39px}.brand-symbol img{width:100%;height:100%;object-fit:contain}.brand-divider{height:30px}.footer-wordmark{width:140px;height:21px}.footer-wordmark img{width:100%;height:100%;object-fit:contain}.footer-copy small{font-size:8px}.footer-symbol{width:39px;height:39px}.footer-symbol img{width:100%;height:100%;object-fit:contain}.footer-divider{height:28px}.actions{flex-direction:column}.btn{width:100%}.section{padding:70px 7%}.form-card{padding:22px}}

/* Testimonials section */
.reviews{text-align:center;background:#24201d}.reviews-intro{max-width:780px;margin:0 auto 30px}.reviews-intro p{color:#c7bbb0}.reviews-featured{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:42px 0 20px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.review-card{padding:26px 24px;text-align:left;background:linear-gradient(155deg,#2d2722,#171514);border:1px solid #4d4136;box-shadow:0 18px 40px rgba(0,0,0,.18)}.review-card.featured{background:linear-gradient(155deg,#352b24,#1a1715);border-color:#7c5d45}.review-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}.review-name{font-weight:700;font-size:17px;color:#fff}.review-date{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#b7a79a}.review-stars{color:var(--brighter);letter-spacing:.16em;font-size:16px;margin-bottom:10px}.review-service{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#d2ab88;margin-bottom:14px}.review-card p{color:#ddd4cc;font-size:14px;line-height:1.75;margin-bottom:16px}.review-card small{color:#9e9288;font-size:11px;letter-spacing:.08em}.review-cta-wrap{margin:34px 0 18px}.reviews .review-attribution{max-width:700px;margin:0 auto;color:#b4a79e;font-size:12px}@media(max-width:1050px){.reviews-featured,.review-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.reviews-featured,.review-grid{grid-template-columns:1fr}}


/* CARBON client testimonials · refined black-ash and bronze identity */
.home-reviews{background:linear-gradient(150deg,#171514,#29221d 68%,#171514);color:#f8f5f1}
.home-reviews-top,.review-section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:8%;align-items:end;margin-bottom:48px;text-align:left}
.home-reviews-top>p,.review-section-heading>p{font-size:15px;line-height:1.9;color:#beafa4;max-width:480px}
.home-reviews-top h2{margin-bottom:0}.home-reviews .eyebrow{color:#d7a77b}
.home-review-grid,.review-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.client-review{display:flex;flex-direction:column;align-items:stretch;background:#24201d;border:1px solid #5e4c40;padding:30px 28px;min-width:0;color:#f3ede7;box-shadow:0 8px 38px #00000024;transition:transform .2s,border-color .2s}
.client-review:hover{transform:translateY(-2px);border-color:#bc8a61}
.client-review.home-featured{background:linear-gradient(160deg,#34291f,#1e1a17);border-color:#765740;min-height:315px}
.client-review-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;align-items:baseline}
.client-review-name{font-size:16px;font-weight:700;letter-spacing:.015em}
.client-review time{font-size:11px;color:#baa99c;letter-spacing:.04em}
.client-review-stars{color:#dba97d;font-size:17px;letter-spacing:2px;margin:15px 0 5px;line-height:1}
.unfilled-stars{color:#78695e}.client-review-service{color:#c99e7b;font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin:6px 0 15px}
.client-review .review-quote{color:#eee5dd;line-height:1.85;font-size:14px;margin:0 0 28px;flex:1}
.client-review .review-no-comment{color:#b8a69a;font-size:14px;line-height:1.7;font-style:italic;flex:1}
.client-review-source{font-size:11px;color:#d4aa84;letter-spacing:.035em;margin-top:auto;border-top:1px solid #66544860;padding-top:14px;align-self:stretch}
.home-reviews-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:34px}
.home-reviews-bottom p{font-size:12px;color:#ada096;max-width:470px;margin:0}
.home-reviews-bottom .btn{white-space:nowrap}
.review-page-hero{padding:105px 8% 95px;background:radial-gradient(ellipse at 82% 20%,#554031 0%,#221b17 35%,#131211 77%);border-bottom:1px solid #564132}
.review-page-hero-content{max-width:980px}.review-page-hero h1{font-size:clamp(50px,7vw,96px)}.review-page-hero h1 em{color:#dda978;font-style:normal}
.review-page-hero-content>p:not(.eyebrow){font-size:17px;color:#d5c5b6;max-width:665px;line-height:1.85}
.review-summary{display:flex;gap:0;flex-wrap:wrap;margin-top:46px;border-top:1px solid #6b5544;padding-top:24px}
.review-summary>div{padding:0 30px 0 0;margin-right:30px;border-right:1px solid #6b5544;display:flex;flex-direction:column;gap:4px}
.review-summary>div:last-child{border:none;margin:0}.review-summary strong{font:400 26px/1.3 Manrope,sans-serif;color:#e6b28b}.review-summary span{font-size:11px;letter-spacing:.08em;color:#bdaca0}
.reviews-archive{background:#ede7de;color:#1c1b19}.reviews-archive h2 i{color:#987054}.reviews-archive .eyebrow{color:#976848}
.reviews-archive .review-section-heading>p{color:#70675e}.review-toolbar{border-top:1px solid #ccbeb1;border-bottom:1px solid #ccbeb1;padding:22px 0 16px;margin-bottom:26px}
.review-toolbar-top{display:flex;gap:18px;flex-wrap:wrap;align-items:end}.review-filter-label{display:flex;flex-direction:column;font-size:10px;gap:8px;color:#796353;letter-spacing:.17em;min-width:230px}
.review-filter-label select{margin:0;background:#f8f4ee;border:1px solid #baa898;color:#2f2924;min-width:230px;cursor:pointer}
.review-result-label{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:19px;color:#786554;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.review-archive-grid .client-review{background:#211d1a;border-color:#665144;min-height:280px}
.review-archive-grid .client-review[hidden]{display:none}
.review-more-row{text-align:center;padding-top:30px}.reviews-archive .review-more-row .btn{background:#24201c;color:#f6ebe2}.reviews-archive .review-more-row .btn:hover{color:#fff;background:#573c2b}
.review-footer-note{border-top:1px solid #cfbfb0;margin-top:52px;padding-top:23px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.review-footer-note p{font-size:12px;color:#70675f;max-width:650px;line-height:1.8;margin:0}
.review-footer-note a{flex-shrink:0}.no-review-results{text-align:center;color:#6b5d53;margin:32px 0}.review-bottom-cta{text-align:center;padding:85px 7%;background:#1a1715}.review-bottom-cta h2{margin:0 0 28px}.review-bottom-cta .btn{display:inline-flex}
@media(max-width:1080px){.home-review-grid,.review-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.home-reviews-top,.review-section-heading{grid-template-columns:1fr;gap:8px;margin-bottom:30px}.home-reviews-bottom,.review-footer-note{flex-direction:column;align-items:flex-start}.review-page-hero{padding:85px 7% 55px}}
@media(max-width:590px){.home-review-grid,.review-archive-grid{grid-template-columns:1fr}.client-review{padding:25px 22px}.review-summary>div{margin-right:13px;padding-right:13px}.review-summary strong{font-size:19px}.review-summary span{font-size:9px}.home-reviews-bottom .btn{width:100%;white-space:normal}.review-toolbar-top{display:grid;grid-template-columns:1fr}.review-filter-label,.review-filter-label select{min-width:unset;width:100%}.review-result-label{font-size:10px}.review-page-hero{padding:70px 7% 45px}}
#reviews-load-more[hidden],#no-review-results[hidden]{display:none!important}


/* CARBON — featured project portfolio and full gallery */
.home-work{background:#eee9e2;color:#211d19}
.portfolio-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:44px}
.portfolio-intro>p{max-width:490px;font-size:17px;line-height:1.8;color:#645a50;margin:0 0 12px}
.portfolio-intro h2 i{color:#ae7b58}
.home-projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-project-tile{display:block;color:inherit;min-width:0;background:#fff;border:1px solid #ded4c8;overflow:hidden}
.home-project-tile:hover{color:inherit;border-color:#b38a66;box-shadow:0 15px 36px #44332221}
.home-project-picture{aspect-ratio:4/4.3;overflow:hidden;background:#27231e}
.home-project-picture img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.home-project-tile:hover img{transform:scale(1.045)}
.home-project-caption{padding:23px 22px 26px}
.home-project-caption p{font-size:10px;letter-spacing:.21em;color:#a67a59;margin:0 0 8px;font-weight:700}
.home-project-caption h3{font-size:19px;line-height:1.32;font-family:Manrope,Arial,sans-serif;font-weight:500;letter-spacing:-.025em;margin:0 0 22px}
.home-project-caption>span{font-size:11px;letter-spacing:.16em;color:#895f41;font-weight:700}
.home-work-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px}
.home-work-bottom p{font-size:13px;letter-spacing:.08em;color:#776d61;margin:0}
.outline-bronze{color:#674b34;border-color:#b18d6a;background:transparent;white-space:nowrap}
.outline-bronze:hover{background:#b18d6a;color:#1a1511}
.portfolio-hero{display:grid;grid-template-columns:1fr 47%;background:radial-gradient(circle at 22% 34%,#46372e 0,#191613 43%,#13110f 90%);min-height:500px;align-items:center;overflow:hidden}
.portfolio-hero-copy{padding:90px 9% 90px 14%;max-width:750px}
.portfolio-hero h1{font-size:clamp(44px,5.1vw,82px);color:#f5eee8}
.portfolio-hero h1 em{font-style:normal;color:#d1a07b}
.portfolio-hero-copy>p:not(.eyebrow){color:#c9bdb0;max-width:480px;margin-bottom:30px}
.portfolio-hero-image{height:100%;max-height:610px;min-height:500px;position:relative;overflow:hidden}
.portfolio-hero-image:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#16130f 0%,transparent 40%);z-index:1}
.portfolio-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.portfolio-main{background:#f5f1eb;color:#201d19}
.portfolio-section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px}
.portfolio-section-heading>p{max-width:420px;color:#6b6055}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:11px;margin:34px 0 52px;padding-bottom:18px;border-bottom:1px solid #d8cdc1}
.portfolio-filters button{background:transparent;color:#51473e;border:1px solid #cfc2b4;cursor:pointer;padding:12px 18px;font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.portfolio-filters button.selected,.portfolio-filters button:hover{background:#2a211c;border-color:#2a211c;color:#ead5c2}
.portfolio-collection{padding:0 0 69px;margin:0 0 68px;border-bottom:1px solid #d6ccc1;scroll-margin-top:115px}
.portfolio-collection:last-child{border:0;margin-bottom:0;padding-bottom:0}
.portfolio-collection[hidden]{display:none}
.portfolio-collection-top{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:26px}
.portfolio-collection-top>div{max-width:760px}
.project-number{color:#a07452;font-size:11px;font-weight:700;letter-spacing:.2em}
.portfolio-collection h2{font-size:clamp(29px,3vw,44px);margin:12px 0 13px}
.portfolio-collection-top p{font-size:15px;color:#75695f;max-width:660px;line-height:1.75;margin:0}
.photos-count{font-size:10px;letter-spacing:.17em;color:#947c67;white-space:nowrap;padding-bottom:6px}
.portfolio-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:230px;gap:14px}
.portfolio-shot{padding:0;margin:0;background:#262321;border:0;position:relative;cursor:zoom-in;overflow:hidden;display:block;min-height:0}
.portfolio-shot.large{grid-column:span 2;grid-row:span 2}
.portfolio-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,filter .5s ease}
.portfolio-shot:hover img{transform:scale(1.04);filter:brightness(.85)}
.shot-enlarge{position:absolute;right:16px;bottom:14px;background:#211c17cc;color:#e8c49e;width:36px;height:36px;display:grid;place-items:center;font-size:20px;opacity:0;transition:opacity .2s}
.portfolio-shot:hover .shot-enlarge,.portfolio-shot:focus-visible .shot-enlarge{opacity:1}
.portfolio-no-results{color:#615950}
.portfolio-cta{text-align:center;padding:100px 24px;background:#221c18;color:#eee3d9}
.portfolio-cta h2 i{color:#d8a67e}
.portfolio-cta>p:not(.eyebrow){max-width:570px;margin:0 auto 31px;color:#c5b6a7}
.portfolio-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(10,9,8,.97);display:flex;align-items:center;justify-content:center;padding:70px 80px 60px}
.portfolio-lightbox[hidden]{display:none}
.is-lightbox-open{overflow:hidden}
.lightbox-figure{max-width:100%;width:100%;height:100%;margin:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px}
.lightbox-image{display:block;max-width:100%;max-height:calc(100% - 40px);object-fit:contain}
.lightbox-caption{color:#ead3bc;font-size:12px;letter-spacing:.15em;text-align:center}
.portfolio-lightbox>button{color:#f3eee8;border:1px solid #786b5e;background:#1d1a16;cursor:pointer;position:absolute;font-size:34px;display:grid;place-items:center;width:44px;height:50px}
.portfolio-lightbox>button:hover{background:#5a4435}
.portfolio-lightbox .lightbox-close{top:20px;right:28px}
.portfolio-lightbox .lightbox-prev{left:18px;top:calc(50% - 25px)}
.portfolio-lightbox .lightbox-next{right:18px;top:calc(50% - 25px)}
@media(max-width:1040px){.portfolio-photo-grid{grid-auto-rows:185px}.portfolio-hero-copy{padding:70px 7% 70px 11%}}
@media(max-width:780px){.portfolio-intro{grid-template-columns:1fr;gap:6px}.home-projects-grid{grid-template-columns:repeat(2,1fr)}.home-project-tile:last-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}.home-project-tile:last-child .home-project-picture{aspect-ratio:3/2}.home-project-tile:last-child .home-project-caption{align-self:center}.portfolio-hero{grid-template-columns:1fr;display:flex;flex-direction:column-reverse}.portfolio-hero-image{width:100%;height:300px;min-height:300px}.portfolio-hero-image:before{background:linear-gradient(0deg,#17130f 0%,transparent 65%)}.portfolio-hero-copy{padding:35px 7% 72px;align-self:stretch}.portfolio-section-heading{display:block}.portfolio-photo-grid{grid-auto-rows:175px}.portfolio-lightbox{padding:80px 45px 60px}}
@media(max-width:520px){.home-projects-grid{grid-template-columns:1fr}.home-project-tile:last-child{display:block;grid-column:auto}.home-project-tile:last-child .home-project-picture{aspect-ratio:4/4.3}.home-work-bottom{align-items:stretch;flex-direction:column}.home-work-bottom .btn{white-space:normal}.portfolio-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:165px;gap:8px}.portfolio-shot.large{grid-column:span 2;grid-row:span 2}.portfolio-collection-top{align-items:start}.photos-count{display:none}.portfolio-filters button{flex:1;padding:10px 8px;font-size:10px}.portfolio-collection{padding-bottom:46px;margin-bottom:48px}.portfolio-lightbox{padding:100px 30px 65px}.portfolio-lightbox>button{height:42px;width:32px}.portfolio-lightbox .lightbox-close{right:16px}.portfolio-lightbox .lightbox-prev{left:0}.portfolio-lightbox .lightbox-next{right:0}}


/* CARBON photo-quality pass: show native-resolution images without forced enlargement */
.home-project-picture{aspect-ratio:4/3;background:linear-gradient(135deg,#2e2723,#151311);display:flex;align-items:center;justify-content:center}
.home-project-picture img{width:100%;height:100%;object-fit:cover;object-position:center center}
.portfolio-hero-image{min-height:410px}
.portfolio-hero-image img{object-position:center center}
.portfolio-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:270px;gap:14px}
.portfolio-shot,.portfolio-shot.large{grid-column:auto;grid-row:auto;background:linear-gradient(135deg,#302a25,#141311);display:flex;align-items:center;justify-content:center}
.portfolio-shot img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;transform:none;image-rendering:auto}
.portfolio-shot:hover img{transform:none;filter:brightness(.93)}
.lightbox-image{width:auto;height:auto;max-width:calc(100vw - 140px);max-height:calc(100vh - 190px);object-fit:contain;image-rendering:auto}
@media(max-width:1040px){.portfolio-photo-grid{grid-auto-rows:245px}}
@media(max-width:780px){.portfolio-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:225px}.portfolio-hero-image{min-height:280px}.portfolio-hero-image img{object-position:center center}}
@media(max-width:520px){.portfolio-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:200px;gap:9px}.portfolio-shot,.portfolio-shot.large{grid-column:auto;grid-row:auto}.lightbox-image{max-width:calc(100vw - 75px);max-height:calc(100vh - 150px)}}


/* CARBON service section — architectural dark/bronze redesign */
.services {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #f2ebe4;
  background: radial-gradient(ellipse at 90% 5%, rgba(121,84,57,.17), transparent 47%),
              linear-gradient(140deg, #171615 0%, #24201d 60%, #191716 100%);
}
.services::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .45;
  background: repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), rgba(255,255,255,.022) 25%);
}
.services .services-heading {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(0,.75fr);
  align-items: end;
  gap: 7%;
  border-bottom: 1px solid rgba(196,151,112,.3);
  padding-bottom: 42px;
  margin-bottom: 30px;
}
.services .eyebrow { color: #c39369; display: flex; align-items: center; gap: 19px; margin-bottom: 21px; }
.services-eyebrow-rule { display: inline-block; height: 1px; width: 48px; background: #8e664a; }
.services h2 { font-size: clamp(37px,4.3vw,68px); font-weight: 300; line-height: 1.14; margin: 0; }
.services h2 i { color: #d5a47c; }
.services-heading-aside { max-width: 355px; padding-bottom: 4px; }
.services-intro-label { display: block; color: #c7a283; font: 600 10px/1.4 Manrope, Arial, sans-serif; letter-spacing: .24em; margin-bottom: 17px; }
.services .services-heading-aside p { font-size: 15px; line-height: 1.85; color: #c7bcb1; margin: 0; }
.services .service-grid { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border: 0; gap: 16px; }
.services .service-grid .service-card {
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
  padding: 30px 30px 31px;
  border: 1px solid rgba(177,136,104,.26);
  background: linear-gradient(145deg, rgba(52,45,40,.74), rgba(23,22,21,.96) 70%);
  transition: border-color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.services .service-grid .service-card::before { content: ""; position: absolute; inset: 0; border-top: 2px solid rgba(205,151,106,.66); opacity: .7; pointer-events: none; }
.services .service-grid .service-card:hover { border-color: rgba(217,165,121,.72); background: linear-gradient(145deg,#433529,#211d1a 65%); transform: translateY(-3px); box-shadow: 0 20px 45px rgba(0,0,0,.2); }
.services .service-top { display: flex; justify-content: space-between; align-items: start; gap: 18px; }
.services .service-grid .service-number { font-family: Manrope, Arial, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .14em; color: #d6ac89; }
.services .service-number span { color: #7f7268; font-size: 11px; margin-left: 4px; }
.services .service-top svg { width: 47px; height: 47px; flex: 0 0 auto; fill: none; stroke: #ca9a74; stroke-width: 1.25; stroke-linecap: square; stroke-linejoin: miter; opacity: .92; }
.services .service-grid .service-copy h3 { color: #f4ede7; margin: 0 0 12px; font-family: Manrope, Arial, sans-serif; font-size: 20px; letter-spacing: -.03em; font-weight: 500; }
.services .service-grid .service-copy p { color: #bdb0a6; margin: 0; font-size: 13px; line-height: 1.85; max-width: 285px; }
.services .service-grid .service-accent { position: absolute; bottom: 0; left: 30px; width: 49px; height: 2px; background: #ae7650; font-size: 0; transition: width .25s ease; }
.services .service-grid .service-card:hover .service-accent { width: calc(100% - 60px); }
.services .services-foot { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 31px; }
.services .services-foot > span { color: #938579; font: 500 10px/1.7 Manrope,Arial,sans-serif; letter-spacing: .2em; }
.services .services-foot > a { color: #dcb28f; font: 600 11px/1.5 Manrope,Arial,sans-serif; letter-spacing: .16em; border-bottom: 1px solid #9d6e50; padding-bottom: 10px; }
.services .services-foot > a:hover { color: #fff; border-color: #e5bb98; }
.services .services-foot > a > span { font-size: 16px; margin-left: 15px; }
@media (max-width: 1080px) {
  .services .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .services .service-grid .service-card { min-height: 275px; }
}
@media (max-width: 780px) {
  .services .services-heading { grid-template-columns: 1fr; gap: 24px; padding-bottom: 32px; }
  .services-heading-aside { max-width: 600px; }
  .services .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .services .service-grid .service-card { padding: 24px; min-height: 270px; }
  .services .service-grid .service-accent { left: 24px; }
  .services .services-foot { flex-wrap: wrap; }
}
@media (max-width: 550px) {
  .services .service-grid { grid-template-columns: 1fr; }
  .services .service-grid .service-card { min-height: 225px; }
  .services .service-grid .service-copy h3 { font-size: 20px; }
  .services .services-foot { align-items: flex-start; flex-direction: column; gap: 23px; }
}
@media (prefers-reduced-motion: reduce) { .services .service-grid .service-card { transition: none; } }


/* CARBON — lead-generating estimate form */
.contact{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:8%;align-items:start;background:radial-gradient(ellipse at 82% 3%,#29211b 0%,#171514 58%)}
.estimate-card{padding:40px 38px 36px;background:linear-gradient(160deg,#322922 0%,#211d1a 55%,#1b1917 100%);border:1px solid #66503d;box-shadow:0 28px 80px #0006}
.estimate-card-top{padding-bottom:27px;border-bottom:1px solid #5b493a;margin-bottom:27px}
.estimate-monogram{font-size:10px;letter-spacing:.28em;font-weight:700;color:#dbab81;margin-bottom:15px}
.estimate-card h3{font-family:Manrope,sans-serif;font-weight:400;font-size:clamp(24px,2.6vw,33px);letter-spacing:-.035em;margin-bottom:10px;color:#f6eee6}
.estimate-card .form-note{font-size:13px;line-height:1.75;color:#baada2;max-width:530px;margin:0}
.estimate-form{display:block}
.estimate-group-title{display:flex;gap:16px;align-items:center;margin:20px 0;font-size:10px;letter-spacing:.21em;color:#d1a17c;border-bottom:1px solid #594638;padding-bottom:11px}
.estimate-group-title span{color:#ece2d7}
.estimate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 14px;margin-bottom:24px}
.estimate-grid label{display:block;min-width:0;text-transform:none;font-weight:600;font-size:11px;letter-spacing:.05em;color:#ddd0c5}
.estimate-grid .estimate-full{grid-column:1/-1}
.estimate-grid input,.estimate-grid select,.estimate-grid textarea{width:100%;min-width:0;margin-top:9px;background:#171411;border:1px solid #645342;color:#f7eee8;border-radius:2px;padding:13px 15px;font:400 14px/1.45 'DM Sans',sans-serif;transition:border-color .22s,box-shadow .22s}
.estimate-grid input::placeholder,.estimate-grid textarea::placeholder{color:#8e8279}
.estimate-grid input:focus,.estimate-grid select:focus,.estimate-grid textarea:focus{border-color:#d7a57c;box-shadow:0 0 0 2px #d7a57c29;outline:none}
.estimate-grid select{appearance:auto;color:#e6d9cf}
.estimate-grid option{background:#201a16}
.estimate-grid textarea{resize:vertical;min-height:125px}
.estimate-grid .required{color:#deab84}
.estimate-optional{font-weight:400;font-size:10px;color:#aa9482;margin-left:3px}
.estimate-consent,.estimate-footnote{color:#ab9b8b;font-size:11px;line-height:1.7;margin:0 0 15px}
.estimate-footnote{margin:14px 0 0;text-align:center}
.estimate-footnote a{color:#e4b38b;border-bottom:1px solid #9d7556}
.estimate-submit{min-height:56px;justify-content:space-between;padding:15px 21px;transition:all .2s}
.estimate-submit:disabled{opacity:.66;cursor:wait}
.estimate-error{padding:14px 16px;margin:14px 0;background:#4d2525;border:1px solid #b46868;color:#ffe1d8;font-size:13px;line-height:1.6}
.estimate-confirmation{padding:24px 0 32px;text-align:center}
.estimate-confirmation[hidden],.estimate-form[hidden]{display:none!important}
.estimate-confirmation-icon{width:64px;height:64px;border:1px solid #d8a679;color:#d8a679;border-radius:50%;margin:0 auto 23px;display:grid;place-items:center;font-size:27px}
.estimate-confirmation p:not(.eyebrow){max-width:410px;margin:0 auto 27px;color:#d6c8bb}
.estimate-confirmation .btn{margin:auto}
@media(max-width:980px){.contact{grid-template-columns:1fr;gap:42px}.estimate-card{max-width:770px;width:100%;margin:auto}}
@media(max-width:520px){.estimate-card{padding:27px 19px}.estimate-grid{grid-template-columns:1fr}.estimate-grid .estimate-full{grid-column:auto}.estimate-card .form-note{font-size:12px}.estimate-group-title{font-size:9px;gap:10px}.estimate-optional{font-size:9px}.estimate-card h3{font-size:26px}}
/* CARBON new dedicated service page links on home cards */
.services .service-grid .service-card{min-height:336px}
.services .service-grid .service-copy p{margin-bottom:13px}
.services .service-explore{display:inline-flex;justify-content:space-between;align-items:center;gap:16px;align-self:flex-start;border-bottom:1px solid #986b4b;padding:7px 0 7px;margin:11px 0 8px;color:#dfae89;font:700 10px/1.5 Manrope,Arial,sans-serif;letter-spacing:.15em}
.services .service-explore:hover{color:#fff;border-color:#ddb28e}
.services .service-explore span{font-size:17px}
.services .service-grid .service-card:focus-within{border-color:#d9a579}
@media(max-width:550px){.services .service-grid .service-card{min-height:268px}}

/* CARBON / Company and Process site navigation */
.home-story-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}
.home-story-links a{color:#d9aa84;display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid #a77954;padding-bottom:8px;font:700 10px/1.5 Manrope,Arial,sans-serif;letter-spacing:.16em}
.home-story-links a:hover{color:#fff;border-color:#f0ba91}
@media(max-width:1020px){.top nav{display:none;position:absolute;top:88px;left:0;right:0;padding:27px 7%;background:#181614;border-bottom:1px solid #6b4f3d;box-shadow:0 15px 25px #0005;flex-direction:column;gap:15px;z-index:19}.top nav.open{display:flex}.top nav a{font-size:11px;padding:4px 0}.top .menu{display:block}.top .header-phone{display:none}}
@media(max-width:780px){.top nav{top:75px}}
