/* Editorial finish: keep reading and navigation usable without JavaScript. */
:root{--ep-gold:#b28c38;--ep-ink:#25221c;--ep-paper:#fffdf8}
main :is(.area-article-card,.service-card,.guide-card){isolation:isolate;transition:border-color .24s ease,box-shadow .24s ease;transform:none}
main :is(.area-article-card,.service-card){border-color:#cfc3aa;box-shadow:0 5px 18px #29211406}
main :is(.area-card-image,.service-card-image,.guide-card-visual,.field-photo-panel,.value-visual){overflow:hidden}
main :is(.area-card-image,.service-card-image,.guide-card-visual)>img,
main :is(.primary-service>img,.field-photo,.value-photo){transition:transform .65s cubic-bezier(.2,.65,.3,1);transform:scale(1)}
main :is(.area-article-card,.service-card,.guide-card):focus-visible{outline:2px solid #916b18;outline-offset:5px;box-shadow:0 0 0 2px #fffaf0;transform:none}
main :is(.area-article-card,.service-card):focus-visible{border-color:var(--ep-gold)}
main :is(.service-card-copy,.area-card-focus){text-wrap:pretty}
main :is(.service-card h3,.area-article-card h3,.guide-card-copy strong){text-wrap:balance}
.service-page :is(.service-copy-section,.service-preparation,.service-faq),
.area-page :is(.area-copy-section,.area-faq){scroll-margin-top:110px}
.service-page .service-answer{background:#ebe3d0;border:1px solid #d2c29a;border-left:3px solid var(--ep-gold);padding:26px 30px;color:#29251d}
.area-page .area-answer{background:#ebe3d0;border:1px solid #d2c29a;border-left:3px solid var(--ep-gold);color:#29251d}
.service-copy-section>h2,.area-copy-section>h2{padding-top:20px;border-top:1px solid #d4c9b4;text-wrap:balance}
.service-copy-section>h2:before,.area-copy-section>h2:before{content:"";display:block;width:36px;height:3px;margin:-22px 0 19px;background:var(--ep-gold)}
.journal-page .service-copy-section>h2:before{display:none}
.journal-page .journal-part{color:#795a18;letter-spacing:.12em}
.service-copy-section>p,.area-copy-section>p{color:#403b32;text-wrap:pretty}
.service-copy-section strong,.area-copy-section strong{color:#211f1a;font-weight:750}
.service-preparation{border-top:1px solid #d5c49d;border-bottom:1px solid #d5c49d;background:#f0e9d9}
.service-timeline>li>span{box-shadow:0 0 0 5px #f5f1e8;border-color:#b28c38}
.journal-table-wrap{border-color:#b9a77b;box-shadow:0 5px 18px #29211405}
.journal-table-wrap th{background:#29261e;color:#f4da97}
.journal-table-wrap td:first-child{font-weight:650;color:#332c1e}
:is(.service-faq,.area-faq) details{transition:background-color .2s ease}
:is(.service-faq,.area-faq) details[open]{background:#e9e0ce}
:is(.service-faq,.area-faq) details[open]>summary{color:#674a0e}
:is(.service-faq,.area-faq) details[open]>:not(summary){padding-inline:16px}
:is(.service-faq,.area-faq) details[open]>summary{padding-left:16px}
:is(.service-faq,.area-faq) summary:focus-visible{outline:2px solid #805e16;outline-offset:4px}
.service-related a,.area-guide-links a{transition:border-color .2s ease,color .2s ease}
.service-related a:focus-visible,.area-guide-links a:focus-visible{outline:2px solid #805e16;outline-offset:4px}
.service-contact,.area-contact-panel{border-color:#8f7847}
.service-on-page a,.metro-toc a{transition:background-color .2s ease,border-color .2s ease}
/* Existing reveals stay fully readable; this enhancement never hides pending content. */
main [data-reveal].will-reveal{opacity:1;transform:none}
.ep-reveal-enter{animation:ep-enter .6s cubic-bezier(.2,.65,.3,1) both}
@keyframes ep-enter{from{opacity:.86;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.ep-reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:60;background:transparent;pointer-events:none;contain:strict}
.ep-reading-progress>span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:#e5bf56}
@media(hover:hover) and (pointer:fine){
  main :is(.area-article-card,.service-card):hover{border-color:#9b772b;box-shadow:0 8px 22px #3327100c;transform:none}
  main .guide-card:hover{border-color:#ddbd6e;transform:none}
  main :is(.area-article-card:hover .area-card-image,.service-card:hover .service-card-image,.guide-card:hover .guide-card-visual)>img,
  main :is(.primary-service:hover>img,.field-row:hover .field-photo,.value-card:hover .value-photo){transform:scale(1.025)}
  .service-related a:hover,.area-guide-links a:hover{color:#76530c;border-color:#b18a35}
}
@media(hover:none),(pointer:coarse){
  main :is(.area-article-card,.service-card,.guide-card):hover{transform:none;box-shadow:none}
  main :is(.area-card-image,.service-card-image,.guide-card-visual)>img,
  main :is(.primary-service>img,.field-photo,.value-photo){transform:none!important;transition:none}
}
@media(max-width:760px){
  .service-page .service-answer{padding:22px;font-size:18px;line-height:1.85}
  .area-page .area-answer{padding:22px;line-height:1.85}
  .service-copy-section>h2,.area-copy-section>h2{padding-top:18px}
  .service-copy-section>h2:before,.area-copy-section>h2:before{margin-top:-20px;margin-bottom:17px}
  .ep-reading-progress{height:2px}
}
@media(prefers-reduced-motion:reduce){
  main .ep-reveal-enter{animation:none;opacity:1;transform:none}
  main [data-reveal].will-reveal{opacity:1;transform:none}
  main :is(.area-article-card,.service-card,.guide-card,.service-related a,.area-guide-links a,.service-on-page a,.metro-toc a,.service-faq details,.area-faq details){transition:none}
  main :is(.area-card-image,.service-card-image,.guide-card-visual)>img,
  main :is(.primary-service>img,.field-photo,.value-photo){transition:none;transform:none!important}
}
@media print{.ep-reading-progress{display:none}.ep-reveal-enter{animation:none;opacity:1;transform:none}}
