/* A single, recognizable mode action with a full mobile touch target. */
html body .essential-header .essential-theme-toggle {
  display:grid!important;place-items:center;width:44px!important;height:44px!important;
  flex:0 0 44px;padding:10px!important;border:0!important;border-radius:8px!important;
  color:inherit!important;background:transparent!important;box-shadow:none!important;
}
.essential-theme-toggle svg{grid-area:1/1;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:opacity .2s,transform .3s}
.essential-theme-toggle__moon{opacity:0;transform:rotate(-30deg) scale(.7)}
[data-essential-theme="light"] .essential-theme-toggle__sun{opacity:0;transform:rotate(30deg) scale(.7)}
[data-essential-theme="light"] .essential-theme-toggle__moon{opacity:1;transform:none}
/* Both CF7 instances need a light surface and ink together. The homepage
   previously inherited a black form panel while its fields used dark ink. */
html[data-essential-theme="light"] body .essential-home-contact .essential-contact-form{color:#343438!important;background:#f1e9db!important;color-scheme:light}
html[data-essential-theme="light"] body .essential-contact-page .essential-contact-form{color:#343438!important;background:#e9e6df!important;color-scheme:light}
html[data-essential-theme="light"] body :is(.essential-home-contact,.essential-contact-page) .essential-contact-form :is(input:not([type="checkbox"]):not([type="submit"]),select,textarea){color:#0c0c0e!important;-webkit-text-fill-color:#0c0c0e!important;border-bottom-color:rgba(12,12,14,.35)!important;color-scheme:light}
html[data-essential-theme="light"] body :is(.essential-home-contact,.essential-contact-page) .essential-contact-form .input-float .input-float__label,
html[data-essential-theme="light"] body :is(.essential-home-contact,.essential-contact-page) .essential-contact-form .input-select .input-select__label{color:#54545f!important}
html[data-essential-theme="light"] body :is(.essential-home-contact,.essential-contact-page) .essential-contact-form .wd23-contact-consent{color:#343438!important}
html[data-essential-theme="light"] body :is(.essential-home-contact,.essential-contact-page) .essential-contact-form .wd23-contact-consent a{color:#80520a!important}
html body .essential-header .essential-theme-toggle:hover{color:var(--essential-gold)!important}
html body .essential-header .essential-theme-toggle:focus-visible{outline:1px solid var(--essential-gold);outline-offset:2px}
[data-essential-theme="light"] .essential-header{color:#0c0c0e}
[data-essential-theme="light"] body:has(:is(.essential-hero,.essential-interior-hero,.essential-project-detail__hero,.essential-article__hero)) .essential-header:not(.is-scrolled){color:#fff}
body.essential-menu-open .essential-header{color:#fff!important}
@media(prefers-reduced-motion:reduce){.essential-theme-toggle svg{transition:none}}
.essential-mobile-consultation{display:none}
/* Legal mastheads share Contact's actual component, spacing and borders. */
html:has(.essential-legal-page),html body main.essential-main.essential-legal-page{background-image:none!important}
html body main.essential-main.essential-legal-page{padding-inline:var(--essential-pad);padding-bottom:clamp(7rem,12vw,12rem)}
.essential-legal-page .essential-contact-heading h1{max-width:100%;overflow-wrap:normal}
.essential-legal-page .essential-legal-copy{padding-top:clamp(3rem,5vw,5rem)}
.essential-legal-page .essential-legal-copy>:first-child{margin-top:0}
.essential-services-bridge{width:calc(100% - (2 * var(--essential-pad)));margin:0 auto}
.essential-main--services .essential-capabilities-process__intro{padding-bottom:clamp(3rem,5vw,5rem);border-bottom:1px solid var(--essential-line)}
.essential-main--services .essential-capabilities-process__intro>h3{text-align:left;align-self:end}
.essential-main--services .essential-capabilities .essential-capability{border-top:0}
.essential-next-project,.essential-next-project strong{text-decoration:none!important}
.essential-next-project strong{background:none!important}
.essential-project-story__mobile-progress i{position:relative;overflow:hidden}
.essential-project-story__mobile-progress i::after{content:"";position:absolute;inset:0;background:var(--essential-gold);transform:scaleX(var(--divider-progress,0));transform-origin:left center}
@media(max-width:781px){html body .essential-header.essential-header .essential-header__consultation.essential-header__consultation{display:none!important}}
/* Live photo-mask radius: 8px at 360px, growing to 24px at 1920px. */
:root{--essential-photo-radius:clamp(8px,calc(8px + (100vw - 360px) * .0102564103),24px)}
:is(.essential-project-story__image-mask,.essential-parallax-media,.essential-design-service figure,.essential-design-step figure,.essential-project-card__image,.essential-project-card__media,.essential-insight-card__media,.essential-service-detail__media,.essential-article__body figure){border-radius:var(--essential-photo-radius)!important;overflow:hidden;clip-path:inset(0 round var(--essential-photo-radius))!important}
.essential-project-story__image-mask img{border-radius:0!important}
.essential-project-story__image-mask{width:100%;overflow:hidden;border-radius:var(--essential-radius);position:relative}
.essential-project-story__slide.essential-media-reveal{overflow:visible;clip-path:none}
.essential-project-story__mobile-progress{display:none}
@media(max-width:781px){
.essential-project-story__slide .essential-project-story__image-mask img{position:relative;display:block;width:100%;height:auto}
.essential-project-story__slide figcaption{position:relative;margin-top:1rem;transform:none;overflow:visible}
.essential-project-story__mobile-progress{display:block;margin:1.75rem 0 2rem;color:var(--essential-gold);font-family:var(--essential-mono);font-size:.85rem;letter-spacing:.12em}
.essential-project-story__mobile-progress i{display:block;height:1px;margin-top:1.25rem;background:var(--essential-line)}
.essential-project-story__summary>.essential-project-story__progress{display:none}
}
.essential-project-story__progress{grid-template-columns:auto 1fr auto}
.essential-project-story__progress i:not(:first-of-type){display:none}
.essential-project-story__progress i:first-of-type{position:relative;flex:1;background:var(--essential-line)!important;overflow:hidden}
.essential-project-story__progress i:first-of-type::after{content:"";position:absolute;inset:0;background:var(--essential-gold);transform-origin:left center;transform:scaleX(var(--story-progress,0));will-change:transform}
@media(prefers-reduced-motion:no-preference){
.essential-scroll-image.essential-parallax-media{translate:none;clip-path:inset(49.5% round var(--essential-photo-radius))!important;transition:clip-path 1200ms cubic-bezier(.76,0,.24,1),opacity 700ms ease}
.essential-scroll-image.essential-parallax-media.is-media-loaded{clip-path:inset(0 round var(--essential-photo-radius))!important}
}
.essential-project-card--archive .essential-project-card__overlay h2{line-height:.78!important}
/* Let the photograph show through the cinematic title without moving it. */
html body .essential-main--home .essential-hero .essential-hero__title>span{opacity:.76!important}
@media(max-width:781px){
html{background:#000!important;overscroll-behavior-y:none}
/* Reserve the safe area instead of pulling the header up behind the clock. */
html body .essential-header.essential-header{top:0!important;padding-top:env(safe-area-inset-top,0px)!important;height:calc(78px + env(safe-area-inset-top,0px))!important;min-height:calc(78px + env(safe-area-inset-top,0px))!important}
html body .essential-header.essential-header::before{background:#000!important;height:env(safe-area-inset-top,0px)!important}
html::after{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:#000;z-index:2147483001;pointer-events:none}
html body .essential-menu-panel.essential-menu-panel{padding-top:calc(2rem + env(safe-area-inset-top,0px))!important}
/* Prevent focus auto-zoom, while retaining user-controlled pinch zoom. */
html body .wp-site-blocks :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),textarea,select,[contenteditable="true"]){font-size:max(16px,1rem)!important}
html body .essential-menu-panel{top:0!important;bottom:0!important;min-height:100dvh;background-color:#0c0c0e!important}
html body .essential-header__consultation.essential-header__consultation{flex-basis:78px!important;width:78px!important}
html body .essential-header.essential-header .essential-header__consultation .wp-block-button__link{position:relative;min-height:34px!important;height:34px!important;font-size:9px!important;border-radius:6px!important}
html body .essential-header.essential-header .essential-header__consultation .wp-block-button__link::after{content:"";position:absolute;inset:-5px 0;transform:none;background:none;border:0}
html body .essential-header.essential-header .essential-header__consultation .wp-block-button__link{padding-inline:2px!important;word-break:normal!important;overflow-wrap:normal!important}
}
:root{--essential-title-tracking:.025em}
/* Shared, modest title tracking; no font-size or layout overrides. */
html:root body .wp-site-blocks.wp-site-blocks :is(h1,h2,h3,h4,h5,h6,.essential-menu-panel__nav a,.essential-next-project strong,.essential-capability>span:last-child){letter-spacing:var(--essential-title-tracking)!important}
@media(max-width:781px){
/* Mobile navigation is opaque, so its icon must follow the bar, not the hero. */
html[data-essential-theme="light"] body:not(.essential-menu-open) .essential-header.essential-header .essential-theme-toggle{color:#0c0c0e!important}
html[data-essential-theme="light"] body:not(.essential-menu-open) .essential-header.essential-header{background-color:#f5f3ef!important}
html[data-essential-theme="light"] body:not(.essential-menu-open) .essential-header.essential-header .essential-menu-toggle{color:#0c0c0e!important}
html[data-essential-theme="light"] body:not(.essential-menu-open) .essential-header.essential-header .essential-header__logo a>img.essential-logo--white{display:none!important}
html[data-essential-theme="light"] body:not(.essential-menu-open) .essential-header.essential-header .essential-header__logo a>img.essential-logo--dark{display:block!important}
html body .essential-header{padding-inline:12px!important}
html body .essential-header__logo{width:clamp(112px,calc(100vw - 218px),184px)!important;flex-basis:clamp(112px,calc(100vw - 218px),184px)!important}
html body .essential-menu-panel__logo{width:clamp(112px,calc(100vw - 218px),184px);flex-basis:clamp(112px,calc(100vw - 218px),184px);left:calc(12px - var(--essential-pad))}
html body .essential-header__consultation{position:static!important;display:flex!important;flex:0 0 88px!important;width:88px!important;margin:0!important}
html body .essential-header__consultation .wp-block-button{width:100%;margin:0}
html body .essential-header .essential-header__consultation .wp-block-button__link{display:flex;align-items:center;justify-content:center;min-height:44px;padding:5px 8px!important;border:1px solid rgb(241 233 219 / .22)!important;border-radius:8px!important;background:transparent!important;box-shadow:none;font-size:10px!important;line-height:1.25!important;letter-spacing:0!important;text-transform:none;white-space:normal}
html[data-essential-theme="light"] body .essential-header .essential-header__consultation .wp-block-button__link{border-color:rgb(12 12 14 / .2)!important}
html body .essential-header__consultation .wp-block-button__link span{display:none}
html body.essential-menu-open .essential-header__consultation{visibility:hidden}
}
/* Shared service image masks and second-level overlay navigation (0.13.45). */
.essential-service-step__media{margin:0;width:100%;min-width:0;border-radius:var(--essential-photo-radius)!important;overflow:hidden;clip-path:inset(0 round var(--essential-photo-radius))!important}
.essential-service-step__media img{display:block;width:100%;border-radius:0!important}
@media(min-width:782px){.essential-service-step:nth-child(even) .essential-service-step__media{order:2}}
.essential-menu-panel .essential-menu-panel__nav[hidden],.essential-menu-children[hidden]{display:none!important}
.essential-menu-parent{display:flex;align-items:center;width:100%}
.essential-menu-panel__nav .essential-menu-parent>a{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%;min-height:44px}
.essential-menu-chevron{display:block;width:20px;height:20px;flex:0 0 20px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform 240ms ease}
.essential-menu-parent .essential-menu-chevron{width:clamp(22px,2.2vw,32px);height:clamp(22px,2.2vw,32px);flex-basis:clamp(22px,2.2vw,32px);color:#cd983a;margin-right:4px}
.essential-menu-parent>a:hover .essential-menu-chevron{transform:translateX(4px)}
.essential-menu-back,.essential-menu-all{display:inline-flex;align-items:center;gap:.7rem;min-height:44px}
.essential-menu-back .essential-menu-chevron{transform:rotate(180deg)}
.essential-menu-children__links .essential-menu-chevron{color:#cd983a;width:16px;height:16px;flex-basis:16px}
.essential-menu-expand,.essential-menu-back{appearance:none;background:none;border:0;color:#d6a13a;cursor:pointer;font-family:inherit}
.essential-menu-expand{font-size:clamp(1.6rem,3vw,3rem);padding:.25rem;min-width:44px;min-height:44px}
.essential-menu-expand:focus-visible,.essential-menu-back:focus-visible{outline:1px solid #d6a13a;outline-offset:4px}
.essential-menu-children{grid-column:1;grid-row:2;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1rem .5rem 1rem 0;animation:essential-submenu-in 420ms cubic-bezier(.22,1,.36,1) both}
.essential-menu-children h2{font-family:var(--essential-display);font-size:clamp(3rem,5vw,5rem);line-height:1;margin:1rem 0;color:#f1e9db;text-transform:uppercase}
.essential-menu-back,.essential-menu-all{font-family:var(--essential-mono);font-size:.75rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#d6a13a}
.essential-menu-children__links{display:grid;margin-top:1.5rem}
.essential-menu-children__links a{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:52px;padding:1.15rem 0;border-bottom:1px solid #ffffff1c;color:#f1e9db;text-decoration:none;font-family:var(--essential-mono);font-size:clamp(.875rem,1.2vw,1.125rem);font-weight:400;letter-spacing:.06em;line-height:1.55;text-transform:uppercase;transition:color 200ms ease}
.essential-menu-children__links a span{font-family:monospace;font-size:1.1rem;color:#d6a13a}
.essential-menu-children__links a:hover{color:#d6a13a}
.essential-menu-panel.has-submenu{grid-template-rows:auto minmax(0,1fr) auto}
@keyframes essential-submenu-in{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.essential-menu-children{animation:none}}
