/* DFS Corporate – component styles (Option B, corporate light). */

:root{
	--dfs-brown:#4A2A12;--dfs-brown-deep:#2A1709;--dfs-lime:#8DC63F;--dfs-lime-light:#C6E58A;--dfs-lime-deep:#4E7A12;
	--dfs-paper:#F6F2E9;--dfs-line:#E6DFD0;--dfs-ink:#1F1A14;--dfs-body:#4F473B;--dfs-mute:#6E6558;--dfs-sand:#EFE4CB;
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
:where(.wp-site-blocks) > *{margin-block-start:0}
.dfs-main{margin-block-start:0}
.dfs-main > *{margin-block-start:0}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--dfs-lime);outline-offset:3px}

/* ---------- Header ---------- */
.dfs-site-header{position:sticky;top:0;z-index:40;background:#fff}
.admin-bar .dfs-site-header{top:32px}
.dfs-header{min-height:92px;padding-left:var(--wp--style--root--padding-left);padding-right:var(--wp--style--root--padding-right);border-bottom:1px solid var(--dfs-line);gap:24px;align-items:center}
.dfs-brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0}
.dfs-brand__logo{height:58px;width:auto;flex-shrink:0;display:block}
.dfs-brand__name{font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:20px;line-height:1.05;text-transform:uppercase;color:var(--dfs-brown)}
.dfs-brand__name span{font-weight:500;color:var(--dfs-ink)}
.dfs-nav{flex-grow:1}
.dfs-nav .wp-block-navigation-item__content{color:var(--dfs-ink);padding:6px 0;border-bottom:3px solid transparent;text-decoration:none}
.dfs-nav .wp-block-navigation-item__content:hover,.dfs-nav .current-menu-item > .wp-block-navigation-item__content{color:var(--dfs-lime-deep);border-bottom-color:var(--dfs-lime)}
.dfs-header__cta .wp-block-button__link{white-space:nowrap;padding:0.8rem 1.4rem}

/*
 * The nav block's "justifyContent:right" (used for the desktop row) also gets
 * reused by WordPress core for the fullscreen mobile overlay menu, which pushes
 * the items to the right edge and clips longer labels ("Services & Expertise").
 * Recentre and let labels wrap only inside the open mobile overlay, leaving the
 * desktop row untouched.
 */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
	align-items:center;
}
.wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation__container{
	justify-content:center!important;
	align-items:center!important;
	width:100%;
	text-align:center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
	justify-content:center;
	width:100%;
	max-width:100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
	white-space:normal!important;
	overflow-wrap:break-word;
	text-align:center;
	padding:14px 24px;
	width:100%;
	box-sizing:border-box;
}

/* ---------- Buttons ---------- */
.wp-block-button.is-style-dfs-outline .wp-block-button__link{background:transparent;color:var(--dfs-brown);border:2px solid var(--dfs-brown)}
.wp-block-button.is-style-dfs-outline .wp-block-button__link:hover{background:var(--dfs-brown);color:#fff}
.wp-block-button.is-style-dfs-lime .wp-block-button__link{background:var(--dfs-lime);color:var(--dfs-ink)}
.wp-block-button.is-style-dfs-lime .wp-block-button__link:hover{background:var(--dfs-lime-light);color:var(--dfs-ink)}
.wp-block-button.is-style-dfs-light .wp-block-button__link{background:transparent;color:#fff;border:2px solid #fff}
.dfs-more a,.dfs-more{font-weight:600;color:var(--dfs-brown);text-decoration:none}
.dfs-more a:hover{color:var(--dfs-lime-deep)}
.dfs-kicker{font-size:13px!important;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--dfs-lime-deep);margin:0}
.dfs-kicker--light{color:var(--dfs-lime-light)}

/* ---------- Angled banner (hero + page banners) ---------- */
.wp-block-cover.is-style-dfs-banner{padding:0;align-items:center;overflow:hidden;position:relative;isolation:isolate}
.wp-block-cover.is-style-dfs-banner .wp-block-cover__image-background,
.wp-block-cover.is-style-dfs-banner .wp-block-cover__video-background,
.wp-block-cover.is-style-dfs-banner .wp-block-cover__background{position:absolute!important;inset:0!important;z-index:0!important}
.wp-block-cover.is-style-dfs-banner::before{content:"";position:absolute;inset:0 auto 0 0;width:min(820px,60%);background:var(--dfs-lime);clip-path:polygon(95% 0,100% 0,80% 100%,75% 100%);z-index:1}
.wp-block-cover.is-style-dfs-banner::after{content:"";position:absolute;inset:0 auto 0 0;width:min(780px,57%);background:rgba(74,42,18,.92);clip-path:polygon(0 0,100% 0,80% 100%,0 100%);z-index:2}
.wp-block-cover.is-style-dfs-banner .wp-block-cover__inner-container{box-sizing:border-box;position:relative;z-index:3;width:auto!important;max-width:calc(min(560px,44vw) + var(--wp--style--root--padding-left,4rem))!important;margin:0!important;color:#fff;padding:4rem 0 4rem var(--wp--style--root--padding-left,4rem)!important}
.wp-block-cover.is-style-dfs-banner .wp-block-cover__inner-container > *{margin-block:0}
.wp-block-cover.is-style-dfs-banner .wp-block-cover__inner-container > * + *{margin-block-start:1.1rem}
.dfs-banner__title,.dfs-page-banner .wp-block-post-title{color:#fff!important;font-size:clamp(2.25rem,4.4vw,4rem)!important;line-height:1!important;margin:0}
.dfs-banner__text,.dfs-page-banner .wp-block-post-excerpt{color:var(--dfs-sand);font-size:1.15rem;line-height:1.55}
.dfs-page-banner .wp-block-post-excerpt__excerpt{margin:0}
.dfs-banner__kicker,.dfs-banner__kicker a{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--dfs-lime-light)!important;text-decoration:none}
.dfs-hero .wp-block-cover__inner-container{padding-top:5.5rem!important;padding-bottom:7rem!important}
.dfs-hero .dfs-banner__title{font-size:clamp(2.5rem,4.6vw,4.1rem)!important}
.dfs-hero__actions{gap:12px;margin-top:1.75rem!important}
.dfs-hero__actions .wp-block-buttons{margin:0}

/* Slide tabs under the hero */
.dfs-slide-tabs{background:#fff;border-bottom:1px solid var(--dfs-line);box-shadow:0 10px 30px rgba(42,23,9,.06);position:relative;z-index:3}
.dfs-slide-tabs__inner{display:grid;grid-template-columns:repeat(4,1fr)}
.dfs-slide-tabs__inner a{display:flex;flex-direction:column;gap:4px;padding:22px 28px;border-top:4px solid transparent;text-decoration:none;color:var(--dfs-ink);font-weight:700}
.dfs-slide-tabs__inner a + a{border-left:1px solid var(--dfs-line)}
.dfs-slide-tabs__inner a span{font-size:12px;font-weight:600;color:var(--dfs-mute)}
.dfs-slide-tabs__inner a.is-active,.dfs-slide-tabs__inner a:hover{border-top-color:var(--dfs-lime)}
.dfs-slide-tabs__inner a.is-active span{color:var(--dfs-lime-deep)}

/* ---------- Tiles (who we work with) ---------- */
.dfs-tiles{gap:24px}
.dfs-tile{padding:0!important;min-height:420px}
.dfs-tile .wp-block-cover__inner-container{padding:0;width:100%!important;max-width:none!important}
.dfs-tile__title{margin:0;font-size:1.6rem!important}
.dfs-tile__title a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 26px;color:#fff;text-decoration:none;background:linear-gradient(0deg,rgba(31,26,20,.88),rgba(31,26,20,0))}
.dfs-tile__title a span{width:44px;height:44px;flex-shrink:0;background:var(--dfs-lime);color:var(--dfs-ink);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.dfs-tile:hover .dfs-tile__title a span{background:var(--dfs-lime-light)}

/* ---------- Cards ---------- */
.dfs-cards,.dfs-values{gap:24px}
.wp-block-group.is-style-dfs-card{background:#fff;padding:32px;border-bottom:4px solid var(--dfs-lime);display:flex;flex-direction:column;gap:12px}
.wp-block-group.is-style-dfs-card > *{margin:0}
.dfs-icon{color:var(--dfs-brown);display:block}
.dfs-card__title{font-size:1.35rem!important;color:var(--dfs-ink)!important}
.dfs-regions .wp-block-column{border-top:4px solid var(--dfs-brown);padding-top:26px}
.dfs-regions .wp-block-column > *{margin-block:0 12px}
.dfs-regions h3{color:var(--dfs-ink)}

/* ---------- About band + stats ---------- */
.dfs-about-band{margin:0!important;gap:0!important}
.dfs-about-band > .wp-block-column:first-child{align-self:stretch}
.dfs-about-band__img,.dfs-about-band__img img{height:100%;width:100%;margin:0}
.dfs-about-band__img img{object-fit:cover;min-height:420px}
.dfs-about-band h2{color:#fff!important}
.dfs-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid rgba(233,216,180,.3);padding-top:24px}
.dfs-stats div{display:flex;flex-direction:column;gap:4px}
.dfs-stats strong{font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:clamp(2rem,3.4vw,2.75rem);line-height:1;color:var(--dfs-lime-light)}
.dfs-stats span{font-size:14px;color:var(--dfs-sand)}
.dfs-stats--band{grid-template-columns:repeat(4,1fr);border:0;padding:0;max-width:var(--wp--style--global--wide-size);margin-inline:auto!important}
.dfs-stats--band div{border-left:4px solid var(--dfs-lime);padding-left:22px}

/* ---------- Assistant card + chips ---------- */
.dfs-assistant-card > *{margin:0}
.dfs-chips{display:flex;flex-wrap:wrap;gap:8px}
.dfs-chips a{padding:10px 14px;border:1px solid #CFC6B4;font-size:14px;color:var(--dfs-ink);text-decoration:none;background:#fff}
.dfs-chips a:first-child,.dfs-chips a:hover{border:2px solid var(--dfs-brown);background:var(--dfs-paper);padding:9px 13px;font-weight:600}

/* ---------- News list (home) ---------- */
.dfs-news-list .wp-block-post-template{margin:0;padding:0;list-style:none}
.dfs-news-row{padding:22px 0;border-top:1px solid var(--dfs-line);gap:28px!important}
.dfs-news-list li:last-child .dfs-news-row{border-bottom:1px solid var(--dfs-line)}
.dfs-news-row .wp-block-post-date{min-width:170px;color:var(--dfs-mute);font-weight:500}
.dfs-news-row .wp-block-post-title{margin:0;font-family:var(--wp--preset--font-family--body)!important;text-transform:none;font-size:1.25rem!important;font-weight:600;letter-spacing:0;line-height:1.35;color:var(--dfs-ink)}
.dfs-news-row .wp-block-post-title a{color:var(--dfs-ink);text-decoration:none}
.dfs-news-row .wp-block-post-title a:hover{color:var(--dfs-lime-deep)}

/* ---------- Post grid (Insights) ---------- */
.dfs-post-grid .wp-block-post-template{gap:28px}
.dfs-post-card{border:1px solid var(--dfs-line);height:100%;display:flex;flex-direction:column;background:#fff}
.dfs-post-card__img{margin:0!important;background:var(--dfs-paper);aspect-ratio:16/10}
.dfs-post-card__img:not(:has(img))::after{content:"";display:block;aspect-ratio:16/10;background:var(--dfs-brown) url("../images/fe-model.jpg") center/cover;opacity:.9}
.dfs-post-card__body{flex-grow:1;border-bottom:4px solid var(--dfs-lime)}
.dfs-post-card__body > *{margin:0}
.dfs-post-card .wp-block-post-title{font-family:var(--wp--preset--font-family--display);color:var(--dfs-brown)}
.dfs-post-card .wp-block-post-title a{color:var(--dfs-brown);text-decoration:none}
.dfs-post-card .wp-block-post-excerpt{color:var(--dfs-body);font-size:15px}
.dfs-post-card .wp-block-post-excerpt__more-link{font-weight:600;color:var(--dfs-brown);text-decoration:none}
.wp-block-query-pagination{margin-top:3rem!important;gap:14px;font-weight:600}

/* ---------- Title band, articles ---------- */
.dfs-title-band{border-bottom:4px solid var(--dfs-lime)}
.dfs-title-band > *{margin-block:0}
.dfs-article{font-size:1.15rem;line-height:1.75;color:#3A3329}
.dfs-article > * + *{margin-block-start:1.25rem}
.dfs-article h2{font-size:2rem;margin-block-start:2.5rem}
.dfs-article img{display:block}
.wp-block-post-featured-image{margin-bottom:2rem}
.dfs-cta-side .dfs-detail--large a{color:var(--dfs-lime-light)!important;font-size:clamp(22px,2vw,28px)!important;white-space:nowrap}
.dfs-cta-side > *{margin-block:0}
.dfs-side-list .wp-block-latest-posts{padding:0;margin:0}
.dfs-side-list .wp-block-latest-posts li{padding:12px 0;border-bottom:1px solid var(--dfs-line)}
.dfs-side-list .wp-block-latest-posts li:last-child{border-bottom:0}
.dfs-side-list .wp-block-latest-posts a{font-weight:600;color:var(--dfs-ink);text-decoration:none;line-height:1.4}
.dfs-side-list > *{margin-block:0 10px}

/* Square bullets */
ul.is-style-dfs-bullets{list-style:none;padding:0;margin-block-start:1rem}
ul.is-style-dfs-bullets li{position:relative;padding:12px 0 12px 26px;border-bottom:1px solid #EEE7D8;font-size:1.05rem;line-height:1.55;color:#3A3329}
ul.is-style-dfs-bullets li::before{content:"";position:absolute;left:0;top:21px;width:9px;height:9px;background:var(--dfs-lime)}

/* ---------- Services page ---------- */
.dfs-sidebar{position:sticky;top:140px;align-self:flex-start}
.dfs-side-nav{display:flex;flex-direction:column;background:var(--dfs-paper);margin-bottom:24px}
.dfs-side-nav a{padding:16px 20px;font-weight:600;font-size:15px;color:var(--dfs-ink);text-decoration:none;border-left:4px solid transparent}
.dfs-side-nav a.is-active,.dfs-side-nav a:hover{border-left-color:var(--dfs-lime);background:#fff}
.dfs-service{scroll-margin-top:140px}
.dfs-service h2{margin-block:.5rem 0}
.dfs-service .wp-block-image{margin:0}

/* ---------- Projects ---------- */
.dfs-featured-project .dfs-project-card{flex-direction:row}
.dfs-featured-project .dfs-project-card__media{flex:1.3;aspect-ratio:auto;min-height:440px}
.dfs-featured-project .dfs-project-card__body{flex:1;justify-content:center;padding:48px}
.dfs-featured-project .dfs-project-card__title{font-size:2.5rem}

/* ---------- Clients ---------- */
.dfs-segments{gap:24px}
.dfs-segment > *{margin:0}
.dfs-quote{border:0!important;padding:0 0 0 110px!important;position:relative;margin:0}
.dfs-quote::before{content:"\201C";position:absolute;left:0;top:-34px;font-family:Georgia,serif;font-size:140px;line-height:1;color:var(--dfs-lime)}
.dfs-quote p{font-family:var(--wp--preset--font-family--display);font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.3;font-weight:500;color:#fff}
.dfs-quote cite{display:block;margin-top:1.5rem;font-style:normal;color:var(--dfs-sand);font-size:1rem}

/* ---------- About ---------- */
.dfs-team{gap:24px}
.dfs-person > *{margin:0}
.dfs-portrait{aspect-ratio:4/5;background:var(--dfs-paper);display:flex;align-items:center;justify-content:center;color:var(--dfs-mute);font-size:13px;font-weight:600;margin-bottom:14px}
.dfs-portrait--initials{background:var(--dfs-brown);color:var(--dfs-tan,#E9D8B4);font-family:var(--wp--preset--font-family--display);font-weight:300;font-size:5rem}
.dfs-person__name{font-weight:700;font-size:1.15rem}
.dfs-person__role{color:var(--dfs-mute)}

/* ---------- Contact ---------- */
.dfs-contact-cards{margin-top:-70px!important;position:relative;z-index:5}
.dfs-office-card__phone{white-space:nowrap}
.dfs-map{min-height:180px;padding:22px;display:flex;align-items:flex-end;background-color:#EFE8D8;background-image:linear-gradient(rgba(74,42,18,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(74,42,18,.08) 1px,transparent 1px);background-size:36px 36px;position:relative}
.dfs-map::before{content:"";position:absolute;left:46%;top:36%;width:20px;height:20px;border-radius:50%;background:var(--dfs-brown);border:4px solid var(--dfs-lime)}
.dfs-map p{margin:0;background:#fff;padding:10px 14px;line-height:1.5}

/* ---------- CTA band + footer ---------- */
.dfs-cta-band h2{margin:0 0 .5rem}
.dfs-cta-band__actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;align-items:center}
.dfs-cta-band__actions > *{margin:0!important}
.dfs-footer{margin-block-start:0}
.dfs-footer__name{font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:1.25rem;text-transform:uppercase;color:#fff;margin:0 0 .75rem}
.dfs-footer .dfs-detail{color:var(--dfs-tan,#E9D8B4);line-height:1.6}
.dfs-footer__bottom{border-top:1px solid rgba(233,216,180,.2);padding-top:1.25rem}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
	.dfs-header{flex-wrap:wrap}
	.dfs-cards,.dfs-values,.dfs-team{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:781px){
	.dfs-header{min-height:68px;flex-wrap:nowrap}
	.dfs-brand__logo{height:44px}
	.dfs-brand__name{font-size:15px}
	.dfs-header .dfs-header__cta{display:none!important}
	.wp-block-cover.is-style-dfs-banner{flex-direction:column;align-items:stretch;justify-content:flex-end;min-height:0!important}
	.wp-block-cover.is-style-dfs-banner .wp-block-cover__image-background{position:relative;height:240px;display:block}
	.wp-block-cover.is-style-dfs-banner::before{display:none}
	.wp-block-cover.is-style-dfs-banner::after{display:none}
	.wp-block-cover.is-style-dfs-banner .wp-block-cover__inner-container{max-width:none!important;margin:0!important;width:100%!important;background:var(--dfs-brown);padding:2rem var(--wp--style--root--padding-left,1.25rem) 2.25rem!important;border-top:8px solid var(--dfs-lime)}
	.dfs-hero .wp-block-cover__inner-container{padding-bottom:2.5rem!important}
	.dfs-hero .dfs-banner__title{font-size:2.2rem!important}
	.dfs-slide-tabs{display:none}
	.dfs-tiles,.dfs-cards,.dfs-values,.dfs-segments,.dfs-team{grid-template-columns:1fr!important}
	.dfs-tile{min-height:220px!important}
	.dfs-stats--band{grid-template-columns:repeat(2,1fr)}
	.dfs-about-band__img img{min-height:240px}
	.dfs-news-row{flex-direction:column;align-items:flex-start!important;gap:6px!important}
	.dfs-sidebar{position:static}
	.dfs-featured-project .dfs-project-card{flex-direction:column}
	.dfs-featured-project .dfs-project-card__media{min-height:240px}
	.dfs-featured-project .dfs-project-card__body{padding:28px}
	.dfs-cta-band__actions{justify-content:flex-start}
	.dfs-contact-cards{margin-top:0!important;padding-top:2rem}
	.dfs-quote{padding-left:0!important}
	.dfs-quote::before{position:static;display:block;font-size:90px;height:50px}
}
