:root { --ink:#2b1b12; --clay:#bb4c26; --cream:#f7f0e4; --butter:#e9bb45; --paper:#fffdf8; --sage:#81906b; --line:rgba(43,27,18,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Manrope,Arial,sans-serif; font-size:16px; line-height:1.6; }
a { color:inherit; }
.skip-link { position:absolute; left:-999px; top:0; background:var(--ink); color:#fff; padding:.7rem 1rem; z-index:10; }
.skip-link:focus { left:1rem; top:1rem; }
.site-header { display:flex; justify-content:space-between; align-items:center; max-width:1200px; padding:1.4rem 2rem; margin:auto; }
.brand { font-family:Fraunces,Georgia,serif; font-size:1.2rem; font-weight:700; display:flex; align-items:center; gap:.6rem; }
.brand-mark { display:grid; place-items:center; width:2.1rem; height:2.1rem; color:var(--cream); background:var(--clay); border-radius:50%; font-family:'DM Mono',monospace; font-size:.75rem; }
.draft-flag,.eyebrow,.art-caption { margin:0; font-family:'DM Mono',monospace; font-size:.68rem; letter-spacing:.09em; text-transform:uppercase; }
.draft-flag { border:1px solid var(--line); padding:.35rem .6rem; }
.hero { max-width:1200px; min-height:560px; margin:0 auto 6rem; display:grid; grid-template-columns:1.03fr .97fr; background:var(--paper); border:1px solid var(--line); }
.hero-copy { padding:clamp(3.5rem,8vw,7rem) clamp(2rem,6vw,6rem); display:flex; flex-direction:column; justify-content:center; }
.eyebrow { color:var(--clay); font-weight:700; }
h1,h2,h3 { margin:.35rem 0 1rem; font-family:Fraunces,Georgia,serif; line-height:1.04; letter-spacing:-.035em; }
h1 { font-size:clamp(3.2rem,6vw,5.8rem); max-width:10ch; }
h2 { font-size:clamp(2.15rem,4vw,3.8rem); max-width:15ch; }
h3 { font-size:1.6rem; }
.lede { max-width:37rem; font-size:1.07rem; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.1rem 1.6rem; margin-top:1.5rem; }
.button { text-decoration:none; padding:.88rem 1.2rem; color:var(--paper); background:var(--clay); font-weight:700; }
.text-link { font-weight:700; text-underline-offset:.25em; }
.hero-art { position:relative; overflow:hidden; min-height:400px; background:var(--butter); background-image:repeating-linear-gradient(115deg,rgba(255,253,248,.28) 0 1px,transparent 1px 16px); }
.sun { position:absolute; width:17rem; height:17rem; top:10%; right:12%; border-radius:50%; background:#f8d982; border:1px solid rgba(43,27,18,.13); }
.croissant { position:absolute; width:18rem; height:10rem; left:18%; top:31%; border-radius:0 0 12rem 12rem; border:3.6rem solid var(--clay); border-top:0; transform:rotate(-12deg); filter:drop-shadow(12px 12px 0 rgba(43,27,18,.12)); }
.croissant:before,.croissant:after { content:""; position:absolute; background:var(--butter); width:5.2rem; height:4.8rem; top:-.7rem; border-radius:50%; }
.croissant:before { left:-4.15rem; }.croissant:after { right:-4.15rem; }
.croissant i { position:absolute; bottom:-3.6rem; width:2px; height:2.4rem; background:#7c2c18; transform:rotate(20deg); }.croissant i:nth-child(1){left:19%;}.croissant i:nth-child(2){left:36%;}.croissant i:nth-child(3){left:53%;}.croissant i:nth-child(4){left:70%;}.croissant i:nth-child(5){left:87%;}
.loaf { position:absolute; bottom:-2.4rem; width:12rem; height:7rem; background:var(--sage); border-radius:50% 50% 20% 20%; transform:rotate(-18deg); }.loaf:before { content:""; position:absolute; inset:1rem 2rem auto; height:2px; background:var(--cream); box-shadow:0 1.15rem 0 var(--cream); }.loaf-one{left:-3rem}.loaf-two{right:-4rem;transform:rotate(24deg) scale(.8)}
.art-caption { position:absolute; bottom:1.6rem; left:2rem; color:rgba(43,27,18,.75); font-weight:700; }
.intro,.range,.visit { max-width:1100px; margin:0 auto; padding:0 2rem; }.intro { margin-bottom:7rem; }.intro > p:not(.eyebrow) { max-width:45rem; font-size:1.07rem; }
.range { margin-bottom:7rem; }.section-heading { display:flex; align-items:flex-end; justify-content:space-between; border-bottom:1px solid var(--line); margin-bottom:1.4rem; }.section-heading h2{margin-bottom:1.4rem}.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.card { min-height:240px; padding:1.7rem; border:1px solid var(--line); background:var(--paper); }.card-number { font-family:'DM Mono',monospace; font-size:.72rem; color:var(--clay); }.card p { max-width:22ch; }.card-bread { border-top:5px solid var(--butter); }.card-lunch { border-top:5px solid var(--sage); }.card-sweet { border-top:5px solid var(--clay); }
.visit { display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding-top:4.5rem; padding-bottom:4.5rem; color:var(--paper); background:var(--ink); }.visit .eyebrow{color:var(--butter)}.visit-details { margin:0; display:grid; gap:1.5rem; }.visit-details div { padding-bottom:1.25rem; border-bottom:1px solid rgba(255,255,255,.24); }.visit-details div:last-child{border:0}.visit dt { font-family:'DM Mono',monospace; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--butter); }.visit dd { margin:.35rem 0 0; font-family:Fraunces,Georgia,serif; font-size:1.25rem; line-height:1.35; }
footer { max-width:1200px; display:flex; gap:1rem 4rem; justify-content:space-between; margin:auto; padding:2rem; font-size:.78rem; border-top:1px solid var(--line); }.disclaimer{max-width:43rem;margin:0}
@media (max-width:760px) { .site-header{padding:1rem}.hero{margin:0 1rem 4rem;grid-template-columns:1fr}.hero-copy{padding:3.5rem 2rem}.hero-art{min-height:330px}.intro,.range{padding:0 1.5rem;margin-bottom:4rem}.section-heading,.visit{display:block}.cards{grid-template-columns:1fr}.visit{margin:0;padding:3rem 1.5rem}.visit h2{margin-bottom:2rem}footer{display:block;padding:1.5rem}.disclaimer{margin-top:1rem} }
