/* Tharaa: restrained editorial motion and an interactive import directory. */
:root { --ease-out: cubic-bezier(.22,1,.36,1); }
html { scroll-padding-top: 118px; }
.site-header { position: sticky; top: 0; height: 92px; transition: box-shadow .3s; }
.site-header.is-scrolled { box-shadow: 0 4px 24px #0000000c; }
.reading-progress { position: fixed; inset: 0 0 auto; height: 2px; background: #171916; z-index: 40; transform: scaleX(0); transform-origin: right; pointer-events: none; }
nav a[aria-current="location"]:after { width: 100%; }
.hero { height: min(740px, calc(100svh - 92px)); min-height: 610px; max-height: none; }
.hero-main { padding-block: 45px; }
.hero-photo { inset: -6%; filter: grayscale(.8) saturate(.65); transform: translate3d(0,var(--hero-shift,0px),0) scale(1.02); }
.hero:after { background: linear-gradient(270deg,#0b100deb,#0b100d54 73%),linear-gradient(0deg,#0005,transparent 45%); }
.hero h1 { font-size: clamp(4rem,6.2vw,5.8rem); letter-spacing: 0; line-height: 1.4; }
.hero h1 .title-line { display: block; color: #fff; }
.hero h1 .title-line:last-child { color: #d8ddd2; }
.hero-description { max-width: 510px; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.button { position: relative; transition: transform .35s var(--ease-out), background .3s, border-color .3s, color .3s; }
.button:hover { transform: translateY(-3px); }
.button:active { transform: translateY(0); }
.button-outline { background: #ffffff05; color: #fff; border-color: #ffffff70; }
.button-outline:hover { background: #fff; color: var(--ink); border-color: #fff; }
.header-call { transition: color .25s,background .25s,border-color .25s; }
.header-call:hover { background: var(--ink); color: white; border-color: var(--ink); }
.hero-bottom { min-height: 72px; }
.hero-bottom>.scroll-cue { border: 0; display: inline-flex; align-items: center; gap: 12px; }
.scroll-track { width: 18px; height: 28px; border: 1px solid #ffffff70; border-radius: 12px; position: relative; }
.scroll-track:after { content: ''; position: absolute; top: 6px; left: 7px; width: 2px; height: 6px; background: white; animation: scroll-hint 1.5s ease-in-out 3; }
@keyframes scroll-hint { 0%,100% { transform: translateY(0); opacity: .35; } 50% { transform: translateY(8px); opacity: 1; } }
.about { gap: 100px; }
.about-location { display: flex; align-items: center; gap: 18px; margin-top: 29px; font-size: .8rem; color: var(--muted); }
.about-location>span { color: #aaa; }
.about-copy { padding-top: 3px; }
.about-note { display: flex; align-items: center; gap: 24px; border-top: 1px solid var(--line); padding-top: 23px; margin-top: 30px; }
.about-note>span { font-family: Georgia,serif; font-size: 4.5rem; line-height: 1; font-weight: 400; color: var(--ink); }
.about-note p { margin: 0; font-size: .875rem; line-height: 2; }
.about-note strong { color: var(--ink); font-weight: 500; }
.activities { background: #f2f3ef; }
.section-heading { margin-bottom: 55px; }
.section-heading>p { font-size: 1rem; }
.activity-explorer { display: grid; grid-template-columns: 1fr 1.05fr; gap: 80px; align-items: center; }
.activity h3 { margin: 0; }
.activity { border-top: 1px solid #c9cdc2; }
.activity:last-child { border-bottom: 1px solid #c9cdc2; }
.activity-trigger { width: 100%; display: grid; grid-template-columns: 35px 1fr 24px; gap: 14px; align-items: center; text-align: right; color: #71776a; border: 0; background: transparent; padding: 26px 0; cursor: pointer; transition: color .25s; }
.activity-trigger:hover,.activity-trigger[aria-expanded="true"] { color: var(--ink); }
.activity-trigger>span:nth-child(2) { font-family: var(--serif); font-size: 2.3rem; font-weight: 500; line-height: 1.6; }
.activity-number { font-family: Georgia,serif; font-size: .875rem; align-self: center; }
.activity-mark { width: 22px; height: 22px; position: relative; }
.activity-mark:before,.activity-mark:after { content: ''; background: currentColor; position: absolute; width: 16px; height: 1px; left: 3px; top: 10px; transition: transform .35s var(--ease-out); }
.activity-mark:after { transform: rotate(90deg); }
[aria-expanded="true"] .activity-mark:after { transform: rotate(0); }
.activity-details { padding: 0 49px 29px 20px; }
.activity-details[hidden] { display: none; }
.activity-details p { margin: 0; color: #5b6255; font-size: 1rem; line-height: 2; }
.activity-details .text-link { margin-top: 15px; font-size: .875rem; }
.text-link { border: 0; background-image: linear-gradient(currentColor,currentColor); background-size: 100% 1px; background-position: right bottom; background-repeat: no-repeat; transition: background-size .3s,color .3s; }
.text-link:hover { background-size: 30% 1px; color: var(--ink); }
.activity-visual { position: relative; min-width: 0; }
.activity-images { position: relative; aspect-ratio: 1.05; overflow: hidden; background: #d9ddd1; }
.activity-images img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity .7s ease,transform 1.2s var(--ease-out); filter: saturate(.7); }
.activity-images img:first-child { object-position: center bottom; }
.activity-images img.is-active { opacity: 1; transform: scale(1); }
.image-caption { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; font-size: .875rem; }
.image-counter { font-family: Georgia,serif; letter-spacing: 2px; color: #7a8072; }
.image-counter b { color: var(--ink); font-weight: normal; }
.contact { overflow: hidden; padding-block: 120px; }
.contact h2 { font-size: clamp(3rem,4.5vw,4rem); }
.phone { position: relative; transition: color .25s; }
.phone:after { content: ''; position: absolute; height: 1px; background: currentColor; bottom: -6px; left: 0; width: 100%; transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ease-out); }
.phone:hover:after { transform: scaleX(1); }
.contact-number { border-bottom-color: #ffffff25; }
.eyebrow { font-size: .875rem; }
.footer-nav a,.map-link { transition: opacity .2s; }
.footer-nav a:hover,.map-link:hover { opacity: .65; }
@media(min-width:1600px) { .hero-main { padding-block: 45px; } }
@media(max-width:1000px) { .activity-explorer { gap: 38px; }.about { gap: 45px; }.activity-trigger>span:nth-child(2) { font-size: 2rem; }.activity-details { padding-right: 0; }.hero { min-height: 590px; } }
@media(max-width:700px) {
  html { scroll-padding-top: 98px; }
  .site-header { height: 78px; }
  .logo-crop { height: 72px; }
  nav { top: 78px; }
  nav.is-open { animation: menu-enter .25s var(--ease-out); }
  @keyframes menu-enter { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
  .hero { min-height: 620px; height: auto; }
  .hero-main { padding-block: 50px 35px; }
  .hero h1 { font-size: clamp(3rem,13vw,4.3rem); line-height: 1.45; margin-bottom: 22px; }
  .hero-description { font-size: 1rem; line-height: 2; margin-bottom: 25px; }
  .hero-actions { gap: 10px; }
  .hero-actions .button { font-size: .875rem; padding-inline: 20px; min-height: 51px; }
  .hero-bottom { min-height: 68px; }
  .eyebrow { font-size: .8rem; }
  .hero:after { background: linear-gradient(270deg,#080d09e0,#080d0980),linear-gradient(0deg,#0005,transparent); }
  .about { gap: 30px; }
  .about-copy p { font-size: 1rem; }
  .about-note { margin-top: 25px; }
  .about-note>span { font-size: 3.7rem; }
  .about-note p { font-size: .875rem; }
  .section-heading { margin-bottom: 30px; }
  .activity-explorer { grid-template-columns: 1fr; gap: 32px; }
  .activity-trigger { padding-block: 19px; }
  .activity-trigger>span:nth-child(2) { font-size: 1.9rem; }
  .activity-details { padding: 0 0 25px; }
  .activity-images { aspect-ratio: 1.25; }
  .contact { padding-block: 75px; }
  .contact h2 { font-size: clamp(2.65rem,11vw,3.3rem); }
  .contact-intro { font-size: 1rem; }
  .contact-location { gap: 20px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *,*:before,*:after { animation: none!important; transition: none!important; }
  .hero-photo { transform: none!important; }
  .button:hover { transform: none; }
}
