
:root{
  --ink:#101210;
  --ink2:#171a16;
  --bone:#f3efe7;
  --bone2:#e5ded3;
  --titanium:#cbc4b9;
  --orange:#b7a27a;
  --orange-deep:#665944;
  --champagne:#d8c7a7;
  --muted:#6f716d;
  --line:rgba(16,18,16,.16);
  --display:"Space Grotesk",sans-serif;
  --body:"Manrope",sans-serif;
  --mono:"IBM Plex Mono",monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;color:var(--ink);background:var(--bone);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}
.dc-shell{width:min(1380px,calc(100vw - 72px));margin:0 auto}
.dc-display{font-family:var(--display);letter-spacing:-.065em;font-weight:600}
em{font-style:normal;color:var(--orange)}
.dc-dark{background:var(--ink);color:#f7f2ea}.dc-light{background:var(--bone);color:var(--ink)}.dc-titanium{background:#d6cfc4;color:var(--ink)}
.dc-section{padding:112px 0}.dc-section p{color:var(--muted)}
.dc-eyebrow{font:500 8px var(--mono);letter-spacing:.17em;color:var(--champagne)}.dc-eyebrow.dark{color:var(--orange-deep)}
.dc-kicker{display:flex;align-items:center;gap:13px;font:500 8px var(--mono);letter-spacing:.18em;color:#aaa69e}.dc-kicker i{width:48px;height:1px;background:currentColor}
.dc-actions{display:flex;align-items:center;gap:28px}
.dc-button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:54px;padding:0 20px;border:1px solid transparent;background:none;font-size:12px;font-weight:700;cursor:pointer;transition:transform .25s,background .25s,color .25s,border-color .25s}
.dc-button b{font-size:18px;font-weight:400;transition:transform .25s}.dc-button:hover b{transform:translate(4px,-4px)}
.dc-button.champagne{background:var(--champagne);color:var(--ink)}.dc-button.champagne:hover{background:#f6d9a6}
.dc-button.dark{background:var(--ink);color:white}.dc-button.dark:hover{background:var(--orange-deep)}
.dc-text-link{display:inline-flex;align-items:center;gap:13px;padding-bottom:4px;border-bottom:1px solid currentColor;font-size:12px;font-weight:700}.dc-text-link b{transition:transform .2s}.dc-text-link:hover b{transform:translateX(4px)}.dc-text-link.light{color:white}
.dc-section-head{display:grid;grid-template-columns:190px 1fr auto;align-items:end;gap:30px;margin-bottom:46px}
.dc-section-head>div{display:flex;align-items:center;gap:12px;font:600 8px var(--mono);letter-spacing:.16em;color:var(--orange-deep)}.dc-section-head>div i{width:34px;height:1px;background:currentColor}
.dc-section-head h2{font-size:clamp(38px,4.4vw,62px);line-height:.94;margin:0}.dc-section-head>a{font-size:11px;font-weight:700;border-bottom:1px solid;padding-bottom:4px}

/* loader, transition, cursor */
.dc-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;align-content:center;gap:22px;background:var(--ink);color:white;transition:opacity .6s,visibility .6s}
.site-ready .dc-loader{opacity:0;visibility:hidden;pointer-events:none}
.dc-loader-logo{display:flex;align-items:center;border:1px solid rgba(255,255,255,.35);font:600 22px var(--display);letter-spacing:.17em}.dc-loader-logo span{padding:12px 18px 12px 22px;background:white;color:var(--ink)}.dc-loader-logo b{padding:12px 17px;font-weight:600}
.dc-loader-track{width:260px;height:1px;background:rgba(255,255,255,.15);overflow:hidden}.dc-loader-track i{display:block;width:35%;height:100%;background:var(--orange);animation:loadline 1.2s ease-in-out infinite}@keyframes loadline{from{transform:translateX(-120%)}to{transform:translateX(380%)}}
.dc-loader small{font:500 7px var(--mono);letter-spacing:.2em;color:#8a877f}
.dc-transition{position:fixed;inset:0;z-index:9900;background:var(--orange);transform:translateY(101%);pointer-events:none;display:grid;place-items:center;transition:transform .52s cubic-bezier(.76,0,.24,1)}
.dc-transition span{font:600 clamp(34px,6vw,82px) var(--display);letter-spacing:-.05em;color:var(--ink);opacity:0;transition:opacity .2s}
body.is-leaving .dc-transition{transform:translateY(0)}body.is-leaving .dc-transition span{opacity:1;transition-delay:.18s}
.dc-scroll-progress{position:fixed;z-index:9800;left:0;top:0;right:0;height:2px;background:transparent}.dc-scroll-progress i{display:block;width:0;height:100%;background:var(--orange)}
.dc-cursor{position:fixed;z-index:9800;left:0;top:0;pointer-events:none;opacity:0;transition:opacity .2s}.dc-cursor i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--orange);transform:translate(-50%,-50%)}.dc-cursor span{position:absolute;width:38px;height:38px;border:1px solid rgba(233,120,61,.45);border-radius:50%;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s}.has-cursor .dc-cursor{opacity:1}.cursor-hover .dc-cursor span{width:58px;height:58px;background:rgba(183,162,122,.06)}

/* header */
.dc-header{position:fixed;z-index:900;left:0;right:0;top:0;background:rgba(12,14,12,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1);color:white;transition:transform .35s,background .3s}
.dc-header:before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,var(--orange) 0 42%,var(--champagne) 42% 60%,rgba(255,255,255,.2) 60% 100%)}
.dc-header-inner{height:86px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:30px}
.dc-logo{width:205px;display:block}.dc-logo img{width:100%;height:auto!important;object-fit:contain!important;filter:invert(1) brightness(2);aspect-ratio:auto!important}
.dc-nav{justify-self:center;display:flex;gap:32px}.dc-nav a{position:relative;padding:8px 0;font-size:11px;color:#bbb8b0}.dc-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--orange);transition:right .25s}.dc-nav a:hover,.dc-nav a.active{color:white}.dc-nav a:hover:after,.dc-nav a.active:after{right:0}
.dc-header-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:44px;padding:0 16px;background:var(--champagne);color:var(--ink);font-size:10px;font-weight:700}.dc-header-cta b{font-size:16px}
.dc-menu{display:none;background:none;border:0;width:42px;height:42px;position:relative}.dc-menu i{position:absolute;left:8px;right:8px;height:1px;background:white;transition:.25s}.dc-menu i:first-child{top:16px}.dc-menu i:last-child{top:25px}
.dc-mobile-nav{display:none}
.dc-header.scrolled{background:rgba(12,14,12,.97)}

/* footer */
.dc-footer{padding:72px 0 24px;background:#0b0d0b;color:#f4efe7;border-top:1px solid rgba(255,255,255,.1)}
.dc-footer-grid{display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:70px}.dc-footer-brand img{width:245px;height:auto;filter:invert(1) brightness(2)}.dc-footer-brand p{margin:24px 0 0;font-size:13px;color:#8c8982}
.dc-footer-col{display:grid;align-content:start;gap:11px}.dc-footer-col>span{margin-bottom:9px;font:500 7px var(--mono);letter-spacing:.17em;color:var(--champagne)}.dc-footer-col a,.dc-footer-col p{margin:0;font-size:12px;color:#b8b4ac}
.dc-footer-bottom{margin-top:55px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;font:500 7px var(--mono);letter-spacing:.1em;color:#6f6c65}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(30px);filter:blur(5px)}
[data-reveal].is-visible{opacity:1;transform:none;filter:none;transition:opacity .85s cubic-bezier(.2,.8,.2,1) var(--delay,0ms),transform .85s cubic-bezier(.2,.8,.2,1) var(--delay,0ms),filter .85s cubic-bezier(.2,.8,.2,1) var(--delay,0ms)}

/* home hero */
.dc-hero{position:relative;min-height:100svh;padding:140px 0 78px;overflow:hidden;background:var(--ink)}
.dc-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:92px 92px;mask-image:linear-gradient(90deg,black 0 75%,transparent)}
.dc-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.03fr .97fr;gap:80px;align-items:center}
.dc-hero-title{font-size:clamp(56px,6.2vw,96px);line-height:.82;margin:28px 0 0}.dc-hero-title span{display:block}.dc-hero-title .outline{color:transparent;-webkit-text-stroke:1px rgba(247,242,234,.68)}
.dc-hero-text{max-width:650px;margin:34px 0 0;color:#aaa79f;font-size:15px;line-height:1.75}.dc-hero .dc-actions{margin-top:30px}
.dc-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:52px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13);gap:18px}.dc-stats>div{display:flex;gap:12px}.dc-stats strong{font:600 30px/1 var(--display)}.dc-stats span{font:500 7px/1.5 var(--mono);letter-spacing:.13em;color:#7e7b74}
.dc-hero-object{position:relative;min-height:640px;perspective:1200px;transform-style:preserve-3d}.dc-hero-photo{position:absolute;inset:8% 4% 8% 7%;overflow:hidden;clip-path:polygon(0 0,88% 0,100% 12%,100% 100%,12% 100%,0 88%);box-shadow:0 40px 100px rgba(0,0,0,.35)}.dc-hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.68) contrast(1.05);animation:photoBreath 15s ease-in-out infinite alternate}@keyframes photoBreath{to{transform:scale(1.055) translate(-1%,1%)}}
.dc-floating-plan{position:absolute;left:-2%;top:7%;width:210px;height:270px;padding:17px;background:rgba(243,239,231,.93);color:var(--ink);box-shadow:0 25px 60px rgba(0,0,0,.23);transform:rotate(-5deg)}.dc-floating-plan>span,.dc-floating-sample>span{font:500 7px var(--mono);letter-spacing:.13em;color:var(--orange-deep)}
.plan-grid{height:145px;margin:16px 0;background:linear-gradient(32deg,transparent 49.5%,rgba(16,18,16,.18) 50%,transparent 50.5%),repeating-linear-gradient(0deg,rgba(16,18,16,.1) 0 1px,transparent 1px 23px),repeating-linear-gradient(90deg,rgba(16,18,16,.1) 0 1px,transparent 1px 23px)}
.dc-floating-plan b,.dc-floating-plan i,.dc-floating-plan strong{display:block;font:600 8px var(--mono);font-style:normal;letter-spacing:.12em;margin-top:4px}.dc-floating-plan i{color:var(--orange-deep);margin-left:23px}.dc-floating-plan strong{margin-left:46px}
.dc-floating-sample{position:absolute;right:-1%;bottom:10%;width:142px;height:175px;padding:15px;background:linear-gradient(145deg,#d2b896,#8d6a50);color:white;box-shadow:0 28px 65px rgba(0,0,0,.25);transform:rotate(4deg)}.dc-floating-sample i{display:block;width:55px;height:55px;border-radius:50%;margin:35px auto 27px;background:radial-gradient(circle at 30% 25%,#f4e8d4,#78624f)}.dc-floating-sample b{font:600 15px var(--display)}
.dc-object-outline{position:absolute;inset:4% 0 4% 4%;border:1px solid rgba(235,200,140,.2);clip-path:polygon(0 0,88% 0,100% 12%,100% 100%,12% 100%,0 88%);pointer-events:none}
.dc-hero-marquee{position:absolute;left:0;right:0;bottom:0;height:33px;overflow:hidden;border-top:1px solid rgba(255,255,255,.09);display:flex;align-items:center;color:#66645f;font:500 7px var(--mono);letter-spacing:.17em;white-space:nowrap}.dc-hero-marquee div{animation:marquee 24s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}

/* common sections */
.dc-intro-grid{display:grid;grid-template-columns:195px 1fr;gap:55px;align-items:start}.dc-side-label{display:flex;align-items:center;gap:10px;font:500 8px var(--mono);letter-spacing:.13em;color:var(--orange-deep)}.dc-side-label span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line)}.dc-intro-grid .section-title{font-size:clamp(38px,4.3vw,60px);line-height:.96;margin:0;max-width:990px}
.dc-service-list{border-top:1px solid rgba(16,18,16,.16)}.dc-service-list>a{display:grid;grid-template-columns:70px 1.15fr 1fr 30px;gap:22px;align-items:center;min-height:116px;border-bottom:1px solid rgba(16,18,16,.16);transition:background .28s,color .28s,padding .28s}.dc-service-list>a>span{font:500 8px var(--mono);color:var(--orange-deep)}.dc-service-list h3{margin:0;font:600 clamp(24px,2.5vw,38px) var(--display);letter-spacing:-.04em}.dc-service-list p{margin:0;font-size:11px;line-height:1.55;color:#666159}.dc-service-list>a>b{font-size:19px;font-weight:400}.dc-service-list>a:hover{background:var(--ink);color:white;padding:0 16px}.dc-service-list>a:hover p,.dc-service-list>a:hover>span{color:var(--champagne)}.dc-service-list.compact>a{min-height:105px}
.dc-split{display:grid;grid-template-columns:1fr 1fr;gap:74px;align-items:center}.dc-split.reverse>div:first-child{order:2}.dc-image-frame{position:relative;height:590px;overflow:hidden}.dc-image-frame.tall{height:660px}.dc-image-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.65) contrast(1.04);transition:transform .8s}.dc-image-frame:hover img{transform:scale(1.04)}.dc-image-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.48))}
.dc-image-tech{position:absolute;z-index:2;left:20px;right:20px;bottom:20px;padding:15px;border:1px solid rgba(255,255,255,.22);background:rgba(12,14,12,.6);color:white;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;backdrop-filter:blur(8px)}.dc-image-tech span{font:500 7px var(--mono);letter-spacing:.13em;color:var(--champagne)}.dc-image-tech i{height:1px;background:rgba(255,255,255,.2)}.dc-image-tech b{grid-column:1/-1;font-size:12px}
.dc-copy-block h2{font-size:clamp(39px,4.2vw,60px);line-height:.92;margin:18px 0 22px}.dc-copy-block>p{max-width:580px;color:#aaa69e;font-size:14px;line-height:1.75}.dc-copy-block.light-copy>p{color:#625d56}.dc-mini-steps{margin-top:28px;border-top:1px solid rgba(255,255,255,.14)}.dc-mini-steps>div{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14)}.dc-mini-steps span{font:500 8px var(--mono);color:var(--champagne)}.dc-mini-steps b{font-size:12px}.dc-mini-steps.light-steps{border-color:rgba(16,18,16,.14)}.dc-mini-steps.light-steps>div{border-color:rgba(16,18,16,.14)}.dc-mini-steps.light-steps span{color:var(--orange-deep)}
.dc-project-intro{max-width:560px;margin:-14px 0 38px 190px;font-size:13px;line-height:1.7}.dc-project-trio{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:340px 340px;gap:14px}.dc-project-trio>a{position:relative;overflow:hidden;background:#ccc}.dc-project-trio .large{grid-row:1/3}.dc-project-trio img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform .7s,filter .4s}.dc-project-trio a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.75))}.dc-project-trio a>div{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:white}.dc-project-trio span{font:500 7px var(--mono);color:var(--champagne)}.dc-project-trio h3{font:600 clamp(26px,3vw,46px) var(--display);letter-spacing:-.05em;margin:5px 0 0}.dc-project-trio a:hover img{transform:scale(1.06);filter:saturate(.95)}
.dc-process-lead{max-width:530px;margin:-18px 0 44px 190px;font-size:13px;line-height:1.7}.dc-process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.dc-process-grid article{min-height:280px;padding:24px;border-right:1px solid var(--line);position:relative}.dc-process-grid article:first-child{padding-left:0}.dc-process-grid article:last-child{border-right:0}.dc-process-grid article>span{font:500 8px var(--mono);color:var(--orange-deep)}.step-icon{width:38px;height:38px;border:1px solid var(--line);display:grid;place-items:center;margin-top:50px;color:var(--orange-deep)}.dc-process-grid h3{font:600 23px/1 var(--display);letter-spacing:-.04em;margin:18px 0 10px}.dc-process-grid p{font-size:11px;line-height:1.65;margin:0}
.dc-cta{padding:100px 0}.dc-cta>div>span{font:500 8px var(--mono);letter-spacing:.18em;color:var(--champagne)}.dc-cta h2{font-size:clamp(46px,5.7vw,80px);line-height:.88;margin:18px 0 36px}

/* page hero */
.dc-page-hero{padding:150px 0 86px;min-height:470px;background:var(--ink);position:relative;overflow:hidden}
.dc-page-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,black 0 70%,transparent)}
.dc-page-hero>.dc-shell{position:relative}.dc-page-hero-grid{display:grid;grid-template-columns:1.2fr .6fr;gap:70px;align-items:end;margin-top:54px}.dc-page-hero h1{font-size:clamp(54px,6.5vw,88px);line-height:.84;margin:0}.dc-page-hero p{max-width:520px;margin:0 0 10px;color:#aaa69e;font-size:14px;line-height:1.75}
.dc-about-story{display:grid;grid-template-columns:.45fr 1.2fr;gap:80px;align-items:start}.dc-big-stat strong{display:block;font:600 clamp(105px,15vw,230px)/.73 var(--display);letter-spacing:-.1em;color:var(--orange)}.dc-big-stat span{display:block;margin-top:30px;font:500 8px var(--mono);letter-spacing:.15em}.dc-about-story h2{font-size:clamp(38px,4.2vw,58px);line-height:.96;margin:18px 0 0}

/* services */
.svc-hero{padding:160px 0 62px;background:var(--ink)}.svc-hero-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:80px;align-items:end;margin-top:48px}.svc-hero h1{font-size:clamp(58px,7vw,96px);line-height:.76;margin:0}.svc-hero-grid h2{font:600 30px/1 var(--display);letter-spacing:-.04em;margin:0 0 16px}.svc-hero-grid p{color:#a9a69e;font-size:13px;line-height:1.7;max-width:520px}.svc-hero-grid small{display:block;margin-top:20px;font:500 7px var(--mono);letter-spacing:.15em;color:var(--champagne)}
.svc-exploded{padding:12px 0 112px}.svc-engine{position:relative;min-height:760px;border:1px solid rgba(255,255,255,.11);overflow:hidden;background:#121411;perspective:1400px}.svc-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px}.svc-grid:after{content:"";position:absolute;left:50%;top:50%;width:560px;height:560px;transform:translate(-50%,-50%);border:1px solid rgba(235,200,140,.11);border-radius:50%;box-shadow:0 0 0 110px rgba(255,255,255,.01),0 0 0 220px rgba(255,255,255,.008)}
.svc-axis{position:absolute;z-index:1;font:500 6px var(--mono);letter-spacing:.14em;color:#585a54}.svc-axis.x{left:20px;bottom:14px}.svc-axis.y{right:-47px;top:50%;transform:rotate(90deg)}
.svc-tabs{position:absolute;left:28px;top:50%;transform:translateY(-50%);z-index:6;width:330px;display:grid}.svc-tabs button{display:grid;grid-template-columns:34px 1fr 22px;gap:10px;align-items:center;min-height:92px;padding:15px 0;border:0;border-bottom:1px solid rgba(255,255,255,.11);background:transparent;color:white;text-align:left;cursor:pointer;transition:padding .25s,background .25s}.svc-tabs button:first-child{border-top:1px solid rgba(255,255,255,.11)}.svc-tabs button:hover,.svc-tabs button.active{padding-left:14px;padding-right:12px;background:rgba(235,200,140,.08)}.svc-tabs button>span{font:500 7px var(--mono);color:var(--champagne)}.svc-tabs small{font:500 7px var(--mono);letter-spacing:.13em;color:#a29e96}.svc-tabs b{display:block;margin-top:7px;font-size:11px;color:#d1ccc3}.svc-tabs i{font-style:normal;font-size:17px;color:#76736c}.svc-tabs button.active i{color:var(--orange)}
.svc-scene{position:absolute;left:360px;right:360px;top:40px;bottom:40px;z-index:3;perspective:1200px}.svc-camera{position:absolute;inset:0;display:grid;place-items:center;transform-style:preserve-3d;transition:transform .18s ease-out}.svc-stack{position:relative;width:460px;height:360px;transform-style:preserve-3d;transform:rotateX(58deg) rotateZ(-34deg);animation:stackHover 8s ease-in-out infinite}@keyframes stackHover{50%{translate:0 -8px}}
.svc-core{position:absolute;left:50%;top:50%;width:180px;height:135px;transform:translate(-50%,-50%) translateZ(85px) rotateZ(34deg) rotateX(-58deg);display:grid;place-content:center;text-align:center;background:var(--ink);border:1px solid rgba(235,200,140,.35);box-shadow:0 20px 40px rgba(0,0,0,.25);z-index:7}.svc-core span{font:500 6px var(--mono);letter-spacing:.15em;color:var(--champagne)}.svc-core b{font:600 26px/.88 var(--display);letter-spacing:-.05em;margin:8px 0}.svc-core i{font:500 6px var(--mono);font-style:normal;letter-spacing:.13em;color:#79766f}
.svc-layer{position:absolute;left:50%;top:50%;width:390px;height:275px;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:0 25px 45px rgba(0,0,0,.22);transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .35s,opacity .35s,box-shadow .35s}.svc-layer img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) contrast(1.08)}.svc-layer:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,18,16,.1),rgba(16,18,16,.56))}.svc-layer figcaption{position:absolute;z-index:2;left:14px;right:14px;bottom:12px;display:flex;justify-content:space-between;align-items:flex-end;color:white}.svc-layer figcaption span{font:500 7px var(--mono);color:var(--champagne)}.svc-layer figcaption b{font:600 15px/.9 var(--display);letter-spacing:-.03em;text-align:right}
.layer-general{transform:translate(-50%,-50%) translate3d(-54px,-82px,24px)}.layer-renovation{transform:translate(-50%,-50%) translate3d(40px,-24px,8px)}.layer-stone{transform:translate(-50%,-50%) translate3d(-15px,44px,-10px)}.layer-custom{transform:translate(-50%,-50%) translate3d(66px,102px,-28px)}
.svc-engine[data-active="general-contracting"] .layer-general,.svc-engine[data-active="renovation-building"] .layer-renovation,.svc-engine[data-active="stone-surface"] .layer-stone,.svc-engine[data-active="custom-fabrication"] .layer-custom{filter:brightness(1.15) saturate(1.1);box-shadow:0 42px 75px rgba(183,162,122,.12)}
.svc-engine[data-active="general-contracting"] .layer-general{transform:translate(-50%,-50%) translate3d(-76px,-105px,72px)}.svc-engine[data-active="renovation-building"] .layer-renovation{transform:translate(-50%,-50%) translate3d(62px,-38px,60px)}.svc-engine[data-active="stone-surface"] .layer-stone{transform:translate(-50%,-50%) translate3d(-33px,58px,45px)}.svc-engine[data-active="custom-fabrication"] .layer-custom{transform:translate(-50%,-50%) translate3d(84px,126px,32px)}
.svc-engine[data-active="general-contracting"] .svc-layer:not(.layer-general),.svc-engine[data-active="renovation-building"] .svc-layer:not(.layer-renovation),.svc-engine[data-active="stone-surface"] .svc-layer:not(.layer-stone),.svc-engine[data-active="custom-fabrication"] .svc-layer:not(.layer-custom){opacity:.28;filter:grayscale(.55) brightness(.7)}
.svc-scanline{position:absolute;left:10%;right:10%;height:60px;top:-80px;background:linear-gradient(180deg,transparent,rgba(235,200,140,.11),transparent);transform:skewY(-5deg);animation:scan 5.5s ease-in-out infinite}@keyframes scan{0%,15%{top:-80px}80%,100%{top:110%}}
.svc-info{position:absolute;right:28px;top:50%;transform:translateY(-50%);z-index:6;width:300px}.svc-info-number{font:500 7px var(--mono);letter-spacing:.15em;color:var(--champagne)}.svc-info h2{font-size:44px;line-height:.9;margin:15px 0}.svc-info p{color:#aca89f;font-size:12px;line-height:1.65}.svc-info .dc-button{margin-top:18px}
.svc-scope-list{border-top:1px solid var(--line)}.svc-scope-list button{width:100%;min-height:112px;padding:0;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:60px 1fr 1.1fr 30px;gap:22px;align-items:center;text-align:left;cursor:pointer;transition:padding .25s,background .25s,color .25s}.svc-scope-list>button>span{font:500 8px var(--mono);color:var(--orange-deep)}.svc-scope-list h3{font:600 31px var(--display);letter-spacing:-.04em;margin:0}.svc-scope-list p{font-size:11px;line-height:1.55;margin:0;color:var(--muted)}.svc-scope-list b{font-size:19px;font-weight:400}.svc-scope-list button:hover{padding:0 16px;background:var(--ink);color:white}.svc-scope-list button:hover p,.svc-scope-list button:hover>span{color:var(--champagne)}
/* modal */
.dc-modal[hidden]{display:none}.dc-modal{position:fixed;inset:0;z-index:9500;display:grid;grid-template-columns:1fr min(620px,90vw)}.dc-modal-backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(7px)}.dc-modal-panel{position:relative;background:var(--bone);padding:70px 55px;overflow:auto}.dc-modal-close{position:absolute;right:24px;top:20px;border:1px solid var(--line);background:none;width:42px;height:42px;font-size:25px;cursor:pointer}.dc-modal-meta{display:flex;align-items:center;gap:12px;font:500 8px var(--mono);letter-spacing:.14em;color:var(--orange-deep)}.dc-modal-panel h2{font-size:clamp(48px,5vw,72px);line-height:.9;margin:28px 0 20px}.dc-modal-lead{font-size:15px;line-height:1.75;color:var(--muted)}.dc-modal-scope{margin:38px 0;padding-top:24px;border-top:1px solid var(--line)}.dc-modal-scope>span{font:500 8px var(--mono);letter-spacing:.15em;color:var(--orange-deep)}.dc-modal-scope ul{padding:0;margin:22px 0 0;list-style:none}.dc-modal-scope li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}

/* projects page */
.project-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:42px}.project-toolbar>span{font:500 8px var(--mono);letter-spacing:.16em;color:var(--orange-deep)}.project-toolbar>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.filter{border:1px solid var(--line);background:transparent;padding:9px 12px;font-size:10px;cursor:pointer}.filter:hover,.filter.active{background:var(--ink);color:white;border-color:var(--ink)}
.dc-project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:46px 18px}.dc-project-card{position:relative}.dc-project-card:nth-child(4n+1){grid-column:span 1}.dc-project-card .project-media{height:460px;overflow:hidden;position:relative;background:#ccc;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}.dc-project-card:nth-child(3n+1) .project-media{height:590px}.dc-project-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:transform .7s,filter .4s}.dc-project-card:hover img{transform:scale(1.05);filter:saturate(.95)}.dc-project-card .project-tag{position:absolute;left:14px;top:14px;background:var(--ink);color:white;padding:7px 8px;font:500 7px var(--mono);letter-spacing:.12em}.dc-project-card .project-ref{position:absolute;right:14px;top:14px;color:white;font:500 7px var(--mono);text-shadow:0 1px 7px #000}.dc-project-meta{display:grid;grid-template-columns:1fr auto;gap:20px;margin-top:15px}.dc-project-meta h3{font:600 27px var(--display);letter-spacing:-.04em;margin:0}.dc-project-meta p{margin:5px 0 0;font-size:10px;color:var(--muted)}.dc-project-location{font:500 7px var(--mono);letter-spacing:.08em;color:var(--orange-deep);padding-top:5px;text-align:right}

/* contact */
.dc-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.dc-contact-visual{height:620px;position:relative;overflow:hidden}.dc-contact-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.65)}.dc-contact-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.6))}.dc-contact-visual>div{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:white}.dc-contact-visual span{font:500 7px var(--mono);color:var(--champagne);letter-spacing:.15em}.dc-contact-visual b{display:block;margin-top:8px;font-size:12px}
.dc-contact-links>span{font:500 8px var(--mono);letter-spacing:.16em;color:var(--orange-deep)}.dc-contact-links>a:not(.dc-button),.dc-contact-links>div{display:grid;grid-template-columns:1fr auto;gap:8px 20px;padding:24px 0;border-bottom:1px solid var(--line)}.dc-contact-links small{font:500 7px var(--mono);letter-spacing:.14em;color:var(--muted)}.dc-contact-links strong{grid-column:1;font:600 clamp(28px,3.4vw,52px) var(--display);letter-spacing:-.05em}.dc-contact-links>a>b{grid-column:2;grid-row:1/3;align-self:center;font-size:20px;font-weight:400}.dc-contact-links .dc-button{margin-top:28px}

/* form */
.dc-quote-layout{display:grid;grid-template-columns:.58fr 1fr;gap:80px;align-items:start}.dc-quote-aside{position:sticky;top:125px}.dc-quote-aside>span{font:500 8px var(--mono);letter-spacing:.16em;color:var(--orange-deep)}.dc-quote-aside h2{font-size:clamp(36px,4vw,54px);line-height:.94;margin:20px 0}.dc-quote-aside p{font-size:12px;line-height:1.7}.quote-progress{margin-top:30px;height:3px;background:#d8d2c8;position:relative}.quote-progress i{display:block;width:0;height:100%;background:var(--orange);transition:width .3s}.quote-progress span{position:absolute;right:0;top:10px;font:500 7px var(--mono)}
.dc-form fieldset{border:0;border-top:1px solid var(--line);padding:26px 0 42px;margin:0}.dc-form legend{padding:0;display:flex;gap:16px;align-items:center;font:600 23px var(--display);letter-spacing:-.03em}.dc-form legend span{font:500 8px var(--mono);color:var(--orange-deep)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:24px}.choice-grid input{position:absolute;opacity:0}.choice-grid label span{display:flex;align-items:center;min-height:56px;padding:0 14px;border:1px solid var(--line);font-size:11px;cursor:pointer;transition:.2s}.choice-grid input:checked+span{background:var(--ink);color:white;border-color:var(--ink);box-shadow:inset 3px 0 var(--orange)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:24px}.field-grid label{display:grid;gap:8px}.field-grid label>span{font:500 8px var(--mono);letter-spacing:.1em;color:var(--muted)}.field-grid input,.field-grid select,.field-grid textarea{width:100%;border:1px solid var(--line);background:#faf7f0;padding:14px;color:var(--ink);outline:none}.field-grid textarea{resize:vertical}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}.span-2{grid-column:span 2}.form-actions{display:flex;align-items:center;gap:24px;padding-top:10px}

/* responsive */
@media(max-width:1120px){
  .dc-nav{gap:20px}.dc-header-inner{grid-template-columns:195px 1fr auto}.dc-logo{width:180px}
  .dc-hero-grid{grid-template-columns:1fr .88fr;gap:45px}.dc-hero-object{min-height:570px}
  .svc-tabs{width:270px}.svc-scene{left:295px;right:300px}.svc-info{width:255px}.svc-layer{width:340px;height:240px}.svc-stack{width:400px;height:320px}
}
@media(max-width:900px){
  .dc-shell{width:min(100% - 38px,1380px)}
  .dc-nav,.dc-header-cta{display:none}.dc-header-inner{grid-template-columns:1fr auto;height:76px}.dc-menu{display:block}.dc-logo{width:185px}
  .dc-mobile-nav{position:fixed;left:0;right:0;top:76px;bottom:0;background:var(--ink);padding:38px 20px;display:grid;align-content:start;gap:0;transform:translateY(-120%);opacity:0;pointer-events:none;transition:.4s;z-index:-1}.menu-open .dc-mobile-nav{transform:none;opacity:1;pointer-events:auto}.dc-mobile-nav a{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1);font:600 28px var(--display);color:white}.dc-mobile-nav .mobile-consult{margin-top:22px;padding:15px;background:var(--champagne);color:var(--ink);font-size:14px;border:0}
  .menu-open .dc-menu i:first-child{top:21px;transform:rotate(45deg)}.menu-open .dc-menu i:last-child{top:21px;transform:rotate(-45deg)}
  .dc-cursor{display:none}
  .dc-hero{padding-top:120px}.dc-hero-grid{grid-template-columns:1fr}.dc-hero-object{max-width:720px;width:100%;min-height:620px}
  .dc-intro-grid,.dc-split,.dc-about-story,.dc-contact-grid,.dc-quote-layout{grid-template-columns:1fr}.dc-split.reverse>div:first-child{order:initial}
  .dc-section-head{grid-template-columns:1fr;gap:18px}.dc-project-intro,.dc-process-lead{margin-left:0}
  .dc-service-list>a{grid-template-columns:48px 1fr 28px}.dc-service-list p{display:none}
  .dc-project-trio{grid-template-columns:1fr;grid-template-rows:500px 300px 300px}.dc-project-trio .large{grid-row:auto}
  .dc-process-grid{grid-template-columns:1fr 1fr}
  .dc-page-hero-grid,.svc-hero-grid{grid-template-columns:1fr}.dc-page-hero-grid{gap:28px}.svc-hero-grid{gap:28px}
  .svc-engine{min-height:auto;padding:18px;display:grid;grid-template-columns:1fr;gap:18px}.svc-grid,.svc-axis,.svc-scanline{display:none}.svc-tabs{position:relative;left:auto;top:auto;transform:none;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.svc-tabs button{border:1px solid rgba(255,255,255,.12)!important;padding:13px!important}.svc-scene{position:relative;left:auto;right:auto;top:auto;bottom:auto;height:560px}.svc-info{position:relative;right:auto;top:auto;transform:none;width:100%;padding:20px 4px}
  .dc-project-grid{grid-template-columns:1fr}.dc-project-card .project-media,.dc-project-card:nth-child(3n+1) .project-media{height:520px}
  .dc-quote-aside{position:relative;top:auto}
}
@media(max-width:620px){
  .dc-section{padding:78px 0}.dc-hero-title{font-size:clamp(58px,18vw,88px)}.dc-hero-object{min-height:480px}.dc-floating-plan{width:145px;height:195px}.plan-grid{height:90px}.dc-floating-sample{width:100px;height:130px}.dc-floating-sample i{width:38px;height:38px;margin:22px auto}
  .dc-actions,.form-actions{align-items:stretch;flex-direction:column}.dc-button{width:100%}
  .dc-stats{grid-template-columns:1fr}
  .dc-image-frame,.dc-image-frame.tall,.dc-contact-visual{height:430px}
  .dc-process-grid{grid-template-columns:1fr}.dc-process-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:24px 0}.step-icon{margin-top:28px}
  .dc-page-hero{padding-top:130px;min-height:440px}.dc-page-hero h1{font-size:clamp(58px,17vw,86px)}
  .svc-hero{padding-top:130px}.svc-hero h1{font-size:clamp(70px,21vw,106px)}.svc-tabs{grid-template-columns:1fr}.svc-scene{height:455px}.svc-stack{transform:scale(.73) rotateX(58deg) rotateZ(-34deg)}
  .svc-scope-list button{grid-template-columns:38px 1fr 25px;padding:20px 0}.svc-scope-list button p{display:none}.svc-scope-list h3{font-size:24px}
  .dc-modal{grid-template-columns:1fr}.dc-modal-backdrop{display:none}.dc-modal-panel{padding:65px 25px}
  .project-toolbar{display:grid}.project-toolbar>div{justify-content:flex-start}.dc-project-card .project-media,.dc-project-card:nth-child(3n+1) .project-media{height:400px}
  .choice-grid,.field-grid{grid-template-columns:1fr}.span-2{grid-column:auto}
  .dc-footer-grid{grid-template-columns:1fr;gap:35px}.dc-footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1!important;transform:none!important;filter:none!important}
  .dc-loader{display:none}
}


/* ================================================================
   V17 REFINEMENT — LESS NOISE / MORE SPACE / CLEANER MOTION
   ================================================================ */

/* Header: more breathing room and a smaller mark */
.dc-header-inner{
  height:104px;
  grid-template-columns:190px minmax(0,1fr) 190px;
  gap:42px;
}
.dc-logo{width:174px}
.dc-nav{justify-self:end;gap:42px;margin-right:18px}
.dc-nav a{font-size:11px;letter-spacing:.015em;padding:10px 0}
.dc-header-cta{min-width:190px;min-height:48px;padding:0 17px;font-size:10px}
.dc-page-hero,.svc-hero{padding-top:178px}
.dc-hero{padding-top:155px}

/* Loader: assemble the actual brand mark, then wipe away */
.dc-loader{background:#0b0d0b;gap:0;transition:opacity .55s ease,visibility .55s ease}
.dc-loader-stage{position:relative;width:min(520px,72vw);height:210px;display:grid;place-items:center;overflow:hidden}
.dc-loader-logo-wrap{width:min(350px,62vw);overflow:hidden;clip-path:inset(0 50% 0 50%);animation:dcLogoReveal .95s cubic-bezier(.76,0,.24,1) .08s forwards}
.dc-loader-logo-wrap img{width:100%;height:auto;filter:invert(1) brightness(2);object-fit:contain}
.dc-loader-progress{position:absolute;left:14%;right:14%;bottom:31px;height:1px;background:rgba(255,255,255,.12);overflow:hidden}
.dc-loader-progress i{display:block;width:100%;height:100%;background:var(--orange);transform:translateX(-100%);animation:dcProgress 1.05s cubic-bezier(.76,0,.24,1) .12s forwards}
.loader-rule{position:absolute;height:1px;background:rgba(255,255,255,.22);width:0;animation:dcRule .8s ease .18s forwards}
.loader-rule.top{top:22px;left:0}.loader-rule.bottom{bottom:18px;right:0}
@keyframes dcLogoReveal{to{clip-path:inset(0 0 0 0)}}
@keyframes dcProgress{to{transform:translateX(0)}}
@keyframes dcRule{to{width:100%}}

/* Home hero: image only — no decorative cards or pseudo material samples */
.dc-hero-grid{grid-template-columns:1.02fr .98fr;gap:100px}
.dc-hero-object{min-height:640px}
.dc-hero-photo{inset:5% 3% 5% 3%;clip-path:polygon(0 0,91% 0,100% 9%,100% 100%,9% 100%,0 91%)}
.dc-hero-photo:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 0 18px rgba(17,19,16,.03);pointer-events:none}
.dc-object-outline{inset:1% 0 1% 0;border-color:rgba(235,200,140,.18);clip-path:polygon(0 0,91% 0,100% 9%,100% 100%,9% 100%,0 91%)}
.dc-hero-index{position:absolute;right:12px;bottom:2px;font:500 7px var(--mono);letter-spacing:.14em;color:#747168}
.dc-proof-line{display:flex;align-items:center;gap:13px;margin-top:42px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);width:max-content}
.dc-proof-line strong{font:600 30px/1 var(--display)}
.dc-proof-line span{font-size:11px;color:#8e8a82}
.dc-kicker{gap:0}.dc-kicker i{display:none}
.dc-image-tech.minimal{display:block;padding:13px 15px}.dc-image-tech.minimal b{font:600 8px var(--mono);letter-spacing:.14em;color:#fff}

/* Less visual/textual noise */
.dc-footer-bottom{justify-content:flex-start}
.svc-hero-grid>div:last-child h2,.svc-hero-grid>div:last-child small{display:none}
.svc-tabs button{min-height:76px}
.svc-tabs b{display:none}
.svc-core i{display:none}
.svc-core{height:122px}
.dc-service-list>a{min-height:105px}

/* standard pointer only */
a,button,label,.filter{cursor:pointer}

@media(max-width:1120px){
  .dc-header-inner{grid-template-columns:175px minmax(0,1fr) 175px;gap:25px}
  .dc-logo{width:160px}.dc-nav{gap:26px;margin-right:6px}.dc-header-cta{min-width:175px}
  .dc-hero-grid{gap:55px}
}
@media(max-width:900px){
  .dc-header-inner{height:82px;grid-template-columns:1fr auto}.dc-logo{width:168px}.dc-page-hero,.svc-hero{padding-top:142px}.dc-hero{padding-top:130px}
  .dc-hero-grid{grid-template-columns:1fr}.dc-hero-object{min-height:560px}
}
@media(max-width:620px){
  .dc-loader-stage{height:180px}.dc-hero-object{min-height:430px}.dc-proof-line{margin-top:30px}
}


/* The original .svc-core 3D transform is intentionally overridden. */
.svc-scene{
  overflow:visible;
}
.svc-camera{
  z-index:3;
}
.svc-scanline{
  z-index:4;
  pointer-events:none;
}
@media(max-width:900px){
  .svc-core-fixed{
    width:190px;
    height:142px!important;
  }
  .svc-core-fixed b{font-size:27px}
}
@media(max-width:620px){
  .svc-core-fixed{
    width:165px;
    height:126px!important;
  }
  .svc-core-fixed b{font-size:23px}
}
@media(prefers-reduced-motion:reduce){
  .svc-core-fixed{animation:none!important}
}


/* ================================================================
   V17.2 SERVICES REFINEMENT
   "WHAT WE OFFER" moved to the top so the exploded project system
   can remain visually open and unobstructed.
   ================================================================ */
.svc-engine{
  padding-top:118px;
}
.svc-engine-heading{
  position:absolute;
  top:30px;
  left:50%;
  z-index:18;
  transform:translateX(-50%);
  width:min(520px,52%);
  text-align:center;
  pointer-events:none;
}
.svc-engine-heading>span{
  display:block;
  margin-bottom:10px;
  font:500 7px var(--mono);
  letter-spacing:.18em;
  color:var(--champagne);
}
.svc-engine-heading>div{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:18px;
}
.svc-engine-heading b{
  font:600 clamp(28px,2.5vw,42px)/1 var(--display);
  letter-spacing:-.055em;
  color:#fff;
  white-space:nowrap;
}
.svc-engine-heading i{
  height:1px;
  background:linear-gradient(90deg,rgba(235,200,140,.55),rgba(235,200,140,0));
}

.svc-scene{
  top:118px;
  bottom:30px;
}
.svc-tabs{
  top:54%;
}
.svc-info{
  top:54%;
}
.svc-grid:after{
  top:56%;
  width:500px;
  height:500px;
}

/* Keep the exploded assembly cleaner without a central card. */
.svc-stack{
  scale:.94;
}
.svc-layer{
  border-color:rgba(255,255,255,.13);
}
.svc-engine[data-active="general-contracting"] .layer-general,
.svc-engine[data-active="renovation-building"] .layer-renovation,
.svc-engine[data-active="stone-surface"] .layer-stone,
.svc-engine[data-active="custom-fabrication"] .layer-custom{
  box-shadow:0 30px 58px rgba(183,162,122,.09);
}

@media(max-width:900px){
  .svc-engine{
    padding-top:20px;
  }
  .svc-engine-heading{
    position:relative;
    top:auto;
    left:auto;
    transform:none;
    width:100%;
    text-align:left;
    margin-bottom:6px;
  }
  .svc-engine-heading>div{
    grid-template-columns:auto 1fr;
  }
  .svc-engine-heading b{
    font-size:28px;
  }
  .svc-scene{
    top:auto;
    bottom:auto;
  }
  .svc-tabs,
  .svc-info{
    top:auto;
  }
}

@media(max-width:620px){
  .svc-engine-heading b{
    font-size:24px;
  }
}


/* ==========================================================
   V18 — restrained palette + cleaner scale
   ========================================================== */
:root{
}
.dc-dark em,
.dc-page-hero em,
.svc-hero em,
.dc-cta em{color:var(--champagne)}

.dc-service-intro{
  max-width:640px;
  margin:-14px 0 34px 190px;
  color:#60635f;
  font-size:13px;
  line-height:1.72;
}

.dc-hero-title{max-width:760px}
.dc-page-hero-grid{margin-top:42px}
.dc-page-hero p{max-width:500px}
.svc-hero{padding-top:145px;padding-bottom:50px}
.svc-hero-grid{margin-top:38px}
.svc-hero-grid p{max-width:560px}

.svc-engine-heading{
  top:26px;
  width:min(450px,48%);
}
.svc-engine-heading b{
  font-size:clamp(24px,2vw,34px);
  letter-spacing:-.04em;
}

/* Less decorative noise in the service visual. */
.svc-scanline{
  opacity:.38;
}
.svc-grid{
  opacity:.72;
}
.svc-grid:after{
  box-shadow:none;
  border-color:rgba(216,199,167,.09);
}

/* Stronger, cleaner hover states without loud colour fills. */
.dc-service-list>a:hover,
.svc-scope-list button:hover{
  background:#171a16;
}
.dc-service-list>a:hover>span,
.dc-service-list>a:hover p,
.svc-scope-list button:hover>span,
.svc-scope-list button:hover p{
  color:var(--champagne);
}

.dc-button.champagne{
  background:var(--champagne);
}
.dc-button.champagne:hover{
  background:#e4d6bc;
}
.dc-header-cta{
  background:var(--champagne);
}
.dc-header:before{
  background:linear-gradient(90deg,var(--champagne) 0 32%,rgba(255,255,255,.14) 32% 100%);
}

/* A subtle architectural edge detail used consistently on visual panels. */
.dc-image-frame,
.dc-contact-visual,
.dc-project-trio>a,
.dc-project-card .project-media{
  position:relative;
}
.dc-image-frame:before,
.dc-contact-visual:before,
.dc-project-trio>a:before,
.dc-project-card .project-media:before{
  content:"";
  position:absolute;
  z-index:4;
  width:18px;
  height:18px;
  top:12px;
  right:12px;
  border-top:1px solid rgba(216,199,167,.8);
  border-right:1px solid rgba(216,199,167,.8);
  pointer-events:none;
}

/* Section navigator — functional, not decorative. */
.dc-section-rail{
  position:fixed;
  right:17px;
  top:50%;
  transform:translateY(-50%);
  z-index:700;
  display:grid;
  gap:9px;
}
.dc-section-rail button{
  position:relative;
  width:8px;
  height:8px;
  padding:0;
  border:1px solid rgba(216,199,167,.5);
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  transition:transform .2s,background .2s,border-color .2s;
}
.dc-section-rail button:after{
  content:attr(data-index);
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  opacity:0;
  color:#8c887f;
  font:500 7px var(--mono);
  letter-spacing:.12em;
  transition:opacity .2s;
}
.dc-section-rail button:hover:after{opacity:1}
.dc-section-rail button.active{
  background:var(--champagne);
  border-color:var(--champagne);
  transform:scale(1.25);
}

/* Slightly more interactive process tiles. */
.dc-process-grid article{
  transition:background .25s,transform .25s;
}
.dc-process-grid article:hover{
  background:rgba(102,112,108,.06);
  transform:translateY(-5px);
}
.dc-process-grid article:hover .step-icon{
  border-color:var(--ink);
  color:var(--ink);
  transform:rotate(7deg);
}
.step-icon{transition:transform .25s,border-color .25s,color .25s}

/* Interactive image planes: subtle only. */
.dc-tilt-soft{
  transform-style:preserve-3d;
  transition:transform .18s ease-out;
  will-change:transform;
}

@media(max-width:900px){
  .dc-section-rail{display:none}
  .dc-service-intro{margin-left:0}
}
@media(max-width:620px){
  .dc-hero-title{font-size:clamp(50px,14vw,72px)}
  .dc-page-hero h1{font-size:clamp(48px,13vw,70px)}
  .svc-hero h1{font-size:clamp(52px,15vw,76px)}
}


/* ================================================================
   V19 — CLEANUP & CONSISTENCY PASS
   ================================================================ */

/* One accent system: no olive/slate headline colour. */
:root{
  --accent:#b7a27a;
  --accent-dark:#685c47;
}
em,
.dc-dark em,
.dc-page-hero em,
.svc-hero em,
.dc-cta em{
  color:inherit !important;
}

/* Loader — logo only. */
.dc-loader{
  background:#0c0e0c;
  display:grid;
  place-items:center;
  gap:0;
}
.dc-loader-logo-wrap{
  position:relative;
  width:clamp(210px,24vw,340px);
  overflow:hidden;
  padding:12px;
  animation:loaderFloat 1.25s cubic-bezier(.2,.8,.2,1) both;
}
.dc-loader-logo-wrap:before{
  content:"";
  position:absolute;
  inset:0;
  background:#0c0e0c;
  transform:translateX(0);
  animation:loaderReveal 1.05s cubic-bezier(.76,0,.24,1) .12s forwards;
  z-index:2;
}
.dc-loader-logo-wrap:after{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:5px;height:1px;
  background:var(--accent);
  transform:scaleX(0);transform-origin:left;
  animation:loaderLine 1.1s cubic-bezier(.2,.8,.2,1) .18s forwards;
}
.dc-loader-logo-wrap img{
  width:100%;height:auto;filter:invert(1) brightness(2);
  transform:scale(.96);opacity:.8;
  animation:loaderLogo 1.1s ease .08s forwards;
}
@keyframes loaderReveal{to{transform:translateX(105%)}}
@keyframes loaderLine{50%{transform:scaleX(1);transform-origin:left}100%{transform:scaleX(0);transform-origin:right}}
@keyframes loaderLogo{to{transform:scale(1);opacity:1}}
@keyframes loaderFloat{0%{transform:translateY(8px)}100%{transform:translateY(0)}}

/* Keep accent in controls/labels only, not large text. */
.dc-side-label,.dc-section-head>div,.dc-eyebrow.dark,.dc-modal-meta,.dc-contact-panel-head>span,
.project-toolbar>span,.dc-service-list>a>span,.svc-scope-list>button>span,
.dc-process-grid article>span,.dc-kicker,.dc-footer-contact a:hover{
  color:var(--accent-dark);
}
.dc-dark .dc-kicker,.svc-hero .dc-kicker,.dc-page-hero .dc-kicker,.dc-cta>div>span{
  color:#aaa69e;
}

/* Process icons — proper line icons. */
.step-icon{
  color:var(--accent-dark);
  border-color:rgba(104,92,71,.28);
}
.step-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.dc-process-grid article:hover .step-icon{color:var(--ink);border-color:var(--ink);transform:translateY(-2px)}

/* Footer — compact, balanced, logo kept in proportion. */
.dc-footer{padding:50px 0 20px;background:#0b0d0b}
.dc-footer-main{display:grid;grid-template-columns:minmax(230px,1.25fr) .65fr 1fr;gap:70px;align-items:start}
.dc-footer-brand img{width:180px;height:auto!important;object-fit:contain!important;filter:invert(1) brightness(2)}
.dc-footer-brand p{margin:17px 0 0;color:#85827b;font-size:11px}
.dc-footer-nav{display:grid;gap:9px}.dc-footer-nav a,.dc-footer-contact a{font-size:11px;color:#aaa69e;transition:color .2s}.dc-footer-nav a:hover,.dc-footer-contact a:hover{color:#fff}
.dc-footer-contact{display:grid;justify-items:end;gap:10px;text-align:right}
.dc-footer-bottom{margin-top:34px;padding-top:16px;font-size:7px}

/* Contact — more editorial and less like a giant form directory. */
.dc-contact-section{padding-top:88px;padding-bottom:100px}
.dc-contact-board{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(520px,1.2fr);min-height:620px;border:1px solid var(--line);background:#ece7de}
.dc-contact-photo{position:relative;overflow:hidden;min-height:620px}
.dc-contact-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.48) contrast(1.03)}
.dc-contact-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,12,10,.55))}
.dc-contact-photo>span{position:absolute;z-index:2;left:20px;bottom:18px;color:white;font:500 7px var(--mono);letter-spacing:.15em}
.dc-contact-panel{padding:58px 58px 48px;background:var(--bone);display:flex;flex-direction:column}
.dc-contact-panel-head{margin-bottom:26px}.dc-contact-panel-head>span{font:600 8px var(--mono);letter-spacing:.16em}.dc-contact-panel-head h2{font-size:clamp(38px,4.2vw,58px);line-height:.95;margin:15px 0 0}
.dc-contact-item{display:grid;grid-template-columns:1fr auto;gap:8px 20px;padding:22px 0;border-top:1px solid var(--line);transition:padding .25s,background .25s}
.dc-contact-item:last-of-type{border-bottom:1px solid var(--line)}
.dc-contact-item small{font:500 7px var(--mono);letter-spacing:.14em;color:#77736c}
.dc-contact-item strong{grid-column:1;font:600 clamp(24px,3.1vw,43px)/1 var(--display);letter-spacing:-.045em}
.dc-contact-item>b{grid-column:2;grid-row:1/3;align-self:center;font-size:18px;font-weight:400}
.dc-contact-item:not(.static):hover{padding-left:10px;padding-right:10px;background:#ebe5db}
.dc-contact-consult{margin-top:auto;align-self:flex-start}

/* Section dots quieter. */
.dc-section-rail{right:20px}.dc-section-rail button{border-color:rgba(183,162,122,.35)}.dc-section-rail button.active{background:var(--accent);border-color:var(--accent)}

/* Reduce over-large display text a little further. */
.dc-section-head h2{font-size:clamp(34px,3.8vw,54px)}
.dc-copy-block h2{font-size:clamp(36px,3.9vw,55px)}
.dc-page-hero h1{font-size:clamp(48px,5.5vw,76px)}
.svc-hero h1{font-size:clamp(50px,6vw,82px)}
.dc-cta h2{font-size:clamp(43px,5vw,70px)}

@media(max-width:900px){
  .dc-footer-main{grid-template-columns:1fr 1fr;gap:32px}.dc-footer-brand{grid-column:1/-1}.dc-footer-contact{justify-items:start;text-align:left}
  .dc-contact-board{grid-template-columns:1fr}.dc-contact-photo{min-height:430px}.dc-contact-panel{padding:38px 30px}
}
@media(max-width:620px){
  .dc-footer-main{grid-template-columns:1fr}.dc-footer-brand{grid-column:auto}.dc-footer-contact{justify-items:start}
  .dc-contact-photo{min-height:330px}.dc-contact-board{min-height:auto}.dc-contact-panel{padding:30px 20px}
}


/* ================================================================
   V20 — Loader + Footer Character Pass
   ================================================================ */

/* ------------------------------------------------
   LOGO-ONLY LOADER
   ------------------------------------------------ */
.dc-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:#0b0d0b;
  overflow:hidden;
  transition:
    opacity .58s cubic-bezier(.2,.8,.2,1),
    visibility .58s cubic-bezier(.2,.8,.2,1);
}
.site-ready .dc-loader{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.dc-loader-mark{
  position:relative;
  width:min(430px,72vw);
  aspect-ratio:350 / 126;
  display:grid;
  place-items:center;
}
.dc-loader-logo-wrap{
  position:relative;
  z-index:3;
  width:86%;
  opacity:0;
  transform:scale(.965);
  clip-path:inset(0 50% 0 50%);
  animation:
    dcV20LogoReveal .72s cubic-bezier(.76,0,.24,1) .08s forwards,
    dcV20LogoSettle .35s ease .73s forwards;
}
.dc-loader-logo-wrap img{
  display:block;
  width:100%;
  height:auto!important;
  object-fit:contain!important;
  filter:invert(1) brightness(2);
}
.dc-loader-frame{
  position:absolute;
  z-index:1;
  inset:2% 1%;
  pointer-events:none;
}
.dc-loader-frame:before,
.dc-loader-frame:after{
  content:"";
  position:absolute;
  background:rgba(255,255,255,.42);
}
.dc-loader-frame:before{
  left:0;
  top:0;
  width:0;
  height:1px;
  animation:dcV20FrameH .6s cubic-bezier(.76,0,.24,1) .12s forwards;
}
.dc-loader-frame:after{
  right:0;
  bottom:0;
  width:0;
  height:1px;
  animation:dcV20FrameH .6s cubic-bezier(.76,0,.24,1) .24s forwards;
}
.dc-loader-mark:before,
.dc-loader-mark:after{
  content:"";
  position:absolute;
  z-index:1;
  width:1px;
  height:0;
  background:rgba(255,255,255,.24);
}
.dc-loader-mark:before{
  left:1%;
  top:2%;
  animation:dcV20FrameV .42s cubic-bezier(.76,0,.24,1) .55s forwards;
}
.dc-loader-mark:after{
  right:1%;
  bottom:2%;
  animation:dcV20FrameV .42s cubic-bezier(.76,0,.24,1) .55s forwards;
}
.dc-loader-sweep{
  position:absolute;
  z-index:4;
  top:0;
  bottom:0;
  width:68px;
  left:-90px;
  opacity:.42;
  transform:skewX(-12deg);
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.20),
    transparent
  );
  animation:dcV20Sweep .68s cubic-bezier(.4,0,.2,1) .48s forwards;
  pointer-events:none;
}
@keyframes dcV20LogoReveal{
  to{opacity:1;clip-path:inset(0 0 0 0)}
}
@keyframes dcV20LogoSettle{
  to{transform:scale(1)}
}
@keyframes dcV20FrameH{
  to{width:100%}
}
@keyframes dcV20FrameV{
  to{height:96%}
}
@keyframes dcV20Sweep{
  to{left:calc(100% + 30px)}
}

/* ------------------------------------------------
   FOOTER — LARGE, STRUCTURED, BRANDED
   ------------------------------------------------ */
.dc-footer-v20{
  position:relative;
  overflow:hidden;
  padding:0 0 22px;
  background:#0a0c0a;
  color:#f5f1ea;
  border-top:1px solid rgba(255,255,255,.10);
}
.dc-footer-grid-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.34;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(180deg,#000 0%,transparent 82%);
}
.dc-footer-v20:after{
  content:"";
  position:absolute;
  right:-90px;
  top:80px;
  width:330px;
  height:330px;
  border:1px solid rgba(216,199,167,.13);
  border-radius:50%;
  pointer-events:none;
}
.dc-footer-callout{
  position:relative;
  z-index:2;
  min-height:330px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  align-items:center;
  gap:70px;
  padding-top:54px;
  padding-bottom:54px;
}
.dc-footer-callout-copy>span{
  font:500 7px var(--mono);
  letter-spacing:.18em;
  color:var(--champagne);
}
.dc-footer-callout h2{
  max-width:900px;
  margin:18px 0 0;
  font:600 clamp(44px,5.7vw,82px)/.89 var(--display);
  letter-spacing:-.068em;
}
.dc-footer-callout h2 em{
  color:#b9b5ac;
}
.dc-footer-quote{
  position:relative;
  min-height:184px;
  padding:24px;
  display:grid;
  align-content:space-between;
  background:var(--champagne);
  color:var(--ink);
  border:1px solid rgba(255,255,255,.14);
  clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%);
  transition:
    transform .3s cubic-bezier(.2,.8,.2,1),
    background .25s ease;
}
.dc-footer-quote:before{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:24px;
  height:24px;
  border-left:1px solid rgba(10,12,10,.28);
  border-bottom:1px solid rgba(10,12,10,.28);
}
.dc-footer-quote small{
  font:600 7px var(--mono);
  letter-spacing:.15em;
}
.dc-footer-quote strong{
  max-width:210px;
  font:600 28px/.95 var(--display);
  letter-spacing:-.045em;
}
.dc-footer-quote b{
  position:absolute;
  right:23px;
  bottom:20px;
  font-size:27px;
  font-weight:400;
  transition:transform .25s ease;
}
.dc-footer-quote:hover{
  transform:translateY(-8px);
  background:#e7d7ba;
}
.dc-footer-quote:hover b{
  transform:translate(5px,-5px);
}
.dc-footer-rule{
  position:relative;
  z-index:2;
}
.dc-footer-rule i{
  display:block;
  width:100%;
  height:1px;
  background:rgba(255,255,255,.14);
}
.dc-footer-rule i:after{
  content:"";
  display:block;
  width:92px;
  height:1px;
  background:var(--champagne);
}
.dc-footer-body{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(320px,1.45fr) .65fr 1fr;
  gap:72px;
  padding-top:46px;
  padding-bottom:42px;
}
.dc-footer-signature{
  align-self:start;
}
.dc-footer-signature a{
  display:block;
  width:min(350px,100%);
}
.dc-footer-signature img{
  display:block;
  width:100%;
  height:auto!important;
  object-fit:contain!important;
  aspect-ratio:auto!important;
  filter:invert(1) brightness(2);
  opacity:.96;
}
.dc-footer-nav-v20,
.dc-footer-contact-v20{
  display:grid;
  align-content:start;
}
.dc-footer-nav-v20>span,
.dc-footer-contact-v20>span{
  margin-bottom:19px;
  font:500 7px var(--mono);
  letter-spacing:.17em;
  color:#77746e;
}
.dc-footer-nav-v20>a{
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:38px;
  border-bottom:1px solid rgba(255,255,255,.09);
  color:#c5c1ba;
  font-size:11px;
  transition:color .2s,padding .2s;
}
.dc-footer-nav-v20>a:first-of-type{
  border-top:1px solid rgba(255,255,255,.09);
}
.dc-footer-nav-v20>a b{
  font-size:13px;
  font-weight:400;
  opacity:.45;
  transition:transform .2s,opacity .2s;
}
.dc-footer-nav-v20>a:hover{
  color:#fff;
  padding-left:7px;
}
.dc-footer-nav-v20>a:hover b{
  opacity:1;
  transform:translate(3px,-3px);
}
.dc-footer-contact-v20>a{
  display:grid;
  gap:7px;
  padding:15px 0;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.dc-footer-contact-v20>a:first-of-type{
  border-top:1px solid rgba(255,255,255,.09);
}
.dc-footer-contact-v20 small{
  font:500 7px var(--mono);
  letter-spacing:.14em;
  color:#77746e;
}
.dc-footer-contact-v20 strong{
  font:500 clamp(17px,1.65vw,24px) var(--display);
  letter-spacing:-.035em;
  color:#f2eee7;
  transition:color .2s;
}
.dc-footer-contact-v20 a:hover strong{
  color:var(--champagne);
}
.dc-footer-bottom-v20{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding-top:17px;
  border-top:1px solid rgba(255,255,255,.09);
  color:#66635e;
  font:500 7px var(--mono);
  letter-spacing:.1em;
}

@media(max-width:900px){
  .dc-footer-callout{
    grid-template-columns:1fr;
    gap:28px;
  }
  .dc-footer-quote{
    min-height:130px;
  }
  .dc-footer-body{
    grid-template-columns:1fr 1fr;
    gap:42px;
  }
  .dc-footer-signature{
    grid-column:1/-1;
  }
  .dc-footer-signature a{
    width:290px;
  }
}
@media(max-width:620px){
  .dc-loader-mark{
    width:min(330px,82vw);
  }
  .dc-footer-callout{
    min-height:auto;
    padding-top:58px;
    padding-bottom:42px;
  }
  .dc-footer-callout h2{
    font-size:clamp(40px,12vw,58px);
  }
  .dc-footer-body{
    grid-template-columns:1fr;
    gap:34px;
  }
  .dc-footer-signature{
    grid-column:auto;
  }
  .dc-footer-bottom-v20{
    flex-direction:column;
    gap:7px;
  }
}
@media(prefers-reduced-motion:reduce){
  .dc-loader-logo-wrap{
    opacity:1!important;
    transform:none!important;
    clip-path:none!important;
    animation:none!important;
  }
  .dc-loader-frame,
  .dc-loader-sweep{
    display:none!important;
  }
}


/* ================================================================
   V21 — remove CTA repetition + engineering easter eggs
   ================================================================ */
.dc-easter{
  position:absolute;z-index:5;pointer-events:none;user-select:none;
  font:500 6px var(--mono);letter-spacing:.12em;color:rgba(102,89,68,.48)
}
.dc-datum{display:flex;align-items:center;gap:7px}
.dc-datum i{width:18px;height:18px;border:1px solid currentColor;border-radius:50%;position:relative}
.dc-datum i:before,.dc-datum i:after{content:"";position:absolute;background:currentColor}
.dc-datum i:before{width:22px;height:1px;left:-3px;top:8px}
.dc-datum i:after{height:22px;width:1px;top:-3px;left:8px}
.dc-datum-home{right:3.2%;top:20%;color:rgba(216,199,167,.42)}
.dc-scale-home{right:3.3%;bottom:14%;color:rgba(216,199,167,.34)}
.dc-regmark{right:24px;top:26px;width:22px;height:22px}
.dc-regmark i,.dc-regmark b{position:absolute;display:block;background:rgba(102,89,68,.36)}
.dc-regmark i{left:10px;top:0;width:1px;height:22px}.dc-regmark b{left:0;top:10px;width:22px;height:1px}
.dc-regmark:after{content:"";position:absolute;inset:6px;border:1px solid rgba(102,89,68,.35);border-radius:50%}
.dc-dimension{display:flex;align-items:center;gap:8px;transform:rotate(90deg)}
.dc-dimension-about{right:-10px;top:44%}
.dc-dimension i{display:block;width:58px;height:1px;background:currentColor;position:relative}
.dc-dimension i:before,.dc-dimension i:after{content:"";position:absolute;top:-3px;width:1px;height:7px;background:currentColor}
.dc-dimension i:before{left:0}.dc-dimension i:after{right:0}
.svc-techmarks{inset:0;z-index:7}
.svc-techmarks .techmark{position:absolute;color:rgba(216,199,167,.35)}
.tm-a{left:37%;top:12%}.tm-b{right:29%;top:17%}.tm-c{left:43%;bottom:12%}.tm-d{right:25%;bottom:14%}
.svc-techmarks .techmark:after{content:"";display:inline-block;width:18px;height:1px;margin-left:7px;vertical-align:middle;background:currentColor}
.dc-coordinates-projects{right:28px;top:28px}
.dc-asbuilt-contact{right:28px;top:28px;padding:6px 8px;border:1px solid rgba(102,89,68,.22);transform:rotate(2deg)}
.dc-tolerance-quote{right:28px;top:28px}
.dc-footer-stamp{position:absolute;z-index:2;right:24px;bottom:58px;transform:rotate(-90deg);transform-origin:right bottom;color:#4e4c47;font:500 6px var(--mono);letter-spacing:.16em;pointer-events:none}
.dc-footer-quote:after{content:"";position:absolute;left:24px;bottom:18px;width:0;height:1px;background:rgba(10,12,10,.42);transition:width .35s cubic-bezier(.2,.8,.2,1)}
.dc-footer-quote:hover:after{width:58px}
main > section:last-child{border-bottom:1px solid rgba(16,18,16,.10)}
main > .dc-dark:last-child{border-bottom-color:rgba(255,255,255,.10)}
@media(max-width:900px){.dc-easter,.dc-footer-stamp{display:none}}


/* ==================================================================
   V24 — MOBILE-FIRST USABILITY PASS
   Based directly on the supplied V21 build.
   ================================================================== */

/* ---- Cross-platform icons: no Unicode arrow / emoji rendering ---- */
.ui-arrow{
  position:relative;
  display:inline-block;
  width:16px;
  height:16px;
  flex:0 0 16px;
  font-size:0!important;
  color:currentColor;
}
.ui-arrow::before{
  content:"";
  position:absolute;
  left:2px;
  bottom:3px;
  width:12px;
  height:1.5px;
  background:currentColor;
  transform:rotate(-45deg);
  transform-origin:center;
}
.ui-arrow::after{
  content:"";
  position:absolute;
  top:1px;
  right:1px;
  width:7px;
  height:7px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
}
.ui-arrow-right::before{
  left:1px;
  top:7px;
  bottom:auto;
  width:13px;
  transform:none;
}
.ui-arrow-right::after{
  top:3px;
  right:1px;
  width:7px;
  height:7px;
  transform:rotate(45deg);
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
}
.ui-close{
  position:absolute;
  inset:0;
}
.ui-close::before,
.ui-close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:1.5px;
  background:currentColor;
}
.ui-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.ui-close::after{transform:translate(-50%,-50%) rotate(-45deg)}

.dc-modal-close{
  display:grid;
  place-items:center;
  color:var(--ink);
}

/* Keep engineering easter eggs desktop-only. */
@media(max-width:900px){
  .dc-easter,
  .dc-footer-stamp,
  .dc-section-rail{
    display:none!important;
  }
}

/* ------------------------------------------------
   TABLET / MOBILE NAVIGATION
   ------------------------------------------------ */
@media(max-width:900px){
  html{scroll-padding-top:76px}
  body{overflow-x:hidden}

  .dc-shell{
    width:min(calc(100% - 32px),1380px);
  }

  .dc-header{
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
  }

  .dc-header-inner{
    height:76px!important;
    grid-template-columns:1fr 48px!important;
    gap:12px!important;
  }

  .dc-logo{
    width:164px!important;
    max-width:65vw;
  }

  .dc-nav,
  .dc-header-cta{
    display:none!important;
  }

  .dc-menu{
    display:block!important;
    width:48px;
    height:48px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:0;
    cursor:pointer;
    touch-action:manipulation;
  }

  .dc-mobile-nav{
    display:flex!important;
    flex-direction:column;
    position:fixed!important;
    inset:76px 0 0 0!important;
    z-index:890!important;
    padding:22px 20px max(24px,env(safe-area-inset-bottom))!important;
    background:#0d0f0d!important;
    transform:translateX(100%)!important;
    opacity:1!important;
    pointer-events:none!important;
    visibility:hidden;
    transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility .35s!important;
    overflow-y:auto;
  }

  .menu-open .dc-mobile-nav{
    transform:translateX(0)!important;
    visibility:visible;
    pointer-events:auto!important;
  }

  .dc-mobile-nav a{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    min-height:62px;
    padding:0 4px!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    font:600 clamp(24px,7vw,34px)/1 var(--display)!important;
    letter-spacing:-.045em;
    color:#f4efe7!important;
  }

  .dc-mobile-nav .mobile-consult{
    min-height:58px;
    margin-top:22px!important;
    padding:0 16px!important;
    background:var(--champagne)!important;
    color:var(--ink)!important;
    border:0!important;
    font:700 14px/1 var(--body)!important;
    letter-spacing:0;
  }

  /* Avoid background page motion while mobile menu is open. */
  body.menu-open{
    overflow:hidden!important;
    touch-action:none;
  }
}

/* ------------------------------------------------
   TYPOGRAPHY / SPACING ON MOBILE
   ------------------------------------------------ */
@media(max-width:760px){
  .dc-section{
    padding:64px 0!important;
  }

  .dc-section-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:28px!important;
  }

  .dc-section-head>div{
    font-size:9px!important;
  }

  .dc-section-head h2{
    font-size:clamp(34px,10.5vw,48px)!important;
    line-height:.98!important;
    letter-spacing:-.055em!important;
  }

  .dc-section-head>a{
    width:max-content;
    font-size:12px!important;
  }

  .dc-page-hero{
    min-height:auto!important;
    padding:118px 0 58px!important;
  }

  .dc-page-hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
    margin-top:28px!important;
  }

  .dc-page-hero h1{
    font-size:clamp(46px,14vw,68px)!important;
    line-height:.9!important;
    overflow-wrap:anywhere;
  }

  .dc-page-hero p{
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.65!important;
  }

  .dc-kicker{
    font-size:8px!important;
    flex-wrap:wrap;
  }

  /* No tiny body copy on phones. */
  .dc-service-list p,
  .dc-process-grid p,
  .svc-scope-list p,
  .dc-project-meta p,
  .dc-copy-block>p,
  .dc-about-story p,
  .dc-quote-aside p{
    font-size:14px!important;
    line-height:1.65!important;
  }
}

/* ------------------------------------------------
   HOME
   ------------------------------------------------ */
@media(max-width:760px){
  .dc-hero{
    min-height:auto!important;
    padding:112px 0 58px!important;
  }

  .dc-hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:34px!important;
  }

  .dc-hero-title{
    margin-top:0!important;
    font-size:clamp(50px,15.5vw,74px)!important;
    line-height:.88!important;
    letter-spacing:-.07em!important;
  }

  .dc-hero-text{
    margin-top:22px!important;
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.65!important;
  }

  .dc-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-top:26px!important;
  }

  .dc-button{
    width:100%!important;
    min-height:56px!important;
    padding:0 17px!important;
    font-size:14px!important;
    touch-action:manipulation;
  }

  .dc-text-link{
    width:max-content;
    min-height:38px;
    align-items:center;
    font-size:13px!important;
  }

  .dc-proof-line{
    margin-top:28px!important;
  }

  .dc-hero-object{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/3;
    width:100%!important;
    max-width:none!important;
    perspective:none!important;
  }

  .dc-hero-photo{
    position:absolute!important;
    inset:0!important;
    clip-path:none!important;
    border:1px solid rgba(255,255,255,.12);
  }

  .dc-object-outline{
    display:none!important;
  }

  /* Parallax/tilt is desktop decoration; phone receives stable image. */
  .dc-hero-object .depth{
    translate:none!important;
    transform:none!important;
  }

  .dc-service-intro,
  .dc-project-intro,
  .dc-process-lead{
    margin:0 0 26px!important;
    max-width:100%!important;
    font-size:14px!important;
    line-height:1.65!important;
  }

  .dc-service-list{
    display:grid!important;
    gap:10px;
    border:0!important;
  }

  .dc-service-list>a{
    min-height:auto!important;
    grid-template-columns:38px 1fr 22px!important;
    gap:10px!important;
    padding:18px 0!important;
    border-bottom:1px solid var(--line)!important;
  }

  .dc-service-list h3{
    font-size:24px!important;
    line-height:1.02!important;
  }

  .dc-service-list p{
    display:none!important;
  }

  .dc-split,
  .dc-about-story{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:34px!important;
  }

  .dc-image-frame,
  .dc-image-frame.tall{
    height:auto!important;
    aspect-ratio:4/3;
  }

  .dc-copy-block h2{
    font-size:clamp(38px,11vw,52px)!important;
    line-height:.96!important;
  }

  .dc-mini-steps>div{
    padding:16px 0!important;
  }

  .dc-project-trio{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
    gap:12px!important;
  }

  .dc-project-trio>a,
  .dc-project-trio .large{
    grid-row:auto!important;
    height:auto!important;
    aspect-ratio:4/3;
  }

  .dc-project-trio h3{
    font-size:26px!important;
  }

  .dc-process-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    border-top:1px solid var(--line)!important;
  }

  .dc-process-grid article,
  .dc-process-grid article:first-child,
  .dc-process-grid article:last-child{
    display:grid;
    grid-template-columns:38px 46px 1fr;
    grid-template-rows:auto auto;
    gap:0 14px;
    min-height:0!important;
    padding:20px 0!important;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }

  .dc-process-grid article>span{
    grid-row:1/3;
    padding-top:5px;
    font-size:9px!important;
  }

  .step-icon{
    grid-column:2;
    grid-row:1/3;
    margin:0!important;
    width:44px!important;
    height:44px!important;
  }

  .step-icon svg{
    width:20px!important;
    height:20px!important;
    fill:none;
    stroke:currentColor;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .dc-process-grid h3{
    grid-column:3;
    margin:0 0 7px!important;
    font-size:22px!important;
  }

  .dc-process-grid p{
    grid-column:3;
    margin:0!important;
  }
}

/* ------------------------------------------------
   SERVICES — mobile gets a purpose-built layout, not squeezed 3D
   ------------------------------------------------ */
@media(max-width:760px){
  .svc-hero{
    padding:118px 0 46px!important;
  }

  .svc-hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin-top:24px!important;
  }

  .svc-hero h1{
    font-size:clamp(48px,14vw,70px)!important;
    line-height:.88!important;
  }

  .svc-hero-grid p{
    font-size:15px!important;
    line-height:1.65!important;
  }

  .svc-exploded{
    padding:0 0 58px!important;
  }

  .svc-engine{
    min-height:auto!important;
    padding:16px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    border-left:0!important;
    border-right:0!important;
  }

  /* The exploded 3D object is a desktop experience. Hiding it on mobile
     makes the actual services much easier to use and prevents overlap. */
  .svc-scene,
  .svc-grid,
  .svc-engine-heading,
  .svc-scanline,
  .svc-techmarks{
    display:none!important;
  }

  .svc-tabs{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .svc-tabs button,
  .svc-tabs button:first-child{
    min-height:76px!important;
    padding:14px 13px!important;
    grid-template-columns:34px 1fr 22px!important;
    border:1px solid rgba(255,255,255,.13)!important;
    background:rgba(255,255,255,.025)!important;
  }

  .svc-tabs button.active{
    padding:14px 13px!important;
    background:rgba(216,199,167,.09)!important;
    border-color:rgba(216,199,167,.42)!important;
  }

  .svc-tabs button>span{
    font-size:10px!important;
  }

  .svc-tabs small{
    display:block;
    font:600 17px/1.05 var(--display)!important;
    letter-spacing:-.035em!important;
    color:#f3efe7!important;
  }

  .svc-tabs .ui-arrow{
    color:var(--champagne);
  }

  .svc-info{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    transform:none!important;
    width:100%!important;
    padding:22px 2px 4px!important;
    border-top:1px solid rgba(255,255,255,.12);
  }

  .svc-info-number{
    font-size:9px!important;
  }

  .svc-info h2{
    font-size:clamp(34px,10vw,46px)!important;
    line-height:.95!important;
    margin:12px 0!important;
  }

  .svc-info p{
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.65!important;
  }

  .svc-info .dc-button{
    margin-top:18px!important;
  }

  .svc-scope-list button{
    min-height:auto!important;
    grid-template-columns:36px 1fr 22px!important;
    padding:19px 0!important;
    gap:10px!important;
  }

  .svc-scope-list h3{
    font-size:23px!important;
    line-height:1.05!important;
  }

  .svc-scope-list p{
    display:none!important;
  }

  .dc-modal{
    display:block!important;
  }

  .dc-modal[hidden]{
    display:none!important;
  }

  .dc-modal-panel{
    position:fixed!important;
    inset:auto 0 0 0!important;
    width:100%!important;
    max-height:88svh!important;
    border-radius:0!important;
    padding:58px 20px calc(22px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    box-shadow:0 -18px 70px rgba(0,0,0,.28);
  }

  .dc-modal-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    background:rgba(0,0,0,.66)!important;
  }

  .dc-modal-close{
    width:44px!important;
    height:44px!important;
    right:16px!important;
    top:12px!important;
  }

  .dc-modal-panel h2{
    font-size:clamp(38px,11vw,52px)!important;
  }

  .dc-modal-lead{
    font-size:15px!important;
    line-height:1.65!important;
  }
}

/* ------------------------------------------------
   PROJECTS
   ------------------------------------------------ */
@media(max-width:760px){
  .projects-content{
    padding-top:50px!important;
  }

  .project-toolbar{
    display:grid!important;
    gap:16px!important;
    margin-bottom:26px!important;
  }

  .project-toolbar>div{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    padding-bottom:5px;
    margin-right:-16px;
    padding-right:16px;
  }

  .project-toolbar>div::-webkit-scrollbar{display:none}

  .filter{
    flex:0 0 auto;
    min-height:42px;
    padding:0 13px!important;
    font-size:11px!important;
    touch-action:manipulation;
  }

  .dc-project-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
  }

  .dc-project-card .project-media,
  .dc-project-card:nth-child(3n+1) .project-media{
    height:auto!important;
    aspect-ratio:4/3!important;
  }

  .dc-project-meta{
    grid-template-columns:1fr!important;
    gap:4px!important;
  }

  .dc-project-meta h3{
    font-size:25px!important;
  }

  .dc-project-location{
    text-align:left!important;
    font-size:8px!important;
  }
}

/* ------------------------------------------------
   CONTACT
   ------------------------------------------------ */
@media(max-width:760px){
  .dc-contact-section{
    padding-top:48px!important;
  }

  .dc-contact-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:34px!important;
  }

  .dc-contact-visual{
    height:auto!important;
    aspect-ratio:4/3;
  }

  .dc-contact-links>a:not(.dc-button),
  .dc-contact-links>div{
    min-height:74px;
    padding:17px 0!important;
    gap:7px 12px!important;
  }

  .dc-contact-links small{
    font-size:8px!important;
  }

  .dc-contact-links strong{
    font-size:clamp(25px,8.2vw,38px)!important;
    line-height:1.05!important;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  .dc-contact-consult{
    margin-top:22px!important;
  }
}

/* ------------------------------------------------
   QUOTE / CONSULTATION FORM
   ------------------------------------------------ */
@media(max-width:760px){
  .quote-section{
    padding-top:48px!important;
  }

  .dc-quote-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:36px!important;
  }

  .dc-quote-aside{
    position:relative!important;
    top:auto!important;
  }

  .dc-quote-aside h2{
    font-size:clamp(35px,10vw,48px)!important;
  }

  .quote-progress{
    margin-bottom:8px;
  }

  .dc-form fieldset{
    padding:24px 0 32px!important;
  }

  .dc-form legend{
    font-size:22px!important;
    line-height:1.1!important;
  }

  .choice-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .choice-grid label span{
    min-height:56px!important;
    font-size:14px!important;
    padding:0 14px!important;
  }

  .field-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
  }

  .span-2{
    grid-column:auto!important;
  }

  .field-grid label>span{
    font-size:9px!important;
  }

  .field-grid input,
  .field-grid select,
  .field-grid textarea{
    min-height:52px;
    padding:14px!important;
    font-size:16px!important; /* prevents iOS input zoom */
    border-radius:0;
  }

  .field-grid textarea{
    min-height:130px;
  }

  .form-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:15px!important;
  }
}

/* ------------------------------------------------
   FOOTER — compact enough for phones but still branded
   ------------------------------------------------ */
@media(max-width:760px){
  .dc-footer-v20{
    padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }

  .dc-footer-callout{
    min-height:auto!important;
    grid-template-columns:1fr!important;
    gap:26px!important;
    padding-top:54px!important;
    padding-bottom:34px!important;
  }

  .dc-footer-callout h2{
    font-size:clamp(38px,11vw,52px)!important;
    line-height:.94!important;
  }

  .dc-footer-quote{
    min-height:116px!important;
    padding:18px!important;
  }

  .dc-footer-quote strong{
    font-size:23px!important;
  }

  .dc-footer-body{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:34px!important;
    padding-top:34px!important;
    padding-bottom:30px!important;
  }

  .dc-footer-signature{
    grid-column:auto!important;
  }

  .dc-footer-signature a{
    width:min(260px,78vw)!important;
  }

  .dc-footer-nav-v20>a{
    min-height:48px!important;
    font-size:13px!important;
  }

  .dc-footer-contact-v20>a{
    padding:15px 0!important;
  }

  .dc-footer-contact-v20 strong{
    font-size:20px!important;
    overflow-wrap:anywhere;
  }

  .dc-footer-bottom-v20{
    flex-direction:column!important;
    gap:7px!important;
    font-size:7px!important;
  }

  /* Consultation page should not show a second quotation CTA. */
  body[data-current="quote"] .dc-footer-callout{
    display:none!important;
  }
}

/* ------------------------------------------------
   ABOUT
   ------------------------------------------------ */
@media(max-width:760px){
  .dc-about-story{
    gap:34px!important;
  }

  .dc-big-stat strong{
    font-size:clamp(92px,31vw,150px)!important;
  }

  .dc-about-story h2{
    font-size:clamp(34px,10vw,48px)!important;
  }
}

/* Smallest phones */
@media(max-width:390px){
  .dc-shell{width:calc(100% - 24px)!important}
  .dc-logo{width:150px!important}
  .dc-hero-title{font-size:46px!important}
  .dc-page-hero h1,
  .svc-hero h1{font-size:44px!important}
  .dc-footer-callout h2{font-size:36px!important}
}

/* Reduce animation and GPU-heavy transforms on touch devices. */
@media(hover:none),(pointer:coarse){
  .magnetic{
    translate:none!important;
  }

  .dc-tilt-soft{
    transform:none!important;
  }

  .svc-stack{
    animation:none!important;
  }

  .dc-project-card:hover img,
  .dc-project-trio a:hover img{
    transform:none!important;
  }
}

/* V24.1 icon alignment for text links */
.dc-section-head>a,
.mobile-consult{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
}
.mobile-consult .ui-arrow{
  margin-left:auto;
}


/* ==================================================================
   V25 — MOBILE MENU RELIABILITY + UNIQUE MOBILE SERVICES
   ================================================================== */

/* Mobile service experience is hidden on desktop. */
.svc-mobile-experience{display:none}

@media(max-width:900px){
  /* Robust menu stacking: no inherited negative stacking context. */
  .dc-header{z-index:990!important;overflow:visible!important}
  .dc-header-inner{position:relative;z-index:3}
  .dc-menu{position:relative!important;z-index:5!important;pointer-events:auto!important;-webkit-tap-highlight-color:transparent}
  .dc-menu i{pointer-events:none}
  .dc-mobile-nav{
    display:flex!important;
    position:fixed!important;
    z-index:2!important;
    inset:76px 0 0 0!important;
    width:100vw!important;
    height:calc(100dvh - 76px)!important;
    min-height:calc(100vh - 76px)!important;
    transform:translate3d(100%,0,0)!important;
    visibility:hidden!important;
    opacity:1!important;
    pointer-events:none!important;
    background:#0d0f0d!important;
    will-change:transform;
  }
  body.menu-open .dc-mobile-nav,
  .dc-mobile-nav.is-open{
    transform:translate3d(0,0,0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.menu-open .dc-menu i:first-child{top:23px!important;transform:rotate(45deg)!important}
  body.menu-open .dc-menu i:last-child{top:23px!important;transform:rotate(-45deg)!important}
}

@media(max-width:760px){
  /* Replace squeezed desktop services with an intentional mobile-only interaction. */
  .svc-exploded>.dc-shell{width:100%!important}
  .svc-engine{display:none!important}
  .svc-mobile-experience{
    display:block;
    position:relative;
    width:100%;
    padding:0 16px 22px;
    overflow:hidden;
  }
  .svc-mobile-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:15px 0 13px;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
    color:#f1ede5;
  }
  .svc-mobile-header>span{
    font:600 9px var(--mono);
    letter-spacing:.17em;
  }
  .svc-mobile-header>b{
    font:500 9px var(--mono);
    letter-spacing:.12em;
    color:#7e7b74;
  }
  .svc-mobile-header>b i{font-style:normal;color:var(--champagne)}

  .svc-mobile-tabs{
    display:flex;
    gap:8px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding:13px 0 15px;
    margin-right:-16px;
    padding-right:16px;
  }
  .svc-mobile-tabs::-webkit-scrollbar{display:none}
  .svc-mobile-tabs button{
    flex:0 0 min(78vw,300px);
    scroll-snap-align:start;
    display:grid;
    grid-template-columns:35px 1fr;
    gap:10px;
    align-items:center;
    min-height:68px;
    padding:11px 13px;
    border:1px solid rgba(255,255,255,.12);
    background:#151815;
    color:#aaa79f;
    text-align:left;
    cursor:pointer;
    transition:background .25s,border-color .25s,transform .25s;
  }
  .svc-mobile-tabs button>span{
    font:600 9px var(--mono);
    color:#6e6b65;
  }
  .svc-mobile-tabs button strong{
    font:600 17px/1.08 var(--display);
    letter-spacing:-.035em;
  }
  .svc-mobile-tabs button.active{
    background:#f1ede5;
    color:var(--ink);
    border-color:#f1ede5;
    transform:translateY(-2px);
  }
  .svc-mobile-tabs button.active>span{color:#76694f}

  .svc-mobile-stage{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    background:#111310;
  }
  .svc-mobile-media{
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#242722;
  }
  .svc-mobile-media img{
    width:100%;height:100%;object-fit:cover;
    filter:saturate(.7) contrast(1.04);
    transform:scale(1.015);
    transition:opacity .26s ease,transform .6s cubic-bezier(.2,.8,.2,1);
  }
  .svc-mobile-stage.is-changing .svc-mobile-media img{opacity:.18;transform:scale(1.06)}
  .svc-mobile-drawing{
    position:absolute;inset:12px;
    border:1px solid rgba(255,255,255,.23);
    pointer-events:none;
  }
  .svc-mobile-drawing .axis-x,
  .svc-mobile-drawing .axis-y{position:absolute;display:block;background:rgba(255,255,255,.20)}
  .svc-mobile-drawing .axis-x{left:10%;right:10%;top:50%;height:1px}
  .svc-mobile-drawing .axis-y{top:10%;bottom:10%;left:50%;width:1px}
  .svc-mobile-drawing .corner{position:absolute;width:19px;height:19px}
  .svc-mobile-drawing .c1{left:8%;top:8%;border-left:1px solid var(--champagne);border-top:1px solid var(--champagne)}
  .svc-mobile-drawing .c2{right:8%;bottom:8%;border-right:1px solid var(--champagne);border-bottom:1px solid var(--champagne)}
  .svc-mobile-drawing>b{
    position:absolute;right:8px;top:8px;
    font:500 7px var(--mono);letter-spacing:.13em;color:rgba(255,255,255,.72)
  }
  .svc-mobile-index{
    position:absolute;
    left:12px;bottom:-10px;
    font:600 92px/.75 var(--display);
    letter-spacing:-.09em;
    color:rgba(255,255,255,.11);
    pointer-events:none;
  }
  .svc-mobile-copy{padding:21px 17px 17px}
  .svc-mobile-copy>span{
    font:600 8px var(--mono);letter-spacing:.15em;color:var(--champagne)
  }
  .svc-mobile-copy h2{
    margin:9px 0 12px;
    font:600 clamp(32px,10vw,44px)/.94 var(--display);
    letter-spacing:-.055em;
    color:#f3efe7;
  }
  .svc-mobile-copy p{
    margin:0;
    color:#aaa79f;
    font-size:14px;
    line-height:1.65;
  }
  .svc-mobile-actions{
    display:grid;
    grid-template-columns:1fr 118px;
    gap:8px;
    margin-top:20px;
  }
  .svc-mobile-quote,
  .svc-mobile-next{
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:0 14px;
    border:1px solid rgba(255,255,255,.16);
    font-size:12px;
    font-weight:700;
  }
  .svc-mobile-quote{background:var(--champagne);color:var(--ink);border-color:var(--champagne)}
  .svc-mobile-next{background:transparent;color:#d3cfc7;cursor:pointer}
  .svc-mobile-next span{font-size:10px}
  .svc-mobile-progress{
    height:2px;
    margin-top:12px;
    background:rgba(255,255,255,.10);
    overflow:hidden;
  }
  .svc-mobile-progress i{
    display:block;width:25%;height:100%;background:var(--champagne);
    transition:width .4s cubic-bezier(.2,.8,.2,1),transform .4s cubic-bezier(.2,.8,.2,1);
  }
}

@media(max-width:380px){
  .svc-mobile-tabs button{flex-basis:86vw}
  .svc-mobile-actions{grid-template-columns:1fr}
  .svc-mobile-next{justify-content:center}
}


/* ==================================================================
   V26 — CLIENT FEEDBACK 21.09.2026
   ================================================================== */

/* ------------------------------------------------
   ORIGINAL LOGO PROPORTIONS / TYPOGRAPHY
   ------------------------------------------------ */
.dc-logo img,
.dc-footer-signature img,
.dc-loader-logo-wrap img{
  filter:none!important;
  height:auto!important;
  object-fit:contain!important;
  aspect-ratio:auto!important;
}
.dc-logo{
  width:208px!important;
}
.dc-footer-signature a{
  width:min(360px,100%)!important;
}
.dc-loader-logo-wrap{
  width:88%!important;
}

/* ------------------------------------------------
   KERNING / DISPLAY TYPE
   ------------------------------------------------ */
.dc-display,
.dc-hero-title,
.dc-page-hero h1,
.dc-section-head h2,
.dc-about-story h2,
.svc-info h2,
.dc-contact-panel-head h2{
  letter-spacing:-.038em!important;
}
.dc-hero-title{
  line-height:.87!important;
}
.dc-hero-title span{
  padding-right:.025em;
}

/* ------------------------------------------------
   SECTION HEADERS — larger labels and aligned supporting copy
   ------------------------------------------------ */
.dc-section-head{
  grid-template-columns:205px minmax(0,1fr) auto!important;
}
.dc-section-head>div{
  font-size:10px!important;
  letter-spacing:.14em!important;
}
.dc-section-head>div i{
  width:44px!important;
}
.dc-section-head h2{
  font-size:clamp(42px,4.8vw,68px)!important;
}

/* Client asked the sentences below the heading to align with the heading itself. */
.dc-service-intro,
.dc-project-intro,
.dc-process-lead{
  margin-left:235px!important;
  max-width:730px!important;
  font-size:15px!important;
  line-height:1.7!important;
  color:#666862!important;
}

/* ------------------------------------------------
   SERVICE LIST — visible numbering + neat copy alignment
   ------------------------------------------------ */
.dc-service-list>a{
  grid-template-columns:72px minmax(270px,1.05fr) minmax(340px,1fr) 34px!important;
  gap:24px!important;
  min-height:120px!important;
}
.dc-service-list>a>span{
  font:600 13px/1 var(--mono)!important;
  letter-spacing:.08em!important;
  color:var(--orange-deep)!important;
}
.dc-service-list h3{
  align-self:center;
  font-size:clamp(26px,2.2vw,36px)!important;
  line-height:1.05!important;
}
.dc-service-list p{
  align-self:center;
  max-width:520px;
  font-size:13px!important;
  line-height:1.65!important;
}

/* ------------------------------------------------
   PROCESS — larger numbers + clearer execution/completion icons
   ------------------------------------------------ */
.dc-process-grid article>span{
  font:600 12px/1 var(--mono)!important;
  letter-spacing:.08em!important;
  color:var(--ink)!important;
}
.step-icon{
  width:46px!important;
  height:46px!important;
}
.step-icon svg{
  width:22px!important;
  height:22px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.6!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* ------------------------------------------------
   FOOTER — improve readability
   ------------------------------------------------ */
.dc-footer-nav-v20>span,
.dc-footer-contact-v20>span{
  font-size:9px!important;
}
.dc-footer-nav-v20>a{
  min-height:44px!important;
  font-size:13px!important;
}
.dc-footer-contact-v20 small{
  font-size:8px!important;
}
.dc-footer-contact-v20 strong{
  font-size:clamp(19px,1.8vw,27px)!important;
}
.dc-footer-bottom-v20{
  font-size:8px!important;
}
.dc-footer-callout-copy>span{
  font-size:9px!important;
}

/* ------------------------------------------------
   ABOUT — align the eyebrow/headline and enlarge supporting labels
   ------------------------------------------------ */
.dc-about-story{
  align-items:center!important;
}
.dc-big-stat span{
  font-size:10px!important;
  line-height:1.45!important;
}
.dc-about-story .dc-eyebrow{
  display:block;
  font-size:10px!important;
  margin-bottom:18px!important;
}
.dc-about-story h2{
  margin-top:0!important;
  font-size:clamp(40px,4.6vw,64px)!important;
  line-height:.99!important;
}

/* ------------------------------------------------
   SERVICES — animation retained, typography made readable
   ------------------------------------------------ */
.svc-engine-heading b{
  font-size:clamp(30px,2.4vw,40px)!important;
}
.svc-tabs{
  width:350px!important;
}
.svc-tabs button{
  min-height:102px!important;
  grid-template-columns:42px 1fr 26px!important;
  gap:15px!important;
}
.svc-tabs button>span{
  font:600 11px/1 var(--mono)!important;
}
.svc-tabs small{
  font:600 15px/1.15 var(--display)!important;
  letter-spacing:-.025em!important;
  color:#f4efe7!important;
}
.svc-info{
  width:335px!important;
}
.svc-info-number{
  font-size:10px!important;
}
.svc-info h2{
  font-size:clamp(42px,3.5vw,58px)!important;
  line-height:.94!important;
}
.svc-info p{
  font-size:14px!important;
  line-height:1.68!important;
  color:#c8c3bb!important;
}
.svc-layer figcaption span{
  font-size:9px!important;
}
.svc-layer figcaption b{
  font-size:18px!important;
  line-height:.95!important;
}

/* ------------------------------------------------
   PROJECTS — client's category-first concept
   ------------------------------------------------ */
.project-selector{
  position:relative;
  min-height:100svh;
  padding:150px 0 72px;
  overflow:hidden;
  background:#0d0f0d!important;
}
.project-selector-preview{
  position:absolute;
  inset:0;
  z-index:0;
  opacity:.14;
  pointer-events:none;
}
.project-selector-preview:after{
  content:"";
  position:absolute;
  inset:0;
  background:#0d0f0d;
  opacity:.52;
}
.project-selector-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(.25) contrast(1.08);
  transition:opacity .22s ease,transform .8s cubic-bezier(.2,.8,.2,1);
}
.project-selector-shell{
  position:relative;
  z-index:2;
}
.project-selector-intro{
  display:grid;
  grid-template-columns:minmax(0,760px) minmax(260px,430px);
  gap:56px;
  align-items:end;
  margin-bottom:48px;
}
.project-selector-intro .dc-kicker{
  grid-column:1/-1;
}
.project-selector-intro h1{
  margin:0;
  font-size:clamp(54px,6.7vw,96px);
  line-height:.88;
  letter-spacing:-.04em!important;
}
.project-selector-intro p{
  margin:0 0 8px;
  color:#b6b1a8;
  font-size:15px;
  line-height:1.7;
}
.project-selector-intro em{
  color:var(--champagne);
}
.project-category-menu{
  border-top:1px solid rgba(216,199,167,.30);
}
.project-category-menu button{
  width:100%;
  min-height:122px;
  display:grid;
  grid-template-columns:70px 1fr 28px;
  align-items:center;
  gap:20px;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(216,199,167,.30);
  background:transparent;
  color:var(--champagne);
  text-align:left;
  cursor:pointer;
  transition:padding .28s ease,background .28s ease,color .28s ease;
}
.project-category-menu button>span{
  font:600 10px var(--mono);
  color:#8d826c;
}
.project-category-menu strong{
  font:600 clamp(30px,3.8vw,56px)/.96 var(--display);
  letter-spacing:-.045em;
}
.project-category-menu strong i{
  padding:0 .2em;
  color:#716954;
  font-style:normal;
  font-weight:400;
}
.project-category-menu .ui-arrow{
  opacity:.5;
  transition:transform .25s ease,opacity .25s ease;
}
.project-category-menu button:hover,
.project-category-menu button.active{
  padding-left:18px;
  padding-right:18px;
  background:rgba(216,199,167,.08);
  color:#f5ead3;
}
.project-category-menu button:hover .ui-arrow,
.project-category-menu button.active .ui-arrow{
  opacity:1;
  transform:translate(4px,-4px);
}
.project-selector-note{
  margin-top:18px;
  color:#77736b;
  font:500 8px var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.project-gallery-section{
  display:none;
  padding-top:100px!important;
}
.project-gallery-section.is-active{
  display:block;
}
.project-gallery-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:32px;
  margin-bottom:42px;
}
.project-gallery-head>div>span{
  font:600 9px var(--mono);
  letter-spacing:.14em;
  color:var(--orange-deep);
}
.project-gallery-head h2{
  margin:10px 0 0;
  font-size:clamp(38px,4.5vw,64px);
  line-height:.95;
}
.project-gallery-back{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  padding:0;
  border:0;
  border-bottom:1px solid currentColor;
  background:transparent;
  font-weight:700;
  cursor:pointer;
}

/* ------------------------------------------------
   CONTACT — larger and easier to read
   ------------------------------------------------ */
.dc-contact-panel-head>span{
  font-size:10px!important;
}
.dc-contact-panel-head h2{
  font-size:clamp(40px,4.5vw,62px)!important;
}
.dc-contact-item{
  min-height:105px!important;
}
.dc-contact-item small{
  font-size:9px!important;
}
.dc-contact-item strong{
  font-size:clamp(27px,2.8vw,42px)!important;
  line-height:1.05!important;
}

/* ------------------------------------------------
   Mobile feedback preservation
   ------------------------------------------------ */
@media(max-width:900px){
  .dc-logo{
    width:180px!important;
  }
  .dc-service-intro,
  .dc-project-intro,
  .dc-process-lead{
    margin-left:0!important;
  }
  .dc-section-head{
    grid-template-columns:1fr!important;
  }
  .dc-service-list>a{
    grid-template-columns:44px 1fr 26px!important;
    min-height:auto!important;
  }
  .dc-service-list p{
    display:none!important;
  }
  .svc-tabs{
    width:100%!important;
  }
  .svc-info{
    width:100%!important;
  }
  .project-selector{
    min-height:auto;
    padding:118px 0 60px;
  }
  .project-selector-intro{
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:32px;
  }
  .project-selector-intro h1{
    font-size:clamp(48px,13vw,70px);
  }
  .project-category-menu button{
    min-height:86px;
    grid-template-columns:38px 1fr 22px;
    gap:10px;
  }
  .project-category-menu strong{
    font-size:clamp(23px,7vw,34px);
  }
  .project-gallery-head{
    display:grid;
    gap:18px;
  }
  .project-gallery-section{
    padding-top:64px!important;
  }
  .dc-footer-nav-v20>a{
    font-size:14px!important;
  }
  .dc-footer-contact-v20 strong{
    font-size:21px!important;
  }
  .dc-contact-item strong{
    font-size:clamp(24px,7.2vw,34px)!important;
  }
}

@media(max-width:620px){
  .dc-section-head>div{
    font-size:9px!important;
  }
  .dc-section-head h2{
    font-size:clamp(34px,10.5vw,48px)!important;
  }
  .dc-service-list>a>span{
    font-size:11px!important;
  }
  .svc-mobile-tabs strong{
    font-size:16px!important;
  }
  .svc-mobile-copy p{
    font-size:15px!important;
  }
}


/* ==================================================================
   V27 — PHONE-FIRST REBUILD
   Desktop design remains intact. Mobile is a dedicated UI, not a
   shrunken desktop composition.
   ================================================================== */

/* Restored logo from pre-V26 build. */
.dc-logo img,.dc-footer-signature img,.dc-loader-logo-wrap img{filter:invert(1) brightness(2)!important;width:100%!important;height:auto!important;object-fit:contain!important;aspect-ratio:auto!important}
.dc-footer-signature img{max-width:100%!important}

.svc-mobile-deck{display:none}
.dc-mobile-dock{display:none}

@media(max-width:760px){
  :root{--mobile-gutter:18px}
  html{scroll-padding-top:72px}
  body{padding-bottom:72px;overflow-x:hidden}
  body[data-current="quote"]{padding-bottom:0}
  .dc-shell{width:calc(100% - (var(--mobile-gutter) * 2))!important}

  /* HEADER / MENU */
  .dc-header{height:72px!important;background:rgba(10,12,10,.98)!important;border-bottom:1px solid rgba(255,255,255,.1)!important}
  .dc-header-inner{height:72px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
  .dc-logo{width:158px!important;max-width:62vw!important}
  .dc-nav,.dc-header-cta{display:none!important}
  .dc-menu{display:grid!important;place-items:center!important;position:relative!important;width:46px!important;height:46px!important;padding:0!important;border:1px solid rgba(255,255,255,.14)!important;background:#111411!important;z-index:1004!important}
  .dc-menu i{position:absolute!important;left:12px!important;right:12px!important;width:auto!important;height:1.5px!important;background:#f4efe7!important;transition:transform .25s ease,top .25s ease!important}
  .dc-menu i:first-child{top:17px!important}.dc-menu i:last-child{top:27px!important}
  .menu-open .dc-menu i:first-child{top:22px!important;transform:rotate(45deg)!important}
  .menu-open .dc-menu i:last-child{top:22px!important;transform:rotate(-45deg)!important}
  .dc-mobile-nav{display:flex!important;position:fixed!important;inset:72px 0 0!important;z-index:1000!important;flex-direction:column!important;padding:22px var(--mobile-gutter) calc(24px + env(safe-area-inset-bottom))!important;background:#0b0d0b!important;transform:translate3d(100%,0,0)!important;visibility:hidden!important;opacity:1!important;pointer-events:none!important;transition:transform .34s cubic-bezier(.22,.85,.24,1),visibility .34s!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  .menu-open .dc-mobile-nav,.dc-mobile-nav.is-open{transform:translate3d(0,0,0)!important;visibility:visible!important;pointer-events:auto!important}
  .dc-mobile-nav>a:not(.mobile-consult){display:flex!important;align-items:center!important;min-height:64px!important;padding:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important;color:#f4efe7!important;font:600 30px/1 var(--display)!important;letter-spacing:-.045em!important}
  .dc-mobile-nav>a:not(.mobile-consult)::after{content:"";margin-left:auto;width:7px;height:7px;border-top:1px solid #88847c;border-right:1px solid #88847c;transform:rotate(45deg)}
  .dc-mobile-nav .mobile-consult{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:58px!important;margin-top:24px!important;padding:0 16px!important;background:var(--champagne)!important;color:var(--ink)!important;border:0!important;font:700 14px var(--body)!important}
  body.menu-open{overflow:hidden!important}

  /* GLOBAL MOBILE TYPE */
  .dc-section{padding:58px 0!important}
  .dc-kicker,.dc-eyebrow,.dc-section-head>div{font-size:8px!important;letter-spacing:.15em!important}
  .dc-page-hero{min-height:0!important;padding:112px 0 52px!important}
  .dc-page-hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;margin-top:26px!important}
  .dc-page-hero h1{font-size:clamp(44px,13vw,62px)!important;line-height:.92!important;letter-spacing:-.045em!important}
  .dc-page-hero p{font-size:15px!important;line-height:1.65!important;margin:0!important}
  .dc-section-head{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin-bottom:26px!important}
  .dc-section-head h2{font-size:clamp(34px,10vw,46px)!important;line-height:.98!important;letter-spacing:-.04em!important}
  .dc-section-head>a{font-size:12px!important;width:max-content!important}
  .dc-service-intro,.dc-project-intro,.dc-process-lead{margin:0 0 24px!important;max-width:100%!important;font-size:14px!important;line-height:1.65!important}
  .dc-button{min-height:54px!important;font-size:14px!important}

  /* HOME: usable first screen */
  .dc-hero{min-height:0!important;padding:110px 0 46px!important}
  .dc-hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:30px!important}
  .dc-hero-title{font-size:clamp(48px,14.5vw,68px)!important;line-height:.9!important;letter-spacing:-.05em!important;margin:0!important}
  .dc-hero-text{font-size:15px!important;line-height:1.62!important;margin-top:20px!important}
  .dc-actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-top:24px!important}
  .dc-actions .dc-text-link{width:max-content!important;font-size:13px!important}
  .dc-proof-line{margin-top:26px!important}
  .dc-hero-object{height:auto!important;min-height:0!important;aspect-ratio:4/3!important;perspective:none!important}
  .dc-hero-photo{inset:0!important;clip-path:none!important}
  .dc-object-outline{display:none!important}
  .dc-hero-object .depth{transform:none!important;translate:none!important}

  /* SERVICES LIST / PROCESS */
  .dc-service-list{display:grid!important;gap:0!important;border-top:1px solid var(--line)!important}
  .dc-service-list>a{display:grid!important;grid-template-columns:34px 1fr 20px!important;gap:10px!important;min-height:78px!important;padding:14px 0!important}
  .dc-service-list>a>span{font-size:10px!important}.dc-service-list h3{font-size:22px!important;line-height:1.04!important}.dc-service-list p{display:none!important}
  .dc-split,.dc-about-story,.dc-contact-grid,.dc-quote-layout{display:grid!important;grid-template-columns:1fr!important;gap:30px!important}
  .dc-image-frame,.dc-image-frame.tall,.dc-contact-visual{height:auto!important;aspect-ratio:4/3!important}
  .dc-copy-block h2,.dc-about-story h2{font-size:clamp(36px,10.5vw,48px)!important;line-height:.98!important}
  .dc-process-grid{display:grid!important;grid-template-columns:1fr!important}
  .dc-process-grid article,.dc-process-grid article:first-child,.dc-process-grid article:last-child{display:grid!important;grid-template-columns:32px 44px 1fr!important;grid-template-rows:auto auto!important;gap:0 12px!important;min-height:0!important;padding:18px 0!important;border-right:0!important;border-bottom:1px solid var(--line)!important}
  .dc-process-grid article>span{grid-row:1/3!important;font-size:10px!important;padding-top:4px!important}.step-icon{grid-column:2!important;grid-row:1/3!important;margin:0!important;width:42px!important;height:42px!important}.dc-process-grid h3{grid-column:3!important;margin:0 0 6px!important;font-size:21px!important}.dc-process-grid p{grid-column:3!important;margin:0!important;font-size:13px!important;line-height:1.55!important}
  .dc-project-trio{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:none!important;gap:10px!important}.dc-project-trio>a,.dc-project-trio .large{grid-row:auto!important;height:auto!important;aspect-ratio:4/3!important}

  /* SERVICES: mobile-specific specification deck */
  .svc-hero{padding:112px 0 40px!important}.svc-hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;margin-top:22px!important}.svc-hero h1{font-size:clamp(45px,13vw,62px)!important;line-height:.9!important}.svc-hero-grid p{font-size:15px!important;line-height:1.62!important}
  .svc-exploded{padding:0 0 54px!important}
  .svc-engine,.svc-mobile-experience{display:none!important}
  .svc-mobile-deck{display:block!important;width:100%!important;padding:8px 0 0!important}
  .svc-mobile-deck-head{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:0 0 14px!important;border-bottom:1px solid rgba(255,255,255,.15)!important;color:#88847c!important;font:600 8px var(--mono)!important;letter-spacing:.14em!important}
  .svc-mobile-card{border-bottom:1px solid rgba(255,255,255,.14)!important;overflow:hidden!important}
  .svc-mobile-card-toggle{width:100%!important;min-height:82px!important;display:grid!important;grid-template-columns:34px 1fr 22px!important;gap:10px!important;align-items:center!important;padding:0!important;border:0!important;background:transparent!important;color:#f3efe7!important;text-align:left!important;cursor:pointer!important}
  .svc-mobile-card-index{font:600 10px var(--mono)!important;color:var(--champagne)!important}.svc-mobile-card-toggle strong{font:600 22px/1.04 var(--display)!important;letter-spacing:-.035em!important}.svc-mobile-card-toggle i{position:relative!important;width:18px!important;height:18px!important}.svc-mobile-card-toggle i::before,.svc-mobile-card-toggle i::after{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:14px!important;height:1px!important;background:#918d85!important;transition:transform .25s ease!important}.svc-mobile-card-toggle i::after{transform:rotate(90deg)!important}.svc-mobile-card.active .svc-mobile-card-toggle i::after{transform:rotate(0)!important}
  .svc-mobile-card-body{display:grid!important;grid-template-rows:0fr!important;opacity:0!important;transition:grid-template-rows .36s cubic-bezier(.2,.8,.2,1),opacity .25s ease!important}.svc-mobile-card-body>*{overflow:hidden!important}.svc-mobile-card.active .svc-mobile-card-body{grid-template-rows:auto!important;opacity:1!important;padding-bottom:24px!important}
  .svc-mobile-card figure{position:relative!important;margin:0 0 18px!important;aspect-ratio:16/10!important;overflow:hidden!important;background:#222!important}.svc-mobile-card figure img{width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(.75)!important}.svc-mobile-card figure::before{content:""!important;position:absolute!important;z-index:2!important;inset:12px!important;border:1px solid rgba(255,255,255,.28)!important;pointer-events:none!important}.svc-mobile-card figcaption{position:absolute!important;z-index:3!important;right:12px!important;bottom:12px!important;padding:6px 8px!important;background:#0b0d0b!important;color:var(--champagne)!important;font:600 8px var(--mono)!important;letter-spacing:.12em!important}
  .svc-mobile-card p{margin:0 0 18px!important;color:#bbb7af!important;font-size:14px!important;line-height:1.65!important}.svc-mobile-card-cta{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:52px!important;padding:0 15px!important;background:var(--champagne)!important;color:var(--ink)!important;font-size:13px!important;font-weight:700!important}
  .svc-scope-list button{min-height:80px!important;grid-template-columns:34px 1fr 20px!important;gap:10px!important;padding:14px 0!important}.svc-scope-list h3{font-size:21px!important}.svc-scope-list p{display:none!important}

  /* PROJECTS */
  .project-selector{min-height:0!important;padding:112px 0 48px!important}.project-selector-preview{opacity:.08!important}.project-selector-intro{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;margin-bottom:28px!important}.project-selector-intro h1{font-size:clamp(44px,13vw,62px)!important;line-height:.91!important}.project-selector-intro p{font-size:14px!important;line-height:1.6!important}.project-category-menu button{min-height:82px!important;grid-template-columns:30px 1fr 18px!important;gap:10px!important;padding:0!important}.project-category-menu button:hover,.project-category-menu button.active{padding-left:10px!important;padding-right:10px!important}.project-category-menu strong{font-size:clamp(21px,6.5vw,29px)!important}.project-gallery-section{padding-top:58px!important}.project-gallery-head{display:grid!important;gap:14px!important}.project-gallery-head h2{font-size:clamp(34px,10vw,46px)!important}.dc-project-grid{display:grid!important;grid-template-columns:1fr!important;gap:26px!important}.dc-project-card .project-media,.dc-project-card:nth-child(3n+1) .project-media{height:auto!important;aspect-ratio:4/3!important}.dc-project-meta{grid-template-columns:1fr!important;gap:5px!important}.dc-project-meta h3{font-size:23px!important}.dc-project-location{text-align:left!important}

  /* CONTACT: useful info first */
  .dc-contact-section{padding-top:48px!important}.dc-contact-grid{gap:26px!important}.dc-contact-panel{order:1!important}.dc-contact-visual{order:2!important}.dc-contact-panel-head h2{font-size:clamp(34px,10vw,46px)!important}.dc-contact-item{min-height:76px!important}.dc-contact-item strong{font-size:clamp(23px,7.5vw,32px)!important;overflow-wrap:anywhere!important}.dc-contact-consult{width:100%!important}

  /* FORM */
  .quote-section{padding-top:48px!important}.dc-quote-aside{position:relative!important;top:auto!important}.dc-quote-aside h2{font-size:clamp(34px,10vw,46px)!important}.dc-form fieldset{padding:22px 0 30px!important}.dc-form legend{font-size:21px!important}.choice-grid,.field-grid{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.choice-grid label span{min-height:54px!important;font-size:14px!important}.span-2{grid-column:auto!important}.field-grid input,.field-grid select,.field-grid textarea{font-size:16px!important;min-height:52px!important}.form-actions{display:grid!important;grid-template-columns:1fr!important;gap:13px!important}

  /* FOOTER */
  .dc-footer-callout{min-height:0!important;display:grid!important;grid-template-columns:1fr!important;gap:22px!important;padding-top:48px!important;padding-bottom:34px!important}.dc-footer-callout h2{font-size:clamp(34px,10vw,46px)!important;line-height:.96!important}.dc-footer-quote{min-height:104px!important;padding:16px!important}.dc-footer-quote strong{font-size:22px!important}.dc-footer-body{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;padding-top:30px!important;padding-bottom:26px!important}.dc-footer-signature{grid-column:auto!important}.dc-footer-signature a{width:min(255px,76vw)!important}.dc-footer-nav-v20>a{min-height:46px!important;font-size:13px!important}.dc-footer-contact-v20 strong{font-size:19px!important}.dc-footer-bottom-v20{display:grid!important;gap:6px!important}.dc-footer-stamp,.dc-easter,.dc-section-rail{display:none!important}
  body[data-current="quote"] .dc-footer-callout{display:none!important}

  /* MOBILE QUICK ACTION DOCK */
  .dc-mobile-dock{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:850!important;display:grid!important;grid-template-columns:.82fr 1.18fr!important;min-height:64px!important;padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right))!important;background:rgba(10,12,10,.97)!important;border-top:1px solid rgba(255,255,255,.12)!important;backdrop-filter:blur(16px)!important}.dc-mobile-dock a{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-height:48px!important;font-size:12px!important;font-weight:700!important}.dock-whatsapp{color:#f4efe7!important;border:1px solid rgba(255,255,255,.16)!important}.dock-consult{background:var(--champagne)!important;color:var(--ink)!important}
}

@media(max-width:380px){
  :root{--mobile-gutter:14px}
  .dc-logo{width:145px!important}
  .dc-mobile-nav>a:not(.mobile-consult){font-size:27px!important}
  .dc-hero-title,.dc-page-hero h1,.svc-hero h1,.project-selector-intro h1{font-size:43px!important}
  .svc-mobile-card-toggle strong{font-size:20px!important}
}

@media(hover:none),(pointer:coarse){
  .magnetic{translate:none!important}.dc-tilt-soft{transform:none!important}.svc-stack{animation:none!important}
}


/* V27.1 mobile accordion and duplicate-scope cleanup */
@media(max-width:760px){
  .svc-mobile-card-body{
    display:block!important;
    max-height:0!important;
    overflow:hidden!important;
    opacity:0!important;
    padding-bottom:0!important;
    transition:max-height .38s cubic-bezier(.2,.8,.2,1),opacity .22s ease,padding .3s ease!important;
  }
  .svc-mobile-card.active .svc-mobile-card-body{
    max-height:620px!important;
    opacity:1!important;
    padding-bottom:24px!important;
  }
  .svc-desktop-scope{display:none!important}
}


/* V28 — actual logo + genuine mobile-first rebuild */
.dc-logo img,
.dc-loader-logo-wrap img,
.dc-footer-brand img{display:block;width:100%;height:auto;object-fit:contain}

@media (max-width: 900px){
  :root{--mobile-shell:min(100% - 28px, 100%)}
  html,body{overflow-x:hidden!important}
  body{padding-bottom:86px!important}
  .dc-shell{width:var(--mobile-shell)!important}
  .dc-transition,.dc-scroll-progress,.dc-section-rail,
  .dc-easter,.dc-scale-note,.dc-datum,.dc-regmark,
  .svc-techmarks,.svc-grid,.svc-scanline,.dc-object-outline{display:none!important}

  .dc-loader-mark{width:min(250px,70vw)!important;height:auto!important;aspect-ratio:1.45/1!important;padding:18px!important;border-radius:22px!important;background:rgba(12,15,12,.84)!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 16px 44px rgba(0,0,0,.35)!important}
  .dc-loader-frame,.dc-loader-sweep{display:none!important}
  .dc-loader-logo-wrap{padding:0!important;background:transparent!important}

  .dc-header{position:sticky!important;top:0!important;background:rgba(10,12,10,.92)!important;backdrop-filter:blur(18px)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
  .dc-header-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;height:72px!important}
  .dc-logo{width:172px!important;max-width:172px!important}
  .dc-nav,.dc-header-cta{display:none!important}
  .dc-menu{display:grid!important;place-items:center!important;position:relative!important;width:46px!important;height:46px!important;padding:0!important;border:1px solid rgba(255,255,255,.14)!important;background:#111411!important;z-index:1005!important;border-radius:14px!important}
  .dc-menu i{position:absolute!important;left:12px!important;right:12px!important;height:1.5px!important;background:#f4efe7!important;transition:transform .25s ease,top .25s ease!important}
  .dc-menu i:first-child{top:17px!important}.dc-menu i:last-child{top:27px!important}
  .menu-open .dc-menu i:first-child{top:22px!important;transform:rotate(45deg)!important}
  .menu-open .dc-menu i:last-child{top:22px!important;transform:rotate(-45deg)!important}

  .dc-mobile-nav{position:fixed!important;left:0!important;right:0!important;top:72px!important;bottom:0!important;display:grid!important;align-content:start!important;gap:0!important;overflow:auto!important;padding:18px 16px calc(92px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#111411 0%,#0b0d0b 100%)!important;transform:translateY(-105%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:1003!important}
  .dc-mobile-nav-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 0 14px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;margin-bottom:6px!important}
  .dc-mobile-nav-head span{font:600 10px var(--mono)!important;letter-spacing:.16em!important;color:rgba(244,239,231,.55)!important}
  .dc-mobile-nav-head strong{font:600 16px/1 var(--display)!important;color:#f4efe7!important;letter-spacing:-.03em!important}
  .dc-mobile-nav a{padding:16px 0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;font:600 24px/1.02 var(--display)!important;color:#f4efe7!important}
  .dc-mobile-nav .mobile-consult{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-top:18px!important;padding:16px 18px!important;border:0!important;border-radius:18px!important;background:var(--champagne)!important;color:#121413!important;font:700 13px/1 var(--display)!important;letter-spacing:0!important}
  .dc-mobile-nav-meta{display:grid!important;gap:10px!important;padding-top:18px!important;margin-top:18px!important;border-top:1px solid rgba(255,255,255,.08)!important}
  .dc-mobile-nav-meta a{padding:0!important;border:0!important;font:500 12px/1.5 var(--mono)!important;letter-spacing:.08em!important;color:rgba(244,239,231,.78)!important}
  body.menu-open .dc-mobile-nav,.dc-mobile-nav.is-open{transform:translate3d(0,0,0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  body.menu-open{overflow:hidden!important}

  .dc-hero,.svc-hero,.dc-page-hero{padding:94px 0 46px!important;min-height:auto!important}
  .dc-hero-grid,.svc-hero-grid,.dc-intro-grid,.dc-split,.dc-about-story,.dc-contact-grid,.dc-quote-layout{grid-template-columns:1fr!important;gap:24px!important}
  .dc-hero-title,.svc-hero h1,.dc-page-hero h1,.dc-section-head h2,.dc-copy-block h2,.dc-about-story h2,.dc-contact-panel-head h2,.dc-quote-aside h2{font-size:clamp(32px,10.2vw,46px)!important;line-height:.97!important;letter-spacing:-.055em!important}
  .dc-hero-title{margin-bottom:12px!important}
  .dc-hero-title .outline{display:block}
  .dc-hero-text,.svc-hero p,.dc-page-hero p,.dc-copy-block p,.dc-about-story p,.dc-process-lead,.dc-project-intro,.dc-service-intro,.dc-quote-aside p,.dc-contact-panel p{font-size:15px!important;line-height:1.72!important;max-width:none!important}
  .dc-actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:stretch!important}
  .dc-button,.dc-text-link,.dc-footer-quote,.dc-contact-consult,.svc-mobile-card-cta,.svc-m-cta{min-height:54px!important}
  .dc-button,.dc-footer-quote,.dc-contact-consult,.svc-mobile-card-cta,.svc-m-cta{border-radius:16px!important}
  .dc-hero-object,.dc-image-frame,.dc-contact-photo,.dc-project-trio a,.dc-project-card .project-media{border-radius:18px!important;overflow:hidden!important}
  .dc-proof-line{margin-top:10px!important;display:flex!important;gap:12px!important;align-items:baseline!important}

  .dc-section{padding:48px 0!important}
  .dc-section-head{display:grid!important;gap:12px!important}
  .dc-section-head>div{margin-bottom:0!important}
  .dc-section-head a{justify-self:start!important}
  .dc-service-list,.svc-scope-list,.dc-process-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .dc-service-list a,.svc-scope-list button,.dc-process-grid article{padding:18px!important;border-radius:18px!important}
  .dc-mini-steps{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}

  .dc-project-trio{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:82%!important;gap:12px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;padding-bottom:4px!important}
  .dc-project-trio a{scroll-snap-align:start!important}
  .dc-project-trio::-webkit-scrollbar{display:none}

  .dc-footer-callout{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;padding:38px 0 24px!important}
  .dc-footer-callout-copy h2{font-size:clamp(32px,10vw,46px)!important;line-height:.95!important}
  .dc-footer-quote{width:100%!important;min-height:112px!important}
  .dc-footer-main{grid-template-columns:1fr!important;gap:24px!important}
  .dc-footer-brand img{max-width:220px!important;width:220px!important}

  .dc-contact-board{grid-template-columns:1fr!important;min-height:auto!important;border-radius:18px!important;overflow:hidden!important}
  .dc-contact-photo{order:2!important;min-height:300px!important}
  .dc-contact-panel{order:1!important;padding:28px 18px 24px!important}
  .dc-contact-item{padding:18px 0!important;min-height:0!important}
  .dc-contact-item strong{font-size:clamp(22px,7.2vw,30px)!important;overflow-wrap:anywhere!important}
  .dc-contact-consult{width:100%!important}

  .quote-section{padding-top:46px!important}.dc-quote-aside{position:relative!important;top:auto!important}
  .dc-form fieldset{padding:18px 0 24px!important}.dc-form legend{font-size:20px!important}
  .choice-grid,.field-grid{grid-template-columns:1fr!important;gap:10px!important}
  .field-grid input,.field-grid select,.field-grid textarea{font-size:16px!important;min-height:52px!important}
  .form-actions{grid-template-columns:1fr!important;gap:12px!important}

  .dc-mobile-dock{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:850!important;display:grid!important;grid-template-columns:.82fr 1.18fr!important;min-height:64px!important;padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right))!important;background:rgba(10,12,10,.97)!important;border-top:1px solid rgba(255,255,255,.12)!important;backdrop-filter:blur(16px)!important}
  .dc-mobile-dock a{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-height:48px!important;font-size:12px!important;font-weight:700!important;border-radius:14px!important}

  /* new mobile-only services experience */
  .svc-mobile-deck,.svc-engine,.svc-desktop-scope{display:none!important}
  .svc-mobile-showcase{display:block!important;padding:6px 0 30px!important}
  .svc-m-intro{display:grid!important;gap:10px!important;margin-bottom:14px!important}
  .svc-m-intro>span{font:600 10px var(--mono)!important;letter-spacing:.15em!important;color:var(--champagne)!important}
  .svc-m-intro h2{margin:0!important;font:600 clamp(29px,9vw,40px)/.98 var(--display)!important;letter-spacing:-.05em!important;color:#f4efe7!important}
  .svc-m-intro p{margin:0!important;color:#bbb7af!important;font-size:14px!important;line-height:1.7!important}
  .svc-m-pills{display:flex!important;gap:8px!important;overflow:auto!important;padding-bottom:2px!important;margin-bottom:14px!important;scrollbar-width:none!important}
  .svc-m-pills::-webkit-scrollbar{display:none!important}
  .svc-m-pills button{flex:0 0 auto!important;min-width:max-content!important;padding:11px 14px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.14)!important;background:#101310!important;color:#dbd6cd!important;font:600 12px/1 var(--display)!important}
  .svc-m-pills button.active{background:var(--champagne)!important;color:#131514!important;border-color:var(--champagne)!important}
  .svc-m-stage{border:1px solid rgba(255,255,255,.11)!important;border-radius:22px!important;background:linear-gradient(180deg,#111411 0%,#0b0d0b 100%)!important;overflow:hidden!important;box-shadow:0 20px 40px rgba(0,0,0,.24)!important}
  .svc-m-progress{height:2px!important;background:rgba(255,255,255,.08)!important}.svc-m-progress i{display:block!important;width:25%!important;height:100%!important;background:var(--champagne)!important;transition:width .3s ease!important}
  .svc-m-slide{display:none!important}.svc-m-slide.active{display:block!important;animation:fadeUp .28s ease both!important}
  .svc-m-media{position:relative!important;aspect-ratio:4/3!important;overflow:hidden!important;background:#171a17!important}
  .svc-m-media img{width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(.82)!important}
  .svc-m-media::before{content:""!important;position:absolute!important;inset:14px!important;border:1px solid rgba(255,255,255,.24)!important;pointer-events:none!important}
  .svc-m-stamp{position:absolute!important;left:14px!important;top:14px!important;z-index:3!important;padding:6px 9px!important;background:rgba(10,12,10,.82)!important;color:var(--champagne)!important;font:600 9px var(--mono)!important;letter-spacing:.14em!important;border-radius:999px!important}
  .svc-m-card{padding:18px!important}
  .svc-m-top{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:12px!important;margin-bottom:10px!important}
  .svc-m-top span{font:600 9px var(--mono)!important;letter-spacing:.14em!important;color:var(--champagne)!important}
  .svc-m-top b{font:600 13px/1.3 var(--mono)!important;letter-spacing:.11em!important;color:rgba(244,239,231,.72)!important;text-transform:uppercase!important;text-align:right!important}
  .svc-m-card h3{margin:0 0 10px!important;font:600 30px/.96 var(--display)!important;letter-spacing:-.05em!important;color:#f4efe7!important}
  .svc-m-card p{margin:0!important;color:#bbb7af!important;font-size:14px!important;line-height:1.7!important}
  .svc-m-points{list-style:none!important;display:grid!important;gap:8px!important;margin:16px 0 18px!important;padding:0!important}
  .svc-m-points li{position:relative!important;padding:12px 14px 12px 34px!important;border-radius:14px!important;background:rgba(255,255,255,.035)!important;color:#f0ece5!important;font-size:13px!important;line-height:1.35!important}
  .svc-m-points li::before{content:""!important;position:absolute!important;left:13px!important;top:50%!important;width:9px!important;height:9px!important;border-radius:50%!important;transform:translateY(-50%)!important;background:var(--champagne)!important;box-shadow:0 0 0 4px rgba(211,192,153,.12)!important}
  .svc-m-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .svc-m-cta{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 16px!important;background:var(--champagne)!important;color:#111411!important;font-size:13px!important;font-weight:700!important}
  .svc-m-controls{display:grid!important;grid-template-columns:70px 1fr 70px!important;align-items:center!important;gap:10px!important;padding:0 18px 18px!important}
  .svc-m-control{min-height:42px!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.12)!important;background:transparent!important;color:#f4efe7!important;font:600 12px/1 var(--display)!important}
  .svc-m-count{text-align:center!important;color:#8e8a84!important;font:600 10px var(--mono)!important;letter-spacing:.14em!important}
}

@media (max-width: 560px){
  .dc-logo{width:160px!important;max-width:160px!important}
  .dc-hero-title,.svc-hero h1,.dc-page-hero h1,.dc-section-head h2,.dc-copy-block h2,.dc-about-story h2,.dc-contact-panel-head h2,.dc-quote-aside h2{font-size:clamp(30px,10vw,40px)!important}
  .dc-project-trio{grid-auto-columns:88%!important}
  .svc-m-card h3{font-size:27px!important}
}


/* ================================================================
   V29 — client logo, refined arrows, clean transitions + projects
   ================================================================ */

/* exact client logo asset: preserve proportions everywhere */
.dc-logo img,.dc-loader-logo-wrap img,.dc-footer-signature img,.dc-footer-brand img{width:100%!important;height:auto!important;object-fit:contain!important;filter:none!important}

/* remove the old Duo Craft brown/text transition entirely */
.dc-transition{display:none!important}
body.is-leaving main,body.is-leaving footer,body.is-leaving .dc-header{opacity:0!important;transition:opacity .16s ease!important}

/* clean, consistent north-east arrow icon using an SVG mask */
.ui-arrow{display:inline-block!important;width:18px!important;height:18px!important;flex:0 0 18px!important;background:currentColor!important;font-size:0!important;line-height:0!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E") center/contain no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E") center/contain no-repeat!important}
.ui-arrow::before,.ui-arrow::after{content:none!important;display:none!important}
.ui-arrow-right{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M14 7l5 5-5 5'/%3E%3C/svg%3E") center/contain no-repeat!important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M14 7l5 5-5 5'/%3E%3C/svg%3E") center/contain no-repeat!important}

/* ---------- Refined project landing ---------- */
.project-hero-v29{position:relative;padding:150px 0 80px;background:#0d0f0d!important;overflow:hidden}
.project-hero-v29::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:88px 88px;pointer-events:none}
.project-hero-v29-shell{position:relative;z-index:1}
.project-hero-v29-copy{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);column-gap:72px;row-gap:14px;align-items:end;margin-bottom:54px}
.project-hero-v29-copy .dc-kicker{grid-column:1/-1;margin:0}
.project-hero-v29-copy h1{margin:0;font-size:clamp(52px,6vw,88px);line-height:.9;letter-spacing:-.055em!important;max-width:760px}
.project-hero-v29-copy h1 em{color:var(--champagne)}
.project-hero-v29-copy p{margin:0 0 7px;color:#b4afa7;font-size:15px;line-height:1.75;max-width:440px}

.project-browser-v29{display:grid;grid-template-columns:minmax(340px,.72fr) minmax(520px,1.28fr);gap:26px;align-items:stretch}
.project-category-v29{display:grid;align-content:stretch;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.project-category-v29 button{display:grid;grid-template-columns:38px minmax(0,1fr) auto 22px;align-items:center;gap:12px;min-height:118px;padding:0 4px;border:0;border-bottom:1px solid rgba(255,255,255,.10);background:transparent;color:#d5cdbc;text-align:left;cursor:pointer;transition:padding .25s ease,background .25s ease,color .25s ease}
.project-category-v29 button:last-child{border-bottom:0}
.project-category-v29 button>span{font:600 9px var(--mono);letter-spacing:.13em;color:#77736c}
.project-category-v29 strong{font:600 clamp(28px,2.6vw,40px)/.96 var(--display);letter-spacing:-.045em}
.project-category-v29 small{font:600 10px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#827a69}
.project-category-v29 button .ui-arrow{opacity:.45;color:var(--champagne);transition:transform .25s ease,opacity .25s ease}
.project-category-v29 button:hover,.project-category-v29 button.active{padding-left:16px;padding-right:14px;background:rgba(216,199,167,.08);color:#f4efe7}
.project-category-v29 button:hover .ui-arrow,.project-category-v29 button.active .ui-arrow{opacity:1;transform:translate(3px,-3px)}
.project-category-v29 button.active strong{color:var(--champagne)}

.project-preview-v29{display:grid;grid-template-rows:1fr auto;min-height:480px;border:1px solid rgba(255,255,255,.12);background:#151815;border-radius:20px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.25)}
.project-preview-v29-media{position:relative;min-height:390px;overflow:hidden}
.project-preview-v29-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.02);transition:opacity .18s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.project-preview-v29-media img.is-changing{opacity:.15;transform:scale(1.04)}
.project-preview-v29-frame{position:absolute;inset:18px;border:1px solid rgba(255,255,255,.28);pointer-events:none}
.project-preview-v29-index{position:absolute;top:18px;right:18px;padding:7px 9px;border-radius:999px;background:rgba(10,12,10,.8);color:var(--champagne);font:600 8px var(--mono);letter-spacing:.13em}
.project-preview-v29-meta{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:19px 20px;border-top:1px solid rgba(255,255,255,.10)}
.project-preview-v29-meta>div{display:grid;gap:5px}.project-preview-v29-meta span{font:600 8px var(--mono);letter-spacing:.14em;color:#77736c}.project-preview-v29-meta strong{font:600 22px/1 var(--display);letter-spacing:-.035em;color:#f3efe7}
.project-preview-v29-meta button{display:flex;align-items:center;gap:12px;min-height:44px;padding:0;border:0;border-bottom:1px solid rgba(216,199,167,.55);background:transparent;color:var(--champagne);font-weight:700;cursor:pointer}
.project-hero-v29-note{display:flex;align-items:center;gap:12px;margin-top:18px;color:#6f6b64;font:500 8px var(--mono);letter-spacing:.13em;text-transform:uppercase}.project-hero-v29-note i{width:40px;height:1px;background:#4d4a45}

.project-gallery-section-v29{display:none;padding-top:92px!important}.project-gallery-section-v29.is-active{display:block}
.project-gallery-head-v29{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end;margin-bottom:34px}
.project-gallery-head-v29>div>span{font:600 9px var(--mono);letter-spacing:.14em;color:var(--orange-deep)}
.project-gallery-head-v29 h2{margin:10px 0 0;font-size:clamp(38px,4vw,60px);line-height:.96}
.project-gallery-switcher-v29{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.project-gallery-switcher-v29 button{min-height:40px;padding:0 13px;border:1px solid var(--line);background:transparent;color:#666862;font-weight:700;font-size:11px;cursor:pointer}
.project-gallery-switcher-v29 button.active{background:var(--ink);color:#f4efe7;border-color:var(--ink)}
.project-grid-v29{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px 16px!important}
.project-card-v29 .project-media{height:auto!important;aspect-ratio:4/3!important;clip-path:none!important;border-radius:16px!important;overflow:hidden!important}
.project-card-v29 .project-media::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.26);pointer-events:none}
.project-card-v29 .project-ref{right:14px!important;top:14px!important;background:rgba(10,12,10,.78)!important;color:#f4efe7!important;padding:6px 8px!important;border-radius:999px!important;text-shadow:none!important}
.project-card-v29 .dc-project-meta{margin-top:13px!important}
.project-card-v29 .dc-project-meta h3{font-size:24px!important}
.project-card-v29 .dc-project-location{color:#77736c!important}

@media(max-width:900px){
  .project-hero-v29{padding:112px 0 50px}
  .project-hero-v29-copy{grid-template-columns:1fr;gap:14px;margin-bottom:30px}
  .project-hero-v29-copy h1{font-size:clamp(42px,12vw,58px);max-width:540px}
  .project-hero-v29-copy p{font-size:14px;max-width:none}
  .project-browser-v29{grid-template-columns:1fr;gap:14px}
  .project-category-v29{display:flex;gap:8px;overflow-x:auto;border:0;padding-bottom:2px;scrollbar-width:none}
  .project-category-v29::-webkit-scrollbar{display:none}
  .project-category-v29 button{flex:0 0 auto;grid-template-columns:auto;gap:4px;min-height:0;padding:12px 14px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:999px;background:#121512}
  .project-category-v29 button>span,.project-category-v29 button .ui-arrow{display:none!important}
  .project-category-v29 strong{font-size:14px;line-height:1}.project-category-v29 small{font-size:8px}.project-category-v29 button.active{background:var(--champagne);color:#111411;border-color:var(--champagne)!important}.project-category-v29 button.active small{color:#5c5447}
  .project-preview-v29{min-height:0;border-radius:18px}.project-preview-v29-media{min-height:0;aspect-ratio:4/3}.project-preview-v29-meta{grid-template-columns:1fr;gap:14px;padding:16px}.project-preview-v29-meta button{justify-self:start}
  .project-hero-v29-note{display:none}
  .project-gallery-section-v29{padding-top:56px!important}
  .project-gallery-head-v29{grid-template-columns:1fr;gap:18px}.project-gallery-switcher-v29{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.project-gallery-switcher-v29 button{flex:0 0 auto}
  .project-grid-v29{grid-template-columns:1fr!important;gap:24px!important}
}

/* ================================================================
   V30 — exact client logo + feedback sweep
   ================================================================ */

/* exact uploaded logo everywhere, with no distortion */
.dc-logo{width:232px!important}
.dc-logo img,
.dc-footer-signature img,
.dc-loader-logo-wrap img,
.dc-mobile-nav-brand img{width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important;filter:none!important;display:block!important}
.dc-footer-signature a{width:min(360px,100%)!important}
.dc-loader-logo-wrap{width:min(355px,72vw)!important}

/* mobile menu should use the real logo instead of text */
.dc-mobile-nav-head{align-items:flex-end!important;gap:14px!important}
.dc-mobile-nav-brand{display:block!important;width:min(165px,55vw)!important;flex:0 0 auto!important}
.dc-mobile-nav-head span{padding-bottom:4px!important}

/* tighten overall heading rhythm without making it cramped */
.dc-display,
.dc-hero-title,
.dc-page-hero h1,
.dc-section-head h2,
.dc-about-story h2,
.svc-info h2,
.dc-contact-panel-head h2,
.project-hero-v29-copy h1,
.project-gallery-head-v29 h2{
  letter-spacing:-.034em!important;
}

/* align lead paragraphs more cleanly under section heads */
.dc-service-intro,
.dc-project-intro,
.dc-process-lead{
  max-width:620px!important;
}

/* improve readability for the process section */
.dc-process-grid article>span{
  font-size:10px!important;
  font-weight:600!important;
  color:#736957!important;
}
.step-icon{
  width:42px!important;
  height:42px!important;
}
.dc-process-grid h3{font-size:25px!important}
.dc-process-grid p{font-size:12px!important;line-height:1.7!important}

/* better balance and readability on the animated services section */
.svc-tabs button>span{font-size:8px!important}
.svc-tabs small{font-size:8px!important;letter-spacing:.14em!important}
.svc-tabs b{font-size:12px!important;line-height:1.55!important}
.svc-info-number{font-size:8px!important}
.svc-info p{font-size:13px!important;line-height:1.72!important}

/* project selector: larger, cleaner and easier to read */
.project-category-v29 button>span{font-size:10px!important;color:#8d8578!important}
.project-category-v29 strong{font-size:clamp(31px,2.85vw,44px)!important;line-height:.96!important}
.project-category-v29 small{font-size:11px!important;letter-spacing:.14em!important;color:#9f967f!important}
.project-preview-v29-index{font-size:9px!important}
.project-preview-v29-meta span{font-size:9px!important}
.project-preview-v29-meta strong{font-size:24px!important}
.project-hero-v29-note{font-size:9px!important;color:#8a8477!important}
.project-gallery-head-v29>div>span{font-size:10px!important}
.project-gallery-switcher-v29 button{font-size:12px!important}

/* small utility labels across the site */
.dc-section-head>div,
.dc-eyebrow,
.dc-kicker,
.dc-contact-item small,
.dc-footer-nav-v20>span,
.dc-footer-contact-v20>span,
.dc-footer-contact-v20 small,
.dc-footer-bottom-v20,
.dc-footer-stamp{
  letter-spacing:.16em!important;
}
.dc-contact-item small{font-size:8px!important}
.dc-footer-bottom-v20{font-size:8px!important}
.dc-footer-stamp{font-size:7px!important}

/* contact page polish */
.dc-contact-item strong{letter-spacing:-.04em!important}

@media(max-width:900px){
  .dc-logo{width:188px!important}
  .dc-loader-logo-wrap{width:min(300px,76vw)!important}
  .dc-mobile-nav-brand{width:min(150px,52vw)!important}
  .project-category-v29 strong{font-size:15px!important}
  .project-category-v29 small{font-size:9px!important}
}

/* ================================================================
   V31 — HEADER + LOGO CORRECTION
   Exact uploaded logo, cropped only to remove transparent canvas.
   ================================================================ */

/* Header geometry: keep the logo, navigation and CTA on one clean baseline. */
.dc-header{
  overflow:visible!important;
}
.dc-header-inner{
  height:92px!important;
  grid-template-columns:260px minmax(0,1fr) 248px!important;
  gap:34px!important;
  align-items:center!important;
}

/* The actual logo is black artwork, so it must sit on a light backing when
   used in the dark header/footer. This does not alter the logo itself. */
.dc-logo{
  width:238px!important;
  max-width:238px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 10px 6px!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
  line-height:0!important;
}
.dc-logo img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
}

.dc-nav{
  justify-self:center!important;
  align-self:center!important;
  gap:38px!important;
  white-space:nowrap!important;
}
.dc-nav a{
  font-size:12px!important;
}

.dc-header-cta{
  justify-self:end!important;
  width:232px!important;
  min-height:56px!important;
  padding:0 18px!important;
  font-size:12px!important;
}

/* Footer/logo contexts are dark too; give the exact mark the same clean backing. */
.dc-footer-signature a{
  display:block!important;
  width:300px!important;
  max-width:100%!important;
  padding:9px 11px 8px!important;
  background:#fff!important;
  line-height:0!important;
}
.dc-footer-signature img{
  width:100%!important;
  height:auto!important;
  filter:none!important;
}

/* Logo-only loader: no inversion, no brown panel, just the actual mark. */
.dc-loader-mark{
  width:min(390px,74vw)!important;
  min-height:170px!important;
  padding:22px 26px!important;
  background:#fff!important;
  border:0!important;
  box-shadow:0 28px 80px rgba(0,0,0,.28)!important;
}
.dc-loader-logo-wrap{
  width:100%!important;
}
.dc-loader-logo-wrap img{
  width:100%!important;
  height:auto!important;
  filter:none!important;
}
.dc-loader-frame,
.dc-loader-sweep,
.dc-loader-mark::before,
.dc-loader-mark::after{
  display:none!important;
}

/* Mobile nav brand: same exact logo, readable on the dark menu. */
.dc-mobile-nav-brand{
  width:160px!important;
  padding:5px 7px!important;
  background:#fff!important;
  line-height:0!important;
}
.dc-mobile-nav-brand img{
  width:100%!important;
  height:auto!important;
  filter:none!important;
}

@media(max-width:1100px) and (min-width:901px){
  .dc-header-inner{
    grid-template-columns:220px minmax(0,1fr) 210px!important;
    gap:22px!important;
  }
  .dc-logo{width:210px!important;max-width:210px!important}
  .dc-nav{gap:24px!important}
  .dc-header-cta{width:200px!important}
}

@media(max-width:900px){
  .dc-header-inner{
    height:74px!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    gap:12px!important;
  }
  .dc-logo{
    width:174px!important;
    max-width:174px!important;
    padding:5px 7px 4px!important;
  }
  .dc-loader-mark{
    width:min(300px,78vw)!important;
    min-height:130px!important;
    padding:18px 20px!important;
    border-radius:0!important;
  }
  .dc-mobile-nav-brand{width:145px!important}
}

@media(max-width:380px){
  .dc-logo{width:160px!important;max-width:160px!important}
}

/* ================================================================
   V32 — WARM IVORY HEADER
   The logo is black artwork, so the header now becomes a light brand
   surface instead of placing a white logo panel inside a black bar.
   ================================================================ */
.dc-header{
  background:rgba(247,244,237,.97)!important;
  color:var(--ink)!important;
  border-bottom:1px solid rgba(16,18,16,.14)!important;
  backdrop-filter:blur(18px)!important;
  box-shadow:0 8px 30px rgba(16,18,16,.045)!important;
}
.dc-header-inner{
  height:88px!important;
  grid-template-columns:224px minmax(0,1fr) 220px!important;
  gap:30px!important;
}

/* The actual transparent logo can now sit directly on the header. */
.dc-logo{
  width:205px!important;
  max-width:205px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.dc-logo img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  filter:none!important;
}

.dc-nav{
  gap:36px!important;
}
.dc-nav a{
  color:#676a65!important;
  font-size:12px!important;
  font-weight:600!important;
}
.dc-nav a:hover,
.dc-nav a.active{
  color:#101210!important;
}
.dc-nav a:after{
  background:#b8a27b!important;
}

/* Stronger contrast than the beige-on-black button from the previous pass. */
.dc-header-cta{
  width:220px!important;
  min-height:52px!important;
  padding:0 18px!important;
  background:#101210!important;
  color:#f7f4ed!important;
  border:1px solid #101210!important;
}
.dc-header-cta:hover{
  background:#2a2d29!important;
}

/* Hamburger on the light mobile header. */
.dc-menu{
  border-color:rgba(16,18,16,.18)!important;
  background:rgba(16,18,16,.035)!important;
}
.dc-menu i{
  background:#101210!important;
}

/* Keep the footer logo readable on a dark surface. */
.dc-footer-signature a{
  background:#fff!important;
}

@media(max-width:1100px) and (min-width:901px){
  .dc-header-inner{
    height:84px!important;
    grid-template-columns:198px minmax(0,1fr) 188px!important;
    gap:20px!important;
  }
  .dc-logo{width:188px!important;max-width:188px!important}
  .dc-nav{gap:22px!important}
  .dc-header-cta{width:188px!important;min-height:50px!important}
}

@media(max-width:900px){
  .dc-header{
    background:rgba(247,244,237,.985)!important;
    border-bottom:1px solid rgba(16,18,16,.13)!important;
  }
  .dc-header-inner{
    height:72px!important;
    grid-template-columns:minmax(0,1fr) 46px!important;
  }
  .dc-logo{
    width:160px!important;
    max-width:160px!important;
    padding:0!important;
  }
  .dc-menu{
    width:46px!important;
    height:46px!important;
  }
}

@media(max-width:380px){
  .dc-logo{width:150px!important;max-width:150px!important}
}


/* ================================================================
   V33 — refined palette + mobile consistency pass
   ================================================================ */
:root{
  --v33-ink:#171916;
  --v33-ink-soft:#252822;
  --v33-paper:#f1ece3;
  --v33-paper-2:#e6ded2;
  --v33-brass:#b79f76;
  --v33-line:rgba(23,25,22,.15);
}

/* Loader: no white card, the logo sits directly on a warm brand surface. */
.dc-loader{background:var(--v33-paper)!important}
.dc-loader-mark{width:min(350px,72vw)!important;min-height:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.dc-loader-logo-wrap{width:100%!important;padding:0!important;background:transparent!important}
.dc-loader-logo-wrap img{filter:none!important}
.dc-loader-mark::after{content:"";display:block!important;width:82px;height:2px;margin:20px auto 0;background:var(--v33-ink);transform-origin:left;animation:v33LoadLine .8s ease .18s both}
@keyframes v33LoadLine{from{transform:scaleX(0);opacity:.2}to{transform:scaleX(1);opacity:1}}

/* Header + landing use one coherent warm editorial palette. */
.dc-header{background:rgba(241,236,227,.97)!important;border-bottom:1px solid var(--v33-line)!important;box-shadow:none!important}
.dc-nav a{color:#666862!important}.dc-nav a.active,.dc-nav a:hover{color:var(--v33-ink)!important}.dc-nav a:after{background:var(--v33-brass)!important}
.dc-header-cta{background:var(--v33-ink)!important;color:#f6f1e9!important;border-color:var(--v33-ink)!important}

body[data-current="home"] .dc-hero{background:var(--v33-paper)!important;color:var(--v33-ink)!important;min-height:calc(100svh - 88px)!important;padding:118px 0 76px!important}
body[data-current="home"] .dc-hero::before{content:""!important;position:absolute!important;inset:0!important;background-image:linear-gradient(rgba(23,25,22,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(23,25,22,.045) 1px,transparent 1px)!important;background-size:96px 96px!important;pointer-events:none!important}
body[data-current="home"] .dc-hero::after{content:""!important;position:absolute!important;right:-16vw!important;top:-30vw!important;width:62vw!important;max-width:900px!important;aspect-ratio:1!important;border:1px solid rgba(23,25,22,.08)!important;border-radius:50%!important;pointer-events:none!important}
body[data-current="home"] .dc-hero-grid{position:relative!important;z-index:1!important;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr)!important;gap:72px!important;align-items:center!important}
.home-hero-kicker{display:flex;align-items:center;gap:11px;margin-bottom:23px;color:#655d50;font:600 9px var(--mono);letter-spacing:.16em;text-transform:uppercase}.home-hero-kicker i{width:42px;height:1px;background:var(--v33-brass)}
body[data-current="home"] .dc-hero-title{font-size:clamp(62px,6vw,98px)!important;line-height:.88!important;letter-spacing:-.055em!important;color:var(--v33-ink)!important}
body[data-current="home"] .dc-hero-title .outline{color:var(--v33-brass)!important;-webkit-text-stroke:0!important;text-stroke:0!important}
body[data-current="home"] .dc-hero-text{color:#61645f!important;max-width:610px!important;font-size:15px!important;line-height:1.75!important}
body[data-current="home"] .dc-button.champagne{background:var(--v33-ink)!important;color:#f7f3ec!important;border-radius:0!important}
body[data-current="home"] .dc-text-link{color:var(--v33-ink)!important}
body[data-current="home"] .dc-proof-line{width:max-content!important;margin-top:32px!important;padding:13px 16px!important;border:1px solid var(--v33-line)!important;background:rgba(255,255,255,.34)!important;color:var(--v33-ink)!important}
body[data-current="home"] .dc-proof-line strong{color:var(--v33-ink)!important}
body[data-current="home"] .dc-proof-line span{color:#666862!important}
body[data-current="home"] .dc-hero-object{min-height:560px!important}
body[data-current="home"] .dc-hero-photo{inset:3% 1% 3% 5%!important;clip-path:polygon(0 0,92% 0,100% 10%,100% 100%,0 100%)!important;border:1px solid rgba(23,25,22,.16)!important;box-shadow:0 30px 80px rgba(23,25,22,.14)!important}
body[data-current="home"] .dc-object-outline{inset:0 0 0 0!important;border-color:rgba(183,159,118,.42)!important;clip-path:none!important}
.home-image-meta{position:absolute;z-index:5;left:0;bottom:14px;display:grid;gap:5px;padding:14px 16px;background:var(--v33-ink);color:#f4efe7;border:1px solid rgba(255,255,255,.08)}.home-image-meta span{font:600 8px var(--mono);letter-spacing:.15em;color:var(--v33-brass)}.home-image-meta strong{font:600 20px var(--display);letter-spacing:-.04em}

/* make light sections feel related to the new hero */
.dc-titanium{background:var(--v33-paper-2)!important}.dc-light{background:var(--v33-paper)!important}.dc-section-head h2{color:var(--v33-ink)}

/* hide all mobile-only service/project variants on desktop */
.svc-mobile-showcase,.svc-mobile-deck,.svc-mobile-experience,.svc-mobile-v33,.projects-mobile-v33{display:none}

@media(max-width:900px){
  /* one consistent mobile system across the whole site */
  body{background:var(--v33-paper)!important}
  body:not(.menu-open){padding-bottom:76px!important}
  .dc-shell{width:calc(100% - 28px)!important}
  .dc-header{background:rgba(241,236,227,.98)!important}
  .dc-header-inner{height:70px!important}.dc-logo{width:154px!important;max-width:154px!important}.dc-menu{border-radius:0!important;background:transparent!important;border-color:rgba(23,25,22,.18)!important}
  .dc-mobile-nav{background:var(--v33-paper)!important;color:var(--v33-ink)!important;top:70px!important}
  .dc-mobile-nav a{color:var(--v33-ink)!important;border-color:rgba(23,25,22,.10)!important}.dc-mobile-nav-head{border-color:rgba(23,25,22,.10)!important}.dc-mobile-nav-head span,.dc-mobile-nav-meta a{color:#656862!important}.dc-mobile-nav .mobile-consult{background:var(--v33-ink)!important;color:#f7f3ec!important;border-radius:0!important}
  .dc-mobile-dock{background:rgba(23,25,22,.98)!important;border-top:0!important}.dc-mobile-dock a{border-radius:0!important}.dock-consult{background:var(--v33-brass)!important;color:var(--v33-ink)!important}.dock-whatsapp{color:#f4efe7!important}

  /* all page heroes are now warm/light on mobile */
  .svc-hero,.dc-page-hero{background:var(--v33-paper)!important;color:var(--v33-ink)!important;padding:98px 0 36px!important}.svc-hero em,.dc-page-hero em{color:var(--v33-brass)!important}.svc-hero p,.dc-page-hero p{color:#62655f!important}
  .dc-kicker{color:#6b6254!important}

  /* home mobile */
  body[data-current="home"] .dc-hero{min-height:auto!important;padding:96px 0 42px!important}
  body[data-current="home"] .dc-hero-grid{grid-template-columns:1fr!important;gap:30px!important}
  .home-hero-kicker{margin-bottom:17px;font-size:8px!important}.home-hero-kicker i{width:28px}
  body[data-current="home"] .dc-hero-title{font-size:clamp(48px,14vw,68px)!important;line-height:.9!important}
  body[data-current="home"] .dc-hero-text{font-size:14px!important;line-height:1.7!important}
  body[data-current="home"] .dc-actions{grid-template-columns:1fr!important}
  body[data-current="home"] .dc-hero-object{min-height:0!important;aspect-ratio:1/1!important}
  body[data-current="home"] .dc-hero-photo{inset:0!important;clip-path:polygon(0 0,91% 0,100% 9%,100% 100%,0 100%)!important}
  .home-image-meta{left:10px;bottom:10px;padding:11px 12px}.home-image-meta strong{font-size:17px}
  body[data-current="home"] .dc-proof-line{margin-top:18px!important}

  /* kill all legacy mobile services variants and expose one purpose-built version */
  .svc-mobile-showcase,.svc-mobile-deck,.svc-mobile-experience,.svc-exploded,.svc-desktop-scope{display:none!important}
  .svc-mobile-v33{display:block!important;background:var(--v33-paper)!important;padding:10px 0 48px!important}
  .mobile-section-heading{display:grid;gap:9px;margin-bottom:22px}.mobile-section-heading>span{font:600 9px var(--mono);letter-spacing:.16em;color:#6d6454}.mobile-section-heading h1,.mobile-section-heading h2{margin:0;color:var(--v33-ink);font:600 clamp(34px,10.5vw,46px)/.95 var(--display);letter-spacing:-.055em}.mobile-section-heading p{margin:0;color:#63665f;font-size:14px;line-height:1.68}
  .svc33-list{display:grid;gap:10px}.svc33-item{border:1px solid var(--v33-line);background:#f8f4ed;overflow:hidden}.svc33-toggle{width:100%;display:grid;grid-template-columns:36px 1fr 22px;align-items:center;gap:10px;min-height:74px;padding:0 14px;border:0;background:transparent;text-align:left;color:var(--v33-ink)}.svc33-toggle span{font:600 10px var(--mono);color:#857968}.svc33-toggle strong{font:600 20px/1.05 var(--display);letter-spacing:-.035em}.svc33-toggle i{position:relative;width:18px;height:18px}.svc33-toggle i::before,.svc33-toggle i::after{content:"";position:absolute;left:50%;top:50%;background:var(--v33-ink);transform:translate(-50%,-50%);transition:transform .25s ease}.svc33-toggle i::before{width:14px;height:1px}.svc33-toggle i::after{width:1px;height:14px}.svc33-item.active .svc33-toggle i::after{transform:translate(-50%,-50%) scaleY(0)}.svc33-body{display:none;padding:0 14px 14px}.svc33-item.active .svc33-body{display:grid;gap:14px;animation:fadeUp .25s ease both}.svc33-body figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#ddd}.svc33-body img{width:100%;height:100%;object-fit:cover}.svc33-body p{margin:0;color:#62655f;font-size:14px;line-height:1.68}.svc33-tags{display:flex;gap:7px;flex-wrap:wrap}.svc33-tags span{padding:8px 10px;border:1px solid var(--v33-line);font:600 9px var(--mono);letter-spacing:.08em;color:#66645f;background:var(--v33-paper)}.svc33-cta{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 14px;background:var(--v33-ink);color:#f6f1e9;font-size:13px;font-weight:700}

  /* mobile projects: independent, obvious and touch-first */
  .project-hero-v29,.project-gallery-section-v29{display:none!important}.projects-mobile-v33{display:block!important;background:var(--v33-paper)!important;padding:98px 0 50px!important}.pm33-categories{display:grid;gap:12px;margin-top:22px}.pm33-card{position:relative;display:block;width:100%;height:220px;padding:0;border:0;background:#1c1f1a;overflow:hidden;text-align:left;color:white}.pm33-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.72))}.pm33-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform .45s ease}.pm33-card.active img{transform:scale(1.035)}.pm33-index{position:absolute;z-index:2;left:14px;top:14px;padding:6px 8px;background:rgba(20,22,19,.82);font:600 9px var(--mono);letter-spacing:.12em;color:#d6c39e}.pm33-card>div{position:absolute;z-index:2;left:15px;right:50px;bottom:15px;display:grid;gap:3px}.pm33-card small{font:600 8px var(--mono);letter-spacing:.14em;color:#d0c9bf}.pm33-card strong{font:600 28px/.95 var(--display);letter-spacing:-.045em}.pm33-card b{font:600 12px var(--mono);letter-spacing:.12em;color:#d6c39e;text-transform:uppercase}.pm33-card>.ui-arrow{position:absolute;z-index:2;right:18px;bottom:20px;color:white}.pm33-gallery-wrap{margin-top:30px}.pm33-gallery-head{display:grid;gap:7px;margin-bottom:14px}.pm33-gallery-head span{font:600 8px var(--mono);letter-spacing:.15em;color:#756b5a}.pm33-gallery-head strong{font:600 24px/1 var(--display);letter-spacing:-.04em;color:var(--v33-ink)}.pm33-gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pm33-project{display:grid;gap:7px}.pm33-project img{width:100%;aspect-ratio:1/1;object-fit:cover}.pm33-project span{font:600 9px var(--mono);letter-spacing:.08em;color:#6c6e69}.pm33-project b{font:600 13px/1.1 var(--display);color:var(--v33-ink)}

  /* mobile section and footer consistency */
  .dc-section{padding:44px 0!important}.dc-section-head h2,.dc-copy-block h2,.dc-about-story h2,.dc-contact-panel-head h2,.dc-quote-aside h2{font-size:clamp(32px,9.5vw,42px)!important;line-height:.98!important}.dc-service-list a,.dc-process-grid article{background:#f8f4ed!important;border:1px solid var(--v33-line)!important;border-radius:0!important}.dc-footer-callout h2{font-size:clamp(32px,10vw,44px)!important}.dc-footer-quote{border-radius:0!important}.dc-footer-signature a{background:var(--v33-paper)!important}
}

@media(max-width:430px){.pm33-card{height:200px}.pm33-gallery{grid-template-columns:1fr 1fr}.dc-logo{width:148px!important;max-width:148px!important}}

/* ================================================================
   V34 — dark landing + unified mobile system
   ================================================================ */
:root{
  --v34-ink:#0c0f0c;
  --v34-ink-2:#141713;
  --v34-paper:#f1ede5;
  --v34-paper-2:#e7dfd4;
  --v34-brass:#d6c39d;
  --v34-line:rgba(255,255,255,.11);
  --v34-muted:#aca79e;
}

/* ---------- desktop header now matches the black landing ---------- */
.dc-header{
  background:rgba(12,15,12,.97)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  box-shadow:none!important;
}
.dc-header-inner{height:92px!important}
.dc-logo{
  display:flex!important;
  align-items:center!important;
  width:235px!important;
  padding:10px 12px!important;
  background:var(--v34-paper)!important;
  border:1px solid rgba(214,195,157,.24)!important;
}
.dc-logo img{width:100%!important;height:auto!important;display:block!important;filter:none!important}
.dc-nav a{color:#aaa69e!important}
.dc-nav a:hover,.dc-nav a.active{color:#f5f0e8!important}
.dc-nav a.active::after{background:var(--v34-brass)!important}
.dc-header-cta{background:var(--v34-brass)!important;color:var(--v34-ink)!important;border-color:var(--v34-brass)!important}
.dc-header-cta:hover{background:#e0cfad!important}

/* ---------- loader: same brand logic, no random white block ---------- */
.dc-loader{background:var(--v34-ink)!important}
.dc-loader-mark{background:transparent!important;border:0!important;box-shadow:none!important}
.dc-loader-logo-wrap{
  width:min(360px,72vw)!important;
  padding:18px 20px!important;
  background:var(--v34-paper)!important;
  border:1px solid rgba(214,195,157,.32)!important;
}
.dc-loader-logo-wrap img{filter:none!important}
.dc-loader-frame,.dc-loader-sweep{display:none!important}

/* ---------- restore/improve the black homepage ---------- */
body[data-current="home"] .dc-hero{
  background:var(--v34-ink)!important;
  color:#f5f0e8!important;
  min-height:calc(100svh - 92px)!important;
  padding:118px 0 76px!important;
}
body[data-current="home"] .dc-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px)!important;
  background-size:110px 110px!important;
  pointer-events:none!important;
}
body[data-current="home"] .dc-hero::after{
  content:""!important;
  position:absolute!important;
  right:-13vw!important;
  top:-25vw!important;
  width:min(62vw,900px)!important;
  aspect-ratio:1!important;
  border:1px solid rgba(214,195,157,.12)!important;
  border-radius:50%!important;
  pointer-events:none!important;
}
body[data-current="home"] .dc-hero-grid{position:relative!important;z-index:1!important;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr)!important;gap:72px!important;align-items:center!important}
body[data-current="home"] .dc-hero-title{color:#f5f0e8!important;font-size:clamp(62px,6vw,98px)!important;line-height:.88!important;letter-spacing:-.045em!important}
body[data-current="home"] .dc-hero-title .outline{color:var(--v34-brass)!important;-webkit-text-stroke:0!important;text-stroke:0!important}
body[data-current="home"] .dc-hero-text{color:#b5b0a8!important;max-width:610px!important;font-size:15px!important;line-height:1.75!important}
body[data-current="home"] .dc-button.champagne{background:var(--v34-brass)!important;color:var(--v34-ink)!important}
body[data-current="home"] .dc-text-link{color:#f2eee7!important;border-color:rgba(255,255,255,.35)!important}
body[data-current="home"] .dc-proof-line{color:#ded8cf!important}
body[data-current="home"] .dc-hero-object{min-height:560px!important}
body[data-current="home"] .dc-hero-photo{inset:3% 1% 3% 5%!important;clip-path:polygon(0 0,92% 0,100% 10%,100% 100%,0 100%)!important;border:1px solid rgba(214,195,157,.30)!important;box-shadow:0 30px 80px rgba(0,0,0,.32)!important}

/* new v34 mobile-only experiences hidden on desktop */
.svc-mobile-v34,.projects-mobile-v34{display:none}

/* ---------- unified mobile system ---------- */
@media(max-width:900px){
  :root{--mobile-gutter:16px}
  html,body{overflow-x:hidden!important;background:var(--v34-paper)!important}
  body{padding-bottom:70px!important}
  .dc-shell{width:calc(100% - (var(--mobile-gutter)*2))!important}

  /* header */
  .dc-header{height:70px!important;background:rgba(12,15,12,.98)!important;border-bottom:1px solid rgba(255,255,255,.10)!important;backdrop-filter:blur(16px)!important}
  .dc-header-inner{height:70px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
  .dc-logo{width:170px!important;max-width:170px!important;padding:7px 8px!important;background:var(--v34-paper)!important;border-color:rgba(214,195,157,.24)!important}
  .dc-nav,.dc-header-cta{display:none!important}
  .dc-menu{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;padding:0!important;border:1px solid rgba(255,255,255,.14)!important;background:transparent!important;border-radius:14px!important}
  .dc-menu i{background:#f4efe7!important}

  /* mobile menu: dark, readable, one logo only */
  .dc-mobile-nav{position:fixed!important;inset:70px 0 0!important;z-index:1000!important;display:flex!important;flex-direction:column!important;padding:18px var(--mobile-gutter) calc(28px + env(safe-area-inset-bottom))!important;background:var(--v34-ink)!important;color:#f4efe7!important;transform:translate3d(100%,0,0)!important;opacity:1!important;visibility:hidden!important;pointer-events:none!important;transition:transform .34s cubic-bezier(.22,.85,.24,1),visibility .34s!important;overflow-y:auto!important}
  .menu-open .dc-mobile-nav,.dc-mobile-nav.is-open{transform:translate3d(0,0,0)!important;visibility:visible!important;pointer-events:auto!important}
  .dc-mobile-nav-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 0 14px!important;margin-bottom:4px!important;border-bottom:1px solid rgba(255,255,255,.10)!important}
  .dc-mobile-nav-head span{font:600 9px var(--mono)!important;letter-spacing:.16em!important;color:#8f8a82!important}
  .dc-mobile-nav-head strong{font:600 15px/1 var(--display)!important;letter-spacing:-.03em!important;color:#f4efe7!important}
  .dc-mobile-nav>a:not(.mobile-consult){display:flex!important;align-items:center!important;min-height:58px!important;padding:0!important;border-bottom:1px solid rgba(255,255,255,.09)!important;color:#f4efe7!important;font:600 27px/1 var(--display)!important;letter-spacing:-.045em!important}
  .dc-mobile-nav>a:not(.mobile-consult)::after{content:""!important;margin-left:auto!important;width:7px!important;height:7px!important;border-top:1px solid #8d887f!important;border-right:1px solid #8d887f!important;transform:rotate(45deg)!important}
  .dc-mobile-nav .mobile-consult{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:56px!important;margin-top:18px!important;padding:0 16px!important;background:var(--v34-brass)!important;color:var(--v34-ink)!important;border:0!important;border-radius:14px!important;font:700 13px/1 var(--body)!important}
  .dc-mobile-nav-meta{display:grid!important;gap:10px!important;padding-top:18px!important;margin-top:18px!important;border-top:1px solid rgba(255,255,255,.08)!important}
  .dc-mobile-nav-meta a{padding:0!important;border:0!important;color:#a7a29a!important;font:500 11px/1.45 var(--mono)!important;letter-spacing:.08em!important}
  body.menu-open{overflow:hidden!important}

  /* consistent page hero system */
  .dc-page-hero,.svc-hero{min-height:auto!important;padding:102px 0 46px!important;background:var(--v34-ink)!important;color:#f4efe7!important}
  .dc-page-hero h1,.svc-hero h1{color:#f4efe7!important;font-size:clamp(42px,12.8vw,58px)!important;line-height:.91!important;letter-spacing:-.05em!important}
  .dc-page-hero p,.svc-hero p{color:#b4afa7!important;font-size:14px!important;line-height:1.68!important}
  .dc-kicker,.dc-eyebrow{color:var(--v34-brass)!important}

  /* homepage mobile */
  body[data-current="home"] .dc-hero{min-height:auto!important;padding:102px 0 44px!important;background:var(--v34-ink)!important}
  body[data-current="home"] .dc-hero-grid{grid-template-columns:1fr!important;gap:28px!important}
  body[data-current="home"] .dc-hero-title{font-size:clamp(48px,14vw,66px)!important;line-height:.9!important}
  body[data-current="home"] .dc-hero-text{font-size:14px!important;line-height:1.7!important}
  body[data-current="home"] .dc-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  body[data-current="home"] .dc-button,body[data-current="home"] .dc-text-link{width:100%!important;min-height:54px!important}
  body[data-current="home"] .dc-text-link{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 2px!important}
  body[data-current="home"] .dc-hero-object{min-height:0!important;aspect-ratio:4/3!important}
  body[data-current="home"] .dc-hero-photo{inset:0!important;clip-path:polygon(0 0,91% 0,100% 9%,100% 100%,0 100%)!important}

  /* shared mobile section spacing */
  .dc-section{padding:48px 0!important}
  .dc-section-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-bottom:22px!important}
  .dc-section-head h2,.dc-copy-block h2,.dc-about-story h2,.dc-contact-panel-head h2,.dc-quote-aside h2{font-size:clamp(32px,9.5vw,44px)!important;line-height:.97!important;letter-spacing:-.05em!important}
  .dc-service-intro,.dc-project-intro,.dc-process-lead,.dc-copy-block p,.dc-about-story p,.dc-quote-aside p{margin-left:0!important;max-width:none!important;font-size:14px!important;line-height:1.7!important}
  .dc-service-list,.dc-process-grid,.dc-mini-steps{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .dc-service-list>a,.dc-process-grid article{padding:18px!important;border:1px solid rgba(16,18,16,.12)!important;background:#f7f3ec!important;border-radius:16px!important}
  .dc-service-list p{display:none!important}
  .dc-split,.dc-about-story,.dc-contact-grid,.dc-quote-layout{grid-template-columns:1fr!important;gap:28px!important}

  /* SERVICES: hide every legacy mobile implementation and use v34 */
  .svc-mobile-showcase,.svc-mobile-deck,.svc-mobile-experience,.svc-mobile-v33,.svc-exploded,.svc-desktop-scope{display:none!important}
  .svc-mobile-v34{display:block!important;padding:98px 0 46px!important;background:var(--v34-ink)!important;color:#f4efe7!important}

  /* PROJECTS: same language as services */
  .project-hero-v29,.project-gallery-section-v29,.projects-mobile-v33{display:none!important}
  .projects-mobile-v34{display:block!important;padding:98px 0 46px!important;background:var(--v34-ink)!important;color:#f4efe7!important}

  .v34-mobile-intro{display:grid!important;gap:9px!important;margin-bottom:20px!important}
  .v34-mobile-intro>span{font:600 9px var(--mono)!important;letter-spacing:.16em!important;color:var(--v34-brass)!important}
  .v34-mobile-intro h1{margin:0!important;font:600 clamp(36px,10.8vw,48px)/.94 var(--display)!important;letter-spacing:-.055em!important;color:#f4efe7!important}
  .v34-mobile-intro p{margin:0!important;color:#aaa69e!important;font-size:14px!important;line-height:1.68!important}

  .v34-tabs{display:flex!important;gap:8px!important;overflow-x:auto!important;scrollbar-width:none!important;padding:0 0 4px!important;margin-bottom:14px!important;scroll-snap-type:x proximity!important}
  .v34-tabs::-webkit-scrollbar{display:none!important}
  .v34-tabs button{flex:0 0 auto!important;min-height:42px!important;padding:0 14px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:999px!important;background:transparent!important;color:#c7c2b9!important;font:600 12px/1 var(--display)!important;scroll-snap-align:start!important}
  .v34-tabs button.active{background:var(--v34-brass)!important;color:var(--v34-ink)!important;border-color:var(--v34-brass)!important}

  .v34-showcase{overflow:hidden!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:20px!important;background:var(--v34-ink-2)!important;box-shadow:0 24px 56px rgba(0,0,0,.28)!important}
  .v34-showcase-media{position:relative!important;aspect-ratio:4/3!important;overflow:hidden!important;background:#1a1d19!important}
  .v34-showcase-media img{width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(.78) contrast(1.02)!important;transition:opacity .2s ease,transform .45s ease!important}
  .v34-showcase-media.is-changing img{opacity:.18!important;transform:scale(1.04)!important}
  .v34-showcase-frame{position:absolute!important;inset:13px!important;border:1px solid rgba(255,255,255,.24)!important;pointer-events:none!important}
  .v34-showcase-index,.v34-showcase-code{position:absolute!important;z-index:2!important;padding:6px 8px!important;border-radius:999px!important;background:rgba(10,12,10,.80)!important;color:var(--v34-brass)!important;font:600 8px var(--mono)!important;letter-spacing:.12em!important}
  .v34-showcase-index{top:14px!important;right:14px!important}.v34-showcase-code{left:14px!important;bottom:14px!important}
  .v34-showcase-copy{padding:18px!important}
  .v34-showcase-kicker{display:block!important;margin-bottom:8px!important;font:600 8px var(--mono)!important;letter-spacing:.14em!important;color:var(--v34-brass)!important}
  .v34-showcase-copy h2{margin:0 0 10px!important;font:600 30px/.96 var(--display)!important;letter-spacing:-.05em!important;color:#f4efe7!important}
  .v34-showcase-copy p{margin:0!important;color:#b3aea6!important;font-size:14px!important;line-height:1.68!important}
  .v34-chip-row{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:16px 0!important}
  .v34-chip-row span{padding:8px 10px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:999px!important;color:#d4cfc7!important;font:600 10px/1 var(--mono)!important;letter-spacing:.07em!important}
  .v34-primary-action{width:100%!important;min-height:52px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 15px!important;border:0!important;border-radius:14px!important;background:var(--v34-brass)!important;color:var(--v34-ink)!important;font-size:13px!important;font-weight:700!important}
  button.v34-primary-action{font-family:var(--body)!important;cursor:pointer!important}
  .v34-controls{display:grid!important;grid-template-columns:74px 1fr 74px!important;gap:8px!important;align-items:center!important;margin-top:12px!important}
  .v34-controls button{min-height:42px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:13px!important;background:transparent!important;color:#f4efe7!important;font:600 11px/1 var(--display)!important}
  .v34-controls span{text-align:center!important;color:#817d75!important;font:600 9px var(--mono)!important;letter-spacing:.13em!important}

  /* mobile project gallery is horizontal and readable, not tiny two-column */
  .v34-project-gallery-wrap{margin-top:28px!important;padding-top:24px!important;border-top:1px solid rgba(255,255,255,.10)!important}
  .v34-project-gallery-head{display:grid!important;gap:5px!important;margin-bottom:12px!important}.v34-project-gallery-head span{font:600 8px var(--mono)!important;letter-spacing:.14em!important;color:#78746d!important}.v34-project-gallery-head strong{font:600 22px/1.05 var(--display)!important;letter-spacing:-.04em!important;color:#f4efe7!important}
  .v34-project-gallery{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:82%!important;gap:10px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;padding-bottom:4px!important}
  .v34-project-gallery::-webkit-scrollbar{display:none!important}
  .v34-project-item{scroll-snap-align:start!important;display:grid!important;gap:8px!important}.v34-project-item img{width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important;border-radius:15px!important}.v34-project-item span{font:600 8px var(--mono)!important;letter-spacing:.12em!important;color:#77736c!important}.v34-project-item b{font:600 16px/1.15 var(--display)!important;color:#f4efe7!important}

  /* contact / quote */
  .dc-contact-board{grid-template-columns:1fr!important;min-height:auto!important;border-radius:18px!important;overflow:hidden!important}.dc-contact-panel{order:1!important;padding:26px 18px!important}.dc-contact-photo{order:2!important;min-height:280px!important}.dc-contact-item{padding:16px 0!important}.dc-contact-item strong{font-size:clamp(23px,7vw,30px)!important;overflow-wrap:anywhere!important}
  .quote-section{padding-top:46px!important}.dc-quote-aside{position:relative!important;top:auto!important}.choice-grid,.field-grid{grid-template-columns:1fr!important}.field-grid input,.field-grid select,.field-grid textarea{font-size:16px!important;min-height:52px!important}.form-actions{grid-template-columns:1fr!important;gap:10px!important}

  /* footer / bottom dock */
  .dc-footer-callout{grid-template-columns:1fr!important;gap:16px!important;padding:42px 0 26px!important}.dc-footer-callout h2{font-size:clamp(34px,10vw,46px)!important}.dc-footer-body{grid-template-columns:1fr!important;gap:28px!important}.dc-footer-signature a{width:min(250px,75vw)!important}.dc-footer-nav-v20>a{min-height:46px!important;font-size:13px!important}.dc-footer-contact-v20 strong{font-size:20px!important}
  .dc-mobile-dock{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:900!important;display:grid!important;grid-template-columns:.85fr 1.15fr!important;padding:7px 9px calc(7px + env(safe-area-inset-bottom))!important;background:rgba(12,15,12,.98)!important;border-top:1px solid rgba(255,255,255,.10)!important;backdrop-filter:blur(14px)!important}
  .dc-mobile-dock a{min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:13px!important;font-size:12px!important;font-weight:700!important}.dock-whatsapp{color:#f4efe7!important}.dock-consult{background:var(--v34-brass)!important;color:var(--v34-ink)!important}
}

@media(max-width:420px){
  .dc-logo{width:156px!important;max-width:156px!important}
  .v34-showcase-copy h2{font-size:27px!important}
  .v34-project-gallery{grid-auto-columns:88%!important}
}

/* ================================================================
   V35 — header/nav cleanup after desktop ghost-nav regression
   ================================================================ */

/* Desktop must never render mobile-only navigation/dock content. */
.dc-mobile-nav,
.dc-mobile-dock{
  display:none!important;
}

/* Dark header refined to sit naturally on the black hero. */
.dc-header{
  background:#0c0f0c!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  box-shadow:none!important;
}
.dc-header-inner{
  height:86px!important;
  grid-template-columns:220px minmax(0,1fr) 264px!important;
  gap:34px!important;
}
.dc-logo{
  width:205px!important;
  max-width:205px!important;
  padding:7px 9px!important;
  background:#f1ede5!important;
  border:1px solid rgba(214,195,157,.20)!important;
}
.dc-nav{
  gap:46px!important;
  justify-self:center!important;
}
.dc-nav a{
  font-size:13px!important;
  color:#aaa69e!important;
}
.dc-nav a.active,
.dc-nav a:hover{
  color:#f4efe7!important;
}
.dc-header-cta{
  min-width:264px!important;
  min-height:54px!important;
  padding:0 20px!important;
  background:#d6c39d!important;
  color:#0c0f0c!important;
}

/* Hero cleanup: remove the accidental grey proof box and keep the dark system. */
body[data-current="home"] .dc-proof-line{
  width:max-content!important;
  margin-top:30px!important;
  padding:16px 0 0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(214,195,157,.28)!important;
  color:#f0ebe3!important;
}
body[data-current="home"] .dc-proof-line strong{
  color:#d6c39d!important;
  font-size:28px!important;
}
body[data-current="home"] .dc-proof-line span{
  color:#99958d!important;
  font-size:10px!important;
}

/* Keep the image badge restrained and aligned to the hero image. */
.home-image-meta{
  left:14px!important;
  bottom:14px!important;
  padding:12px 14px!important;
  background:rgba(12,15,12,.94)!important;
  border-color:rgba(214,195,157,.28)!important;
}
.home-image-meta strong{font-size:18px!important}

@media(max-width:1180px) and (min-width:901px){
  .dc-header-inner{
    grid-template-columns:190px minmax(0,1fr) 220px!important;
    gap:22px!important;
  }
  .dc-logo{width:180px!important;max-width:180px!important}
  .dc-nav{gap:25px!important}
  .dc-header-cta{min-width:220px!important}
}

@media(max-width:900px){
  /* mobile-only UI becomes visible only inside mobile breakpoint */
  .dc-mobile-nav{
    display:flex!important;
  }
  .dc-mobile-dock{
    display:grid!important;
  }

  .dc-header-inner{
    height:70px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  .dc-logo{
    width:160px!important;
    max-width:160px!important;
    padding:6px 7px!important;
  }
  .dc-menu{display:block!important}
  .dc-nav,.dc-header-cta{display:none!important}
}

/* ================================================================
   V37 — original logo with a proper brand plaque background
   ================================================================ */
:root{
  --v37-plaque-top:#ddd4c4;
  --v37-plaque-bottom:#cbc0ae;
  --v37-plaque-line:rgba(214,195,157,.28);
  --v37-plaque-shadow:0 14px 30px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.22);
}

/* Header plaque: keep the original uploaded logo untouched, but place it on
   a warmer engineered plate so it belongs on the dark header. */
.dc-header{background:#0b0e0b!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.dc-header-inner{height:88px!important;align-items:center!important}
.dc-logo{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:214px!important;
  max-width:214px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,var(--v37-plaque-top) 0%,var(--v37-plaque-bottom) 100%)!important;
  border:1px solid var(--v37-plaque-line)!important;
  box-shadow:var(--v37-plaque-shadow)!important;
}
.dc-logo::after{
  content:""!important;
  position:absolute!important;
  left:16px!important;
  right:16px!important;
  bottom:-9px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(214,195,157,.48),transparent)!important;
  pointer-events:none!important;
}
.dc-logo img{width:100%!important;height:auto!important;display:block!important;filter:none!important;border-radius:8px!important}

/* CTA and nav stay warm but cleaner against the header. */
.dc-nav a{color:#aba79f!important}
.dc-nav a.active,.dc-nav a:hover{color:#f3eee6!important}
.dc-header-cta{background:#d9c7a0!important;color:#0c0f0c!important;border-color:#d9c7a0!important}
.dc-header-cta:hover{background:#e3d2ae!important}

/* Footer and loader use the same brand plaque so the logo treatment is consistent. */
.dc-footer-signature a,
.dc-loader-logo-wrap{
  background:linear-gradient(180deg,var(--v37-plaque-top) 0%,var(--v37-plaque-bottom) 100%)!important;
  border:1px solid var(--v37-plaque-line)!important;
  border-radius:16px!important;
  box-shadow:var(--v37-plaque-shadow)!important;
}
.dc-footer-signature a{padding:10px 12px!important}
.dc-footer-signature img,.dc-loader-logo-wrap img{filter:none!important}
.dc-loader{background:#0b0e0b!important}
.dc-loader-mark{background:transparent!important;border:0!important;box-shadow:none!important}
.dc-loader-logo-wrap{padding:18px 20px!important}
.dc-loader-mark::after{background:#d9c7a0!important}

/* Mobile header: same treatment, scaled properly. */
@media(max-width:900px){
  .dc-header{background:#0b0e0b!important}
  .dc-header-inner{height:72px!important}
  .dc-logo{
    width:168px!important;
    max-width:168px!important;
    padding:8px 9px!important;
    border-radius:12px!important;
  }
  .dc-logo::after{display:none!important}
  .dc-menu{border:1px solid rgba(255,255,255,.14)!important;background:rgba(255,255,255,.03)!important}
  .dc-mobile-nav{background:#0b0e0b!important}
}

@media(max-width:420px){
  .dc-logo{width:156px!important;max-width:156px!important;padding:7px 8px!important}
}

/* ================================================================
   V38 — integrated dual-tone header system
   ================================================================ */
:root{
  --v38-ink:#0b0e0b;
  --v38-paper:#ece5d8;
  --v38-paper-2:#d9cfbe;
  --v38-brass:#d6c39d;
  --v38-muted:#aaa59c;
}

/* The logo is no longer a floating badge. The entire left side of the
   header becomes the brand surface, while navigation stays dark. */
.dc-header{
  position:sticky!important;
  top:0!important;
  isolation:isolate!important;
  background:var(--v38-ink)!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.dc-header::before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  inset:0 auto 0 0!important;
  width:clamp(300px,23vw,390px)!important;
  background:linear-gradient(180deg,#f0e9dd 0%,var(--v38-paper) 100%)!important;
  border-right:1px solid rgba(11,14,11,.12)!important;
}
.dc-header::after{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  left:clamp(300px,23vw,390px)!important;
  bottom:-1px!important;
  width:72px!important;
  height:1px!important;
  background:var(--v38-brass)!important;
  opacity:.85!important;
}
.dc-header-inner{
  position:relative!important;
  z-index:2!important;
  height:92px!important;
  grid-template-columns:minmax(250px,320px) minmax(0,1fr) 260px!important;
  gap:36px!important;
  align-items:center!important;
}
.dc-logo{
  width:225px!important;
  max-width:225px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  align-self:center!important;
}
.dc-logo::after{display:none!important}
.dc-logo img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  filter:none!important;
  border-radius:0!important;
}

.dc-nav{justify-self:center!important;gap:44px!important}
.dc-nav a{color:#a9a49c!important;font-size:13px!important}
.dc-nav a:hover,.dc-nav a.active{color:#f4efe7!important}
.dc-nav a.active::after{background:var(--v38-brass)!important}
.dc-header-cta{
  min-width:260px!important;
  min-height:56px!important;
  padding:0 20px!important;
  background:var(--v38-brass)!important;
  color:var(--v38-ink)!important;
  border:0!important;
  box-shadow:none!important;
}
.dc-header-cta:hover{background:#e2d1ae!important;transform:translateY(-1px)!important}

/* Keep the same dual-tone logic in the loader rather than another floating pill. */
.dc-loader{background:var(--v38-ink)!important}
.dc-loader-mark{
  width:min(430px,80vw)!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.dc-loader-logo-wrap{
  width:100%!important;
  padding:24px 28px!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#f0e9dd 0%,var(--v38-paper) 100%)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.28)!important;
}
.dc-loader-logo-wrap img{filter:none!important}
.dc-loader-frame,.dc-loader-sweep{display:none!important}
.dc-loader-mark::after{
  content:""!important;
  display:block!important;
  width:88px!important;
  height:2px!important;
  margin:18px 0 0!important;
  background:var(--v38-brass)!important;
}

/* Footer brand lockup uses a flat architectural panel, not a rounded plaque. */
.dc-footer-signature a{
  width:min(360px,100%)!important;
  padding:16px 18px!important;
  background:var(--v38-paper)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  position:relative!important;
}
.dc-footer-signature a::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:-7px!important;
  width:72px!important;
  height:1px!important;
  background:var(--v38-brass)!important;
}
.dc-footer-signature img{filter:none!important}

/* Tablet: keep the integrated split, just narrower. */
@media(max-width:1180px) and (min-width:901px){
  .dc-header::before{width:280px!important}
  .dc-header::after{left:280px!important}
  .dc-header-inner{grid-template-columns:225px minmax(0,1fr) 220px!important;gap:24px!important}
  .dc-logo{width:205px!important;max-width:205px!important}
  .dc-nav{gap:26px!important}
  .dc-header-cta{min-width:220px!important}
}

/* Mobile becomes a deliberate two-zone bar: warm brand field + dark action field. */
@media(max-width:900px){
  .dc-header{
    height:72px!important;
    background:var(--v38-ink)!important;
    overflow:hidden!important;
  }
  .dc-header::before{
    width:calc(100% - 70px)!important;
    background:linear-gradient(180deg,#f0e9dd 0%,var(--v38-paper) 100%)!important;
    border-right:1px solid rgba(255,255,255,.10)!important;
  }
  .dc-header::after{display:none!important}
  .dc-header-inner{
    height:72px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:0!important;
  }
  .dc-logo{
    width:172px!important;
    max-width:172px!important;
    padding:0!important;
    margin-left:0!important;
    background:transparent!important;
  }
  .dc-menu{
    width:54px!important;
    height:54px!important;
    margin-right:-8px!important;
    display:grid!important;
    place-items:center!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
  }
  .dc-menu i{background:#f4efe7!important}

  /* Menu remains dark and no longer repeats a logo card. */
  .dc-mobile-nav{background:#0b0e0b!important}
  .dc-mobile-nav-head strong{color:var(--v38-paper)!important}
  .dc-mobile-nav .mobile-consult{background:var(--v38-brass)!important;color:var(--v38-ink)!important}

  .dc-loader-mark{width:min(320px,82vw)!important}
  .dc-loader-logo-wrap{padding:18px 20px!important}
}

@media(max-width:420px){
  .dc-logo{width:158px!important;max-width:158px!important}
}

/* ================================================================
   V39 — TRUE DUAL-TONE HEADER
   Original logo untouched; the header itself carries the two-tone system.
   ================================================================ */
:root{
  --v39-white:#ffffff;
  --v39-ink:#0b0e0b;
  --v39-brass:#d6c39d;
  --v39-muted:#9d9992;
}

/* Desktop: white brand/utility band + dark navigation band. */
.dc-header{
  position:sticky!important;
  top:0!important;
  z-index:900!important;
  background:linear-gradient(to bottom,var(--v39-white) 0 58px,var(--v39-ink) 58px 100%)!important;
  border:0!important;
  box-shadow:0 1px 0 rgba(255,255,255,.08)!important;
  overflow:visible!important;
}
.dc-header::before,
.dc-header::after{display:none!important}
.dc-header-inner{
  height:112px!important;
  display:grid!important;
  grid-template-columns:250px minmax(0,1fr) 260px!important;
  grid-template-rows:58px 54px!important;
  grid-template-areas:
    "brand utility utility"
    "nav nav cta"!important;
  column-gap:34px!important;
  row-gap:0!important;
  align-items:center!important;
}
.dc-logo{
  grid-area:brand!important;
  width:228px!important;
  max-width:228px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  align-self:center!important;
}
.dc-logo::after{display:none!important}
.dc-logo img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  filter:none!important;
  border-radius:0!important;
}
.dc-header-utility{
  grid-area:utility!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  gap:26px!important;
  min-width:0!important;
}
.dc-header-utility a{
  position:relative!important;
  color:#5f615c!important;
  font:600 10px/1 var(--mono)!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  transition:color .2s ease!important;
}
.dc-header-utility a+a::before{
  content:""!important;
  position:absolute!important;
  left:-13px!important;
  top:50%!important;
  width:1px!important;
  height:14px!important;
  background:#d8d5ce!important;
  transform:translateY(-50%)!important;
}
.dc-header-utility a:hover{color:#0b0e0b!important}
.dc-nav{
  grid-area:nav!important;
  justify-self:start!important;
  display:flex!important;
  align-self:stretch!important;
  align-items:center!important;
  gap:42px!important;
  margin:0!important;
}
.dc-nav a{
  color:#a9a49c!important;
  font-size:13px!important;
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
}
.dc-nav a:hover,.dc-nav a.active{color:#f5f0e8!important}
.dc-nav a.active::after{background:var(--v39-brass)!important;bottom:0!important}
.dc-header-cta{
  grid-area:cta!important;
  justify-self:end!important;
  align-self:center!important;
  min-width:248px!important;
  min-height:44px!important;
  padding:0 18px!important;
  background:var(--v39-brass)!important;
  color:var(--v39-ink)!important;
  border:0!important;
  box-shadow:none!important;
}
.dc-header-cta:hover{background:#e1d0ad!important;transform:none!important}
.dc-menu{grid-area:menu!important}

/* Make the dark hero meet the dark navigation band cleanly. */
body[data-current="home"] .dc-hero{padding-top:82px!important}
.dc-page-hero,.svc-hero{padding-top:86px!important}

/* Footer/loader go back to the exact original logo with no special recolouring. */
.dc-footer-signature a{
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.dc-footer-signature img{filter:none!important;background:#fff!important}
.dc-loader{background:var(--v39-ink)!important}
.dc-loader-mark{background:transparent!important;border:0!important;box-shadow:none!important}
.dc-loader-logo-wrap{
  width:min(360px,72vw)!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.dc-loader-logo-wrap img{filter:none!important;background:#fff!important}
.dc-loader-frame,.dc-loader-sweep{display:none!important}

/* Tablet retains the two-band system with tighter nav. */
@media(max-width:1180px) and (min-width:901px){
  .dc-header-inner{
    grid-template-columns:220px minmax(0,1fr) 210px!important;
    column-gap:22px!important;
  }
  .dc-logo{width:205px!important;max-width:205px!important}
  .dc-nav{gap:25px!important}
  .dc-header-cta{min-width:205px!important}
  .dc-header-utility{gap:18px!important}
  .dc-header-utility a{font-size:9px!important}
}

/* Mobile: the entire bar is dual-tone; logo is unchanged, hamburger owns the dark zone. */
@media(max-width:900px){
  .dc-header{
    height:72px!important;
    background:linear-gradient(90deg,var(--v39-white) 0 calc(100% - 72px),var(--v39-ink) calc(100% - 72px) 100%)!important;
    border-bottom:1px solid rgba(11,14,11,.12)!important;
    overflow:visible!important;
  }
  .dc-header-inner{
    height:72px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:0!important;
  }
  .dc-logo{
    width:168px!important;
    max-width:168px!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
  }
  .dc-header-utility,.dc-nav,.dc-header-cta{display:none!important}
  .dc-menu{
    display:grid!important;
    place-items:center!important;
    width:56px!important;
    height:56px!important;
    margin-right:-8px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
  }
  .dc-menu i{background:#f4efe7!important}
  .dc-mobile-nav{top:72px!important;background:var(--v39-ink)!important}
  body[data-current="home"] .dc-hero{padding-top:92px!important}
  .dc-page-hero,.svc-hero{padding-top:94px!important}
}

@media(max-width:420px){
  .dc-logo{width:156px!important;max-width:156px!important}
}

/* ================================================================
   V40 — header rebuilt around the original logo
   ================================================================ */
:root{
  --v40-ink:#090d09;
  --v40-paper:#f2ede4;
  --v40-paper-2:#e7dcc7;
  --v40-line:rgba(13,16,13,.12);
  --v40-text:#0d100d;
  --v40-muted:#786f62;
  --v40-accent:#d8c59d;
}

/* Desktop / tablet: one integrated architectural header.
   Left brand block accommodates the original logo.
   Right dark zone carries nav + CTA. */
.dc-header{
  background:var(--v40-ink)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  backdrop-filter:blur(14px)!important;
  overflow:visible!important;
}
.dc-header::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:340px!important;
  background:linear-gradient(180deg,var(--v40-paper) 0%,#ebe4d8 100%)!important;
  border-right:1px solid rgba(216,197,157,.2)!important;
  z-index:0!important;
}
.dc-header::after{
  content:""!important;
  position:absolute!important;
  left:340px!important;
  right:0!important;
  top:0!important;
  height:1px!important;
  background:linear-gradient(90deg,rgba(216,197,157,.45),rgba(216,197,157,0))!important;
  z-index:0!important;
}
.dc-header-inner{
  position:relative!important;
  z-index:2!important;
  height:96px!important;
  display:grid!important;
  grid-template-columns:340px minmax(0,1fr) 245px!important;
  align-items:center!important;
  column-gap:34px!important;
}
.dc-logo{
  width:255px!important;
  max-width:255px!important;
  padding:0!important;
  margin-left:12px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.dc-logo img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  filter:none!important;
  background:transparent!important;
}
.dc-header-utility{display:none!important}
.dc-nav{
  justify-self:center!important;
  display:flex!important;
  gap:42px!important;
  margin:0!important;
}
.dc-nav a{
  color:#b9b1a4!important;
  font-size:13px!important;
  letter-spacing:.01em!important;
}
.dc-nav a:hover,.dc-nav a.active{color:#f5f0e7!important}
.dc-nav a:after{background:var(--v40-accent)!important;height:1px!important}
.dc-header-cta{
  justify-self:end!important;
  min-width:220px!important;
  min-height:52px!important;
  padding:0 18px!important;
  background:var(--v40-accent)!important;
  color:var(--v40-text)!important;
  border:1px solid rgba(216,197,157,.4)!important;
  box-shadow:none!important;
}
.dc-header-cta:hover{background:#e1d0ac!important}

/* Layout below the rebuilt header */
body[data-current="home"] .dc-hero{padding-top:132px!important}
.dc-page-hero,.svc-hero{padding-top:126px!important}

/* Loader / footer keep the original logo but without odd white cards. */
.dc-loader{background:var(--v40-ink)!important}
.dc-loader-logo-wrap{width:min(340px,72vw)!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.dc-loader-logo-wrap img{filter:none!important;background:transparent!important}
.dc-footer-signature a{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.dc-footer-signature img{filter:none!important;background:transparent!important}

/* Tablet */
@media(max-width:1180px) and (min-width:901px){
  .dc-header::before{width:300px!important}
  .dc-header::after{left:300px!important}
  .dc-header-inner{grid-template-columns:300px minmax(0,1fr) 205px!important;column-gap:24px!important;height:90px!important}
  .dc-logo{width:225px!important;max-width:225px!important}
  .dc-nav{gap:26px!important}
  .dc-header-cta{min-width:190px!important;font-size:10px!important}
  body[data-current="home"] .dc-hero{padding-top:124px!important}
  .dc-page-hero,.svc-hero{padding-top:118px!important}
}

/* Mobile: simpler, cleaner, still dual-tone.
   Cream brand band for the original logo, dark action band for the menu. */
@media(max-width:900px){
  .dc-header{
    background:linear-gradient(90deg,var(--v40-paper) 0 76%,var(--v40-ink) 76% 100%)!important;
    border-bottom:1px solid rgba(13,16,13,.10)!important;
    backdrop-filter:none!important;
    height:74px!important;
  }
  .dc-header::before,
  .dc-header::after{display:none!important}
  .dc-header-inner{
    height:74px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 74px!important;
    align-items:center!important;
    column-gap:0!important;
  }
  .dc-logo{
    width:170px!important;
    max-width:170px!important;
    margin-left:0!important;
    padding-left:14px!important;
    justify-self:start!important;
  }
  .dc-nav,.dc-header-cta,.dc-header-utility{display:none!important}
  .dc-menu{
    display:grid!important;
    place-items:center!important;
    width:74px!important;
    height:74px!important;
    margin:0!important;
    background:transparent!important;
    border:0!important;
    border-left:1px solid rgba(255,255,255,.08)!important;
    border-radius:0!important;
  }
  .dc-menu i{background:#f3eee6!important}
  .dc-mobile-nav{
    top:74px!important;
    background:#101411!important;
  }
  .dc-mobile-nav-brand{display:none!important}
  .dc-mobile-nav-head{padding-top:6px!important;border-bottom:1px solid rgba(255,255,255,.10)!important}
  .dc-mobile-nav-head span{color:#8d877d!important}
  .dc-mobile-nav-head strong{color:#f3eee6!important}
  .dc-mobile-nav-list a{font-size:28px!important;color:#f0ece4!important}
  .dc-mobile-nav-list a em{color:#b7ae9e!important}
  .dc-mobile-nav-cta{background:var(--v40-accent)!important;color:var(--v40-text)!important}
  body[data-current="home"] .dc-hero{padding-top:94px!important}
  .dc-page-hero,.svc-hero{padding-top:96px!important}
}

@media(max-width:420px){
  .dc-logo{width:156px!important;max-width:156px!important;padding-left:12px!important}
  .dc-mobile-nav-list a{font-size:24px!important}
}


/* ================================================================
   V41 — CLEAN HEADER RESET
   Proper header system for the original Duo Craft logo.
   ================================================================ */

/* Kill every experimental header treatment from previous versions. */
.dc-header,
.dc-header.scrolled{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:900!important;
  height:96px!important;
  background:#f2eee6!important;
  color:#101310!important;
  border-bottom:1px solid rgba(16,19,16,.14)!important;
  box-shadow:0 10px 34px rgba(0,0,0,.08)!important;
  backdrop-filter:none!important;
  overflow:visible!important;
}
.dc-header::before,
.dc-header::after{
  display:none!important;
  content:none!important;
}

.dc-header-inner{
  height:96px!important;
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr) 250px!important;
  align-items:center!important;
  gap:32px!important;
}

/* Original logo, no inversion, no dark treatment, no fake plaque. */
.dc-logo{
  width:250px!important;
  max-width:250px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  display:block!important;
}
.dc-logo::before,
.dc-logo::after{
  display:none!important;
  content:none!important;
}
.dc-logo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
  background:transparent!important;
  border-radius:0!important;
}

/* Desktop nav sits cleanly inside the light header. */
.dc-nav{
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  gap:44px!important;
  margin:0!important;
}
.dc-nav a{
  position:relative!important;
  color:#555852!important;
  font:600 14px/1 var(--body)!important;
  letter-spacing:-.01em!important;
  padding:12px 0!important;
}
.dc-nav a:hover,
.dc-nav a.active{
  color:#101310!important;
}
.dc-nav a::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:100%!important;
  bottom:0!important;
  height:1px!important;
  background:#9b8355!important;
  transition:right .25s ease!important;
}
.dc-nav a:hover::after,
.dc-nav a.active::after{
  right:0!important;
}

/* CTA contrasts against the light header. */
.dc-header-cta{
  justify-self:end!important;
  width:250px!important;
  min-width:250px!important;
  min-height:58px!important;
  padding:0 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  background:#101310!important;
  color:#f6f1e9!important;
  border:1px solid #101310!important;
  border-radius:0!important;
  box-shadow:none!important;
  font:700 13px/1 var(--body)!important;
}
.dc-header-cta:hover{
  background:#252920!important;
  border-color:#252920!important;
}

/* Remove desktop utility strip from previous version. */
.dc-header-utility{
  display:none!important;
}

/* The dark landing starts below the clean header. */
body[data-current="home"] .dc-hero{
  padding-top:132px!important;
}
.dc-page-hero,
.svc-hero{
  padding-top:126px!important;
}

/* Loader uses the same clean logo without a strange dark/white mismatch. */
.dc-loader{
  background:#0b0e0b!important;
}
.dc-loader-mark{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.dc-loader-logo-wrap{
  width:min(330px,74vw)!important;
  padding:16px 18px!important;
  background:#f2eee6!important;
  border:1px solid rgba(16,19,16,.12)!important;
  border-radius:0!important;
  box-shadow:0 18px 45px rgba(0,0,0,.28)!important;
}
.dc-loader-logo-wrap img{
  width:100%!important;
  height:auto!important;
  filter:none!important;
  background:transparent!important;
}
.dc-loader-frame,
.dc-loader-sweep,
.dc-loader-mark::before,
.dc-loader-mark::after{
  display:none!important;
}

/* Footer logo remains original and readable. */
.dc-footer-signature a{
  width:min(300px,100%)!important;
  padding:12px 14px!important;
  background:#f2eee6!important;
  border:1px solid rgba(216,197,157,.22)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.dc-footer-signature img{
  width:100%!important;
  height:auto!important;
  filter:none!important;
  background:transparent!important;
}

/* Tablet */
@media(max-width:1180px) and (min-width:901px){
  .dc-header,
  .dc-header.scrolled{
    height:88px!important;
  }
  .dc-header-inner{
    height:88px!important;
    grid-template-columns:250px minmax(0,1fr) 210px!important;
    gap:24px!important;
  }
  .dc-logo{
    width:220px!important;
    max-width:220px!important;
  }
  .dc-nav{
    gap:26px!important;
  }
  .dc-nav a{
    font-size:13px!important;
  }
  .dc-header-cta{
    width:210px!important;
    min-width:210px!important;
    min-height:54px!important;
  }
  body[data-current="home"] .dc-hero{
    padding-top:122px!important;
  }
  .dc-page-hero,
  .svc-hero{
    padding-top:116px!important;
  }
}

/* Mobile header: logo area + dark menu block, simple and readable. */
@media(max-width:900px){
  .dc-header,
  .dc-header.scrolled{
    height:76px!important;
    background:#f2eee6!important;
    border-bottom:1px solid rgba(16,19,16,.14)!important;
    box-shadow:0 8px 22px rgba(0,0,0,.10)!important;
  }
  .dc-header-inner{
    height:76px!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 76px!important;
    align-items:center!important;
    gap:0!important;
    padding-left:16px!important;
  }
  .dc-logo{
    width:180px!important;
    max-width:180px!important;
    justify-self:start!important;
    margin:0!important;
    padding:0!important;
  }
  .dc-nav,
  .dc-header-cta,
  .dc-header-utility{
    display:none!important;
  }
  .dc-menu{
    display:grid!important;
    place-items:center!important;
    width:76px!important;
    height:76px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-left:1px solid rgba(255,255,255,.10)!important;
    border-radius:0!important;
    background:#0b0e0b!important;
  }
  .dc-menu i{
    background:#f4efe7!important;
  }
  .dc-mobile-nav{
    top:76px!important;
  }
  body[data-current="home"] .dc-hero{
    padding-top:98px!important;
  }
  .dc-page-hero,
  .svc-hero{
    padding-top:98px!important;
  }
}

@media(max-width:420px){
  .dc-logo{
    width:164px!important;
    max-width:164px!important;
  }
  .dc-header-inner{
    padding-left:12px!important;
  }
}
