/* Shared Hilltop page rhythm: warm horizon, cool shadows, crisp silver text. */
body{background:#080b0e;color:#f5f7fa}
body:not(.landing) .site-header .logo img{opacity:1;filter:none;mix-blend-mode:normal}
.inner-page .site-header .logo:after{content:none}
.inner-page .header-book{position:absolute;right:6%;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:96px;min-height:42px;padding:10px 16px;font-size:.9rem;line-height:1.2}
.inner-page .header-book:active{transform:translateY(calc(-50% + 2px))}
@media(min-width:901px){.inner-page .site-header nav{position:absolute;left:calc(100% - 6% - 148px);top:50%;transform:translate(-100%,-50%);width:320px;justify-content:space-evenly;gap:24px}.inner-page .site-header nav>a{flex-shrink:0;white-space:nowrap}}
.inner-page main{min-height:70svh}
.inner-page .page-intro,.inner-page .service-detail-intro{position:relative;isolation:isolate;overflow:hidden;background:#101b25;padding:155px 6% 72px;border:0}
.inner-page .page-intro:before,.inner-page .service-detail-intro:before{content:'';position:absolute;inset:-20% 0;z-index:-2;background:linear-gradient(180deg,#111f2be6 5%,#85502c66 40%,#0a486175 72%,#080b0ef5 96%),url('assets/ararat-original.jpg') center 48%/cover;filter:none;opacity:1;transform:translate3d(0,var(--mountain-offset,0px),0);pointer-events:none}
.inner-page .page-intro:after,.inner-page .service-detail-intro:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#080b0e20,#080b0e70 55%,#080b0e);pointer-events:none}
.inner-page .page-intro{text-align:center}
.inner-page .page-intro>.eyebrow{justify-content:center}
.inner-page .page-intro h1{margin:20px auto;max-width:980px;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.08}
.inner-page .page-intro>p{margin:0 auto;max-width:700px;color:#edf1f5;font-size:1.08rem;line-height:1.7}
.inner-page .page-intro h1 span,.inner-page h2 em{color:#91d6ff}
.inner-page .section-links{justify-content:center;margin-top:26px}
.inner-page .service-detail-intro{gap:6%;align-items:center}
.inner-page .service-detail-intro h1{font-size:clamp(2.5rem,4.2vw,4.2rem);margin:20px 0}
.inner-page .service-detail-intro p{color:#edf1f5;max-width:640px}
.inner-page .detail-photo{height:360px;filter:saturate(.85);border:1px solid #56708266;border-radius:6px;box-shadow:0 20px 50px #0004}
.inner-page .back-link{display:block;width:max-content;margin-bottom:20px;color:#a5dfff}
.inner-page .service-categories{background:#0d151d;border-color:#2a414f;padding:16px 6%;gap:10px 28px;flex-wrap:wrap}
.inner-page .service-categories a{color:#dce6ee}
.inner-page .service-categories a[aria-current=page]{color:#ffab7c;border-color:#ff854d}
.inner-page .section:not(.page-intro):not(.service-detail-intro):not(.booking){padding-top:68px;padding-bottom:68px;border-color:#253744}
.inner-page .services-directory,.inner-page .service-options,.inner-page .about-story,.inner-page .catalog-section,.inner-page main>section:not([class]){background:#080b0e}
.inner-page .catalog-card,.inner-page .team-card{background:#101922;border-color:#304553;border-radius:6px}
.inner-page .service-category-card{border-color:#304553;border-radius:6px}
.inner-page .category-copy h2,.inner-page .catalog-body h3,.inner-page .team-card h3{color:#fff;letter-spacing:-.025em}
.inner-page .catalog-body p,.inner-page .catalog-body li,.inner-page .category-copy p,.inner-page .story-columns p,.inner-page .team-card p,.inner-page .three-columns p,.inner-page .options-heading p{color:#d4dfe7}
.inner-page .mission-panel,.inner-page .listening,.inner-page .team-section{background:#101a23}
.inner-page .service-help,.inner-page .about-cta{background:#101a23}
.inner-page .service-help:before,.inner-page .about-cta:before{background:linear-gradient(90deg,#101a23e8,#101a23dd),url('assets/ararat-original.jpg') center 60%/cover;filter:none;opacity:1}
.inner-page .booking{position:relative;isolation:isolate;background:radial-gradient(ellipse at 10% 10%,#523a2a66,transparent 45%),linear-gradient(140deg,#172c3b,#080b0e 65%);padding:155px 6% 72px;gap:6%;align-items:start}
.inner-page .booking h1{font-size:clamp(2.6rem,4.5vw,4.5rem);line-height:1.08;margin:20px 0 26px}
.inner-page .booking-intro p,.inner-page .form-hint,.inner-page .small-note{color:#dbe5ec}
.inner-page .booking .form-panel{background:#111d28;border-color:#3e596a;border-top:2px solid #56caff;border-radius:6px;padding:36px}
.inner-page .booking input:not([type=checkbox]),.inner-page .booking select,.inner-page .booking textarea{background:#09121b;color:#fff;border-color:#607b8d}
.inner-page .booking-note{border-color:#ff854d}
.button,.form-panel .button,.booking .form-panel .button,.contact .button,button{justify-content:center;align-items:center;text-align:center}
.site-header nav>a[aria-current=page]{color:#91d6ff}
main,footer{animation:page-arrive .5s cubic-bezier(.22,.61,.36,1) both;transition:opacity .18s ease}
.page-leaving main,.page-leaving footer{opacity:0;animation:none;pointer-events:none}
.reveal.is-ready{transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
.reveal.is-visible{transform:none}
@keyframes page-arrive{from{opacity:0}to{opacity:1}}
@media(max-width:900px){
 .inner-page .header-book{right:calc(5% + 110px);min-width:76px;padding:10px 12px}
 .inner-page .page-intro,.inner-page .service-detail-intro,.inner-page .booking{padding-top:130px;padding-bottom:48px}
 .inner-page .service-detail-intro{grid-template-columns:1fr;gap:28px}
 .inner-page .detail-photo{height:300px}
 .inner-page .booking{grid-template-columns:1fr;gap:32px}
 .inner-page .booking .form-panel{padding:26px}
 .inner-page .section:not(.page-intro):not(.service-detail-intro):not(.booking){padding-top:48px;padding-bottom:48px}
}
@media(max-width:600px){
 .inner-page .page-intro h1,.inner-page .service-detail-intro h1,.inner-page .booking h1{font-size:clamp(2rem,8vw,2.8rem)}
 .inner-page .detail-photo{height:auto;aspect-ratio:4/3}
 .inner-page .booking .form-panel{padding:22px}
 .inner-page .page-intro>p{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){main,footer,.reveal.is-ready{animation:none;transition:none}.inner-page .page-intro:before,.inner-page .service-detail-intro:before{transform:none}}
.motion-paused main,.motion-paused footer{animation:none;transition:none}

/* Center every action label, including text-style calls to action. */
.button,button,[role="button"],input[type="submit"],input[type="button"],.text-link{ text-align:center;justify-content:center;align-items:center }
.button,button,[role="button"],.text-link{display:inline-flex}

@media(max-width:900px) and (max-height:600px) and (orientation:landscape){
 .landing .play-hero{padding-top:84px;padding-bottom:36px}
 .landing .hero-brand-anchor{width:min(800px,100vw,calc((100svh - 210px)*2));height:max(100px,calc(100svh - 230px))}
 .landing .hero-intro h1{font-size:1.4rem}
 .landing .hero-meta p{font-size:.9rem}
 .landing .hero-meta .button{min-height:44px;padding:10px 24px}
 .site-header nav{max-height:calc(100svh - 90px);overflow-y:auto}
}

.live-event-gallery{scroll-margin-top:100px;background:#080b0e}
.live-event-gallery .section-heading p{color:#d4dfe7;margin-top:18px}
.event-photo-grid{columns:2;column-gap:24px;margin-top:32px}
.event-photo-grid figure{break-inside:avoid;margin:0 0 24px;border:1px solid #304553;border-radius:6px;overflow:hidden;background:#101922}
.event-photo-grid a{display:block}
.event-photo-grid img{display:block;width:100%;height:auto;filter:none}
.event-photo-grid a:focus-visible{outline:3px solid #91d6ff;outline-offset:-3px}
@media(max-width:650px){.event-photo-grid{columns:1}.event-photo-grid figure{margin-bottom:18px}}
.live-event-gallery .section-heading{display:block;margin-bottom:30px}.live-event-gallery .section-heading h2{margin-top:18px}.live-event-gallery .section-heading p{margin-bottom:0}

.live-carousel{max-width:1100px;margin:32px auto 56px;border:1px solid #304553;border-radius:8px;overflow:hidden;background:#101922;padding-bottom:20px;text-align:center}
.live-player-stage{background:#030609;display:grid;place-items:center;height:clamp(280px,56vw,620px);max-height:70svh}
.live-player-stage video{display:block;width:100%;height:100%;max-height:70svh;object-fit:contain}
.live-player-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px}
.live-player-controls button,.clip-selectors button{background:#182a38;color:#fff;border:1px solid #527083;border-radius:4px;min-height:44px;padding:10px 18px;cursor:pointer}
.live-player-controls button:hover,.clip-selectors button:hover{border-color:#91d6ff}
.clip-selectors{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:0 16px 16px}
.clip-selectors button[aria-pressed=true]{background:#e95c09;color:#080b0e;border-color:#ff9d59}
.clip-status{margin:0;color:#e6eef4;font-size:.9rem}.open-clip{font-size:.85rem}.event-photos-title{font-size:1.5rem}
@media(max-width:600px){.live-player-controls{padding:16px 12px;gap:8px}.live-player-controls button{padding:10px 12px}.clip-selectors{gap:6px}.clip-selectors button{padding:8px 12px}.live-player-stage{max-height:65svh}.live-player-stage video{max-height:65svh}}

.live-event-gallery .event-subheading{font-size:clamp(1.25rem,2.4vw,1.75rem);color:#91d6ff;margin:24px 0 0;letter-spacing:-.015em}

.clip-selectors button{flex-direction:column;padding:6px;gap:6px}.clip-selectors img{display:block;width:120px;height:68px;object-fit:contain;background:#030609;border-radius:2px}.clip-selectors span{padding:3px 8px}.clip-selectors{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;max-width:max-content;margin:0 auto;width:100%}.clip-selectors button{flex-shrink:0}
/* Keep adjacent sections connected without stacking large empty margins. */
.inner-page .page-intro{padding-top:132px;padding-bottom:32px}
.inner-page .service-detail-intro,.inner-page .booking{padding-top:132px;padding-bottom:40px}
.inner-page .section:not(.page-intro):not(.service-detail-intro):not(.booking){padding-top:40px;padding-bottom:40px}
.inner-page .section-heading{margin-bottom:28px}
.inner-page .section-links{margin-top:18px}
.inner-page .page-intro h1{margin:16px auto}
.inner-page .options-heading{margin-bottom:24px}
.live-event-gallery .section-heading{margin-bottom:24px}
.live-event-gallery .section-heading h2{margin:14px 0 0}
.live-event-gallery .event-subheading{margin-top:18px}
.live-event-gallery .section-heading p{margin-top:8px}
.live-carousel{margin:24px auto 36px}
.event-photo-grid{margin-top:22px}
.spotify-grid{display:block;columns:2;column-gap:32px}
.spotify-card{break-inside:avoid;margin-bottom:24px}
.landing .play-hero{min-height:100svh;padding-bottom:48px}
.landing .section{padding-top:56px;padding-bottom:56px}
@media(max-width:900px){.inner-page .page-intro,.inner-page .service-detail-intro,.inner-page .booking{padding-top:112px}.landing .play-hero{padding-bottom:36px}}
@media(max-width:600px){.inner-page .page-intro{padding-bottom:24px}.inner-page .section:not(.page-intro):not(.service-detail-intro):not(.booking){padding-top:30px;padding-bottom:30px}.inner-page .service-detail-intro,.inner-page .booking{padding-bottom:30px}.inner-page .section-heading{margin-bottom:22px}.spotify-grid{columns:1}.landing .section{padding-top:40px;padding-bottom:40px}}
.event-photo-grid{max-width:1100px;margin-left:auto;margin-right:auto}
.page-media .video-grid video{width:100%;height:auto;max-height:65svh;object-fit:contain;background:#030609}
.landing .play-hero{min-height:0}
/* Even gallery rows keep portrait photos from leaving an empty column. */
.event-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;columns:auto}
.event-photo-grid figure{margin:0;aspect-ratio:16/9}
.event-photo-grid a{width:100%;height:100%}
.event-photo-grid img{width:100%;height:100%;object-fit:contain;background:#030609}
@media(max-width:650px){.event-photo-grid{grid-template-columns:1fr;gap:18px}.event-photo-grid figure{aspect-ratio:auto}.event-photo-grid img{height:auto}}
/* Keep labels and headings together; give the media collections room to breathe. */
.section-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:12px 22px}
.section-heading>.eyebrow{padding-top:0;flex:0 0 auto}
.section-heading>h2{margin:0}
.page-media.inner-page #watch,.page-media.inner-page #listen{padding-top:64px;padding-bottom:64px}
.page-media #watch .section-heading,.page-media #listen .section-heading{margin-bottom:36px}
.page-media .video-grid{gap:40px 32px}
.page-media .subheading{margin-top:48px;margin-bottom:26px}
.page-media .spotify-card{margin-bottom:34px}
.page-media .catalog-memory{margin-top:36px;padding-top:30px}
@media(max-width:650px){.section-heading{gap:10px;flex-direction:column;align-items:flex-start}.page-media.inner-page #watch,.page-media.inner-page #listen{padding-top:44px;padding-bottom:44px}.page-media #watch .section-heading,.page-media #listen .section-heading{margin-bottom:28px}}
