/* Preserve editorial palette and five-screen IA. Variance 6 / motion 6 / density 4.
   Motion communicates entry hierarchy, image depth and service selection.
   Layers: existing header 50 and rail 40; photo light stays inside its isolated figure. */
.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero .hero-actions .text-link{margin:0;min-height:48px;padding:13px 24px;line-height:1.5;border:1px solid var(--accent);color:var(--ink)}
.hero .hero-actions .secondary-action{background:transparent;border-color:var(--line)}
.hero .hero-actions .secondary-action:hover{background:var(--tint)}
.hero .hero-actions .text-link::after{display:none}
.header-contact,.hero .hero-actions .primary-action{background:#8b5e12;color:#fff;font-weight:600}
.header-contact:hover,.hero .hero-actions .primary-action:hover{background:#754e0d}
.contact-meta{margin-top:18px;display:grid;grid-template-columns:1.5fr 1fr;gap:20px}
.contact-meta p{margin:0 0 7px;font-size:11px;color:var(--gold)}
.contact-meta address{font-style:normal;font-size:13px;line-height:1.85;color:var(--muted)}
.contact-meta a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:5px}
.contact .email-block{margin-top:25px}
.contact .contact-invite{margin-top:19px}
.contact .copy-status:empty{min-height:0}
.contact .footer{justify-content:flex-start}
.service-photo-frame{position:relative;overflow:hidden;border-radius:8px;height:clamp(95px,17svh,175px)}
.service-photo-frame .service-photo{display:block;width:100%;height:100%;border-radius:0;object-fit:cover;transition:none}
.service-selector:has(.service-tab:hover) .service-photo{opacity:1}
.service-photo-next{position:absolute;inset:0}
.motion-layer [data-reveal]{opacity:1;transform:none;transition:none}
.motion-layer .panel-enter{animation:none}
.motion-layer .hero-image{animation:none}
.motion-layer .title-line>span{animation:none}
.about-photo-window{overflow:hidden;border-radius:8px}
.about-photo-window img{display:block;border-radius:0}
.service-photo-frame .service-photo{object-position:center 35%}
.process-image img{object-position:center 46%}
.about-photo img{object-position:center 20%}
@media(min-width:768px){.about-photo img{height:clamp(220px,34svh,330px)}}
.process-steps li{transition:color .25s ease}
.process-steps li:hover h3{color:var(--gold)}
.advisory-case summary{list-style:none}
.advisory-case summary::-webkit-details-marker{display:none}
.advisory-case summary::after{content:'+';margin-left:12px}
.advisory-case[open] summary::after{content:'−'}
@media(prefers-reduced-motion:no-preference){
 .header-contact,.hero-actions .text-link,.qr-button{transition:transform .25s ease,background-color .25s ease}
 .header-contact:hover,.hero-actions .text-link:hover{transform:translateY(-2px)}
 .header-contact:active,.hero-actions .text-link:active{transform:translateY(0)}
 .qr-button:hover{transform:translateY(-2px)}
 .hero-image::before{content:'';position:absolute;inset:-15%;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 20%,rgba(255,246,216,.25) 43%,transparent 65%);opacity:0}
 .hero-image.light-arrival::before{animation:daylight-pass 4.8s ease-in-out both}
 @keyframes daylight-pass{0%{opacity:0;transform:translateX(-22%)}35%{opacity:1}100%{opacity:0;transform:translateX(22%)}}
 @supports(animation-timeline:view()){
  @media(min-width:768px) and (pointer:fine){
   .hero-image img,.process-image img,.about-photo img{animation:photo-depth linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
   @keyframes photo-depth{from{transform:translateY(-3%) scale(1.1)}to{transform:translateY(3%) scale(1.1)}}
  }
 }
}
@media(max-width:767px){
 .hero-actions{gap:10px;margin-top:20px;flex-wrap:nowrap}
 .hero .hero-actions .text-link{padding:12px 18px;font-size:13px}
 .contact-meta{margin-top:10px;gap:12px}.contact-meta address{font-size:12px}
 .contact .email-block{margin-top:16px}.contact .contact-invite{margin-top:15px}
 .service-photo-frame{height:100px}
 .process-image img{object-position:center 40%}
 .about-photo img{object-position:center 35%}
 .hero-image::before{display:none}
 html[lang=en] .contact h2{font-size:28px;line-height:1.25}
 html[lang=en] .contact-meta{grid-template-columns:1.8fr 1fr}
 html[lang=en] .contact-still{height:100px}
 html[lang=en] .contact.section{padding-bottom:78px}
}
@media(prefers-reduced-motion:reduce){
 .hero-image img,.process-image img,.about-photo img{animation:none!important;transform:none!important}
 .hero-image::before{display:none}
 .header-contact,.hero-actions .text-link,.qr-button,.process-steps li{transition:none}
}
