@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=DM+Sans:wght@300;400;500&family=Allura&family=Lora:wght@400;500;600;700&family=Cormorant+Garamond:wght@400;500;600&family=Italianno&family=Parisienne&display=swap');
:root{--ink:#17191b;--cream:#eee7dc;--muted:#bcb8b0;--line:#ffffff45}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:300}button,a{cursor:pointer}a{color:inherit;text-decoration:none}.topbar{height:82px;background:#151719;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);gap:22px;position:relative;z-index:3}.brand{min-width:235px}.signature{font-family:'Allura',cursive;font-size:39px;line-height:.9;white-space:nowrap;letter-spacing:.015em}.subbrand{font-size:10px;letter-spacing:.55em;margin:9px 0 0 30px}.nav{display:flex;align-items:center;gap:clamp(14px,3vw,38px);font-size:10px;letter-spacing:.22em;text-transform:uppercase}.nav a{opacity:.8;padding:9px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a.active{opacity:1;border-color:#fff}.nav-item{position:relative}.dropdown{display:block;position:absolute;top:100%;left:-14px;min-width:205px;background:#17191b;border:1px solid #ffffff30;padding:8px 0;box-shadow:0 12px 28px #0004;z-index:8;opacity:0;visibility:hidden;max-height:0;overflow:hidden;transform:translateY(-8px);transform-origin:top;transition:max-height .32s ease,opacity .24s ease,transform .32s ease,visibility .32s}.nav-item:hover .dropdown,.nav-item:focus-within .dropdown,.nav-item.dropdown-open .dropdown{opacity:1;visibility:visible;max-height:220px;transform:translateY(0)}.dropdown a{display:block!important;padding:12px 15px!important;border:0!important;white-space:nowrap}.dropdown a:hover{background:#ffffff12}.menu{display:none;background:none;border:1px solid #777;color:white;padding:8px 12px}.hero{min-height:330px;height:min(37vw,440px);max-height:440px;background:linear-gradient(90deg,rgba(11,14,19,.88),rgba(11,14,19,.42) 48%,rgba(11,14,19,.03)),url('../images/Irland_Hero.jpg') center 54%/cover;color:white;display:flex;align-items:center;padding:45px clamp(24px,8vw,115px)}.hero-copy{max-width:440px}.eyebrow{font-size:10px;letter-spacing:.32em;text-transform:uppercase;margin-bottom:18px}.hero h1{font:400 clamp(38px,4.5vw,58px)/.98 'Italianno',cursive;letter-spacing:.015em;text-transform:none;margin:0 0 18px}.rule{width:40px;height:1px;background:currentColor;margin:20px 0}.hero p{font-size:12px;line-height:1.9;letter-spacing:.05em;max-width:330px}.outline{display:inline-flex;gap:24px;align-items:center;border:1px solid currentColor;padding:12px 17px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;margin-top:12px;background:transparent;color:inherit}.outline:hover{background:#fff;color:#161719}.section{padding:48px clamp(20px,4.3vw,62px)}.section-head{text-align:center;margin-bottom:27px}.section-head .eyebrow{color:#777;margin-bottom:8px}.section-head h2{font:400 27px 'Lora',serif;letter-spacing:.22em;text-transform:uppercase;margin:0}.center-rule{height:1px;width:42px;background:#777;margin:14px auto}.categories{display:grid;grid-template-columns:1fr 1fr;gap:18px}.category{height:290px;position:relative;overflow:hidden;color:white;background:#202326}.category img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.category:hover img{transform:scale(1.04)}.category:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#08090bd9,transparent 65%)}.cat-copy{position:absolute;z-index:1;bottom:20px;left:clamp(16px,3vw,40px);right:20px}.cat-copy h3{font:400 23px/1.15 'Lora',serif;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}.cat-copy p{font-size:11px;line-height:1.7;max-width:290px;margin:0}.cat-copy .outline{margin-top:12px;padding:9px 13px}.about{background:#e6dccd;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;padding:58px clamp(24px,9vw,125px)}.about h2{font:400 48px 'Allura',cursive;margin:4px 0 15px}.about p{font:400 14px/1.9 'Lora',serif;max-width:430px}.about-photo{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.about-photo img{width:100%;height:240px;object-fit:cover}.about-photo img:first-child{margin-top:34px}.quote{background:linear-gradient(#0b1119a6,#0b1119a6),url('../images/Zitat-PC.jpg') center 45%/cover;color:#fff;text-align:center;padding:38px 20px}.quote p{font:400 30px 'Parisienne',cursive;margin:0}.thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.thumbs img{width:100%;height:115px;object-fit:cover;cursor:pointer;transition:opacity .2s}.thumbs img:hover{opacity:.75}footer{background:#17191b;color:#eee;padding:24px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:28px;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.footer-brand .signature{font-size:30px;text-transform:none;letter-spacing:.015em}.footer-brand .subbrand{font-size:7px;margin-top:5px}.page{display:none;min-height:65vh}.page.active{display:block}.page-intro{background:#191c20;color:#fff;text-align:center;padding:45px 20px 36px}.page-intro h1{font:400 36px 'Lora',serif;letter-spacing:.17em;text-transform:uppercase;margin:0 0 12px}.page-intro p{font-size:12px;line-height:1.8;color:#ddd}.gallery{padding:30px clamp(18px,4vw,58px) 55px}.gallery-grid{columns:3 230px;column-gap:12px}.gallery-grid img{width:100%;display:block;margin:0 0 12px;break-inside:avoid;cursor:zoom-in}.gallery-grid img:hover{filter:brightness(.9)}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin:28px 0 0}.page-btn{background:transparent;border:1px solid #c9c1b6;color:#292929;padding:9px 13px;font:11px 'DM Sans',sans-serif}.page-btn.active,.page-btn:hover{background:#1b1d1f;color:#fff;border-color:#1b1d1f}.page-btn:disabled{opacity:.35;cursor:default}.photo-detail{display:none;position:fixed;inset:0;z-index:20;background:#101113eF;align-items:center;justify-content:center;padding:24px;overflow:auto}.photo-detail.open{display:flex}.detail-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);width:min(1080px,96vw);max-height:90vh;background:#eee7dc;overflow:auto;position:relative}.detail-panel>img{width:100%;height:100%;max-height:90vh;object-fit:contain;background:#101113}.detail-copy{padding:48px 28px 34px;position:relative}.detail-copy h2{font:400 32px 'Lora',serif;margin:7px 0 12px}.detail-copy p{font-size:13px;line-height:1.8}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.detail-meta div{border-top:1px solid #d4cdc3;padding-top:9px}.detail-meta small{display:block;text-transform:uppercase;letter-spacing:.12em;color:#777;font-size:9px;margin-bottom:5px}.detail-meta span{font-size:12px}.detail-close{position:absolute;top:14px;right:14px;z-index:3;border:1px solid #ffffffc9;background:#17191be8;color:#fff;font:300 22px/1 'DM Sans',sans-serif;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px #0005;transition:background .2s,transform .2s}.detail-close:hover{background:#fff;color:#17191b;transform:scale(1.06)}.back-top{position:fixed;right:22px;bottom:24px;z-index:6;width:43px;height:43px;border:1px solid #ffffff80;background:#191c20;color:#fff;font-size:20px;box-shadow:0 4px 16px #0003;display:none;border-radius:50%;cursor:pointer}.back-top.visible{display:block}.contact-wrap{max-width:720px;margin:auto;padding:45px 24px 65px}.contact-wrap h2{font:400 28px 'Lora',serif;letter-spacing:.12em}.contact-wrap p{font-size:13px;line-height:1.9}.contact-form{display:grid;gap:12px;margin-top:25px}.contact-form input,.contact-form textarea{padding:13px;border:1px solid #c7c1b8;background:#f5efe5;font:12px 'DM Sans',sans-serif}.contact-form textarea{min-height:120px;resize:vertical}.note{font-size:10px;color:#6e6a64;margin-top:12px}.about-page{max-width:1000px;margin:auto;padding:45px 28px 65px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.about-page img{width:100%;height:380px;object-fit:cover}.about-page h2{font:400 48px 'Allura',cursive;margin:0 0 10px}.about-page p{font:400 15px/1.9 'Lora',serif}.story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.story-card{background:#f7f1e7;padding:20px;border:1px solid #ddd1c1}.story-card h3{font:400 23px/1.2 "Lora",serif;margin:0 0 8px}.story-card p{font-size:12px;line-height:1.8;margin:8px 0}.meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.meta span{border:1px solid #d8d1c7;padding:6px 8px;font-size:10px;color:#555}.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.equipment-card{background:#f7f1e7;border:1px solid #e0d5c7}.equipment-card img{width:100%;height:230px;object-fit:cover}.equipment-card div{padding:20px}.equipment-card h2{font:400 25px "Lora",serif;margin:0 0 10px}.equipment-card p,.equipment-card li{font-size:12px;line-height:1.8}.equipment-card ul{padding-left:18px}.small-label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#777}.lightbox{display:none;position:fixed;inset:0;background:#000e;z-index:10;align-items:center;justify-content:center;padding:25px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}.close{position:absolute;right:25px;top:15px;color:white;font-size:32px;background:none;border:0}.mobile-nav{display:none}
@media(max-width:700px){.detail-close{top:12px;left:auto;right:12px}.detail-panel{grid-template-columns:1fr;max-height:92vh}.detail-panel>img{height:auto;max-height:48vh}.detail-copy{padding:24px 20px}.nav-item{width:100%}.dropdown{position:static;box-shadow:none;margin:0 0 8px 10px;min-width:0}.topbar{height:auto;min-height:75px;padding:15px 18px;flex-wrap:wrap}.signature{font-size:31px}.brand{min-width:0}.menu{display:block}.nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding:8px 0 12px;gap:12px}.nav.open{display:flex}.hero{height:360px;min-height:0;background-position:58% center;padding:35px 24px}.hero h1{font-size:32px}.categories{grid-template-columns:1fr}.category{height:270px}.section{padding:38px 18px}.about,.about-page{grid-template-columns:1fr;gap:20px;padding:38px 24px}.about-photo img{height:180px}.thumbs{grid-template-columns:repeat(3,1fr)}.thumbs img{height:90px}.thumbs img:nth-child(n+4){display:none}footer{flex-wrap:wrap;justify-content:center;text-align:center}.footer-nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap;justify-content:center}.page-intro h1{font-size:29px}}
header,.site-header,.topbar,.navbar{position:sticky;top:0;z-index:1000}

/* Photo detail headings use Cormorant Garamond for a more editorial look. */
.detail-title,.detail-copy h2,.image-detail h2,.modal-title,.photo-title{font-family:'Cormorant Garamond',serif!important}
img,.hero,.quote,.welcome-screen{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}


.topbar{position:sticky;top:0;z-index:1000}

.detail-image-wrap{display:flex;flex-direction:column;min-width:0;background:#111}
.detail-image-wrap #detailImage{display:block;width:100%;height:100%;min-height:220px;max-height:72vh;object-fit:contain;background:#111}
.detail-image-nav{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:12px;padding:9px 14px;background:#17191b;color:#fff;border-top:1px solid #ffffff20}
.detail-image-nav button{width:36px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffffff50;background:transparent;color:#fff;font:400 22px/1 'DM Sans',sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
.detail-image-nav button:hover{background:#ffffff18;border-color:#fff}
.detail-image-nav button[hidden]{display:none!important}
#prevDetailImage{grid-column:1}#nextDetailImage{grid-column:3}
#detailImageCount{grid-column:2;justify-self:center;text-align:center;font-size:10px;letter-spacing:.16em;color:#c8c2b9}
@media(max-width:700px){.detail-image-wrap #detailImage{max-height:48vh}.detail-image-nav{padding:8px 12px}}


/* Gallery thumbnails: consistent rows, full image visible, subtle zoom cue on hover. */
.gallery-grid,.paginated-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;align-items:stretch;gap:14px}
.gallery-grid img,.paginated-grid img{
  display:block;width:100%;height:clamp(180px,22vw,290px);
  object-fit:contain;object-position:center;background:#e5ddd1;
  padding:5px;cursor:zoom-in;transition:background .25s,filter .25s;
}
.gallery-grid img:hover,.paginated-grid img:hover{filter:brightness(.96);background:#d8cfc2}
.gallery-grid img:focus-visible,.paginated-grid img:focus-visible{outline:2px solid #eee7dc;outline-offset:3px}
@media(hover:hover){
  .gallery-grid img:hover,.paginated-grid img:hover{box-shadow:0 0 0 1px #ffffff35}
}
@media(max-width:850px){.gallery-grid,.paginated-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.gallery-grid,.paginated-grid{grid-template-columns:1fr}.gallery-grid img,.paginated-grid img{height:clamp(220px,70vw,360px);object-fit:contain}}


/* Welcome screen */
.welcome-screen{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(115deg,rgba(12,14,17,.94),rgba(28,30,32,.88)),url('../images/Irland_Hero.jpg') center/cover;opacity:1;visibility:visible;transition:opacity .85s ease,visibility .85s ease}
.welcome-screen.leaving{opacity:0;visibility:hidden;pointer-events:none}
.welcome-inner{padding:28px;max-width:700px;animation:welcomeRise 1.1s ease both}
.welcome-mark{font:400 clamp(42px,7vw,76px)/1 'Allura',cursive;margin-bottom:8px;animation:welcomeRise 1.2s .12s ease both}
.welcome-submark{font-size:10px;letter-spacing:.48em;margin:0 0 38px}
.welcome-copy{font:400 clamp(25px,4vw,36px) 'Lora',serif;letter-spacing:.04em;margin:0 0 15px}
.welcome-note{font-size:11px;letter-spacing:.08em;line-height:1.8;color:#e2ded8;margin:0 auto 24px}
.welcome-enter{border:1px solid #ffffffa6;color:#fff;background:transparent;padding:13px 20px;font:10px 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;transition:background .25s,color .25s}
.welcome-enter:hover{background:#eee7dc;color:#17191b}
@keyframes welcomeRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.category-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 24px}
.filter-btn{border:1px solid #c9c1b6;background:transparent;color:#292929;padding:9px 15px;font:10px 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:all .2s}
.filter-btn:hover,.filter-btn.active{background:#1b1d1f;color:#fff;border-color:#1b1d1f}
.gallery-shop-note{max-width:980px;margin:0 auto 26px;padding:20px 28px;text-align:center;background:#e6dccd;border-top:1px solid #d3c7b8;border-bottom:1px solid #d3c7b8;color:#242424}
.gallery-shop-note p{margin:0;font:400 12px/1.75 'Lora',serif}
.gallery-shop-note .gallery-shop-title{margin-bottom:5px;font-size:17px}
@media(max-width:520px){.gallery-shop-note{margin:0 0 22px;padding:17px 16px}.gallery-shop-note .gallery-shop-title{font-size:16px}.gallery-shop-note p{font-size:11px}}
.crop-tiles{display:flex;justify-content:center;gap:8px;padding:12px 12px 10px;background:#17191b;border-top:1px solid #ffffff20}
.crop-tile{width:54px;height:54px;padding:0;border:1px solid #ffffff55;background:#252729;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s}
.crop-tile:hover,.crop-tile.active{border:2px solid #eee7dc;transform:translateY(-2px)}
.crop-tile img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.8)}
.crop-tile:nth-child(1) img{object-position:25% 28%}
.crop-tile:nth-child(2) img{object-position:72% 32%;transform:scale(2.1)}
.crop-tile:nth-child(3) img{object-position:50% 76%;transform:scale(2.0)}
.detail-image-wrap{position:relative}
.detail-image-wrap.crop-active #detailImage{filter:brightness(.95);transform:scale(1.02)}
.detail-image-wrap #detailImage{transition:transform .25s,filter .25s}
.crop-back{position:absolute;top:14px;left:14px;z-index:4;display:none;align-items:center;gap:8px;border:1px solid #ffffff85;background:#17191be8;color:#fff;padding:10px 13px;font:10px 'DM Sans',sans-serif;letter-spacing:.1em}
.crop-back.visible{display:flex}
@media(max-width:700px){.welcome-submark{margin-bottom:28px}.crop-tile{width:48px;height:48px}.crop-tiles{gap:6px}.filter-btn{padding:8px 11px}}
.crop-tiles.cirrus-real-tiles{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:12px;background:#17191b}
.crop-tiles.cirrus-real-tiles .crop-tile{width:100%;height:auto;padding:3px;overflow:hidden;transform:none;background:#222629}
.crop-tiles.cirrus-real-tiles .crop-tile img{width:100%;height:clamp(68px,9vw,110px);object-fit:cover;transform:none!important}
.crop-tiles.cirrus-real-tiles .crop-tile:hover,.crop-tiles.cirrus-real-tiles .crop-tile.active{transform:translateY(-2px)}
.crop-caption{display:block;color:#eee7dc;padding:5px 2px 3px;font:9px 'DM Sans',sans-serif;letter-spacing:.08em;text-align:center}
/* Keep the photo detail window fixed while Cirrus images switch in the left pane. */
.detail-panel{height:min(760px,90vh);max-height:90vh;overflow:hidden}
.detail-image-wrap{height:100%;min-height:0;overflow:hidden}
.detail-image-wrap #detailImage{flex:1 1 auto;width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}
.detail-copy{min-height:0;overflow-y:auto}
.crop-tiles.cirrus-real-tiles{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.crop-tiles.cirrus-real-tiles .crop-tile img{height:clamp(60px,7vw,88px)}
@media(max-width:700px){.detail-panel{height:92vh;max-height:92vh;grid-template-rows:minmax(0,1fr) auto}.detail-image-wrap #detailImage{height:auto;max-height:none}.detail-copy{max-height:32vh;overflow-y:auto}.crop-tiles.cirrus-real-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.crop-tiles.cirrus-real-tiles .crop-tile img{height:clamp(48px,17vw,76px)}}
/* Cirrus crop locator: map and tiles stay anchored to the fixed photo stage. */
.detail-photo-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:0;overflow:hidden;background:#111}
.detail-photo-stage #detailImage{display:block;width:100%;height:100%;min-height:0;max-height:none;object-fit:contain}
.detail-zoom-hint{display:none}
.cirrus-map{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.region-marker{opacity:1;transition:opacity .2s}
.region-marker rect{fill:#fff;fill-opacity:.22;stroke:#fff;stroke-width:10}
.region-marker circle,.region-marker text{display:none}
.region-marker.selected{opacity:1}.region-marker.selected rect{fill-opacity:.22;stroke-width:14}
.cirrus-locator .region-marker:not(.selected){display:none}
.cirrus-locator{position:absolute;top:12px;right:12px;width:clamp(110px,24%,190px);aspect-ratio:3000/1745;overflow:hidden;border:1px solid #ffffffc0;box-shadow:0 4px 18px #0008;background:#111}
.cirrus-locator[hidden],.cirrus-map[hidden]{display:none!important}
.cirrus-locator>img{display:block;width:100%;height:100%;object-fit:contain}
.crop-tiles.cirrus-real-tiles .crop-tile{position:relative}
.tile-index{position:absolute;top:5px;left:5px;min-width:24px;height:24px;padding:0 5px;display:flex;align-items:center;justify-content:center;border:1px solid #fff;background:#17191be8;color:#fff;border-radius:20px;font:600 10px 'DM Sans',sans-serif;letter-spacing:.04em}
.crop-tiles.cirrus-real-tiles .crop-tile.active .tile-index{background:#eee7dc;color:#17191b;border-color:#17191b}
@media(max-width:700px){.crop-tiles.cirrus-real-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.crop-tiles.cirrus-real-tiles .crop-tile img{height:clamp(54px,15vw,78px)}.cirrus-locator{top:8px;right:8px;width:clamp(90px,28%,132px)}}.crop-tiles.cirrus-real-tiles .crop-tile:nth-child(2).active{border-color:#8be0ff;box-shadow:0 0 0 1px #8be0ff}
.crop-tiles.cirrus-real-tiles .crop-tile:nth-child(3).active{border-color:#ffcf70;box-shadow:0 0 0 1px #ffcf70}
.crop-tiles.cirrus-real-tiles .crop-tile:nth-child(4).active{border-color:#ff8da4;box-shadow:0 0 0 1px #ff8da4}
.crop-tiles.cirrus-real-tiles .crop-tile:nth-child(2) .tile-index{background:#8be0ff;color:#17191b}
.crop-tiles.cirrus-real-tiles .crop-tile:nth-child(3) .tile-index{background:#ffcf70;color:#17191b}
.crop-tiles.cirrus-real-tiles .crop-tile:nth-child(4) .tile-index{background:#ff8da4;color:#17191b}
.cirrus-locator::after{content:none}

/* Mobile-only refinements for navigation, gallery cards, and photo dialogs. */
@media(max-width:700px){
  .nav{gap:5px}
  .nav-item{display:flex;flex-direction:column;align-items:flex-start;gap:0}
  .nav-item>.dropdown{display:block;position:static;visibility:visible;opacity:1;max-height:none;overflow:visible;transform:none;margin:0 0 2px 12px;padding:0;border:0;background:transparent;box-shadow:none}
  .nav-item>.dropdown a{padding:7px 0!important;font-size:9px;letter-spacing:.16em;opacity:.72}
  .category{height:250px}
  .cat-copy h3{font-size:clamp(15px,4.3vw,19px);line-height:1.18;letter-spacing:.045em;overflow-wrap:anywhere}
  .page-intro h1{font-size:clamp(22px,7vw,29px);line-height:1.15;letter-spacing:.045em;overflow-wrap:anywhere}
  .photo-detail{padding:8px;overflow:hidden;align-items:center}
  .photo-detail .detail-panel{width:100%;height:92dvh;max-height:92dvh;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
  .photo-detail .detail-image-wrap{height:auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .photo-detail .detail-photo-stage{flex:1 1 auto;min-height:0}
  .photo-detail .detail-photo-stage #detailImage{width:100%;height:100%;min-height:0;max-height:none;object-fit:contain}
  .photo-detail .detail-copy{max-height:29dvh;overflow-y:auto;padding:18px 18px 20px}
  .photo-detail .detail-close{position:fixed;top:calc(env(safe-area-inset-top, 0px) + 104px);right:12px;width:38px;height:38px;font-size:20px;z-index:30}
  .photo-detail .detail-photo-stage:has(.cirrus-locator:not([hidden])){flex-direction:column}
  .photo-detail .cirrus-locator:not([hidden]){position:relative;inset:auto;order:-1;flex:none;width:clamp(110px,34vw,150px);margin:48px auto 8px;z-index:2}
  .photo-detail .detail-photo-stage:has(.cirrus-locator:not([hidden])) #detailImage{flex:1 1 auto;height:0}
  .photo-detail:has(.cirrus-real-tiles) .detail-photo-stage{padding-top:72px}
  .photo-detail:has(.cirrus-real-tiles) .cirrus-locator:not([hidden]){margin-top:8px}
  .lightbox .close{top:44px;right:12px;font-size:27px;line-height:1;width:36px;height:36px}
}

@media(max-width:700px){
  .page#landschaft .page-intro h1{font-size:clamp(17px,5.3vw,22px);letter-spacing:0;white-space:nowrap}
  .hero h1{font-size:29px}
  .section-head h2{font-size:23px;letter-spacing:.12em}
  .about h2,.about-page h2{font-size:42px}
  .quote p{font-size:26px}
  .page-intro p{font-size:11px}
  .photo-detail .detail-copy h2{font-size:28px;line-height:1.15}
  .photo-detail .detail-copy p{font-size:12px}
  .equipment-grid{grid-template-columns:minmax(0,1fr)}
}

/* The supplied nebula detail files are 500x500px; never upscale them. */
#photoDetail .detail-photo-stage #detailImage.native-size-detail{width:auto;height:auto;flex:0 1 auto;max-width:min(100%,500px);max-height:min(100%,500px);object-fit:contain}

.category picture{position:absolute;inset:0;display:block}
.category picture img{display:block}





/* Supplied home photography with responsive desktop and mobile crops. */
.about-photo picture{display:block;width:100%;min-width:0}
.about-photo picture img{display:block;width:100%}
.thumbs picture{display:block;width:100%;min-width:0}
.thumbs img{display:block;width:100%}
@media(max-width:700px){.quote{background-image:linear-gradient(#0b1119a6,#0b1119a6),url('../images/Zitat-Handy.jpg');background-position:center;background-size:cover}.thumbs picture:nth-child(n+4){display:none}.thumbs img:nth-child(n+4){display:block}}

.about-photo picture:first-child{margin-top:34px}
@media(max-width:700px){.about-photo picture:first-child{margin-top:0}}

.detail-meta-heading{font:500 11px 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;margin:22px 0 0;color:#333}.detail-meta-group{grid-column:1/-1;border-top:0;border-bottom:1px solid #d4cdc3;padding:12px 0 4px;font:500 10px 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#555}.detail-meta[hidden],.detail-meta-heading[hidden]{display:none!important}

.equipment-card img.telescope-crop{object-position:center 28%}


/* Gallery image interaction hints on touch devices */
.gallery-image-wrap{position:relative;min-width:0;break-inside:avoid}
.gallery-image-wrap>img{margin:0;-webkit-user-drag:none;-webkit-touch-callout:none}
.gallery-tap-hint{display:none}
@media(hover:none) and (pointer:coarse){
  .gallery-tap-hint{display:flex;position:absolute;right:12px;bottom:12px;z-index:2;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid #ffffff99;border-radius:50%;background:#17191b99;color:#fff;box-shadow:0 2px 8px #0004;backdrop-filter:blur(4px);pointer-events:none}
  .gallery-tap-hint svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
}

/* Mobile nebula detail view: compare the marked overview with the square detail. */
@media(max-width:700px){
  .photo-detail:has(.cirrus-real-tiles) .detail-photo-stage{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:10px;
    flex:0 0 auto;height:auto;min-height:0;padding:58px 12px 12px;
  }
  .photo-detail:has(.cirrus-real-tiles) .cirrus-locator:not([hidden]){
    position:relative;inset:auto;grid-column:1;order:0;width:100%;max-width:none;margin:0;align-self:center;
  }
  #photoDetail:has(.cirrus-real-tiles) .detail-photo-stage #detailImage.native-size-detail{
    grid-column:2;width:100%;height:auto;aspect-ratio:1;flex:none;max-width:100%;max-height:min(42vw,230px);object-fit:contain;
  }
  .photo-detail:has(.cirrus-real-tiles) .crop-tiles.cirrus-real-tiles{
    grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:7px;padding:9px 12px;
  }
  .photo-detail:has(.cirrus-real-tiles) .crop-tiles.cirrus-real-tiles .crop-tile{
    width:100%;height:auto;min-width:0;aspect-ratio:1;padding:3px;display:grid;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;
  }
  .photo-detail:has(.cirrus-real-tiles) .crop-tiles.cirrus-real-tiles .crop-tile img{
    width:100%;height:100%;min-height:0;aspect-ratio:1;object-fit:cover;
  }
  .photo-detail:has(.cirrus-real-tiles) .crop-caption{padding:3px 0 1px;font-size:8px;letter-spacing:.04em;white-space:nowrap}
}

/* Use the blank lower part of the mobile panel for the overview thumbnails. */
@media(max-width:700px){
  #detailImageWrap.overview-selected .detail-photo-stage{flex:1 1 auto;height:auto;min-height:0;grid-template-columns:minmax(0,1fr);align-content:center;padding:48px 12px 8px}
  #detailImageWrap.overview-selected .detail-photo-stage #detailImage{grid-column:1;width:100%;height:auto;min-height:0;max-width:100%;max-height:min(48dvh,360px);object-fit:contain}
  #detailImageWrap.overview-selected .crop-tiles.cirrus-real-tiles{order:1}
  #detailImageWrap.overview-selected .detail-image-nav{order:2}
}

/* Keep a selected square astro detail, its marked overview, and navigation above the copy. */
@media(max-width:700px){
  #detailImageWrap.detail-selected{height:100%;min-height:0}
  #detailImageWrap.detail-selected .detail-photo-stage{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);align-items:start;align-content:center;gap:10px;
    flex:1 1 auto;height:auto;min-height:0;padding:58px 12px 8px;overflow:hidden;
  }
  #detailImageWrap.detail-selected .cirrus-locator:not([hidden]){
    position:relative;inset:auto;grid-column:1;grid-row:1;order:0;width:100%;max-width:none;margin:0;align-self:start;
  }
  #detailImageWrap.detail-selected .detail-photo-stage #detailImage.native-size-detail{
    grid-column:2;grid-row:1;width:100%;height:auto;aspect-ratio:1;flex:none;max-width:100%;max-height:min(42vw,230px);object-fit:contain;align-self:start;justify-self:stretch;
  }
}

/* Tap a selected square detail again to inspect it at a larger size on mobile. */
@media(max-width:700px){
  #photoDetail .detail-zoom-hint{display:none}
  #photoDetail:not(.detail-zoomed) .detail-zoom-hint{display:block;position:absolute;z-index:5;right:12px;bottom:12px;width:36px;height:36px;padding:0;border:1px solid #ffffffa8;border-radius:50%;background-color:#17191bbd;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='10.8' cy='10.8' r='6.2'/%3E%3Cpath d='m15.4 15.4 4.2 4.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:16px;box-shadow:0 2px 8px #0005;cursor:zoom-in}
  #photoDetail.detail-zoomed .detail-panel{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:92dvh;max-height:92dvh}
  #photoDetail.detail-zoomed .detail-copy,
  #photoDetail.detail-zoomed .cirrus-locator,
  #photoDetail.detail-zoomed .crop-tiles,
  #photoDetail.detail-zoomed .detail-image-nav{display:none!important}
  #photoDetail.detail-zoomed .detail-image-wrap{height:100%;min-height:0;overflow:hidden;background:#111}
  #photoDetail.detail-zoomed .detail-photo-stage{display:flex;width:100%;height:100%;min-height:0;flex:1 1 auto;padding:54px 12px 12px;background:#111}
  #photoDetail.detail-zoomed .detail-photo-stage #detailImage{width:auto;height:auto;min-height:0;max-width:92vw;max-height:78dvh;aspect-ratio:auto;flex:none;object-fit:contain;transform-origin:center center;touch-action:none;user-select:none;-webkit-user-select:none;cursor:zoom-in}
  #photoDetail.detail-zoomed .crop-back{display:none!important}
  #photoDetail.detail-zoomed .detail-close{z-index:60}
}

@media(min-width:701px){
  #photoDetail.open #detailImageWrap.desktop-overall-zoomable .detail-zoom-hint{display:block;position:absolute;z-index:5;right:16px;bottom:16px;width:38px;height:38px;padding:0;border:1px solid #ffffffa8;border-radius:50%;background-color:#17191bbd;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='10.8' cy='10.8' r='6.2'/%3E%3Cpath d='m15.4 15.4 4.2 4.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:17px;box-shadow:0 2px 8px #0005;cursor:zoom-in}
  #photoDetail.desktop-zoomed{padding:0;background:#101113}
  #photoDetail.desktop-zoomed .detail-panel{display:block;width:100vw;height:100vh;max-height:100vh;overflow:hidden;background:#101113}
  #photoDetail.desktop-zoomed .detail-copy,
  #photoDetail.desktop-zoomed .crop-tiles,
  #photoDetail.desktop-zoomed .detail-image-nav,
  #photoDetail.desktop-zoomed .crop-back,
  #photoDetail.desktop-zoomed .cirrus-locator,
  #photoDetail.desktop-zoomed .detail-zoom-hint{display:none!important}
  #photoDetail.desktop-zoomed .detail-image-wrap{position:relative;display:flex;width:100%;height:100%;min-height:0;overflow:hidden;background:#101113}
  #photoDetail.desktop-zoomed .detail-photo-stage{display:flex;width:100%;height:100%;min-height:0;flex:1 1 auto;padding:54px 24px 24px;background:#101113}
  #photoDetail.desktop-zoomed .detail-photo-stage #detailImage{width:auto;height:auto;min-height:0;max-width:94vw;max-height:88vh;aspect-ratio:auto;flex:none;object-fit:contain;cursor:zoom-out}
  #photoDetail.desktop-zoomed>.detail-close{position:fixed;top:22px;right:22px;left:auto;z-index:1000;width:46px;height:46px;border:1px solid #ffffffd0;background:#17191be8;color:#fff;font-size:24px;display:flex;visibility:visible;opacity:1;pointer-events:auto}
}
