/* Denise Ward: one consolidated editorial system. Native Flatsome supplies the
   header, menus, buttons, UX banners, footer block and responsive controls. */
:root{
  --dw-ink:#142522;--dw-paper:#f6f3ee;--dw-sand:#e9e2d8;
  --dw-dark:#12343a;--dw-teal:#006f75;--dw-muted:#536057;--dw-line:#cfc8bb;
  --dw-aqua:#00c5c8;--dw-action:#00767c;--dw-form-surface:#fbf9f5;--dw-field-line:#7c8e8d;--dw-error:#923f35;--dw-aqua-rgb:0,197,200;
  --dw-serif:Georgia,'Times New Roman',serif;--dw-sans:Arial,Helvetica,sans-serif;
  --dw-gutter:clamp(24px,6vw,104px);--dw-measure:1488px;
}
html{scroll-behavior:smooth;scroll-padding-top:35px}
body.dw-site{font-family:var(--dw-sans);font-size:17px;line-height:1.7;color:var(--dw-ink);background:var(--dw-paper)}
.dw-site #main{background:var(--dw-paper);min-height:60vh}
.dw-site h1,.dw-site h2,.dw-site h3,.dw-site h4{font-family:var(--dw-serif);font-weight:400;color:inherit;line-height:1.1;letter-spacing:-.035em}
.dw-site h1{font-size:clamp(48px,5vw,80px)}
.dw-site h2{font-size:clamp(37px,3.7vw,60px)}
.dw-site h3{font-size:30px;line-height:1.2}
.dw-site p{margin:0 0 1.15em}
.dw-site figure{margin:0}
.dw-site a{color:inherit}
.dw-site a:focus-visible,.dw-site button:focus-visible,.dw-site summary:focus-visible,.dw-site input:focus-visible,.dw-site select:focus-visible,.dw-site textarea:focus-visible{outline:3px solid var(--dw-ink);outline-offset:5px}
.dw-commercial-wrap a:focus-visible,.dw-prefooter a:focus-visible,.dw-footer a:focus-visible,.dw-site .absolute-footer a:focus-visible{outline-color:var(--dw-aqua)}
.dw-site .skip-link:focus{background:#fff;color:var(--dw-ink);padding:16px;z-index:1000}
.dw-site .page-wrapper{padding:0}
.dw-site .entry-content{margin:0}
.dw-site .dw-builder-section{padding:0}
.dw-site .dw-builder-section>.section-content>.row,.dw-site .dw-builder-section>.section-content>.row>.col{margin:0;max-width:none;padding:0;width:100%;flex-basis:100%}
.dw-site .dw-builder-section>.section-content>.row>.col>.col-inner{height:100%}
/* The owner-uploaded native logo includes transparent vertical padding. The
   optical viewport trims that padding only; full2172px source stays untouched. */
.dw-site #header{background:#faf8f4;border-bottom:1px solid #ded9cf;box-shadow:none}
.dw-site #masthead .header-inner{max-width:none;padding-inline:4.5%}
.dw-site #logo{height:88px;flex:0 0 auto;margin:0 32px 0 0!important;line-height:0;position:relative}
.dw-site #logo>a{display:block;width:100%;height:100%;position:relative;overflow:hidden}
.dw-site #logo img.header-logo{display:block!important;position:absolute;top:46.4%;left:0;transform:translateY(-50%);width:100%!important;height:auto!important;max-height:none!important;max-width:none;padding:0;margin:0}
.dw-site #logo img.header-logo-dark,.dw-site #logo img.header-logo-sticky{display:none!important}
.dw-site .header-nav-main.nav>li>a:not(.button){font-family:var(--dw-sans);font-size:17px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--dw-ink);padding-block:16px}
.dw-site .header-nav-main.nav>li.current-menu-item>a,.dw-site .header-nav-main.nav>li>a:hover{color:var(--dw-ink)}
.dw-site .header-nav-main.nav>li.current-menu-item>a{font-weight:600}
/* Keep the owner's native line-bottom treatment; refine its existing line. */
.dw-site .header-nav-main.nav-line-bottom>li>a:before{background-color:var(--dw-aqua);transition:opacity .18s ease}
.dw-site .header-button .button{font-size:16px;letter-spacing:0;font-weight:400;min-height:52px;min-width:132px;display:inline-flex;align-items:center;justify-content:center;margin:0;border-width:1px;line-height:1.3;padding:12px 25px;text-transform:none}
.dw-site .header-button .button.primary{color:var(--dw-ink);border-color:var(--dw-aqua);background:transparent;box-shadow:none;transition:background-color .22s ease,border-color .22s ease,color .22s ease}
.dw-site .header-button .button.primary:hover,.dw-site .header-button .button.primary:focus-visible{color:#fff;border-color:var(--dw-action);background:var(--dw-action);box-shadow:none;transform:none}
.dw-site .header-button .button.primary:active{color:#fff;border-color:var(--dw-action);background:var(--dw-action);box-shadow:none}
/* Telephone content is stored in native Header Builder HTML 3, also used by
   the native mobile drawer. It does not compete with the Contact button. */
.dw-site .header-nav-main .html_top_right_text{display:none}
.dw-site .header-nav-main.nav>li>a.dw-header-phone{font-size:15px;font-weight:400;white-space:nowrap;min-height:52px;line-height:1.4;padding:12px 18px;border:1px solid #8c9d9e;color:var(--dw-ink);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:color .18s ease,border-color .18s ease}
.dw-site .dw-header-phone:before{display:none}
.dw-site .header-nav-main.nav>li>a.dw-header-phone:hover,.dw-site .header-nav-main.nav>li>a.dw-header-phone:focus-visible{color:var(--dw-teal);border-color:var(--dw-teal);text-decoration:none}
.dw-site .mobile-sidebar .html_top_right_text{padding:22px 20px;border-top:1px solid var(--dw-line);margin-top:12px}
.dw-site .mobile-sidebar .dw-header-phone{display:inline-flex;align-items:center;min-height:48px;font-size:18px;line-height:1.5;text-transform:none;letter-spacing:0;color:var(--dw-ink)}
@media(min-width:1280px){.dw-site .header-nav-main .html_top_right_text{display:list-item}}
.dw-site .mobile-nav .nav-icon>a{min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px}
.dw-site .mobile-nav .menu-title{font-size:15px;text-transform:none;letter-spacing:0}
.dw-site .mobile-sidebar{background:var(--dw-paper)}
.dw-site .off-canvas .mfp-content{background-color:var(--dw-paper)}
.dw-site .mobile-sidebar .nav-sidebar>li>a{font-size:20px;font-family:var(--dw-sans);font-weight:400;text-transform:none;padding-block:18px;color:var(--dw-ink)}
.dw-site .mobile-sidebar .nav-sidebar>li.current-menu-item>a{font-weight:600;text-decoration:underline;text-decoration-color:var(--dw-aqua);text-underline-offset:7px}
/* Readable native buttons and restrained text links, without ornamental arrows. */
.dw-site .button.dw-action{display:inline-flex;align-items:center;justify-content:center;min-height:52px;min-width:185px;padding:13px 26px;margin:0;font-family:var(--dw-sans);font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;text-transform:none;border-width:1px;border-radius:0;box-shadow:none}
.dw-site .button.dw-action.primary{border-color:var(--dw-ink);color:var(--dw-ink);background:transparent}
.dw-site .button.dw-action.primary:hover{background:var(--dw-dark);color:#fff}
.dw-site .button.dw-action.white{border-color:#fff;color:#fff;background:rgba(18,52,58,.12)}
.dw-site .button.dw-action.white:hover{background:var(--dw-aqua);border-color:var(--dw-aqua);color:var(--dw-ink)}
.dw-text-link{display:inline-block;min-height:40px;padding:6px 0;border:0;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none;text-decoration:none;transition:color .18s ease}
.dw-site .dw-text-link:hover,.dw-site .dw-text-link:focus-visible{color:var(--dw-teal);text-decoration:none}
.dw-site p.dw-eyebrow{font-size:13px;line-height:1.6;font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin:0 0 21px}
.dw-section{max-width:var(--dw-measure);padding:84px var(--dw-gutter);margin-inline:auto}
.dw-section.compact{padding-block:50px}
.dw-lead{font-size:20px;line-height:1.65;max-width:780px;color:#42544a}
.dw-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:7vw;align-items:center}
.dw-intro h2{font-size:clamp(42px,4vw,66px);margin:0}
.dw-intro p{font-size:18px;max-width:580px}
.dw-section-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:36px}
.dw-section-heading h2{margin:0}
.dw-section-heading>.dw-text-link{flex-shrink:0;white-space:nowrap}
.dw-section-summary{font-size:17px;max-width:610px;margin:23px 0 0!important}
.dw-hero{position:relative;background:var(--dw-dark);color:#fff;height:calc(100svh - 112px);min-height:640px;max-height:920px;overflow:hidden}
.dw-hero>.dw-photo{height:100%;width:100%;object-fit:cover;object-position:50% 48%;display:block}
.dw-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,32,38,.54),transparent 74%),linear-gradient(0deg,rgba(8,32,38,.4),transparent 60%)}
.dw-hero-copy{position:absolute;left:var(--dw-gutter);bottom:8%;z-index:2;max-width:860px}
.dw-hero-copy h1{font-size:clamp(58px,5.6vw,102px);line-height:1.06;max-width:850px;margin:0 0 26px;color:#fff}
.dw-hero p.dw-eyebrow{color:#fff}
/* Native UX Builder banners retain editable height and desktop focal settings.
   Two mobile prefooter focal overrides below cover the native API limitation. */
.dw-site .dw-page-banner h1{font-size:clamp(50px,5.1vw,88px);line-height:1.06;letter-spacing:-.035em;margin:0 0 20px;color:#fff;max-width:1050px}
.dw-site .dw-page-banner .dw-banner-lead{font-size:20px;line-height:1.55;max-width:680px;color:#fff}
.dw-page-banner .banner-bg:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,27,32,.32),transparent 90%),linear-gradient(0deg,rgba(6,27,32,.28),transparent 70%)}
.dw-site .dw-prefooter h2{font-size:clamp(37px,4vw,66px);line-height:1.1;margin:0 0 21px;color:#fff}
.dw-prefooter p{font-size:18px;max-width:680px;margin:0 auto 25px}
.dw-site .dw-prefooter p{color:#fff}
.dw-prefooter .dw-prefooter-caption{font-size:14px;line-height:1.4;margin:20px auto 0;color:#fff}
.dw-prefooter-left h2{max-width:780px}
.dw-prefooter-left p{margin-left:0;margin-right:0}
.dw-portfolio-summary{padding-bottom:36px}
.dw-archive-heading{padding-bottom:38px}
.dw-archive-heading>p{font-size:18px;max-width:850px}
.dw-tabs{display:flex;gap:30px;flex-wrap:wrap;border-bottom:1px solid var(--dw-line);margin-top:28px;padding-bottom:12px}
.dw-tabs a{font-size:16px;min-height:42px;padding:7px 0;border:0;text-decoration:none}
.dw-tabs a.active,.dw-tabs a:hover{color:var(--dw-teal);text-decoration:none}
.dw-tabs a.active{font-weight:600}
.dw-index{padding-top:0}
.dw-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 36px;align-items:start}
.dw-project-card{display:block}
.dw-project-image{position:relative;overflow:hidden;background:#e5e0d8;aspect-ratio:3/2}
.dw-project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.dw-project-image:after{content:'';position:absolute;inset:0;background:rgba(var(--dw-aqua-rgb),.04);opacity:0;pointer-events:none;transition:opacity .18s ease}
@media(hover:hover) and (pointer:fine){.dw-project-card:hover .dw-project-image:after{opacity:1}}
.dw-project-card:focus-visible .dw-project-image:after{opacity:1}
.dw-project-label{margin-top:17px}
.dw-project-label h3{font-size:clamp(26px,2.2vw,34px);line-height:1.2;margin:0;min-height:2.4em}
.dw-project-card:hover h3,.dw-project-card:focus-visible h3{color:var(--dw-teal);text-decoration:none}
/* The odd final all-work entry is a contained editorial feature, never a
   stretched full-width image or a duplicated project. Earlier rows stay aligned. */
.dw-project-conclusion{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center;background:var(--dw-sand);padding:32px}
.dw-project-conclusion .dw-project-label{margin:0}
.dw-project-conclusion .dw-project-label h3{font-size:clamp(34px,3.3vw,48px);min-height:0;margin-bottom:22px}
.dw-project-conclusion .dw-project-summary{font-size:17px;line-height:1.7;max-width:470px;margin-bottom:20px}
.dw-project-invitation{font-size:16px;font-weight:600}
.dw-layout-selected>.dw-project-card:first-child{grid-column:1/-1}
.dw-layout-selected>.dw-project-card:first-child .dw-project-image{aspect-ratio:1.94}
.dw-layout-selected>.dw-project-card:first-child h3{font-size:clamp(31px,3vw,46px);min-height:0}
.dw-photographer{font-size:14px;line-height:1.55;margin-top:9px!important}
.dw-commercial-wrap{background:var(--dw-dark);color:#fff}
.dw-commercial-wrap .dw-section-summary,.dw-commercial-wrap .dw-photographer{color:#e0e8e1}
.dw-site .dw-commercial-wrap .dw-text-link{color:var(--dw-paper);border:0;text-decoration:none}
.dw-site .dw-commercial-wrap .dw-text-link:hover,.dw-site .dw-commercial-wrap .dw-text-link:focus-visible,.dw-commercial-wrap .dw-project-card:hover h3,.dw-commercial-wrap .dw-project-card:focus-visible h3{color:var(--dw-aqua);text-decoration:none}
.dw-split,.dw-service-story,.dw-studio-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:center}
.dw-split>.dw-photo,.dw-service-story>.dw-photo,.dw-studio-feature .dw-photo{width:100%;height:auto;display:block}
.dw-approach>.dw-photo{aspect-ratio:1.08;object-fit:cover}
.dw-split h2,.dw-service-story h2{margin:0 0 26px}
.dw-split p,.dw-service-story p{max-width:590px}
.dw-service-paths{display:flex;flex-wrap:wrap;gap:18px 28px;padding-top:5px}
.dw-credibility-wrap{background:var(--dw-sand)}
.dw-credibility{display:grid;grid-template-columns:1fr 1.25fr;gap:8vw;align-items:center;padding-block:64px}
.dw-credibility h2{font-size:clamp(35px,3vw,49px);margin:0 0 21px}
.dw-credibility p{max-width:460px}
.dw-credibility blockquote{margin:0 0 25px;padding:0;border:0;font:400 clamp(28px,2.7vw,40px)/1.3 var(--dw-serif);color:var(--dw-ink)}
.dw-credibility cite{font-size:14px;font-style:normal;color:#425348}
.dw-residential-opening{position:relative;padding-top:45px;padding-bottom:0}
.dw-residential-copy{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:38px;flex-wrap:wrap}
.dw-residential-copy>.dw-eyebrow{width:100%;margin-bottom:-30px!important}
.dw-residential-copy h1{margin:0;flex:1}
.dw-residential-copy .dw-lead{max-width:460px;margin:0 0 5px}
.dw-residential-opening>.dw-photo{width:100%;display:block;aspect-ratio:1.85;object-fit:cover;object-position:50% 50%}
.dw-about-opening{display:grid;grid-template-columns:1.7fr 1fr;gap:7vw;align-items:center;padding-block:64px}
.dw-about-opening h1{font-size:clamp(48px,4.5vw,75px);margin-bottom:25px}
.dw-about-opening>div>p{max-width:710px}
.dw-portrait{justify-self:center;max-width:306px;width:100%}
.dw-portrait-frame{width:296px;max-width:100%;aspect-ratio:306/385;position:relative;overflow:hidden;background:#fff;margin-inline:auto}
.dw-portrait-frame img{position:absolute;top:0;left:0;width:392.157%!important;height:auto!important;max-width:none!important;display:block}
.dw-portrait figcaption{text-align:center;font-family:var(--dw-serif);font-size:29px;line-height:1.25;padding-top:17px}
.dw-portrait figcaption span{display:block;font-family:var(--dw-sans);font-size:14px;color:var(--dw-muted);line-height:1.6;margin-top:8px}
.dw-studio-notes{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start}
.dw-studio-notes h2{font-size:37px;margin-bottom:24px}
.dw-studio-feature h2{font-size:clamp(39px,4vw,63px);margin-bottom:25px}
.dw-studio-feature .dw-photo{aspect-ratio:1.15;object-fit:cover}
.dw-caption,.dw-source-note{font-size:14px;line-height:1.65;color:var(--dw-muted)}
.dw-caption{margin-top:13px!important}
.dw-service-intro{max-width:1100px;padding-block:58px 12px}
.dw-section.dw-service-residential{padding-top:48px}
.dw-service-intro .dw-lead{font:400 clamp(29px,3vw,43px)/1.3 var(--dw-serif);color:var(--dw-ink);max-width:none}
.dw-service-story>.dw-photo{aspect-ratio:1.35;object-fit:cover}
.dw-service-story.reverse{grid-template-columns:1fr 1.15fr}
.dw-service-story.reverse>.dw-photo{order:2}
.dw-service-commercial-photo{order:2;min-width:0}
.dw-service-commercial-photo .dw-photo{width:100%;display:block;aspect-ratio:3/2;object-fit:cover;object-position:50% 45%}
.dw-service-commercial-photo figcaption{font-size:14px;line-height:1.6;color:var(--dw-muted);margin-top:12px}
.dw-service-close{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:7vw;align-items:center}
.dw-service-close h2{font-size:clamp(37px,3.6vw,57px);margin:0 0 25px}
.dw-service-detail{max-width:365px;width:100%;justify-self:center}
.dw-service-detail .dw-photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 55%;display:block}
.page-id-66 .dw-page-banner h1{text-wrap:balance;max-width:950px}
.dw-awards-opening{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:7vw;align-items:center;padding-block:66px}
.dw-awards-opening>*{min-width:0}
.dw-awards-opening h1{margin-bottom:26px}
.dw-awards-opening figure{max-width:350px;justify-self:center}
.dw-awards-opening .dw-photo{display:block;width:350px;max-width:100%!important;height:auto}
.dw-awards-opening figcaption,.dw-publication figcaption{font-size:14px;color:var(--dw-muted);line-height:1.6;margin-top:17px}
.dw-press-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center}
.dw-press-feature h2{margin-bottom:25px}
.dw-press-photograph .dw-photo{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}
.dw-press-photograph figcaption{font-size:14px;line-height:1.6;margin-top:14px;color:var(--dw-muted)}
.dw-design-quote{margin:24px 0 27px;padding:0;border:0;font:400 clamp(25px,2.3vw,34px)/1.35 var(--dw-serif);color:var(--dw-ink)}
.dw-design-quote p{margin:0}
.dw-design-quote cite{display:block;margin-top:13px;font:14px/1.6 var(--dw-sans);letter-spacing:0;color:var(--dw-muted)}
.dw-editorial-statement{font:400 clamp(33px,3.2vw,49px)/1.2 var(--dw-serif);letter-spacing:-.025em}
.dw-publication{display:grid;grid-template-columns:.65fr 1fr;gap:7vw;align-items:center}
.dw-publication figure{max-width:310px;justify-self:center}
.dw-publication .dw-photo{width:100%;max-width:310px!important;height:auto;display:block;box-shadow:0 10px 30px #1425221a}
.dw-publication h2{margin-bottom:25px}
.dw-showhouse{grid-template-columns:1fr .65fr}
.dw-award-stories .dw-studio-notes{padding-top:25px;border-top:1px solid var(--dw-line)}
.dw-award-stories h3{font-size:29px}
.dw-honors{padding-top:64px}
.dw-honors-years{display:grid;grid-template-columns:1fr 1fr;gap:0 55px;align-items:start;margin-bottom:28px}
.dw-honors-year{border-top:1px solid var(--dw-line)}
.dw-honors-year summary{cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:24px;min-height:83px;padding:22px 0;list-style:none}
.dw-honors-year summary::-webkit-details-marker{display:none}
.dw-honors-year summary>span:first-child{font:400 36px/1.1 var(--dw-serif)}
.dw-honors-year summary>span:last-child{font-size:15px;font-weight:600;border:0}
.dw-honors-year[open] summary>span:last-child{color:var(--dw-teal)}
.dw-honors-year ul{font-size:16px;line-height:1.7;margin:0 0 27px 20px}
.dw-honors-year li{margin-bottom:15px}
.dw-studio-notes #press-archive{margin-top:30px}
/* Owner-approved historical photography: natural proportions and dated context. */
.dw-awards-opening.dw-history-opening{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:5vw}
.dw-awards-opening.dw-history-opening figure{width:100%;max-width:470px}
.dw-historical-photo{display:block;width:100%;height:auto;max-width:100%}
.dw-historical-recognition{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:7vw;align-items:center}
.dw-historical-recognition>*{min-width:0}
.dw-historical-recognition h2{font-size:clamp(38px,3.5vw,54px);margin-bottom:27px}
.dw-historical-recognition h3{font-size:27px;line-height:1.3;margin-bottom:17px}
.dw-historical-recognition figure{margin:0}
.dw-historical-recognition figcaption,.dw-about-history figcaption,.dw-history-artwork figcaption{font-size:14px;line-height:1.65;color:var(--dw-muted);margin-top:13px}
.dw-history-asid{max-width:520px;margin-bottom:25px!important}
.dw-history-copy article+article{border-top:1px solid var(--dw-line);padding-top:25px;margin-top:27px}
.dw-honors #press-archive{margin-top:27px}
.dw-honors #press-archive h3{font-size:22px}
.dw-honors #press-archive p{font-size:15px;line-height:1.7;margin-bottom:0}
.dw-historical-recognition .dw-history-event{width:100%;max-width:330px;justify-self:center}
.dw-history-artwork{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center;max-width:620px;margin:30px 0 0}
.dw-honors .dw-history-artwork{margin-top:30px}
.dw-history-artwork .dw-photo{width:150px;height:auto;display:block}
.dw-history-artwork figcaption{margin-top:0}
.dw-about-history figure{width:100%;max-width:320px;margin:0 0 23px}
@media(max-width:767px){
 .dw-awards-opening.dw-history-opening,.dw-historical-recognition{grid-template-columns:minmax(0,1fr);gap:32px}
 .dw-awards-opening.dw-history-opening figure{justify-self:start}
 .dw-historical-recognition .dw-history-event{justify-self:start}
 .dw-historical-recognition h2{font-size:35px}
 .dw-historical-recognition h3{font-size:26px}
 .dw-history-artwork{grid-template-columns:100px minmax(0,1fr);gap:19px}
 .dw-history-artwork .dw-photo{width:100px}
}
/* Existing project galleries and honest source-constrained image dimensions. */
.dw-page-intro{max-width:var(--dw-measure);padding:64px var(--dw-gutter) 44px;margin:auto}
.dw-page-intro h1{margin:0 0 26px;max-width:1120px}
.dw-page-intro .dw-lead{font-size:19px;max-width:950px}
.dw-project-header{padding-bottom:35px}
.dw-project-cover{width:calc(100% - var(--dw-gutter)*2);max-width:1280px;margin:0 auto 58px}
.dw-project-cover img{display:block;width:100%;height:auto;margin-inline:auto;max-height:850px;object-fit:contain}
.dw-gallery-section{max-width:var(--dw-measure);padding:0 var(--dw-gutter) 58px;margin:auto}
.dw-gallery-section>h2{font-size:40px;margin-bottom:26px}
.dw-site .foogallery{background:none}
.dw-site .foogallery .fg-item{border:0;box-shadow:none}
.dw-site .foogallery .fg-image-wrap{position:relative}
.dw-site .foogallery .fg-image-wrap:after{content:'';position:absolute;inset:0;z-index:9;background:rgba(var(--dw-aqua-rgb),.04);opacity:0;pointer-events:none;transition:opacity .18s ease}
@media(hover:hover) and (pointer:fine){.dw-site .foogallery .fg-thumb:hover .fg-image-wrap:after{opacity:1}}
.dw-site .foogallery .fg-thumb:focus-visible .fg-image-wrap:after{opacity:1;box-shadow:inset 0 0 0 3px var(--dw-ink),inset 0 0 0 5px #fff}
.dw-site .foogallery a.fg-thumb:focus-visible{outline:3px solid var(--dw-ink);outline-offset:-5px;box-shadow:inset 0 0 0 7px #fff}
.dw-site .fg-caption{font-family:var(--dw-sans)}
.dw-site .fg-panel[role=dialog]{background:#101817!important;color:#fff!important}
.dw-site .fg-panel-button,.dw-site .fg-panel-thumbs-button{color:#fff!important;background:#263632!important;min-width:44px;min-height:44px;border:1px solid #65746e!important}
.dw-site .fg-panel-button:hover,.dw-site .fg-panel-thumbs-button:hover{background:#255d5b!important;border-color:var(--dw-aqua)!important}
.dw-site .fg-panel-button:focus-visible,.dw-site .fg-panel-thumbs-button:focus-visible{outline:3px solid #a9e0d5!important;outline-offset:2px}
.dw-site .fg-panel-info{background:transparent!important;color:#fff!important}
.dw-site .fg-panel-info-inner{background:#101817!important;color:#fff!important}
.dw-project-nav{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--dw-line);padding-top:35px;margin-top:38px}
.dw-project-nav a{font-family:var(--dw-serif);font-size:27px;line-height:1.25}
.dw-project-nav a:hover{color:var(--dw-teal);text-decoration:none}
.dw-project-nav a:last-child{text-align:right}
.dw-project-nav span{display:block;font-family:var(--dw-sans);font-size:14px;line-height:1.5;margin-bottom:12px;color:var(--dw-muted)}
.dw-project-close{border-top:1px solid var(--dw-line);display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:45px}
.dw-project-close h2{font-size:36px;margin:0}
.dw-project-close .button.dw-action{flex-shrink:0;white-space:nowrap;min-width:215px}
.dw-note{font-size:14px;line-height:1.65;color:var(--dw-muted)}
.dw-prose{max-width:970px;padding:0 var(--dw-gutter) 60px;margin:auto}
.dw-prose h2{font-size:34px;margin:38px 0 22px}
.dw-prose a,.dw-form-privacy a{border:0;text-decoration:none;font-weight:600}
.dw-prose a:hover,.dw-form-privacy a:hover,.dw-contact-opening address a:hover{color:var(--dw-teal);text-decoration:none}
.dw-prose ul{margin-left:22px}
.dw-404{padding:100px var(--dw-gutter);text-align:center}
/* Contact: generous native fields with meaningful conditional branches. */
.dw-contact-opening{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding-block:60px}
.dw-contact-opening h1{margin-bottom:25px}
.dw-contact-opening>.dw-photo{width:100%;aspect-ratio:1.1;object-fit:cover}
.dw-contact-opening address{font-style:normal;padding-top:9px}
.dw-contact-opening address a{display:block;font-size:18px;min-height:40px;padding-block:5px;width:fit-content;border:0;text-decoration:none}
.dw-contact-opening address span{display:block;font-size:16px;margin-top:18px}
.dw-contact-form{display:block;max-width:1090px;padding-top:25px;border-top:1px solid var(--dw-line)}
.dw-contact-form>div{max-width:880px;margin-inline:auto}
.dw-contact-form>div:last-child{padding:32px 36px 28px;background:var(--dw-form-surface);border:1px solid var(--dw-line)}
.dw-contact-form>div:first-child{display:grid;grid-template-columns:.7fr 1fr;gap:0 45px;align-items:end;padding-top:25px;margin-bottom:25px}
.dw-contact-form>div:first-child>.dw-eyebrow{grid-column:1/-1}
.dw-contact-form h2{margin-bottom:24px}
.dw-site div.wpforms-container-full{margin:0}
.dw-site div.wpforms-container-full .wpforms-field-label{font-size:16px!important;font-weight:400!important;line-height:1.5!important;color:var(--dw-ink)!important;margin-bottom:9px!important}
.dw-site div.wpforms-container-full input,.dw-site div.wpforms-container-full select,.dw-site div.wpforms-container-full textarea{background:#fff!important;border:1px solid var(--dw-field-line)!important;border-radius:0!important;color:var(--dw-ink)!important;font-family:var(--dw-sans)!important;font-size:16px!important;box-shadow:none!important}
.dw-site div.wpforms-container-full input,.dw-site div.wpforms-container-full select{min-height:52px}
.dw-site div.wpforms-container-full .wpforms-field{padding:12px 0!important}
.dw-site div.wpforms-container-full .wpforms-field-description{hyphens:none;font-size:14px!important;color:var(--dw-muted)!important}
.dw-site div.wpforms-container-full button[type=submit]{background:var(--dw-dark)!important;color:white!important;border:1px solid var(--dw-ink)!important;border-radius:0!important;font-size:16px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;padding:14px 30px!important;min-width:180px;min-height:52px;height:auto!important;box-shadow:none!important;line-height:1.4!important;transition:background-color .22s ease,border-color .22s ease,color .22s ease}
.dw-site div.wpforms-container-full button[type=submit]:hover,.dw-site div.wpforms-container-full button[type=submit]:focus-visible,.dw-site div.wpforms-container-full button[type=submit]:active{background:var(--dw-action)!important;border-color:var(--dw-action)!important;color:#fff!important;transform:none}
.dw-site div.wpforms-container-full input:focus,.dw-site div.wpforms-container-full select:focus,.dw-site div.wpforms-container-full textarea:focus{border-color:var(--dw-teal)!important;outline:2px solid var(--dw-teal);outline-offset:3px}
.dw-site div.wpforms-container-full textarea{min-height:160px!important;height:160px!important}
.dw-site div.wpforms-container-full .wpforms-required-label{color:var(--dw-error)!important}
.dw-site div.wpforms-container-full em.wpforms-error{color:var(--dw-error)!important}
.dw-site div.wpforms-confirmation-container-full,.dw-site div.wpforms-confirmation-container{background:var(--dw-sand)!important;border:1px solid #8fa99c!important;color:var(--dw-ink)!important;border-radius:0!important;padding:26px!important;font:17px/1.7 var(--dw-sans)!important}
.dw-site .wpforms-confirmation-container-full p{color:var(--dw-ink)!important;margin:0}
.dw-form-privacy{font-size:14px;line-height:1.65;margin-top:22px!important;max-width:750px}
/* Reserve native validation feedback space to avoid moving Submit on blur. */
.dw-site div.wpforms-container-full .wpforms-field:has([required],.wpforms-field-required,[aria-required="true"]){position:relative;padding-bottom:35px!important}
.dw-site div.wpforms-container-full .wpforms-field:has([required],.wpforms-field-required,[aria-required="true"]) em.wpforms-error{position:absolute;left:0;bottom:5px;margin:0;font-size:13px;line-height:1.25;max-width:100%}
/* The footer content is an editable native UX Block; absolute footer/year use
   native Theme Options and ux_current_year. No child footer template needed. */
.dw-footer{background:var(--dw-dark);color:#d5dfdc;padding:60px var(--dw-gutter) 42px}
.dw-footer-top{display:grid;grid-template-columns:1.3fr .75fr .85fr 1.45fr;gap:45px;max-width:1280px;margin:auto}
.dw-footer-brand{font-family:var(--dw-serif);font-size:42px;line-height:1.1;color:var(--dw-paper)}
.dw-footer-brand span{font-family:var(--dw-sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.dw-site .dw-footer h2{font-family:var(--dw-serif);font-weight:400;font-size:21px;line-height:1.2;letter-spacing:-.02em;color:var(--dw-paper);margin:0 0 14px;text-decoration:none}
.dw-footer nav a,.dw-footer-contact>a{display:block;font-size:15px;line-height:1.6;min-height:40px;padding-block:6px}
.dw-footer p{font-size:15px;line-height:1.8;color:#d5dfdc;margin:20px 0 0}
.dw-footer a{color:#d5dfdc;text-decoration:none}
.dw-site .dw-footer a:hover,.dw-site .dw-footer a:focus-visible{color:var(--dw-aqua);text-decoration:none}
.dw-site .absolute-footer{background:var(--dw-dark);color:#d5dfdc;padding:20px var(--dw-gutter) 26px;font-size:14px;line-height:1.7}
.dw-site .absolute-footer>.container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 28px;max-width:1280px;border-top:1px solid #607e80;padding:18px 0 0}
.dw-site .absolute-footer>.container:after{display:none}
.dw-site .absolute-footer .footer-primary,.dw-site .absolute-footer .footer-secondary{float:none;padding:0;margin:0}
.dw-site .absolute-footer .footer-primary{order:0}
.dw-site .absolute-footer .footer-secondary{order:1}
.dw-site .absolute-footer .copyright-footer{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px}
.dw-site .absolute-footer a{min-height:44px;display:inline-flex;align-items:center;padding-block:7px}
.dw-site .absolute-footer .dw-design-credit{text-decoration:none}
.dw-site .absolute-footer a:hover,.dw-site .absolute-footer a:focus-visible{color:var(--dw-aqua);text-decoration:none}
@media(min-width:1700px){
 .dw-site #masthead .header-inner{padding-inline:6%}
 .dw-hero{min-height:900px;max-height:920px}
 .dw-hero>.dw-photo{object-position:50% 25%}
 .dw-hero-copy{bottom:13%}
 .dw-section{padding-block:94px}
 .dw-section.dw-index{padding-top:0}
 .dw-section.dw-portfolio-summary,.dw-section.dw-archive-heading{padding-bottom:38px}
 .dw-section.dw-residential-opening{padding-top:52px;padding-bottom:0}
 .dw-section.dw-project-close{padding-block:48px}
 .dw-section.dw-honors{padding-top:64px}
}
@media(max-width:1150px){
 .dw-site #logo{width:310px!important;height:77px;margin-right:22px!important}
 .dw-site #masthead .header-inner{padding-inline:4%}
 .dw-site .header-nav-main.nav>li>a:not(.button){font-size:17px}
 .dw-footer-top{gap:30px}
 .dw-project-label h3{font-size:27px}
 .dw-about-opening{grid-template-columns:1.4fr 1fr;gap:5vw}
 .dw-about-opening h1{font-size:56px}
 .dw-portrait-frame{width:286px}
}
@media(max-width:1000px){
 .dw-section-heading{display:block}
 .dw-section-heading>.dw-text-link{margin-top:24px}
 .dw-press-feature{grid-template-columns:1fr;gap:32px}
 .dw-studio-feature{grid-template-columns:1fr;gap:32px}
 .dw-studio-feature .dw-photo{aspect-ratio:1.65}
 .dw-contact-opening{gap:5vw}
}
@media(max-width:849px){
 .dw-site #logo{width:300px!important;height:74px;margin:0!important}
 .dw-site #masthead .header-inner{padding-inline:5%}
 .dw-footer-top{grid-template-columns:1fr 1fr;gap:38px}
 .dw-about-opening{grid-template-columns:1.3fr 1fr;gap:4vw}
 .dw-about-opening h1{font-size:48px}
 .dw-portrait-frame{width:275px}
 .dw-hero{min-height:580px;height:700px}
 .dw-honors-years{column-gap:32px}
 .dw-service-close{grid-template-columns:1fr;gap:28px}
 .dw-service-detail{order:2;max-width:286px}
 .dw-contact-opening{grid-template-columns:1fr;gap:32px}
 .dw-contact-opening>.dw-photo{aspect-ratio:1.8}
}
@media(min-width:768px) and (max-width:1000px){
 .dw-service-story,.dw-service-story.reverse,.dw-approach{grid-template-columns:1fr;gap:32px}
 .dw-service-story>.dw-photo{aspect-ratio:1.65}
 .dw-service-story.reverse>.dw-photo{order:0}
 .dw-service-commercial-photo{order:0}
 .dw-service-commercial-photo .dw-photo{aspect-ratio:4/3}
 .dw-service-story p{max-width:760px}
 .dw-approach>.dw-photo{aspect-ratio:2400/1718;object-fit:contain}
 .dw-residential-copy{display:block;margin-bottom:32px}
 .dw-residential-copy>.dw-eyebrow{margin-bottom:18px!important}
 .dw-residential-copy h1{margin-bottom:22px;max-width:700px}
 .dw-residential-copy .dw-lead{max-width:680px;margin:0}
}
@media(max-width:767px){
 :root{--dw-gutter:6%}
 .dw-site{overflow-wrap:break-word}
 .dw-site h1{font-size:44px}
 .dw-site h2{font-size:38px}
 .dw-site h3{font-size:28px}
 .dw-site #logo{width:min(68vw,270px)!important;height:66px}
 .dw-site .mobile-nav .menu-title{font-size:14px}
 .dw-section{padding:55px 6%}
 .dw-section.compact{padding-block:38px}
 .dw-lead{font-size:18px}
 .dw-intro,.dw-split,.dw-service-story,.dw-service-story.reverse,.dw-service-close,.dw-credibility,.dw-studio-notes,.dw-about-opening,.dw-awards-opening,.dw-publication,.dw-showhouse,.dw-contact-form{grid-template-columns:minmax(0,1fr);gap:30px}
 .dw-intro h2{font-size:42px}
 .dw-intro p{font-size:17px}
 .dw-hero{height:auto;min-height:0;max-height:none;overflow:visible}
 .dw-hero>.dw-photo{aspect-ratio:1.23;height:auto;object-position:52% 50%}
 .dw-hero:after{display:none}
 .dw-hero-copy{position:relative;left:auto;bottom:auto;padding:32px 6% 39px}
 .dw-hero-copy h1{font-size:clamp(40px,11.7vw,55px);line-height:1.08;margin-bottom:24px}
 .dw-hero p.dw-eyebrow{font-size:12px;letter-spacing:.09em;margin-bottom:18px;max-width:330px}
 .dw-site .dw-page-banner h1{font-size:clamp(41px,10.6vw,65px);line-height:1.08}
 .dw-site .dw-page-banner .dw-banner-lead{font-size:18px;line-height:1.6}
 .dw-site .dw-prefooter h2{font-size:39px}
 .dw-prefooter-home .banner-bg img{object-position:60% 50%!important}
 .dw-prefooter-portfolio .banner-bg img{object-position:42% 50%!important}
 .dw-prefooter p{font-size:17px;line-height:1.6}
 .dw-section-heading{margin-bottom:29px}
 .dw-section-heading h2{font-size:39px}
 .dw-project-grid{grid-template-columns:1fr;gap:32px}
 .dw-project-conclusion{grid-template-columns:minmax(0,1fr);padding:24px;gap:25px}
 .dw-project-conclusion .dw-project-label h3{font-size:33px}
 .dw-project-image,.dw-layout-selected>.dw-project-card:first-child .dw-project-image{aspect-ratio:3/2}
 .dw-project-label{margin-top:15px}
 .dw-project-label h3,.dw-layout-selected>.dw-project-card:first-child h3{font-size:29px;min-height:0}
 .dw-index{padding-top:0}
 .dw-tabs{gap:26px;margin-top:24px}
 .dw-portfolio-summary,.dw-archive-heading{padding-bottom:35px}
 .dw-residential-opening{padding-top:42px;padding-bottom:0}
 .dw-residential-copy{display:block;margin-bottom:28px}
 .dw-residential-copy>.dw-eyebrow{margin-bottom:18px!important}
 .dw-residential-copy h1{margin-bottom:22px}
 .dw-residential-copy .dw-lead{max-width:none}
 .dw-residential-opening>.dw-photo{aspect-ratio:1.3}
 .dw-approach>.dw-photo{aspect-ratio:1.18}
 .dw-service-story.reverse>.dw-photo{order:0}
 .dw-service-commercial-photo{order:0}
 .dw-service-commercial-photo .dw-photo{aspect-ratio:4/3}
 .dw-service-paths{gap:16px 26px}
 .dw-credibility{padding-block:45px;gap:38px}
 .dw-credibility h2{font-size:36px}
 .dw-credibility blockquote{font-size:30px}
 .dw-about-opening{padding-block:43px}
 .dw-about-opening h1{font-size:44px}
 .dw-portrait{justify-self:start;width:296px;max-width:100%}
 .dw-portrait-frame{width:286px;margin-left:0}
 .dw-portrait figcaption{text-align:left}
 .dw-studio-feature .dw-photo{aspect-ratio:1.3}
 .dw-studio-notes h2{font-size:35px}
 .dw-service-intro{padding-block:43px 8px}
 .dw-section.dw-service-residential{padding-top:28px}
 .dw-service-intro .dw-lead{font-size:31px}
 .dw-service-close h2{font-size:38px}
 .dw-awards-opening{padding-block:43px}
 .dw-awards-opening figure{justify-self:start;width:330px;max-width:100%}
 .dw-publication figure{justify-self:start;max-width:260px}
 .dw-showhouse figure{order:-1}
 .dw-editorial-statement{font-size:35px}
 .dw-honors{padding-top:45px}
 .dw-honors-years{grid-template-columns:1fr}
 .dw-honors-year summary{min-height:77px}
 .dw-page-intro{padding:45px 6% 35px}
 .dw-page-intro .dw-lead{font-size:18px}
 .dw-project-cover{width:88%;margin-bottom:42px}
 .dw-gallery-section{padding:0 6% 43px}
 .dw-gallery-section>h2{font-size:33px}
 .dw-project-nav{gap:24px}
 .dw-project-nav a{font-size:24px}
 .dw-project-nav span{font-size:13px}
 .dw-project-close{display:block;padding-block:36px}
 .dw-project-close h2{font-size:32px;margin-bottom:25px}
 .dw-prose{padding:0 6% 48px}
 .dw-contact-opening{padding-block:43px}
 .dw-contact-opening>.dw-photo{aspect-ratio:1.35}
 .dw-contact-form{padding-top:20px;gap:26px}
 .dw-contact-form>div:last-child{padding:24px 18px}
 .dw-site div.wpforms-container-full button[type=submit]{width:100%}
 .dw-contact-form>div:first-child{grid-template-columns:1fr;gap:0;padding-top:0;margin-bottom:18px}
 .dw-site .wpforms-one-half{width:100%!important;margin-left:0!important}
 .dw-footer{padding:45px 6% 30px}
 .dw-footer-top{gap:30px 25px}
 .dw-footer-top>div:first-child,.dw-footer-contact{grid-column:1/-1}
 .dw-footer-brand{font-size:39px}
 .dw-footer nav a,.dw-footer-contact>a{min-height:44px;padding-block:9px}
 .dw-site .absolute-footer{padding:0 6% 24px;text-align:left!important}
 .dw-site .absolute-footer .footer-secondary{margin-bottom:8px}
 /* Authored mobile presentation of FooGallery's native justified markup. */
 .dw-site .foogallery.fg-justified{display:flex;flex-direction:column;gap:14px;height:auto!important}
 .dw-site .foogallery.fg-justified .fg-item{display:block;position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;height:auto!important;max-height:none!important;margin:0!important}
 .dw-site .foogallery.fg-justified .fg-item-inner,.dw-site .foogallery.fg-justified .fg-thumb,.dw-site .foogallery.fg-justified .fg-image-wrap{width:100%!important;height:auto!important}
 .dw-site .foogallery.fg-justified .fg-image{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-inline:auto!important;object-fit:contain}
}
@media(max-width:360px){
 .dw-site #logo{width:220px!important;height:55px}
 .dw-site .mobile-nav .menu-title{font-size:13px}
 .dw-site .mobile-nav .nav-icon>a{gap:5px}
 .dw-site h1,.dw-about-opening h1{font-size:38px}
 .dw-intro h2{font-size:38px}
 .dw-site .dw-prefooter h2{font-size:35px}
 .dw-project-label h3{font-size:27px}
 .dw-hero-copy h1{font-size:40px}
 .dw-portrait{width:100%}
 .dw-portrait-frame{width:100%;max-width:286px}
}
/* The commercial opening keeps its native UX Banner and source photograph.
   Directional desktop toning protects copy while revealing the room to its right. */
.dw-commercial-banner .banner-bg:after{background:linear-gradient(90deg,rgba(6,27,32,.68),rgba(6,27,32,.28) 58%,transparent),linear-gradient(0deg,rgba(6,27,32,.55),rgba(6,27,32,.16) 65%,transparent)}
.dw-commercial-banner .dw-banner-lead{max-width:520px!important}
.dw-site .dw-commercial-banner p.dw-eyebrow{color:#fff}
@media(max-width:767px){
 .dw-site .dw-commercial-banner{padding-top:0!important;height:auto!important;min-height:0}
 .dw-commercial-banner .banner-inner{position:relative;inset:auto;height:auto;max-height:none}
 .dw-commercial-banner .banner-bg{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:3/2}
 .dw-commercial-banner .banner-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%!important}
 .dw-commercial-banner .banner-bg:after,.dw-commercial-banner .banner-bg .overlay{display:none}
 .dw-commercial-banner .banner-layers{position:relative!important;inset:auto;overflow:visible;height:auto;max-height:none;width:100%;max-width:none;padding:0;margin:0}
 .dw-commercial-banner .text-box{position:relative!important;height:auto!important;inset:auto!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;max-width:none}
 .dw-commercial-banner .text-box-content{padding:32px 6% 36px!important;background:var(--dw-dark)}
 .dw-commercial-banner .text-inner{padding:0!important}
 .dw-commercial-banner .dw-banner-lead{margin-bottom:0}
}

@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .dw-project-image img,.dw-project-image:after,.dw-site .foogallery .fg-image-wrap:after,.dw-site .header-nav-main.nav-line-bottom>li>a:before,.dw-site .header-nav-main.nav>li>a.dw-header-phone,.dw-text-link,.dw-site .button,.dw-site div.wpforms-container-full button[type=submit]{transition:none}
}
