:root { --ink: #0b130e; --ink-soft: #122117; --cream: #f2e3c9; --paper: #d9c39d; --clay: #9b5737; --brass: #c69b59; --line: rgba(242,227,201,.27); --sans: "DM Sans", sans-serif; --serif: "Fraunces", Georgia, serif; --mono: "DM Mono", monospace; }
* { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; color: var(--cream); background: var(--ink); font-family: var(--sans); font-size: 16px; } a { color: inherit; text-decoration: none; } :focus-visible { outline: 3px solid #f4c97c; outline-offset: 4px; } .page-grain { pointer-events: none; position: fixed; inset: 0; z-index: 20; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.site-header { height: 82px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(24px, 4vw, 66px); border-bottom: 1px solid var(--line); position: absolute; inset: 0 0 auto; z-index: 5; background: linear-gradient(90deg, rgba(7,17,11,.9), rgba(7,17,11,.58) 48%, rgba(7,17,11,.82)); backdrop-filter: blur(8px); } .wordmark { font-family: var(--serif); letter-spacing: .08em; font-size: 18px; } .wordmark span { color: var(--brass); } .nav-links { display: flex; gap: clamp(22px, 3vw, 46px); font-family: var(--mono); font-size: 11px; text-transform: uppercase; letter-spacing: .07em; } .nav-links a, .header-cta, footer a { transition: color .2s ease; } .nav-links a:hover, .header-cta:hover, footer a:hover { color: var(--brass); } .header-cta { justify-self: end; color: var(--cream); font-family: var(--mono); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; } .header-cta span { color: var(--brass); padding-left: 4px; } .menu-toggle { display: none; }
.hero { min-height: 780px; display: grid; grid-template-columns: minmax(420px, 47%) 1fr; background: radial-gradient(circle at 30% 30%, #193324, var(--ink) 57%); overflow: hidden; position: relative; } .hero-copy { z-index: 2; padding: 134px clamp(30px, 8vw, 128px) 64px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; } .logo-window { height: 174px; width: 174px; position: relative; margin-bottom: 25px; } .logo-window img { display:block; width:100%; height:100%; object-fit:contain; } h1,h2,h3,p { margin-top: 0; } h1 { font: 500 clamp(58px, 6.4vw, 105px)/.91 var(--serif); letter-spacing: -.055em; max-width: 650px; margin-bottom: 24px; } .hero-copy > p { max-width: 420px; color: #dfcfb2; line-height: 1.65; font-size: 17px; margin-bottom: 30px; } .hero-photo { position: relative; min-height: 680px; overflow: hidden; margin-left:-13%; width:113%; } .hero-photo:after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, var(--ink) 0%, rgba(11,19,14,.72) 10%, rgba(11,19,14,.12) 31%, transparent 48%); } .hero-photo img { height: 100%; width: 100%; object-fit: cover; object-position: 68% center; display: block; } .hero-botanical { position: absolute; color: var(--brass); right: 49%; bottom: 36px; font-size: 14px; } .hero-actions { display:flex; align-items:center; gap: 29px; } .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 15px 21px; border: 1px solid transparent; font: 500 11px var(--mono); letter-spacing:.07em; text-transform:uppercase; transition: transform .2s ease, background .2s ease; } .button:hover { transform: translateY(-2px); } .button-solid { color: var(--ink); background: var(--cream); } .button-solid:hover { background: #fff0d5; } .text-link { font: 500 11px var(--mono); letter-spacing: .06em; text-transform: uppercase; border-bottom: 1px solid currentColor; padding-bottom: 5px; } .text-link span { color: var(--brass); margin-left: 6px; }
.welcome-strip { min-height: 80px; background: #804022; display: flex; align-items:center; justify-content: center; gap: clamp(16px, 4vw, 60px); font: 500 11px var(--mono); text-transform: uppercase; letter-spacing: .12em; text-align:center; padding: 18px; }.welcome-strip p { margin: 0; }.welcome-strip span { height: 5px; width: 5px; border-radius: 50%; background: var(--cream); }
.menu-section { padding: clamp(88px, 12vw, 170px) clamp(24px, 9vw, 145px); display:grid; grid-template-columns: minmax(270px,.8fr) 1.2fr; gap: clamp(55px, 11vw, 185px); background: #0e1911; position:relative; }.menu-section:before { content:""; position:absolute; width: 380px; height: 380px; border:1px solid rgba(198,155,89,.17); border-radius: 48% 52% 49% 51%; top: 90px; left: -210px; }.section-label { font: 500 10px var(--mono); letter-spacing: .13em; text-transform: uppercase; color: var(--brass); margin-bottom: 22px; }.section-intro h2, .space-copy h2, .story-section h2, .visit-lead h2 { font: 500 clamp(38px, 4vw, 67px)/.98 var(--serif); letter-spacing:-.045em; margin-bottom: 26px; }.section-intro > p:not(.section-label), .space-copy > p:not(.section-label), .story-section p:not(.section-label), .visit-lead > p:not(.section-label) { color: #d6c4a4; line-height: 1.7; max-width: 420px; margin-bottom: 28px; }.menu-list { border-top: 1px solid var(--line); list-style:none; margin:0; padding:0; }.menu-item { padding: 30px 0 27px; border-bottom: 1px solid var(--line); display:grid; grid-template-columns: 50px 1fr auto; gap: 17px; align-items:start; transition: padding .25s ease; }.menu-item:hover { padding-left: 10px; }.menu-number { margin:5px 0; font: 10px var(--mono); color: var(--brass); }.menu-item h3 { font:500 29px/1 var(--serif); letter-spacing:-.03em; margin-bottom:10px; }.menu-item div p { color:#cdbb9b; max-width: 380px; margin-bottom:0; line-height:1.55; font-size:14px; }.menu-mark { color: var(--brass); font-size: 18px; }
.space-section { display:grid; grid-template-columns: 1.05fr .95fr; min-height:650px; background: var(--paper); color: var(--ink); }.space-image { min-height: 560px; overflow:hidden; }.space-image img { width:100%; height:100%; object-fit:cover; object-position: 66% center; filter:saturate(.72) contrast(1.08); }.space-copy { padding: clamp(65px, 9vw, 145px) clamp(30px,7vw,115px); display:flex; flex-direction:column; justify-content:center; background: linear-gradient(135deg, #e6d2ad, #d4bd94); }.space-copy .section-label { color:#6d482b; }.space-copy > p:not(.section-label) { color:#35402d; }.quote { border-top: 1px solid rgba(11,19,14,.25); padding-top:20px; display:flex; gap:12px; align-items:baseline; }.quote span { font: 48px/.6 var(--serif); color: var(--clay); }.quote p { font: 500 18px/1.35 var(--serif); margin:0; max-width: 240px; }
.story-section { padding: clamp(105px, 13vw, 180px) clamp(24px, 16vw, 250px); display:flex; justify-content:center; background:radial-gradient(ellipse at 50% 50%, #193d28, #12301e 70%); text-align:center; }.story-section > div { max-width: 760px; }.story-section .section-label { margin-bottom:24px; }.story-section h2 { font-size:clamp(43px, 5.2vw, 78px); }.story-section p:not(.section-label) { color:#e3d2b7; margin-left:auto; margin-right:auto; }
.visit-section { background:var(--cream); color:var(--ink); padding: clamp(70px, 9vw, 130px) clamp(24px, 9vw, 145px); display:grid; grid-template-columns: .9fr 1.1fr; gap:70px; }.visit-lead .section-label,.detail-label { color: #804022; }.visit-lead > p:not(.section-label) { color:#263420; }.button-dark { background:var(--ink); color:var(--cream); }.button-dark:hover { background:#263e2b; }.visit-details { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; align-self:end; border-top:1px solid rgba(11,19,14,.25); padding-top: 26px; }.detail-label { font:500 10px var(--mono); letter-spacing:.11em; text-transform:uppercase; margin-bottom:10px; }.visit-details div>p:not(.detail-label) { font:500 15px/1.55 var(--serif); margin:0; }.email-form { border-bottom:1px solid var(--ink); display:flex; align-items:center; }.email-form input { width:100%; border:0; background:transparent; padding: 8px 0; outline:0; font: 13px var(--sans); }.email-form input::placeholder { color: #4b473d; }.email-form button { background:0; border:0; font-size:20px; cursor:pointer; }.form-message { color:#4a321f; font-size:12px; min-height:18px; margin: 8px 0 0!important; }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
footer { padding: 39px clamp(24px, 4vw, 66px); display:grid; grid-template-columns:1fr 1fr 1fr; align-items:end; background:#09100b; color:#cdbb9b; font: 10px var(--mono); letter-spacing:.06em; text-transform:uppercase; } footer .footer-logo { font:500 21px/.82 var(--serif); letter-spacing:-.05em; color:var(--cream); } footer p { margin:0; text-align:center; } footer div { justify-self:end; display:flex; gap:20px; }
@media (max-width: 850px) { .site-header { grid-template-columns:1fr auto; height:70px; } .menu-toggle { display:block; justify-self:end; width:34px; height:30px; border:0; background:transparent; position:relative; z-index:2; padding:8px 0; }.menu-toggle span { display:block; height:1px; width:26px; background:var(--cream); margin:6px 0; transition:.2s;}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)} .nav-links { position:absolute; top:70px; left:0; right:0; padding:24px; display:none; flex-direction:column; gap:18px; background:#0e1911; border-bottom:1px solid var(--line); }.nav-links.open { display:flex; }.header-cta { display:none; }.hero { grid-template-columns:1fr; min-height:auto; }.hero-copy { padding:110px 28px 63px; min-height: 595px; }.hero-photo { min-height:375px; margin-left:0; width:100%; }.hero-photo:after { background:linear-gradient(180deg,var(--ink),transparent 32%); }.logo-window { width:160px;height:160px;margin-bottom:19px; }.logo-window img { width:100%;height:100%; }.hero-botanical{right:30px;bottom:24px}.welcome-strip { gap:11px; font-size:9px; }.welcome-strip span{width:3px;height:3px}.menu-section,.space-section,.visit-section { grid-template-columns:1fr; }.menu-section { gap:50px; }.space-section .space-image { min-height:360px; }.space-section .space-copy { padding:70px 28px; }.story-section { padding:88px 28px; }.visit-details { grid-template-columns:1fr; gap:26px; }.visit-section { gap:45px; }.hero-actions { gap:19px; flex-wrap:wrap; } footer { grid-template-columns:1fr auto; gap:28px; } footer p { text-align:right; } footer div { grid-column:1/-1; justify-self:start; } }
@media (prefers-reduced-motion: no-preference) { .hero-copy { animation: hero-rise .8s cubic-bezier(.2,.8,.2,1) both; } .hero-photo { animation: hero-photo-in 1.2s cubic-bezier(.2,.8,.2,1) both; } .reveal { opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); } .reveal.is-visible { opacity:1; transform:none; } .reveal.delay-1 { transition-delay:.11s; } .reveal.delay-2 { transition-delay:.2s; } .space-image img { transition: transform 1.1s cubic-bezier(.2,.8,.2,1); } .space-image:hover img { transform:scale(1.035); } @keyframes hero-rise { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } } @keyframes hero-photo-in { from { opacity:0; transform:scale(1.035); } to { opacity:1; transform:scale(1); } } }
@media (max-width: 430px) { h1 { font-size:56px; }.hero-copy { min-height:560px; }.menu-item { grid-template-columns:32px 1fr auto; gap:7px; }.menu-item h3 { font-size:25px; }.welcome-strip p:nth-of-type(2), .welcome-strip span:nth-of-type(2) { display:none; } }
@media (prefers-reduced-motion: reduce) { *,html { scroll-behavior:auto!important; transition:none!important; } }

/* Editorial warm-paper refresh */
:root { --ink:#2a1711; --ink-soft:#513327; --cream:#f8f0e2; --paper:#ecd7b8; --clay:#b84d2e; --brass:#934425; --line:rgba(70,36,23,.22); }
body { color:var(--ink); background:#f8f0e2; }
.page-grain { opacity:.055; mix-blend-mode:multiply; }
.site-header { background:rgba(248,240,226,.86); border-bottom-color:rgba(70,36,23,.15); color:var(--ink); backdrop-filter:blur(12px); }
.wordmark { color:#5c271b; }.header-cta { color:#5c271b; }.nav-links a:hover,.header-cta:hover,footer a:hover { color:var(--clay); }
.hero { background:#f8f0e2; min-height:790px; }.hero-copy { padding-left:clamp(30px,8vw,128px); position:relative; }.hero-copy:before { content:""; position:absolute; width:230px; height:230px; border:2px solid rgba(139,67,36,.22); border-radius:50%; left:clamp(-126px,-4vw,-32px); top:150px; box-shadow:18px 13px 0 -16px rgba(139,67,36,.25), 45px 49px 0 -42px rgba(139,67,36,.2); }.brand-row { height:152px; display:flex; align-items:flex-start; gap:24px; margin-bottom:25px; position:relative; z-index:1; }.logo-window { flex:0 0 152px; width:152px; height:152px; margin:0; transform:rotate(-4deg); }.logo-window img { filter:sepia(.9) saturate(1.45) hue-rotate(335deg) brightness(.52); }
h1 { color:#3b1d14; letter-spacing:-.06em; }.hero-copy > p { color:#583c30; }.coffee-note { display:block; width:132px; padding-top:8px; transform:rotate(-9deg); color:#a8492e; font:600 24px/1.05 "Caveat",cursive; }.hero-photo { margin-left:-7%; width:107%; clip-path:polygon(7% 0,100% 0,100% 96%,91% 100%,4% 96%,0 6%); box-shadow:-20px 22px 0 #dca77f; }.hero-photo:after { background:linear-gradient(90deg,#f8f0e2 0%,rgba(248,240,226,.75) 8%,rgba(248,240,226,.05) 31%,transparent 48%); }.hero-photo img { filter:sepia(.28) saturate(.8) brightness(1.08); }.hero-botanical { right:47%; color:#bd5c3a; }.hero-heart { position:absolute; color:#bd5c3a; font:600 54px/1 "Caveat",cursive; right:48%; top:196px; transform:rotate(-15deg); }
.button-solid { color:#fff8eb; background:#aa4329; }.button-solid:hover { background:#85321f; }.text-link { color:#80371f; }.text-link span { color:#bd5c3a; }
.welcome-strip { background:#b84d2e; color:#fff8eb; }.welcome-strip span { background:#f8d3a3; }
.menu-section { background:#ecd7b8; color:#3a2016; }.menu-section:before { border-color:rgba(120,61,37,.18); }.section-label { color:#a44429; }.section-intro > p:not(.section-label) { color:#644637; }.menu-list { border-color:rgba(70,36,23,.25); }.menu-item { border-color:rgba(70,36,23,.25); }.menu-item h3 { color:#3a2016; }.menu-item div p { color:#604435; }.menu-number,.menu-mark { color:#aa4529; }.menu-scribble { position:absolute; left:clamp(29px,10vw,150px); bottom:68px; color:#a6452b; font:600 28px/.94 "Caveat",cursive; transform:rotate(-8deg); }
.space-section { background:#d98c72; }.space-image { position:relative; clip-path:polygon(0 0,96% 0,100% 8%,97% 100%,0 94%); }.space-image:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(63,30,19,.08),transparent); pointer-events:none; }.space-copy { position:relative; background:#f7ead5; }.space-copy .section-label { color:#a44429; }.space-copy > p:not(.section-label) { color:#4f3329; }.little-stamp { position:absolute; right:clamp(22px,4vw,62px); top:42px; padding:10px 8px; border:2px solid #a4452b; color:#a4452b; font:500 9px/1.25 var(--mono); letter-spacing:.08em; text-align:center; transform:rotate(7deg); }.quote { border-color:rgba(70,36,23,.25); }.quote span { color:#b84d2e; }
.story-section { position:relative; overflow:hidden; background:#fbf4e8; color:#3a2016; }.story-section:before { content:"a note from our table"; position:absolute; left:clamp(24px,8vw,120px); top:clamp(68px,9vw,135px); color:#aa4529; font:600 28px/1 "Caveat",cursive; transform:rotate(-10deg); }.story-section:after { content:"♥"; position:absolute; right:clamp(38px,11vw,190px); bottom:clamp(55px,8vw,110px); color:#b84d2e; font:600 44px/1 "Caveat",cursive; transform:rotate(12deg); }.story-section h2 { color:#3b1d14; }.story-section p:not(.section-label) { color:#5e3e30; }.story-section > div { position:relative; z-index:1; }
.visit-section { background:#f2d9b8; }.visit-lead > p:not(.section-label) { color:#4e3127; }.visit-lead h2 { color:#3a1d14; }.visit-lead { position:relative; }.visit-note { display:block; margin:22px 0 0 8px; color:#a54329; font:600 28px/1 "Caveat",cursive; transform:rotate(-5deg); }.visit-details { border-color:rgba(70,36,23,.24); }.visit-lead .section-label,.detail-label { color:#a44429; }.button-dark { background:#5a291d; color:#fff8eb; }.button-dark:hover { background:#80371f; }
footer { background:#3b1e15; color:#f4d6ad; } footer .footer-logo { color:#fff3df; }
@media (max-width:850px) { .site-header { background:rgba(248,240,226,.93); }.menu-toggle span { background:#4d291d; }.nav-links { background:#f8f0e2; border-bottom-color:rgba(70,36,23,.18); }.hero { min-height:auto; }.hero-copy { min-height:625px; }.brand-row { height:160px; gap:18px; margin-bottom:20px; }.logo-window { flex-basis:152px; width:152px; height:152px; }.coffee-note { width:118px; padding-top:14px; font-size:21px; }.hero-heart { right:25px; top:278px; }.hero-photo { clip-path:none; width:100%; margin-left:0; box-shadow:none; }.menu-scribble { display:none; }.little-stamp { top:22px; }.story-section { padding:110px 28px 92px; }.story-section:before { left:25px; top:46px; font-size:23px; }.story-section:after { right:32px; bottom:38px; }.visit-note { font-size:25px; } }

/* Editorial finishing details */
.hero { isolation:isolate; }.hero-copy { padding-top:150px; }.hero-copy:after { content:""; position:absolute; width:122px; height:122px; left:clamp(315px,27vw,440px); bottom:74px; border:1px dashed rgba(155,65,37,.48); border-radius:50%; opacity:.8; }.hero-subnote { display:flex; align-items:center; gap:8px; color:#8d3c26!important; font:600 22px/1 "Caveat",cursive!important; transform:rotate(-2deg); margin:-7px 0 25px!important; }.hero-subnote span { font:13px var(--mono); color:#bc5535; }.hero-postmark { position:absolute; z-index:3; right:clamp(24px,4vw,62px); bottom:92px; width:92px; height:92px; display:grid; place-content:center; border:2px solid #b54c30; border-radius:50%; color:#b54c30; text-align:center; font:500 9px/1.35 var(--mono); letter-spacing:.08em; transform:rotate(11deg); background:rgba(248,240,226,.78); box-shadow:0 0 0 5px rgba(248,240,226,.5); }.hero-postmark:after { content:"✦"; display:block; font-size:14px; margin-top:3px; }.hero-photo { box-shadow:-20px 22px 0 #dca77f, 9px 9px 0 rgba(76,35,22,.22); }.hero-photo:before { content:"made for slow mornings"; position:absolute; z-index:2; right:39px; bottom:36px; color:#fff4df; font:600 26px/1 "Caveat",cursive; transform:rotate(-5deg); text-shadow:0 2px 13px rgba(25,11,6,.75); }
.menu-section { background:linear-gradient(115deg,#ecd7b8,#f5e3c8 54%,#ebd0ad); }.menu-section .section-intro { align-self:start; position:sticky; top:110px; }.menu-list { position:relative; }.menu-list:after { content:"served with a little love"; display:block; color:#a6452b; font:600 25px/1 "Caveat",cursive; margin:25px 0 0 74px; transform:rotate(-4deg); }.menu-item { position:relative; }.menu-item:before { content:""; position:absolute; left:-16px; top:33px; width:5px; height:5px; border-radius:50%; background:#bd5434; opacity:0; transition:opacity .2s ease,transform .2s ease; }.menu-item:hover:before { opacity:1; transform:scale(1.9); }.menu-item:hover h3 { color:#9f3e27; }
.space-section { position:relative; }.space-section:before { content:""; position:absolute; height:56px; width:155px; background:rgba(249,238,216,.75); left:calc(50% - 70px); top:-25px; z-index:2; transform:rotate(-4deg); box-shadow:0 5px 12px rgba(72,30,18,.14); }.space-image img { transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter .4s ease; }.space-image:hover img { filter:sepia(.34) saturate(.83) brightness(1.08); }.little-stamp { box-shadow:3px 4px 0 rgba(156,69,43,.17); }
.story-section { display:grid; grid-template-columns:240px minmax(0,680px); align-items:center; justify-content:center; gap:clamp(55px,10vw,150px); text-align:left; background:linear-gradient(135deg,#fbf4e8 0%,#f4e0c2 100%); }.story-section:before { opacity:.68; }.story-section > div { max-width:680px; }.story-section p:not(.section-label) { margin-left:0; margin-right:0; }.house-note { width:220px; min-height:248px; align-self:center; position:relative; padding:27px 24px 18px; background:#fff9ed; color:#603528; box-shadow:9px 10px 0 rgba(142,70,43,.18), 0 10px 23px rgba(72,30,18,.12); transform:rotate(-4deg); border:1px solid rgba(117,59,38,.14); }.house-note:before { content:""; position:absolute; left:0; right:0; top:43px; border-top:1px solid rgba(117,59,38,.18); }.note-number { color:#ad472c; font:500 10px var(--mono); letter-spacing:.12em; }.note-label { color:#a54529; font:500 9px var(--mono)!important; letter-spacing:.11em; text-transform:uppercase; margin:25px 0 10px!important; }.note-main { color:#542a1c!important; font:600 31px/.94 "Caveat",cursive; margin:0 0 12px!important; }.note-small { color:#6d4638!important; font:500 17px/1.05 "Caveat",cursive; margin:0!important; }.note-heart { position:absolute; right:20px; bottom:12px; color:#b54c30; font:600 35px/1 "Caveat",cursive; }.story-copy .section-label { margin-bottom:23px; }.story-copy h2 { margin-bottom:24px; }
.visit-section { position:relative; overflow:hidden; }.visit-section:after { content:""; position:absolute; width:240px; height:240px; right:-110px; top:-86px; border:2px solid rgba(178,77,47,.2); border-radius:50%; box-shadow:-22px 14px 0 -18px rgba(178,77,47,.17),-50px 38px 0 -46px rgba(178,77,47,.16); }.visit-lead,.visit-details { position:relative; z-index:1; }.visit-details > div { transition:transform .25s ease; }.visit-details > div:hover { transform:translateY(-4px); }.visit-details > div:first-child:before { content:"☕"; display:block; color:#b64b2d; font-size:19px; margin-bottom:8px; filter:sepia(1); } footer em { display:block; margin-top:5px; color:#e6a780; font:600 18px/1 "Caveat",cursive; letter-spacing:0; text-transform:none; }
@media (max-width:850px) { .hero-copy { padding-top:116px; }.hero-copy:after,.hero-postmark { display:none; }.hero-subnote { font-size:20px!important; margin-top:-2px!important; }.hero-photo:before { font-size:21px; right:20px; bottom:22px; }.menu-section .section-intro { position:static; }.menu-list:after { margin-left:35px; }.space-section:before { left:calc(50% - 76px); }.story-section { display:flex; flex-direction:column; align-items:flex-start; gap:44px; text-align:left; }.story-section > div { max-width:none; }.story-section p:not(.section-label) { margin-left:0; }.house-note { width:205px; margin-left:25px; }.visit-details > div:first-child:before { display:none; } }

/* Final micro-polish: editorial motion, hierarchy, and tactility */
.site-header { box-shadow:0 1px 0 rgba(108,57,36,.06); }.nav-links a { position:relative; padding:6px 0; }.nav-links a:after { content:""; position:absolute; height:1px; width:0; left:0; bottom:0; background:#b84d2e; transition:width .22s ease; }.nav-links a:hover:after,.nav-links a:focus-visible:after { width:100%; }.header-cta { padding:8px 0; border-bottom:1px solid transparent; }.header-cta:hover,.header-cta:focus-visible { border-bottom-color:#b84d2e; }
.button { position:relative; overflow:hidden; isolation:isolate; letter-spacing:.085em; }.button:before { content:""; position:absolute; inset:0; background:#7e2c1b; transform:translateX(-102%); transition:transform .25s cubic-bezier(.2,.8,.2,1); z-index:-1; }.button-solid:hover { background:#aa4329; color:#fff8eb; }.button-solid:hover:before { transform:none; }.button-dark:before { background:#aa4329; }.button-dark:hover { background:#5a291d; }.button-dark:hover:before { transform:none; }.text-link { transition:color .2s ease,border-color .2s ease; }.text-link:hover { color:#b84d2e; }.text-link span { display:inline-block; transition:transform .2s ease; }.text-link:hover span { transform:translateX(5px); }
.hero-copy > p:not(.hero-subnote) { max-width:385px; }.hero-actions { margin-top:3px; }.hero-photo img { transition:transform 1.25s cubic-bezier(.2,.8,.2,1),filter .5s ease; }.hero:hover .hero-photo img { transform:scale(1.025); }.hero:hover .hero-heart { animation:tiny-heart 1s ease-in-out both; }.hero-postmark { transition:transform .3s ease,background .3s ease; }.hero:hover .hero-postmark { transform:rotate(6deg) scale(1.04); background:rgba(255,249,237,.96); }
.menu-item { padding-right:22px; }.menu-item:after { content:"→"; position:absolute; right:0; top:50%; color:#b84d2e; font-size:20px; opacity:0; transform:translate(-8px,-50%); transition:opacity .2s ease,transform .2s ease; }.menu-item:hover:after { opacity:1; transform:translate(0,-50%); }.menu-item:hover { background:linear-gradient(90deg,rgba(255,251,243,.32),transparent 68%); }.space-copy { overflow:hidden; }.space-copy:after { content:"♡"; position:absolute; right:26px; bottom:23px; color:rgba(180,75,45,.46); font:600 44px/1 "Caveat",cursive; transform:rotate(-10deg); }.quote p { transition:transform .25s ease; }.space-copy:hover .quote p { transform:translateX(5px); }
.house-note { transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease; }.house-note:hover { transform:rotate(-1deg) translateY(-5px); box-shadow:13px 16px 0 rgba(142,70,43,.15),0 18px 27px rgba(72,30,18,.14); }.visit-details > div { padding-top:3px; }.email-form { transition:border-color .2s ease; }.email-form:focus-within { border-bottom-color:#b84d2e; }.email-form button { color:#7d331f; transition:transform .2s ease,color .2s ease; }.email-form button:hover { color:#b84d2e; transform:translateX(4px); } footer { position:relative; overflow:hidden; } footer:after { content:""; position:absolute; width:190px; height:190px; right:-75px; top:-124px; border:1px solid rgba(239,182,135,.22); border-radius:50%; }
@keyframes tiny-heart { 50% { transform:rotate(-15deg) scale(1.13); } }
@media (prefers-reduced-motion:reduce) { .hero-photo img,.hero-postmark,.text-link span,.house-note,.quote p,.visit-details > div,.email-form button { transition:none!important; } }
@media (max-width:850px) { .site-header { box-shadow:0 1px 0 rgba(108,57,36,.1); }.hero:hover .hero-photo img { transform:none; }.menu-item:after { display:none; }.menu-item { padding-right:0; }.space-copy:after { right:17px; bottom:18px; }.house-note:hover { transform:rotate(-4deg); } }

/* Production logo treatment: remove the original dark image field against the warm paper. */
.logo-window img { filter:invert(1) sepia(.8) saturate(1.45) hue-rotate(335deg) brightness(.52); mix-blend-mode:multiply; }
