*{box-sizing:border-box}body{margin:0;background:#514a40;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid currentColor;outline-offset:6px}.skip{position:absolute;left:16px;top:-80px;background:#fff;color:#222;padding:12px;z-index:5}.skip:focus{top:12px}.page{position:relative;isolation:isolate;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto}.background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%;z-index:-3}.page::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(22,21,19,.34),rgba(22,21,19,.46) 40%,rgba(22,21,19,.52) 65%,rgba(22,21,19,.74))}header{display:flex;align-items:center;justify-content:space-between;padding:26px 4.5vw}.brand{display:block;width:170px}.brand img{display:block;width:100%;height:auto;filter:invert(1);mix-blend-mode:screen}.header-contact{font-size:.875rem;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.65);padding:10px 0}main{display:flex;align-items:center;justify-content:center;padding:45px 6vw 65px;text-align:center}.intro{width:100%;max-width:850px}.eyebrow{font-size:.875rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 22px;line-height:1.6}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2.8rem,6vw,6rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 26px}.description{max-width:540px;margin:0 auto 28px;line-height:1.8;font-size:1rem;text-wrap:pretty}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:14px 29px;border:1px solid rgba(255,255,255,.85);font-size:.875rem;letter-spacing:.05em;background:rgba(0,0,0,.1)}.button:hover{background:#fff;color:#282623}.location{font-size:.875rem;line-height:1.6;margin:22px 0 0}footer{padding:25px 4.5vw 28px;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;border-top:1px solid rgba(255,255,255,.25)}h2{font-size:.875rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;margin:0 0 15px}ul{list-style:none;padding:0;margin:0;display:flex;gap:24px;flex-wrap:wrap}li{font-family:Georgia,'Times New Roman',serif;font-size:1.125rem}.contacts{display:flex;flex-direction:column;align-items:flex-end;gap:9px;font-size:.875rem;line-height:1.5}.contacts a{overflow-wrap:anywhere}.contacts a:hover{text-decoration:underline}@media(max-width:760px){header{padding:22px 6vw}.brand{width:126px}main{padding:45px 7vw 50px}.eyebrow{letter-spacing:.1em;margin-bottom:18px}h1{font-size:clamp(2.5rem,9vw,4.5rem)}.description{max-width:440px;line-height:1.7}footer{padding:22px 6vw 26px;flex-direction:column;align-items:center;gap:22px;text-align:center}ul{justify-content:center;gap:12px 20px}.contacts{flex-direction:row;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px 20px}.background{object-position:52% 50%}}
/* Full-page photograph with contact details near the bottom. */
.contact-page{background:#514a40;color:#fff}
.contact-view{min-height:100svh;grid-template-rows:auto 1fr}
.contact-view::before{background:linear-gradient(180deg,rgba(22,21,19,.3),rgba(22,21,19,.08) 38%,rgba(22,21,19,.44) 67%,rgba(22,21,19,.82))}
.contact-view main{align-items:flex-end;padding:48px 5vw 30px}
.contact-intro{max-width:1100px}
.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}
.contact-details{margin:0;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:18px 38px}
.contact-details>div{display:flex;align-items:center;gap:12px;min-width:0}
.contact-details dt{display:flex;flex-shrink:0;color:rgba(255,255,255,.9)}
.contact-details svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.contact-details dd{margin:0;font-size:1rem;line-height:1.6;overflow-wrap:anywhere}
.contact-details a:hover{text-decoration:underline}
.contact-view .location{margin-top:20px;color:rgba(255,255,255,.8)}
@media(max-width:760px){.contact-view main{padding:100px 7vw 28px}.contact-details{flex-direction:column;gap:18px}.contact-details dd{font-size:1rem}.contact-view .location{margin-top:22px}}


/* Both views stay loaded; only opacity changes during navigation. */
.page{opacity:0;visibility:hidden;pointer-events:none;position:absolute;top:0;left:0;width:100%;transition:opacity 260ms ease,visibility 260ms;}
.page[data-active]{opacity:1;visibility:visible;pointer-events:auto;position:relative;}
.button{transition:background-color 160ms ease,color 160ms ease}
.header-contact{transition:opacity 160ms ease}
.header-contact:hover{opacity:.7}
@media(prefers-reduced-motion:reduce){.page,.button,.header-contact{transition:none}}
