/* Shared interior pages inherit the homepage's limestone, oak, and serif palette. */
.main-nav{gap:28px}
.main-nav>a[aria-current=page]:after{transform:scaleX(1)}
.footer-nav{display:flex;gap:28px;width:100%;border-top:1px solid #d5d0c4;padding-top:22px;font:19px var(--serif)}
.footer-nav a{text-underline-offset:5px}
.footer-nav a:hover{text-decoration:underline}
.page-intro{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:8%;padding:65px var(--gutter) 62px;border-top:1px solid #dfd9cd}
.page-intro .eyebrow{margin-bottom:20px}
.page-intro h1{font-size:clamp(62px,6.4vw,104px);line-height:.98;letter-spacing:-2.5px;max-width:850px}
.page-lede{font:27px/1.3 var(--serif);color:#53594e;max-width:470px;padding-bottom:4px}
.page-cover{height:clamp(360px,42vw,620px);position:relative;overflow:hidden}
.page-cover picture,.page-cover img{height:100%;width:100%;object-fit:cover}
.page-cover:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#1222197a);pointer-events:none}
.cover-label{position:absolute;bottom:24px;left:var(--gutter);color:var(--cream);font:italic 20px var(--serif);z-index:1}
.page-visit{padding:72px var(--gutter);border-top:1px solid #d5d0c4}
.page-visit .eyebrow{margin-bottom:12px}
.page-visit .editorial-copy{text-align:left;margin-top:10px}
.page-visit .button{flex-shrink:0}
.not-found{min-height:65vh;grid-template-columns:1fr}
.not-found .page-lede{margin:24px 0;max-width:680px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:0 var(--gutter) 90px;align-items:start}
.contact-photo{overflow:hidden}
.contact-photo img{aspect-ratio:1.15;object-fit:cover}
.contact-information{padding:30px 0 0}
.contact-phone{display:flex;align-items:center;gap:28px;font:clamp(34px,3.3vw,52px) var(--serif);margin:12px 0 25px}
.contact-phone span{font-size:26px}
.contact-information dl{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:24px 0;margin:0;border-block:1px solid var(--line)}
.contact-information dt{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);margin-bottom:9px}
.contact-information dd{margin:0;font:24px/1.3 var(--serif)}
.contact-information>.small-copy{margin-top:20px;max-width:440px}
.contact-panel{padding:35px 38px;background:#ebe6da;border-top:2px solid #9b805a}
.contact-panel h2{font-size:50px;line-height:1.02;letter-spacing:-1px;margin:15px 0 20px}
.contact-intro{font:23px/1.3 var(--serif);margin-bottom:28px;color:#505749}
.contact-panel .form-grid{gap:18px}
.contact-panel .contact-callout{border:0;padding-top:0}
.contact-panel .contact-callout>p:first-child{display:none}
.contact-panel .contact-callout .button{width:100%}
.contact-panel .small-copy{line-height:1.65}
.contact-panel .form-submit{width:100%}
.visit-expectations{border-top:1px solid #c7c1b2;margin-top:32px;padding-top:26px}
.visit-expectations ol{list-style:none;margin:24px 0 0;padding:0}
.visit-expectations li{display:flex;gap:20px;margin-bottom:23px}
.visit-expectations li:last-child{margin-bottom:0}
.visit-expectations li>span{font:15px var(--serif);color:var(--bronze);padding-top:6px}
.visit-expectations h3{font-size:27px;line-height:1.1;margin-bottom:5px}
.visit-expectations li p{font-size:12px;line-height:1.7;color:var(--muted)}
.gallery-section{padding:0 var(--gutter) 65px}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 0 25px;border-bottom:1px solid var(--line);margin-bottom:30px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:12px 26px}
.gallery-filters button{background:transparent;color:var(--muted);font:21px var(--serif);padding:6px 0;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.gallery-filters button[aria-pressed=true]{color:var(--ink);border-color:var(--bronze)}
.gallery-count{font-size:11px;color:var(--muted);white-space:nowrap}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;align-items:start}
.gallery-item:first-child{grid-column:span 2}
.gallery-open{display:block;position:relative;overflow:hidden;background:#ddd8ca}
.gallery-open img{aspect-ratio:1.4;object-fit:cover;transition:transform .85s cubic-bezier(.22,1,.36,1)}
.gallery-item:first-child .gallery-open img{aspect-ratio:2.8}
.gallery-item figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:12px;font:20px/1.2 var(--serif)}
.photo-number{font:10px var(--sans);color:var(--bronze);flex-shrink:0}
.gallery-expand{position:absolute;right:15px;bottom:15px;width:38px;height:38px;display:grid;place-items:center;border:1px solid #f4f0e799;background:#1222194d;color:var(--cream);font-size:23px;transition:background .25s,transform .3s}
.gallery-note{font:22px/1.35 var(--serif);color:var(--muted);max-width:720px;margin:42px auto 0;text-align:center}
.gallery-dialog{width:min(1180px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:50px 28px 22px;border:1px solid #6d786e;background:#1b2b21;color:var(--cream);overflow:auto}
.gallery-dialog::backdrop{background:#0b170fe6;backdrop-filter:blur(6px)}
.gallery-close{position:absolute;top:5px;right:12px;width:40px;height:40px;background:transparent;color:var(--cream);font:34px var(--serif)}
.gallery-stage img{width:100%;height:min(65dvh,750px);object-fit:contain}
.gallery-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px}
#gallery-caption{font:25px/1.2 var(--serif)}
#gallery-position{color:#c9cdbf;margin:6px 0 0}
.gallery-controls{display:flex;gap:10px;flex-shrink:0}
.gallery-controls button{width:46px;height:46px;background:transparent;color:var(--cream);border:1px solid #778375;font-size:22px;transition:background .25s}
.gallery-controls button:hover{background:#364b3b}
@media(hover:hover) and (pointer:fine){.gallery-open:hover img{transform:scale(1.025)}.gallery-open:hover .gallery-expand{background:var(--cream);color:var(--green);transform:translate(2px,-2px)}.gallery-filters button:hover{color:var(--ink);border-color:var(--bronze)}}
@media(max-width:1100px){.main-nav{gap:20px}.main-nav .button{font-size:19px;padding-inline:23px}.page-intro{grid-template-columns:1.2fr .8fr;gap:6%}.contact-layout{gap:5%}.contact-panel{padding:28px}.contact-information dd{font-size:21px}}
@media(max-width:1024px){
  .site-header{position:relative;z-index:20;padding:20px 24px;min-height:88px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;background:transparent;width:44px;height:44px;padding:0}
  .menu-toggle span{height:1px;width:26px;background:var(--green);transition:transform .2s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:12px 24px 24px;border-block:1px solid var(--line);box-shadow:0 10px 20px #18231c14;align-items:stretch;gap:0;flex-direction:column}
  .main-nav.is-open{display:flex}.main-nav>a:not(.button){font-size:24px;padding:10px 0}.main-nav .button{margin-top:12px}.main-nav>a:not(.button):after{display:none}.main-nav>a[aria-current=page]{color:var(--bronze)}
}
@media(max-width:760px){
  .site-header{min-height:81px;padding:16px 24px}
  .page-intro{grid-template-columns:1fr;gap:24px;padding:42px 24px 36px}
  .page-intro .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:17px}
  .page-intro h1{font-size:clamp(48px,12.5vw,74px);letter-spacing:-1.6px;max-width:550px}
  .page-lede{font-size:25px;line-height:1.25;max-width:540px}
  .page-cover{height:360px}.cover-label{bottom:18px;left:24px;font-size:16px}
  .page-visit{padding:42px 24px}.page-visit .eyebrow{font-size:9px;letter-spacing:1.7px}
  .footer-nav{gap:14px 25px;flex-wrap:wrap;font-size:20px}
  .footer-details{max-width:100%;font-size:8px}
  .contact-layout{grid-template-columns:1fr;padding:0 24px 45px;gap:36px}
  .contact-photo img{aspect-ratio:1.45}
  .contact-phone{font-size:40px}.contact-information dl{gap:18px}
  .contact-panel{padding:30px 22px}.contact-panel h2{font-size:43px}.contact-panel .eyebrow{font-size:9px;letter-spacing:1.8px}
  .contact-panel .contact-callout .button{font-size:21px;padding-inline:10px;gap:13px}
  .gallery-section{padding:0 24px 42px}.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px;padding-bottom:20px}
  .gallery-filters{gap:8px 21px}.gallery-filters button{font-size:20px}.gallery-grid{grid-template-columns:1fr 1fr;gap:25px 15px}
  .gallery-item:first-child{grid-column:span 2}.gallery-item:first-child .gallery-open img{aspect-ratio:1.4}
  .gallery-open img{aspect-ratio:1.05}.gallery-item figcaption{font-size:18px;line-height:1.12;gap:7px}.photo-number{display:none}
  .gallery-expand{width:30px;height:30px;right:9px;bottom:9px;font-size:20px}.gallery-note{font-size:21px;text-align:left;margin-top:32px}
  .gallery-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 24px);padding:42px 13px 18px}
  .gallery-stage img{height:min(55dvh,500px)}.gallery-dialog-bottom{gap:12px;margin-top:16px}#gallery-caption{font-size:22px}.gallery-controls{gap:6px}.gallery-controls button{width:38px;height:40px}
}
@media(prefers-reduced-motion:reduce){.gallery-open img,.gallery-expand{transform:none!important}}
