@layer layout {
  #main-nav a[aria-current="page"] { font-weight:700; text-decoration:underline; text-decoration-thickness:2px; }
  .page-heading { padding-block:42px 62px; border-bottom:1px solid var(--line); }
  .breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; font-size:.875rem; margin-bottom:35px; }
  .breadcrumbs a { text-decoration:underline; }
  .page-heading h1 { font-size:clamp(2.8rem,5.4vw,5rem); max-width:950px; margin-block:15px 25px; }
  .page-heading .lead { max-width:760px; font-size:1.25rem; }
  .page-layout { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:76px; padding-block:64px 88px; }
  .page-body { min-width:0; }
  .page-body>section+section { margin-top:56px; }
  .page-body h2 { font-size:clamp(1.85rem,2.5vw,2.5rem); margin-bottom:22px; }
  .page-body h3 { font-size:1.3rem; margin-bottom:13px; letter-spacing:-.025em; }
  .page-body p+p { margin-top:18px; }
  .page-body ul,.page-body ol { padding-left:24px; margin-block:18px; }
  .page-body li+li { margin-top:10px; }
  .page-body p,.page-body li { max-width:76ch; }
  .page-body a:not(.button) { text-decoration:underline; overflow-wrap:anywhere; }
  .page-body .photo-grid a { display:block; }
  .page-body .section-heading { margin-bottom:30px; }
  .page-body .photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-body .motion-grid { grid-template-columns:1fr 1fr; padding-top:56px; gap:26px; }
  .page-body .motion-heading { grid-column:1/-1; padding:0; }
  .page-body .motion-heading p { max-width:620px; }
  .page-body .motion-heading h2 br { display:none; }
  .page-body .faq-list summary { font-weight:600; }
  .page-body .rates { margin-top:0; }
  .page-body .rates dt span { font-size:.875rem; }
  .page-body .retreat-card h3 { font-size:clamp(2rem,3vw,3rem); }
  .page-body .retreat-card+.retreat-card { margin-top:22px; }
  .page-body .retreat-card p { color:var(--white); }
  .page-body .retreat-card h3 { margin-block:24px 15px; }
  .page-body .retreat-card .button { margin-top:24px; }
  .page-body .content-photo { margin-block:34px; }
  .content-photo img { width:100%; height:auto; aspect-ratio:4/3; }
  .content-photo figcaption { font-size:.875rem; margin-top:10px; }
  .page-aside { align-self:start; position:sticky; top:140px; border-top:2px solid var(--brown); padding-top:20px; }
  .page-aside .eyebrow { font-size:.875rem; letter-spacing:.08em; }
  .page-aside ul { list-style:none; margin:18px 0 0; padding:0; }
  .page-aside li { border-bottom:1px solid var(--line); }
  .page-aside a { display:block; padding-block:12px; font-size:.9375rem; }
  .page-aside a[aria-current="page"] { font-weight:700; }
  .page-callout { background:var(--brown); color:var(--white); padding:30px; margin-block:28px; }
  .page-callout h2,.page-callout h3 { color:var(--white); }
  .page-callout .button { margin-top:22px; }
  .page-callout :focus-visible { outline-color:var(--yellow); }
  .page-callout a:not(.button) { color:var(--white); }
  .page-note { padding:22px 26px; border:1px solid var(--brown); border-left:6px solid var(--yellow); margin-block:26px; }
  .detail-list { margin:24px 0; }
  .detail-list>div { display:grid; grid-template-columns:150px 1fr; gap:20px; padding-block:15px; border-bottom:1px solid var(--line); }
  .detail-list dt { font-weight:700; }
  .detail-list dd { margin:0; overflow-wrap:anywhere; }
  .resource-list { list-style:none; padding:0!important; margin:0!important; }
  .resource-list li { border-top:1px solid var(--line); padding-block:24px; margin:0!important; }
  .resource-list li:last-child { border-bottom:1px solid var(--line); }
  .resource-list h3 { margin-block:8px 10px; }
  .resource-list .eyebrow { font-size:.875rem; }
  .resource-list p { font-size:1rem; }
  .table-scroll { max-width:100%; overflow-x:auto; margin-block:24px; }
  .content-table { width:100%; border-collapse:collapse; font-size:1rem; }
  .content-table caption { text-align:left; font-size:1.3rem; font-weight:700; padding-bottom:16px; }
  .content-table th,.content-table td { text-align:left; padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:top; }
  .content-table thead th { background:var(--brown); color:var(--white); }
  .schedule-table th:first-child,.schedule-table td:first-child { width:125px; white-space:nowrap; }
  .official-mark { border-block:1px solid var(--line); padding-block:24px; margin-bottom:32px; }
  .official-mark img { width:280px; height:auto; margin-bottom:18px; }
  .official-mark p { font-size:.875rem; }
  .conduct-list { padding-left:28px!important; }
  .conduct-list li { padding:10px 0 16px 10px; }
  .signature-lines { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:36px; }
  .signature-lines p { border-bottom:1px solid var(--brown); padding-bottom:30px; font-size:.875rem; }
  .source-note { border-top:1px solid var(--line); padding-top:22px; margin-top:48px; font-size:.875rem; }
  .source-note p { font-size:.875rem; }
  .source-note ul { margin:10px 0 0; padding-left:20px; }
  .source-note a { text-decoration:underline; }
  .footer-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; padding-block:30px 40px; border-top:1px solid var(--line); }
  .footer-directory h2 { font-size:.875rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; }
  .footer-directory ul { list-style:none; padding:0; margin:0; }
  .footer-directory li+li { margin-top:9px; }
  .footer-directory a { font-size:.9375rem; }
}
@layer responsive {
  @media(max-width:1000px) {
    .page-layout { gap:36px; grid-template-columns:minmax(0,1fr) 190px; }
    .page-aside { top:106px; }
    .page-heading { padding-block:32px 44px; }
    .breadcrumbs { margin-bottom:26px; }
  }
  @media(max-width:760px) {
    .page-layout { grid-template-columns:1fr; padding-block:44px 60px; }
    .page-aside { position:static; }
    .page-aside ul { display:grid; grid-template-columns:1fr 1fr; column-gap:24px; }
    .page-heading h1 { font-size:clamp(2.5rem,9vw,3.6rem); }
    .page-heading .lead { font-size:1.12rem; }
    .page-callout { padding:24px; }
    .page-body>section+section { margin-top:42px; }
    .footer-directory { grid-template-columns:1fr 1fr; }
  }
  @media(max-width:540px) {
    .page-body .motion-grid { grid-template-columns:1fr; }
    .detail-list>div { grid-template-columns:1fr; gap:4px; }
    .content-table th,.content-table td { padding:12px 10px; font-size:.9375rem; }
    .signature-lines { grid-template-columns:1fr; }
    .footer-directory { grid-template-columns:1fr; gap:25px; }
  }
}
@media print {
  .site-header,.site-footer,.page-aside,.skip-link,.breadcrumbs,.page-body .button { display:none!important; }
  body { color:#000!important; background:#fff!important; }
  .wrap { width:100%; }
  .page-layout { display:block; padding:20px 0; }
  .page-heading { padding:0 0 20px; }
  .page-heading h1 { font-size:28pt; }
  .page-body h2 { font-size:19pt; }
  .page-callout { color:#000; background:none; border:1px solid #999; }
  .page-callout h2,.page-callout h3,.page-callout a:not(.button) { color:#000; }
  .official-mark img { width:230px; }
  .content-table thead th { color:#000; background:none; }
  .signature-lines,.content-table tr { break-inside:avoid; }
}
