/*
Theme Name: StoneHall Next
Description: Native StoneHall block theme, based on Website Stonehall 2026.pdf.
Version: 1.0.3
Requires at least: 7.1
Requires PHP: 8.3
Text Domain: stonehall-next
License: GPL-2.0-or-later
*/
* { box-sizing: border-box; }

/* Keep the native scroll controls, with transparent tracks on every surface. */
* { scrollbar-color:color-mix(in srgb,var(--wp--preset--color--ink) 50%,var(--wp--preset--color--paper)) transparent; }
::-webkit-scrollbar { width:.75rem;height:.75rem; }
::-webkit-scrollbar,::-webkit-scrollbar-track,::-webkit-scrollbar-corner { background:transparent; }
::-webkit-scrollbar-thumb { background:color-mix(in srgb,var(--wp--preset--color--ink) 50%,var(--wp--preset--color--paper));border:3px solid transparent;border-radius:1rem;background-clip:padding-box; }
@supports selector(::-webkit-scrollbar) { * { scrollbar-color:auto; } }
/* Classic root gutters cannot reveal section backgrounds through their track.
   Paint the page's surface continuation beneath that transparent track. */
html::-webkit-scrollbar-track,body::-webkit-scrollbar-track { background-image:var(--sh-scrollbar-backdrop,none),url('assets/images/paper-fine.svg');background-size:100% var(--sh-scrollbar-canvas-height,100vh),var(--wp--custom--paper--repeat-width) auto;background-position:left var(--sh-scrollbar-page-offset,0px),right var(--sh-scrollbar-page-offset,0px);background-repeat:no-repeat,repeat; }
@media(forced-colors:active) { * { scrollbar-color:auto; } html::-webkit-scrollbar-track,body::-webkit-scrollbar-track { background-image:none; } ::-webkit-scrollbar-thumb { background:CanvasText;border-color:Canvas; } }

:where(.wp-site-blocks,.editor-styles-wrapper) { -webkit-font-smoothing: antialiased; }

.wp-site-blocks { padding:0; }

.wp-site-blocks > *, .wp-block-post-content > *, main.wp-block-group > *, .sh-workbench > * { margin-block-start:0; }

.sh-workbench { margin:0; padding:0; width:100%; }

:where(h1,h2,h3,h4,p) { text-wrap:initial; }

:where(h1,h2,h3,h4) { font-weight:400; letter-spacing:0; }

:where(h1,h2,h3,h4) em { font-family:var(--wp--preset--font-family--serif); font-weight:400; font-size:1.1018em; }

a { color:inherit; text-underline-offset:.2em; }

:where(a,button,summary):focus-visible { outline:2px solid currentColor; outline-offset:4px; }

/* Fixed grain scale: tall pages must not enlarge the paper photo. The mirrored
   tile repeats without a hard edge, including in small editor/catalog surfaces. */
.is-style-paper { color:var(--wp--preset--color--ink); background:var(--wp--preset--color--paper) url('assets/images/paper-fine.svg') center top / var(--wp--custom--paper--repeat-width) auto repeat; }

.is-style-ink,.is-style-atmosphere { color:var(--wp--custom--light-text);background-color:var(--wp--preset--color--ink); }

/* Preserve the original circular gradient at every section aspect ratio. */
.is-style-atmosphere,.sh-menu-gradient { background-image:url('assets/images/atmosphere-pdf.webp');background-position:center;background-size:cover;background-repeat:no-repeat; }

.sh-pdf-hero,.sh-cta { min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;padding:8vw 4vw;margin:0;border-radius:0; }

.admin-bar :is(.sh-pdf-hero,.sh-cta) { min-height:calc(100svh - 32px); }

.sh-pdf-hero h2,.sh-cta h2 { font-size:var(--wp--custom--pdf--heading);line-height:.982;max-width:none;margin:0; }

.sh-pdf-hero p,.sh-cta p { font-size:var(--wp--custom--pdf--body);line-height:1.35;margin:3.7vw 0 0;max-width:none;color:inherit; }

.sh-pdf-hero-content { width:100%;margin:0; }

.sh-pdf-header { position:absolute;top:2.3vw;left:3.9%;right:3.9%;display:grid;grid-template-columns:1fr auto 1fr;align-items:start; }

.sh-pdf-header p { margin:0;font-size:clamp(.625rem,.78947vw,.9375rem);text-align:left;line-height:1.3; }

.sh-pdf-header a { text-decoration:none; }

.sh-pdf-header .wp-block-navigation { grid-column:2; margin:0; }

.sh-pdf-header .wp-block-navigation__responsive-container-open { display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:0;color:inherit; }

.sh-pdf-header .wp-block-navigation__responsive-container-open::after { content:'Menü';font-size:clamp(.625rem,.8421vw,1rem);font-family:var(--wp--preset--font-family--sans); }

.sh-pdf-header .wp-block-navigation__responsive-container-open svg { width:2.1vw;min-width:20px;height:1.5vw;min-height:14px; }

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { min-height:85svh;justify-content:center;align-items:center; }

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items:center;font-size:var(--wp--custom--pdf--heading); }

.sh-pdf-services { position:relative;min-height:100svh;padding:11.5vw 0 3.7vw;margin:0;border-radius:var(--wp--custom--pdf--paper-radius) var(--wp--custom--pdf--paper-radius) 0 0; }

.sh-pdf-hero + .sh-pdf-services { box-shadow:0 -2rem 0 var(--wp--preset--color--ink); }

.sh-pdf-wordmark { display:block;width:11.57895%;height:auto;margin:0 auto; }

.sh-pdf-services > .sh-pdf-wordmark { position:absolute;top:3.9vw;left:3.9vw;margin:0; }

.sh-services-intro { text-align:center;font-size:clamp(1rem,1.26316vw,1.5rem);line-height:1.35;margin:0 4vw; }

.sh-services-title { text-align:center;font-size:clamp(1.5rem,2.73684vw,3.25rem);line-height:1.1;margin:2vw 0 0; }

.sh-service-grid { --sh-card-columns:3;width:76.4%;margin:5.25vw auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.37vw; }

.sh-service-grid > :nth-child(4) { grid-column:2; }

.is-style-glass { background:var(--wp--custom--glass);border:0;border-radius:var(--wp--custom--pdf--radius);color:var(--wp--preset--color--ink); }

.sh-card { min-height:18.2vw;padding:2.5vw 1.3vw 1.5vw;display:flex;flex-direction:column;align-items:start;margin:0; }

.sh-icon { width:3.2vw;height:3.2vw;display:block;flex-shrink:0; }

.sh-card h3 { font-size:clamp(1.125rem,1.26316vw,1.5rem);line-height:1.25;letter-spacing:0;margin:5vw 0 .7vw; }

.sh-card p { font-size:clamp(1rem,1vw,1.1875rem);line-height:1.42;margin:0;color:#111; }

.sh-pdf-service-list { border-radius:var(--wp--custom--pdf--paper-radius) var(--wp--custom--pdf--paper-radius) 0 0;padding-top:12.6vw;padding-bottom:9vw; }

.sh-service-rows { width:85%;margin:0 auto; }

.is-style-service-row { display:grid;grid-template-columns:3.5vw minmax(0,1fr) minmax(0,1fr);gap:2vw;align-items:start;border-bottom:1px solid var(--wp--preset--color--ink);padding:4.2vw 5.8vw;margin:0; }

.is-style-service-row:first-child { padding-top:3vw; }

.is-style-service-row :is(h2,h3) { font-size:clamp(1.125rem,2.05842vw,2.44438rem);line-height:1.1;margin:0; }

.is-style-service-row :is(h2,h3) em { font-size:1.1455em; }

.sh-service-description { padding-left:3.7vw;margin:0; }

.sh-service-description p { font-size:clamp(.8125rem,1.26316vw,1.5rem);margin:0 0 1vw;line-height:1.3; }

.sh-service-description ul { padding-left:1em;margin:0;font-size:clamp(1rem,1vw,1.1875rem);line-height:1.42;color:#111; }

.sh-cta { min-height:max(100svh,60.47vw); }

.admin-bar .sh-cta { min-height:max(calc(100svh - 32px),60.47vw); }

.sh-cta p { margin-top:5.9vw; }

.sh-cta .wp-block-buttons { margin:7.9vw 0 0;justify-content:center; }

.wp-block-button__link { background:var(--wp--preset--color--ink);color:var(--wp--custom--light-text);border:0;border-radius:clamp(.35rem,.63158vw,.75rem);font-size:var(--wp--custom--pdf--body);line-height:1.35;padding:.72vw 2.2vw;text-decoration:none;font-weight:400; }

.sh-pdf-faq { position:relative;min-height:100svh;padding:2.75vw 0 5.3vw;margin:0;display:flex;flex-direction:column;align-items:center; }

.sh-faq-title { font-size:clamp(1.125rem,1.57895vw,1.875rem);line-height:1.3;margin:1.1vw 0 2.7vw; }

.sh-faq-list { width:57.1%;margin:0; }

.wp-block-details.is-style-quiet { background:var(--wp--custom--glass);border:0;border-radius:clamp(.4rem,.73684vw,.875rem);padding:1.05vw 1.9vw;margin:0 0 .58vw;font-size:var(--wp--custom--pdf--small);line-height:1.42; }

.wp-block-details.is-style-quiet summary { list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1.5vw;cursor:pointer; }

.wp-block-details.is-style-quiet summary::-webkit-details-marker { display:none; }

.wp-block-details.is-style-quiet summary::after { content:'';width:1.1em;height:1.1em;background:currentColor;mask:url('assets/icons/icon-chevron-down.svg') center/contain no-repeat;-webkit-mask:url('assets/icons/icon-chevron-down.svg') center/contain no-repeat;flex-shrink:0; }

.wp-block-details.is-style-quiet p { margin:1.1vw 0 0;line-height:1.42;color:#111; }

.sh-pdf-footer { width:92.2%;display:grid;grid-template-columns:4.74vw 1fr auto;align-items:center;gap:1.6vw;margin:auto auto 0;padding-top:8vw; }

.sh-monogram { width:100%;height:auto; }

.sh-pdf-footer p { font-size:clamp(.6875rem,.89474vw,1.0625rem);line-height:1.58;margin:0; }

.sh-pdf-footer a { text-decoration:none; }

/* Catalogue navigation and labels are outside the production specimens. */
.sh-catalog-nav { display:flex;justify-content:center;flex-wrap:wrap;gap:2rem;padding:1.5rem;font-size:.875rem; }

.sh-catalog-nav a { text-decoration:none; }

.sh-catalog-documentation { padding:3rem 6vw; }

.sh-catalog-documentation h2 { font-size:1.5rem; }

.sh-catalog-documentation > * + * { margin-top:3rem; }

.sh-catalog-documentation p { font-size:.875rem; }

.sh-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem; }

.sh-service-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:3.37vw; }

.sh-token { margin:0; }

.sh-swatch { min-height:6rem;padding:1rem;border:1px solid var(--wp--preset--color--line); }

.sh-swatch p { margin:0; }

.sh-token-label { display:flex;justify-content:space-between;font-size:.75rem;gap:.5rem; }

.sh-catalog-note { color:var(--wp--preset--color--muted); }

@media(max-width:48rem) {
 .sh-pdf-hero,.sh-cta { padding:7rem 5vw; }

 .sh-pdf-hero p,.sh-cta p { margin-top:2.5rem; }

 .sh-pdf-header { top:1.5rem;grid-template-columns:1fr auto; }

 .sh-pdf-header p { max-width:70%; }

 .sh-pdf-wordmark { width:9rem; }

 .sh-pdf-services { padding:9rem 0 3rem; }

 .sh-pdf-services > .sh-pdf-wordmark { top:2rem;left:5vw; }

 .sh-service-grid { width:90%;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.5rem; }

 .sh-service-grid > :nth-child(4) { grid-column:auto; }

 .sh-card { padding:1.5rem;min-height:15rem; }

 .sh-card h3 { margin-top:3rem;margin-bottom:.75rem; }

 .sh-icon { width:2.5rem;height:2.5rem; }

 .sh-service-rows { width:90%; }

 .is-style-service-row { grid-template-columns:2.5rem minmax(0,1fr);gap:1rem;padding:2rem 0; }

 .sh-service-description { grid-column:2;padding:0; }

 .sh-service-description p { margin-bottom:.75rem; }

 .sh-cta .wp-block-buttons { margin-top:3rem; }

 .wp-block-button__link { padding:.65rem 1.75rem; }

 .sh-pdf-faq { padding:2.5rem 0; }

 .sh-faq-title { margin:1rem 0 2rem; }

 .sh-faq-list { width:90%; }

 .wp-block-details.is-style-quiet { padding:1rem;margin-bottom:.5rem; }

 .wp-block-details.is-style-quiet p { margin-top:1rem; }

 .sh-pdf-footer { grid-template-columns:3rem 1fr;gap:1rem;padding-top:4rem; }

 .sh-pdf-footer p:last-child { grid-column:2; }

 .sh-grid:not(.sh-service-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }

}

@media(max-width:36rem) { .sh-service-grid { grid-template-columns:minmax(0,1fr); }
 }

@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important;transition:none!important; }
 }

/* Approved components · shared by editor, catalogue and pages. */
:root{--sh-ink:var(--wp--preset--color--ink);--sh-light:var(--wp--preset--color--paper);--sh-body:var(--wp--custom--pdf--body);--sh-small:var(--wp--custom--pdf--small);--sh-heading:var(--wp--custom--pdf--heading);--sh-radius:var(--wp--custom--pdf--paper-radius)}

html{scroll-behavior:smooth}
body{margin:0}
.wp-site-blocks{overflow:clip;background:var(--sh-ink)}
main{margin:0!important}
button,input,textarea,select{font:inherit}
button,summary{cursor:pointer}
button{color:inherit}
button:disabled{opacity:.6;cursor:wait}
[hidden]{display:none!important}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:hover{text-decoration:underline}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:4px}
button{border:0}
button:hover{filter:brightness(1.08)}

.sh-pdf-wordmark img,.sh-intro-logo img{width:100%;height:auto;display:block}
.sh-pdf-wordmark{line-height:0}
.sh-icon{color:var(--sh-ink)}
.sh-pdf-hero h1{font-size:var(--sh-heading);line-height:.982;margin:0;font-weight:400;letter-spacing:0}
.sh-pdf-hero h2{font-size:var(--sh-heading)}
.sh-pdf-hero p{margin-top:3.7vw}
.sh-pdf-hero em,.sh-cta em,.sh-menu em,.sh-showcase em{font-family:var(--wp--preset--font-family--serif);font-size:1.1018em;font-weight:400}

.sh-pdf-services,.sh-pdf-faq,.sh-project-detail{border-radius:var(--sh-radius) var(--sh-radius) 0 0;position:relative}
.sh-pdf-services,.sh-pdf-faq,.sh-project-detail{box-shadow:0 calc(-1 * var(--sh-radius)) 0 var(--sh-ink)}
.sh-pdf-services>.sh-pdf-wordmark,.sh-project-detail>.sh-pdf-wordmark{position:absolute;top:3.9vw;left:3.9vw;margin:0;width:11.58%}
.sh-card{min-height:18.2vw}
.sh-service-grid>:nth-child(4){grid-column:auto}
@media(min-width:64.001rem){
.sh-service-grid:not(:has(.sh-grid-link))>.sh-card:nth-child(3n+1):nth-last-child(2){grid-column:2}
.sh-service-grid:not(:has(.sh-grid-link))>.sh-card:nth-child(3n+1):last-child{grid-column:3}
}
.sh-card,.sh-service-description,.is-style-service-row>h2,.sh-project-card-copy,.sh-slider-controls{min-width:0}
.sh-card h3,.is-style-service-row h2{overflow-wrap:anywhere;hyphens:auto;-webkit-hyphens:auto}
.sh-grid-link{display:flex;align-items:center;justify-content:center;font-size:var(--sh-small);min-height:4rem;margin:0}
.sh-grid-link a{text-decoration:none}
.sh-grid-link a:before{margin-right:.8em}
.is-style-service-row{border-bottom:1px solid var(--wp--preset--color--line);padding-block:5.9vw}
.is-style-service-row:last-child{border-bottom:0}
.sh-pdf-service-list{padding-top:12.6vw}

.sh-skip{position:fixed;top:0;left:1rem;z-index:100001;background:var(--sh-light);color:var(--sh-ink);padding:1rem;transform:translateY(-200%)}
.sh-skip:focus{transform:none}
:root{--sh-nav-inset-top:2.3vw;--sh-menu-font-size:clamp(.65rem,.84vw,1rem);--sh-menu-lines-height:clamp(24px,2.65vw,36px);--sh-menu-bottom:calc(var(--sh-nav-inset-top) + var(--sh-menu-lines-height) + .35rem + var(--sh-menu-font-size) * 1.65)}
.sh-nav{position:fixed;top:0;left:0;width:100%;height:7vw;min-height:72px;z-index:1000;pointer-events:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:var(--sh-nav-inset-top) 3.9vw;color:var(--sh-light);transition:opacity .2s}
.admin-bar .sh-nav{top:var(--sh-nav-admin-offset,var(--sh-adminbar-height,0px))}
.sh-nav.is-intro{visibility:hidden;opacity:0}
.sh-nav-contact,.sh-menu-trigger{pointer-events:auto;color:var(--sh-light)}
.sh-nav-contact a.on-paper,.sh-menu-trigger.on-paper{color:var(--sh-ink)}
.sh-nav-contact{grid-column:3;grid-row:1;justify-self:end;text-align:right;display:flex;justify-content:flex-end;gap:1.6vw;font-size:clamp(.65rem,.79vw,.94rem);line-height:1.3}
.sh-nav a{text-decoration:none}
.sh-menu-trigger,.sh-menu-close{display:flex;flex-direction:column;align-items:center;background:none;padding:0;font-size:clamp(.65rem,.84vw,1rem);gap:.35rem}
.sh-menu-trigger{grid-column:2;grid-row:1;font-size:var(--sh-menu-font-size);line-height:1.65}
.sh-menu-lines{width:var(--sh-menu-lines-height);height:var(--sh-menu-lines-height);display:block;background:currentColor;mask:url('assets/icons/icon-menu.svg') center/contain no-repeat;-webkit-mask:url('assets/icons/icon-menu.svg') center/contain no-repeat}
.sh-menu{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100dvh;padding:0;border:0;margin:0;background:var(--sh-ink);color:var(--sh-light);clip-path:circle(0 at var(--menu-x,50vw) var(--menu-y,3vw));transition:clip-path .6s cubic-bezier(.4,0,.2,1);overflow:auto}
.sh-menu::backdrop{background:transparent}
.sh-menu.is-open{clip-path:circle(150vmax at var(--menu-x,50vw) var(--menu-y,3vw))}
.sh-menu-gradient{position:absolute;inset:0;opacity:0;transition:opacity .6s;pointer-events:none}
.sh-menu.is-open .sh-menu-gradient{opacity:1}
.sh-menu-close{position:absolute;left:50%;top:2.3vw;transform:translateX(-50%);z-index:2}
.admin-bar .sh-menu-close{top:calc(2.3vw + 32px)}
.sh-menu.is-pointer-open .sh-menu-close:focus{outline:none;box-shadow:none}
.sh-menu-close>span:first-child{display:block;width:var(--sh-menu-lines-height);height:var(--sh-menu-lines-height);background:currentColor;mask:url('assets/icons/icon-x-mark.svg') center/contain no-repeat;-webkit-mask:url('assets/icons/icon-x-mark.svg') center/contain no-repeat}
.sh-menu>nav{position:relative;margin:0;padding:28vh 1rem 0;text-align:center}
.sh-menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.7vh}
.sh-menu-list a{display:inline-flex;align-items:center;min-height:2.75rem;font-size:clamp(1.5rem,1.74944vw,2.07746rem);text-decoration:none;line-height:1.2}
.sh-menu-list li{opacity:0;transform:translateY(1rem);transition:opacity .35s,transform .35s;transition-delay:0s}
.sh-menu.is-open .sh-menu-list li{opacity:1;transform:none;transition-delay:calc(.18s + var(--i)*.09s)}
.sh-menu-bottom{position:relative;text-align:center;margin:20vh 1rem 10vh}
.sh-menu-bottom p{font-size:clamp(2rem,2.73684vw,3.25rem);line-height:1.1;margin:0 0 2.4vw}
.sh-menu-bottom>div{display:flex;justify-content:center;gap:2rem;font-size:var(--sh-small)}
.sh-menu-bottom a{text-decoration:none}

.sh-intro{min-height:100svh;position:relative;display:grid;place-items:center;text-align:center;padding:4rem 1rem}
.admin-bar .sh-intro{min-height:calc(100svh - 32px)}
.sh-intro-logo{width:max(calc(13vw * var(--sh-intro-logo-scale,1)),calc(140px * var(--sh-intro-logo-scale,1)));max-width:calc(100vw - 2rem);display:block;margin:0 auto;line-height:0}
.sh-intro-logo{contain:paint;transform:translateZ(0)}
.sh-intro p{font-size:clamp(.9rem,1.32vw,1.56rem);line-height:1.3;margin:1.6vw 0 0}
.sh-intro p.sh-intro-brand{font-family:var(--wp--preset--font-family--brand);font-size:clamp(.875rem,1.05vw,1.25rem);line-height:1.4;letter-spacing:.08em;margin:clamp(1rem,2vw,2.4rem) 0}
.sh-intro-brand+p{margin-top:0}
.sh-intro-next{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);font-size:1.5rem;text-decoration:none}

.sh-showcase{position:relative;min-height:max(100svh,66vw);padding:14vw 6vw 7vw;overflow:hidden}
.sh-showcase>h2{font-size:var(--sh-heading);line-height:.982;margin:0;width:38%}
.sh-showcase-statement{position:absolute;top:9.5vw;right:7.5%;text-align:right;font-size:clamp(.875rem,1.32vw,1.56rem);line-height:1.25;margin:0}
.sh-showcase-body{display:grid;grid-template-columns:minmax(0,.28fr) minmax(0,.72fr);margin-top:5vw;gap:3vw}
.sh-tabs{display:flex;flex-direction:column;align-items:flex-start;gap:1.3vw}
.sh-tabs button{background:transparent;color:inherit;border-radius:.55vw;padding:.75vw 1vw;font-size:var(--sh-small);text-align:left;line-height:1.3;white-space:normal;max-width:100%}
.sh-tabs button[aria-selected=true]{background:var(--wp--custom--glass)}
.sh-slider-play{font-size:clamp(.75rem,.9vw,1rem);background:transparent;margin:1.5vw 1vw 0;padding:.4rem 0;opacity:.8;text-decoration:underline;text-underline-offset:.25em}
.sh-project-panel{display:grid;grid-template-columns:minmax(0,.39fr) minmax(0,.61fr);gap:3vw}
.sh-project-copy{min-width:0;position:relative;z-index:1}
.sh-project-copy h3{font-size:clamp(.9rem,1.32vw,1.57rem);line-height:1.25;margin:0 0 3vw}
.sh-project-copy p{font-size:var(--sh-small);line-height:1.4;margin:0 0 1.5vw}
.sh-arrow-link{font-size:clamp(.75rem,.9vw,1.07rem);display:inline-flex;align-items:center;gap:.8em;text-decoration:none;margin-top:1.5vw}
.sh-showcase-device{width:100%;min-width:0;margin-top:-6.5vw}
.sh-showcase-caption{position:absolute;bottom:5.6vw;right:7.5%;font-size:var(--sh-small);margin:0}
.sh-enter{animation:sh-enter .45s ease-out both}
@keyframes sh-enter{from{opacity:0;transform:translateY(18px)}
to{opacity:1;transform:none}
}

.sh-device{position:relative;width:100%;aspect-ratio:906/636}
.sh-device img{position:absolute;display:block;max-width:none;object-fit:fill}
.sh-device-screen{left:10.27%;top:2.83%;width:79.58%;height:73.43%;object-fit:cover!important;object-position:top;background:#fff;border-radius:.4vw}
/* The PDF frame crops include white screen pixels along their inner edges. */
.sh-device-frame-top{left:8.17%;top:0;width:83.66%;height:3.3%;border-radius:1.3vw 1.3vw 0 0;clip-path:inset(0 0 14.3%)}
.sh-device-frame-left{left:8.17%;top:3.3%;width:2.1%;height:72.96%}
.sh-device-frame-right{left:89.85%;top:3.3%;width:1.99%;height:72.96%}
.sh-device-frame-base{left:0;top:76.26%;width:100%;height:3.93%;border-radius:0 0 .4vw .4vw}
.sh-device-front-one{left:14.57%;top:61%;width:36.64%;height:39%;border-radius:1vw;box-shadow:0 .2vw 1vw #202f5710}
.sh-device-front-two{left:53.09%;top:61.64%;width:32.34%;height:35.85%;border-radius:1vw;box-shadow:0 .2vw 1vw #202f5710}
.sh-project-single-image{width:100%;height:auto;display:block;object-fit:contain}

.sh-project-list{padding-top:14vw;padding-bottom:5.5vw}
.sh-project-cards{width:62%;margin:5vw auto 0;display:grid;gap:3.7vw}
.sh-project-card{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);overflow:hidden;min-height:26vw}
.sh-project-card-media>img{width:100%;height:100%;display:block;object-fit:cover}
.sh-project-card-media.sh-contained{padding:3.5vw 1.3vw;display:flex;align-items:center}
.sh-project-card-media.sh-contained>img{height:auto;object-fit:contain;border-radius:var(--wp--custom--border--radius--small)}
.sh-project-card-copy{padding:6vw 2.3vw 2vw;position:relative}
.sh-project-card :is(h2,h3){font-size:clamp(.875rem,1.26vw,1.5rem);line-height:1.2;margin:0 0 1.6vw}
.sh-project-card-copy>p:not(.sh-project-categories){font-size:var(--sh-small);line-height:1.4;color:#111;margin:0}
.sh-project-categories{font-size:clamp(.6875rem,.84vw,1rem);text-align:right;margin:3.5vw 0 0;line-height:1.3}
.sh-more{display:flex;flex-direction:column;align-items:center;width:max-content;margin:5vw auto 0;font-size:var(--sh-small);text-decoration:none}
.sh-more:before{content:'';display:block;width:1.2em;height:1.2em;margin-bottom:.4em;background:currentColor;mask:url('assets/icons/icon-chevron-down.svg') center/contain no-repeat;-webkit-mask:url('assets/icons/icon-chevron-down.svg') center/contain no-repeat}
.sh-load-status{text-align:center;font-size:var(--sh-small)}

.sh-project-hero{min-height:46.4vw!important;justify-content:flex-start;padding-top:14.5vw;padding-bottom:17.5vw}
.sh-project-hero p{margin-top:3vw;max-width:44vw}
.sh-project-detail{padding:27vw 0 6vw;min-height:100svh}
.sh-project-overlap{position:absolute;top:-13.2vw;left:26.1%;width:47.7%}
.sh-detail-categories{position:absolute;right:7.5%;top:18vw;font-size:var(--sh-small);margin:0}
.sh-text-slider{width:85%;margin:0 auto;display:grid;grid-template-columns:minmax(0,.29fr) minmax(0,.71fr);gap:3.5vw}
.sh-text-slider .sh-panels{max-width:57vw;min-height:23vw}
.sh-text-slider h2{font-size:clamp(1rem,1.32vw,1.56rem);margin:0 0 2vw;line-height:1.3}
.sh-text-slider p{font-size:var(--sh-small);line-height:1.4;color:#111;margin:0 0 1.5vw}
.sh-project-extra{display:block;width:62%;height:auto;margin:5vw auto 0;mix-blend-mode:multiply}
.sh-cta{min-height:max(100svh,60.47vw)}
.sh-cta>h2{margin:0}
.sh-cta>.sh-contact-disclosure{margin-top:7.9vw}
.sh-button{display:inline-block;border-radius:clamp(.35rem,.63vw,.75rem);background:var(--sh-ink);color:var(--sh-light);padding:.72vw 2.2vw;font-size:var(--sh-body);line-height:1.35;text-decoration:none;border:0;list-style:none}
.sh-button::-webkit-details-marker{display:none}
.sh-contact-disclosure{max-width:900px;width:100%;margin-inline:auto;text-align:center}
.sh-contact-disclosure>summary{min-height:3rem;display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;margin:0 auto}
.sh-contact-form{text-align:left;width:min(90%,42rem);margin:3rem auto 0}
.sh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.sh-contact-form label{font-size:.875rem;line-height:1.4;display:block}
.sh-contact-form input,.sh-contact-form textarea{font-size:1rem;display:block;width:100%;margin-top:.4rem;background:rgb(255 255 255 / .9);color:var(--sh-ink);border:1px solid transparent;border-radius:.4rem;padding:.7rem .9rem;resize:vertical}
.sh-form-message{grid-column:1/-1}
.sh-honeypot{position:absolute;left:-10000px}
.sh-form-privacy,.sh-form-status{font-size:.85rem!important;margin:1rem 0!important;line-height:1.5!important}
.sh-contact-form>.sh-button{margin-top:1rem}
.sh-contact-form>.sh-form-submit{display:inline-flex;align-items:center;justify-content:center;gap:.75em;min-height:3rem;padding:.85rem 1.75rem;font-weight:700}
.sh-form-submit .sh-icon{width:1.15em;height:1.15em;color:inherit}
.sh-cta .sh-form-submit,.sh-cta .sh-contact-disclosure>summary{background:var(--sh-light);color:var(--sh-ink)}
.sh-contact-compact{text-align:center;width:100%;padding:5vw 0 0}
.sh-contact-compact h2{font-size:clamp(1.2rem,2.2vw,2.6rem);line-height:1.2;margin:0 0 2vw}
.sh-pdf-faq{min-height:46vw;padding-top:2.75vw}
.sh-faq-answer p{color:#111;margin:1.1vw 0 0;line-height:1.42}
.sh-pdf-faq .sh-pdf-wordmark{width:11.58%}
.sh-pdf-faq .sh-pdf-footer{margin-top:auto}
.sh-faq-list details[open] summary:after{transform:rotate(180deg)}
.sh-pdf-footer{padding-top:6vw}
.sh-pdf-footer a:hover{text-decoration:underline}

/* Catalogue labels describe the shared specimens; they do not override specimen styling. */
.sh-catalog{background:var(--sh-light);color:var(--sh-ink)}
.sh-catalog-head{padding:8rem 6vw 3rem}
.sh-catalog-head h1{font-size:clamp(2rem,4vw,4rem);margin:0 0 1rem}
.sh-catalog-head p{max-width:65ch;font-size:1rem}
.sh-catalog-nav{justify-content:flex-start;padding:1rem 0;gap:1.5rem}
.sh-catalog-section{padding:3rem 6vw}
.sh-catalog-section h2{font-size:1.6rem;margin:0 0 1.3rem}
.sh-catalog-section p,.sh-catalog-section td,.sh-catalog-section th{font-size:.9rem}
.sh-catalog-section table{width:100%;border-collapse:collapse;text-align:left}
.sh-catalog-section td,.sh-catalog-section th{padding:.7rem 1rem;border-bottom:1px solid #202f5718}
.sh-catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.sh-catalog-surface{padding:1.5rem;min-height:12rem}
.sh-catalog-spacing{display:flex;flex-wrap:wrap;align-items:end;gap:1rem}
.sh-catalog-spacing span{display:block;background:var(--sh-ink);width:1.5rem}
.sh-specimen-label{padding:2rem 6vw;background:var(--sh-light);color:var(--sh-ink);box-shadow:0 -2rem 0 var(--sh-light)}
.sh-specimen-label h2{font-size:1.5rem;margin:0}
.sh-specimen-label p{font-size:.875rem;margin:.7rem 0 1rem;max-width:70ch}
.sh-specimen-label button{padding:.7rem 1rem;background:var(--sh-ink);color:var(--sh-light);border-radius:.4rem;font-size:.875rem}
.sh-catalog [data-specimen]{background:var(--sh-ink)}
.sh-type-sample em{font-family:var(--wp--preset--font-family--serif);font-size:1.1018em}
.sh-type-sample{margin-block:1.5rem}
.sh-type-sample small{display:block;font-size:.8rem;margin-bottom:.5rem}

@media(max-width:48rem){
 :root{--sh-nav-inset-top:1.5rem;--sh-menu-font-size:.7rem}
 .sh-nav{padding:var(--sh-nav-inset-top) 5vw;grid-template-columns:1fr auto 1fr;min-height:80px}
.admin-bar .sh-nav{top:var(--sh-nav-admin-offset,var(--sh-adminbar-height,0px))}
.sh-nav-contact{display:none}

.sh-menu-close{top:1.5rem}
.admin-bar .sh-menu-close{top:calc(1.5rem + 46px)}
.sh-menu>nav{padding-top:20vh}
.sh-menu-bottom>div{gap:.5rem;flex-direction:column}
.sh-menu-bottom{margin-top:5vh}
.sh-intro-logo{width:calc(10rem * var(--sh-intro-logo-scale,1))}
.sh-intro p{margin-top:1.2rem}
.sh-pdf-services>.sh-pdf-wordmark,.sh-project-detail>.sh-pdf-wordmark{width:7.5rem;top:2.8rem;left:5vw}
.sh-card{min-height:17rem}
.sh-card h3{font-size:1.1rem}
.sh-card p{font-size:.9rem}
.is-style-service-row{padding-block:2.5rem}
.sh-service-description p{font-size:1rem}
.sh-service-description ul{font-size:.875rem}
.sh-showcase{padding:7rem 5vw 4rem;min-height:100svh}
.sh-showcase>h2{width:auto}
.sh-showcase-statement{position:static;text-align:right;margin:3rem 0;font-size:.9rem}
.sh-showcase-body,.sh-project-panel{display:block;margin-top:0}
.sh-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;overflow:visible;align-items:stretch;padding:.4rem 0}
.sh-tabs button{min-width:0;min-height:3rem;padding:.7rem .75rem;border-radius:.4rem;font-size:.875rem;max-width:none;white-space:normal;overflow-wrap:anywhere;hyphens:auto;-webkit-hyphens:auto}
.sh-slider-play{margin:.5rem 0 1.5rem}
.sh-project-copy{width:100%}
.sh-project-copy h3{font-size:1.15rem;margin:0 0 1.5rem}
.sh-project-copy p{font-size:.9rem;max-width:50ch;margin-bottom:1rem}
.sh-showcase-device{width:100%;margin:2rem 0 0}
.sh-showcase-caption{position:static;text-align:right;margin:1.5rem 0 0;font-size:.75rem}
.sh-arrow-link{margin-top:1rem;font-size:.8rem}
.sh-project-list{padding-top:11rem}
.sh-project-cards{width:90%;gap:2rem;margin-top:3rem}
.sh-project-card{grid-template-columns:1fr;min-height:0}
.sh-project-card-media{aspect-ratio:4/3}
.sh-project-card-media.sh-contained{padding:2rem}
.sh-project-card-copy{padding:1.5rem}
.sh-project-card :is(h2,h3){font-size:1.15rem;margin-bottom:1rem}
.sh-project-card-copy>p:not(.sh-project-categories){font-size:.9rem}
.sh-project-categories{font-size:.75rem;margin-top:2rem}
.sh-more{margin-top:2.5rem}
.sh-project-hero{padding:9rem 5vw 35vw;min-height:75svh!important;justify-content:center}
.sh-project-hero p{max-width:90vw;margin-top:2rem}
.sh-project-overlap{width:80%;left:10%;top:-28vw}
.sh-project-detail{padding:48vw 5vw 3rem}
.sh-project-detail>.sh-pdf-wordmark{width:5rem;top:30vw}
.sh-detail-categories{position:static;text-align:right;margin:0 0 3rem;font-size:.75rem}
.sh-text-slider{display:block;width:100%}
.sh-text-slider .sh-panels{max-width:none;min-height:16rem}
.sh-text-slider h2{font-size:1.1rem;margin:0 0 1rem}
.sh-text-slider p{font-size:.9rem;margin-bottom:1rem}
.sh-project-extra{width:100%;margin-top:3rem}
.sh-device-front-one,.sh-device-front-two{border-radius:1.5vw}
.sh-cta>.sh-contact-disclosure{margin-top:3rem}
.sh-button{padding:.7rem 1.6rem;font-size:1rem}
.sh-contact-form{width:100%;margin-top:2rem}
.sh-form-grid{grid-template-columns:1fr}
.sh-pdf-faq{padding-top:3rem}
.sh-pdf-faq .sh-pdf-wordmark{width:8rem}
.sh-faq-answer p{margin-top:1rem}
.sh-contact-compact{padding:3rem 5vw 0}
.sh-contact-compact h2{margin-bottom:1.5rem}
.sh-pdf-footer{padding-top:4rem}
.sh-catalog-head{padding:8rem 5vw 2rem}
.sh-catalog-grid{grid-template-columns:1fr}
.sh-catalog-section{padding:2rem 5vw}
.sh-catalog-section td,.sh-catalog-section th{padding:.5rem .2rem;overflow-wrap:anywhere}
.sh-specimen-label{padding:2rem 5vw}

}

@media(max-width:36rem){
.sh-card{min-height:15rem}
.sh-card h3{margin-top:2rem}
.sh-form-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.sh-menu,.sh-menu-gradient,.sh-menu-list li{transition:none!important}
}


.wp-block-stonehall-icon{margin:0!important}
.editor-styles-wrapper .sh-icon{width:3.2vw;height:3.2vw}
.editor-styles-wrapper .sh-service-grid>.wp-block-stonehall-icon{display:block}


.sh-panels{display:grid;align-items:start}
.sh-panels>[role=tabpanel]{grid-area:1/1}
.sh-panels>[role=tabpanel][hidden]{display:block!important;visibility:hidden;pointer-events:none}
.sh-showcase .sh-panels{min-width:0}

/* Rounded paper overlaps the actual preceding surface, including its gradient. */
.sh-pdf-services,.sh-pdf-faq,.sh-project-detail{box-shadow:none!important;margin-top:calc(-1 * var(--sh-radius))!important;z-index:1}

.sh-project-hero{padding-bottom:19.3vw}

.sh-showcase-device>.sh-project-single-image{aspect-ratio:906/636;object-fit:contain}

@media(max-width:48rem){.sh-project-hero{padding-bottom:35vw}
}


.sh-device-screen-reference{object-fit:contain!important;object-position:top}
.sh-device-notch{left:44.37%;top:2.83%;width:11.7%;height:2.67%;border-radius:0 0 .4vw .4vw;clip-path:inset(0 2% 17.65% round 0 0 .4vw .4vw);z-index:1}


/* The laptop shell stays stationary while its independent image layers change. */
.sh-showcase-content{display:grid;grid-template-columns:minmax(0,.39fr) minmax(0,.61fr);gap:3vw;min-width:0}
.sh-showcase .sh-project-panel{display:block}
.sh-device-slide{position:absolute;inset:0}
@media(max-width:48rem){.sh-showcase-content{display:block}.sh-showcase .sh-panels{margin-top:2rem}}
/* The PDF crop contains foreground artwork across the middle of the base.
   Preserve its original outer edges; use a continuous metal surface behind media. */
.sh-device:before{content:"";position:absolute;left:13%;top:76.26%;width:74%;height:3.93%;background:linear-gradient(#8a8e96 0%,#a8abb0 18%,#6d717a 65%,#30343b 90%);border-radius:0 0 35% 35%}
.sh-device-frame-base{mask-image:linear-gradient(to right,#000 0 14%,transparent 14% 86%,#000 86%)}

/* Shared hover treatment for text links on paper, including the adaptive navbar. */
.is-style-paper a:not(.sh-button):not(.wp-block-button__link):hover,
.sh-nav-contact a.on-paper:hover{text-decoration-line:underline;text-underline-offset:.2em}

.sh-faq-list summary:after{transition:transform var(--wp--custom--motion--duration) ease-out}
.sh-faq-list summary[aria-expanded=false]:after{transform:rotate(0deg)}
@media(prefers-reduced-motion:reduce){.sh-faq-list summary:after{transition:none}}

/* An optional project-owned composite already includes the device and foregrounds. */
.sh-project-composite{display:block;width:100%;height:auto;object-fit:contain}
.sh-project-overlap>.sh-project-composite{border-radius:var(--wp--custom--pdf--radius)}
.sh-device .sh-project-composite{inset:0;width:100%;height:100%;object-fit:contain}
.sh-device .sh-project-composite.sh-slide-photo{inset:auto 0;top:50%;height:auto;transform:translateY(-50%);border-radius:1.5vw}
.sh-device:has(.sh-device-slide:not([hidden]) .sh-project-composite)>img,
.sh-device:has(.sh-device-slide:not([hidden]) .sh-project-composite):before{display:none}

/* StoneHall chevrons remain independent of the link text's underline. */
.sh-arrow-link:before,.sh-grid-link a:before{content:'';display:inline-block;flex-shrink:0;width:.85em;height:.85em;background:currentColor;mask:url('assets/icons/icon-chevron-right.svg') center/contain no-repeat;-webkit-mask:url('assets/icons/icon-chevron-right.svg') center/contain no-repeat;vertical-align:-.05em}

/* Compact title-only section; shared by legal pages, editor and catalog. */
.sh-title-section{position:relative;margin:0;--sh-title-gap:var(--wp--custom--title-section--gap);--sh-title-overlap:0px;padding:calc(var(--sh-menu-bottom) + var(--sh-title-gap)) 4vw calc(var(--sh-title-gap) + var(--sh-title-overlap));text-align:center}
.sh-title-section:has(+ :is(.sh-pdf-services,.sh-pdf-faq,.sh-project-detail)){--sh-title-overlap:var(--sh-radius)}
.sh-title-section h1{font-size:var(--sh-heading);line-height:.982;margin:0;font-weight:400;letter-spacing:0}

/* The visible blue area fills the current viewport before paper overlaps it. */
:root{--sh-adminbar-height:0px}
.admin-bar{--sh-adminbar-height:32px}
:is(.sh-pdf-hero:not(.sh-project-hero),.sh-showcase,.sh-cta){--sh-paper-overlap:0px}
:is(.sh-pdf-hero:not(.sh-project-hero),.sh-showcase,.sh-cta):has(+ :is(.sh-pdf-services,.sh-pdf-faq,.sh-project-detail)){--sh-paper-overlap:var(--sh-radius)}
.sh-pdf-hero:not(.sh-project-hero),.admin-bar .sh-pdf-hero:not(.sh-project-hero),.sh-intro,.admin-bar .sh-intro{min-height:calc(100dvh - var(--sh-adminbar-height) + var(--sh-paper-overlap,0px))}
.sh-showcase{min-height:max(calc(100dvh - var(--sh-adminbar-height) + var(--sh-paper-overlap)),66vw)}
.sh-cta,.admin-bar .sh-cta{min-height:max(calc(100dvh - var(--sh-adminbar-height) + var(--sh-paper-overlap)),60.47vw)}
@media(max-width:782px){.admin-bar{--sh-adminbar-height:46px}}
@media(max-width:48rem){.sh-showcase{min-height:calc(100dvh - var(--sh-adminbar-height) + var(--sh-paper-overlap))}}

/* Global return control, using the same button palette and radius. */
.sh-back-to-top{position:fixed;right:var(--wp--custom--gutter);bottom:max(1.25rem,env(safe-area-inset-bottom),calc(var(--sh-back-to-top-lift,0px) + .75rem));z-index:900;width:3rem;height:3rem;padding:0;display:grid;place-items:center;border:1px solid var(--sh-light);border-radius:var(--wp--custom--border--radius--small);text-decoration:none}
.sh-back-to-top[hidden]{display:none}
.sh-back-to-top:hover{text-decoration:none}
.sh-back-to-top span{display:block;width:1.2rem;height:1.2rem;background:currentColor;mask:url('assets/icons/icon-chevron-up.svg') center/contain no-repeat;-webkit-mask:url('assets/icons/icon-chevron-up.svg') center/contain no-repeat}

@media(max-width:48rem){.sh-pdf-footer .sh-footer-legal{margin-top:3rem}}

/* Editorial content and people: native, editable blocks shared by pages and catalog. */
.sh-editorial-section{width:77.9%;max-width:90rem;margin:0 auto;padding:clamp(2.5rem,5vw,6rem) 0}
.sh-editorial-section>h2{font-size:clamp(2rem,3.2vw,3.75rem);line-height:1.08;margin:0 0 1.5rem}
.sh-editorial-section>p{max-width:48rem;font-size:var(--sh-body);line-height:1.6}
.sh-prose>p:not(.sh-eyebrow){max-width:44rem}
.sh-eyebrow{font-size:var(--sh-small);letter-spacing:.055em;margin:0 0 1.2rem}
.sh-team-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--wp--custom--pdf--card-gap);margin-top:3rem}
.sh-profile{display:flex;flex-direction:column;min-width:0;padding:clamp(1.5rem,3vw,3.5rem);border-radius:var(--wp--custom--pdf--radius)}
.sh-profile>h3{font-size:clamp(1.65rem,2.5vw,2.75rem);line-height:1.1;margin:0 0 1.5rem}
.sh-profile>p:not(.sh-eyebrow),.sh-profile>ul{font-size:clamp(.95rem,1.1vw,1.25rem);line-height:1.6;margin:0 0 1.25rem}
.sh-profile>ul{padding-left:1.2em}
.sh-profile>ul li+li{margin-top:.5em}
.sh-profile>.sh-profile-contact{margin:auto 0 0!important;padding-top:1.5rem;overflow-wrap:anywhere}
.sh-profile-contact a{text-decoration:none}
.sh-profile>.wp-block-image{margin:0 0 1.5rem}
.sh-profile>.wp-block-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--wp--custom--pdf--radius)}
.sh-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1rem,2.2vw,2.5rem);margin-top:3rem}
.sh-process-step{border-top:1px solid var(--wp--preset--color--line);padding-top:1.5rem}
.sh-process-step>h3,.sh-value>h3{font-size:clamp(1.2rem,1.6vw,1.8rem);margin:0 0 1rem}
.sh-process-step>p:not(.sh-eyebrow),.sh-value>p{font-size:clamp(.95rem,1.1vw,1.25rem);line-height:1.6;margin:0}
.sh-values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,4rem);margin-top:3rem}
.sh-service-description .sh-service-label{font-weight:700}
.sh-service-description p+ul{margin-top:1.5rem}
.sh-legal-copy{width:77.9%;max-width:58rem;margin:0 auto;padding-bottom:4rem;overflow-wrap:anywhere}
.sh-legal-copy>h2{font-size:clamp(1.5rem,2.2vw,2.5rem);margin:2.5rem 0 1rem;line-height:1.2}
.sh-legal-copy>p,.sh-legal-copy>ul{font-size:clamp(1rem,1.2vw,1.375rem);line-height:1.65}
.sh-legal-copy>ul{padding-left:1.3em}
@media(max-width:70rem){.sh-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:48rem){.sh-editorial-section,.sh-legal-copy{width:90%}.sh-team-grid,.sh-values-grid{grid-template-columns:1fr}.sh-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sh-profile>p:not(.sh-eyebrow),.sh-profile>ul{font-size:1rem}}
@media(max-width:30rem){.sh-process-grid{grid-template-columns:1fr}}

/* Opt-in reveal for native blocks and inline words, with optional start order. */
span.sh-reveal-text,.sh-reveal-word{display:inline-block}
.sh-reveal-pending{opacity:0;transform:translateY(18px)}
.sh-reveal-visible{animation:sh-enter var(--wp--custom--motion--duration,450ms) ease-out both;animation-delay:calc(var(--sh-reveal-index,0)*var(--wp--custom--motion--reveal-stagger,180ms))}
.sh-reveal-words.sh-reveal-visible{animation:none}
.sh-reveal-words.sh-reveal-visible .sh-reveal-word{animation:sh-enter var(--wp--custom--motion--duration,450ms) ease-out both;animation-delay:calc(var(--sh-word-index,0)*var(--wp--custom--motion--reveal-stagger,180ms))}
@media(prefers-reduced-motion:reduce){.sh-reveal-text,.sh-reveal-words,.sh-reveal-word{opacity:1!important;transform:none!important;animation:none!important}}

/* The native process pattern shares the homepage slider; editor/no-JS keeps all steps. */
.sh-process-section:not(.is-enhanced){padding:clamp(2rem,5vw,6rem) 0}
.sh-process-section.is-enhanced .sh-showcase-content{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr);align-items:center;max-width:none}
.sh-process-media{display:grid;align-items:center;justify-items:center}
.sh-process-media>.sh-process-icon{grid-area:1/1;margin:0;width:clamp(7rem,16vw,15rem);max-width:100%}
.sh-process-icon .sh-icon{display:block;width:100%;height:auto;filter:brightness(0) invert(1);opacity:.85}
.sh-process-media>.sh-process-icon[hidden]{display:none}
.sh-process-step>.sh-process-icon{width:5rem;margin:1.5rem 0}
@media(max-width:48rem){.sh-process-section.is-enhanced .sh-showcase-content{grid-template-columns:1fr}.sh-process-media{margin-top:2rem}.sh-process-media>.sh-process-icon{width:8rem}}

.sh-device-screen-logo{object-fit:contain!important;object-position:center;background:var(--wp--preset--color--paper,#f5f2ea);padding:5%;box-sizing:border-box}

/* Profile contacts use native links with decorative icons on the left. */
.sh-profile-contact a{display:inline-flex;align-items:center;gap:.65em;max-width:100%}
.sh-profile-contact a::before{content:"";flex:0 0 1.4em;width:1.4em;height:1.4em;background:currentColor;mask:center/contain no-repeat;-webkit-mask:center/contain no-repeat}
.sh-profile-contact a[href^="mailto:"]::before{mask-image:url('assets/icons/icon-mail.svg?v=stonehall-2.1.1');-webkit-mask-image:url('assets/icons/icon-mail.svg?v=stonehall-2.1.1')}
.sh-profile-contact a[href^="tel:"]::before{mask-image:url('assets/icons/icon-phone.svg?v=stonehall-2.1.1');-webkit-mask-image:url('assets/icons/icon-phone.svg?v=stonehall-2.1.1')}
.sh-profile-contact a+a,.sh-profile-contact br+a{margin-top:.5rem}

/* Featured service: native image and copy on the shared paper surface. */
.sh-app-service{padding:clamp(7rem,12vw,12rem) 0 clamp(4rem,7vw,8rem)}
.sh-feature-layout{width:85%;max-width:100rem;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,4vw,5rem);align-items:center}
.sh-feature-layout>.wp-block-image{margin:0}
.sh-feature-layout>.wp-block-image img{display:block;width:100%;height:auto;object-fit:contain}
.sh-feature-copy h2{font-size:clamp(2rem,3.5vw,4rem);line-height:1.08;margin:0 0 1.5rem}
.sh-feature-copy>p:not(.sh-eyebrow),.sh-feature-copy>ul{font-size:var(--sh-body);line-height:1.5}
.sh-feature-copy>ul{padding-left:1.2em;margin:1.5rem 0}
.sh-feature-copy li+li{margin-top:.5em}
@media(max-width:48rem){.sh-feature-layout{width:90%;grid-template-columns:1fr}.sh-feature-layout>.wp-block-image{max-width:34rem;margin:0 auto}.sh-feature-copy>p:not(.sh-eyebrow),.sh-feature-copy>ul{font-size:1rem}}

.sh-ds-header a .sh-icon,.sh-ds-note a .sh-icon,.sh-ds-footer a .sh-icon{display:inline-block;width:1em;height:1em;color:inherit;vertical-align:-.12em}

/* Reflow shared sections by available content width, including intermediate screens. */
.sh-tabs button,.sh-menu-trigger,.sh-menu-close{min-height:2.75rem}
.sh-menu-trigger,.sh-menu-close{min-width:2.75rem}
.sh-project-categories,.sh-detail-categories,.sh-pdf-footer p{overflow-wrap:anywhere}
@media(max-width:64rem){
 .sh-service-grid{--sh-card-columns:2;width:90%;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
 .sh-card{padding:1.5rem;min-height:0}
 .sh-card h3{font-size:1.125rem;margin-top:2rem;margin-bottom:.75rem}
 .sh-card p{font-size:1rem;line-height:1.5}
 .sh-icon,.editor-styles-wrapper :is(.sh-card,.is-style-service-row) .sh-icon{width:2.5rem;height:2.5rem}
 .sh-project-copy h3{font-size:1.25rem}
 .sh-project-copy p,.sh-text-slider p{font-size:1rem}
 .sh-text-slider h2{font-size:1.25rem}
 .sh-pdf-services.sh-pdf-service-list{padding-top:clamp(8.5rem,15vw,10.5rem)}
 .is-style-service-row{grid-template-columns:2.5rem minmax(0,1fr);gap:1.25rem;padding:2.5rem 0}
 .is-style-service-row h2{font-size:clamp(1.25rem,2.8vw,1.8rem)}
 .sh-service-description{grid-column:2;padding:0}
 .sh-service-description p{font-size:1rem;margin-bottom:.75rem}
 .sh-service-description ul{font-size:1rem;line-height:1.5}
 .sh-showcase{padding:8rem 5vw 5rem}
 .sh-showcase>h2{width:auto}
 .sh-showcase-statement{position:static;margin:2.5rem 0;text-align:right}
 .sh-showcase-body,.sh-text-slider{display:block;margin-top:0}
 .sh-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.5rem;align-items:stretch;overflow:visible;padding:.25rem 0}
 .sh-tabs button{max-width:none;min-width:0;min-height:3rem;padding:.75rem;border-radius:.4rem;white-space:normal;overflow-wrap:anywhere;font-size:.875rem}
 .sh-showcase-content{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;margin-top:2rem}
 .sh-showcase-device{margin-top:0}
 .sh-showcase-caption{position:static;text-align:right;margin:2rem 0 0}
 .sh-text-slider .sh-panels{max-width:none;min-height:0;margin-top:2rem}
 .sh-project-cards{width:90%;gap:2rem}
 .sh-project-card{min-height:0}
 .sh-project-card-copy{padding:2rem}
 .sh-project-card :is(h2,h3){font-size:1.25rem;overflow-wrap:anywhere}
 .sh-project-card-copy>p:not(.sh-project-categories){font-size:1rem;line-height:1.5}
 .sh-pdf-footer{grid-template-columns:3rem minmax(0,1fr);gap:1rem}
 .sh-pdf-footer .sh-footer-legal{grid-column:2;margin-top:1rem}
}
@media(max-width:48rem){
 .sh-nav{height:auto;min-height:0;padding-bottom:.5rem}
 .sh-showcase{padding:7rem 5vw 4rem}
 .sh-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sh-showcase-content{display:block}
 .sh-process-section.is-enhanced .sh-showcase-content{grid-template-columns:minmax(0,1fr)}
 .sh-showcase-device{margin-top:2rem}
 .sh-card{min-height:0}
 .sh-card p{font-size:1rem;line-height:1.5}
 .sh-project-card-copy{padding:1.5rem}
 .sh-project-categories,.sh-detail-categories{font-size:.875rem;line-height:1.5}
 .sh-project-categories{text-align:left}
 .sh-arrow-link{font-size:.875rem}
 .sh-contact-disclosure>summary,.sh-form-submit{max-width:100%}
 .sh-back-to-top{width:2.75rem;height:2.75rem;right:1rem}
}
@media(max-width:36rem){
 .sh-service-grid{--sh-card-columns:1}
 .sh-service-grid,.sh-tabs{grid-template-columns:minmax(0,1fr)}
 .sh-card h3{margin-top:1.5rem;font-size:1.125rem}
 .sh-card{padding:1.5rem}
 .sh-profile{padding:1.25rem}
}
@media(max-width:22rem){.sh-nav{padding-inline:3vw}}
@media(max-height:44rem){
 .sh-menu>nav{padding-top:calc(var(--sh-menu-bottom) + var(--sh-adminbar-height,0px) + 1rem)}
 .sh-menu-bottom{margin:2rem 1rem}
}
