/*
Theme Name: DSL Construction & Design Preview
Theme URI: https://dslgc.com/
Author: DSL Construction & Design
Description: DSL luxury construction staging theme featuring six real Pearland projects, editable galleries, and a contact inquiry form. Designed for preview.dslgc.com.
Version: 42.0.0
Text Domain: dsl-preview
*/
:root{--bg:#101412;--bg2:#171b19;--bg3:#202522;--cream:#f4f0e8;--white:#fff;--muted:#b4b7b0;--bronze:#b98a57;--bronze-light:#e0b788;--line:rgba(255,255,255,.16);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:75px}
body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
body.lightbox-open{overflow:hidden}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--bronze-light);outline-offset:4px}
.wrap{width:min(1360px,calc(100% - 96px));margin:0 auto}
.skip-link{position:absolute;top:-80px;left:10px;padding:10px 15px;background:#fff;color:#111;z-index:1000}.skip-link:focus{top:10px}
.top-strip{position:relative;z-index:20;background:#0b0d0c;border-bottom:1px solid rgba(255,255,255,.12)}
.top-strip-inner{height:39px;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;letter-spacing:.16em;color:#b8b5ae}
.top-strip-inner a{color:var(--bronze-light)}
.site-header{position:absolute;top:39px;left:0;right:0;z-index:15;background:rgba(12,16,14,.83);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.site-header.header-over-hero{background:rgba(9,12,11,.23)}
.nav-bar{height:93px;display:flex;gap:36px;align-items:center;justify-content:space-between}
.wordmark{display:flex;flex-direction:column;line-height:1;min-width:190px}.wordmark-big{font:42px/.82 var(--serif);letter-spacing:-.06em}.wordmark-big .period,.footer-brand span{color:var(--bronze)}.wordmark-sub{font-size:8px;letter-spacing:.39em;margin-top:13px;color:var(--bronze-light)}.dsl-logo{max-height:77px;width:auto;object-fit:contain}
.desktop-nav{display:flex;align-items:center;gap:34px;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:600}.desktop-nav a{transition:color .2s}.desktop-nav a:hover{color:var(--bronze-light)}
.outline-button,.solid-button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:15px 23px;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:bold;border:1px solid var(--bronze);transition:all .22s;line-height:1.25}
.outline-button{color:#fff;background:transparent}.outline-button:hover{background:var(--bronze);color:#101412}
.solid-button{background:var(--bronze);color:#121411}.solid-button:hover{background:#d7ab7d;border-color:#d7ab7d;transform:translateY(-2px)}
.mobile-toggle{border:0;background:transparent;padding:10px 3px;width:36px;display:none}.mobile-toggle span{display:block;width:28px;height:2px;background:#fff;margin:6px 0}
.mobile-nav{display:none;background:#141a17;padding:10px 32px 25px}.mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);letter-spacing:.16em;font-size:12px;text-transform:uppercase}.mobile-nav.is-open{display:block}
.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:10px;color:var(--bronze);font-weight:bold;margin:0 0 18px}.eyebrow.light{color:#e2bf94}.mini-line{display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin:0 12px;opacity:.8}
h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{font-family:var(--serif);font-weight:normal}h1,h2{letter-spacing:-.045em}h2 em,h1 em{font-weight:normal;color:var(--bronze-light)}
.section{padding:118px 0}
.hero{min-height:730px;height:min(890px,calc(100vh - 39px));background-image:var(--hero-photo);background-position:center 52%;background-size:cover;position:relative;display:flex;align-items:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,12,11,.83) 0%,rgba(7,12,11,.53) 39%,rgba(7,12,11,.11) 80%),linear-gradient(0deg,rgba(7,12,11,.7),transparent 28%,rgba(7,12,11,.33));pointer-events:none}
.hero-inner{z-index:1;position:relative;padding-top:132px;padding-bottom:70px}.hero h1{font-size:clamp(58px,6.9vw,112px);line-height:1.04;max-width:840px;margin:16px 0 26px;text-wrap:balance}.hero-copy{max-width:560px;font-size:16px;color:#efede6;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:34px}.text-button{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:bold;color:#fff;border-bottom:1px solid rgba(255,255,255,.66);padding-bottom:9px}.text-button span{padding-left:10px}.text-button:hover{color:var(--bronze-light)}
.hero-bottom{position:absolute;z-index:2;left:0;right:0;bottom:30px;display:flex;justify-content:space-between;color:#ddd9d0;font-size:9px;letter-spacing:.26em}.hero-bottom span:first-child{display:flex;align-items:center;gap:15px}.scroll-line{width:36px;height:1px;background:var(--bronze-light)}
.about-section{background:#111613}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:start}.about-grid h2,.section-heading h2,.contact-grid h2,.project-description h2{font-size:clamp(43px,5.1vw,74px);line-height:1.15;margin:0}.about-right{padding-top:41px}.about-right p{max-width:550px;color:var(--muted);margin-top:20px}.about-right .about-lead{font:clamp(23px,2.5vw,34px)/1.38 var(--serif);color:var(--cream);margin-top:0}.years-lockup{display:flex;gap:20px;align-items:center;margin-top:55px}.years-lockup>span{font:clamp(98px,11vw,163px)/.9 var(--serif);letter-spacing:-.1em;color:var(--bronze)}.years-lockup .plus{font-size:.5em;vertical-align:top;letter-spacing:0}.years-lockup p{font-size:11px;line-height:1.9;letter-spacing:.18em;color:var(--muted)}.underlink{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;margin-top:28px;padding-bottom:10px;border-bottom:1px solid var(--bronze);text-transform:uppercase;font-size:10px;letter-spacing:.15em;font-weight:bold;color:var(--cream)}.underlink span{color:var(--bronze);font-size:18px}.underlink:hover{color:var(--bronze-light)}
.pillars{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:70px;padding-top:38px}.pillars b{font:19px var(--serif);color:var(--bronze)}.pillars h3{font-size:27px;margin:12px 0 4px}.pillars p{color:var(--muted);font-size:13px;margin:0;max-width:310px}
.projects-section{background:var(--cream);color:#1c2520}.projects-section .eyebrow{color:#8e6949}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12%;margin-bottom:50px}.section-heading>div:first-child{flex:1}.section-heading h2{max-width:770px}.section-heading h2 em{color:#8e6949}.section-intro{max-width:355px;margin:0 0 6px;color:#626a64}.section-intro p{margin:0;font-size:14px}.projects-section .underlink{color:#1c2520}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense;grid-auto-rows:300px;gap:15px}.project-card{position:relative;overflow:hidden;background:#353a35;display:block;color:#fff;isolation:isolate}.project-card:first-child{grid-column:span 2;grid-row:span 2}.project-card:nth-child(6){grid-column:span 2}.project-card img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;transition:transform .9s cubic-bezier(.2,.6,.2,1)}.project-card:hover img{transform:scale(1.055)}.project-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 20%,rgba(0,0,0,.72) 100%);z-index:1}.project-overlay{position:absolute;z-index:2;bottom:0;left:0;width:100%;padding:26px 30px}.project-meta{color:#dfc5a6;letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:bold}.project-meta span{padding:0 6px}.project-overlay>div{display:flex;align-items:end;justify-content:space-between;gap:12px}.project-overlay h3{font-size:clamp(22px,2.4vw,37px);line-height:1.1;margin:9px 0 0}.project-arrow{border:1px solid rgba(255,255,255,.72);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:18px;flex:none}
.services-section{background:#171c19}.services-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:110px 1fr 30px;align-items:center;gap:28px;padding:27px 4px;border-bottom:1px solid var(--line);transition:background .2s,padding .2s}.service-row:hover{background:#1e2520;padding-left:20px;padding-right:15px}.service-num{color:var(--bronze);font:23px var(--serif)}.service-row h3{font:clamp(26px,3vw,42px)/1.1 var(--serif);margin:0 0 8px}.service-row p{margin:0;color:var(--muted);font-size:13px}.service-arrow{font-size:25px;color:var(--bronze)}
.image-quote{position:relative;min-height:570px;background-size:cover;background-position:center;display:flex;align-items:center}.quote-content{padding:95px 0}.image-quote h2{font-size:clamp(48px,5.2vw,76px);line-height:1.12;margin:0 0 32px}.image-quote h2 em{color:#f0cfa8}
.contact-section{background:#111613}.contact-grid{display:grid;grid-template-columns:1fr 1.03fr;gap:9%}.contact-blurb{max-width:430px;color:var(--muted);margin:30px 0}.contact-info{display:grid;gap:6px;padding-top:18px}.contact-info span{font-size:9px;letter-spacing:.24em;color:var(--bronze);margin-top:21px}.contact-info a{font:23px var(--serif)}.contact-info p{margin:0;color:var(--cream);font-size:14px}.form-shell{padding:44px;background:var(--bg3);border:1px solid var(--line)}.form-shell h3{font-size:32px;margin:0 0 30px}.dsl-contact-form{display:grid;gap:20px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dsl-contact-form label{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#d9d9d0;font-weight:bold}.dsl-contact-form input,.dsl-contact-form select,.dsl-contact-form textarea{margin-top:8px;width:100%;padding:15px;border:1px solid rgba(255,255,255,.22);background:#181d1a;color:#f7f5ee;border-radius:0;font-size:13px;letter-spacing:normal;text-transform:none;font-weight:normal}.dsl-contact-form input::placeholder,.dsl-contact-form textarea::placeholder{color:#a5a9a2}.dsl-contact-form textarea{resize:vertical;min-height:130px}.dsl-contact-form .solid-button{justify-self:start}.form-footnote{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.form-footnote a{color:var(--bronze-light)}.form-status{padding:10px;background:#403527;color:#fff;font-size:13px}.form-status.success{background:#294334}.trap{position:absolute!important;left:-10000px!important;opacity:0}
.site-footer{background:#0b0e0c;border-top:1px solid var(--line);color:#d0d1c9}.footer-top{padding:70px 0;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:55px}.footer-brand{font:55px var(--serif);line-height:1}.footer-top p{font-size:13px;color:#b0b6af;line-height:1.9}.footer-links,.footer-contact{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.footer-links a,.footer-contact a{font-size:12px}.footer-links a:hover,.footer-contact a:hover{color:var(--bronze-light)}.footer-contact p{margin:0 0 9px}.footer-bottom{padding:18px 0 25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.05em;color:#a1a8a1}
/* Portfolio and inner pages */
.single-main,.archive-main{min-height:100vh}.project-hero{min-height:670px;height:80vh;max-height:880px;position:relative;display:flex;align-items:end;background-image:var(--hero-photo);background-size:cover;background-position:center}.project-hero-inner{position:relative;z-index:2;padding-bottom:95px}.back-link{display:inline-block;text-transform:uppercase;font-size:11px;letter-spacing:.16em;color:#f3e0c5;margin-bottom:42px}.back-link:hover{color:var(--bronze-light)}.project-hero h1{font:clamp(52px,6.8vw,100px)/1.05 var(--serif);max-width:920px;margin:16px 0 15px}.project-hero p:last-child{color:#e9e5dc;font-size:14px}
.project-description{background:#101612}.project-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.project-story{font-size:18px;color:#c8ccc5;padding-top:36px}.project-story p{margin-top:0}.project-story a{color:var(--bronze-light);text-decoration:underline}.project-story img{max-width:100%;height:auto}
.project-gallery-section{background:var(--cream);color:#1f2922}.gallery-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:44px;gap:20px}.gallery-title h2{font-size:clamp(40px,4vw,57px);margin:0}.gallery-title>p{font-size:12px;color:#647169}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.photo-item{padding:0;border:0;position:relative;overflow:hidden;aspect-ratio:4 / 3;background:#aaa}.photo-item:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.photo-item img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s}.photo-item:hover img{transform:scale(1.045)}.zoom-icon{position:absolute;right:14px;bottom:13px;width:38px;height:38px;display:grid;place-items:center;background:rgba(10,10,10,.6);color:#fff;border:1px solid rgba(255,255,255,.65);border-radius:50%;font-size:20px}
.next-project{background:var(--bg2);padding:95px 0;text-align:center}.next-project h2{font-size:clamp(40px,5vw,70px);margin:0 0 25px}
.lightbox{position:fixed;inset:0;z-index:10000;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,.96);padding:30px 88px}.lightbox[hidden]{display:none}.lightbox img{max-width:100%;max-height:91vh;object-fit:contain}.lightbox button{position:absolute;border:0;background:rgba(25,25,25,.4);color:#fff;font-size:44px;width:56px;height:68px}.lightbox-close{top:10px;right:20px}.lightbox-prev{left:10px;top:50%}.lightbox-next{right:10px;top:50%}.lightbox-caption{position:absolute;bottom:14px;color:#fff;font-size:12px;letter-spacing:.14em}
.archive-intro{padding:245px 0 100px;background:#171d19}.archive-intro h1{font-size:clamp(56px,7.5vw,100px);line-height:1.05;margin:10px 0 22px}.archive-intro h1 em{color:var(--bronze)}.archive-intro p:last-child{color:#c1c7bf;max-width:530px}.archive-section{padding-top:0;padding-bottom:105px}.archive-section .project-grid{padding-top:20px}
.standard-page{padding-top:245px;padding-bottom:120px;min-height:65vh}.standard-page h1{font-size:clamp(45px,6vw,75px);margin:0 0 30px}.standard-page .page-body{max-width:900px;color:#d0d3ce}.standard-page article{margin-bottom:35px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:20px}.nav-bar{gap:14px}.nav-cta{padding:14px}.project-grid{grid-auto-rows:270px}}
@media(max-width:880px){.desktop-nav,.nav-cta{display:none}.mobile-toggle{display:block}.nav-bar{height:82px}.hero{min-height:650px}.hero-inner{padding-top:170px}.section{padding:85px 0}.section-heading,.about-grid,.contact-grid,.project-detail-grid{grid-template-columns:1fr;display:grid;gap:28px}.section-intro{max-width:620px}.about-right{padding-top:0}.pillars{gap:22px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:280px}.project-card:first-child{grid-column:span 2;grid-row:span 1}.project-card:nth-child(6){grid-column:span 1}.photo-grid{grid-template-columns:repeat(2,1fr)}.project-description .project-story{padding-top:0}}
@media(max-width:580px){.wrap{width:calc(100% - 38px)}.top-strip-inner{font-size:8px;letter-spacing:.07em}.top-strip-inner span{max-width:230px;line-height:1.35}.nav-bar{height:75px}.wordmark-big{font-size:36px}.wordmark-sub{font-size:7px}.hero{min-height:680px;height:86vh;background-position:60% center}.hero-inner{padding-top:140px;padding-bottom:85px}.hero h1{font-size:clamp(49px,12vw,72px)}.hero-copy{font-size:14px}.hero-actions{flex-direction:column;align-items:flex-start;gap:22px}.hero-bottom span:last-child{display:none}.section{padding:70px 0}.about-grid h2,.section-heading h2,.contact-grid h2{font-size:clamp(43px,10.5vw,58px)}.years-lockup{margin-top:34px}.pillars{grid-template-columns:1fr;gap:20px;margin-top:45px;padding-top:15px}.pillars>div{border-bottom:1px solid var(--line);padding-bottom:16px}.section-heading{margin-bottom:30px}.project-grid{display:block}.project-card,.project-card:first-child{height:370px;min-height:0;margin-bottom:13px}.project-card:first-child{height:420px}.project-overlay{padding:22px}.service-row{grid-template-columns:35px 1fr 18px;gap:15px;padding:25px 0}.service-row h3{font-size:29px}.service-row p{font-size:12px}.image-quote{min-height:460px;background-position:center}.quote-content{padding:85px 0}.image-quote h2{font-size:46px}.form-shell{padding:25px 21px}.form-two{grid-template-columns:1fr;gap:16px}.contact-grid{gap:44px}.footer-top{grid-template-columns:1fr;gap:30px;padding:48px 0}.footer-bottom{flex-direction:column;gap:8px}.project-hero{min-height:590px;height:80vh}.project-hero-inner{padding-bottom:65px}.project-hero h1{font-size:clamp(48px,12vw,70px)}.project-story{font-size:16px}.gallery-title{display:block}.gallery-title h2{font-size:45px}.photo-grid{grid-template-columns:1fr;gap:11px}.photo-item,.photo-item:first-child{grid-column:auto;grid-row:auto;aspect-ratio:4/3}.lightbox{padding:35px 4px}.lightbox button{width:40px;font-size:32px}.lightbox-close{top:5px;right:0}.lightbox-prev{left:0}.lightbox-next{right:0}.archive-intro{padding:200px 0 75px}.standard-page{padding-top:200px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}}


/* ===================================================================
   DSL PREMIUM v3 — ARIAL BOLD / MODERN EDITION
   No external font downloads. All on-page type uses Arial-family bold.
   Keeps original galleries, site content, palette and responsive layouts.
   =================================================================== */
:root {
  --sans: Arial, Helvetica, sans-serif;
  --serif: Arial, Helvetica, sans-serif;
}
html { font-synthesis: weight; }
body {font-family:Arial,Helvetica,sans-serif;font-weight:700;line-height:1.62;letter-spacing:-.005em}
button,input,textarea,select {font-family:Arial,Helvetica,sans-serif;font-weight:700}
strong,b {font-weight:800}
h1,h2,h3 {font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-.055em;line-height:1.08}
h1 em,h2 em,h3 em {font-style:normal;font-family:Arial,Helvetica,sans-serif;font-weight:800}

/* Bold, compact identity and contemporary transparent navigation */
.site-header {background:rgba(11,14,13,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.site-header.header-over-hero {background:rgba(11,14,13,.41)}
.nav-bar {height:88px;gap:24px}
.wordmark-big {font-family:'Arial Black',Arial,Helvetica,sans-serif;font-weight:900;font-size:40px;letter-spacing:-.065em;line-height:.82}
.wordmark-sub {font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:.25em;font-size:8px;margin-top:14px}
.desktop-nav {font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.09em;font-weight:800;gap:29px}
.desktop-nav a {position:relative}
.desktop-nav a::after {content:'';position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--bronze-light);transition:right .22s ease}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after {right:0}
.mobile-nav a {font-weight:800;letter-spacing:.08em}
.top-strip-inner {font-weight:700;letter-spacing:.11em}

/* Bolder headlines, tighter rhythm, sharper labels */
.hero h1 {font-family:'Arial Black',Arial,Helvetica,sans-serif;font-size:clamp(56px,6.9vw,105px);font-weight:900;letter-spacing:-.067em;line-height:1.01;max-width:900px;margin:16px 0 25px}
.hero-copy {font-size:15px;font-weight:700;line-height:1.75;max-width:565px}
.eyebrow {font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:.19em;font-size:10px}
.hero .eyebrow {letter-spacing:.15em}
.about-grid h2,.section-heading h2,.contact-grid h2,.project-description h2 {font-size:clamp(43px,4.75vw,68px);line-height:1.08;font-weight:800}
.about-right .about-lead {font-family:Arial,Helvetica,sans-serif;font-size:clamp(22px,2.4vw,31px);line-height:1.28;font-weight:800;letter-spacing:-.035em}
.about-right p,.section-intro p,.contact-blurb,.project-story {font-weight:700}
.years-lockup>span {font-family:'Arial Black',Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.09em}
.years-lockup p {font-weight:800;letter-spacing:.1em}
.pillars b {font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:800}
.pillars h3 {font-size:24px;font-weight:800;letter-spacing:-.045em}
.project-overlay h3 {font-size:clamp(24px,2.35vw,35px);line-height:1.08;font-weight:800;letter-spacing:-.046em}
.project-meta {font-weight:800;letter-spacing:.11em;font-size:10px}
.service-num {font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:800;letter-spacing:.08em}
.service-row h3 {font-family:Arial,Helvetica,sans-serif;font-size:clamp(26px,3vw,40px);line-height:1.13;font-weight:800;letter-spacing:-.048em}
.image-quote h2 {font-family:'Arial Black',Arial,Helvetica,sans-serif;font-size:clamp(46px,5.1vw,71px);font-weight:900;letter-spacing:-.056em;line-height:1.07}
.contact-info a {font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:21px;letter-spacing:-.025em}
.form-shell h3 {font-size:28px;font-weight:800}
.footer-brand {font-family:'Arial Black',Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.065em}
.project-hero h1 {font-family:'Arial Black',Arial,Helvetica,sans-serif;font-size:clamp(51px,6.3vw,90px);font-weight:900;letter-spacing:-.068em;line-height:1.04}
.gallery-title h2,.next-project h2,.archive-intro h1,.standard-page h1 {font-family:'Arial Black',Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.06em;line-height:1.06}

/* Minimal, squared-off contemporary UI with considered micro-interactions */
.outline-button,.solid-button {font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:11px;letter-spacing:.065em;border-radius:5px;padding:16px 23px;min-height:47px;gap:20px}
.outline-button:hover {transform:translateY(-2px)}
.text-button,.underlink {font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:.09em;font-size:11px}
.project-card {border-radius:5px}
.project-arrow {border-radius:5px;width:39px;height:39px;font-weight:800;transition:background .2s,border-color .2s}
.project-card:hover .project-arrow {background:var(--bronze);border-color:var(--bronze);color:#101412}
.photo-item {border-radius:5px}
.zoom-icon {border-radius:5px}
.form-shell {border-radius:6px}
.dsl-contact-form label {font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.08em;font-weight:800}
.dsl-contact-form input,.dsl-contact-form select,.dsl-contact-form textarea {font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:14px;border-radius:4px;padding:15px 16px}
.dsl-contact-form input::placeholder,.dsl-contact-form textarea::placeholder {font-weight:700}
.service-row {transition:background .2s,padding .2s}
.lightbox button {font-family:Arial,Helvetica,sans-serif;font-weight:800}

@media(max-width:880px) {
  .nav-bar {height:82px}
  .hero h1 {font-size:clamp(52px,7.2vw,86px)}
  .about-grid h2,.section-heading h2,.contact-grid h2 {font-size:clamp(42px,7vw,62px)}
  .section-heading {gap:28px}
}
@media(max-width:580px) {
  .nav-bar {height:75px}
  .wordmark-big {font-size:35px}
  .wordmark-sub {font-size:7px;letter-spacing:.2em}
  .hero h1 {font-size:clamp(48px,11vw,67px);line-height:1.04;letter-spacing:-.065em}
  .hero-copy {font-size:14px;line-height:1.7}
  .about-grid h2,.section-heading h2,.contact-grid h2 {font-size:clamp(39px,9.6vw,55px);line-height:1.07}
  .project-overlay h3 {font-size:27px}
  .service-row h3 {font-size:27px}
  .image-quote h2 {font-size:clamp(38px,9vw,48px)}
  .project-hero h1 {font-size:clamp(45px,10.5vw,68px)}
  .gallery-title h2 {font-size:40px}
  .outline-button,.solid-button {font-size:10px;padding:15px 19px}
}


/* DSL v3.1 — header fit fix: prevents wordmark being obscured by top strip */
.top-strip { position: relative; z-index: 40; }
.top-strip-inner { min-height: 39px; height: auto; padding-block: 10px; font-size: 11px; line-height: 1.3; }
.site-header { top: 39px; z-index: 35; }
.nav-bar { height: auto; min-height: 104px; padding-top: 18px; padding-bottom: 18px; align-items: center; }
.wordmark { display: flex; flex-direction: column; justify-content: center; align-self: center; gap: 4px; min-width: 190px; overflow: visible; flex-shrink: 0; }
.wordmark-big { display: block; font-size: 36px; line-height: 1.1; font-weight: 900; letter-spacing: -.057em; }
.wordmark-sub { display: block; margin-top: 0; font-size: 9px; line-height: 1.35; font-weight: 800; letter-spacing: .22em; }
.dsl-logo { display: block; max-height: 66px; width: auto; max-width: 260px; object-fit: contain; }
.desktop-nav { font-size: 12px; letter-spacing: .075em; gap: 30px; }
@media (max-width: 1100px) { .desktop-nav { gap: 18px; font-size: 11px; } }
@media (max-width: 880px) { .nav-bar { min-height: 82px; padding-block: 12px; } .wordmark-big { font-size: 34px; } }
@media (max-width: 580px) {
  .top-strip-inner { font-size: 9px; min-height: 39px; padding-block: 9px; }
  .nav-bar { min-height: 76px; padding-block: 10px; }
  .wordmark { min-width: 0; }
  .wordmark-big { font-size: 31px; }
  .wordmark-sub { font-size: 7px; letter-spacing: .15em; }
  .dsl-logo { max-height: 55px; max-width: 190px; }
}

/* =============================================================
   DSL v4 — Professional affiliations + social feed
   ============================================================= */
html { scroll-padding-top: 145px; }
.desktop-nav { gap: clamp(12px, 1.4vw, 25px); font-size: 11px; }
.nav-bar { gap: 20px; }
@media(max-width:1150px) {
  .desktop-nav, .nav-cta { display: none; }
  .mobile-toggle { display: block; margin-left: auto; }
}
.affiliations-section { background:#111713; }
.affiliations-intro { display:grid; grid-template-columns: minmax(0,1.6fr) minmax(240px,.7fr); gap:70px; align-items:end; margin-bottom:42px; }
.affiliations-intro h2 { font-size:clamp(38px,4.2vw,62px); margin:0; line-height:1.1; }
.affiliations-intro h2 em { color:var(--bronze-light); }
.affiliations-intro>p { color:var(--muted); font-size:15px; line-height:1.75; max-width:380px; margin:0 0 5px; }
.affiliations-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.affiliation-card { display:flex; flex-direction:column; padding:28px 23px 25px; min-height:247px; background:#1a211d; border:1px solid rgba(255,255,255,.11); border-radius:5px; transition:background .2s,border-color .2s,transform .2s; }
.affiliation-card:hover,.affiliation-card:focus-visible { background:#242e26; border-color:var(--bronze); transform:translateY(-3px); }
.affiliation-card-top { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:34px; gap:10px; }
.affiliation-monogram { display:inline-flex; align-items:center; justify-content:center; font-family:'Arial Black',Arial,sans-serif; font-size:clamp(20px,2.3vw,32px); font-weight:900; line-height:1; letter-spacing:-.06em; color:var(--bronze-light); }
.affiliation-arrow { color:var(--bronze-light); font-size:18px; font-weight:700; }
.affiliation-card h3 { font-size:18px; line-height:1.25; letter-spacing:-.035em; color:var(--cream); margin:0 0 11px; }
.affiliation-card p { margin:auto 0 0; color:#abb3ab; font-size:12px; line-height:1.5; }
.affiliations-note { margin:24px 0 0; color:#989e98; font-size:11px; line-height:1.6; max-width:950px; }
.social-media-main { background:#111713; }
.social-hero { padding:220px 0 86px; background:radial-gradient(ellipse at 78% 15%,rgba(185,138,87,.13),transparent 42%),linear-gradient(140deg,#111713,#1c251e); border-bottom:1px solid var(--line); }
.social-hero h1 { font-family:'Arial Black',Arial,sans-serif; font-weight:900; letter-spacing:-.067em; font-size:clamp(54px,7vw,98px); line-height:1.03; margin:0 0 28px; }
.social-hero h1 em { color:var(--bronze-light); }
.social-intro { color:var(--muted); max-width:650px; font-size:16px; line-height:1.75; margin:0; }
.social-section { padding:80px 0 130px; }
.social-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.87fr); gap:clamp(55px,7vw,125px); align-items:start; }
.social-label-row { display:flex; align-items:center; justify-content:space-between; gap:15px; flex-wrap:wrap; margin-bottom:24px; }
.social-label-row .eyebrow { margin:0; }
.social-live-indicator { color:var(--muted); font-size:10px; letter-spacing:.11em; }
.facebook-feed-shell { padding:22px; background:#1c2420; border:1px solid rgba(255,255,255,.11); border-radius:6px; }
.dsl-facebook-frame { display:block; width:100%; max-width:500px; min-height:740px; margin:0 auto 24px; background:#fff; border:0; border-radius:4px; }
.social-feed-help { color:#afb4ac; font-size:12px; line-height:1.65; margin:0 0 22px; }
.social-side-heading h2 { font-size:clamp(37px,3.65vw,53px); line-height:1.13; margin:0 0 22px; }
.social-side-heading h2 em { color:var(--bronze-light); }
.social-side-heading>p:last-child { color:var(--muted); max-width:370px; margin-bottom:40px; }
.social-channels { border-top:1px solid var(--line); }
.social-channels a { display:flex; justify-content:space-between; align-items:center; gap:15px; border-bottom:1px solid var(--line); padding:21px 0; }
.social-channels a>span:first-child { font-size:19px; font-weight:900; }
.social-channels a>span:last-child { font-size:12px; color:var(--muted); text-align:right; }
.social-channels a b { color:var(--bronze-light); font-size:18px; padding-left:12px; }
.social-channels a:hover>span:first-child { color:var(--bronze-light); }
.social-cta-panel { margin-top:42px; border:1px solid var(--line); padding:30px; border-radius:5px; }
.social-cta-panel h3 { font-size:25px; margin:0; line-height:1.2; }
.social-cta-panel .underlink { margin-top:24px; }
@media(max-width:1050px) { .affiliations-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .affiliations-intro { gap:35px; } .social-grid { grid-template-columns:1fr; gap:65px; } .social-feed-column { max-width:600px; } }
@media(max-width:680px) { .affiliations-intro { display:block; } .affiliations-intro>p { margin-top:25px; } .social-hero { padding:185px 0 60px; } .social-section { padding:55px 0 90px; } }
@media(max-width:580px) { html{scroll-padding-top:120px} .affiliations-grid { grid-template-columns:1fr; } .affiliation-card { min-height:185px; padding:25px; } .affiliation-card-top { margin-bottom:20px; } .social-hero h1 { font-size:49px; } .facebook-feed-shell { padding:13px; } .social-channels a>span:last-child { font-size:11px; } }


/* ===============================================================
   DSL v4.1 — Flow-based header / full wordmark visibility
   The previous absolute top:39px could overlap the top strip when
   wrapping, zooming, or when a WordPress admin bar was present.
   The identity and navigation now size naturally in document flow.
   =============================================================== */
.top-strip {
  position: relative;
  z-index: 51;
}
.top-strip-inner {
  height: auto;
  min-height: 39px;
  padding-top: 8px;
  padding-bottom: 8px;
  align-items: center;
  line-height: 1.45;
}
.site-header,
.site-header.header-over-hero {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  z-index: 50;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.site-header.header-over-hero {
  background: rgba(12,16,14,.91);
}
.nav-bar {
  height: auto;
  min-height: 102px;
  padding-top: 18px;
  padding-bottom: 18px;
  align-items: center;
}
.wordmark {
  align-self: auto;
  justify-content: center;
  min-width: 185px;
  height: auto;
  flex: 0 0 auto;
  gap: 3px;
  overflow: visible;
  white-space: nowrap;
}
.wordmark-big {
  display: block;
  margin: 0;
  padding: 0;
  font-family: 'Arial Black', Arial, Helvetica, sans-serif;
  font-size: 41px;
  font-weight: 900;
  letter-spacing: -.055em;
  line-height: 1.15;
}
.wordmark-sub {
  display: block;
  margin: 0;
  padding: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .20em;
  line-height: 1.4;
}
.dsl-logo {
  display: block;
  max-width: 250px;
  max-height: 72px;
  width: auto;
  height: auto;
  object-fit: contain;
}
/* Headers no longer overlap hero content, so inner top padding can shrink. */
.hero-inner { padding-top: 95px; }
.archive-intro { padding-top: 115px; }
.standard-page { padding-top: 115px; }
.social-hero { padding-top: 112px; }
@media(max-width:1150px) {
  .nav-bar { min-height: 88px; padding-top: 14px; padding-bottom: 14px; }
}
@media(max-width:580px) {
  .top-strip-inner { min-height: 39px; gap: 12px; padding-block: 9px; }
  .nav-bar { min-height: 82px; padding-block: 12px; }
  .wordmark { min-width: 0; }
  .wordmark-big { font-size: 35px; line-height: 1.18; }
  .wordmark-sub { font-size: 7px; letter-spacing: .15em; line-height: 1.35; }
  .dsl-logo { max-height: 55px; max-width: 190px; }
  .hero-inner { padding-top: 95px; }
  .archive-intro { padding-top: 90px; }
  .standard-page { padding-top: 90px; }
  .social-hero { padding-top: 90px; }
}
@media(max-width:360px) {
  .top-strip-inner { flex-wrap: wrap; justify-content: center; text-align:center; gap:2px 12px; }
  .top-strip-inner span { max-width: none; }
  .wordmark-big { font-size: 32px; }
}


/* ========================================================================
   DSL BRAND v5.0 — official logo integration and charcoal / crimson palette
   Brand artwork is managed through Appearance > Customize > Site Identity.
   Keep the existing modern Arial Bold editorial design and DSL project galleries.
   ======================================================================== */
:root {
  --bg: #121619;
  --bg2: #1b2025;
  --bg3: #252c31;
  --cream: #f4f5f4;
  --white: #fff;
  --muted: #b8c0c6;
  --bronze: #a31824;
  --bronze-light: #e3747a;
  --line: rgba(255,255,255,.16);
}
body { background:var(--bg); color:#f5f5f4; }
.top-strip { background:#0e1114; border-bottom-color:rgba(255,255,255,.12); }
.top-strip-inner { color:#c3c9cd; }
.top-strip-inner a { color:#f2b1b3; }
.site-header,.site-header.header-over-hero {
  background:rgba(18,22,25,.97);
  border-bottom-color:rgba(255,255,255,.12);
}
.site-header { position:relative;top:auto;left:auto;right:auto;bottom:auto; }
.nav-bar { min-height:114px; padding-block:12px; gap:22px; }
.wordmark { min-width:168px; flex-shrink:0; white-space:nowrap; overflow:visible; }
.wordmark:not(.has-brand-logo) .wordmark-big { font-family:'Arial Black',Arial,Helvetica,sans-serif; }
.wordmark:not(.has-brand-logo) .wordmark-sub { color:#ec9ca2; }
.wordmark .period,.footer-brand span { color:var(--bronze-light); }
/* Preserve every pixel of an uploaded official logo; never crop its artwork. */
.wordmark.has-brand-logo {
  width: min(320px, 26vw);
  max-width:320px;
  min-width:170px;
  min-height:78px;
  padding:10px 15px;
  background:#fff;
  border:1px solid #e6e7e7;
  border-radius:5px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex:0 1 auto;
  line-height:normal;
  box-shadow:0 7px 20px rgba(0,0,0,.14);
}
.wordmark.has-brand-logo .dsl-logo {
  display:block;
  position:static;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:77px;
  object-fit:contain;
  object-position:center;
  border:0;
}
.desktop-nav { gap:clamp(10px,1.4vw,23px); flex-wrap:nowrap; font-size:10px; }
.desktop-nav a { white-space:nowrap; }
.desktop-nav a:hover,.desktop-nav a:focus-visible { color:#f5a1a6; }
.desktop-nav a::after { background:var(--bronze-light); }
.nav-cta { flex-shrink:0; white-space:nowrap; }
.mobile-nav { background:#1b2025; }
.eyebrow,.top-strip-inner a,.service-num,.contact-info span { color:#e3747a; }
.eyebrow.light { color:#f2a9ad; }
h1 em,h2 em,.image-quote h2 em { color:#efb5b7; }
.hero-shade {
  background:linear-gradient(90deg,rgba(12,16,19,.87) 0%,rgba(12,16,19,.59) 42%,rgba(12,16,19,.14) 85%),
  linear-gradient(0deg,rgba(12,16,19,.70),transparent 29%,rgba(12,16,19,.22));
}
.about-section,.contact-section,.project-description { background:#151a1e; }
.services-section,.archive-intro { background:#1b2025; }
.service-row:hover { background:#242b31; }
.projects-section,.project-gallery-section { background:#f4f5f4; color:#21282d; }
.projects-section .eyebrow,.section-heading h2 em,.archive-intro h1 em { color:#a31824; }
.pillars b,.project-story a { color:#ef8a90; }
.solid-button { background:#a31824; color:#fff; border-color:#a31824; }
.solid-button:hover { background:#c52e3b; color:#fff; border-color:#c52e3b; }
.outline-button { border-color:#ca4953; color:#fff; }
.outline-button:hover { background:#a31824; color:#fff; border-color:#a31824; }
.project-card:hover .project-arrow { background:#a31824; border-color:#a31824; color:#fff; }
.project-card { background:#22292f; }
.contact-section .form-shell { border-color:rgba(255,255,255,.13); }
.site-footer { background:#0e1114; color:#f0f1f0; }
.footer-top p { color:#bfc7cd; }
.footer-brand.has-brand-logo {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:11px 15px;
  min-height:72px;
  max-width:320px;
  background:#fff;
  border-radius:5px;
  font-size:initial;
  line-height:normal;
}
.dsl-footer-logo { width:auto; height:auto; max-width:100%; max-height:77px; object-fit:contain; }
.footer-identity p { margin-top:14px; }
.affiliation-card:hover,.affiliation-card:focus-visible { background:#272f35; border-color:#b32833; }
.affiliation-monogram,.affiliation-arrow,.social-channels a b { color:#ec9ca2; }
.social-hero,.social-section { background:#151a1e; }
.social-hero h1 em,.social-side-heading h2 em { color:#f0afb2; }
:focus-visible { outline-color:#f2a9ad; }

@media (max-width: 1190px) {
  .desktop-nav, .nav-cta { display:none; }
  .mobile-toggle { display:block; }
  .nav-bar { min-height:98px; }
}
@media (max-width: 880px) {
  .wordmark.has-brand-logo { width:250px; max-width:calc(100% - 60px); min-width:0; min-height:65px; }
  .nav-bar { min-height:92px; padding-block:12px; }
}
@media (max-width: 580px) {
  .nav-bar { min-height:86px; padding-block:10px; }
  .wordmark.has-brand-logo { width:220px; min-height:62px; padding:8px 10px; }
  .wordmark.has-brand-logo .dsl-logo { max-height:60px; }
  .dsl-footer-logo { max-height:65px; }
}
@media (max-width: 380px) {
  .wordmark.has-brand-logo { width:188px; min-height:58px; }
  .wordmark.has-brand-logo .dsl-logo { max-height:54px; }
}


/* ========================================================================
   DSL BRAND v6.0 — LIGHT / BLACK / BRONZE EDITION
   A high-contrast bright update of the existing DSL design. The official red
   and black logo is deliberately left intact; the white header integrates it
   naturally without a separate white logo card.
   ======================================================================== */
:root {
  --bg: #ffffff;
  --bg2: #f7f5f1;
  --bg3: #f3f0ea;
  --cream: #faf9f6;
  --white: #ffffff;
  --muted: #55514b;
  --bronze: #87613d;
  --bronze-light: #b28b64;
  --line: rgba(35, 32, 28, .13);
  --sans: Arial, Helvetica, sans-serif;
  --serif: Arial, Helvetica, sans-serif;
}
html {scrollbar-color:#a18768 #f7f5f1;scrollbar-width:thin;}
body {background:#ffffff;color:#181818;font-family:Arial,Helvetica,sans-serif;font-weight:700;}
body::-webkit-scrollbar {width:9px;}
body::-webkit-scrollbar-track {background:#f7f5f1;}
body::-webkit-scrollbar-thumb {background:#a18768;border:2px solid #f7f5f1;border-radius:12px;}
::selection {background:#decab2;color:#151515;}
:focus-visible {outline-color:var(--bronze);}

/* Brand navigation: warm-black utility bar, bright white main navigation. */
.top-strip {background:#181818;border-bottom-color:#37312c;}
.top-strip-inner {color:#eee9e1;}
.top-strip-inner a {color:#d5b18a;}
.site-header,.site-header.header-over-hero {
  background:#ffffff;
  border-bottom:1px solid #e9e5df;
  box-shadow:0 3px 18px rgba(22,22,22,.055);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  position:relative;top:auto;right:auto;bottom:auto;left:auto;
}
.nav-bar {min-height:102px;height:auto;padding-block:13px;gap:23px;}
.wordmark.has-brand-logo {
  display:flex;align-items:center;justify-content:flex-start;
  width:min(255px,24vw);max-width:255px;min-width:170px;
  min-height:0;height:auto;padding:0;
  background:transparent;border:0;border-radius:0;box-shadow:none;
  overflow:visible;line-height:normal;
}
.wordmark.has-brand-logo .dsl-logo {
  display:block;width:auto;height:auto;max-width:100%;max-height:82px;
  background:transparent;border:0;border-radius:0;box-shadow:none;
  object-fit:contain;object-position:left center;
}
.wordmark:not(.has-brand-logo) {color:#a40000;}
.wordmark:not(.has-brand-logo) .wordmark-sub {color:#171717;}
.wordmark:not(.has-brand-logo) .wordmark-big .period {color:#87613d;}
.desktop-nav {color:#151515;font-size:10px;font-weight:800;gap:clamp(12px,1.35vw,23px);}
.desktop-nav a:hover,.desktop-nav a:focus-visible {color:#87613d;}
.desktop-nav a::after {background:#87613d;}
.nav-cta {color:#191919;border-color:#947151;background:#fff;}
.nav-cta:hover {background:#87613d;border-color:#87613d;color:#fff;}
.mobile-toggle span {background:#1b1b1b;}
.mobile-nav {background:#fff;color:#171717;border-top:1px solid #ebe6de;box-shadow:0 12px 20px rgba(0,0,0,.06);}
.mobile-nav a {border-bottom:1px solid #ebe6de;}
.mobile-nav a:hover {color:#87613d;}

/* Hero preserves original project photo but removes heavy global dark tint. */
.hero {background-color:#4a493f;color:#fff;}
.hero-shade {
  background:linear-gradient(90deg,rgba(13,15,14,.77) 0%,rgba(13,15,14,.49) 37%,rgba(13,15,14,.09) 80%),
             linear-gradient(0deg,rgba(13,15,14,.34),transparent 38%);
}
.hero h1 {color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.11);}
.hero .hero-copy {color:#fff;}
.hero .eyebrow {color:#ead2b6;}
.hero-bottom {color:#fff;}
.hero .text-button {color:#fff;border-bottom-color:rgba(255,255,255,.82);}
.hero .text-button:hover {color:#edcaa5;}
.scroll-line {background:#dfbd93;}
.eyebrow,.service-num,.contact-info span {color:#87613d;}
.eyebrow.light {color:#ecd0b0;}
h1 em,h2 em,.about-grid h2 em,.section-heading h2 em,
.affiliations-intro h2 em,.social-hero h1 em,.social-side-heading h2 em {color:#906940;}
.solid-button {background:#87613d;border-color:#87613d;color:#fff;}
.solid-button:hover {background:#664728;border-color:#664728;color:#fff;}
.outline-button {border-color:#87613d;color:#181818;}
.outline-button:hover {background:#87613d;border-color:#87613d;color:#fff;}
.underlink {color:#181818;border-bottom-color:#87613d;}
.underlink span {color:#87613d;}
.underlink:hover {color:#87613d;}

/* White editorial content panels with black typography and bronze highlights. */
.about-section {background:#ffffff;color:#191919;}
.about-right p,.pillars p {color:#595650;}
.about-right .about-lead {color:#191919;}
.years-lockup>span,.pillars b {color:#87613d;}
.years-lockup p {color:#55514b;}
.pillars {border-top-color:#e0dbd3;}
.pillars h3 {color:#1c1c1c;}
.projects-section,.project-gallery-section {background:#f7f5f1;color:#1c1c1c;}
.projects-section .eyebrow,.section-heading h2 em,.archive-intro h1 em {color:#87613d;}
.section-intro,.section-intro p,.gallery-title>p {color:#5a554f;}
.projects-section .underlink {color:#1b1b1b;}
.project-card {background:#383432;color:#fff;}
.project-card .project-overlay h3 {color:#fff;}
.project-meta {color:#f1d7b5;}
.project-card:hover .project-arrow {background:#87613d;border-color:#87613d;color:#fff;}
.services-section {background:#fff;color:#171717;}
.services-list {border-top-color:#ded8d0;}
.service-row {border-bottom-color:#ded8d0;}
.service-row:hover {background:#f7f3ec;}
.service-row h3 {color:#1b1b1b;}
.service-row p {color:#55514b;}
.service-num,.service-arrow {color:#87613d;}

/* Affiliations: light paper-colored band and white cards. */
.affiliations-section {background:#f5f2ec;color:#191919;}
.affiliations-intro>p {color:#59534e;}
.affiliation-card {background:#fff;border-color:#e4ded3;color:#171717;box-shadow:0 6px 22px rgba(41,33,24,.035);}
.affiliation-card:hover,.affiliation-card:focus-visible {background:#fff;border-color:#87613d;box-shadow:0 12px 30px rgba(41,33,24,.10);}
.affiliation-monogram,.affiliation-arrow {color:#87613d;}
.affiliation-card h3 {color:#202020;}
.affiliation-card p {color:#59544d;}
.affiliations-note {color:#68625a;}

/* The full-width photographic statement intentionally stays dark for contrast. */
.image-quote {color:#fff;}
.image-quote h2,.image-quote h2 em {color:#fff;}
.image-quote h2 em {color:#ebd1b4;}
.image-quote .eyebrow {color:#f1ddc5;}

/* A bright contact area and white enquiry form for readability. */
.contact-section {background:#f7f5f1;color:#1b1b1b;}
.contact-blurb {color:#57524c;}
.contact-info a,.contact-info p {color:#1a1a1a;}
.contact-info span {color:#87613d;}
.form-shell {background:#fff;border:1px solid #dfd9cf;box-shadow:0 12px 40px rgba(45,35,23,.045);}
.form-shell h3 {color:#191919;}
.dsl-contact-form label {color:#292621;}
.dsl-contact-form input,.dsl-contact-form select,.dsl-contact-form textarea {
  background:#fff;border:1px solid #d8d2c9;color:#191919;
}
.dsl-contact-form input:focus,.dsl-contact-form select:focus,.dsl-contact-form textarea:focus {border-color:#87613d;}
.dsl-contact-form input::placeholder,.dsl-contact-form textarea::placeholder {color:#77716a;}
.form-footnote {color:#5d5851;}
.form-footnote a {color:#87613d;}
.form-status {background:#f4e1d1;color:#4a2e16;}
.form-status.success {background:#e2f0df;color:#234021;}

/* Footer is white too, so the black part of the existing DSL logo reads clearly. */
.site-footer {background:#fff;color:#171717;border-top:3px solid #b18b65;}
.footer-top p,.footer-contact p {color:#5e5850;}
.footer-links a,.footer-contact a {color:#202020;}
.footer-links a:hover,.footer-contact a:hover {color:#87613d;}
.footer-bottom {border-top-color:#e5dfd7;color:#6a645c;}
.footer-brand.has-brand-logo {
  display:inline-flex;align-items:center;justify-content:flex-start;
  padding:0;min-height:0;max-width:260px;
  background:transparent;border:0;border-radius:0;box-shadow:none;
}
.dsl-footer-logo {display:block;max-width:250px;max-height:78px;width:auto;height:auto;object-fit:contain;}
.footer-brand:not(.has-brand-logo) {color:#a40000;}

/* Inner project pages and portfolio archive. */
.project-hero {color:#fff;}
.project-hero h1,.project-hero p:last-child {color:#fff;}
.project-hero .eyebrow,.project-hero .back-link {color:#ead0ad;}
.project-description {background:#fff;color:#181818;}
.project-story {color:#56514c;}
.project-story a {color:#87613d;}
.project-gallery-section {background:#f7f5f1;color:#191919;}
.next-project {background:#1a1a1a;color:#fff;}
.next-project h2 {color:#fff;}
.archive-main {background:#f7f5f1;color:#1b1b1b;}
.archive-intro {background:#f7f5f1;color:#171717;border-bottom:1px solid #e3ddd5;}
.archive-intro p:last-child {color:#55514b;}
.archive-section {background:#f7f5f1;}
.standard-page {background:#fff;color:#171717;}
.standard-page .page-body {color:#514d47;}

/* Social-media feed page stays useful while adopting the light palette. */
.social-media-main,.social-section {background:#fff;color:#171717;}
.social-hero {background:linear-gradient(125deg,#ffffff 0%,#f3eee6 100%);border-bottom:1px solid #e5ded5;color:#171717;}
.social-hero h1 {color:#171717;}
.social-hero h1 em,.social-side-heading h2 em {color:#87613d;}
.social-intro,.social-side-heading>p:last-child {color:#57524a;}
.social-live-indicator,.social-feed-help {color:#615c55;}
.facebook-feed-shell {background:#f7f5f1;border:1px solid #e1dbd2;}
.social-channels {border-top-color:#ddd7ce;}
.social-channels a {border-bottom-color:#ddd7ce;}
.social-channels a>span:first-child {color:#181818;}
.social-channels a>span:last-child {color:#59534c;}
.social-channels a b {color:#87613d;}
.social-channels a:hover>span:first-child {color:#87613d;}
.social-cta-panel {border-color:#dfd7cc;background:#faf8f4;}

@media(max-width:1190px) {
  .desktop-nav,.nav-cta {display:none;}
  .mobile-toggle {display:block;}
}
@media(max-width:880px) {
  .nav-bar {min-height:90px;padding-block:12px;}
  .wordmark.has-brand-logo {width:236px;max-width:calc(100% - 60px);min-width:0;}
  .wordmark.has-brand-logo .dsl-logo {max-height:76px;}
}
@media(max-width:580px) {
  .nav-bar {min-height:78px;padding-block:10px;}
  .wordmark.has-brand-logo {width:205px;max-width:calc(100% - 45px);min-width:0;padding:0;}
  .wordmark.has-brand-logo .dsl-logo {max-height:60px;}
  .hero-shade {background:linear-gradient(90deg,rgba(13,15,14,.75),rgba(13,15,14,.28)),linear-gradient(0deg,rgba(0,0,0,.2),transparent 40%);}
  .affiliation-card {background:#fff;}
  .dsl-footer-logo {max-height:64px;}
}
@media(max-width:380px) {
  .wordmark.has-brand-logo {width:185px;}
  .wordmark.has-brand-logo .dsl-logo {max-height:54px;}
}


/* V7 Bright editorial layout — white, black, bronze; no rounded badge around logo */
:root{--bg:#fff;--bg2:#fff;--bg3:#f7f5f1;--cream:#111;--muted:#545454;--bronze:#a66a34;--bronze-light:#c69365;--line:rgba(0,0,0,.12);--serif:Arial,Helvetica,sans-serif}
body{background:#fff;color:#171717;font:15px/1.5 Arial,Helvetica,sans-serif} h1,h2,h3,h4,button,.v7-btn{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:-.035em;font-weight:800} .wrap{width:min(1380px,calc(100% - 84px))} .top-strip{background:#f5f3f0;color:#151515;border:0}.top-strip-inner{min-height:29px;padding:4px 0;height:auto;color:#111;font-size:12px;letter-spacing:0;font-weight:700}.top-strip-inner a{color:#111}.site-header,.site-header.header-over-hero{position:relative;top:auto;background:#fff!important;backdrop-filter:none;border-bottom:1px solid #e7e4df;box-shadow:0 2px 10px #00000008}.nav-bar{min-height:88px;height:auto;padding:10px 0;gap:28px}.wordmark,.wordmark.has-brand-logo{background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;min-width:0!important;width:auto!important;height:auto!important;padding:0!important;overflow:visible!important}.dsl-logo{width:auto!important;height:auto!important;max-width:210px!important;max-height:70px!important;object-fit:contain;filter:none!important;border:0!important;border-radius:0!important;background:transparent!important}.desktop-nav{display:flex;flex-wrap:wrap;gap:28px}.desktop-nav a{font-size:12px!important;font-weight:800!important;color:#131313!important;letter-spacing:.025em!important;text-transform:uppercase}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:#a66a34!important}.nav-cta,.outline-button.nav-cta{color:#8b511e!important;background:#fff!important;border:2px solid #a66a34!important;border-radius:0!important;font-size:12px!important;padding:12px 18px!important;white-space:nowrap}.mobile-toggle span{background:#111!important}.mobile-nav{background:#fff!important;color:#111!important}.mobile-nav a{color:#111!important}.dsl-v7-home{background:#fff;color:#111;overflow:hidden}.dsl-v7-home .v7-hero{background-image:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.18) 54%,rgba(0,0,0,.02)),var(--v7-hero);background-size:cover;background-position:center;min-height:540px;display:flex;align-items:center}.v7-hero-content{padding:60px 0;color:#fff}.v7-hero h1{font:900 clamp(44px,4.3vw,75px)/1.03 Arial,Helvetica,sans-serif!important;letter-spacing:-.055em;max-width:620px;margin:0}.v7-line{display:block;width:72px;height:5px;background:#b67d48;margin:18px 0}.v7-hero p{font-size:clamp(16px,1.45vw,21px);font-weight:600;max-width:510px;line-height:1.45}.v7-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}.v7-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:linear-gradient(180deg,#c28b54,#965a27);color:#fff!important;padding:13px 23px;font-size:13px;border:0;border-radius:2px;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:filter .2s}.v7-btn:hover{filter:brightness(.88)}.v7-outline-light{background:transparent;border:2px solid #fff;color:#fff!important}.v7-about{background:#fff}.v7-about-grid{display:grid;grid-template-columns:1fr 1fr;min-height:290px}.v7-about-copy{padding:55px 5% 46px 0;align-self:center}.v7-about-copy h2{font-size:clamp(28px,3vw,42px);margin:0 0 13px}.v7-about-copy p{max-width:590px;font-size:16px;line-height:1.55;margin:0}.v7-about-photo{background-position:center;background-size:cover;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)}.v7-section{padding:58px 0}.v7-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}.v7-kicker{color:#985b2a;font-weight:900;letter-spacing:.24em;font-size:12px;line-height:1.4;margin:0 0 9px;text-transform:uppercase}.v7-kicker:before{content:'';display:inline-block;width:35px;height:2px;background:#b77a42;vertical-align:middle;margin-right:12px}.v7-heading h2,.v7-center h2{font-size:clamp(26px,2.8vw,39px);line-height:1.1;margin:0}.v7-more{font-weight:800;font-size:13px;color:#92521e;text-decoration:none;white-space:nowrap}.v7-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.v7-project{display:block;color:#111!important}.v7-project-image{aspect-ratio:1.46;position:relative;overflow:hidden}.v7-project-image img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.v7-project:hover img{transform:scale(1.05)}.v7-project-image span{position:absolute;bottom:0;left:0;background:#a66a34;color:#fff;font-size:11px;font-weight:900;padding:6px 12px}.v7-project h3{font-size:20px;line-height:1.15;margin:11px 0 7px}.v7-project p{font-size:13px;line-height:1.43;color:#444;margin:0 0 13px}.v7-project strong{font-size:13px;color:#945c2f}.v7-center{text-align:center;margin-bottom:26px}.v7-center .v7-kicker:after{content:'';display:inline-block;width:35px;height:2px;background:#b77a42;vertical-align:middle;margin-left:12px}.v7-service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.v7-service{background:#f7f6f4;padding:20px 14px;min-height:192px;text-align:center;color:#111!important;display:block;border:1px solid #e9e6e1}.v7-service>span{font-size:35px;color:#a66a34;line-height:1}.v7-service h3{font-size:17px;line-height:1.15;margin:12px 0 8px}.v7-service p{font-size:12px;line-height:1.38;margin:0;color:#444}.v7-details{padding-top:32px}.v7-detail-grid{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:16px;align-items:stretch}.v7-detail-grid>div{padding:4px 17px 4px 0}.v7-detail-grid h2{font-size:clamp(29px,2.7vw,38px);line-height:1.08;margin:0 0 14px}.v7-detail-grid p:not(.v7-kicker){font-size:14px;line-height:1.5}.v7-detail-grid img{width:100%;height:245px;object-fit:cover}.v7-commercial{display:grid;grid-template-columns:1.05fr 1fr;min-height:300px;background:#f8f6f2}.v7-commercial-image{background-position:center;background-size:cover;clip-path:polygon(0 0,100% 0,90% 100%,0 100%)}.v7-commercial-copy{padding:46px max(42px,calc((100vw - 1380px)/2)) 40px 45px}.v7-commercial-copy h2{font-size:38px;line-height:1.05;margin:0 0 12px}.v7-commercial-copy p:not(.v7-kicker){max-width:490px;font-size:15px}.v7-affiliations{padding:42px 0 26px}.v7-aff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.v7-aff-grid a{border-right:1px solid #d9d3cc;text-align:center;padding:10px 16px;color:#694226!important;display:flex;flex-direction:column;gap:3px;justify-content:center}.v7-aff-grid a:nth-child(4n){border-right:0}.v7-aff-grid b{font-size:27px;line-height:1;font-weight:900}.v7-aff-grid span{font-size:10px;font-weight:800;text-transform:uppercase}.v7-testimonials{background:#f8f7f5;padding:43px 0}.v7-testimonials .v7-center{margin-bottom:8px}.v7-reviews-note{text-align:center;color:#555;margin:0 0 18px}.v7-review-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.v7-btn-alt{background:#fff!important;border:1px solid #9b6236;color:#8e552a!important}.v7-social-grid{display:grid;grid-template-columns:1fr 2fr;gap:25px;align-items:center}.v7-social-grid h2{font-size:30px;margin:0 0 9px;line-height:1.1}.v7-social-grid p:not(.v7-kicker){font-size:14px}.v7-social-pics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.v7-social-pics img{width:100%;height:170px;object-fit:cover}.v7-cta{background:linear-gradient(115deg,#b67b43,#955826);color:#fff;padding:34px 0}.v7-cta-grid{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center}.v7-cta h2{font-size:clamp(30px,3vw,44px);line-height:1.1;margin:0 0 8px;color:#fff}.v7-cta p{margin:0;max-width:750px;font-size:14px}.v7-cta-button{background:#fff!important;color:#7a441e!important;white-space:nowrap}.v7-form-section{background:#f9f8f5}.v7-inquiry-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}.v7-inquiry-grid h2{font-size:38px;line-height:1.1}.v7-inquiry-grid>div>p:not(.v7-kicker){font-size:16px}.v7-inquiry-grid>div>p a{color:#92521e;font-weight:800}.dsl-v7-home .form-shell{background:#fff;border:1px solid #ddd7d0;padding:30px}.dsl-v7-home .form-shell h3{font-size:25px}.dsl-v7-home .dsl-contact-form label{color:#333;font-size:12px}.dsl-v7-home .dsl-contact-form input,.dsl-v7-home .dsl-contact-form select,.dsl-v7-home .dsl-contact-form textarea{background:#fff;color:#111;border:1px solid #c6c2bd}.dsl-v7-home .form-footnote{color:#555}.dsl-v7-home .form-footnote a{color:#905727}.site-footer{background:#151515;color:#fff}.footer-brand,.footer-brand.has-brand-logo{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}.dsl-footer-logo{background:transparent!important;max-width:190px;max-height:90px;object-fit:contain;filter:brightness(0) invert(1)}.site-footer a,.site-footer p{color:#eaeaea}.site-footer .footer-brand{color:#fff}.social-hero{background:#f6f4f0!important;color:#111}.social-hero h1{color:#111}.social-section,.standard-page{background:#fff;color:#111}.affiliations-section{background:#fff!important;color:#111}.affiliation-card{background:#f8f6f2!important;color:#111!important;border:1px solid #e5e0d9}.affiliation-card h3,.affiliations-intro h2{color:#111!important}.affiliation-card p,.affiliations-intro>p{color:#555!important}.archive-intro{background:#f4f2ee;color:#111}.archive-intro h1{color:#111}.archive-intro p:last-child{color:#444}.archive-section{background:#fff}.project-hero{color:#fff}.project-gallery-section{background:#fff}.project-description{background:#f7f6f3;color:#111}.project-detail-grid p{color:#333}.social-channels{color:#111}html{scrollbar-color:#a66a34 #eee;scrollbar-width:thin}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:#eee}body::-webkit-scrollbar-thumb{background:#a66a34;border-radius:8px}
@media(max-width:1100px){.desktop-nav{gap:13px}.desktop-nav a{font-size:10px!important}.v7-service-grid{grid-template-columns:repeat(3,1fr)}.v7-project-grid{grid-template-columns:repeat(2,1fr)}.v7-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:880px){.desktop-nav,.nav-cta{display:none!important}.mobile-toggle{display:block}.nav-bar{min-height:78px}.v7-about-grid,.v7-commercial,.v7-social-grid,.v7-inquiry-grid{grid-template-columns:1fr}.v7-about-copy{padding:38px 0}.v7-about-photo{min-height:250px;clip-path:none}.v7-commercial-image{min-height:280px;clip-path:none}.v7-commercial-copy{padding:35px 42px}.v7-cta-grid{grid-template-columns:1fr;gap:18px}.v7-cta-button{justify-self:start}}
@media(max-width:580px){.wrap{width:calc(100% - 36px)}.top-strip-inner{font-size:10px;gap:10px}.top-strip-inner span{max-width:190px}.dsl-logo{max-width:170px!important;max-height:57px!important}.nav-bar{min-height:74px}.dsl-v7-home .v7-hero{min-height:540px;background-position:60% center}.v7-hero-content{padding:40px 0}.v7-hero h1{font-size:clamp(40px,11vw,60px)!important}.v7-hero p{font-size:16px}.v7-section{padding:42px 0}.v7-heading{display:block}.v7-more{display:inline-block;margin-top:12px}.v7-project-grid,.v7-detail-grid,.v7-service-grid,.v7-aff-grid{grid-template-columns:1fr 1fr}.v7-project h3{font-size:17px}.v7-project p{font-size:12px}.v7-project-image{aspect-ratio:1.18}.v7-service{min-height:190px;padding:18px 8px}.v7-service h3{font-size:15px}.v7-detail-grid>div{grid-column:span 2}.v7-detail-grid img{height:190px}.v7-aff-grid b{font-size:23px}.v7-aff-grid a{padding:10px 4px}.v7-aff-grid a:nth-child(2n){border:0}.v7-commercial-copy{padding:35px 18px}.v7-social-pics img{height:115px}.v7-cta h2{font-size:31px}.v7-form-section .form-shell{padding:20px}.v7-form-section .form-two{grid-template-columns:1fr}}

/* v8: taller opening photograph and charcoal call-to-action matching the footer */
.dsl-v7-home .v7-hero{min-height:clamp(640px,74vh,940px);background-position:center 48%;}
.dsl-v7-home .v7-hero-content{padding-top:95px;padding-bottom:95px;}
.dsl-v7-home .v7-cta{background:#151515;color:#fff;border-top:3px solid #a66a34;}
.dsl-v7-home .v7-cta-button{background:#fff!important;color:#151515!important;}
.dsl-v7-home .dsl-form-privacy{color:#575757;font-size:12px;line-height:1.5;margin:8px 0 16px;}
.dsl-v7-home .dsl-contact-form input::placeholder,.dsl-v7-home .dsl-contact-form textarea::placeholder{color:#747474;opacity:1;}
@media(max-width:580px){.dsl-v7-home .v7-hero{min-height:660px;background-position:58% center}.dsl-v7-home .v7-hero-content{padding-top:50px;padding-bottom:50px}}


/* v10: full hide/show header: use fixed positioning instead of sticky.
   A same-height JS spacer prevents any jump in the document layout. */
.dsl-header-spacer{display:block;height:0;pointer-events:none;}
.site-header,.site-header.header-over-hero{
  position:relative!important;
  top:auto!important;left:auto!important;right:auto!important;
  z-index:1000!important;
  transform:none;opacity:1;visibility:visible;
  transition:none;
}
.site-header.dsl-nav-fixed,.site-header.header-over-hero.dsl-nav-fixed{
  position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%;
  transform:translate3d(0,0,0);
  transition:transform .3s ease,opacity .3s ease,visibility 0s;
  will-change:transform;
}
.site-header.dsl-nav-fixed.dsl-nav-hidden{
  transform:translate3d(0,-110%,0)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:transform .3s ease,opacity .3s ease,visibility 0s linear .3s;
}
.site-header.dsl-nav-scrolled{box-shadow:0 6px 18px rgba(0,0,0,.1)!important;}
html{scroll-padding-top:105px;}
@media(max-width:880px){html{scroll-padding-top:92px;}}
@media(prefers-reduced-motion:reduce){
 .site-header.dsl-nav-fixed,.site-header.dsl-nav-fixed.dsl-nav-hidden{transition:none!important;}
}

/* v11 — About, team, and all-photos gallery. Light architectural theme. */
.dsl-about-main,.dsl-v11-gallery-main{background:#fff;color:#191919}
.dsl-v11-intro{padding:clamp(66px,7vw,112px) 0;background:#f7f5f1;border-bottom:1px solid #e8dfd4}
.dsl-v11-intro h1{font:900 clamp(39px,5.6vw,77px)/1.05 Arial,Helvetica,sans-serif!important;letter-spacing:-.05em;margin:14px 0 18px;color:#161616}
.dsl-v11-intro p:last-child{max-width:720px;font-size:17px;line-height:1.6;color:#514d47}
.dsl-v11-about-body{padding:88px 0}
.dsl-v11-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.dsl-v11-story-grid h2,.dsl-v11-values h2,.dsl-v11-team-section h2,.dsl-v11-bottom-cta h2{font:900 clamp(30px,3.5vw,52px)/1.1 Arial,Helvetica,sans-serif!important;letter-spacing:-.04em;margin:10px 0 22px;color:#171717}
.dsl-v11-story-grid p{font-size:16px;line-height:1.75;color:#4b4742}
.dsl-v11-story-grid img{width:100%;height:470px;object-fit:cover;display:block}
.dsl-v11-user-story{border-top:1px solid #d6cbc0;margin-top:28px;padding-top:12px}
.dsl-v11-user-story p{margin:14px 0}
.dsl-v11-values{background:#f9f7f3;padding:75px 0}
.dsl-v11-values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:35px}
.dsl-v11-values-grid article{border-top:3px solid #ad7c4c;padding:25px 12px 4px 0}
.dsl-v11-values-grid span{color:#956431;font-weight:900;font-size:14px}
.dsl-v11-values-grid h3{font-size:24px;margin:12px 0}
.dsl-v11-values-grid p{line-height:1.7;color:#54504b;font-size:15px}
.dsl-v11-team-section{padding:85px 0}
.dsl-v11-team-intro{font-size:17px;color:#555;margin-bottom:28px}
.dsl-v11-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.dsl-v11-team-card{background:#faf9f6;border:1px solid #e8e1d7}
.dsl-v11-team-image{aspect-ratio:4/4.2;background:#e9e4dc;overflow:hidden}
.dsl-v11-team-image img{display:block;width:100%;height:100%;object-fit:cover}
.dsl-v11-team-placeholder{height:100%;display:grid;place-items:center;font-weight:900;font-size:65px;color:#8e6b44}
.dsl-v11-team-copy{padding:23px}
.dsl-v11-team-card h3{font-size:24px;margin:0 0 4px}
.dsl-v11-role{text-transform:uppercase;letter-spacing:.12em;color:#90602e;font-size:12px;font-weight:900;margin:0 0 16px}
.dsl-v11-bio{font-size:14px;line-height:1.65;color:#4b4845}
.dsl-v11-soon{border:1px solid #e8e1d7;padding:24px;color:#555;background:#faf9f6}
.dsl-v11-bottom-cta{padding:60px 0;background:#151515;color:#fff;border-top:3px solid #a66a34}
.dsl-v11-bottom-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}
.dsl-v11-bottom-cta h2{color:#fff;margin:0}
.dsl-v11-gallery-content{padding:65px 0 90px}
.dsl-v11-gallery-toolbar{display:flex;justify-content:space-between;gap:30px;align-items:center;flex-wrap:wrap;margin-bottom:30px}
.dsl-v11-gallery-toolbar p{color:#5a5550;font-weight:700;white-space:nowrap}
.dsl-v11-filters{display:flex;flex-wrap:wrap;gap:9px}
.dsl-v11-filters a{display:inline-block;padding:11px 16px;border:1px solid #d8cfc2;background:#fff;font-weight:800;font-size:12px;color:#332c25;transition:background .15s,border-color .15s}
.dsl-v11-filters a:hover,.dsl-v11-filters a.active{background:#a66a34;color:#fff;border-color:#a66a34}
.dsl-v11-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.dsl-v11-photo-card{min-width:0}
.dsl-v11-photo-button{display:block;width:100%;padding:0;background:#f3efeb;border:0;aspect-ratio:4/3;overflow:hidden;position:relative;cursor:zoom-in}
.dsl-v11-photo-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.dsl-v11-photo-button:hover img{transform:scale(1.055)}
.dsl-v11-zoom{position:absolute;bottom:9px;right:9px;background:#151515e0;color:#fff;font-size:11px;font-weight:800;padding:7px 11px}
.dsl-v11-photo-caption{display:flex;flex-direction:column;gap:5px;padding:11px 0 14px}
.dsl-v11-photo-caption b{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#a66a34}
.dsl-v11-photo-caption a{font-size:13px;font-weight:800;color:#252525}
.dsl-v11-gallery-pages{display:flex;justify-content:center;align-items:center;gap:22px;padding-top:42px;font-size:14px;font-weight:800}
.dsl-v11-gallery-pages a{color:#895925;border:1px solid #c3a784;padding:10px 18px}
.dsl-v11-gallery-pages a:hover{color:#fff;background:#a66a34}
@media(max-width:1100px){.dsl-v11-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dsl-v11-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.dsl-v11-story-grid{grid-template-columns:1fr;gap:25px}.dsl-v11-story-grid img{height:330px}.dsl-v11-values-grid{grid-template-columns:1fr;gap:14px}.dsl-v11-about-body,.dsl-v11-team-section{padding:55px 0}.dsl-v11-team-grid,.dsl-v11-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.dsl-v11-bottom-cta .wrap{display:block}.dsl-v11-bottom-cta .v7-btn{margin-top:15px}.dsl-v11-photo-caption a{font-size:12px}}
@media(max-width:460px){.dsl-v11-team-grid{grid-template-columns:1fr}.dsl-v11-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dsl-v11-photo-caption{padding:7px 0}.dsl-v11-filters a{font-size:11px;padding:9px 11px}}

.dsl-v11-featured-team{padding:56px 0;background:#f7f5f1}.dsl-v11-featured-team-grid{display:grid;grid-template-columns:300px 1fr;gap:46px;align-items:center;max-width:1000px}.dsl-v11-featured-team-photo{height:310px;background:#e2ddd3}.dsl-v11-featured-team-photo img{width:100%;height:100%;object-fit:cover}.dsl-v11-featured-team h2{font:900 clamp(29px,3vw,43px)/1.1 Arial,Helvetica,sans-serif!important;margin:0 0 10px}.dsl-v11-featured-team p{line-height:1.6}.dsl-v11-featured-team .v7-more{display:inline-block;margin-top:12px}@media(max-width:650px){.dsl-v11-featured-team-grid{grid-template-columns:1fr;gap:20px}.dsl-v11-featured-team-photo{max-width:360px}}

/* v12 - Services page and core values */
.dsl-v12-services-main{background:#fff;color:#191919}
.dsl-v12-services-hero{padding:100px 0 108px;background:#f7f5f1;border-bottom:1px solid #e6ded3}
.dsl-v12-services-hero h1{font:900 clamp(43px,5.6vw,78px)/1.05 Arial,Helvetica,sans-serif!important;letter-spacing:-.045em;margin:16px 0 20px;color:#171717}
.dsl-v12-services-hero p:not(.v7-kicker){max-width:750px;font-size:18px;line-height:1.7;color:#4b4843;margin:0 0 28px}
.dsl-v12-services-overview{padding:75px 0;background:#fff}
.dsl-v12-services-overview h2,.dsl-v12-values-band h2,.dsl-v12-services-end h2{font:900 clamp(33px,3.8vw,56px)/1.1 Arial,Helvetica,sans-serif!important;letter-spacing:-.035em;margin:12px 0 28px;color:#171717}
.dsl-v12-service-jump-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dsl-v12-service-jump-grid a{display:flex;align-items:center;gap:14px;justify-content:space-between;min-height:95px;padding:23px;background:#f8f6f2;border:1px solid #e6dfd3;color:#171717}
.dsl-v12-service-jump-grid a span{color:#a66a34;font-weight:900}.dsl-v12-service-jump-grid a strong{flex:1;font-size:16px}.dsl-v12-service-jump-grid a:hover{border-color:#a66a34;background:#f1e9dc}
.dsl-v12-service-details{padding:15px 0 85px}
.dsl-v12-service-detail{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;padding:75px 0;border-bottom:1px solid #e5dfd7;scroll-margin-top:120px}
.dsl-v12-service-detail.is-reversed .dsl-v12-service-photo{order:2}
.dsl-v12-service-photo{height:430px;background:#eee;overflow:hidden}
.dsl-v12-service-photo img{width:100%;height:100%;object-fit:cover;display:block}
.dsl-v12-service-copy h2{font:900 clamp(30px,3.3vw,49px)/1.1 Arial,Helvetica,sans-serif!important;letter-spacing:-.035em;margin:14px 0 18px;color:#161616}
.dsl-v12-service-copy p:not(.v7-kicker){font-size:16px;line-height:1.75;color:#4d4a46}
.dsl-v12-service-copy ul{padding-left:20px;margin:22px 0 28px}.dsl-v12-service-copy li{margin:8px 0;line-height:1.5;color:#36322e}.dsl-v12-service-copy li::marker{color:#a66a34}
.dsl-v12-values-band{background:#f7f5f1;padding:84px 0}
.dsl-v12-values-row{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.dsl-v12-values-row>div{border-top:3px solid #a66a34;padding-top:19px}
.dsl-v12-values-row strong{font-size:24px}.dsl-v12-values-row p{color:#514d47;line-height:1.65;font-size:15px}
.dsl-v12-services-end{background:#161616;color:#fff;padding:80px 0}.dsl-v12-services-end h2{color:#fff;margin-bottom:15px}.dsl-v12-services-end p{color:#e7e0d8;max-width:680px;line-height:1.7;margin-bottom:25px}
.dsl-v12-services-intro{max-width:720px;margin:15px auto 28px;text-align:center;color:#56514b}
.dsl-v12-services-more{text-align:center;margin-top:28px}
@media(max-width:900px){.dsl-v12-service-jump-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dsl-v12-service-detail{gap:30px}.dsl-v12-service-photo{height:350px}}
@media(max-width:650px){.dsl-v12-services-hero{padding:65px 0}.dsl-v12-service-jump-grid{grid-template-columns:1fr}.dsl-v12-service-detail{grid-template-columns:1fr;padding:46px 0}.dsl-v12-service-detail.is-reversed .dsl-v12-service-photo{order:0}.dsl-v12-service-photo{height:270px}.dsl-v12-values-row{grid-template-columns:1fr;gap:18px}}

/* Version 13: Google Reviews / Testimonials */
.dsl-v13-testimonials-page{background:#fff;color:#191b1a;min-height:75vh}
.dsl-v13-reviews-hero{padding:170px 0 85px;background:#f7f6f3}
.dsl-v13-reviews-hero h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(43px,5vw,76px);font-weight:800;letter-spacing:-.045em;line-height:1.08;margin:12px 0 18px;color:#151515}
.dsl-v13-reviews-hero p:not(.v7-kicker){max-width:670px;font-size:18px;color:#53504b;line-height:1.65}
.dsl-v13-reviews-area{padding:80px 0 110px}
.dsl-v13-reviews-pending{background:#f6f4ef;padding:65px 40px;text-align:center;border:1px solid #e3dbcf}
.dsl-v13-reviews-pending h2,.dsl-v13-review-cta h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(30px,3vw,46px);font-weight:800;letter-spacing:-.035em;margin:0 0 15px}
.dsl-v13-reviews-pending p{color:#56524b}
.dsl-v13-reviews-pending .v7-btn{margin-top:12px}
.dsl-v13-reviews-widget{width:100%;margin:35px auto;max-width:1160px}
.dsl-v13-review-cta{display:flex;gap:40px;align-items:center;justify-content:space-between;margin-top:75px;border-top:1px solid #e5ded3;padding-top:58px}
.dsl-v13-review-cta p{max-width:620px}
.dsl-v13-review-page-content{margin:36px 0}
@media(max-width:700px){.dsl-v13-reviews-hero{padding:150px 0 55px}.dsl-v13-reviews-area{padding:55px 0}.dsl-v13-reviews-pending{padding:36px 22px}.dsl-v13-review-cta{flex-direction:column;align-items:flex-start}}


/* Version 14: Original DSL testimonials followed by Google reviews */
.dsl-v14-written-section{padding:85px 0 100px;background:#fff;color:#181818}
.dsl-v14-section-head{max-width:760px;margin-bottom:36px}
.dsl-v14-section-head h2{font:800 clamp(32px,4vw,54px)/1.13 Arial,Helvetica,sans-serif;letter-spacing:-.035em;margin:8px 0 14px;color:#181818}
.dsl-v14-section-head>p:not(.v7-kicker){color:#5c5954;font-size:16px;line-height:1.65}
.dsl-v14-written-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dsl-v14-testimonial-card{padding:30px;background:#f8f7f4;border:1px solid #e8e3db;border-top:3px solid #ad8050;min-width:0}
.dsl-v14-testimonial-type{font:800 11px Arial,Helvetica,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#926d43;margin:0 0 9px}
.dsl-v14-testimonial-card h3{font:800 clamp(19px,2vw,25px)/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.025em;margin:0 0 16px;color:#181818}
.dsl-v14-testimonial-card .dsl-v14-full-quote,.dsl-v14-testimonial-card .dsl-v14-excerpt{font:500 15px/1.8 Arial,Helvetica,sans-serif;color:#363431}
.dsl-v14-full-quote p{margin:0 0 12px}.dsl-v14-full-quote p:last-child{margin-bottom:0}
.dsl-v14-testimonial-detail summary{list-style:none;cursor:pointer}.dsl-v14-testimonial-detail summary::-webkit-details-marker{display:none}
.dsl-v14-testimonial-detail .dsl-v14-excerpt{display:block}
.dsl-v14-testimonial-detail[open] .dsl-v14-excerpt{display:none}
.dsl-v14-readmore{display:inline-block;color:#88613c;text-transform:uppercase;font:800 11px Arial,Helvetica,sans-serif;letter-spacing:.10em;margin:13px 0 4px;border-bottom:1px solid #ad8050;padding-bottom:3px}
.dsl-v14-testimonial-detail[open] .dsl-v14-readmore{margin-bottom:16px}
.dsl-v14-original-link{margin-top:27px;color:#6b665f;font-size:13px}.dsl-v14-original-link a{color:#765632;text-decoration:underline}
.dsl-v14-google-section{background:#f4f1eb;padding-top:86px}
@media(max-width:750px){.dsl-v14-written-section{padding:55px 0 70px}.dsl-v14-written-grid{grid-template-columns:1fr}.dsl-v14-testimonial-card{padding:24px}.dsl-v14-google-section{padding-top:56px}}


/* DSL v15 — larger fading homepage hero and brand motto */
.dsl-v7-home .dsl-v15-hero{
  isolation:isolate;position:relative;overflow:hidden;
  min-height:680px;height:clamp(680px,78vh,1040px);
  display:flex;align-items:center;background-image:none!important;background-color:#242424;
}
.dsl-v15-slides,.dsl-v15-hero-overlay{position:absolute;inset:0;pointer-events:none}
.dsl-v15-slides{z-index:-2}
.dsl-v15-slide{position:absolute;inset:0;background-size:cover;background-position:center 49%;background-repeat:no-repeat;opacity:0;transition:opacity 1500ms ease-in-out;will-change:opacity}
.dsl-v15-slide.is-active{opacity:1}
.dsl-v15-hero-overlay{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.30) 50%,rgba(0,0,0,.12) 100%)}
.dsl-v15-hero .v7-hero-content{position:relative;z-index:2;padding-top:90px;padding-bottom:115px}
.dsl-v15-slider-controls{position:absolute;z-index:3;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:14px;align-items:center;justify-content:center}
.dsl-v15-slider-dot{width:34px;height:12px;display:block;border:0;border-radius:0;cursor:pointer;background:transparent;padding:0;position:relative}
.dsl-v15-slider-dot:before{content:'';position:absolute;left:0;right:0;top:4px;height:4px;background:rgba(255,255,255,.52);transition:background .25s,transform .25s}
.dsl-v15-slider-dot.is-active:before{background:#bd874e;transform:scaleY(1.5)}
.dsl-v15-slider-dot:focus-visible{outline:2px solid #fff;outline-offset:5px}
.dsl-v15-tagline{background:#f7f5f1;padding:45px 0;text-align:center;border-top:1px solid #eee7de;border-bottom:1px solid #eee7de}
.dsl-v15-tagline p{font:italic 900 clamp(27px,3vw,40px)/1.15 Arial,Helvetica,sans-serif!important;color:#181818;letter-spacing:-.035em;margin:0}
@media(max-width:900px){.dsl-v7-home .dsl-v15-hero{min-height:630px;height:76svh;max-height:900px}.dsl-v15-hero .v7-hero-content{padding-top:65px;padding-bottom:95px}}
@media(max-width:600px){.dsl-v7-home .dsl-v15-hero{min-height:590px;height:80svh;max-height:870px}.dsl-v15-slide{background-position:57% center}.dsl-v15-hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.70),rgba(0,0,0,.20))}.dsl-v15-hero .v7-hero-content{padding-top:60px;padding-bottom:100px}.dsl-v15-slider-controls{bottom:24px}.dsl-v15-tagline{padding:33px 0}}
@media(prefers-reduced-motion:reduce){.dsl-v15-slide{transition:none}}

/* DSL v16: show the hero headline and buttons only after the visitor begins scrolling. */
html.dsl-v16-scroll-reveal-ready .dsl-v15-hero .v7-hero-content {
  opacity:0;
  visibility:hidden;
  transform:translateY(24px);
  pointer-events:none;
  transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.2,1),visibility 0s linear .72s;
}
html.dsl-v16-scroll-reveal-ready.dsl-v16-hero-revealed .dsl-v15-hero .v7-hero-content {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
  transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.2,1),visibility 0s;
}
@media (prefers-reduced-motion: reduce) {
  html.dsl-v16-scroll-reveal-ready .dsl-v15-hero .v7-hero-content {
    opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;transition:none!important;
  }
}


/* DSL v17 — Soft architectural gray surfaces.
   All design-only changes; no database or project/team content modifications. */
:root {
  --dsl-soft-gray:#e8e7e4;
  --dsl-gray-utility:#d8d7d3;
  --dsl-gray-band:#f0efec;
  --dsl-gray-border:#cdcac4;
}
/* Light gray utility bar and header retain strong contrast for DSL red/black logo. */
.top-strip {background:var(--dsl-gray-utility)!important;border-bottom:1px solid var(--dsl-gray-border)!important;}
.top-strip .top-strip-inner,.top-strip .top-strip-inner a {color:#1b1b1b!important;}
.site-header,.site-header.header-over-hero {
  background:var(--dsl-soft-gray)!important;
  border-bottom:1px solid var(--dsl-gray-border)!important;
  box-shadow:0 3px 18px rgba(20,20,20,.09);
}
.site-header .desktop-nav a,.site-header .mobile-nav a {color:#191919!important;}
.site-header .nav-cta,.site-header .outline-button.nav-cta {
  background:transparent!important;color:#66401f!important;
  border-color:#a66a34!important;
}
.site-header .nav-cta:hover,.site-header .outline-button.nav-cta:hover {
  background:#a66a34!important;color:#fff!important;
}
.site-header .mobile-nav {background:#e8e7e4!important;border-top:1px solid var(--dsl-gray-border)!important;}
/* Keep the real logo flat and uncropped against the gray. */
.site-header .wordmark,.site-header .wordmark.has-brand-logo,
.site-header .dsl-logo {background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important;}
/* Alternate subtle gray section bands with white photo-first sections. */
.dsl-v7-home .v7-about,.dsl-v7-home .v7-services,
.dsl-v7-home .v7-affiliations,.dsl-v7-home .v7-testimonials,
.dsl-v7-home .dsl-v11-featured-team {background:var(--dsl-gray-band)!important;}
.dsl-v7-home .v7-projects,.dsl-v7-home .v7-details {background:#fff!important;}
.dsl-v7-home .v7-service {background:#fbfaf8!important;border-color:#d7d4cf!important;}
.dsl-v7-home .v7-commercial {background:#eae8e3!important;}
.dsl-v15-tagline {background:var(--dsl-soft-gray)!important;border-color:var(--dsl-gray-border)!important;}
/* Inner page titles and category/tool strips */
.dsl-v12-services-hero,.dsl-v13-reviews-hero,
.dsl-v11-about-hero,.dsl-v11-gallery-hero,.dsl-v14-google-section,
.dsl-v12-values-band {background:var(--dsl-gray-band)!important;}
.dsl-v12-service-jump-grid a,.dsl-v13-reviews-pending,
.dsl-v14-testimonial-card {background:#f6f5f2!important;border-color:#d7d4ce!important;}
/* Keep footer and final dark CTA unchanged for contrast. */
@media (prefers-reduced-motion:reduce) {
  .site-header,.site-header.header-over-hero {transition:none!important;}
}


/* Version 18: Clear, unfiltered homepage slideshow photos.
   The animated text and buttons still appear on scroll. */
.dsl-v7-home .dsl-v15-hero .dsl-v15-hero-overlay {
  background: transparent !important;
  opacity: 0 !important;
  display: none !important;
}
.dsl-v7-home .dsl-v15-hero .dsl-v15-slides,
.dsl-v7-home .dsl-v15-hero .dsl-v15-slide {
  filter: none !important;
  -webkit-filter: none !important;
}
/* Maintain readable white copy without tinting the project photography. */
.dsl-v7-home .dsl-v15-hero .v7-hero-content h1,
.dsl-v7-home .dsl-v15-hero .v7-hero-content p {
  text-shadow: 0 2px 12px rgba(0,0,0,.8), 0 1px 3px rgba(0,0,0,.55);
}

/* v19 Featured Projects carousel: fully dynamic; four cards on desktop, two tablet, one phone. */
.dsl-project-carousel{width:100%;min-width:0}
.dsl-project-carousel-window{overflow:hidden;width:100%}
.dsl-project-carousel-track{display:flex;gap:18px;align-items:stretch;transition:transform .65s ease;will-change:transform}
.dsl-project-carousel-card{flex:0 0 calc((100% - 54px)/4);min-width:0;display:block}
.dsl-project-carousel-card .v7-project-image img{width:100%}
.dsl-project-carousel-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:23px}
.dsl-project-carousel-arrow{appearance:none;background:#f7f5f1;color:#26211c;border:1px solid #a87445;border-radius:2px;width:43px;height:39px;cursor:pointer;font-size:23px;line-height:1}
.dsl-project-carousel-arrow:hover,.dsl-project-carousel-arrow:focus-visible{background:#a87445;color:#fff}
.dsl-project-carousel-arrow:disabled{opacity:.35;cursor:default}
.dsl-project-carousel-status{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;color:#704c31;min-width:110px;text-align:center}
@media(max-width:1100px){.dsl-project-carousel-card{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:580px){.dsl-project-carousel-card{flex-basis:100%}.dsl-project-carousel-track{transition-duration:.45s}}
@media(prefers-reduced-motion:reduce){.dsl-project-carousel-track{transition:none}}


/* DSL v22 — Restore full-bleed homepage slideshow photographs.
   The images fill the hero area naturally (background-size: cover).
   No duplicate blurred layers or letterbox bars. */
.dsl-v7-home .dsl-v15-hero {
  background-image:none!important;
  background-color:#171717;
  min-height:clamp(640px,78vh,940px);
  height:78svh;
}
.dsl-v7-home .dsl-v15-hero .dsl-v15-slides {background:transparent;}
.dsl-v7-home .dsl-v15-hero .dsl-v15-slide {
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  filter:none!important;
}
.dsl-v7-home .dsl-v15-hero .dsl-v15-slide::before,
.dsl-v7-home .dsl-v15-hero .dsl-v15-slide::after {content:none!important;display:none!important;}
@media(max-width:900px){
  .dsl-v7-home .dsl-v15-hero {min-height:600px;height:76svh;}
}
@media(max-width:600px){
  .dsl-v7-home .dsl-v15-hero {min-height:570px;height:80svh;}
  .dsl-v7-home .dsl-v15-hero .dsl-v15-slide {background-position:center center!important;}
}

/* DSL v23 — full-height photo composition without cropping.
   Match the hero to the architectural photos' 3:2 aspect ratio, instead of
   forcing photos into a fixed viewport-height rectangle. All other slideshow
   timing, buttons, captions, controls, and WordPress settings are unchanged. */
.dsl-v7-home .dsl-v15-hero {
  width:100%;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:3 / 2;
  display:flex;
  align-items:center;
  background:#171717;
}
.dsl-v7-home .dsl-v15-hero .dsl-v15-slide {
  background-size:contain!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.dsl-v7-home .dsl-v15-hero .v7-hero-content {
  padding-top:clamp(28px,5vw,90px);
  padding-bottom:clamp(32px,6vw,115px);
}
@media (max-width:900px) {
  .dsl-v7-home .dsl-v15-hero {
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3 / 2;
  }
  .dsl-v7-home .dsl-v15-hero .v7-hero-content {
    padding-top:20px;
    padding-bottom:22px;
  }
  .dsl-v7-home .dsl-v15-hero .v7-hero-content h1 {font-size:clamp(27px,5.6vw,51px)!important;line-height:1.04!important;}
  .dsl-v7-home .dsl-v15-hero .v7-hero-content p {font-size:clamp(11px,1.7vw,15px)!important;line-height:1.3!important;margin:8px 0!important;}
  .dsl-v7-home .dsl-v15-hero .v7-line {margin:9px 0;width:45px;height:3px;}
  .dsl-v7-home .dsl-v15-hero .v7-actions {margin-top:10px;gap:8px;}
  .dsl-v7-home .dsl-v15-hero .v7-actions a {font-size:11px!important;padding:9px 12px!important;}
  .dsl-v7-home .dsl-v15-hero .dsl-v15-slider-controls {bottom:10px;}
}
@media (max-width:600px) {
  .dsl-v7-home .dsl-v15-hero {aspect-ratio:3 / 2;}
  .dsl-v7-home .dsl-v15-hero .v7-hero-content {padding-top:7px;padding-bottom:18px;}
  .dsl-v7-home .dsl-v15-hero .v7-hero-content h1 {font-size:clamp(23px,7vw,37px)!important;max-width:92%;}
  .dsl-v7-home .dsl-v15-hero .v7-hero-content p {font-size:clamp(10px,2.65vw,12px)!important;max-width:94%;}
  .dsl-v7-home .dsl-v15-hero .v7-actions {flex-direction:row;flex-wrap:wrap;align-items:center;gap:7px;}
  .dsl-v7-home .dsl-v15-hero .v7-actions a {font-size:10px!important;padding:7px 9px!important;}
  .dsl-v7-home .dsl-v15-hero .v7-line {margin:5px 0;width:32px;height:2px;}
  .dsl-v7-home .dsl-v15-hero .dsl-v15-slider-controls {bottom:2px;gap:8px;}
  .dsl-v7-home .dsl-v15-hero .dsl-v15-slider-dot {width:24px;}
}

/* DSL v24 — balanced architectural slideshow: a small vertical crop,
   while retaining the existing crossfade, text, and project controls. */
.dsl-v7-home .dsl-v15-hero {
  aspect-ratio: 1.68 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
.dsl-v7-home .dsl-v15-hero .dsl-v15-slide {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
@media (max-width: 900px) {
  .dsl-v7-home .dsl-v15-hero { aspect-ratio: 1.62 / 1 !important; }
}
@media (max-width: 600px) {
  .dsl-v7-home .dsl-v15-hero { aspect-ratio: 1.55 / 1 !important; }
}


/* DSL v25 — responsive architectural hero: balanced height on each device.
   Preserve the same crossfading slideshow, scroll reveal and project content. */
.dsl-v7-home .dsl-v15-hero {
  aspect-ratio: auto !important;
  height: clamp(410px, 43vw, 640px) !important;
  min-height: 0 !important;
  max-height: 640px !important;
}
.dsl-v7-home .dsl-v15-hero .dsl-v15-slide {
  background-size: cover !important;
  background-position: center 48% !important;
  background-repeat: no-repeat !important;
}
@media (min-width: 1600px) {
  .dsl-v7-home .dsl-v15-hero { height: 640px !important; }
}
@media (max-width: 900px) {
  .dsl-v7-home .dsl-v15-hero {
    aspect-ratio: auto !important;
    height: clamp(350px, 52vw, 490px) !important;
    max-height: 490px !important;
  }
  .dsl-v7-home .dsl-v15-hero .dsl-v15-slide { background-position: center 48% !important; }
}
@media (max-width: 600px) {
  .dsl-v7-home .dsl-v15-hero {
    aspect-ratio: auto !important;
    height: clamp(315px, 86vw, 420px) !important;
    max-height: 420px !important;
  }
  .dsl-v7-home .dsl-v15-hero .dsl-v15-slide { background-position: center 48% !important; }
  .dsl-v7-home .dsl-v15-hero .v7-hero-content { padding-top: 12px !important; padding-bottom: 23px !important; }
  .dsl-v7-home .dsl-v15-hero .v7-hero-content h1 { font-size:clamp(24px,6.5vw,36px)!important; }
}

/* DSL v26 — slightly taller photographic hero, responsive across devices.
   Keeps existing slide animations, image focus, and scroll-triggered content. */
@media (min-width: 901px) {
  .dsl-v7-home .dsl-v15-hero {
    aspect-ratio: auto !important;
    height: clamp(530px, 49vw, 780px) !important;
    min-height: 530px !important;
    max-height: 780px !important;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .dsl-v7-home .dsl-v15-hero {
    aspect-ratio: auto !important;
    height: clamp(440px, 62vw, 580px) !important;
    min-height: 440px !important;
    max-height: 580px !important;
  }
}
@media (max-width: 600px) {
  .dsl-v7-home .dsl-v15-hero {
    aspect-ratio: auto !important;
    height: clamp(380px, 105vw, 500px) !important;
    min-height: 380px !important;
    max-height: 500px !important;
  }
}


/* DSL v27: Architecturally focused hero imagery. Keep the house roofs visible
   at all breakpoints rather than centering the cover crop on the driveway.
   The original full-bleed crossfade and scroll reveal are preserved. */
.dsl-v7-home .dsl-v15-hero .dsl-v15-slide {
  background-position: center 12% !important;
}
@media (max-width:900px) {
 .dsl-v7-home .dsl-v15-hero .dsl-v15-slide { background-position:center 10% !important; }
}
@media (max-width:600px) {
 .dsl-v7-home .dsl-v15-hero .dsl-v15-slide { background-position:center top !important; }
}


/* DSL v28: balanced house framing. v27 top alignment was too extreme.
   Show rooflines AND entry/driveway with modest cropping at each width. */
.dsl-v7-home .dsl-v15-hero .dsl-v15-slide {
  background-position: center 37% !important;
}
@media (min-width: 1600px) {
  .dsl-v7-home .dsl-v15-hero { height: 700px !important; max-height: 700px !important; }
}
@media (min-width: 901px) and (max-width:1599px) {
  .dsl-v7-home .dsl-v15-hero .dsl-v15-slide { background-position:center 39% !important; }
}
@media (min-width:601px) and (max-width:900px) {
  .dsl-v7-home .dsl-v15-hero .dsl-v15-slide { background-position:center 43% !important; }
}
@media (max-width:600px) {
  .dsl-v7-home .dsl-v15-hero .dsl-v15-slide { background-position:center 45% !important; }
}

/* DSL v29 — Lakeland-inspired architectural header + photo-first hero.
   Front page only; other page templates and WordPress content are unchanged. */
body.home .site-header.header-over-hero:not(.dsl-nav-fixed) {
  position:relative!important;
  z-index:1000!important;
  margin-bottom:-88px!important; /* integrate the menu with the photo */
  background:rgba(241,240,237,.88)!important;
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
  border-bottom:1px solid rgba(255,255,255,.45)!important;
  box-shadow:none!important;
}
body.home .site-header.header-over-hero.dsl-nav-fixed {
  margin-bottom:0!important;
  background:rgba(235,234,231,.97)!important;
}
body.home .dsl-v7-home .dsl-v15-hero {
  width:100%!important;
  aspect-ratio:1.64 / 1!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  background:#1a1a1a!important;
}
body.home .dsl-v7-home .dsl-v15-hero .dsl-v15-slide {
  background-size:cover!important;
  background-position:center 50%!important;
  background-repeat:no-repeat!important;
}
/* The photo remains clear; scroll-triggered text/buttons still work. */
body.home .dsl-v7-home .dsl-v15-hero .dsl-v15-hero-overlay {background:none!important;}
body.home .dsl-v7-home .dsl-v15-hero .v7-hero-content {padding-top:110px!important;}
@media (max-width:900px) {
  body.home .site-header.header-over-hero:not(.dsl-nav-fixed){margin-bottom:-82px!important;}
  body.home .dsl-v7-home .dsl-v15-hero {aspect-ratio:1.48 / 1!important;height:auto!important;min-height:0!important;max-height:none!important;}
  body.home .dsl-v7-home .dsl-v15-hero .v7-hero-content {padding-top:105px!important;}
}
@media (max-width:600px) {
  body.home .site-header.header-over-hero:not(.dsl-nav-fixed){margin-bottom:-78px!important;}
  body.home .dsl-v7-home .dsl-v15-hero {
    aspect-ratio:auto!important;
    height:clamp(470px,85svh,740px)!important;
    min-height:470px!important;
    max-height:740px!important;
  }
  body.home .dsl-v7-home .dsl-v15-hero .dsl-v15-slide {background-position:center center!important;}
  body.home .dsl-v7-home .dsl-v15-hero .v7-hero-content {padding-top:95px!important;}
}

/* v37: compact controls for the full, dynamically populated project gallery slideshow. */
.dsl-v7-home .dsl-v15-hero .dsl-v37-slider-controls {gap:14px;bottom:16px;min-width:142px;display:flex;align-items:center;justify-content:center;background:rgba(15,15,15,.55);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:4px 8px;backdrop-filter:blur(5px);}
.dsl-v37-slider-arrow {appearance:none;border:0;background:transparent;color:white;font:700 26px/1 Arial,Helvetica,sans-serif;cursor:pointer;width:34px;height:30px;display:flex;align-items:center;justify-content:center;}
.dsl-v37-slider-count {color:#fff;font:700 12px/1 Arial,Helvetica,sans-serif;white-space:nowrap;letter-spacing:.06em;font-variant-numeric:tabular-nums;}
.dsl-v37-slider-arrow:focus-visible {outline:2px solid #fff;outline-offset:1px;border-radius:50%;}
@media(max-width:600px){.dsl-v7-home .dsl-v15-hero .dsl-v37-slider-controls{bottom:10px;gap:8px;}}

/* DSL v39 — reduce visual dominance of the homepage slideshow.
   Keep its full-width frame, header integration, selected project images,
   shuffle, transitions and controls. Avoid the old width-based 1.64:1
   aspect ratio that makes the hero excessively tall on large monitors. */
@media (min-width: 901px) {
  body.home .dsl-v7-home .dsl-v15-hero {
    aspect-ratio:auto!important;
    height:clamp(530px, 72svh, 740px)!important;
    min-height:530px!important;
    max-height:740px!important;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  body.home .dsl-v7-home .dsl-v15-hero {
    aspect-ratio:auto!important;
    height:clamp(455px, 64svh, 610px)!important;
    min-height:455px!important;
    max-height:610px!important;
  }
}
@media (max-width: 600px) {
  body.home .dsl-v7-home .dsl-v15-hero {
    aspect-ratio:auto!important;
    height:clamp(400px, 66svh, 570px)!important;
    min-height:400px!important;
    max-height:570px!important;
  }
}

/* DSL v40 — responsive slideshow at roughly 80% of the viewport height.
   Overrides v39's short maximum heights, preserves slideshow assets,
   transitions, controls and integrated header. */
@media (min-width: 901px) {
  body.home .dsl-v7-home .dsl-v15-hero {
    aspect-ratio:auto!important;
    height:80vh!important;
    height:80svh!important;
    min-height:560px!important;
    max-height:none!important;
  }
}
@media (min-width:601px) and (max-width:900px) {
  body.home .dsl-v7-home .dsl-v15-hero {
    aspect-ratio:auto!important;
    height:80vh!important;
    height:80svh!important;
    min-height:430px!important;
    max-height:none!important;
  }
}
@media (max-width:600px) {
  body.home .dsl-v7-home .dsl-v15-hero {
    aspect-ratio:auto!important;
    height:80vh!important;
    height:80svh!important;
    min-height:440px!important;
    max-height:none!important;
  }
}

/* DSL v41 — full-screen front-elevation slideshow BELOW the navigation.
   Height adapts to the actual menu/top-strip size; no header overlap. */
body.home .site-header.header-over-hero:not(.dsl-nav-fixed) {
  margin-bottom:0!important;
}
body.home .dsl-v7-home .dsl-v15-hero {
  aspect-ratio:auto!important;
  height:calc(100vh - var(--dsl-home-chrome-height, 140px))!important;
  height:calc(100svh - var(--dsl-home-chrome-height, 140px))!important;
  min-height:0!important;
  max-height:none!important;
}
body.home .dsl-v7-home .dsl-v15-hero .dsl-v15-slide {
  background-size:cover!important;
  background-position:center center!important;
}
@media (max-width:900px) {
  body.home .site-header.header-over-hero:not(.dsl-nav-fixed) {margin-bottom:0!important;}
  body.home .dsl-v7-home .dsl-v15-hero {
    aspect-ratio:auto!important;
    height:calc(100svh - var(--dsl-home-chrome-height, 125px))!important;
    min-height:0!important;
    max-height:none!important;
  }
}
@media (max-width:600px) {
  body.home .site-header.header-over-hero:not(.dsl-nav-fixed) {margin-bottom:0!important;}
  body.home .dsl-v7-home .dsl-v15-hero {
    height:calc(100svh - var(--dsl-home-chrome-height, 115px))!important;
    min-height:0!important;
    max-height:none!important;
  }
  body.home .dsl-v7-home .dsl-v15-hero .dsl-v15-slide {background-position:center center!important;}
}

/* v42: Required, separate project address fields in the consultation form. */
.dsl-v7-home .dsl-address-fields{display:grid;gap:16px;border:1px solid #dadada;padding:16px;margin:0;min-width:0;border-radius:3px}
.dsl-v7-home .dsl-address-fields legend{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:700;color:#282828;padding:0 8px;letter-spacing:.02em}
.dsl-v7-home .dsl-address-fields .form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dsl-v7-home .dsl-address-fields input,.dsl-v7-home .dsl-address-fields select{min-width:0}
@media(max-width:580px){.dsl-v7-home .dsl-address-fields .form-two{grid-template-columns:1fr}}
