/*
Theme Name: Clearly Edited v19
Description: Local WordPress implementation of the approved v19 review design.
Version: 19.2.0
Text Domain: clearly-edited-v19
*/
:root {
  --ivory: #f7f3eb;
  --paper: #fffdf9;
  --charcoal: #263133;
  --muted: #667270;
  --teal: #4f7773;
  --teal-dark: #315b57;
  --teal-pale: #e0ece8;
  --line: #ded8cc;
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Segoe UI", Arial, sans-serif;
  --wide: 73rem;
  --reading: 56rem;
}

* { box-sizing: border-box; }
body { background: var(--ivory); color: var(--charcoal); font-family: var(--sans); font-size: 16px; line-height: 1.6; margin: 0; }
a { color: inherit; text-decoration: none; }
.wide, .reading { margin: 0 auto; width: min(calc(100% - 2.5rem), var(--wide)); }
.reading { width: min(calc(100% - 2.5rem), var(--reading)); }
.review-bar { background: var(--charcoal); color: var(--paper); font-size: .69rem; letter-spacing: .08em; padding: .45rem 1rem; text-align: center; text-transform: uppercase; }
.site-header { border-bottom: 1px solid var(--line); }
.site-header .wide { align-items: center; display: flex; justify-content: space-between; min-height: 3.95rem; }
.wordmark { display: grid; line-height: 1; }
.wordmark strong { font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 1.7rem); font-weight: 500; letter-spacing: -.04em; }
.wordmark span { color: var(--teal); font-size: .58rem; letter-spacing: .13em; margin-top: .35rem; text-transform: uppercase; }
nav, .footer-links { display: flex; flex-wrap: wrap; gap: clamp(.7rem, 1.55vw, 1.35rem); }
nav { justify-content: flex-end; }
nav a, .footer-links a { color: #3c4948; font-size: .82rem; }
nav a[aria-current="page"] { color: var(--teal-dark); font-weight: 700; }
nav a:hover { color: var(--teal-dark); }
.page-intro { border-bottom: 1px solid var(--line); padding: clamp(1.9rem, 4.6vw, 3.35rem) 0 clamp(1.55rem, 3vw, 2.35rem); }
.eyebrow { color: var(--teal-dark); font-size: .7rem; font-weight: 700; letter-spacing: .13em; margin: 0 0 .9rem; text-transform: uppercase; }
h1, h2, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.04em; line-height: 1.1; }
/* v15: H1 size is 4pt below the original on all five pages, including the additional 2pt after the v13 test. */
h1 { font-size: clamp(calc(2.2rem - 4pt), calc(4.7vw - 4pt), calc(3.55rem - 4pt)); margin-bottom: 1rem; }
h2 { font-size: clamp(1.5rem, 3vw, 2.15rem); margin-bottom: .7rem; }
.lede { color: #43504e; font-family: var(--serif); font-size: clamp(1.1rem, 1.7vw, 1.34rem); margin-bottom: 0; max-width: 47rem; }
.content-section { background: var(--paper); padding: clamp(1.6rem, 3.4vw, 2.65rem) 0; }
.content-section + .content-section { border-top: 1px solid var(--line); }
.copy { color: #4b5856; font-family: var(--serif); font-size: 1.08rem; max-width: 46rem; }
.copy p:last-child { margin-bottom: 0; }
.section-list { border-top: 1px solid var(--line); list-style: none; margin: 1.7rem 0 0; padding: 0; }
.section-list li { border-bottom: 1px solid var(--line); padding: 1.25rem 0; }
.section-list h2 { font-size: clamp(1.35rem, 2.5vw, 1.8rem); margin-bottom: .45rem; }
.section-list p { color: #53605e; font-family: var(--serif); margin: 0; max-width: 45rem; }
.tint-section { background: var(--teal-pale); padding: clamp(1.6rem, 3.4vw, 2.65rem) 0; }
.tint-section .copy { color: #3f5552; }
.steps { counter-reset: step; list-style: none; margin: 0; padding: 0; }
.steps li { border-top: 1px solid rgba(49, 91, 87, .28); counter-increment: step; padding: 1.35rem 0; }
.steps li:last-child { border-bottom: 1px solid rgba(49, 91, 87, .28); }
.steps h2::before { color: var(--teal); content: "0" counter(step) " "; font-family: var(--sans); font-size: .68rem; font-weight: 700; letter-spacing: .1em; vertical-align: middle; }
.steps p { color: #3f5552; font-family: var(--serif); margin: 0; max-width: 47rem; }
.contact-panel { background: var(--teal-pale); border-left: 3px solid var(--teal-dark); margin-top: 1.5rem; padding: 1rem 1.2rem; }
.contact-panel p { margin: 0; }
.contact-panel a { color: var(--teal-dark); text-decoration: underline; text-underline-offset: .16em; }
.membership a { color: var(--teal-dark); text-decoration: underline; text-underline-offset: .16em; }
footer { background: var(--charcoal); color: var(--paper); padding: 1.45rem 0; }
.footer-inner { align-items: end; display: flex; flex-wrap: wrap; gap: 1.35rem; justify-content: space-between; }
footer .wordmark span { color: #b5cdc6; }
.footer-links { color: #cbd4d0; font-size: .78rem; }
.footer-links a { color: #cbd4d0; }
.footer-note { color: #cbd4d0; font-size: .75rem; margin: 0; }
@media (max-width: 720px) {
  .site-header .wide { align-items: flex-start; flex-direction: column; gap: .8rem; padding: 1rem 0; }
  nav { justify-content: flex-start; }
  .page-intro { padding-top: 3rem; }
  .content-section, .tint-section { padding: 2rem 0; }
}

/* Version 9: multi-page usability and homepage styles. */
html { scroll-behavior: smooth; }
a:focus-visible { outline: 2px solid var(--teal-dark); outline-offset: 4px; }
header nav a { align-items: center; display: inline-flex; min-height: 2.75rem; padding: .2rem .15rem; }
footer .footer-links a { display: inline-flex; min-height: 2.5rem; align-items: center; }
.button { align-items: center; background: var(--teal-dark); border: 1px solid var(--teal-dark); color: white;
  display: inline-flex; font-family: var(--sans); font-size: .9rem; font-weight: 500; justify-content: center;
  min-height: 2.8rem; padding: .65rem 1.15rem; text-decoration: none; }
.button:hover, .button:focus-visible { background: var(--charcoal); border-color: var(--charcoal); color: white; }
.text-link { color: var(--teal-dark); font-family: var(--sans); font-size: .91rem; font-weight: 600;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; }
.text-link:hover { color: var(--charcoal); }
.section-action { margin-top: 1.15rem; }
.section-cta { margin-top: .8rem; }
.secondary-action { display: inline-block; margin: .5rem 0 0 1.1rem; }
.next-step { border-top: 1px solid var(--line); }
.next-step h2 { margin-bottom: .65rem; }
.section-list li { scroll-margin-top: 1.5rem; }

/* The homepage remains deliberately compact. */
.home-intro { border-bottom: 1px solid var(--line);
  padding: clamp(1.9rem, 4.6vw, 3.35rem) 0 clamp(1.55rem, 3vw, 2.35rem); }
.home-intro h1 { max-width: 51rem; }
.home-intro .lede { margin-bottom: 1rem; max-width: 43rem; }
.home-page section:not(.home-intro) { padding: clamp(1.6rem, 3.4vw, 2.65rem) 0; }
.home-page .services { background: var(--paper); }
.home-page .section-intro { color: #4b5856; font-family: var(--serif); font-size: 1.08rem;
  margin-bottom: 1.5rem; max-width: 44rem; }
.home-page .service-list { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line);
  list-style: none; margin: 0; padding: 0; }
.home-page .service-list li { align-items: baseline; border-bottom: 1px solid var(--line); display: flex;
  font-family: var(--serif); font-size: clamp(1.18rem, 2.15vw, 1.45rem); gap: 1rem; padding: 1rem 0; }
.home-page .service-list li:last-child { border-bottom: 0; }
.home-page .service-list li a:hover { color: var(--teal-dark); text-decoration: underline; text-underline-offset: .2em; }
.home-page .service-list span { color: var(--teal); font-family: var(--sans); font-size: .7rem;
  font-weight: 700; letter-spacing: .1em; min-width: 2rem; }
.home-page .support { background: var(--teal-pale); }
.home-page .support p:first-child { color: #3f5552; font-family: var(--serif);
  font-size: clamp(1.14rem, 2vw, 1.45rem); line-height: 1.48; max-width: 49rem; }
.home-page .support strong { color: var(--charcoal); font-weight: 400; }
.home-page .why { border-bottom: 1px solid var(--line); }
.home-page .why p:not(.section-action) { color: #53605e; font-family: var(--serif);
  font-size: 1.12rem; max-width: 47rem; }
.home-page .why .credentials { margin-top: .75rem; }

@media (max-width: 720px) {
  .site-header nav { gap: .1rem .7rem; }
  .secondary-action { display: block; margin: .75rem 0 0; }
  .home-intro { padding-top: 3rem; }
  .home-page section:not(.home-intro) { padding: 2.25rem 0; }
}
@media (min-width: 761px) {
  .home-page .service-list { display: grid; grid-template-columns: repeat(3, 1fr); }
  .home-page .service-list li { border-bottom: 0; border-right: 1px solid var(--line); padding: .7rem 1rem; }
  .home-page .service-list li:last-child { border-right: 0; }
  .home-page .support { padding: 1.5rem 0 !important; }
  .home-page .why { padding: 1.65rem 0 !important; }
}


/* Version 10: homepage service previews and understated final invitation. */
.home-page .service-summary { min-width: 0; }
.home-page .service-summary h3 { font-family: var(--serif); font-size: clamp(1.15rem, 2vw, 1.38rem);
  font-weight: 400; letter-spacing: -.025em; line-height: 1.25; margin: 0 0 .4rem; }
.home-page .service-summary p { color: #53605e; font-family: var(--sans); font-size: .84rem;
  line-height: 1.5; margin: 0; max-width: 17rem; }
.home-page .service-list li { align-items: flex-start; }
.home-page .service-list li a { text-decoration-thickness: 1px; text-underline-offset: .2em; }
.home-page .home-next-step { background: var(--paper); border-top: 1px solid var(--line); }
.home-next-step .reading { align-items: center; display: grid; grid-template-columns: 1fr auto;
  column-gap: 2rem; row-gap: .35rem; }
.home-next-step h2 { font-size: clamp(1.5rem, 2.6vw, 1.95rem); grid-column: 1; margin: 0; }
.home-next-step p { color: #53605e; font-family: var(--serif); font-size: 1.02rem;
  grid-column: 1; margin: 0; max-width: 37rem; }
.home-next-step .button { grid-column: 2; grid-row: 1 / span 2; }
@media (max-width: 760px) {
  .home-next-step .reading { display: block; }
  .home-next-step h2 { margin-bottom: .5rem; }
  .home-next-step p { margin-bottom: 1rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* v18: legal pages and footer links. */
.legal-copy { max-width: 46rem; overflow-wrap: anywhere; }
.legal-copy h2 { font-size: clamp(1.35rem, 2.5vw, 1.8rem); margin-top: 2rem; line-height: 1.25; }
.legal-copy h2:first-child { margin-top: 0; }
.legal-copy p, .legal-copy li { color: #4b5856; }
.legal-copy li { margin-bottom: .5rem; }
.legal-copy ul { padding-left: 1.3rem; }
.legal-copy a { color: var(--teal-dark); text-decoration: underline; text-underline-offset: .16em; }
.legal-draft { border-left: 3px solid var(--teal); padding-left: 1rem; margin-bottom: 0; color: #43504e; }
.footer-links a:hover { text-decoration: underline; text-underline-offset: .2em; }
footer a:focus-visible { outline-color: var(--paper); }

/* Local v19 accessibility repair: bypass repeated navigation by keyboard. */
.skip-link { position: absolute; top: .5rem; left: 1rem; z-index: 10; transform: translateY(-200%); background: var(--paper); color: var(--teal-dark); padding: .65rem 1rem; text-decoration: underline; }
.skip-link:focus { transform: translateY(0); }
.contact-panel a { overflow-wrap: anywhere; }

.site-header nav li, .footer-links li { display: contents; }

/* v14 retained: Editing Services-only layout trial: remove the rule and excessive gap before Academic editing. */
.page-id-11 .page-intro + .content-section {
  padding-top: clamp(1.05rem, 1.9vw, 1.5rem);
}
.page-id-11 .page-intro + .content-section .section-list {
  border-top: 0;
  margin-top: 0;
}
.page-id-11 .page-intro + .content-section .section-list > li:first-child {
  padding-top: 0;
}

.site-header nav .menu-items, .footer-links .menu-items { display: contents; list-style: none; margin: 0; padding: 0; }

/* v19.2: readable small screens and comfortable touch targets. */
@media (max-width: 900px) {
  .home-page .service-list { display: block; }
  .home-page .service-list li { border-right: 0; border-bottom: 1px solid var(--line); padding: 1rem 0; gap: .75rem; }
  .home-page .service-list li:last-child { border-bottom: 0; }
  .home-page .service-summary p { font-size: 1rem; line-height: 1.6; max-width: 38rem; }
  .home-page .service-summary h3 a { display: inline-flex; align-items: center; min-height: 2.75rem; }
  .home-page .service-summary h3 { margin-bottom: .15rem; }
}
@media (max-width: 900px) {
  .site-header .wide { align-items: flex-start; flex-direction: column; gap: .75rem; padding: 1rem 0; }
  .site-header nav { justify-content: flex-start; width: 100%; gap: .25rem .6rem; }
  .site-header nav a, footer .footer-links a { font-size: 1rem; min-width: 2.75rem; min-height: 2.75rem; padding: .3rem .2rem; }
  .footer-links { gap: .25rem .75rem; }
  .footer-inner { align-items: flex-start; }
  .footer-note { font-size: .875rem; }
  .wordmark strong { font-size: 1.5rem; }
  .wordmark span { font-size: .6875rem; letter-spacing: .09em; line-height: 1.4; }
  .text-link, .button { font-size: 1rem; }
  .section-action .text-link, .secondary-action .text-link { display: inline-flex; align-items: center; min-height: 2.75rem; }
  .contact-panel a { display: inline-block; min-height: 2.75rem; padding: .35rem 0; max-width: 100%; vertical-align: middle; }
  .home-next-step .reading { display: block; }
  .home-next-step h2 { margin-bottom: .5rem; }
  .home-next-step p { margin-bottom: 1rem; }
}
@media (max-width: 480px) {
  .home-intro, .page-intro { padding-top: 2rem; }
  .eyebrow { font-size: .75rem; letter-spacing: .1em; }
  .home-page .service-summary p { max-width: none; }
}
@media (max-width: 900px) {
  main .copy p, main .steps p, main .legal-copy p, main .legal-copy ul,
  .home-page .why p:not(.section-action), .home-page .support p:first-child, .lede { max-width: 65ch; }
}
