/* Usability and motion states around the original 1.1 compositions. */
html { scroll-padding-top: 132px; }
body.df-experience :is(a, button, input, select, textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.df-skip-link { position: fixed; top: 12px; left: 20px; z-index: 10000; padding: 12px 18px; background: #f4efe4; color: #343421; transform: translateY(-180%); }
.df-skip-link:focus { transform: none; }
body.df-experience .ak-site-header { background: transparent !important; border: 0 !important; }
body.df-experience .ak-site-header.df-on-light { background: #f4efe4 !important; }
body.df-experience.admin-bar .ak-site-header { top: 32px !important; }
body.df-experience .ak-site-header .ak-brand-logo-olive { display: block !important; }
body.df-experience .ak-site-header .ak-brand-logo-cream { display: none !important; }
body.df-experience :is(.ak-primary-nav, .ak-header-meta) { color: #4a4a30 !important; }
body.df-experience .ak-site-header.df-on-dark .ak-brand-logo-olive { display: none !important; }
body.df-experience .ak-site-header.df-on-dark .ak-brand-logo-cream { display: block !important; }
body.df-experience .ak-site-header.df-on-dark :is(.ak-primary-nav, .ak-header-meta, .ak-menu-toggle) { color: #fff7ef !important; }
body.df-experience .ak-menu-toggle { color: #4a4a30; border-color: currentColor; min-width: 44px; min-height: 44px; }
body.df-experience .ak-menu-toggle span { background: currentColor; }
body.df-experience .ak-primary-nav a { position: relative; color: inherit !important; }
body.df-experience .ak-primary-nav a::after { content: ""; position: absolute; left: 0; right: .36em; bottom: -8px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; }
body.df-experience .ak-primary-nav a:is(:hover, :focus-visible, [aria-current])::after { transform: scaleX(1); }
body.df-experience :is(.ak-reveal, .ak-project-card, .ak-card) { transition: none; }
/* Keep the strip's original appearance without competing with reading. */
body.df-experience .ak-marquee div { animation: none !important; }
body.df-experience .ak-link { transition: color 180ms ease, border-color 180ms ease; }
body.df-experience :is(.ak-hero, .ak-visual-hero, .ak-contact-cta) .ak-link { color: #fff7ef !important; }
body.df-experience .ak-link:is(:hover, :focus-visible) { border-bottom-color: currentColor; }
body.df-experience .ak-project-card > a:focus-visible { display: block; }
body.df-experience .ak-project-card:hover img { transform: none; }
body.df-experience .df-service-row { display: block; }
body.df-experience .df-service-row::after { content: ""; position: absolute; inset: 0; }
body.df-experience .df-service-row:is(:hover, :focus-visible) h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 7px; }
body.df-experience .ak-people-list article:focus-within { outline: 2px solid #4a4a30; outline-offset: 8px; }
body.df-experience .ak-project-card p:not(.ak-eyebrow) { font-size: 16px !important; line-height: 1.55 !important; }
body.df-experience .ak-project-card .ak-eyebrow { white-space: normal; overflow-wrap: anywhere; }
body.df-experience .ak-gallery figcaption { margin-top: 14px; color: #665d49; font: 400 14px/1.6 Inter, sans-serif; }
body.df-experience .ak-process .ak-eyebrow { color: #f4efe4 !important; }
body.df-experience :is(.ak-process, .ak-contact-cta, .ak-detail-copy, .ak-studio-process-band, .ak-philosophy-detail-band) p { color: #f4efe4 !important; }
body.df-experience .ak-process em { color: rgba(255, 247, 239, .84) !important; }
body.df-experience .ak-detail-copy p:not(.ak-eyebrow) { font-size: 16px !important; }
body.df-experience .ak-site-header.df-on-dark .ak-primary-nav a { text-shadow: 0 1px 4px rgba(0, 0, 0, .6); }
body.df-experience .ak-visual-hero .ak-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
body.df-experience .ak-contact-form label { font-size: 14px !important; letter-spacing: .02em !important; text-transform: none !important; }
body.df-experience .ak-contact-form label > span { display: block; margin-top: 8px; font-size: 13px; letter-spacing: 0; text-transform: none; }
body.df-experience .ak-contact-form :is(input, select, textarea) { min-height: 48px; font-size: 16px; border-color: #837c68; scroll-margin-top: 8px; }
body.df-experience .ak-contact-form input[type="checkbox"] { min-height: 18px; }
body.df-experience .ak-contact-form :is(input, select, textarea):focus { border-color: #4a4a30; }
body.df-experience .ak-contact-form :is(input, select, textarea):user-invalid { border-color: #9c3e2b; }
body.df-experience .ak-contact-form button[disabled] { opacity: .7; cursor: wait; }
body.df-experience :is(#project-enquiry, .ak-notice) { scroll-margin-top: 8px; }
@media (max-width: 1200px) {
	body.df-experience .ak-primary-nav a { min-height: 44px; padding-block: 10px; }
	body.df-experience .ak-primary-nav a::after { bottom: 4px; right: 0; }
	body.df-experience .ak-site-header:has(.ak-menu-toggle[aria-expanded="true"]) { background: #f4efe4 !important; }
	body.df-experience .ak-site-header:has(.ak-menu-toggle[aria-expanded="true"]) .ak-brand-logo-olive { display: block !important; }
	body.df-experience .ak-site-header:has(.ak-menu-toggle[aria-expanded="true"]) .ak-brand-logo-cream { display: none !important; }
	body.df-experience .ak-site-header:has(.ak-menu-toggle[aria-expanded="true"]) :is(.ak-primary-nav, .ak-menu-toggle) { color: #4a4a30 !important; }
	body.df-experience .ak-site-header:has(.ak-menu-toggle[aria-expanded="true"]) .ak-primary-nav a { text-shadow: none; }
}
/* Keep the original split hero on desktop; give its copy room on phones. */
@media (max-width: 920px) {
	body.df-experience .ak-detail-hero { grid-template-columns: 1fr; min-height: auto; }
	body.df-experience .ak-detail-copy { min-height: 0; padding: 142px 24px 42px; }
	body.df-experience .ak-detail-copy h1 { font-size: clamp(52px, 12vw, 84px); line-height: 1; }
	body.df-experience .ak-detail-hero figure { height: 70svh; min-height: 340px; }
}
@media (max-width: 782px) {
	body.df-experience.admin-bar .ak-site-header { top: 46px !important; }
	html { scroll-padding-top: 108px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto !important; }
	body.df-experience *, body.df-experience *::before, body.df-experience *::after { animation: none !important; transition: none !important; }
	body.df-experience :is(.ak-reveal, .ak-card, .ak-project-card, .ak-project-card img, .ak-hero-media img) { opacity: 1 !important; transform: none !important; }
}
