html { scroll-behavior: smooth; }
  body { background-color: #FAF8F5; }

  .skip-link {
    position: fixed; top: .75rem; left: .75rem; z-index: 100;
    transform: translateY(-180%); padding: .7rem 1rem;
    border-radius: .25rem; background: #FAF8F5; color: #1E293B;
    box-shadow: 0 8px 30px rgba(30,41,59,.25);
    transition: transform .18s ease;
  }
  .skip-link:focus { transform: translateY(0); }

  .home-hero-image,
  .hero-zoom-media {
    transform: scale(1); transition: transform 4s ease-out;
    will-change: transform;
  }
  .home-hero-image.is-zooming,
  .hero-zoom-media.is-zooming { transform: scale(1.1); }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .home-hero-image,
    .hero-zoom-media { transition: none; transform: none; }
  }

  /* The regular mobile menu already exposes site navigation. Keep the
     separate Word-based Contents drawer for tablet/desktop only, including
     when a previously saved pinned preference would otherwise open it. */
  @media (max-width: 767px) {
    #nav-panel-btn,
    #nav-panel-overlay { display: none !important; }
  }

  .glass-btn { background: rgba(250, 248, 245, 0.12); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(250, 248, 245, 0.4); }
  .glass-btn:hover { background: rgba(250, 248, 245, 0.22); }

  .nav-solid { background-color: rgba(250, 248, 245, 0.92); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 1px 0 rgba(30,41,59,0.06); }

  .header-logo {
    width: 9rem; height: auto;
    filter: brightness(0) invert(1) drop-shadow(0 1px 4px rgba(30,41,59,0.3));
    transition: filter .4s ease, opacity .2s ease;
  }
  #navbar.scrolled .header-logo, #navbar.nav-solid .header-logo { filter: none; }
  .header-brand:hover .header-logo { opacity: .82; }
  .footer-brand-badge {
    display: flex; align-items: center; justify-content: center;
    width: 10rem; max-width: 100%; aspect-ratio: 1 / 1;
    border-radius: 50%; background: #fff;
    border: 1px solid rgba(30,41,59,.15);
    padding: 0.9rem; box-sizing: border-box; opacity: 1;
    transition: opacity .2s ease, transform .2s ease;
  }
  .footer-brand-logo {
    width: 100%; height: 100%; max-width: 100%; object-fit: contain; filter: none;
  }
  .footer-brand:hover .footer-brand-badge { opacity: .92; transform: translateY(-2px); }
  @media (min-width: 768px) {
    .header-logo { width: 10rem; }
    .footer-brand-badge { width: 11.5rem; }
  }

  #navbar .nav-text { color: #FAF8F5; transition: color .4s ease; }
  #navbar .nav-text-dim { color: rgba(250,248,245,0.75); transition: color .4s ease; }
  #navbar .nav-text-faint { color: rgba(250,248,245,0.4); transition: color .4s ease; }
  #navbar.scrolled .nav-text { color: #1E293B; }
  #navbar.scrolled .nav-text-dim { color: rgba(30,41,59,0.6); }
  #navbar.scrolled .nav-text-faint { color: rgba(30,41,59,0.35); }
  #navbar .nav-text:hover { color: #C86D51; }


  .card-img-zoom { overflow: hidden; }
  .card-img-zoom img { transition: transform 1.1s cubic-bezier(.2,.7,.3,1); }
  .card-img-zoom:hover img { transform: scale(1.08); }

  .fade-up { opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s ease; }
  .fade-up.in-view { opacity: 1; transform: translateY(0); }

  .divider-leaf { height: 1px; background: linear-gradient(90deg, transparent, #C86D51, transparent); }

  /* clears the fixed header (6rem) plus, on pages that have one, the sticky
     in-page nav right below it (IN-PAGE NAV, e.g. index.html/healing.html)
     — that bar is taller once it wraps to more rows on narrow viewports. */
  h1[id], h2[id], h3[id], h4[id], section[id] { scroll-margin-top: 12rem; }
  @media (max-width: 639px) {
    h1[id], h2[id], h3[id], h4[id], section[id] { scroll-margin-top: 15rem; }
  }

  #nav-panel-content a.nav-active { font-weight: 600; text-decoration: underline; }
  #nav-panel-content .nav-ancestor-active { font-weight: 600; }

  /* top-nav dropdowns (see partials/script.html) -- a chapter's İçindekiler
     subtree, opened next to its nav link instead of in the side panel */
  .nav-label-stack {
    display: grid; grid-template-rows: 1.1rem 1.65rem;
    justify-items: center; align-items: start; line-height: 1;
  }
  .nav-primary-label { white-space: nowrap; line-height: 1.1rem; }
  .nav-current { position: relative; }
  .nav-current::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0;
    height: 1px; background: #C86D51;
  }
  .nav-subtitle {
    display: -webkit-box; width: max-content; max-width: 8.5rem; height: 1.65rem;
    padding-top: .2rem; overflow: hidden; text-align: center; line-height: 1.15;
    -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  }
  .nav-item-group { display: flex; align-items: flex-start; }
  .nav-dropdown-toggle { display: flex; align-items: center; padding: 4px; margin: -1px 0 0 2px; opacity: 0.55; cursor: pointer; }
  .nav-dropdown-toggle:hover { opacity: 1; }
  .nav-dropdown-toggle svg { transition: transform 0.2s ease; }
  .nav-dropdown-toggle.nav-dropdown-toggle-open svg { transform: rotate(180deg); }
  .nav-dropdown {
    position: absolute; top: 100%; left: 50%; transform: translateX(-50%); margin-top: 0.75rem;
    min-width: 260px; max-width: 340px; max-height: 70vh; overflow-y: auto;
    background: #FAF8F5; border-radius: 4px; box-shadow: 0 12px 32px rgba(30,41,59,0.18); z-index: 55;
  }

  @keyframes navMegaEnter {
    from { opacity: 0; translate: 0 -8px; scale: 0.985; }
    to { opacity: 1; translate: 0 0; scale: 1; }
  }
  .nav-mega-menu {
    position: fixed; top: 6rem; left: 50%; transform: translateX(-50%); margin-top: 1rem;
    --nav-mega-height: min(390px, calc(100vh - 7.5rem));
    width: min(780px, calc(100vw - 2rem)); min-width: 0; max-width: none;
    height: var(--nav-mega-height); max-height: var(--nav-mega-height); overflow: hidden;
    background: rgba(250, 248, 245, 0.96);
    border: 1px solid rgba(250, 248, 245, 0.72); border-radius: 18px;
    box-shadow: 0 28px 80px rgba(30,41,59,0.28);
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
    transform-origin: 22% top;
  }
  .nav-mega-menu:not(.hidden) { animation: navMegaEnter 200ms cubic-bezier(.2,.8,.2,1); }
  .nav-mega-shell { display: grid; grid-template-columns: minmax(260px, .9fr) minmax(0, 1.45fr); align-items: start; height: var(--nav-mega-height); }
  .nav-mega-visual {
    position: relative; height: var(--nav-mega-height); min-height: var(--nav-mega-height); align-self: start; overflow: hidden; color: #FAF8F5;
    border-radius: 17px 0 0 17px;
  }
  .nav-mega-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 700ms ease; }
  .nav-mega-visual:hover img { transform: scale(1.035); }
  .nav-mega-visual::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(30,41,59,.08), rgba(30,41,59,.82));
  }
  .nav-mega-copy {
    position: absolute; inset: auto 0 0; z-index: 1; padding: 1.75rem;
    display: flex; flex-direction: column; align-items: flex-start;
  }
  .nav-mega-kicker { color: #E0916F; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; }
  .nav-mega-title { margin-top: .65rem; font-family: "Playfair Display", serif; font-size: 2.35rem; line-height: 1; letter-spacing: .04em; }
  .nav-mega-description { margin-top: .85rem; color: rgba(250,248,245,.82); font-size: .82rem; line-height: 1.65; max-width: 26rem; }
  .nav-mega-content { height: var(--nav-mega-height); max-height: var(--nav-mega-height); overflow-y: auto; padding: 1.5rem 1.7rem 1.75rem; }
  .nav-mega-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; align-items: start; }
  .nav-mega-links > li > div { min-height: 48px; padding: .75rem .15rem; border-bottom: 1px solid rgba(30,41,59,.08); }
  .nav-mega-links > li > div > .flex-1 > a,
  .nav-mega-links > li > div > .flex-1 > span { color: #AD5A40; font-weight: 500; }
  .nav-mega-links .nav-toggle { width: 1.15rem; color: rgba(30,41,59,.32); }
  .nav-mega-links .nav-children { padding-left: .65rem; margin: 0 0 .45rem .25rem; border-left: 1px solid rgba(200,109,81,.2); }
  .nav-mega-links .nav-children li > div { padding-top: .35rem; padding-bottom: .35rem; font-size: .78rem; }
  .nav-mega-links .nav-children a { color: rgba(30,41,59,.68); }
  .nav-mega-links a:hover { color: #C86D51; text-decoration: none; }
  @media (max-width: 1180px) {
    .nav-mega-menu { width: min(720px, calc(100vw - 2rem)); }
    .nav-mega-shell { grid-template-columns: 240px minmax(0, 1fr); }
  }
  @media (prefers-reduced-motion: reduce) {
    .nav-mega-menu:not(.hidden) { animation: none; }
    .nav-mega-visual img { transition: none; }
  }

  /* Compact context for the main content pages. Their detailed Word outline
     stays available on demand instead of occupying a permanent multi-row
     in-page navigation bar. */
  @keyframes pageOutlineEnter {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .page-breadcrumb { isolation: isolate; }
  .page-outline-toggle.page-outline-open .page-outline-chevron { transform: rotate(180deg); }
  .page-outline-panel { padding: .65rem 0 1rem; }
  .page-outline-panel:not(.hidden) { animation: pageOutlineEnter 180ms cubic-bezier(.2,.8,.2,1); }
  .page-outline-card {
    max-height: min(62vh, 520px); overflow-y: auto; padding: 1.15rem 1.35rem 1.35rem;
    background: rgba(250,248,245,.98); border: 1px solid rgba(30,41,59,.1);
    border-radius: 0 0 16px 16px; box-shadow: 0 24px 60px rgba(30,41,59,.2);
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  }
  .page-outline-heading {
    padding: 0 .2rem .75rem; color: rgba(30,41,59,.42);
    font-size: .67rem; letter-spacing: .18em; text-transform: uppercase;
    border-bottom: 1px solid rgba(30,41,59,.1);
  }
  .page-outline-content > ul {
    display: grid; grid-template-columns: repeat(2, minmax(0,1fr));
    column-gap: 2rem; align-items: start; padding-top: .35rem;
  }
  .page-outline-content > ul > li > div {
    min-height: 46px; padding: .7rem .2rem; border-bottom: 1px solid rgba(30,41,59,.08);
  }
  .page-outline-content > ul > li > div > .flex-1 > a,
  .page-outline-content > ul > li > div > .flex-1 > span { color: #AD5A40; font-weight: 500; }
  .page-outline-content .nav-toggle { width: 1.15rem; color: rgba(30,41,59,.32); }
  .page-outline-content .nav-children {
    padding-left: .75rem; margin: 0 0 .5rem .3rem;
    border-left: 1px solid rgba(200,109,81,.2);
  }
  .page-outline-content .nav-children li > div { padding-top: .38rem; padding-bottom: .38rem; font-size: .8rem; }
  .page-outline-content .nav-children a { color: rgba(30,41,59,.68); }
  .page-outline-content a:hover { color: #C86D51; text-decoration: none; }
  @media (max-width: 767px) {
    .page-outline-content > ul { grid-template-columns: 1fr; }
    .page-outline-card { border-radius: 0 0 12px 12px; padding: .9rem 1rem 1.15rem; }
  }
  @media (max-width: 639px) {
    .page-breadcrumb-current-wrap { display: none !important; }
  }
  @media (prefers-reduced-motion: reduce) {
    .page-outline-panel:not(.hidden) { animation: none; }
  }

  /* Floating "back to top" control, shown on every page once the reader has
     scrolled down — see partials/script.html for the scroll threshold. */
  .back-to-top-btn {
    position: fixed; right: 1.25rem; z-index: 40;
    bottom: calc(1.25rem + var(--vamoss-admin-toolbar-h, 0px));
    display: flex; align-items: center; gap: .4rem;
    padding: .65rem 1.1rem; border-radius: 9999px;
    font-size: .8rem; font-weight: 600; line-height: 1; white-space: nowrap;
    background: #1E293B; color: #FAF8F5; border: 1px solid rgba(250,248,245,.15);
    box-shadow: 0 10px 30px rgba(30,41,59,.35);
    opacity: 0; transform: translateY(8px); pointer-events: none;
    transition: opacity 200ms ease, transform 200ms ease, background 200ms ease, bottom 200ms ease;
  }
  .back-to-top-btn.back-to-top-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .back-to-top-btn:hover { background: #C86D51; }
  @media (max-width: 639px) {
    .back-to-top-btn { right: 1rem; bottom: calc(1rem + var(--vamoss-admin-toolbar-h, 0px)); padding: .55rem .9rem; font-size: .72rem; }
  }
  @media (prefers-reduced-motion: reduce) {
    .back-to-top-btn { transition: opacity 120ms ease; }
  }

  ::selection { background: #C86D51; color: #FAF8F5; }

  .lang-active { font-weight: 600; }
  .lang-inactive { cursor: default; }

  .prose-body p { margin-bottom: 1.25rem; line-height: 1.8; }
  .prose-body p:last-child { margin-bottom: 0; }
  .prose-body ul { margin-bottom: 1.25rem; }
  .prose-body li { margin-bottom: 0.4rem; line-height: 1.7; }

  .info-accordion > details { border-bottom: 1px solid rgba(30,41,59,.12); }
  .info-accordion > details:last-child { border-bottom: 0; }
  .info-accordion summary {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: 1.15rem .25rem; cursor: pointer; list-style: none;
  }
  .info-accordion summary::-webkit-details-marker { display: none; }
  .info-accordion summary h3,
  .info-accordion summary h4 { margin: 0; }
  .info-accordion summary::after {
    content: "+"; flex: 0 0 auto; color: #C86D51;
    font-family: "Inter", sans-serif; font-size: 1.4rem; font-weight: 300;
  }
  .info-accordion details[open] summary::after { content: "−"; }
  .info-accordion-content { padding: .1rem 2.5rem 1.5rem .25rem; }

  .progressive-list-controls { display: flex; justify-content: center; margin-top: 2rem; }
  .progressive-list-toggle {
    display: inline-flex; align-items: center; justify-content: center; gap: .7rem;
    min-height: 44px; padding: .7rem 1.1rem; border: 1px solid rgba(200,109,81,.45);
    color: #AD5A40; background: rgba(250,248,245,.82); border-radius: 9999px;
    font-size: .72rem; line-height: 1.2; letter-spacing: .12em; text-transform: uppercase;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
  }
  .progressive-list-toggle::after { content: "+"; font-size: 1.15rem; font-weight: 300; line-height: 1; }
  .progressive-list-toggle[aria-expanded="true"]::after { content: "−"; }
  .progressive-list-toggle:hover,
  .progressive-list-toggle:focus-visible { border-color: #C86D51; background: #FAF8F5; color: #C86D51; }
  .progressive-list-controls-dark {
    margin-top: 0; padding: 1.5rem 1.5rem 4rem; background: #1E293B;
  }
  .bg-anthracite + .progressive-list-controls .progressive-list-toggle,
  .bg-anthracite .progressive-list-controls .progressive-list-toggle,
  .progressive-list-controls-dark .progressive-list-toggle {
    color: #FAF8F5; background: rgba(250,248,245,.08); border-color: rgba(250,248,245,.28);
  }

  [data-route-accordion-section] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .route-info-accordion {
    border-bottom: 1px solid rgba(30,41,59,.12);
  }
  .route-info-accordion > summary {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    max-width: 48rem; margin: 0 auto; padding: 1.5rem;
    cursor: pointer; list-style: none;
  }
  .route-info-accordion > summary::-webkit-details-marker { display: none; }
  .route-info-accordion > summary h2 { margin: 0; }
  .route-info-accordion > summary::after {
    content: "+"; flex: 0 0 auto; color: #C86D51;
    font-family: "Inter", sans-serif; font-size: 1.5rem; font-weight: 300;
  }
  .route-info-accordion[open] > summary::after { content: "−"; }
  .route-info-accordion-content { padding-bottom: 3rem; }
  @media (min-width: 1024px) {
    .route-info-accordion > summary { padding-left: 2.5rem; padding-right: 2.5rem; }
  }

  .sched dt { color: #C86D51; font-size: 0.75rem; letter-spacing: 0.05em; }
  .sched dd { margin-bottom: 0.6rem; }

  .timeline-item { position: relative; padding-left: 2rem; }
  .timeline-item::before { content: ''; position: absolute; left: 0; top: 0.4rem; width: 8px; height: 8px; border-radius: 9999px; background: #C86D51; }
  .timeline-item::after { content: ''; position: absolute; left: 3px; top: 1.2rem; width: 1px; bottom: -1.5rem; background: rgba(200,109,81,0.25); }
  .timeline-item:last-child::after { display: none; }
