:root{--ink:#183553;--muted:#626966;--accent:#a5472d;--paper:#faf9f6;--line:#dddcd5;--serif:"Cormorant Garamond",Georgia,serif}
.discovery-header{text-align:center;padding:34px 20px 18px;margin-bottom:24px;border-bottom:1px solid var(--line);color:var(--ink)}
.discovery-header h1{font:400 clamp(40px,6vw,66px)/1.08 var(--serif);margin:0}
.discovery-invitation{font:italic 400 clamp(23px,3vw,29px)/1.3 var(--serif);margin:12px 0 0}
.discovery-invitation a{font-style:normal;color:inherit;text-decoration:none;border:0;white-space:nowrap}
.discovery-header nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:17px;font:400 12px/1.5 Arial,sans-serif}
.discovery-header nav a{display:inline-flex;align-items:center;min-height:44px}
.discovery-header a:hover{color:var(--accent)}
.discovery-header,footer.site-footer{background-color:#f7f7f7}
@media(min-width:901px){.windows-section .section-intro{margin-right:0}.windows-section .section-intro>p{white-space:nowrap;text-align:right}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d45735;outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:20px;top:-100px;z-index:30;padding:10px 20px;background:white}.skip-link:focus{top:10px}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:25px 4%;border-bottom:1px solid var(--line);gap:25px}.wordmark{display:inline-flex;flex-direction:column;line-height:1.05;white-space:nowrap}.wordmark-title{font:500 36px/1 var(--serif);letter-spacing:1.6px}.wordmark-subtitle{font-size:10px;font-weight:600;letter-spacing:2.55px;margin-top:8px;color:#77756f}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px}.site-header nav a:hover,.site-footer a:hover{color:var(--accent)}.header-about{border-left:1px solid var(--line);padding-left:30px}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:10px;font-weight:600;color:var(--accent);margin:0 0 16px}.opening-heading{text-align:center;padding:48px 20px 38px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(46px,5.2vw,82px)}h2{font-size:clamp(37px,3.5vw,55px)}.opening-line{font-size:12px;letter-spacing:2px;margin:17px 0 0}.opening-line span{padding:0 12px;color:#ac9485}.hero{margin:0 2%}.hero-stage{aspect-ratio:2/1;position:relative;background:#d7d9d7;overflow:hidden}.hero-stage picture,.hero-stage picture img{display:block;width:100%;height:100%;object-fit:cover}#hero-slider{position:absolute;inset:0;width:100%;height:100%!important}#hero-slider .nivo-main-image{height:100%!important;object-fit:cover}#hero-slider .nivo-slice{height:100%!important;background-size:cover!important;background-position:center!important}.hero figcaption{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;font-size:10px;color:var(--muted);letter-spacing:.4px}.hero-credit{margin-left:auto}#hero-pause{border:0;border-bottom:1px solid #aaa;background:none;color:var(--ink);font-size:11px;padding:3px}
.windows-section{margin:85px 2% 0}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:0 2% 30px}.section-intro>p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.windows{display:flex;gap:5px;min-height:520px;height:40vw;max-height:650px}.window{position:relative;isolation:isolate;flex:1 1 0;min-width:0;overflow:hidden;background:var(--ink);color:white;transition:flex-grow .7s cubic-bezier(.2,.65,.25,1)}.window>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:-2}.window:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 30%,rgba(7,19,25,.84) 100%)}.window-content{position:absolute;bottom:26px;left:18px;right:18px}.window h3{font-size:clamp(25px,2.25vw,38px)}.window-copy p{font-size:13px;line-height:1.7;max-width:310px}.window-link{display:inline-flex;gap:15px;align-items:center;font-size:12px;padding:8px 0;border-bottom:1px solid #b8bfbd;margin-top:8px}.window-toggle{position:absolute;inset:0;background:none;border:0;color:white;z-index:0;text-align:left;padding:20px;display:flex;align-items:flex-start}.window-toggle>span{font-size:12px;text-shadow:0 1px 4px #000}.window-toggle:focus-visible{outline-offset:-6px}.window-content{pointer-events:none}.window-content a{pointer-events:auto;position:relative;z-index:2}.windows.enhanced .window-copy{display:none}.windows.enhanced .window.is-open .window-copy{display:block}.windows.has-open .window{flex-grow:1}.windows.has-open .window.is-open{flex-grow:6}.windows.has-open .window:not(.is-open) h3{font-size:20px;writing-mode:vertical-rl;transform:rotate(180deg);max-height:350px}.windows.has-open .window:not(.is-open) .window-link{display:none}.windows.has-open .window.is-open h3{font-size:clamp(32px,3.5vw,54px)}.window-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:14px}.window-controls button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 14px;font-size:12px}#windows-prev,#windows-next{display:none}
.search-section{padding:105px 5%;text-align:left;max-width:1100px;margin:auto}.search-intro>p:not(.eyebrow),.search-controls>.search-note{color:var(--muted);font-size:14px}.discover-form{display:flex;max-width:690px;margin:30px 0 20px;border-bottom:1px solid var(--ink);text-align:left}.discover-form input{flex:1;min-width:0;background:transparent;border:0;padding:18px 8px;color:var(--ink);font-family:var(--serif);font-size:28px}.discover-form button{border:0;background:transparent;padding:12px;color:var(--ink);font-size:13px}.discover-form button span{margin-left:20px}.search-prompts{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:8px 22px}.search-prompts a{font-size:11px;color:var(--muted);padding:5px 0}.search-prompts a:hover{text-decoration:underline;color:var(--ink)}.search-note{font-size:11px!important;margin-top:25px}
.section-width{width:88%;max-width:1450px;margin-left:auto;margin-right:auto}.places-section{display:grid;grid-template-columns:1fr 1.35fr;align-items:center;gap:7%;padding:60px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.places-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:390px}.place-links{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin:25px 0}.place-links a{font-size:13px;border-bottom:1px solid var(--line);padding:10px 0;display:flex;justify-content:space-between;gap:8px}.place-links a:hover{color:var(--accent)}.text-link{display:inline-block;font-size:12px;padding-bottom:5px;border-bottom:1px solid #abb0ad}.text-link span{margin-left:12px}.map-preview{margin:0}.map-preview>a{display:block;position:relative}.map-preview img{width:100%;height:auto}.map-preview>a>span{display:block;padding:12px 18px;background:var(--ink);color:white;font-size:12px}.map-preview figcaption{font-size:9px;color:var(--muted);margin-top:8px}.map-preview figcaption a{text-decoration:underline}
.stories-section{padding:85px 0}.stories-section .section-intro{margin-left:0;margin-right:0}.stories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.story:first-child{grid-column:span 3;display:block}.story:first-child>a{display:grid;grid-template-columns:1.4fr 1fr;column-gap:45px;align-content:center}.story:first-child .story-image{grid-row:span 6;aspect-ratio:2/1;height:100%;object-fit:cover}.story:first-child .eyebrow{margin-top:22px}.story-image{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;margin-bottom:20px}.story h3{font-size:32px}.story p:not(.eyebrow){font-size:13px;color:var(--muted);margin:12px 0}.story .story-subtitle{color:var(--ink)!important}.story .eyebrow{margin:0 0 12px}.story .text-link{margin-top:8px}.story a:hover h3{color:var(--accent)}
.prints-section{display:grid;grid-template-columns:1.3fr 1fr;gap:7%;align-items:center;border-top:1px solid var(--line);padding:65px 0 95px}.prints-section>img{width:100%;height:auto}.prints-section p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:390px}.site-footer{padding:48px 6% 32px;text-align:center;background:#eeeee8;border-top:1px solid var(--line)}.site-footer>p{font-size:12px;color:var(--muted);margin:24px 0}.site-footer nav{display:flex;justify-content:center;gap:30px;font-size:12px}.site-footer small{display:block;margin-top:30px;font-size:10px;color:var(--muted)}
@media(min-width:901px){.windows:not(.enhanced){height:auto;min-height:560px}.windows:not(.enhanced) .window{min-height:560px}.windows:not(.enhanced) .window h3{font-size:26px}}
@media(max-width:1100px){.header-about{display:none}.windows{min-height:460px}.window-content{left:12px;right:12px}.window h3{font-size:25px}.stories-grid{gap:22px}}
@media(max-width:900px){.windows{height:auto;min-height:0;max-height:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 4% 12px;scroll-padding-left:4%;overscroll-behavior-x:contain}.windows-section{margin:55px 0 0}.window,.windows.has-open .window,.windows.has-open .window.is-open{flex:0 0 84vw;height: min(126vw,650px);scroll-snap-align:start}.window-content{bottom:30px;left:25px;right:25px}.window h3,.windows.has-open .window:not(.is-open) h3,.windows.has-open .window.is-open h3{font-size:39px;writing-mode:horizontal-tb;transform:none;max-height:none}.windows.enhanced .window-copy{display:block}.windows.has-open .window:not(.is-open) .window-link{display:inline-flex}.window-toggle{display:none}.window-controls{margin-right:4%}#windows-prev,#windows-next{display:block}#windows-reset{display:none}.section-intro{margin:0 4% 25px}.section-intro>p{display:none}.places-section{grid-template-columns:1fr;gap:30px}.places-copy>p:not(.eyebrow){max-width:580px}.map-preview{max-width:700px}.stories-grid{grid-template-columns:1fr 1fr}.story:first-child{grid-column:span 2}.story:first-child>a{display:block}.story:first-child .eyebrow{margin-top:0}.story:first-child .story-image{height:auto}.story:last-child{grid-column:span 2}.prints-section{gap:30px}}
@media(max-width:700px){.site-header{padding:20px 5%;flex-direction:column;gap:20px}.wordmark-title{font-size:34px}.wordmark-subtitle{font-size:9px;letter-spacing:2.5px}.site-header nav{gap:35px;font-size:12px}.opening-heading{padding:35px 15px 28px}.opening .eyebrow{font-size:9px;letter-spacing:1.6px}h1{font-size:48px}.opening-line{font-size:10px;letter-spacing:1px}.opening-line span{padding:0 6px}.hero{margin:0}.hero-stage{aspect-ratio:2/3}.hero figcaption{padding:10px 5%;flex-wrap:wrap;gap:5px 12px}.hero-credit{margin-left:0;order:3;width:100%}#hero-pause{margin-left:auto}.search-section{padding:65px 6%}.search-section br{display:none}.discover-form input{font-size:23px}.discover-form button span{margin-left:6px}.search-prompts{gap:3px 16px}.section-width{width:90%}.places-section{padding:45px 0}.stories-section{padding:55px 0}.stories-grid{display:block}.story{margin-bottom:35px}.story h3{font-size:34px}.prints-section{grid-template-columns:1fr;padding:30px 0 60px}.prints-section h2 br{display:none}.site-footer{padding-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.map-canvas{position:relative;overflow:hidden;background:#dfe5df}.map-canvas>img{width:100%;height:auto}.map-marker{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex;align-items:center;gap:5px;color:var(--ink);font-size:10px;font-weight:600;white-space:nowrap;text-shadow:0 1px 2px #fff}.map-marker span{display:block;width:13px;height:13px;border:3px solid #fff;border-radius:50%;background:#d45735;box-shadow:0 1px 4px #183553}.map-marker:visited span{background-color:#4b8056;border-color:#fff}.map-marker:hover,.map-marker:focus-visible{color:var(--accent);z-index:3}.map-marker:hover span,.map-marker:focus-visible span{transform:scale(1.35)}.map-cta{position:absolute;right:14px;bottom:14px;z-index:3;padding:9px 13px;background:var(--ink);color:#fff;font-size:11px}.map-cta span{margin-left:8px}.map-cta:hover{background:var(--accent)}
.intro-section{display:grid;grid-template-columns:1.05fr 1fr;gap:10%;align-items:start;padding:72px 0 30px}.intro-section h2{font-size:clamp(34px,3.2vw,52px);max-width:590px}.intro-copy{max-width:520px;padding-top:5px}.intro-copy p{color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 16px}.intro-copy .text-link{margin-top:8px}
.intro-section.section-width{max-width:1400px}
.opening-heading .eyebrow a{color:inherit;border-bottom:1px solid currentColor;padding-bottom:2px}
.opening-mobile-nav{display:none}
@media(max-width:700px){
    .site-header{display:none}
    .opening-tagline{display:none}
    .opening-mobile-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}
    .opening-mobile-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 8px;font-size:12px}
    .opening-mobile-nav span{padding:0}
    .opening-mobile-nav a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
}
@media(max-width:900px){.intro-section{grid-template-columns:1fr;gap:18px;padding:55px 0 20px}.intro-copy{padding-top:0}}

/* Six fixed portrait photographs: the image is the navigation. */
.opening-heading{padding-top:38px;padding-bottom:28px}.hero-stage{aspect-ratio:2.65/1;max-height:56vh}
.windows{align-items:stretch}
.window{transition:none!important}
.window>img{transform:scale(1);transition:transform .6s ease!important}
/* Keep the dolmen and lone tree centered within their narrow portrait cards. */
#window-3>img{object-position:36% center}
#window-4>img{object-position:80% center}
.window:hover>img,.window:focus-within>img{transform:scale(1.2)}
.window:after{background:linear-gradient(transparent 32%,rgba(7,19,25,.82) 100%)}
.window-content{pointer-events:none}
.window-link{pointer-events:auto}
.window-number{font-size:11px;letter-spacing:1px;margin:0 0 8px;color:rgba(255,255,255,.8)}
.window-description{font-size:12px;line-height:1.5;max-width:250px;margin:10px 0 0}
@media(max-width:900px){.window{flex:0 0 84vw!important}.window:hover>img,.window:focus-within>img{transform:scale(1.08)}}
/* Match the main homepage's 97% wrapper, 98% content width and 10px side padding. */
@media(max-width:700px){.hero{width:calc(95.06% - 20px);max-width:none;margin:0 auto}.hero-stage{aspect-ratio:2/3;max-height:none}.hero figcaption{padding:10px 0}.hero-stage picture img,.hero-stage .nivo-main-image{object-fit:contain!important}}
.portal-scroll-top svg{display:block;width:12px;height:17px;fill:none;stroke:#fff;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.window-hit{position:absolute;inset:0;z-index:1}.window-hit:focus-visible{outline:3px solid #fff;outline-offset:-7px}.window-content{position:absolute;z-index:2}.window-content .window-link{position:relative;z-index:3}
.portal-scroll-top{position:fixed;visibility:hidden;opacity:0;overflow:hidden;display:grid;place-items:center;z-index:20;background:rgba(21,69,107,.65);color:#fff;width:50px;height:48px;left:12px;bottom:30px;padding:0;border:0;border-radius:10px;transition:opacity .5s ease,background .25s ease,visibility .5s ease}.portal-scroll-top.show{visibility:visible;opacity:1;cursor:pointer}.portal-scroll-top:hover,.portal-scroll-top:focus-visible{background:#15456b}.portal-scroll-top svg{width:12px;height:16px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:701px){.opening-heading{padding-top:28px;padding-bottom:20px}.opening-heading h1{font-size:clamp(48px,4vw,68px)}.hero{max-width:1400px;margin-left:auto;margin-right:auto}.hero-stage{height:auto;max-height:none;aspect-ratio:2/1}.hero-stage picture img,.hero-stage .nivo-main-image{object-fit:contain!important;background:#e8e8e3}.hero figcaption{padding-top:9px;padding-bottom:9px}}

/* Compact portrait opening with a slim full-width header. */
.opening{display:grid;grid-template-columns:clamp(240px,28vw,360px) minmax(0,1fr);grid-template-areas:"heading heading" "hero intro";align-items:center;align-content:center;column-gap:clamp(32px,5vw,80px);row-gap:24px;max-width:1280px;padding-top:32px}
.opening .discovery-header{grid-area:heading;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;text-align:left;padding:0 0 20px;margin:0;border:0;border-bottom:1px solid var(--line);background:transparent;align-items:center}
.opening .discovery-header h1{font-size:clamp(38px,3.5vw,50px)}
.opening .discovery-invitation{font-size:clamp(20px,1.8vw,24px);margin:8px 0 0}
.opening .discovery-header nav{grid-column:2;grid-row:1 / 3;justify-content:flex-end;margin-top:0}
.opening .hero{grid-area:hero;width:100%;max-width:none;min-width:0;margin:0}
.opening .hero-stage{aspect-ratio:2/3;height:auto;max-height:none}
.opening .hero figcaption{flex-direction:column;align-items:flex-start;gap:4px}
.opening .hero-credit{margin-left:0}
.opening .intro-section{grid-area:intro;display:block;padding:0;min-width:0}
.opening .intro-section h2{font-size:clamp(32px,3vw,44px);max-width:none}
.opening .intro-copy{padding-top:18px;max-width:none}
.opening .intro-copy p{font-size:15px;line-height:1.8}
.windows-section{margin-top:48px}
@media(max-width:900px){.opening{grid-template-columns:1fr;grid-template-areas:"heading" "hero" "intro";gap:26px;max-width:600px;padding-top:24px}.opening .discovery-header{display:block;text-align:center}.opening .discovery-header nav{justify-content:center;margin-top:8px}.opening .hero{max-width:360px;justify-self:center}.opening .intro-section{padding:0 0 10px}}
@media(max-width:700px){.opening{width:calc(95.06% - 20px)}.opening .hero figcaption{padding:10px 0}}

/* One shared outer edge for every main section. */
#main>section{width:88%;max-width:1280px;margin-left:auto;margin-right:auto}
#main>section>.section-intro{margin-left:0;margin-right:0}
#main>.search-section{padding-left:0;padding-right:0}
@media(max-width:900px){#main>.windows-section .windows{padding-left:0;padding-right:0;scroll-padding-left:0}#main>.windows-section .window{flex-basis:94%!important}}
@media(max-width:700px){#main>section{width:90%}}

/* Two mobile portraits per page, with swipe and button navigation. */
.window-pager{display:none}
@media(max-width:900px){
#main>.windows-section .windows{gap:12px;padding-bottom:0;scrollbar-width:none}
#main>.windows-section .windows::-webkit-scrollbar{display:none}
#main>.windows-section .window{flex:0 0 calc((100% - 12px)/2)!important;height:clamp(260px,65vw,440px);scroll-snap-align:none}
#main>.windows-section .window:nth-child(odd){scroll-snap-align:start;scroll-snap-stop:always}
#main>.windows-section .window:after{background:linear-gradient(transparent 40%,rgba(7,19,25,.5) 100%)}
#main>.windows-section .window-content{left:12px;right:12px;bottom:16px;text-shadow:0 1px 3px rgba(7,19,25,.6)}
#main>.windows-section .window h3{font-size:clamp(23px,4vw,32px);overflow-wrap:break-word}
#main>.windows-section .window-description{display:none}
#main>.windows-section .window-number{margin-bottom:8px}
#main>.windows-section .window-link{font-size:12px;min-height:44px;margin-top:5px}
.window-pager{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:16px}
.window-pager button{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:24px}
.window-pager button:disabled{opacity:.35;cursor:default}
.window-pager span{font-size:12px;font-variant-numeric:tabular-nums}
}

/* Introduction and search share the desktop row. */
.search-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:7%;align-items:center}
.search-intro,.search-controls{min-width:0}
.search-intro h2{max-width:520px}
.search-controls .discover-form{max-width:none;margin:0 0 20px}
.search-controls .search-note{margin-bottom:0}
@media(max-width:900px){.search-section{grid-template-columns:1fr;gap:24px}}

/* Keep search focus on the underline rather than a surrounding box. */
.discover-form input:focus{outline:none}
.discover-form:focus-within{box-shadow:0 1px 0 var(--ink)}

/* Consistent, roomier paragraph rhythm on desktop. */
@media(min-width:901px){
.opening .intro-copy p,
.section-intro>p,
.window-description,
.search-intro>p:not(.eyebrow),
.search-note,
.places-copy>p:not(.eyebrow),
.story p:not(.eyebrow),
.prints-section p:not(.eyebrow),
.site-footer>p{line-height:2.2}
}

/* Match the header divider: 34px of space on either side of section rules. */
:root{--divider-space:34px}
.opening{row-gap:var(--divider-space)}
.opening .discovery-header{padding-bottom:var(--divider-space)}
#main>.search-section{padding-bottom:var(--divider-space)}
.search-intro>p:last-child{margin-bottom:0}
#main>.places-section,#main>.stories-section,#main>.prints-section{padding-top:var(--divider-space);padding-bottom:var(--divider-space)}
.stories-grid>.story:last-child{margin-bottom:0}
footer.site-footer{padding-top:var(--divider-space)}

/* The complete panorama stays visible above a shallow introduction. */
#main>.opening{display:block;width:100%;max-width:none;padding-top:32px}
.opening .discovery-header{width:100%;max-width:none;margin:0;padding:0 4% 32px}
.opening .intro-section{position:relative;isolation:isolate;overflow:hidden;padding:37vw max(6%,calc((100% - 1280px)/2)) 28px;min-height:0;background:var(--paper)}
.intro-panorama{position:absolute;inset:0 0 auto;width:100%;height:auto;z-index:-2}
.intro-panorama img{display:block;width:100%;height:auto}
.opening .intro-section:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30vw,rgba(250,249,246,.8) 37vw,rgba(250,249,246,.94) 45vw,var(--paper) 50vw)}
.intro-inner{width:100%;margin:0 auto}
.opening .intro-section h2{font-size:clamp(32px,3.2vw,48px);max-width:1000px}
.opening .intro-section .eyebrow{margin-bottom:12px}
.opening .intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 4%;padding-top:22px}
.opening .intro-copy p{color:#35433f;font-size:15px;line-height:1.9;margin:0}
.opening .intro-copy .text-link{grid-column:1 / -1;justify-self:start;margin-top:20px}
.intro-credit{margin:26px 0 0;color:var(--muted);font-size:10px;line-height:1.7;letter-spacing:.3px}
@media(max-width:700px){
  #main>.opening{padding-top:24px}
  .opening .discovery-header{padding:0 5% 24px}
  .opening .intro-section{padding:95vw 5% 28px}
  .opening .intro-section:before{background:linear-gradient(180deg,transparent 70vw,rgba(250,249,246,.86) 95vw,rgba(250,249,246,.96) 125vw,var(--paper) 150vw)}
  .opening .intro-copy{display:block;padding-top:20px}
  .opening .intro-copy p+p{margin-top:16px}
  .windows-section{margin-top:20px}
}

/* Keep the castle dot on its coordinates and its label inside the map. */
.map-marker[aria-label="Explore Dunguaire Castle"]{width:13px}
.map-marker[aria-label="Explore Dunguaire Castle"] b{position:absolute;right:18px}

/* Anchor the hill dots precisely, with labels below to separate nearby places. */
.map-marker[aria-label="Explore Abbey Hill"],.map-marker[aria-label="Explore Fahee North"]{width:13px}
.map-marker[aria-label="Explore Abbey Hill"] b,.map-marker[aria-label="Explore Fahee North"] b{position:absolute;top:18px;left:50%;transform:translateX(-50%)}

/* Match the shop photograph lightbox, using its shared interaction script. */
main .product-lightbox-open {display:block;width:100%;margin:0;padding:0;border:0;background:none;color:inherit;cursor:zoom-in;text-align:inherit;}
main .product-lightbox-open:focus-visible {outline:2px solid #15456b;outline-offset:4px;}
main .product-lightbox-open img {pointer-events:none;}
body:has(.product-lightbox[open]) {overflow:hidden;}
main .product-lightbox {box-sizing:border-box;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#17222b;color:#fff;overflow:hidden;}
main .product-lightbox::backdrop {background:rgba(12,20,27,.94);}
main .product-lightbox-inner {display:grid;grid-template-rows:auto minmax(0,1fr);box-sizing:border-box;width:100%;height:100%;padding:18px 22px 22px;}
main .product-lightbox-heading {display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0;padding-bottom:14px;}
main .product-lightbox-heading h2 {margin:0;color:#fff;font-size:16px;font-weight:400;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
main .product-lightbox-close {flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;font:300 32px/40px Arial,sans-serif;cursor:pointer;}
main .product-lightbox-close:hover,main .product-lightbox-close:focus-visible {border-color:#fff;background:rgba(255,255,255,.08);outline:0;}
main .product-lightbox-stage {display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;}
main .product-lightbox-stage img {display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;}
.prints-section .product-lightbox-open img{width:100%;height:auto}

/* Whole-section scroll reveals; visible without JavaScript. */
.scroll-reveal {opacity:1;transform:translateY(0);transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.2,.7,.2,1);}
.scroll-reveal.is-reveal-pending {opacity:0;transform:translateY(28px);}
@media (prefers-reduced-motion:reduce) {
    .scroll-reveal,.scroll-reveal.is-reveal-pending {opacity:1;transform:none;transition:none;}
}
@media print {
    .scroll-reveal.is-reveal-pending {opacity:1;transform:none;}
}