/* Complete the existing editorial shell. */
.masthead .nav a,.label,.section-number,.text-link,.footer-meta {font-size:max(.72rem,11px);}
.home-hero .hero-copy {justify-content:flex-start;gap:clamp(36px,6vw,90px);}
.home-hero .hero-visual {max-height:760px;}
.footer-inner {flex-wrap:wrap;gap:24px;}
.footer-links,.section-links {display:flex;flex-wrap:wrap;gap:14px 24px;}
.section-links {padding-top:24px;padding-bottom:24px;font-size:.88rem;border-bottom:1px solid var(--line);}
:where(a,button,input,select,textarea,summary):focus-visible {outline:3px solid #426b45;outline-offset:4px;}
:where(h1,h2,h3) {scroll-margin-top:30px;}
.best-shots-gallery-heading h1 {font:400 clamp(3rem,6vw,5rem)/1.05 Georgia,serif;margin:0;}
.readings-table {margin:24px 0 40px;font-size:.9rem;}
.readings-table summary {cursor:pointer;padding:18px 0;border-top:1px solid var(--line);}
.table-scroll {overflow:auto;max-width:100%;max-height:480px;}
.table-scroll table {width:100%;border-collapse:collapse;}
.table-scroll th,.table-scroll td {padding:10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;}
.ga-journal-body .journal-heading {padding-top:40px;padding-bottom:36px;}
.journal-heading h1 {font:400 clamp(2.8rem,6vw,5.5rem)/1.05 Georgia,serif;letter-spacing:-.04em;margin:25px 0;}
.journal-content {max-width:780px;margin:0 auto;padding:0 24px 60px;font-size:1.05rem;line-height:1.8;}
.journal-content img {max-width:100%;height:auto;}
.journal-photos {display:grid;gap:24px;}
.journal-photos button {padding:0;border:0;background:none;cursor:zoom-in;}
.journal-photos img {width:100%;display:block;}
#journal-photo-dialog {max-width:94vw;max-height:94vh;border:0;background:#f3f0e7;}
#journal-photo-dialog::backdrop {background:#102c25dc;}
#journal-photo-dialog img {display:block;max-width:88vw;max-height:80vh;object-fit:contain;}
.archive-outcome {padding:24px 0;border-bottom:1px solid var(--line);margin-bottom:24px;max-width:72ch;line-height:1.7;}
.ga-archive-body .entry-content .ga-retro-opening__copy h1 {font:400 clamp(3.5rem,7vw,6rem)/1 Georgia,serif;letter-spacing:-.04em;margin:0;}
@media(max-width:600px){.hero-copy-bottom{gap:24px;}.home-hero .hero-visual{max-height:560px;}.section-links{gap:12px 18px;font-size:.8rem;}.footer-links{width:100%;}.ga-archive-body .entry-content .ga-retro-opening__copy h1{font-size:clamp(3rem,16vw,4.8rem);}}

.embedded-map {display:block;width:100%;height:600px;border:0;}

.grow-progress-heading {display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font:700 var(--mono-sm)/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
.grow-milestones {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:18px 0 0;padding:0;}
.grow-milestone {position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;padding:19px 6px 0 0;font:var(--mono-sm)/1.4 var(--mono);color:var(--ink-soft);}
.grow-milestone::before {content:"";position:absolute;top:0;left:0;width:100%;border-top:2px solid var(--line);}
.grow-milestone:last-child::before {display:none;}
.grow-milestone::after {content:"";position:absolute;top:-4px;left:0;width:10px;height:10px;box-sizing:border-box;border:2px solid var(--ink-soft);border-radius:50%;background:var(--paper);}
.grow-milestone.is-recorded::after {border-color:var(--moss);background:var(--moss);}
.grow-milestone-label {font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);}
.grow-milestone time {color:var(--ink);}

.tool-reference-reading {margin-top:0;padding-bottom:20px;line-height:1.7;}
.tool-reference-reading a,.tool-related-note a,.related-note-list a {text-decoration:underline;text-underline-offset:.2em;}
.tool-related-note {padding-top:32px;padding-bottom:48px;border-top:1px solid var(--line);}
.tool-related-note h2 {font:400 clamp(1.6rem,3vw,2.4rem)/1.2 Georgia,serif;max-width:30ch;}
.tool-related-note p {max-width:65ch;line-height:1.7;}
.journal-links,.related-notes {padding-top:32px;padding-bottom:32px;}
.journal-months {margin-top:24px;border-bottom:1px solid var(--line);}
.journal-month {border-top:1px solid var(--line);}
.journal-month summary {display:flex;align-items:center;gap:20px;min-height:72px;padding:16px 4px;cursor:pointer;list-style:none;}
.journal-month summary::-webkit-details-marker {display:none;}
.journal-month-label {font:400 clamp(1.3rem,2.3vw,1.65rem)/1.2 Georgia,serif;flex:1;}
.journal-month-count {color:var(--muted);font-size:.78rem;white-space:nowrap;}
.journal-month-toggle {width:24px;text-align:center;font-size:1.3rem;}
.journal-month-toggle::before {content:'+';}
.journal-month[open] .journal-month-toggle::before {content:'−';}
.journal-entry-list {list-style:none;padding:0 4px 16px;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;}
.journal-entry-list li {border-top:1px solid var(--line);min-width:0;}
.journal-entry-list a {display:grid;grid-template-columns:60px minmax(0,1fr) 16px;align-items:baseline;gap:12px;padding:14px 0;min-height:48px;line-height:1.5;font-size:.9rem;}
.journal-entry-title {overflow-wrap:anywhere;}
.journal-entry-list a:hover .journal-entry-title,.journal-entry-list a:focus-visible .journal-entry-title {text-decoration:underline;text-underline-offset:.2em;}
.journal-entry-arrow {color:var(--muted);}
.journal-entry-date {color:var(--muted);font-size:.85rem;}
.journal-empty {padding:24px 0;border-top:1px solid var(--line);margin-top:24px;line-height:1.6;}
.journal-empty p {margin:0;}
.journal-empty p+p {margin-top:6px;color:var(--muted);font-size:.9rem;}
.related-note-list {list-style:none;padding:0;margin:24px 0 0;}
.related-note-list a {display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:14px 0;line-height:1.5;}
.related-note-list li {line-height:1.6;}
.journal-navigation {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;align-items:start;width:calc(100% - 48px);max-width:732px;margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;line-height:1.5;}
.journal-navigation--compact {margin-bottom:32px;font-size:.82rem;align-items:center;}
.journal-navigation--full {margin-bottom:60px;font-size:.9rem;}
.journal-nav-link {display:flex;flex-direction:column;gap:6px;min-width:0;}
.journal-nav-link--previous {grid-column:1;grid-row:1;}
.journal-nav-link--next {grid-column:3;grid-row:1;text-align:right;}
.journal-nav-index {grid-column:2;grid-row:1;display:flex;flex-direction:column;text-align:center;gap:4px;}
.journal-nav-title {font:400 1.35rem/1.3 Georgia,serif;overflow-wrap:anywhere;}
.journal-nav-date,.journal-nav-count {color:var(--muted);font-size:.72rem;}
.journal-nav-direction {font-size:.78rem;}
.journal-navigation a:hover .journal-nav-direction,.journal-navigation a:hover .journal-nav-title,.journal-nav-index:hover>span:first-child {text-decoration:underline;text-underline-offset:.2em;}
@media(max-width:700px){.journal-entry-list{grid-template-columns:1fr;}.journal-navigation{gap:12px;}.journal-navigation--full{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px;}.journal-navigation--full .journal-nav-link--next{grid-column:2;}.journal-navigation--full .journal-nav-index{grid-column:1 / -1;grid-row:2;border-top:1px solid var(--line);padding-top:16px;}.journal-nav-title{font-size:1.15rem;}}
@media(max-width:600px){.related-note-list a{grid-template-columns:1fr;gap:3px;}.journal-links,.related-notes{padding-top:24px;padding-bottom:24px;}.journal-month summary{gap:12px;}.journal-links .section-heading{flex-wrap:wrap;gap:12px;}}

@media(min-width:981px){.home-hero{height:min(calc(100svh - 86px),760px);align-items:stretch;}.home-hero .hero-copy{min-height:0;}.home-hero .hero-visual{height:100%;}.home-hero .hero-copy-bottom{grid-template-columns:1fr;align-items:start;gap:20px;padding-top:0;}.home-hero .hero-copy-bottom .hero-note{max-width:34ch;margin:0;}.home-hero .hero-copy-bottom .text-link{justify-self:start;}}

/* Keep the article opening close to its title while retaining the cover art. */
.ga-note-article-template .note-article-hero {
  grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
}
.ga-note-article-template .note-article-heading {
  min-height: 0;
  padding: 32px;
}
.ga-note-article-template .note-article-heading h1 {
  margin: 16px 0 32px;
  font-size: clamp(2.6rem, 4vw, 4.2rem);
  line-height: 1.04;
}
.ga-note-article-template .note-article-featured {
  aspect-ratio: auto;
}
.ga-note-article-template .note-article-featured img {
  object-fit: contain;
}
.ga-note-article-template .note-article-content {
  margin-top: 36px;
}
@media (max-width: 720px) {
  .ga-note-article-template .note-article-backbar { padding: 16px 0 12px; }
  .ga-note-article-template .note-article-hero { grid-template-columns: 1fr; }
  .ga-note-article-template .note-article-heading { padding: 16px 20px; }
  .ga-note-article-template .note-article-heading h1 {
    margin: 10px 0 16px;
    font-size: clamp(2rem, 9vw, 2.8rem);
  }
  .ga-note-article-template .note-article-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 8px;
  }
  .ga-note-article-template .note-article-meta div { padding: 10px 0 0; }
  .ga-note-article-template .note-article-meta dt {
    margin-bottom: 4px;
    font-size: .6875rem;
    line-height: 1.2;
  }
  .ga-note-article-template .note-article-meta dd { font-size: .94rem; line-height: 1.25; }
  .ga-note-article-template .note-article-featured { height: 180px; }
  .ga-note-article-template .note-article-content { margin-top: 20px; }
}

/* Put the working controls close to the VPD and DLI tool introductions. */
.ga-tool-reference-body .tool-reference-hero { gap: 32px; padding: 36px 0 28px; }
.ga-tool-reference-body .tool-reference-hero .back-link { margin-bottom: 24px; }
.ga-tool-reference-body .tool-reference-hero h1 {
  margin-top: 12px;
  font-size: clamp(3rem, 4.5vw, 4rem);
  line-height: 1.1;
  letter-spacing: -.045em;
}
.ga-vpd-reference-page .tool-reference-surface .ga-vpd-stages > br { display: none; }
@media (max-width: 720px) {
  .ga-tool-reference-body .tool-reference-hero { gap: 16px; padding: 24px 0 20px; }
  .ga-tool-reference-body .tool-reference-hero .back-link { margin-bottom: 20px; }
  .ga-tool-reference-body .tool-reference-hero h1 { font-size: clamp(2rem, 8.5vw, 2.25rem); }
  .ga-tool-reference-body .tool-reference-hero .lede { padding-bottom: 0; font-size: 1rem; line-height: 1.55; }
}
@media (max-width: 560px) {
  .ga-dli-reference-page .tool-reference-surface .ga-dli-calc-header { padding: 12px 20px; }
  .ga-dli-reference-page .tool-reference-surface .ga-dli-calc-grid { padding: 12px; }
}

.journal-entry-current {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 12px;
  padding: 14px 0;
  min-height: 48px;
  line-height: 1.5;
  font-size: .9rem;
}
.journal-entry-context { color: var(--muted); font-size: .72rem; }
