:root {
  color-scheme: light;
  --ink: #28352d;
  --muted: #68766b;
  --cream: #f7f3ed;
  --paper: #fffdf8;
  --rose: #b95055;
  --rose-dark: #993e45;
  --sage: #788d70;
  --line: #dedbd1;
  font-family: "DM Sans", sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); }
a { color: inherit; }
.site-header { height: 112px; padding: 0 7.1%; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(40,53,45,.1); }
.wordmark { display: flex; align-items: center; text-decoration: none; }
.wordmark img { display: block; width: 104px; height: 104px; object-fit: contain; mix-blend-mode: multiply; }
nav { display: flex; align-items: center; gap: 38px; font-size: 12px; font-weight: 600; letter-spacing: .04em; }
nav a, footer a { text-decoration: none; }
nav a:hover, footer a:hover { color: var(--rose); }
.nav-cta { border-bottom: 1px solid var(--ink); padding: 8px 0; }
.nav-cta span { margin-left: 10px; color: var(--rose); }
.hero { min-height: 690px; padding: 70px 9.5% 85px; display: grid; grid-template-columns: 1fr 1.04fr; align-items: center; position: relative; overflow: hidden; }
.hero-copy { position: relative; z-index: 2; padding: 0 0 16px; }
.eyebrow { color: var(--rose); text-transform: uppercase; letter-spacing: .19em; font-size: 9px; font-weight: 700; margin: 0 0 25px; }
.hero .eyebrow { display: flex; align-items: center; gap: 11px; }
.hero .eyebrow span { width: 24px; height: 1px; background: var(--rose); }
h1, h2 { font-family: "Playfair Display", Georgia, serif; font-weight: 500; letter-spacing: -.045em; }
h1 { font-size: clamp(56px, 6.9vw, 94px); line-height: .99; margin: 0 0 25px; }
h1 em, h2 em { color: var(--rose); font-weight: 500; }
.hero-lede { max-width: 380px; color: var(--muted); font-size: 14px; line-height: 1.8; margin: 0 0 28px; }
.button { display: inline-flex; min-height: 52px; gap: 24px; align-items: center; justify-content: center; padding: 0 21px; background: var(--rose); color: white; text-decoration: none; font-size: 11px; font-weight: 600; letter-spacing: .04em; transition: background .2s, transform .2s; }
.button:hover { background: var(--rose-dark); transform: translateY(-2px); }
.button span { font-size: 16px; }
.offer { display: flex; align-items: baseline; gap: 12px; width: fit-content; margin: 0 0 22px; padding: 11px 16px; border-left: 2px solid var(--rose); background: rgba(255,253,248,.72); }
.offer > span { color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.offer strong { color: var(--rose); font-family: "Playfair Display", Georgia, serif; font-size: 24px; font-weight: 500; }
.offer small { color: var(--ink); font-family: "DM Sans", sans-serif; font-size: 11px; font-weight: 500; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.text-link { color: var(--ink); text-decoration-color: rgba(40,53,45,.45); text-underline-offset: 5px; font-size: 11px; font-weight: 600; letter-spacing: .04em; }
.text-link span { margin-left: 8px; color: var(--rose); font-size: 15px; }
.text-link:hover { color: var(--rose-dark); }
.hero-note { margin: 17px 0 0; color: #879087; font-family: "Playfair Display", Georgia, serif; font-size: 13px; font-style: italic; }
.hero-art { position: relative; width: min(100%, 520px); aspect-ratio: .95; justify-self: end; overflow: hidden; background: #e8dfd2; border-radius: 48% 48% 3px 3px; }
.hero-art::before { content: ""; position: absolute; inset: 7% 7% 0; border: 1px solid rgba(255,253,248,.55); border-bottom: 0; border-radius: 48% 48% 0 0; z-index: 2; }
.sun-disc { position: absolute; width: 40%; aspect-ratio: 1; border-radius: 50%; background: #e3b69e; top: 18%; left: 31%; opacity: .68; }
.art-ground { position: absolute; width: 130%; height: 30%; bottom: -12%; left: -15%; border-radius: 50% 50% 0 0; background: #c6c3a7; }
.stem { position: absolute; z-index: 3; bottom: 12%; width: 2px; background: #6d8068; transform-origin: bottom; }
.stem-one { height: 49%; left: 35%; transform: rotate(-8deg); }.stem-two { height: 65%; left: 55%; transform: rotate(9deg); }.stem-three { height: 47%; left: 71%; transform: rotate(16deg); }
.leaf { position: absolute; z-index: 4; width: 17%; height: 7%; background: #85947a; border-radius: 100% 0 100% 0; }
.leaf-one { left: 24%; bottom: 36%; transform: rotate(18deg); }.leaf-two { left: 37%; bottom: 25%; transform: rotate(188deg); }.leaf-three { left: 49%; bottom: 32%; transform: rotate(-20deg); }.leaf-four { left: 63%; bottom: 23%; transform: rotate(190deg); }
.flower { --petal: #c86469; position: absolute; z-index: 5; width: 18%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(ellipse at center, #dcb680 0 10%, transparent 11%), radial-gradient(ellipse at 50% 0%, var(--petal) 0 23%, transparent 24%), radial-gradient(ellipse at 50% 100%, var(--petal) 0 23%, transparent 24%), radial-gradient(ellipse at 0% 50%, var(--petal) 0 23%, transparent 24%), radial-gradient(ellipse at 100% 50%, var(--petal) 0 23%, transparent 24%); }
.flower i { position: absolute; inset: 40%; border-radius: 50%; background: #d8b474; }
.flower-one { left: 25%; top: 31%; transform: scale(.75) rotate(13deg); --petal: #d9847c; }.flower-two { left: 44%; top: 19%; transform: scale(1.15) rotate(-8deg); --petal: #be555c; }.flower-three { left: 63%; top: 34%; transform: scale(.8) rotate(20deg); --petal: #e0a088; }.flower-four { left: 15%; top: 46%; transform: scale(.5) rotate(5deg); --petal: #e3a48b; }.flower-five { left: 73%; top: 49%; transform: scale(.55) rotate(-10deg); --petal: #c86469; }
.art-caption { position: absolute; z-index: 6; top: 8%; right: 8%; color: var(--ink); font-family: "Playfair Display", Georgia, serif; font-size: 15px; line-height: 1.25; font-style: italic; transform: rotate(5deg); }
.hero-index { position: absolute; bottom: 30px; left: 9.5%; color: #828b80; font-size: 9px; letter-spacing: .13em; }.hero-index span { display: inline-block; width: 45px; height: 1px; margin: 0 10px 3px; background: #aeb4a9; }
.intro { background: var(--paper); text-align: center; padding: 96px 20px 102px; }
.intro .eyebrow { margin-bottom: 20px; }.intro h2 { margin: 0 auto 19px; font-size: clamp(38px, 4.3vw, 57px); }.intro > p:last-child { max-width: 505px; margin: 0 auto; color: var(--muted); font-size: 13px; line-height: 1.85; }
.contact { margin: 70px auto; width: min(1100px, 86%); min-height: 310px; padding: 64px 8%; display: grid; grid-template-columns: 1fr 1fr; align-items: center; position: relative; overflow: hidden; background: #33473b; color: var(--paper); }
.contact .eyebrow { color: #e8b4a4; margin-bottom: 18px; }.contact h2 { font-size: clamp(43px, 5vw, 66px); line-height: 1.03; margin: 0; position: relative; z-index: 2; }.contact-action { max-width: 335px; position: relative; z-index: 2; }.contact-action p { color: #d5ddd2; font-size: 13px; line-height: 1.8; margin: 0 0 22px; }.button-light { background: #f3e7dc; color: var(--ink); }.button-light:hover { background: white; }.contact-flower { position: absolute; right: -5px; bottom: -100px; color: rgba(255,255,255,.055); font-size: 310px; line-height: 1; }
footer { min-height: 104px; padding: 0 7.1%; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); color: #768075; font-size: 10px; letter-spacing: .04em; }
.footer-brand { display: inline-flex; align-items: center; }
.footer-brand img { display: block; width: 78px; height: 78px; object-fit: contain; mix-blend-mode: multiply; }
@media (min-width: 1500px) { .hero { padding-left: calc((100vw - 1220px)/2); padding-right: calc((100vw - 1220px)/2); }.hero-index { left: calc((100vw - 1220px)/2); } }
@media (max-width: 760px) {
  .site-header { height: 92px; padding: 0 6%; } .wordmark img { width: 86px; height: 86px; } nav { gap: 19px; font-size: 10px; } nav a:first-child { display: none; }
  .hero { min-height: 0; padding: 57px 7% 64px; grid-template-columns: 1fr; gap: 37px; }.hero-copy { padding: 0; } h1 { font-size: clamp(58px, 15vw, 88px); }.hero-lede { max-width: 420px; }.hero-art { width: min(100%, 470px); justify-self: center; }.hero-index { left: 7%; bottom: 20px; }
  .intro { padding: 74px 8% 78px; }.contact { width: 100%; margin: 0; padding: 60px 8%; grid-template-columns: 1fr; gap: 27px; }.contact-action { max-width: 390px; } footer { padding: 22px 6%; gap: 15px; flex-wrap: wrap; } footer span { order: 3; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; } }
