/* White refresh. Original logo and guide content are retained. */
:root{--paper:#fff;--white:#fff;--ink:#142943;--navy:#102540;--muted:#46596c;--line:#d5dfe8;--coral:#be361f;--coral-strong:#be361f;--shadow:0 8px 30px #10254009;font-size:18px}
*{box-sizing:border-box}body{font-family:'DM Sans',Arial,sans-serif;font-size:1rem;line-height:1.65;background:var(--paper)}body:before{display:none}html{scroll-padding-top:116px}main{outline:none}h1,h2,h3,h4{font-family:'DM Sans',Arial,sans-serif!important}h1,h2,h3,h4,.hero h1,.map-copy h2,.section-heading h2,.field-notes h2,.gallery-heading h2,.arrival-path h2,.local-note h2,.alert-strip h2,.panel-heading h3,.notes-grid h3{font-family:'DM Sans',Arial,sans-serif;font-style:normal;letter-spacing:-.025em;line-height:1.2}p,li{overflow-wrap:break-word}button,input,select{font:inherit}a{text-underline-offset:.2em}button,a,input,select,summary{touch-action:manipulation}button,select,.button{min-height:44px}input[type=checkbox]{min-width:20px;min-height:20px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #2463b5;outline-offset:4px;box-shadow:0 0 0 2px white}button[disabled]{cursor:default}.skip-link{z-index:1000}[hidden]{display:none!important}
.topbar{height:104px;min-height:104px;padding:8px max(24px,calc((100vw - 1280px)/2));gap:20px;background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none}.topbar .brand{flex-shrink:0}.topbar .brand img{width:112px;height:84px;object-fit:contain;mix-blend-mode:normal}.topbar .primary-nav{display:flex;align-items:center;gap:4px;padding:0;background:none;border:0;border-radius:0;margin-left:auto}.primary-nav a{font-size:.83rem!important;padding:12px 10px!important;white-space:nowrap}.primary-nav a:hover{background:#edf2f8!important;color:var(--ink)!important}.mobile-menu-extras,.menu-toggle,.mobile-bottom-nav{display:none}.reading-open{border:0;border-radius:9px;background:#edf2f8;color:var(--ink);padding:10px 12px;font-size:.78rem;white-space:nowrap;cursor:pointer}.reading-open span{font-size:1rem;font-weight:700;margin-right:4px}.header-checklist{display:flex;align-items:center;gap:12px;color:white;background:var(--coral-strong);text-decoration:none;padding:12px 16px;border-radius:10px;font-size:.8rem;font-weight:700;white-space:nowrap}.header-checklist:hover,.button.primary:hover{background:#962b19;color:white}
.hero{max-width:1280px;margin:0 auto;min-height:0;grid-template-columns:1fr 1.05fr;gap:36px;padding:48px 24px 38px;background:var(--paper);align-items:center}.hero:before{display:none}.hero-copy{padding:0}.hero h1{font-size:clamp(2.1rem,3.7vw,3.35rem);font-weight:700;line-height:1.13;letter-spacing:-.035em;max-width:650px}.hero .eyebrow{font-size:.72rem;letter-spacing:.06em;text-transform:none;color:var(--muted);margin-bottom:20px}.dek{font-size:1.05rem;max-width:44ch;margin:22px 0 26px}.hero-actions{gap:10px}.button{border-radius:10px;gap:10px;font-size:.86rem;padding:13px 18px}.button.ghost{border-color:#b8c8d8;background:#fff}.trust{font-size:.72rem;margin-top:18px}.hero-visual{margin:0;min-height:0;height:360px;border-radius:16px;box-shadow:none}.hero-visual:after{display:none}.hero-visual img{filter:none}.quick-links{max-width:1280px;margin:auto;padding:12px 24px 28px;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.quick-links a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;font-size:.9rem;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:10px}.quick-links a:hover{background:#edf2f8}.quick-links span{font-size:1.4rem}
.student-map-section{background:#f3f5f8;padding:38px max(24px,calc((100vw - 1232px)/2));gap:22px}.student-map-section .map-copy{max-width:100%}.student-map-section .map-copy h2{font-size:clamp(1.65rem,3vw,2.2rem);margin:0 0 12px}.map-copy>p:not(.eyebrow){max-width:78ch;font-size:.92rem}.map-copy .eyebrow{display:none}.map-copy .map-note{font-size:.83rem}.student-map-shell{padding:20px;border-radius:16px;box-shadow:none}.map-modes{margin-bottom:18px}.map-modes button{font-family:inherit;font-size:.88rem;padding:12px 18px}.map-modes button[aria-pressed=true]{background:var(--navy);border-color:var(--navy)}.map-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}.map-canvas-content{min-width:0}#map-layers{display:flex;flex-direction:column;gap:8px;margin:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}#map-layers label{font-size:.82rem;border-radius:8px;padding:10px;min-height:44px}#map-layers legend{font-size:.86rem;padding:0 3px}.map-toolbar{margin-bottom:12px}.map-toolbar input{padding:10px;font-size:.9rem}.map-toolbar button{font-size:.83rem}#student-map{height:440px}.map-status,.map-small{font-size:.8rem;line-height:1.65}.map-place p,.map-place-actions a,.map-place button,.study-place-info a{font-size:.85rem;line-height:1.65}.map-place h3{font:700 1rem 'DM Sans',Arial,sans-serif}.map-place-actions{gap:10px}.map-popup p{font-size:.88rem}.music-schedule{font-size:.83rem!important}.map-service-note{font-size:.9rem}.map-directory summary{min-height:44px;padding:8px 0}#map-place-list{max-height:500px}.music-filters p,.study-map-filters p{font-size:.9rem}.music-filters .map-small,.study-map-filters .map-small{font-size:.8rem}
.discover-cards{max-width:1280px;margin:auto;padding:28px 24px 44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.discover-cards>a{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--ink);text-decoration:none}.discover-cards>a:hover{background:#edf2f8}.discover-cards img{width:100px;height:132px;object-fit:cover;border-radius:8px}.discover-cards h2{font-size:1rem;margin:0}.discover-cards p{font-size:.8rem;margin:8px 0}.discover-cards span{font-size:.78rem;font-weight:700}.alert-strip{padding:32px max(24px,calc((100vw - 1232px)/2));background:#102540;color:#fff;border-block:1px solid #274665}.alert-strip p,.alert-strip h2{color:#fff}.alert-strip .eyebrow{color:#ffd1c4}.alert-strip h2{font-size:1.7rem}.alert-strip>a{color:#ffd1c4;white-space:normal;text-decoration:underline}.alert-strip>a:hover{color:#fff}.alert-icon{background:#ffd1c4;color:#102540;border:1px solid #ffd1c4;transform:none}.alert-strip:after{display:none}.field-notes,.galway-gallery,.arrival-path,.quick-start,.guide-section,.galway-intro,.study-value{padding:64px max(24px,calc((100vw - 1232px)/2))}.field-notes,.galway-intro,.study-value,.guide-section,.arrival-path{background:var(--paper)}.galway-gallery,.quick-start{background:#f3f5f8}.budget-section{background:#edf3fa}.notes-grid article,.guide-card,.arrival-board,.checklist-shell,.photo-grid figure{border-radius:14px;box-shadow:none}.guide-grid{gap:18px}.guide-card h3{font-size:1.45rem}.guide-card p,.guide-card li,.study-spots p{font-size:1rem;line-height:1.7}.guide-card small,.guide-card .note{font-size:.85rem}.checklist-panel{padding:28px}.checks label{padding:15px}.checks small{font-size:.86rem;line-height:1.65}.section-heading h2,.gallery-heading h2{font-size:clamp(1.7rem,3vw,2.4rem)}.eyebrow{letter-spacing:.06em}.local-note{background:#edf3fa;color:var(--ink);padding-block:52px}.local-note .eyebrow{color:#922914}.local-note:after{display:none}
#reading-dialog{border:1px solid var(--line);border-radius:16px;padding:24px;max-width:540px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;color:var(--ink);background:#fff;box-shadow:0 20px 80px #10254040}#reading-dialog::backdrop{background:#10254080}.reading-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.reading-dialog-head h2{margin:0;font-size:1.4rem}.reading-dialog-head button,#reading-reset{border:1px solid #a8bacd;border-radius:9px;padding:9px 13px;background:#edf2f8;color:var(--ink);cursor:pointer}#reading-description{font-size:.95rem}#reading-form{display:grid;gap:10px}#reading-form label{font-weight:700;margin-top:10px}#reading-form select{width:100%;max-width:100%;padding:12px;border:1px solid #a8bacd;border-radius:9px;background:white;color:var(--ink);font-size:.95rem}#reading-reset{margin-top:12px}#reading-status{font-size:.85rem;margin:5px 0}
html[data-text-size=large]{font-size:21px}html[data-text-size=extra]{font-size:24px}html[data-spacing=wide] body{line-height:1.9;letter-spacing:.045em;word-spacing:.07em}html[data-spacing=wide] p,html[data-spacing=wide] li,html[data-spacing=wide] small{line-height:1.9!important}html[data-background=soft]{--paper:#edf1f5}html[data-background=soft] .topbar{background:#edf1f5}
@media(max-width:1150px){.topbar{gap:12px}.header-checklist{display:none}.primary-nav a{padding-inline:8px!important}.discover-cards{grid-template-columns:1fr}.discover-cards img{height:85px;width:100px}.hero{gap:24px}.map-workspace{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:900px){html{scroll-padding-top:120px}.topbar{padding:8px 20px;display:grid;grid-template-columns:1fr auto;height:auto;gap:4px 14px;min-height:108px}.topbar .brand{grid-column:1;grid-row:1/3}.topbar .brand img{width:108px;height:84px}.menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;grid-column:2;grid-row:1;border:1px solid #b8c8d8;border-radius:9px;background:#fff;color:var(--ink);padding:8px 14px;cursor:pointer;font-size:.86rem}.reading-open{grid-column:2;grid-row:2;font-size:.72rem;padding:7px 10px;background:transparent;text-align:right}.topbar .primary-nav{display:none;grid-column:1/-1;order:initial;flex:initial;margin:8px 0 0;max-height:60dvh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px;scroll-snap-type:none}.topbar.menu-open .primary-nav{display:grid;grid-template-columns:1fr 1fr;gap:4px}.primary-nav a{min-height:48px;display:flex;align-items:center;white-space:normal}.mobile-menu-extras{display:contents}.hero{grid-template-columns:1fr;padding:30px 20px}.hero h1{font-size:clamp(2rem,5.2vw,2.8rem)}.hero-visual{height:300px;min-height:0;margin:0}.hero h1 br{display:none}.hero-actions .button{width:auto}.quick-links{grid-template-columns:repeat(3,1fr);padding:0 20px 26px}.quick-links a{font-size:.82rem}.map-workspace{grid-template-columns:1fr}#map-layers{flex-direction:row;flex-wrap:wrap;padding:12px}#map-layers label{flex:1 1 150px}.map-modes{scroll-margin-top:130px}.map-modes button{flex:1 1 150px}.student-map-section{padding:30px 20px}.student-map-shell{padding:14px}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:20;background:white;border-top:1px solid #b8c8d8;padding:5px 8px max(7px,env(safe-area-inset-bottom));box-shadow:0 -3px 12px #1025400a}.mobile-bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;color:var(--ink);font-size:.75rem;text-decoration:none;min-height:52px;border-radius:8px}.mobile-bottom-nav span{font-size:1.25rem;line-height:1.4}.mobile-bottom-nav a[aria-current=location]{font-weight:700;background:#e5edf8;border-bottom:3px solid #2463b5}body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}section[id],article[id],#study-spots-map{scroll-margin-top:130px}.field-notes,.galway-gallery,.arrival-path,.quick-start,.guide-section,.galway-intro,.study-value{padding:45px 20px}}
@media(max-width:620px){.hero-visual{height:230px}.hero h1{font-size:2rem}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}.hero .dek{font-size:1rem}.quick-links{grid-template-columns:1fr 1fr;gap:8px}.quick-links a:last-child{grid-column:1/-1}.quick-links a{justify-content:flex-start;padding:10px 16px}.discover-cards{padding:20px}.student-map-shell{padding:12px}.map-copy .map-note{font-size:.85rem}.map-modes button{font-size:.8rem;padding:12px 8px}.map-toolbar input{min-width:0;flex:1 1 100%}#student-map{height:380px}#map-place-list{max-height:480px}.guide-card{padding:24px 18px}.map-place p,.map-place-actions a{font-size:.88rem}.map-place-actions{flex-wrap:wrap}.map-workspace{gap:14px}.guide-grid{grid-template-columns:minmax(0,1fr)}.discover-cards>a{align-items:flex-start}.discover-cards img{width:80px}.map-popup{max-height:260px;overflow:auto}footer{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(forced-colors:active){a,button,input,select{forced-color-adjust:auto}.mobile-bottom-nav a[aria-current=location]{border:2px solid Highlight}}

.card-photo-credits{grid-column:1/-1;font-size:.7rem;color:var(--muted);margin:0;line-height:1.6}.card-photo-credits a{color:inherit}
/* Housing warning uses navy with explicit high-contrast text on both pages. */
#housing{background:#102540;color:#fff;border-color:#274665}
#housing p,#housing h2{color:#fff}
#housing .eyebrow,#housing>a{color:#ffd1c4}
#housing>a:hover{color:#fff}
#housing .alert-icon{background:#ffd1c4;color:#102540;border:1px solid #ffd1c4;transform:none}
#housing>a{white-space:normal;text-decoration:underline}
#housing-guide{background:#fff;color:#142943;border:1px solid #c6d3df;border-top:4px solid #a93320}
#housing-guide p,#housing-guide li,#housing-guide h3,#housing-guide h4,#housing-guide summary,#housing-guide .note{color:#142943}
#housing-guide .tag.danger{color:#7f2718;background:#fff0eb;border:1px solid #d5aaa0}
#housing-guide .rights-grid section{background:#f3f6fa;border-color:#c6d3df}
#housing-guide details{border-top:1px solid #d5dfe8}
#housing-guide details[open]{background:#f3f6fa}
#housing-guide summary::marker{color:#142943}
#housing-guide a{color:#184b85}
#housing-guide .housing-links a{background:#edf3fa;color:#184b85;border:1px solid #b9cbe0}
#housing-guide .housing-links a:hover{background:#dce8f6}
#housing-guide .card-num{color:#46596c}
/* Arrival steps no longer inherit the earlier dark-theme text colours. */
#arrival{background:var(--paper);color:#142943}
#arrival:after{display:none}
#arrival h2,#arrival h3,#arrival p,#arrival strong{color:#142943}
#arrival .eyebrow{color:#46596c;font-size:.9rem;text-transform:none;letter-spacing:normal}
#arrival .arrival-board{margin-top:28px;border-color:#c6d3df}
#arrival .arrival-board article{border-color:#c6d3df;padding:24px 0;align-items:start;gap:18px;grid-template-columns:48px minmax(0,1fr)}
#arrival .arrival-board article:hover{padding-left:0;background:transparent}
#arrival .arrival-board .step{display:grid;place-items:center;min-height:44px;width:44px;border-radius:9px;background:#edf3fa;color:#142943;font-family:'DM Sans',Arial,sans-serif}
#arrival .arrival-board h3{font-size:1.2rem;line-height:1.4;margin-bottom:10px}
#arrival .arrival-board p{font-size:1rem;line-height:1.75;max-width:68ch}
#arrival .arrival-pocket{background:#edf3fa;border:1px solid #c6d3df;color:#142943}
#arrival .arrival-pocket strong{font-family:'DM Sans',Arial,sans-serif;font-size:1.1rem}
@media(max-width:620px){#arrival .arrival-board article{grid-template-columns:38px minmax(0,1fr);gap:12px}#arrival .arrival-board .step{width:36px;min-height:38px;font-size:.85rem}}

/* Optional reader support, following the author introduction. */
.support-guide{margin:0 auto 48px;padding:28px 32px;width:calc(100% - 48px);max-width:1216px;display:flex;align-items:center;gap:32px;border:1px solid #c6d3df;border-radius:16px;background:#f3f6fa;color:#142943}
.support-guide h2{margin:0 0 10px;font:700 1.5rem/1.35 'DM Sans',Arial,sans-serif;color:#142943}
.support-guide p{margin:0;max-width:66ch;font-size:1rem;line-height:1.75;color:#142943}
.support-guide>div{flex:1;min-width:0}
.support-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;flex-shrink:0;border:2px solid #184b85;border-radius:10px;background:#fff;color:#184b85;font:700 1rem/1.5 'DM Sans',Arial,sans-serif;text-decoration:none}
.support-button:hover{background:#e5edf8;color:#142943}
.support-button:focus-visible{outline:3px solid #184b85;outline-offset:4px}
@media(max-width:620px){.support-guide{width:calc(100% - 40px);padding:24px 20px;flex-direction:column;align-items:stretch;gap:20px;margin-bottom:32px}.support-button{width:100%}}
