/* Shared reading patterns: hairlines, paper, Mincho, and deliberately quiet motion. */
[data-reading-panel][hidden],.sequence-ready>li[hidden],.reading-tab-list[hidden]{display:none!important}
.reading-tabs{margin:32px 0;min-width:0}
.reading-tab-list{display:flex;gap:0;border-bottom:1px solid var(--line);margin:24px 0 30px;flex-wrap:wrap}
.reading-tab-list button{flex:1;min-height:54px;padding:15px 14px;background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;font:inherit;font-size:14px;color:var(--muted);cursor:pointer}
.reading-tab-list button[aria-selected=true]{border-bottom-color:var(--red);color:var(--ink)}
.reading-tab-list button:hover,.detail-trigger:hover{color:var(--red)}
.reading-tab-list button:focus-visible,.sequence-nav button:focus-visible,.drawer-close:focus-visible{outline:1px solid var(--red);outline-offset:4px}
.tabs-enhanced>[data-reading-panel]{margin-top:0;padding-top:8px;border-top:0}
.access-routes{display:block!important}.access-routes>.reading-tabs{margin-top:0}
.reading-tabs>.memorial-info{margin-top:0}.month-switcher{margin:30px 0}
.month-switcher .reading-tabs{margin:0}.month-switcher .reading-tab-list button{min-width:60px;flex:1}
.month-switcher .sailing-month{background:none;border:0;padding:5px 0 0;max-width:760px}
.month-switcher .sailing-day{display:inline-block;vertical-align:top;width:calc(50% - 20px);margin-right:20px}
.month-switcher .sailing-day+.sailing-day{padding-top:0;border-top:0}
.reading-jumps{display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px 26px;margin:35px auto;padding:0 var(--gutter);max-width:1100px;font-size:12px}
.reading-jumps a{min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid var(--line)}
.detail-trigger{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:84px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:19px;line-height:1.8;letter-spacing:.04em;color:var(--ink)}
.detail-trigger>span:last-child{flex:none;font-size:20px;font-weight:400}
.detail-link-group .detail-trigger+.detail-trigger{border-top:0}
.detail-link-group{padding-top:30px;padding-bottom:30px}
.reading-drawer{position:fixed;inset:0;margin:0 0 0 auto;padding:0;border:0;width:min(760px,94vw);max-width:none;height:100dvh;max-height:none;background:transparent;overflow:visible;color:var(--ink);font-family:var(--font)}
.reading-drawer::backdrop{background:rgba(25,31,26,0);transition:background .35s ease}
.reading-drawer.is-open::backdrop{background:rgba(25,31,26,.36)}
.drawer-sheet{width:100%;height:100%;overflow-y:auto;overscroll-behavior:contain;padding:24px 50px 60px;background:var(--paper) url('/assets/paper-grain.svg') repeat;background-size:480px;transform:translateX(100%);transition:transform .45s cubic-bezier(.22,.68,.17,1)}
.reading-drawer.is-open .drawer-sheet{transform:translateX(0)}
.drawer-close{display:block;margin:0 0 32px auto;padding:12px 0 12px 16px;min-height:44px;border:0;background:none;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}
.drawer-sheet h2{font-size:25px;font-weight:400;line-height:1.8;margin:0 0 25px}.drawer-sheet h3{font-size:19px;font-weight:400;line-height:1.8;margin:24px 0 15px}
.drawer-sheet p{font-size:14px;line-height:2.2}.drawer-sheet .text-link{font-size:13px}
.drawer-sheet [data-detail-source]{display:block!important;padding:0!important;margin:0!important;border:0!important}
.drawer-sheet .departure-grid,.drawer-sheet .vessel-grid{display:block}
.drawer-sheet figure{margin:30px 0 0}.drawer-sheet .detail-photo img{width:100%;height:auto;display:block}
.drawer-sheet .departure-map{max-width:470px}.drawer-sheet .departure-map .detail-photo{mix-blend-mode:multiply}
.drawer-sheet .photo-reveal,.drawer-sheet .text-reveal{opacity:1;transform:none;transition:none}
.drawer-sheet .service-facts>div{grid-template-columns:6em 1fr;font-size:13px}
.application-journey{border-top:1px solid var(--line);padding-top:32px;margin-bottom:60px}
.application-journey>h2{font-size:24px;margin:0 0 30px}
.sequence-shell{display:grid;grid-template-columns:180px minmax(0,1fr);gap:35px}
.sequence-nav{display:flex;flex-direction:column;border-left:1px solid var(--line);align-self:start}
.sequence-nav button{border:0;border-left:2px solid transparent;background:none;color:var(--muted);font:inherit;text-align:left;padding:17px 10px 17px 18px;min-height:60px;display:flex;gap:12px;font-size:13px;cursor:pointer;margin-left:-1px;line-height:1.8}
.sequence-nav button[aria-selected=true]{border-left-color:var(--red);color:var(--ink)}
.sequence-number{font-family:Georgia,serif;font-size:12px}
.service-steps.sequence-ready>li{display:block;min-height:320px;padding:12px 0 0;margin:0;border:0}
.sequence-ready .step-axis{display:none}.sequence-ready .step-copy h3{margin-bottom:20px}
.sequence-controls{display:flex;justify-content:flex-end;align-items:center;gap:24px;margin:25px 0}
.sequence-controls button{font:inherit;font-size:13px;background:none;border:0;border-bottom:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer}
.sequence-controls button:disabled{opacity:.3;cursor:default}.sequence-controls>span{font-size:12px;color:var(--muted)}
.quiet-timeline{border-left:1px solid var(--line);padding-left:28px!important;margin:30px 0!important;list-style:none;counter-reset:quiet-step}
.quiet-timeline>li{position:relative;counter-increment:quiet-step;padding:0 0 30px 15px!important;border:0!important;font-size:14px;line-height:2.1}
.quiet-timeline>li::before{content:counter(quiet-step,decimal-leading-zero)!important;position:absolute!important;left:-42px!important;top:0!important;display:block!important;width:26px!important;height:auto!important;background:var(--paper)!important;color:var(--muted)!important;font:12px/2 Georgia,serif!important;border:0!important;text-align:center}
.quiet-timeline>li strong{display:block;margin:0 0 8px;font-size:16px;font-weight:400}
.voice-preview{border-top:1px solid var(--line);padding:32px 0;margin:0}.voice-preview:last-child{border-bottom:1px solid var(--line)}
.voice-preview h2{font-size:23px;line-height:1.8;margin:0 0 15px}.voice-preview p{font-size:14px;line-height:2.1;margin:0 0 18px}.voice-preview .text-link{font-size:13px}
/* One disclosure row rhythm across FAQ, footer and any retained details. */
.aligned-disclosure{margin-top:0!important;margin-bottom:0!important;border-top:1px solid var(--line);border-bottom:0}
.aligned-disclosure:last-child{border-bottom:1px solid var(--line)}
.aligned-disclosure>summary{display:flex!important;align-items:center;justify-content:space-between;gap:20px;list-style:none;min-height:76px;padding:22px 0!important;margin:0!important;line-height:1.8;cursor:pointer}
.aligned-disclosure>summary::-webkit-details-marker{display:none}.aligned-disclosure>summary::marker{content:''}
.aligned-disclosure>summary::after{content:'▶'!important;position:static!important;transform:none!important;flex:none;width:14px;height:auto;font:400 10px/1 var(--font);text-align:center;margin:0!important}
.aligned-disclosure[open]>summary::after{content:'▼'!important}
.aligned-disclosure>summary .disclosure-mark{display:none}
.aligned-disclosure .answer{padding:0 0 24px!important;margin:0!important}
/* v45: retain the typography and arrows of the full, unnumbered v43 flow. */
.quiet-timeline>li::before{content:none!important}
.quiet-timeline{padding-left:20px!important;counter-reset:none}
.quiet-timeline>li{counter-increment:none;padding-left:12px!important}
.footer-groups .aligned-disclosure:last-child{border-bottom:0}
.memorial-guide .memorial-date-grid{align-items:start}
.memorial-guide .memorial-date-grid>section{margin:0;padding:20px 0;align-self:start}
.memorial-guide .memorial-date-grid h4{margin:0 0 15px;line-height:1.8}
.memorial-guide .memorial-date-grid .memorial-weather-note{font-size:12px;line-height:2;letter-spacing:.02em;margin:18px 0 0;color:var(--muted)}
@media(max-width:700px){
 .reading-tabs{margin:28px 0}.reading-tab-list{margin:20px 0 25px}.reading-tab-list button{padding:14px 7px;font-size:12px;line-height:1.8}
 .month-switcher .reading-tab-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .month-switcher .sailing-day{display:block;width:100%;margin:0}.month-switcher .sailing-day+.sailing-day{border-top:1px solid var(--line);padding-top:20px}
 .detail-trigger{font-size:17px;min-height:80px;padding:23px 0;gap:18px}
 .detail-link-group{padding-top:20px;padding-bottom:20px}
 .sailing-section{padding-top:28px;padding-bottom:30px}
 .drawer-sheet{padding:20px 24px 45px}.drawer-close{margin-bottom:24px}.drawer-sheet h2{font-size:22px}
 .drawer-sheet .service-facts>div{grid-template-columns:5em 1fr;gap:12px}
 .sequence-shell{grid-template-columns:93px minmax(0,1fr);gap:20px}
 .sequence-nav button{font-size:12px;padding:15px 0 15px 10px;min-height:68px;display:block}
 .sequence-number{display:block;font-size:10px}.sequence-ready .step-copy h3{font-size:15px!important}.sequence-ready .step-copy p{font-size:13px!important;text-align:left}
 .service-steps.sequence-ready>li{min-height:350px}
 .application-journey>h2{font-size:21px}.sequence-controls{gap:22px}
 .voice-preview h2{font-size:21px}.quiet-timeline>li{font-size:13px!important}
 .aligned-disclosure>summary{min-height:76px;font-size:15px;gap:18px;padding:22px 0!important}
 .footer-groups .aligned-disclosure>summary{min-height:64px;padding:18px 0!important;font-size:14px}
 .reading-jumps{gap:0 20px;margin:25px auto;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.drawer-sheet,.reading-drawer::backdrop{transition:none}}
@media print{
 .reading-tab-list,.sequence-nav,.sequence-controls,.detail-trigger,.drawer-close{display:none!important}
 [data-reading-panel],.sequence-ready>li{display:block!important}
 .reading-drawer{display:block!important;position:static;width:auto;height:auto;margin:30px 0;overflow:visible}
 .drawer-sheet{height:auto;overflow:visible;transform:none;padding:0;background:none}
 .sequence-shell{display:block}.service-steps.sequence-ready>li{min-height:0;margin:20px 0}
}

/* Keep the FAQ mark, question and disclosure arrow in separate columns. */
.faq.aligned-disclosure > summary{display:grid!important;grid-template-columns:1.2em minmax(0,1fr) 14px;column-gap:16px!important;align-items:baseline}
.faq.aligned-disclosure > summary::before{position:static;grid-column:1;font-size:1.05em;line-height:inherit}
.faq.aligned-disclosure > summary::after{grid-column:3;align-self:center}
.faq.aligned-disclosure > summary .faq-question{grid-column:2;min-width:0;overflow-wrap:anywhere}
.faq.aligned-disclosure .answer{padding-left:calc(1.2em + 16px)!important}
