:root {
  --ink: #26352b;
  --cream: #fbf8ee;
  --paper: #f2ecdf;
  --clay: #b96148;
  --rose: #ce8c87;
  --leaf: #667951;
  --moss: #3e563c;
  --sun: #e6bb63;
  --line: rgba(38, 53, 43, .18);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: Georgia, 'Times New Roman', serif; font-size: 18px; line-height: 1.55; }
a { color: inherit; }
.draft-notice { background: var(--moss); color: #fffdf5; text-align: center; padding: .7rem 1.25rem; font: 600 .77rem/1.35 Arial, sans-serif; letter-spacing: .02em; }
.hero { min-height: 700px; position: relative; overflow: hidden; padding: 0 7vw 5.5rem; background: linear-gradient(125deg, #f9eee2 0%, #efc9b9 58%, #d9e0b8 100%); isolation: isolate; }
.hero::before, .hero::after { content: ''; position: absolute; border-radius: 50%; z-index: -1; }
.hero::before { width: 570px; height: 570px; right: -160px; top: 95px; background: rgba(230,187,99,.38); }
.hero::after { width: 470px; height: 470px; left: -240px; bottom: -250px; background: rgba(102,121,81,.25); }
.nav { min-height: 112px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(38,53,43,.22); }
.wordmark { font-size: 1.55rem; font-weight: bold; text-decoration: none; letter-spacing: -.04em; }
.wordmark span { color: var(--clay); font-style: italic; }
.nav-links { display: flex; gap: 2rem; font: 600 .72rem Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.nav-links a { text-decoration: none; }
.nav-links a:hover, .text-link:hover { color: var(--clay); }
.hero-copy { max-width: 765px; padding-top: 8.8rem; }
.eyebrow { margin: 0 0 1rem; color: var(--clay); font: 700 .72rem Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; font-weight: normal; letter-spacing: -.045em; line-height: .98; }
h1 { font-size: clamp(3.4rem, 7.2vw, 7.2rem); }
h2 { font-size: clamp(2.6rem, 4.7vw, 4.8rem); }
h3 { font-size: 2rem; }
.lede { max-width: 570px; margin: 2rem 0 2.4rem; font-size: 1.18rem; }
.button { display: inline-block; border: 1px solid var(--ink); padding: .85rem 1.3rem; text-decoration: none; font: 700 .72rem Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; transition: .2s ease; }
.button:hover { background: var(--ink); color: white; }
.botanical { position: absolute; z-index: -1; color: var(--moss); opacity: .58; line-height: 1; }
.botanical-one { right: 13%; top: 32%; font-size: 15rem; transform: rotate(15deg); }
.botanical-two { right: 33%; bottom: 7%; font-size: 5rem; color: var(--clay); }
main { overflow: hidden; }
.intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: 7vw; padding: 9rem 10vw; background: var(--cream); }
.intro p:last-child { margin: .3rem 0; max-width: 560px; }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 7vw 9rem; background: var(--cream); }
.card { min-height: 355px; padding: 2rem; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid var(--line); }
.card-food { background: #dbe3c6; }.card-gather { background: #efc7bd; }.card-store { background: #e9d8b5; }
.card-number { align-self: flex-start; margin: 0 auto auto 0; font: 700 .75rem Arial, sans-serif; }
.card p:last-child { margin: 1rem 0 0; font-size: 1rem; }
.celebrations { display: grid; grid-template-columns: 1fr 1fr; min-height: 600px; background: var(--moss); color: #fffaf0; }
.celebration-art { position: relative; overflow: hidden; background: #93a06e; min-height: 480px; }
.stem { position: absolute; width: 7px; border-radius: 100%; background: var(--moss); transform-origin: bottom; }
.stem-a { height: 420px; left: 49%; bottom: -40px; transform: rotate(-24deg); }.stem-b { height: 440px; left: 61%; bottom: -70px; transform: rotate(19deg); }.stem-c { height: 335px; left: 25%; bottom: -35px; transform: rotate(32deg); }
.bloom { position: absolute; width: 135px; height: 135px; border-radius: 50% 50% 46% 54%; background: var(--rose); box-shadow: inset -20px -19px rgba(185,97,72,.18); }
.bloom::after { content: ''; position: absolute; width: 52px; height: 52px; left: 40px; top: 40px; border-radius: 50%; background: var(--sun); }
.bloom-a { left: 29%; top: 12%; }.bloom-b { left: 55%; top: 25%; transform: scale(.82); }.bloom-c { left: 9%; top: 49%; transform: scale(.7); }
.celebration-copy { align-self: center; padding: 5rem 10%; }.celebration-copy p:not(.eyebrow) { max-width: 490px; }.celebration-copy .eyebrow { color: #f4cb8b; }
.text-link { display: inline-block; margin-top: 1rem; font: 700 .78rem Arial, sans-serif; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.text-link span { margin-left: .5rem; font-size: 1.3em; }
.visit { display: grid; grid-template-columns: 1.25fr .75fr; gap: 8vw; align-items: center; padding: 9rem 10vw; }
.visit address { margin: 1.5rem 0; font-style: normal; font-size: 1.15rem; }.visit-copy > p:not(.eyebrow) { max-width: 520px; }
.draft-card { padding: 2.2rem; background: var(--paper); border-left: 6px solid var(--clay); }.draft-card p:last-child { margin-bottom: 0; font-size: 1rem; }
footer { display: flex; justify-content: space-between; gap: 1rem; padding: 1.8rem 7vw; background: var(--ink); color: #fffaf0; font: .76rem Arial, sans-serif; } footer p { margin: 0; } footer a { text-underline-offset: .25rem; }
@media (max-width: 750px) { body { font-size: 17px; }.hero { min-height: 620px; padding: 0 6vw 4rem; }.nav { min-height: 86px; }.nav-links { gap: .9rem; font-size: .62rem; }.hero-copy { padding-top: 6.5rem; }.botanical-one { right: -10%; top: 36%; font-size: 11rem; }.intro, .celebrations, .visit { grid-template-columns: 1fr; }.intro, .visit { gap: 2rem; padding: 5.3rem 7vw; }.cards { grid-template-columns: 1fr; padding: 0 7vw 5.3rem; }.card { min-height: 260px; }.celebrations { min-height: 0; }.celebration-copy { padding: 4rem 8%; }.celebration-art { min-height: 350px; }.visit { align-items: start; }.draft-card { margin-top: 1rem; } footer { flex-direction: column; } }
@media (max-width: 420px) { .nav-links { gap: .55rem; letter-spacing: .05em; }.wordmark { font-size: 1.2rem; }.hero-copy { padding-top: 5rem; } }
