/* Page-specific extension of the approved GoToNorthWales design. */
html{scroll-padding-top:90px}.venue-page{--text-teal:#126f73}.venue-page section,.venue-page aside{scroll-margin-top:90px}.venue-page :focus-visible{outline-offset:5px}.venue-hero{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}.venue-hero-copy{padding:27px 28px 55px var(--gutter);position:relative;z-index:1}.breadcrumbs{display:flex;gap:12px;align-items:center;font-size:13px;margin-bottom:43px}.breadcrumbs a{min-height:44px;display:inline-flex;align-items:center}.breadcrumbs a:hover{text-decoration:underline}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.11em;font-weight:900;line-height:1.5}.venue-hero .eyebrow{color:#d1e6e8;margin-bottom:14px}.venue-hero h1{font-size:clamp(62px,6.8vw,99px);line-height:.97;letter-spacing:-.045em}.venue-hero h1 span{color:var(--coral)}.welsh-name{font-size:18px;margin-top:18px;color:#d1e6e8}.hero-intro{font-size:19px;max-width:440px;margin-top:23px;line-height:1.55}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:28px}.photo-link{border:0;background:none;color:white;display:inline-flex;gap:10px;align-items:center;min-height:44px;padding:10px 0;font-size:14px}.photo-link:hover{text-decoration:underline}.photo-link svg{width:21px}.venue-hero-photo{position:relative;min-height:610px;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%);margin-left:-24px}.venue-hero-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:55% 50%}.heritage-label{position:absolute;bottom:28px;right:26px;background:var(--deep);padding:11px 16px;border-radius:5px;display:flex;gap:10px;align-items:center;font-size:12px}.heritage-label svg{width:20px}.venue-hero a:focus-visible,.venue-hero button:focus-visible{outline-color:white}.venue-sections{position:sticky;top:0;z-index:10;display:flex;justify-content:center;gap:54px;background:white;border-bottom:1px solid var(--line);padding:0 24px}.venue-sections a{display:flex;align-items:center;min-height:68px;font-size:15px;border-bottom:3px solid transparent;padding:12px 0 9px}.venue-sections a:hover,.venue-sections a[aria-current=true]{border-color:var(--coral);color:var(--text-teal)}.venue-body{max-width:1440px;margin:auto;padding:70px var(--gutter) 80px;display:grid;grid-template-columns:minmax(0,1fr) 385px;gap:90px;align-items:start}.venue-story{min-width:0}.venue-story h2{font-size:clamp(40px,3.8vw,55px);line-height:1.05}.venue-story h2 span{color:var(--sea)}.intro-section>.eyebrow{color:var(--text-teal);margin-bottom:18px}.intro-section .lead{font-size:21px;line-height:1.6;margin:28px 0 18px}.intro-section>p:not(.lead):not(.eyebrow){font-size:17px;color:var(--muted)}.source-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:14px;margin-top:18px}.source-link svg{width:17px}.source-link:hover{color:var(--text-teal)}.visit-panel{position:sticky;top:92px;background:white;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:0 10px 26px #10334308}.visit-panel>.eyebrow{color:var(--text-teal);font-size:11px}.visit-panel h2{font-size:35px;line-height:1.15;margin:10px 0 24px}.admission{display:flex;align-items:center;justify-content:space-between;gap:20px}.admission>div{display:flex;flex-direction:column;gap:3px}.admission span{font-size:14px}.admission strong{font-size:40px;font-weight:900;line-height:1.2;letter-spacing:-.03em}.operator{border-radius:30px;background:var(--sand);padding:8px 12px}.small{font-size:12px;color:var(--muted);line-height:1.6}.visit-panel>.small{margin:9px 0 20px}.book-button{width:100%;gap:16px}.booking-note{font-size:12px;color:var(--muted);margin:11px 0 21px;line-height:1.55}.winter-hours{display:flex;gap:13px;border-top:1px solid var(--line);padding-top:21px;margin-bottom:18px}.winter-hours>svg{width:24px;height:24px;color:var(--text-teal);margin-top:3px}.winter-hours strong{font-size:20px;font-weight:900;display:block}.winter-hours span{display:block;font-size:12px;color:var(--muted);line-height:1.65}.venue-page details{border-top:1px solid var(--line)}.venue-page summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;font-size:14px;cursor:pointer;padding:12px 0}.venue-page summary::-webkit-details-marker{display:none}.venue-page summary>span{font-size:22px;font-weight:400}.venue-page details[open]>summary>span{transform:rotate(45deg)}.venue-page table{width:100%;font-size:12px;border-collapse:collapse;margin-bottom:14px}.venue-page th{font-weight:400;text-align:left;padding:10px 5px 10px 0}.venue-page td{text-align:right;white-space:nowrap;padding:10px 0 10px 5px}.venue-page tr+tr{border-top:1px solid #edf0ed}.visit-panel details>.small{margin-bottom:17px}.checked{font-size:11px;border-top:1px solid var(--line);padding-top:18px;margin-top:2px;color:var(--muted);line-height:1.8}.checked a{display:inline-flex;align-items:center;gap:6px;text-decoration:underline;min-height:32px}.checked svg{width:13px;height:13px}
.gallery-dialog{max-width:1050px;background:var(--deep);color:white;border-radius:10px;overflow:auto;width:calc(100% - 40px);padding:0}.gallery-close{position:absolute;right:14px;top:14px;border:0;width:44px;height:44px;border-radius:50%;background:white;color:var(--ink);font-size:28px;z-index:2}.gallery-dialog>img{width:100%;height:60vh;object-fit:contain;background:#0a222e}.gallery-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 24px}.gallery-bar button{width:44px;height:44px;background:transparent;border:1px solid #69838c;border-radius:50%;color:white;font-size:24px;flex-shrink:0}.gallery-bar p{font-size:16px;text-align:center}.gallery-dialog>#gallery-credit{padding:0 24px 20px;font-size:12px;text-align:center;color:#d0e2e5}.gallery-dialog a{text-decoration:underline}.gallery-dialog :focus-visible{outline-color:white}
@media(max-width:1050px){.venue-hero-copy{padding-bottom:40px}.venue-hero h1{font-size:67px}.hero-intro{font-size:17px}.hero-actions{gap:15px;flex-wrap:wrap}.venue-hero-photo{min-height:590px}.heritage-label{left:38px;right:18px;bottom:22px;font-size:11px}.venue-body{gap:40px;grid-template-columns:minmax(0,1fr) 330px}.visit-panel{padding:22px}.venue-sections{gap:35px}.intro-section .lead{font-size:19px}}
@media(max-width:700px){html{scroll-padding-top:82px}.venue-hero{display:flex;flex-direction:column}.venue-hero-copy{padding:14px 24px 33px}.breadcrumbs{font-size:12px;margin-bottom:23px;gap:10px}.venue-hero .eyebrow{font-size:11px;margin-bottom:16px}.venue-hero h1{font-size:clamp(45px,12.3vw,72px);line-height:1}.welsh-name{font-size:16px;margin-top:16px}.hero-intro{font-size:17px;margin-top:20px}.hero-actions{gap:22px;margin-top:23px}.hero-actions .button{font-size:15px;min-height:52px}.photo-link{font-size:13px}.venue-hero-photo{height:290px;min-height:0;margin:0;clip-path:polygon(0 8%,100% 0,100% 100%,0 100%)}.venue-hero-photo>img{object-position:center 56%}.heritage-label{left:auto;right:15px;bottom:16px;max-width:calc(100% - 30px);font-size:10px;padding:9px 12px}.heritage-label svg{width:17px;height:17px}.venue-sections{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 12px}.venue-sections a{min-height:64px;font-size:12px;text-align:center;justify-content:center;line-height:1.3}.venue-body{display:flex;flex-direction:column;padding:43px 24px 50px;gap:35px}.venue-story{display:contents}.intro-section{order:0}.visit-panel{order:1;position:static;width:100%;padding:25px}.venue-story>section:not(.intro-section){order:2;width:100%}.venue-story h2{font-size:41px;line-height:1.07}.intro-section .lead{font-size:19px;margin-top:24px}.intro-section>p:not(.lead):not(.eyebrow){font-size:16px}.source-link{font-size:13px;gap:8px}.gallery-dialog{width:calc(100% - 20px)}.gallery-dialog>img{height:47vh}.gallery-bar{padding:14px}.gallery-bar p{font-size:14px}.gallery-dialog>#gallery-credit{font-size:11px;padding:0 14px 18px}.site-footer{padding-bottom:20px}}
.highlights-section{margin-top:65px}.highlights-section h2{font-size:39px}.highlights-list{margin-top:28px}.highlights-list article{display:flex;gap:22px;padding:25px 0;border-bottom:1px solid var(--line)}.highlights-list svg{width:35px;height:35px;color:var(--text-teal);margin-top:3px}.highlights-list h3{font-size:24px;line-height:1.2;margin-bottom:10px}.highlights-list p{font-size:16px;color:var(--muted)}.photo-section{margin-top:65px}.photo-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.photo-heading h2{font-size:36px}.photo-heading .text-button{font-size:13px;white-space:nowrap}.venue-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px}.venue-photos button{border:0;background:var(--deep);color:white;padding:0;position:relative;height:265px;border-radius:10px;overflow:hidden}.venue-photos img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.venue-photos button:hover img{transform:scale(1.025)}.venue-photos button:nth-child(2) img{object-position:27% 50%}.venue-photos span{position:absolute;bottom:15px;left:15px;right:15px;background:var(--deep);padding:8px 10px;font-size:12px;border-radius:4px;text-align:left}.photo-section>.small{margin-top:13px}.good-to-know{margin-top:65px}.visitor-notice{display:flex;gap:17px;background:#fbe7df;padding:24px;border-radius:10px;margin:30px 0 23px;color:var(--deep)}.visitor-notice>svg{width:24px;height:24px;margin-top:2px}.visitor-notice h3{font-size:21px;line-height:1.2;margin-bottom:9px}.visitor-notice p{font-size:15px;line-height:1.6}.visitor-notice a{font-size:13px;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.facility-list{display:flex;flex-wrap:wrap;gap:10px 22px;padding:5px 0 25px}.facility-list span{font-size:13px;display:flex;align-items:center;gap:7px}.facility-list svg{width:17px;height:17px;color:var(--text-teal)}.good-to-know summary{font-size:17px;min-height:66px;font-weight:900;letter-spacing:-.015em}.good-to-know details>p{font-size:16px;margin:0 0 15px;color:var(--muted)}.good-to-know details>.source-link{margin:0 0 16px}.arrival-section{background:var(--sea);color:white;padding:72px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:100px}.arrival-section h2{font-size:67px;line-height:1.02}.arrival-section h2 span{color:#b7e5db}.arrival-section>div>p{max-width:370px;font-size:18px;margin:25px 0 27px}.arrival-details{display:flex;flex-direction:column;gap:24px;max-width:530px}.arrival-details>div+div{border-top:1px solid #6cafad;padding-top:23px}.address-row{display:flex;gap:17px}.address-row svg{width:29px;height:29px}.arrival-details h3{font-size:24px;line-height:1.15;margin-bottom:10px}.arrival-details p{font-size:16px;color:white}.arrival-section .source-link{margin:8px 0 0;color:white}.arrival-section :focus-visible{outline-color:white}.venue-closing{padding:65px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--coral);color:var(--deep)}.venue-closing h2{font-size:66px;line-height:1.04}.venue-closing p{font-size:18px;margin-top:20px}.venue-sources{padding:24px var(--gutter);background:var(--sand)}.venue-sources details{border:0}.venue-sources summary{font-size:14px;min-height:52px}.sources-content{max-width:900px;padding:20px 0 28px;font-size:14px}.sources-content h3{font-size:23px;margin:20px 0 14px}.sources-content p{color:var(--muted);margin:12px 0}.sources-content li{margin:12px 0;line-height:1.6}.sources-content a{text-decoration:underline;text-underline-offset:3px}.venue-page table{font-variant-numeric:tabular-nums}
@media(max-width:1050px){.venue-body{gap:35px}.highlights-section h2{font-size:34px}.venue-photos{grid-template-columns:1fr}.venue-photos button{height:230px}.photo-heading{flex-wrap:wrap;gap:5px}.arrival-section{gap:45px}.arrival-section h2{font-size:56px}.venue-closing h2{font-size:55px}.visit-panel{position:static}}
@media(max-width:700px){.highlights-section,.photo-section,.good-to-know{margin-top:15px}.highlights-section h2{font-size:34px}.highlights-list{margin-top:17px}.highlights-list article{gap:18px;padding:23px 0}.highlights-list svg{width:29px;height:29px}.highlights-list h3{font-size:23px}.highlights-list p{font-size:16px}.photo-heading{display:block;margin-bottom:18px}.photo-heading h2{font-size:35px}.photo-heading .text-button{margin-top:8px;font-size:14px}.venue-photos{grid-template-columns:1fr 1fr;gap:12px}.venue-photos button{height:220px}.venue-photos span{left:8px;right:8px;bottom:10px;font-size:11px;padding:7px 8px}.visitor-notice{padding:20px;gap:12px}.visitor-notice h3{font-size:21px}.visitor-notice p{font-size:15px}.facility-list{gap:12px 18px}.good-to-know summary{font-size:16px}.arrival-section{display:block;padding:50px 24px}.arrival-section h2{font-size:49px}.arrival-section>div>p{font-size:17px;margin:23px 0}.arrival-details{margin-top:38px;gap:24px}.arrival-details h3{font-size:23px}.venue-closing{display:block;padding:47px 24px}.venue-closing h2{font-size:44px}.venue-closing p{font-size:17px;margin:20px 0 25px}.venue-sources{padding:15px 24px}.venue-sources summary{font-size:13px;gap:18px}.sources-content{font-size:13px}.sources-content ul{padding-left:20px}}
/* Reading order remains intro, visit panel, then the detailed experience at every size. */
.venue-body{row-gap:65px}.venue-story{display:contents}.venue-story>section{grid-column:1}.visit-panel{grid-column:2;grid-row:1/span 4}.highlights-section,.photo-section,.good-to-know{margin-top:0}.visit-panel h2{margin-top:0}
@media(max-width:700px){.venue-body{gap:38px}.venue-story>section,.visit-panel{order:initial}.photo-heading{gap:10px}}

/* Final readability refinements, using the approved contrast variants. */
.venue-location{font-size:14px;color:#d1e6e8;margin-bottom:18px}
.venue-closing{color:#092834}
.checked{font-size:12px}
.heritage-label{font-size:12px;line-height:1.4}
@media(max-width:700px){.heritage-label{font-size:12px}.venue-photos span{font-size:12px}.gallery-dialog>#gallery-credit{font-size:12px}.venue-location{margin-bottom:16px;font-size:13px}}

/* Nick's typography refinement, 2 November 2026: retain the bold identity with clearer letter separation. */
@font-face {
  font-family: Outfit;
  src: url('assets/outfit-bold.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: Outfit;
  src: url('assets/outfit-extra-bold.ttf') format('truetype');
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}
.venue-page h1,
.venue-page h2 {
  font-weight: 800;
  letter-spacing: -0.015em;
}
.venue-page h3 {
  font-weight: 700;
  letter-spacing: 0;
}
.venue-page .button,
.venue-page .good-to-know summary,
.venue-page .winter-hours strong {
  font-weight: 700;
  letter-spacing: 0;
}
.venue-page .admission strong,
.venue-page .footer-name strong {
  font-weight: 800;
  letter-spacing: -0.01em;
}
