:root {
  --ink: #23231f;
  --cream: #f3efe4;
  --paper: #fffdf7;
  --sage: #849681;
  --sage-dark: #3e594b;
  --clay: #b5664c;
  --gold: #c79a51;
  --line: rgba(35,35,31,.18);
  font-family: "Avenir Next", Avenir, Montserrat, ui-sans-serif, system-ui, sans-serif;
  color: var(--ink);
  background: var(--cream);
}
* { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; overflow-x: hidden; } a { color: inherit; } button, input, select, textarea { font: inherit; }
.site-header { height: 90px; padding: 0 clamp(22px,5vw,78px); display: flex; align-items: center; justify-content: space-between; background: var(--cream); border-bottom: 1px solid var(--line); position: relative; z-index: 4; }
.wordmark { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; font: 500 20px/1 Georgia, serif; text-transform: uppercase; letter-spacing: .02em; }.wordmark i { font-weight: 400; color: var(--clay); }.wordmark small { display: block; font: 700 8px/1.4 "Avenir Next", sans-serif; letter-spacing: .25em; margin-top: 5px; }.monogram { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50% 50% 4px 50%; font-size: 21px; }
nav { display: flex; align-items: center; gap: 30px; }nav a { text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }.nav-cta { border: 1px solid var(--ink); border-radius: 100px; padding: 11px 16px; }
.hero { min-height: calc(100vh - 90px); display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px,.92fr); grid-template-rows: 1fr auto; background: var(--cream); }.hero-art { grid-row: 1 / span 2; position: relative; min-height: 680px; overflow: hidden; isolation: isolate; background: linear-gradient(140deg,#607868,#a8b09c 52%,#d6b78b); }.hero-art::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 45%,rgba(34,45,38,.5)), repeating-linear-gradient(90deg,transparent 0 12%,rgba(255,255,255,.04) 12.2%); }.sun { position: absolute; width: 190px; height: 190px; border-radius: 50%; background: #e8c887; top: 11%; right: 12%; filter: blur(1px); box-shadow: 0 0 80px rgba(255,226,160,.5); }.arch { position: absolute; bottom: 22%; width: 34%; height: 46%; border-radius: 120px 120px 0 0; border: 18px solid rgba(45,60,49,.72); border-bottom: 0; }.arch-one { left: 10%; }.arch-two { right: 10%; }.table { position: absolute; bottom: 14%; width: 28%; height: 8%; background: #e4dcc8; border-radius: 50%; box-shadow: 0 25px 0 -20px #413f35; }.table::before { content: ""; position: absolute; width: 14%; height: 65px; background: #81715d; left: 43%; top: 55%; }.table-one { left: 12%; }.table-two { left: 38%; bottom: 7%; transform: scale(1.15); }.table-three { right: 8%; }.branch { position: absolute; width: 7px; height: 260px; background: #344b3a; bottom: -20px; transform-origin: bottom; }.branch::after { content: ""; position: absolute; width: 100px; height: 150px; border-radius: 100% 0 100% 0; background: #496a50; left: -40px; top: -45px; box-shadow: 45px 45px 0 -15px #65816a, -45px 85px 0 -20px #3c6047; }.branch-one { left: 5%; transform: rotate(12deg); }.branch-two { right: 4%; transform: rotate(-18deg) scale(.85); }
.hero-copy { padding: clamp(60px,9vw,130px) clamp(32px,7vw,105px) 50px; align-self: center; }.eyebrow { margin: 0 0 18px; color: var(--clay); font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }.hero h1, h2 { font: 400 clamp(55px,6vw,96px)/.94 Georgia, serif; letter-spacing: -.045em; margin: 0; }.hero h1 em, h2 em { font-weight: 400; color: var(--clay); }.lede { color: #66655e; max-width: 500px; font: 400 17px/1.75 Georgia, serif; margin: 30px 0; }.hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 35px; border: 1px solid var(--sage-dark); border-radius: 100px; text-decoration: none; padding: 14px 20px; font-size: 12px; font-weight: 800; letter-spacing: .04em; cursor: pointer; }.button.primary { color: white; background: var(--sage-dark); }.button:hover { transform: translateY(-2px); }.text-link { font-size: 12px; font-weight: 800; text-underline-offset: 5px; }.text-link span { margin-left: 8px; }.hero-foot { margin: 0 clamp(32px,7vw,105px) 40px; padding-top: 18px; border-top: 1px solid var(--line); display: flex; align-items: baseline; gap: 10px; }.hero-foot span { font-size: 10px; text-transform: uppercase; letter-spacing: .13em; }.hero-foot strong { font: 400 30px Georgia, serif; color: var(--clay); }
.marquee { background: var(--sage-dark); color: var(--paper); overflow: hidden; white-space: nowrap; padding: 18px 0; }.marquee div { font: italic 24px Georgia, serif; word-spacing: 24px; text-align: center; }.marquee i { color: #e3b96e; font-style: normal; }
.section-pad { padding: clamp(80px,10vw,150px) clamp(24px,7vw,110px); }.section-intro { display: grid; grid-template-columns: .4fr 1fr 1fr; align-items: end; gap: 50px; margin-bottom: 75px; }.section-intro h2 { font-size: clamp(42px,5vw,73px); }.section-intro > p:last-child { color: #696861; line-height: 1.8; max-width: 500px; }
.story { background: var(--paper); }.space-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px 30px; align-items: start; }.space-card { display: grid; grid-template-columns: 48px 1fr; }.space-card .scene { grid-column: 1 / -1; margin-bottom: 22px; aspect-ratio: 16/9; position: relative; overflow: hidden; background: #aa9780; }.space-card.tall .scene { aspect-ratio: 1.15; }.scene-hall { background: linear-gradient(150deg,#c5ad82,#6c765e 55%,#35483d); }.scene-hall::before { content: ""; position: absolute; width: 55%; height: 76%; border: 22px solid rgba(53,58,47,.72); border-bottom: 0; border-radius: 50% 50% 0 0; left: 22%; bottom: 0; }.scene-hall::after { content: ""; position: absolute; width: 74%; height: 15%; background: #ede0c2; border-radius: 50%; left: 13%; bottom: 12%; box-shadow: 0 28px 0 -20px #423d34; }.scene-courtyard { background: linear-gradient(180deg,#b8c2b1 0 45%,#718168 46%); }.scene-courtyard::before { content: ""; position: absolute; inset: 10% 12% 0; border-left: 16px solid #536653; border-right: 16px solid #536653; border-top: 10px solid #536653; box-shadow: inset 0 110px 0 rgba(234,218,179,.7); }.scene-courtyard::after { content: ""; position: absolute; width: 52%; height: 22%; border: 7px solid #e8ddc7; border-radius: 50% 50% 0 0; border-bottom: 0; left: 24%; bottom: 12%; }.space-card .number { grid-row: 2 / span 2; color: var(--clay); font: 400 14px Georgia, serif; }.space-card h3 { margin: 0 0 10px; font: 400 30px Georgia, serif; }.space-card > p:last-child { color: #6b6961; line-height: 1.7; margin: 0; max-width: 440px; }.quote-card { margin-top: 30px; padding: 45px; background: var(--cream); border-left: 4px solid var(--gold); }.quote-card > span { color: var(--clay); font: 70px/.5 Georgia, serif; }.quote-card p { font: italic 27px/1.35 Georgia, serif; }.quote-card small { color: #77736a; text-transform: uppercase; letter-spacing: .12em; }
.experience { background: #253a31; color: var(--paper); display: grid; grid-template-columns: .75fr 1.25fr; gap: 9vw; }.experience .eyebrow { color: #ddb56e; }.experience h2 { font-size: clamp(48px,6vw,84px); }.experience h2 em { color: #dca789; }.steps { list-style: none; margin: 0; padding: 0; }.steps li { border-top: 1px solid rgba(255,255,255,.22); padding: 32px 0; display: grid; grid-template-columns: 65px 1fr; gap: 20px; }.steps li:last-child { border-bottom: 1px solid rgba(255,255,255,.22); }.steps li > span { color: #dca789; font: 400 14px Georgia, serif; }.steps h3 { margin: 0 0 10px; font: 400 27px Georgia, serif; }.steps p { color: rgba(255,255,255,.67); line-height: 1.7; margin: 0; }
.inquiry { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9vw; background: var(--cream); }.inquiry h2 { font-size: clamp(52px,7vw,90px); }.inquiry-copy > p:not(.eyebrow) { color: #65645d; line-height: 1.75; max-width: 470px; }.privacy-note { display: flex; gap: 13px; border-top: 1px solid var(--line); margin-top: 38px; padding-top: 20px; }.privacy-note span { color: var(--clay); }.privacy-note p { font-size: 12px; line-height: 1.6; margin: 0; }.lead-form { display: grid; gap: 22px; background: var(--paper); padding: clamp(25px,4vw,52px); box-shadow: 0 30px 80px rgba(45,47,37,.09); }.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.lead-form label { display: grid; gap: 8px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.lead-form label small { font-weight: 500; color: #88847a; }.lead-form input, .lead-form select, .lead-form textarea { width: 100%; border: 0; border-bottom: 1px solid #aaa79c; background: transparent; padding: 10px 2px; color: var(--ink); outline: none; border-radius: 0; }.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { border-color: var(--clay); box-shadow: 0 2px 0 var(--clay); }.lead-form textarea { resize: vertical; line-height: 1.5; }.lead-form .consent { display: flex; flex-direction: row; align-items: flex-start; gap: 10px; text-transform: none; letter-spacing: 0; font-weight: 500; line-height: 1.5; }.consent input { width: 16px; flex: 0 0 16px; margin-top: 2px; }.honeypot { position: absolute !important; left: -10000px !important; }.submit-button { width: 100%; border: 0; padding: 16px 22px; }.submit-button:disabled { opacity: .6; cursor: wait; }.form-message { min-height: 1.5em; margin: 0; font-size: 13px; }.form-message.success { color: #2d6a4b; }.form-message.error { color: #a33b31; }
footer { background: #17251f; color: var(--paper); padding: 45px clamp(24px,7vw,110px); display: flex; justify-content: space-between; align-items: center; gap: 25px; }.wordmark.inverse .monogram { border-color: var(--paper); }footer p, footer > a:last-child { color: rgba(255,255,255,.65); font-size: 11px; }footer > a:last-child { text-transform: uppercase; letter-spacing: .1em; }
@media (max-width: 900px) { nav a:not(.nav-cta) { display: none; }.hero { grid-template-columns: 1fr; }.hero-art { grid-row: auto; min-height: 60vh; }.hero-copy { padding-top: 70px; }.hero-foot { padding-bottom: 20px; }.section-intro, .experience, .inquiry { grid-template-columns: 1fr; }.section-intro { gap: 20px; }.space-grid { gap: 60px 22px; }.experience { gap: 60px; } }
@media (max-width: 620px) { .site-header { height: 78px; }.wordmark { font-size: 16px; }.monogram { width: 37px; height: 37px; }.nav-cta { padding: 9px 12px; font-size: 10px; }.hero-art { min-height: 460px; }.hero { min-height: 0; }.hero-copy { padding-left: 24px; padding-right: 24px; }.hero h1 { font-size: 54px; }.space-grid { grid-template-columns: 1fr; }.quote-card { margin: 0; }.field-row { grid-template-columns: 1fr; }.inquiry { gap: 55px; }footer { flex-direction: column; align-items: flex-start; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
