/* Revision 6 · tactile responses and right-to-left semantic interludes. */
.hero-art,.ownership-art,.contact-art,.banner-art{pointer-events:auto}
.painter-graph{pointer-events:none}
.node-hit{fill:transparent;stroke:none;pointer-events:all;cursor:default}
.node-response{pointer-events:none}
.response-ring{fill:none;stroke:#c89536;stroke-width:1.2;opacity:0;vector-effect:non-scaling-stroke}
.response-orbit{opacity:0;pointer-events:none}
.response-orbit circle{fill:#edb650;stroke:#98742e;stroke-width:.7;vector-effect:non-scaling-stroke}
.art-node.is-hovered .art-piece{filter:saturate(1.15)}
.ownership-copy,.contact-content{position:relative;z-index:3}
/* Both bands reserve separate reading and artwork areas. */
.interlude{height:auto;min-height:310px;display:block;padding:14px var(--gutter);margin:0;pointer-events:auto;overflow:clip;background:#edf5f0}
.interlude-inner{position:relative;max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.12fr 1fr;gap:44px;align-items:center;min-height:310px}
.interlude-a{margin-top:-20px;margin-bottom:0}
.concepts{position:relative;z-index:2;display:flex;gap:24px;align-items:center;justify-content:space-between}
.concept{position:relative;display:flex;flex:1 1 0;align-items:center;flex-direction:column;min-width:0;isolation:isolate}
.concept-icon{display:block;width:98px;height:131px;overflow:hidden;flex:none;pointer-events:none}
.interlude .concept>span{font:600 clamp(1.75rem,2.7vw,2.55rem)/1.15 var(--serif);color:#123f44;letter-spacing:-.025em;margin:9px 0 0}
.concept-thread{position:absolute;left:0;right:0;top:45px;width:100%;height:70px;pointer-events:none;z-index:-1}
.concept-thread path{stroke:#bf923e;stroke-width:1.7;fill:none;opacity:.72}
.concept-flow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}
.concept-flow path{fill:none;stroke:#bf923e;stroke-width:1.6;opacity:.82;vector-effect:non-scaling-stroke}
.concepts.has-flow .concept-thread{visibility:hidden}
:root{--gold-ink:#96611f}
.service .service-detail{color:var(--gold-ink);font-weight:800;font-size:1rem;line-height:1.65}
.claim-noise{color:var(--gold-ink);font-weight:650}
.hero-caption{color:var(--gold-ink);font-weight:800;letter-spacing:.02em}
.interlude .concept>span{color:var(--gold-ink);font-weight:750}
.banner-art{position:relative;height:310px;min-width:0;isolation:isolate;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 90%,transparent)}
.banner-art .painter-graph{width:110%;height:100%;margin-left:-5%;opacity:.86;mask-image:none}
.interlude .concept>span:before,.interlude .concept>span:after{content:none}
.interlude-b{background:#fafbf8;padding-top:24px;padding-bottom:24px;min-height:355px}
.interlude-b .interlude-inner{grid-template-columns:.74fr 1.4fr;min-height:330px;gap:24px}
.signal-copy{position:relative;z-index:2;padding-left:4%}
.signal-copy h2{font-size:clamp(2.8rem,4.1vw,3.95rem);line-height:1.08;font-weight:570;letter-spacing:-.035em}
.signal-copy strong{color:#0e797e;font-weight:650}
.signal-art{height:330px;width:100%;position:relative;min-width:0}
.signal-map{width:100%;height:100%;display:block;overflow:visible}
.signal-link{fill:none;stroke:#bd923f;stroke-width:1.05;opacity:.68;vector-effect:non-scaling-stroke}
.pixel-material,.core-material{display:block;overflow:hidden;pointer-events:none}
.pixel-response,.core-response{transform-box:fill-box;transform-origin:center}
.semantic-pixel{pointer-events:bounding-box;cursor:default}
.signal-halo{fill:none;stroke:#ca973c;stroke-width:1.1;opacity:0;pointer-events:none;vector-effect:non-scaling-stroke}
.signal-arrival{fill:#e2ac48;opacity:0;pointer-events:none}
.signal-core{pointer-events:bounding-box;cursor:default}
/* A single clean edge and color response replaces the inset frame and relief. */
.button.button-primary{border:1px solid #b9882c;background:#e8a634;box-shadow:none;border-radius:3px}
.button:after{display:none}
.button:before{opacity:.2}
.button:focus-visible,.button.button-primary:focus-visible{outline:2px solid #167d80;outline-offset:4px;box-shadow:none}
.dark-section .button:focus-visible{outline-color:#f4d499}
.button.button-primary:active{transform:translateY(1px);box-shadow:none;background:#dca035}
@media(hover:hover) and (pointer:fine){
 .button.button-primary:hover{background:#efb64c;border-color:#98702a;box-shadow:none;transform:translateY(-2px)}
 .button-header:hover{box-shadow:none;background:#e5f1e9}
 .mobile-cta.button.button-primary:hover{transform:translateX(-50%) translateY(-2px)}
}
.mobile-cta.button.button-primary:not([hidden]){box-shadow:none}
@media(max-width:1100px){
 .interlude-inner{gap:22px;grid-template-columns:1.15fr 1fr}
 .concepts{gap:12px}.concept-icon{width:83px;height:111px}
 .interlude .concept>span{font-size:1.85rem}
 .banner-art{height:280px}
 .interlude-b .interlude-inner{grid-template-columns:.72fr 1.25fr;gap:10px}
 .signal-copy h2{font-size:3rem}
 .signal-art{height:300px}
}
@media(max-width:850px){
 .interlude-inner{grid-template-columns:1fr;gap:8px;padding:16px 0;min-height:0}
 .concepts{max-width:620px;width:100%;margin:auto;gap:20px}
 .interlude .concept>span{font-size:clamp(1.85rem,4.1vw,2.3rem)}
 .banner-art{height:260px;width:100%;max-width:580px;justify-self:center}
 .interlude-b .interlude-inner{grid-template-columns:.78fr 1.25fr;min-height:260px}
 .signal-copy h2{font-size:2.7rem;padding:0}
 .signal-art{height:280px}
}
@media(max-width:600px){
 .interlude{padding:12px var(--gutter);margin:0;min-height:0}
 .interlude-inner{gap:10px;padding:13px 0}
 .concepts{gap:12px;flex-wrap:wrap}
 .concept{flex:1 1 6rem}
 .concept-icon{width:70px;height:94px}
 .interlude .concept>span{font-size:1.5rem;line-height:1.25;letter-spacing:-.02em}
 .concept-thread{top:34px;height:45px}
 .banner-art{height:225px;width:calc(100% + 24px);max-width:none;margin:0 -12px}
 .banner-art .painter-graph{width:100%;margin:0;opacity:.92}
 .interlude-b{padding-top:26px;padding-bottom:16px}
 .interlude-b .interlude-inner{grid-template-columns:1fr;gap:13px;min-height:0;padding:0}
 .signal-copy{padding:0;text-align:center}
 .signal-copy h2{font-size:clamp(2.6rem,10vw,3.5rem);line-height:1.08}
 .signal-art{height:225px;width:calc(100% + 20px);margin:0 -10px}
 .node-hit{pointer-events:none}
}
@media(max-width:360px){
 .concepts{gap:10px;flex-direction:column;align-items:stretch}
 .concept{flex:none;flex-direction:row;gap:17px;justify-content:flex-start}
 .concept-icon{width:57px;height:76px}
 .interlude .concept>span{font-size:1.75rem;margin:0}
 .concept-thread{display:none}
 .banner-art{height:200px}
}
@media(hover:none),(pointer:coarse){.node-hit{pointer-events:none}}
@media(prefers-reduced-motion:reduce){
 .node-response,.pixel-motion,.pixel-response,.core-response,.concept-icon{transform:none!important}
 .response-ring,.response-orbit,.signal-halo,.signal-arrival{opacity:0!important}
 .banner-reveal{clip-path:none!important;transform:none!important}
 .concept{clip-path:none!important}
 .art-caption b{opacity:1!important;transform:none!important}
 .concept-flow path{stroke-dasharray:none!important;stroke-dashoffset:0!important}
 .signal-link,.concept-thread path{stroke-dasharray:none!important;stroke-dashoffset:0!important}
 .button.button-primary:hover{transform:none}
 .mobile-cta.button.button-primary:hover{transform:translateX(-50%)}
}
.sheet-hit{cursor:default}
/* Revision 7: stronger landmarks and a centered editorial IA note. */
.recovery-kicker{font-size:1.0625rem;font-weight:850;letter-spacing:.025em;color:#775016}
.interlude-a .interlude-inner{grid-template-columns:1fr 1.12fr}
.interlude-a .banner-art{grid-column:1;grid-row:1}
.interlude-a .concepts{grid-column:2;grid-row:1}
.signal-copy{padding-left:clamp(30px,5vw,74px)}
.art-caption{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;padding:9px 0;background:transparent;line-height:1.4}
.art-caption b{font:800 1rem/1.4 var(--sans);color:#0c656b;border-bottom:2px solid #c89a40;padding:5px 3px;letter-spacing:.01em}
.ai-note{max-width:1100px;width:92%;margin:36px auto 0;grid-template-columns:285px 1fr;gap:35px;align-items:center;text-align:center}
.ai-label{justify-content:center;font-weight:750}
.ai-note p{margin-bottom:0}
.ai-symbol{transform-origin:center;transform-box:fill-box}
@media(max-width:1100px){.ai-note{width:94%;grid-template-columns:245px 1fr;gap:24px}.art-caption b{font-size:.9375rem}}
@media(max-width:850px){
 .interlude-a .interlude-inner{grid-template-columns:1fr}
 .interlude-a .banner-art{grid-column:1;grid-row:2}
 .interlude-a .concepts{grid-column:1;grid-row:1}
 .ai-note{grid-template-columns:1fr;gap:22px;width:100%;padding-inline:20px}
 .signal-copy{padding-left:22px}
}
@media(max-width:360px){.interlude-a .concepts{flex-direction:column-reverse}}
@media(max-width:600px){
 .recovery-kicker{font-size:1rem;font-weight:850}
 .signal-copy{padding:0}
 .art-caption{gap:5px 12px;max-width:330px;margin:auto}
 .art-caption b{font-size:.9375rem}
 .ai-note{padding-inline:0}
 .ai-label{justify-content:center}
 .ai-note p{text-align:center}
}
@media(prefers-reduced-motion:reduce){.ai-symbol,.ownership-copy h2,.ownership-copy .large-copy,.ownership-details>div{transform:none!important;opacity:1!important}}
@media(hover:none),(pointer:coarse){.sheet-hit,.pixel-hit{pointer-events:none}}
@media(prefers-reduced-motion:reduce){.sheet-response{transform:none!important}}
