/* 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}}

/* Softer surfaces: retain the charcoal/gold brand with a varied corner scale. */
:root{--no1-radius-card:22px;--no1-radius-panel:28px;--no1-radius-control:12px;--no1-surface-shadow:0 12px 32px #2921140a}
main :is(.home-service-card,.service-card,.area-article-card,.guide-card,.value-card,.city-work-card,.city-context-card,.agency-service,.metro-blog-card,.city-journal-grid>a){border-radius:var(--no1-radius-card);overflow:hidden;box-shadow:var(--no1-surface-shadow)}
main :is(.home-service-card,.home-practical-grid>a,.guide-card,.consultation-image-grid a,.article-image-guides li>a,.metro-blog-card){border-color:#927a484d}
main :is(.consultation-image-grid a,.article-image-guides li>a){border-radius:20px;overflow:hidden;box-shadow:0 10px 28px #00000012}
main .home-practical-grid>a{border-radius:var(--no1-radius-card);box-shadow:0 14px 34px #00000012}
main .hero-mark{border-radius:32px;border:1px solid #b89a555c;box-shadow:0 24px 64px #00000038,0 0 44px #dbb6570d}
main :is(.intro-visual,.agency-hero-photo,.city-overview-hero figure,.service-hero-grid figure,.area-article-intro figure,.district-brand-panel){border-radius:var(--no1-radius-panel);overflow:hidden}
main :is(.intro-visual,.agency-hero-photo,.city-overview-hero figure,.service-hero-grid figure){box-shadow:0 16px 40px #00000017}
main :is(.process-image,.primary-service>img,.field-photo-panel,.journal-inline-photo,.service-inline-photo){border-radius:20px;overflow:hidden}
main .process-brand-signature{border-radius:16px;box-shadow:0 12px 28px #0000001c}
main :is(.service-contact,.area-contact-panel,.nationwide-contact,.region-directory-cta){border-radius:var(--no1-radius-panel);box-shadow:0 14px 36px #29211413}
main :is(.service-answer,.area-answer,.service-preparation,.agency-cost,.city-cost-note,.district-note,.district-note-example,.journal-agency-workflow,.area-common-guide){border-radius:18px}
main :is(.button,.agency-button,.city-overview-actions a,.service-contact-links a,.area-channels a,.contact-channel-links a,.district-note-actions a,.district-note-actions button,.evidence-close){border-radius:var(--no1-radius-control)}
main :is(.service-on-page a,.metro-toc a,.district-sibling-nav a){border-radius:999px}
main :is(.service-timeline>li>span,.city-work-image>span,.home-service-image>span){border-radius:10px}
main :is(.home-service-image>span,.city-work-image>span){left:16px;bottom:14px}
main :is(.district-child-grid a,.district-locality-list a,.area-province-card,.area-district,.area-guide-links,.metro-toc){border-radius:16px}
main :is(.service-faq,.area-faq,.agency-faq) details{border-radius:12px}
main .journal-table-wrap{border-radius:14px}
main .evidence-trigger{border-radius:10px}
.evidence-dialog{border-radius:24px}
.evidence-dialog-head{border-radius:24px 24px 0 0}
.evidence-document-grid a{border-radius:16px;overflow:hidden}
main .attorney-list{gap:24px;border:0}
main .attorney,main .attorney+.attorney{padding:24px;border:1px solid #d4c6a540;border-radius:24px;background:#fffdf84d;box-shadow:0 10px 30px #29211406}
main .attorney>img{border-radius:16px}
main .contact-section{border-radius:36px 36px 0 0}
@media(hover:hover) and (pointer:fine){
 main :is(.home-service-card,.service-card,.area-article-card,.city-work-card,.metro-blog-card,.consultation-image-grid a,.article-image-guides li>a):hover{border-color:#bc9a52;box-shadow:0 16px 36px #29211414}
}
@media(max-width:760px){
 :root{--no1-radius-card:18px;--no1-radius-panel:22px;--no1-radius-control:11px}
 main .hero-mark{border-radius:26px;box-shadow:0 18px 44px #00000030}
 main :is(.consultation-image-grid a,.article-image-guides li>a){border-radius:16px}
 main .home-service-copy{padding:25px}
 main .attorney,main .attorney+.attorney{padding:20px;border-radius:20px}
 main .contact-section{border-radius:26px 26px 0 0}
 .mobile-contact-bar{gap:6px}
 .mobile-contact-bar a,.mobile-contact-bar a+a{border-left:0;border-radius:10px;background:#ffffff05}
 .evidence-dialog{border-radius:20px}
 .evidence-dialog-head{border-radius:20px 20px 0 0}
}

/* A single photographic signature, without a detached logo box. */
main .process-visual{position:relative;isolation:isolate;width:100%;max-width:370px;height:300px;margin:28px 0 24px;border-radius:22px;overflow:hidden;background:#171813;box-shadow:0 12px 30px #29211412}
main .process-visual>.process-image{display:block;width:100%;max-width:none;height:100%;margin:0;object-fit:cover;object-position:50% 35%;border-radius:0;filter:saturate(.7);opacity:.9}
main .process-visual:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#17181300 24%,#17181355 49%,#171813ed 76%,#171813 100%);pointer-events:none}
main .process-visual .process-brand-signature{position:absolute;z-index:2;inset:auto 24px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:none;margin:0;padding:20px 0 0;border:0;border-top:1px solid #d4b45a45;border-radius:0;background:none;box-shadow:none}
main .process-visual .process-brand-signature img{display:block;width:176px;max-width:64%;height:auto}
main .process-visual .process-brand-signature span{font-size:11px;line-height:1.9;white-space:nowrap;color:#eee7d6}
main .process-visual .process-brand-signature strong{font-size:14px;letter-spacing:.015em;color:#f2d171}
@media(max-width:760px){
 main .process-section{margin-inline:0}
 main .process-visual{max-width:none;height:264px;border-radius:20px}
 main .process-visual .process-brand-signature{inset:auto 22px 22px;gap:16px;padding-top:18px}
}
