/* Accessible overlays and non-marketing CMS source / legal pages. */
dialog { color: var(--color-text); border: 1px solid var(--line); background: var(--color-background); border-radius: 8px; padding: 42px; max-width: calc(100% - 32px); max-height: calc(100dvh - 40px); overflow-y: auto; box-shadow: 0 35px 120px #18231d40; }
dialog::backdrop { background: #1b2824b5; backdrop-filter: blur(4px); }
.info-dialog { width: 570px; }
.info-dialog h2 { font-size: 2.65rem; margin: 18px 0 25px; }
.info-dialog p:not(.eyebrow) { font-size: 14px; color: var(--color-muted); }
.info-dialog .button { margin-top: 24px; }
.dialog-close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; background: transparent; border: 1px solid var(--line); border-radius: 50%; font-size: 25px; line-height: 1; color: inherit; }
.lightbox { width: min(820px,95vw); padding: 56px 25px 25px; }
.lightbox img { width: auto; max-width: 100%; max-height: 70vh; margin: auto; object-fit: contain; }
.lightbox p { text-align: center; font-size: 14px; margin: 18px 0 0; }
.site-status { position: relative; padding: 18px; font-size: 12px; background: #ede1c1; color: #302f26; }
.no-script { padding: 16px; font-size: 12px; }
.legal-page, .source-page { padding-top: 160px; padding-bottom: 95px; }
.legal-page { max-width: 850px; }
.legal-page > h1,.source-page > h1 { font-size: clamp(2.7rem,5vw,4.8rem); margin: 22px 0; letter-spacing: -.055em; }
.legal-page > .lead { font-size: 21px; margin-bottom: 45px; }
.legal-section { padding-block: 25px; border-top: 1px solid var(--line); }
.legal-section h2 { font-size: 25px; margin-bottom: 15px; line-height: 1.25; }
.legal-section p { font-size: 14px; color: var(--color-muted); }
.source-page > p { max-width: 850px; }
.source-page > h2 { font-size: 32px; margin: 55px 0 20px; }
.source-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr)); gap: 20px; margin-block: 30px; }
.source-field { padding: 20px; border: 1px solid var(--line); background: #fff9; overflow-wrap: anywhere; }
.source-field h2,.source-field h3 { font: 600 14px/1.4 var(--sans); margin-bottom: 15px; }
.source-field p:not(.source-key),.source-field a { font-size: 14px; }
.source-key { font: 10px/1.5 monospace; color: var(--color-muted); margin-bottom: 12px; }
.source-field img { max-height: 100px; object-fit: contain; object-position: left; }
@media (max-width:600px) { dialog { padding: 45px 25px 30px; } .legal-page,.source-page { padding-top: 120px; } }
/* Detailed editorial service pages: calm, readable and inclusive. */
.service-hero { display:grid;grid-template-columns:1.2fr .8fr;gap:85px;align-items:center;padding-top:155px;padding-bottom:85px; }
.service-hero-copy > .text-link {margin-bottom:40px;}
.service-hero h1 {font-size:clamp(2.9rem,5.8vw,5.8rem);letter-spacing:-.055em;line-height:1.07;margin:20px 0 25px;overflow-wrap:break-word;}
.service-lead {font-family:var(--serif);font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.5;}
.service-hero .micro {margin:20px 0;}
.service-hero-photo {border:1px solid var(--line);padding:14px;transform:rotate(2deg);background:#fff7;position:relative;}
.service-hero-photo img {width:100%;aspect-ratio:1.2;object-fit:cover;filter:saturate(.78);}
.service-art-label {display:block;font-size:8px;letter-spacing:.17em;text-align:center;padding:18px 0 6px;}
.service-editorial {display:grid;grid-template-columns:240px minmax(0,1fr);gap:100px;border-top:1px solid var(--line);padding-top:65px;align-items:start;}
.service-sidebar {position:sticky;top:125px;}
.service-sidebar [role=navigation] {display:grid;gap:12px;margin-top:25px;}
.service-sidebar a {font-size:13px;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:12px;}
.sidebar-note {font-size:12px;line-height:1.8;color:var(--color-muted);margin-top:28px;}
.service-chapter {padding-bottom:48px;margin-bottom:40px;border-bottom:1px solid var(--line);scroll-margin-top:120px;}
.service-chapter h2 {font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.2;margin:14px 0 22px;letter-spacing:-.03em;}
.service-chapter > p:not(.eyebrow) {line-height:1.95;font-size:16px;max-width:70ch;}
.care-note {border-left:2px solid var(--color-accent);padding:5px 0 8px 24px;margin-bottom:20px;}
.care-note h3 {font-size:24px;margin-bottom:14px;}
.care-note p {font-size:13px;line-height:1.9;color:var(--color-muted);}
.source-notes {margin-top:30px;color:var(--color-muted);font-size:12px;border-bottom:1px solid var(--line);padding-bottom:18px;}
.source-notes summary {cursor:pointer;min-height:40px;}
.source-notes p {font-size:12px;margin:12px 0;}
.related-section {padding-top:100px;padding-bottom:90px;}
.related-section > h2 {font-size:clamp(2.3rem,4vw,3.5rem);margin:18px 0 32px;}
.related-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:22px;}
.related-card {padding:32px;border:1px solid var(--line);background:#fff5;}
.related-card h3 {font-size:27px;line-height:1.2;margin-bottom:16px;}
.related-card p {font-size:13px;line-height:1.85;}
.related-card a {margin-top:24px;}
.service-final {padding:75px 0;background:var(--color-forest);color:#f8f5ee;text-align:center;}
.service-final .eyebrow {color:#c3ad80;}
.service-final h2 {font-size:clamp(2.5rem,4vw,4rem);margin:20px 0 30px;}
@media(max-width:1000px) {.service-hero{gap:35px}.service-editorial{grid-template-columns:180px minmax(0,1fr);gap:45px;}}
@media(max-width:760px) {.service-hero{grid-template-columns:1fr;padding-top:118px;padding-bottom:55px;gap:35px}.service-hero-copy > .text-link{margin-bottom:25px}.service-hero-photo{max-width:360px;margin:auto;width:90%}.service-editorial{grid-template-columns:1fr;gap:40px;padding-top:30px}.service-sidebar{position:static}.service-sidebar [role=navigation]{grid-template-columns:1fr 1fr;gap:12px 22px;margin-top:18px}.sidebar-note{display:none}.service-chapter{padding-bottom:30px;margin-bottom:35px}.service-chapter > p:not(.eyebrow){font-size:15px;line-height:1.9}.related-section{padding-block:60px}.related-card{padding:25px}.service-final{padding-block:60px}.service-final h2{font-size:2.4rem}}
