/* Adapted from the user-supplied CodePen .custom-btn / .btn-16 example.
   One warm cream/olive treatment for all button-shaped controls. */
:root{--button-surface:#e8e1d1;--button-text:#414831;--button-shadow:rgba(73,78,55,.18);--button-radius:5px}
:is(.button,.button.primary,.header-contact,.text-link,.caption-action,.instagram-link,.filter,.menu-toggle,.round-arrow,.plus,.principle-list summary){
 position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(73,78,55,.12);border-radius:var(--button-radius);background:linear-gradient(145deg,#f0ebe1,var(--button-surface));color:var(--button-text);box-shadow:inset 2px 2px 2px rgba(255,255,255,.6),7px 7px 20px var(--button-shadow),4px 4px 5px rgba(73,78,55,.09);transition:box-shadow .3s ease,background .3s ease,transform .3s ease,color .3s ease;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
:is(.button,.header-contact,.text-link,.caption-action,.instagram-link,.filter,.menu-toggle,.round-arrow,.plus,.principle-list summary)::after{
 content:"";position:absolute;inset:0 auto 0 0;width:0;height:100%;border-radius:inherit;z-index:-1;pointer-events:none;background:rgba(129,133,110,.09);box-shadow:-7px -7px 20px rgba(255,255,255,.6),-4px -4px 5px rgba(255,255,255,.6),7px 7px 20px rgba(73,78,55,.13),4px 4px 5px rgba(73,78,55,.07);transition:width .3s ease;
}
:is(.button,.button.primary,.header-contact,.text-link,.caption-action,.instagram-link,.filter,.menu-toggle,.round-arrow,.plus,.principle-list summary):is(:hover,:focus-visible){background:linear-gradient(145deg,#f0ebe1,var(--button-surface));color:var(--button-text);box-shadow:inset 2px 2px 2px rgba(255,255,255,.65),5px 5px 13px var(--button-shadow),3px 3px 5px rgba(73,78,55,.1)}
:is(.button,.header-contact,.text-link,.caption-action,.instagram-link,.filter,.menu-toggle,.round-arrow,.plus,.principle-list summary):is(:hover,:focus-visible)::after{left:auto;right:0;width:100%}
:is(.button,.button.primary,.header-contact,.text-link,.caption-action,.instagram-link,.filter,.menu-toggle,.round-arrow,.plus,.principle-list summary):active{transform:translateY(2px);box-shadow:inset 3px 3px 6px rgba(73,78,55,.2),inset -3px -3px 6px rgba(255,255,255,.7)}
:is(.button,.header-contact,.text-link,.caption-action,.instagram-link,.filter,.menu-toggle,.principle-list summary):focus-visible{outline:2px solid var(--olive);outline-offset:5px}
.filter.active,.filter.active:is(:hover,:focus-visible){color:#fff;background:linear-gradient(145deg,#62684c,#494e37);border-color:#494e37;box-shadow:inset 2px 2px 4px rgba(32,38,24,.3),inset -1px -1px 2px rgba(255,255,255,.15),3px 3px 8px rgba(73,78,55,.16)}
.filter.active::after{background:rgba(255,255,255,.06)}
.round-arrow,.plus{border-radius:var(--button-radius)}
.explore-item:hover .round-arrow{background:linear-gradient(145deg,#f0ebe1,var(--button-surface));color:var(--button-text)}
.explore-item:is(:hover,:focus-visible) .round-arrow::after{width:100%;left:auto;right:0}
.service[open] .plus{transform:none;background:linear-gradient(145deg,#f0ebe1,var(--button-surface));box-shadow:inset 2px 2px 5px rgba(73,78,55,.16),inset -2px -2px 5px rgba(255,255,255,.65)}
.service[open] .plus::before{content:'−';position:absolute;inset:0;display:grid;place-items:center;background:var(--button-surface);border-radius:inherit}
.service summary:is(:hover,:focus-visible) .plus::after{width:100%;left:auto;right:0}
.principle-list details{padding-block:12px}
.principle-list summary{padding:13px 17px;min-height:48px;gap:20px;font-size:14px}
.principle-list details[open] summary{box-shadow:inset 2px 2px 5px rgba(73,78,55,.15),inset -2px -2px 5px rgba(255,255,255,.65)}
.menu-toggle{min-height:44px;min-width:44px}
.service summary{border-radius:var(--button-radius)}
.service summary:focus-visible{outline:2px solid var(--olive);outline-offset:4px}
@media(prefers-reduced-motion:reduce){:is(.button,.header-contact,.text-link,.caption-action,.instagram-link,.filter,.menu-toggle,.round-arrow,.plus,.principle-list summary),:is(.button,.header-contact,.text-link,.caption-action,.instagram-link,.filter,.menu-toggle,.round-arrow,.plus,.principle-list summary)::after{transition:none!important}}
@media(forced-colors:active){:is(.button,.header-contact,.text-link,.caption-action,.instagram-link,.filter,.menu-toggle,.round-arrow,.plus,.principle-list summary){border:1px solid ButtonText;box-shadow:none}.filter.active{border:2px solid Highlight}}
/* All action links share the same control, including secondary calls to action. */
:is(.text-link,.caption-action,.instagram-link){display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:12px 18px;font-size:12px;font-weight:550;line-height:1.5;white-space:nowrap;text-decoration:none;gap:0}
:is(.text-link,.caption-action,.instagram-link):hover{text-decoration:none}
.actions{gap:18px;flex-wrap:wrap}.actions>:is(.button,.text-link){min-height:50px;padding:14px 20px}
.actions>:nth-child(2),.actions>:nth-child(2):is(:hover,:focus-visible),.explore-item:nth-child(2) .round-arrow,.explore-item:nth-child(2):hover .round-arrow{background:linear-gradient(145deg,#62684c,#494e37);color:#fff;border-color:rgba(73,78,55,.4);box-shadow:inset 2px 2px 2px rgba(255,255,255,.2),7px 7px 20px rgba(73,78,55,.19),4px 4px 5px rgba(73,78,55,.11)}
.actions>:nth-child(2)::after,.explore-item:nth-child(2) .round-arrow::after{background:rgba(255,255,255,.06)}
.round-arrow{width:auto;height:auto;min-width:88px;min-height:43px;padding:11px 15px;font:550 12px/1.5 'DM Sans',Arial,sans-serif}
:is(.hero-visual.team-visual,.service-editorial,.story-team,.location-art) figcaption a.caption-action{display:inline-flex;justify-content:center;padding:10px 13px;min-height:38px;font-size:10px;gap:0;white-space:normal;text-align:center}
.hero-visual.team-visual figcaption{flex-wrap:wrap;gap:12px}.story-team figcaption,.location-art figcaption{display:flex;justify-content:flex-start}.service-editorial figcaption{padding-top:12px}.service-editorial figcaption a.caption-action{width:100%}
@media(max-width:767px){.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}.actions>:is(.button,.text-link){padding:12px 8px;font-size:11px;min-height:46px;white-space:normal;text-align:center}.explore-item{gap:12px}.round-arrow{min-width:78px;font-size:11px;padding-inline:12px}.hero-visual.team-visual figcaption a.caption-action{font-size:10px}.service-note{align-items:flex-start}}

/* Home exploration actions */
.explore-item{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:24px}
.explore-button{display:inline-flex;align-items:center;justify-content:center;width:164px;min-height:48px;padding:13px 20px;font-size:12px;line-height:1.5;text-align:center;white-space:nowrap;text-decoration:none}
.explore-item:nth-child(2) .explore-button,.explore-item:nth-child(2) .explore-button:is(:hover,:focus-visible){background:linear-gradient(145deg,#62684c,#494e37);color:#fff;border-color:rgba(73,78,55,.4);box-shadow:inset 2px 2px 2px rgba(255,255,255,.2),7px 7px 20px rgba(73,78,55,.19),4px 4px 5px rgba(73,78,55,.11)}
.explore-item:nth-child(2) .explore-button::after{background:rgba(255,255,255,.06)}
@media(max-width:767px){.explore-item{gap:20px}.explore-button{min-height:48px}}
