:root{--cream:#f8f2e7;--ink:#16352e;--gold:#d9a85d;--line:rgba(248,242,231,.38)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--ink)}
body{font-family:"DM Sans",sans-serif;color:var(--cream)}
.hero{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(22px,4vw,52px) clamp(22px,6vw,88px) 28px}
.hero__photo,.hero__veil{position:absolute;inset:0;z-index:-2}
.hero__photo{background:url("austin-early-fall.png") center center/cover no-repeat;animation:drift 18s ease-in-out infinite alternate}
.hero__veil{z-index:-1;background:linear-gradient(90deg,rgba(12,35,30,.82) 0%,rgba(12,35,30,.5) 46%,rgba(12,35,30,.12) 76%),linear-gradient(0deg,rgba(10,28,24,.6),transparent 42%)}
.topbar,footer{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:14px;color:inherit;text-decoration:none;transition:opacity .25s ease,transform .25s ease}
.brand:hover{opacity:.78;transform:translateY(-1px)}
.brand:focus-visible,.arrow:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.brand__mark{width:46px;height:46px}.brand__word{font:700 clamp(18px,2vw,23px)/1 "Manrope",sans-serif;letter-spacing:.24em}
.place,.eyebrow,footer{font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.place{opacity:.75}
.message{align-self:center;width:min(760px,100%);padding:8vh 0 5vh}
.eyebrow{margin:0 0 26px;color:#f2c77f;font-weight:600}
.message__stage{display:grid;min-height:clamp(270px,42vh,450px)}
.quote{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease,visibility .7s}
.quote.is-active{opacity:1;visibility:visible;transform:translateY(0)}
h1,h2{margin:0;max-width:720px;font:600 clamp(42px,7.2vw,88px)/.98 "Manrope",sans-serif;letter-spacing:-.055em;text-wrap:balance}
.quote p{max-width:500px;margin:30px 0 0;font-size:clamp(16px,2vw,20px);line-height:1.55;color:rgba(248,242,231,.82)}
.controls{display:flex;align-items:center;gap:18px;margin-top:8px}
.arrow{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.05);color:var(--cream);font-size:20px;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s,border-color .2s}
.arrow:hover{background:rgba(255,255,255,.14);border-color:rgba(248,242,231,.7)}
.dots{display:flex;gap:8px}.dot{width:22px;height:2px;background:rgba(248,242,231,.32);transition:background .3s,width .3s}.dot.is-active{width:38px;background:var(--gold)}
footer{border-top:1px solid var(--line);padding-top:22px;opacity:.72;letter-spacing:.12em}
@keyframes drift{from{transform:scale(1.01)}to{transform:scale(1.055)}}
@media(max-width:640px){.hero{padding:22px 20px 24px}.place{display:none}.message{padding:10vh 0 4vh}.message__stage{min-height:340px}.quote p{margin-top:24px}footer{align-items:flex-start;flex-direction:column;gap:9px}.hero__veil{background:linear-gradient(90deg,rgba(12,35,30,.84),rgba(12,35,30,.42)),linear-gradient(0deg,rgba(10,28,24,.72),transparent 55%)}}
@media(prefers-reduced-motion:reduce){.hero__photo{animation:none}.quote{transition:none}}
