:root { --cream:#f2eadb; --ink:#2d241b; --ember:#dc3827; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.hero { min-height:100svh;position:relative;overflow:hidden;color:#fff8eb;isolation:isolate; }
.hero-frame { position:absolute;inset:-3%;z-index:-3;background-size:cover;background-position:center;transform:scale(1.04); }
.hero-mountain { background-image:url('images/mount-lindesay-coffee-rows.png');animation:mountainFade 14s ease-in-out infinite alternate; }
.hero-tree { background-image:url('images/flame-tree-close.jpg');background-position:43% center;opacity:0;animation:treeFade 14s ease-in-out infinite alternate; }
.hero-shade { position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(26,20,14,.76) 0%,rgba(26,20,14,.35) 48%,rgba(26,20,14,.08) 72%),linear-gradient(0deg,rgba(18,14,10,.48),transparent 55%); }
@keyframes mountainFade { 0%,42%{opacity:1;transform:scale(1.04)} 70%,100%{opacity:.18;transform:scale(1.1)} }
@keyframes treeFade { 0%,38%{opacity:0;transform:scale(1.1)} 68%,100%{opacity:1;transform:scale(1.04)} }
.topbar { position:absolute;top:0;left:0;width:100%;padding:28px 4vw;display:flex;align-items:center;justify-content:space-between;z-index:3; }
.wordmark { display:block;width:110px;height:110px;border-radius:50%;overflow:hidden;box-shadow:0 8px 28px rgba(18,12,8,.24);transition:transform .35s ease; }
.wordmark:hover { transform:rotate(-3deg) scale(1.04); }
.wordmark img { width:100%;height:100%;object-fit:cover;display:block; }
.story-link { font-size:12px;text-transform:uppercase;letter-spacing:.2em;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:8px; }
.story-link span { margin-left:18px; }
.hero-copy { min-height:100svh;padding:18vh 7vw 11vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start; }
.eyebrow { text-transform:uppercase;letter-spacing:.27em;font-size:11px;font-weight:700; }
.hero-copy .eyebrow { opacity:0;animation:rise .8s .2s forwards; }
h1 { margin:18px 0 24px;font:400 clamp(4.7rem,11vw,10.5rem)/.76 Georgia,serif;letter-spacing:-.06em;opacity:0;animation:rise 1s .4s forwards;text-shadow:0 2px 35px rgba(0,0,0,.22); }
h1 em { color:#ff5542;font-weight:400; }
.intro { max-width:480px;font:400 clamp(1rem,1.6vw,1.25rem)/1.6 Georgia,serif;opacity:0;animation:rise .9s .7s forwards; }
.round-link { margin-top:28px;width:112px;height:112px;border-radius:50%;border:1px solid rgba(255,255,255,.65);display:flex;align-items:center;justify-content:center;gap:12px;text-transform:uppercase;font-size:9px;letter-spacing:.12em;transition:.35s;opacity:0;animation:rise .9s .9s forwards; }
.round-link:hover { background:var(--ember);border-color:var(--ember);transform:rotate(-8deg); }
.round-link b { font-size:19px;font-weight:400; }
.hero-caption { position:absolute;left:4vw;right:4vw;bottom:25px;display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.22em; }
@keyframes rise { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
.place-section { padding:clamp(90px,12vw,180px) 6vw;overflow:hidden; }
.section-intro { display:grid;grid-template-columns:.65fr 1.5fr 1fr;gap:6vw;align-items:start;margin-bottom:120px; }
.eyebrow.dark { color:var(--ember);margin-top:18px; }
.section-intro h2 { margin:0;font:400 clamp(3.2rem,6vw,6.7rem)/.88 Georgia,serif;letter-spacing:-.05em; }
.section-intro h2 i { color:var(--ember);font-weight:400; }
.section-intro>p:last-child { font:400 1.05rem/1.75 Georgia,serif;border-top:1px solid #958b7b;padding-top:18px; }
.photo-story { display:grid;grid-template-columns:repeat(12,1fr);gap:2.5vw;align-items:start; }
.photo-card { margin:0; }
.photo-card img { width:100%;display:block;object-fit:cover;filter:saturate(.88) contrast(1.02);transition:transform .7s,filter .7s; }
.photo-card:hover img { transform:scale(1.015);filter:saturate(1.08); }
.photo-card figcaption { margin-top:13px;border-top:1px solid #a89d8d;padding-top:10px;display:flex;gap:18px;text-transform:uppercase;letter-spacing:.16em;font-size:9px; }
.photo-card figcaption span { color:var(--ember); }
.photo-1 { grid-column:1/6;margin-top:40px; }.photo-1 img { aspect-ratio:4/5; }
.photo-2 { grid-column:5/13;margin-top:170px; }.photo-2 img { aspect-ratio:16/9; }
.brand-section { min-height:80vh;background:var(--ember);color:#fff4e3;display:grid;place-items:center;position:relative;overflow:hidden;padding:100px 6vw;text-align:center; }
.brand-statement { position:relative;z-index:2; }
.brand-statement h2 { font:400 clamp(3.2rem,7vw,7rem)/.95 Georgia,serif;letter-spacing:-.055em;margin:22px auto 30px;max-width:1000px; }
.coming-kicker { margin:24px 0 0;font-size:12px;font-weight:700;letter-spacing:.28em; }
.coming-copy { max-width:720px;margin:0 auto;font:400 clamp(1rem,1.5vw,1.2rem)/1.75 Georgia,serif; }
.coming-close { margin:30px 0 0;font:italic 400 clamp(1.25rem,2vw,1.7rem)/1.4 Georgia,serif; }
footer { background:#241c15;color:#d8cebd;padding:28px 5vw;display:flex;justify-content:space-between;gap:20px;text-transform:uppercase;letter-spacing:.18em;font-size:9px; }
@media (max-width:800px) {
  .hero-copy { padding-left:7vw;padding-right:7vw; }
  h1 { font-size:clamp(4.2rem,22vw,7rem); }
  .hero-shade { background:linear-gradient(90deg,rgba(25,18,12,.72),rgba(25,18,12,.12)),linear-gradient(0deg,rgba(20,15,10,.5),transparent 60%); }
  .section-intro { grid-template-columns:1fr;gap:25px;margin-bottom:70px; }
  .section-intro>p:last-child { max-width:520px; }
  .photo-story { gap:45px; }
  .photo-1,.photo-2 { grid-column:1/13;margin-top:0; }
  .photo-1 img { aspect-ratio:4/5; }
  .photo-2 img { aspect-ratio:16/9; }
  .topbar { padding:18px; }
  .wordmark { width:90px;height:90px; }
  .story-link { display:none; }
  footer { flex-direction:column;align-items:center; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important; }
  .hero-tree { display:none; }
}
