:root{
  --plum:#2f1f2c;
  --plum-deep:#21161f;
  --chalk:#f3efe6;
  --paper:#fffdf8;
  --celadon:#aebfae;
  --apricot:#d98762;
  --espresso:#241f1c;
  --mist:#dfe8e2;
  --saffron:#e7bd4a;
  --muted:#6d6a66;
  --line:rgba(36,31,28,.15);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--chalk);color:var(--espresso);
  font-family:Arial,Helvetica,sans-serif;line-height:1.55;
  overflow-x:hidden;-webkit-font-smoothing:antialiased
}
img{display:block;width:100%;height:auto}
a{color:inherit}
.container{width:min(calc(100% - 34px),var(--max));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:1rem;z-index:9999;background:var(--espresso);color:#fff;padding:.8rem 1rem}
.skip-link:focus{left:1rem}
.section{padding:92px 0}
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-family:"Arial Narrow",Arial,sans-serif;font-size:.68rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.14em;color:var(--apricot)
}
.kicker::before{content:"";width:32px;height:1px;background:currentColor}
.meta{
  font-family:"Courier New",monospace;font-size:.61rem;text-transform:uppercase;
  letter-spacing:.1em;color:var(--muted)
}
h1,h2,h3{
  margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:700;
  line-height:.94;letter-spacing:-.045em
}
h1{font-size:clamp(4.7rem,9.5vw,9.2rem)}
h2{font-size:clamp(3.2rem,5.8vw,5.7rem)}
h3{font-size:clamp(1.5rem,2.2vw,2.25rem)}
p{margin:0}
.lede{font-size:clamp(1.05rem,1.55vw,1.2rem);max-width:690px;color:var(--muted)}
.cta{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  padding:13px 17px;border:1px solid var(--espresso);
  background:var(--saffron);color:var(--espresso);
  font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em
}
.cta::after{content:"→"}
.cta:hover{background:var(--apricot);color:#fff}

.site-header{
  position:sticky;top:0;z-index:100;background:rgba(243,239,230,.96);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--espresso)
}
.nav-wrap{
  min-height:78px;display:grid;grid-template-columns:290px 1fr auto;
  gap:24px;align-items:center
}
.brand{
  text-decoration:none;text-transform:uppercase;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center
}
.brand-arch{
  width:34px;height:48px;border:1px solid var(--espresso);
  border-radius:20px 20px 0 0;position:relative;overflow:hidden
}
.brand-arch::before{
  content:"";position:absolute;inset:8px 8px 0;border-left:1px solid var(--apricot);
  border-right:1px solid var(--apricot);border-top:1px solid var(--apricot);border-radius:12px 12px 0 0
}
.brand strong{display:block;font-size:.98rem;letter-spacing:-.035em}
.brand small{display:block;font-family:"Courier New",monospace;font-size:.56rem;letter-spacing:.12em;color:var(--muted)}
.main-nav{display:flex;justify-content:center;gap:2px;flex-wrap:wrap}
.main-nav a{
  text-decoration:none;padding:8px 9px;font-size:.66rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em
}
.main-nav a::before{
  content:attr(data-n);font-family:"Courier New",monospace;font-size:.55rem;color:var(--apricot);margin-right:5px
}
.main-nav a:hover,.main-nav a:focus-visible{background:var(--mist);outline:none}
.loc-tag{
  font-family:"Courier New",monospace;font-size:.6rem;text-transform:uppercase;
  letter-spacing:.08em;border-left:1px solid var(--line);padding-left:16px;color:var(--muted)
}

.hero{padding:34px 0 74px;position:relative}
.conservatory{
  min-height:740px;display:grid;grid-template-columns:1.03fr .5fr .87fr;
  grid-template-rows:1fr 180px;gap:12px;position:relative
}
.hero-copy{
  grid-column:1;grid-row:1/3;display:flex;flex-direction:column;justify-content:space-between;
  padding:44px 34px;background:var(--chalk);border-top:1px solid var(--espresso);border-bottom:1px solid var(--espresso)
}
.hero-title span{display:block}
.hero-title .plum{color:var(--plum)}
.hero-copy .lede{margin-top:22px;max-width:580px}
.hero-bottom{display:flex;justify-content:space-between;gap:24px;align-items:end}
.hero-num{font-family:Georgia,serif;font-size:5rem;line-height:.8;color:var(--apricot)}
.tall-image{
  grid-column:2/4;grid-row:1;position:relative;overflow:hidden;
  border:1px solid var(--espresso);border-radius:180px 180px 0 0
}
.tall-image img{width:100%;height:100%;object-fit:cover}
.tall-image::after{
  content:"ALEXANDRIA / TABLE / GARDEN / OCCASION";
  position:absolute;left:16px;bottom:14px;background:var(--chalk);border:1px solid var(--espresso);
  padding:7px 9px;font-family:"Courier New",monospace;font-size:.57rem
}
.detail-image{
  grid-column:2;grid-row:2;position:relative;overflow:hidden;border:1px solid var(--espresso)
}
.detail-image img{width:100%;height:100%;object-fit:cover}
.season-card{
  grid-column:3;grid-row:2;background:var(--plum);color:#fff;border:1px solid var(--espresso);
  padding:18px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden
}
.season-card::before{
  content:"";position:absolute;width:150px;height:150px;border-radius:50%;border:1px solid rgba(255,255,255,.2);
  right:-50px;top:-60px;box-shadow:0 0 0 24px rgba(255,255,255,.035)
}
.season-card .meta{color:var(--saffron)}
.season-card p{color:rgba(255,255,255,.7)}

.eat{background:var(--paper)}
.eat-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:36px}
.eat-main{min-height:590px;position:relative;overflow:hidden;border:1px solid var(--espresso)}
.eat-main img{width:100%;height:100%;object-fit:cover}
.eat-main::after{
  content:"DINING / GARDEN / 01";position:absolute;right:12px;top:12px;
  background:var(--saffron);border:1px solid var(--espresso);padding:7px 8px;
  font-family:"Courier New",monospace;font-size:.58rem
}
.eat-side{display:grid;grid-template-rows:1fr 1fr;gap:12px}
.eat-note{
  background:var(--mist);border:1px solid var(--espresso);padding:24px;
  display:flex;flex-direction:column;justify-content:space-between
}
.eat-note p{color:var(--muted)}
.eat-crop{position:relative;overflow:hidden;border:1px solid var(--espresso)}
.eat-crop img{width:100%;height:100%;object-fit:cover}
.eat-crop figcaption{
  position:absolute;left:10px;bottom:10px;background:var(--chalk);border:1px solid var(--espresso);
  padding:7px 8px;font-family:"Courier New",monospace;font-size:.58rem
}

.experiences{background:var(--celadon)}
.magazine{
  margin-top:36px;display:grid;grid-template-columns:1.15fr .72fr .78fr;
  grid-template-rows:300px 250px;gap:12px
}
.story{position:relative;overflow:hidden;border:1px solid var(--espresso);background:var(--paper)}
.story img{width:100%;height:100%;object-fit:cover}
.story.feature{grid-row:1/3}
.story.text{padding:22px;background:var(--plum);color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.story.text p{color:rgba(255,255,255,.7)}
.story.apricot{background:var(--apricot);color:var(--espresso);padding:22px;display:flex;flex-direction:column;justify-content:space-between}
.story.apricot p{color:#5b463c}
.story-cap{
  position:absolute;left:10px;right:10px;bottom:10px;background:rgba(243,239,230,.95);
  border:1px solid var(--espresso);padding:9px
}
.story-cap span{font-family:"Courier New",monospace;font-size:.57rem;color:var(--apricot)}

.gather{background:var(--chalk)}
.gather-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px;
  border-top:1px solid var(--espresso);border-left:1px solid var(--espresso)
}
.gather-item{
  min-height:430px;padding:24px;border-right:1px solid var(--espresso);border-bottom:1px solid var(--espresso);
  display:flex;flex-direction:column;justify-content:space-between;background:var(--paper);position:relative;overflow:hidden
}
.gather-item:nth-child(2){background:var(--mist)}
.gather-item:nth-child(3){background:var(--plum);color:#fff}
.gather-item .num{font-family:Georgia,serif;font-size:5rem;line-height:.8;color:var(--apricot)}
.gather-item p{color:var(--muted)}
.gather-item:nth-child(3) p{color:rgba(255,255,255,.7)}
.gather-item::after{
  content:"";position:absolute;right:-35px;bottom:-45px;width:150px;height:150px;border:1px solid currentColor;border-radius:50%;opacity:.16
}

.garden-table{background:var(--plum-deep);color:#fff}
.vertical-story{
  display:grid;grid-template-columns:300px 1fr;gap:52px;margin-top:34px
}
.vertical-aside{border-right:1px solid rgba(255,255,255,.24);padding-right:28px}
.vertical-aside .lede{color:rgba(255,255,255,.62);margin-top:18px}
.sequence{border-top:1px solid rgba(255,255,255,.24)}
.seq{
  display:grid;grid-template-columns:120px 1fr 260px;gap:24px;align-items:center;
  padding:22px 0;border-bottom:1px solid rgba(255,255,255,.2)
}
.seq strong{font-family:Georgia,serif;font-size:clamp(3rem,5.2vw,5.2rem);line-height:.9;letter-spacing:-.05em}
.seq span{font-family:"Courier New",monospace;font-size:.62rem;color:var(--saffron);text-transform:uppercase}
.seq p{color:rgba(255,255,255,.65)}

.shop{background:var(--paper)}
.shop-grid{
  display:grid;grid-template-columns:.95fr 1.05fr;gap:14px;align-items:stretch
}
.shop-copy{
  border:1px solid var(--espresso);background:var(--mist);padding:34px;
  display:flex;flex-direction:column;justify-content:space-between;min-height:540px
}
.shop-copy .lede{margin-top:18px}
.shop-tags{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--espresso)}
.shop-tags span{padding:12px 0;border-bottom:1px solid var(--espresso);font-family:"Courier New",monospace;font-size:.62rem;text-transform:uppercase}
.shop-photo{min-height:540px;position:relative;overflow:hidden;border:1px solid var(--espresso);border-radius:0 180px 0 0}
.shop-photo img{width:100%;height:100%;object-fit:cover}
.shop-photo::after{
  content:"COFFEE / GOODS / GIFTING";position:absolute;left:12px;bottom:12px;
  background:var(--chalk);border:1px solid var(--espresso);padding:7px 8px;
  font-family:"Courier New",monospace;font-size:.58rem
}

.catering{background:var(--apricot)}
.catering-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:end}
.catering-photo{min-height:560px;position:relative;overflow:hidden;border:1px solid var(--espresso)}
.catering-photo img{width:100%;height:100%;object-fit:cover}
.catering-copy{padding:24px 10px 24px 24px}
.catering-copy p{color:#5b463c;margin-top:18px}
.catering-list{margin-top:28px;border-top:1px solid var(--espresso)}
.catering-line{padding:14px 0;border-bottom:1px solid var(--espresso);font-weight:900;text-transform:uppercase;letter-spacing:.04em}

.location{background:var(--celadon);position:relative;overflow:hidden}
.location::before{
  content:"";position:absolute;right:-80px;top:-90px;width:460px;height:460px;border-radius:50%;
  border:1px solid rgba(36,31,28,.14);box-shadow:0 0 0 60px rgba(36,31,28,.03)
}
.location-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:end}
.location-word{
  font-family:Georgia,serif;font-size:clamp(5rem,11vw,10rem);line-height:.78;
  letter-spacing:-.07em;font-weight:700
}
.location-card{
  min-height:340px;background:var(--chalk);border:1px solid var(--espresso);padding:24px;
  display:flex;flex-direction:column;justify-content:space-between;border-radius:140px 140px 0 0
}
.location-card address{font-style:normal;font-size:1.05rem}
.location-card .meta{color:var(--apricot)}
.location-card p{color:var(--muted)}

.site-footer{background:var(--plum-deep);color:#fff;padding:48px 0 18px}
.colophon{
  display:grid;grid-template-columns:1.2fr .8fr;gap:46px;border-top:1px solid rgba(255,255,255,.22);padding-top:20px
}
.footer-brand{
  font-family:Georgia,serif;font-size:clamp(3.8rem,7.6vw,7.2rem);line-height:.8;
  letter-spacing:-.06em;font-weight:700;text-transform:uppercase
}
.footer-brand small{
  display:block;margin-top:18px;font-family:"Courier New",monospace;font-size:.14em;
  letter-spacing:.13em;color:var(--saffron)
}
.footer-index{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid rgba(255,255,255,.2)}
.footer-index div{padding:10px 12px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.footer-index a{text-decoration:none}
.footer-index span{display:block;font-family:"Courier New",monospace;font-size:.56rem;color:var(--apricot);margin-bottom:3px}
.footer-bottom{
  margin-top:24px;padding-top:13px;border-top:1px solid rgba(255,255,255,.16);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-family:"Courier New",monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.5)
}

.legal-hero{padding:78px 0 42px;background:var(--mist);border-bottom:1px solid var(--espresso)}
.legal-hero h1{font-size:clamp(3.8rem,7vw,7rem)}
.legal-hero .lede{margin-top:16px}
.legal-tabs{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap}
.legal-tabs a{
  text-decoration:none;border:1px solid var(--espresso);background:var(--paper);padding:10px 13px;
  font-family:"Courier New",monospace;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em
}
.legal-tabs a:hover{background:var(--apricot)}
.legal-wrap{padding:64px 0 100px}
.legal-part{
  display:grid;grid-template-columns:220px minmax(0,820px);gap:60px;
  padding-top:24px;border-top:2px solid var(--espresso)
}
.legal-part + .legal-part{margin-top:86px}
.legal-side{position:sticky;top:104px;align-self:start;display:grid;gap:8px}
.legal-side a{
  text-decoration:none;padding:7px 0;border-bottom:1px solid var(--line);
  font-family:"Courier New",monospace;font-size:.63rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)
}
.legal-copy{display:grid;gap:30px}
.legal-copy section{scroll-margin-top:104px}
.legal-copy h2{font-size:clamp(2rem,3.5vw,3rem)}
.legal-copy p,.legal-copy li{color:var(--muted)}
.legal-copy ul{padding-left:1.2rem}
.legal-copy address{font-style:normal;color:var(--muted)}
.legal-note{padding:15px 17px;background:var(--chalk);border-left:4px solid var(--apricot)}

@media(max-width:1060px){
  .nav-wrap{grid-template-columns:260px 1fr}.loc-tag{display:none}
  .magazine{grid-template-columns:1fr 1fr;grid-template-rows:280px 240px}.story.feature{grid-row:auto}.story:nth-child(2){grid-column:1/3}
}
@media(max-width:860px){
  .nav-wrap{grid-template-columns:1fr}.brand{justify-self:center;padding-top:8px}.main-nav{justify-content:center;padding-bottom:8px}
  .conservatory{grid-template-columns:1fr 1fr;grid-template-rows:auto}.hero-copy{grid-column:1/3;grid-row:auto}.tall-image{grid-column:1/3;grid-row:auto;min-height:500px}.detail-image,.season-card{grid-column:auto;grid-row:auto;min-height:220px}
  .eat-grid,.shop-grid,.catering-grid,.location-grid,.colophon{grid-template-columns:1fr}
  .gather-grid{grid-template-columns:1fr}
  .vertical-story{grid-template-columns:1fr}.vertical-aside{border-right:0;border-bottom:1px solid rgba(255,255,255,.24);padding:0 0 24px}
  .seq{grid-template-columns:90px 1fr}.seq p{grid-column:2}
  .footer-index{border-left:0;border-top:1px solid rgba(255,255,255,.2)}
  .legal-part{grid-template-columns:1fr;gap:28px}.legal-side{position:static;grid-template-columns:repeat(2,1fr);gap:0 16px}
}
@media(max-width:620px){
  .section{padding:70px 0}h1{font-size:clamp(4rem,18vw,6.3rem)}.main-nav a{font-size:.6rem;padding:7px}
  .conservatory{grid-template-columns:1fr}.hero-copy,.tall-image,.detail-image,.season-card{grid-column:1}.hero-copy{padding:26px 22px}.hero-bottom{flex-direction:column;align-items:flex-start}.tall-image{min-height:390px;border-radius:120px 120px 0 0}
  .magazine{grid-template-columns:1fr;grid-template-rows:repeat(4,240px)}.story:nth-child(2){grid-column:auto}
  .seq{grid-template-columns:1fr}.seq p{grid-column:1}
  .shop-photo{border-radius:0 110px 0 0}
  .location-word{font-size:clamp(5rem,20vw,7rem)}
  .footer-brand{font-size:clamp(4rem,17vw,6.3rem)}.footer-index{grid-template-columns:1fr}
  .legal-side{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
