:root{--olive:#827d2f;--olive-dark:#555321;--ink:#292b26;--muted:#7e827a;--line:#e9e8e1;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
img,video{display:block;width:100%}
img{object-fit:cover}
a{color:inherit;text-decoration:none}
button,summary{font:inherit}
.skip-link{position:absolute;left:-9999px;top:0;z-index:50;background:#fff;padding:1rem}
.skip-link:focus{left:1rem}
.shell{width:calc(100% - 64px);max-width:1570px;margin-inline:auto}
.section-pad{padding-block:clamp(5rem,9vw,10rem)}
.eyebrow{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.24em;line-height:1.6}
.eyebrow.olive{color:var(--olive)}
.header{height:88px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#fff;position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:12px;color:var(--olive-dark);white-space:nowrap}
.brand-monogram{display:grid;place-items:center;width:42px;height:42px;border:1.5px solid var(--olive);font-family:Georgia,serif;font-size:1.15rem;font-style:italic}
.brand-text{font-family:Georgia,'Times New Roman',serif;font-size:1.37rem;letter-spacing:.045em;line-height:1}
.brand-text small{display:block;margin-top:4px;font:600 .49rem Arial,sans-serif;letter-spacing:.32em}
.nav{display:flex;align-items:center;gap:clamp(.8rem,1.5vw,2rem)}
.nav a{font-size:.66rem;letter-spacing:.04em;color:#696d6b;font-weight:700;white-space:nowrap;transition:color .2s}
.nav a:hover,.nav a:focus-visible{color:var(--olive)}
.mobile-menu{display:none}
.hero-media{height:min(700px,calc(100svh - 120px));min-height:490px;position:relative;overflow:hidden;background:#596048}
.hero-media video{height:100%;object-fit:cover}
.hero-shade,.wide-feature-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 25%,rgba(0,0,0,.24) 75%)}
.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center;padding:2rem;text-shadow:0 1px 12px rgba(0,0,0,.18)}
.hero-copy h1{font-size:clamp(4.4rem,9vw,10rem);line-height:.98;letter-spacing:.025em;font-weight:700;margin:1rem 0 1.3rem}
.hero-copy>p:last-child{font-size:clamp(.8rem,1.3vw,1.1rem);font-weight:600;letter-spacing:.25em;margin:0}
.hero-scroll{position:absolute;bottom:31px;left:34px;color:#fff;font-size:.65rem;letter-spacing:.16em;font-weight:700}
.hero-scroll span{display:inline-block;font-size:1rem;padding-left:.7rem}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,9rem);align-items:start}
.intro h2{font-weight:400;letter-spacing:-.055em;line-height:1.14;font-size:clamp(2.6rem,4vw,5rem);max-width:730px;margin:1.2rem 0 2.3rem}
.intro-detail{max-width:620px;padding-top:3.2rem;color:#898d88;font-size:clamp(1.03rem,1.35vw,1.35rem);line-height:1.9;font-weight:300}
.intro-detail p{margin:0 0 1.1rem}
.solid-button,.light-button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.3rem;min-height:58px;padding:0 1.7rem;font-size:.68rem;letter-spacing:.075em;font-weight:700;transition:background .2s,transform .2s}
.solid-button{background:var(--olive);color:#fff}
.solid-button:hover,.solid-button:focus-visible{background:var(--olive-dark);transform:translateY(-2px)}
.solid-button span,.light-button span,.text-link span,.place-copy a span{font-size:1.25rem;font-weight:400}
.wide-feature{height:clamp(470px,59vw,740px);position:relative;overflow:hidden;background:#68755b}
.wide-feature>img{height:100%;object-position:center 43%}
.wide-feature-shade{background:linear-gradient(90deg,rgba(0,0,0,.54),rgba(0,0,0,.06))}
.wide-feature-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(2rem,5vw,6rem);color:#fff;max-width:950px}
.wide-feature h2{font-size:clamp(3.5rem,6.5vw,7.5rem);font-weight:400;letter-spacing:-.035em;line-height:1.02;margin:1.4rem 0}
.wide-feature-copy>p:not(.eyebrow){max-width:480px;font-size:1.03rem;line-height:1.7}
.light-button{background:#fff;color:#262921;margin-top:1.4rem}
.light-button:hover,.light-button:focus-visible{background:#f1edda;transform:translateY(-2px)}
.section-heading{max-width:770px;margin-bottom:3rem}
.section-heading h2{font-weight:400;letter-spacing:-.055em;line-height:1.12;font-size:clamp(2.5rem,4.3vw,5.2rem);margin:.9rem 0 0}
.place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.4rem,3vw,3.3rem);row-gap:4.5rem}
.place-card>img{height:clamp(300px,33vw,490px);object-position:center 53%}
.place-card:nth-child(1)>img{object-position:center 61%}
.place-card:nth-child(4)>img{object-position:center}
.place-copy{position:relative;width:calc(100% - 60px);margin:-56px auto 0;background:#fff;padding:26px 30px 0;min-height:170px}
.place-copy h3{font-size:clamp(1.7rem,2.2vw,2.5rem);font-weight:400;letter-spacing:-.035em;margin:0 0 .9rem}
.place-copy p{color:#8a8d88;max-width:450px;line-height:1.65;margin:0 0 1.15rem}
.place-copy a,.text-link{display:inline-flex;align-items:center;gap:2rem;font-size:.66rem;letter-spacing:.1em;font-weight:700;transition:color .2s}
.place-copy a:hover,.text-link:hover{color:var(--olive)}
.experience{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,8rem);align-items:center;background:#f7f7f4;padding:clamp(2rem,5vw,6rem)}
.experience-image img{height:clamp(430px,48vw,690px);object-position:center 58%}
.experience-copy{max-width:550px}
.experience h2,.location h2,.contact h2{font-weight:400;letter-spacing:-.05em;line-height:1.12;font-size:clamp(2.7rem,4.2vw,5.2rem);margin:1.2rem 0 1.8rem}
.experience-copy>p:not(.eyebrow){color:#7e827a;line-height:1.8;font-size:1.05rem}
.experience ul{padding-left:1.2rem;color:#666c65;line-height:2;margin:1.3rem 0 2.2rem}
.location{text-align:center;max-width:980px}
.location h2{margin:1.2rem 0}
.location>p:not(.eyebrow){font-size:1.05rem;color:#7e827a;margin:0 auto 2rem;line-height:1.7}
.contact{background:#555c34;color:#fff;text-align:center;padding-block:clamp(5rem,9vw,10rem)}
.contact-inner{max-width:900px}
.contact h2{margin:1.2rem auto 1.4rem}
.contact-inner>p:not(.eyebrow){color:#ebece0;max-width:560px;line-height:1.8;margin:0 auto 1.4rem}
.footer{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;padding-block:4rem 3rem;font-size:.85rem;line-height:1.7}
.footer-brand{font-family:Georgia,serif;color:var(--olive-dark);font-size:2.6rem;line-height:1}
.footer-brand small{display:block;font:700 .58rem Arial,sans-serif;letter-spacing:.18em;margin-top:.6rem}
.footer p{margin:0 0 .7rem;color:#757b73}
.footer-links{display:flex;flex-direction:column;gap:.8rem;font-size:.62rem;font-weight:700;letter-spacing:.1em}
:focus-visible{outline:2px solid var(--olive);outline-offset:4px}
@media(max-width:980px){.nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;color:var(--olive-dark);font-size:.7rem;font-weight:700;letter-spacing:.1em}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{font-size:1rem;margin-left:.6rem}.mobile-menu nav{position:absolute;right:0;top:32px;min-width:220px;background:#fff;box-shadow:0 14px 30px rgba(0,0,0,.12);padding:1rem;display:grid;gap:1rem}.mobile-menu nav a{font-size:.7rem;font-weight:700;letter-spacing:.1em}.intro-detail{padding-top:1.8rem}}
@media(max-width:700px){.shell{width:calc(100% - 28px)}.header{height:70px;padding-inline:14px}.brand-monogram{width:37px;height:37px}.brand-text{font-size:1.05rem}.brand-text small{font-size:.42rem}.hero-media{height:min(650px,calc(100svh - 84px));min-height:520px}.hero-copy h1{font-size:clamp(3.3rem,14vw,6rem)}.hero-copy>p:last-child{letter-spacing:.17em}.hero-scroll{left:18px;bottom:20px}.intro,.experience{grid-template-columns:1fr}.intro{gap:1.3rem}.intro-detail{padding-top:0}.section-pad{padding-block:5rem}.wide-feature{height:540px}.wide-feature h2{font-size:clamp(3rem,10vw,4.8rem)}.place-grid{grid-template-columns:1fr;row-gap:2.5rem}.place-card>img{height:440px}.place-copy{width:calc(100% - 30px);margin-top:-46px;padding:22px 20px 0;min-height:160px}.experience{padding:1.2rem 1.2rem 3rem;gap:2rem}.experience-image img{height:450px}.footer{grid-template-columns:1fr;padding-block:3rem}.contact{padding-block:5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
