*{box-sizing:border-box} :root{--red:#a3262a;--red-dark:#7f1d21;--cream:#f8f1e5;--paper:#fffaf1;--ink:#382821;--muted:#79695b;--sage:#788064;--gold:#c59a4d;--line:#e7d9c5}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.announcement{text-align:center;background:var(--red);color:#fff7e9;padding:8px 16px;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}.announcement span{padding-left:8px;color:#f1c777}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px clamp(20px,6vw,88px);background:var(--cream);border-bottom:1px solid #e8dccb;position:sticky;top:0;z-index:10}.brand{display:block;width:88px;flex-shrink:0}.brand img{display:block;width:100%;height:auto;border-radius:50%;mix-blend-mode:multiply}.main-nav{display:flex;align-items:center;gap:clamp(16px,3vw,42px);font-size:.8rem;font-weight:600;letter-spacing:.025em}.nav-link{padding:12px 0;position:relative}.nav-link.active:after,.nav-link:hover:after{content:"";position:absolute;bottom:5px;left:0;right:0;height:2px;background:var(--red)}.nav-order{color:var(--red);border:1px solid var(--red);padding:10px 15px}.nav-order:after{display:none}.nav-order span{padding-left:8px}.menu-toggle{display:none;background:none;border:0;font-size:1.5rem;color:var(--red)}.page-section{padding:clamp(56px,8vw,112px) clamp(22px,8vw,120px)}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(35px,7vw,100px);min-height:580px;background:var(--cream);overflow:hidden}.eyebrow{font-size:.69rem;letter-spacing:.18em;font-weight:700;color:var(--red);margin:0 0 18px}.hero .eyebrow span{color:var(--gold);padding:0 4px}.hero h1,.section-heading h2,.welcome h2,.story h2,.visit h2,.order h2{font-family:"Playfair Display",serif;font-weight:600;letter-spacing:-.045em;line-height:1.05;margin:0;color:var(--red-dark)}.hero h1{font-size:clamp(4rem,7.5vw,7.2rem)}h1 em,h2 em{font-weight:500;color:var(--red);font-style:italic}.hero-intro{max-width:440px;color:var(--muted);font-size:1.04rem;margin:25px 0 28px}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:22px;padding:14px 19px;font-size:.75rem;font-weight:700;letter-spacing:.04em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-red{background:var(--red);color:#fff8ed}.button-red:hover{background:var(--red-dark)}.button span{font-size:1rem}.text-link{font-size:.78rem;font-weight:700;color:var(--red);border-bottom:1px solid #cba6a0;padding-bottom:4px}.text-link span{margin-left:8px}.handwritten{font-family:"Playfair Display",serif;font-style:italic;color:var(--sage);font-size:1.1rem;line-height:1.25;margin:44px 0 0 10px;transform:rotate(-5deg);width:max-content}.handwritten span{font-size:1.7rem;color:var(--red)}.hero-art{position:relative;max-width:560px;width:100%;justify-self:center}.photo-frame{border:1px solid #d7c5a9;padding:12px;background:#fffaf0;box-shadow:14px 15px 0 #e8d9c1;transform:rotate(2deg);position:relative;z-index:1}.photo-frame img{display:block;width:100%;height:410px;object-fit:cover}.photo-fallback-text{display:none}.photo-frame.photo-fallback{height:410px;background:linear-gradient(140deg,#e5cba3,#9d392b);display:grid;place-items:center;text-align:center;color:#fff4e3}.photo-frame.photo-fallback .photo-fallback-text{display:block;font-family:"Playfair Display",serif}.photo-fallback-text span{display:block;font:italic 1rem "Playfair Display",serif}.photo-fallback-text b{display:block;font-size:2.5rem;line-height:1.1;margin-top:12px}.round-stamp{position:absolute;z-index:2;bottom:-27px;left:-35px;background:var(--red);color:#fff5e4;width:122px;height:122px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:.58rem;letter-spacing:.13em;line-height:1.45;transform:rotate(-12deg);border:2px dashed #e7b5a2;outline:5px solid var(--red)}.round-stamp strong{font:700 1.4rem "Playfair Display",serif;letter-spacing:.04em}.sparkle{position:absolute;color:var(--gold);font-size:2rem}.sparkle-one{top:-35px;right:20px}.sparkle-two{bottom:35px;right:-25px;font-size:1.4rem}.ticker{display:flex;justify-content:space-around;align-items:center;gap:16px;overflow:hidden;white-space:nowrap;background:var(--red);color:#fff3e2;padding:15px 20px;font-size:.65rem;letter-spacing:.18em;font-weight:700}.ticker i{font-style:normal;color:#edc47d}.welcome{display:grid;grid-template-columns:.45fr 1.6fr .8fr;align-items:center;gap:clamp(25px,5vw,70px);background:var(--paper)}.welcome-mark{font:700 3.8rem "Playfair Display",serif;color:var(--red);text-align:center;line-height:.9;border:1px solid #d9c4a6;border-radius:50%;width:135px;height:135px;display:grid;align-content:center;justify-self:center;transform:rotate(-8deg)}.welcome-mark span{font-size:1.2rem;color:var(--gold);margin-top:8px}.welcome h2,.story h2,.visit h2,.section-heading h2{font-size:clamp(2.5rem,4.4vw,4.4rem)}.welcome-copy>p:not(.eyebrow),.story-copy>p:not(.eyebrow),.visit-copy>p:not(.eyebrow){color:var(--muted);font-size:.92rem;max-width:560px}.welcome-copy .text-link{display:inline-block;margin-top:8px}.welcome-note{border-left:1px solid #d8c5a8;padding:10px 0 10px 30px;color:var(--sage)}.note-star{font-size:2.2rem;color:var(--gold)}.welcome-note p{font:1.5rem/1.35 "Playfair Display",serif}.welcome-note em{color:var(--red)}.menu-preview{background:#f0e4d0;text-align:center}.section-heading>p:last-child{color:var(--muted);margin:16px 0 0}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:46px auto 0;max-width:1100px}.menu-card{position:relative;background:var(--paper);padding:34px 26px 40px;border:1px solid #e3d1b6;text-align:center}.menu-card-featured{background:var(--red);color:#fff4e5;border-color:var(--red);transform:translateY(-10px)}.menu-icon{font-size:2rem;margin-bottom:15px}.card-kicker{font-size:.59rem;letter-spacing:.13em;color:var(--red);font-weight:700}.menu-card-featured .card-kicker{color:#f0c98c}.menu-card h3{font:600 1.7rem "Playfair Display",serif;margin:8px 0 10px}.menu-card p:not(.card-kicker){font-size:.83rem;color:var(--muted);max-width:250px;margin:0 auto}.menu-card-featured p:not(.card-kicker){color:#f5ded0}.card-flourish{position:absolute;bottom:10px;left:0;right:0;color:var(--gold)}.menu-note{font-size:.75rem;color:var(--muted);font-style:italic;margin:30px 0 0}.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,110px);align-items:center;background:var(--paper)}.story-image{position:relative;padding:10px;border:1px solid #d8c3a5;transform:rotate(-2deg)}.story-image img{display:block;width:100%;height:410px;object-fit:cover}.image-caption{position:absolute;bottom:23px;left:24px;background:var(--cream);padding:9px 12px;font-size:.6rem;letter-spacing:.12em;font-weight:700;color:var(--red)}.story-copy .button{margin-top:14px}.button-outline{border:1px solid var(--red);color:var(--red)}.placeholder-hint{font-size:.7rem!important;font-style:italic;color:#9a8978!important}.visit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,90px);align-items:center;background:var(--cream)}.visit-details{margin:30px 0;display:grid;gap:15px}.visit-details>div{display:flex;align-items:center;gap:14px}.detail-icon{width:40px;height:40px;border:1px solid #ddc6a7;border-radius:50%;display:grid;place-items:center;color:var(--red);font-size:1.25rem;flex-shrink:0}.visit-details p{margin:0;font-size:.82rem}.visit-details p b{font-size:.77rem}.visit-details p span{color:var(--muted)}.map-placeholder{height:390px;position:relative;overflow:hidden;background-color:#e8e5d7;background-image:linear-gradient(30deg,transparent 46%,#fffaf0 47%,#fffaf0 51%,transparent 52%),linear-gradient(120deg,transparent 44%,#d3d6c5 45%,#d3d6c5 49%,transparent 50%);background-size:90px 90px,130px 130px;border:8px solid #fffaf0;box-shadow:0 0 0 1px #dfceb5}.map-lines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 48px,rgba(255,255,255,.55) 49px 53px);transform:rotate(-13deg) scale(1.3)}.map-pin{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);width:55px;height:55px;display:grid;place-items:center;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--red);color:#fff;font-size:1.4rem;box-shadow:0 4px 12px #75644b55}.map-card{position:absolute;bottom:18px;left:18px;right:18px;background:var(--paper);padding:17px 20px;display:grid;gap:4px;box-shadow:0 5px 18px #4d38221a}.map-card span{font-size:.58rem;letter-spacing:.15em;color:var(--red);font-weight:700}.map-card b{font:600 1.2rem "Playfair Display",serif}.map-card small{color:var(--muted)}.order{position:relative;text-align:center;background:var(--red);color:#fff2df;overflow:hidden}.order .eyebrow{color:#f0c982}.order h2{color:#fff5e7;font-size:clamp(3rem,5vw,5rem)}.order h2 em{color:#f1c982}.order>p:not(.eyebrow){max-width:520px;margin:24px auto;color:#f4ded0;font-size:.92rem}.coming-soon{display:inline-block;margin:10px 0 0;padding:12px 26px;border:1px dashed #f1c982;color:#f1c982;font:italic 1.5rem "Playfair Display",serif;transform:rotate(-2deg)}.coming-soon span{padding-left:8px}.order .order-small{font-size:.76rem!important;margin:25px auto 18px!important}.button-cream{background:var(--cream);color:var(--red)}.order-decoration{position:absolute;color:#ffffff20;font-size:9rem}.order-left{left:5%;top:20%}.order-right{right:5%;bottom:10%}.site-footer{text-align:center;background:#34251f;color:#f7ead8;padding:48px 20px 28px}.footer-brand{font:600 2rem "Playfair Display",serif;color:#f1c982;display:block}.footer-brand span{display:block;font:700 .58rem "DM Sans",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#f7ead8}.site-footer>p{font:italic 1rem "Playfair Display",serif;color:#d6c4af}.footer-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:24px 0;font-size:.73rem}.footer-links a:hover{color:#f1c982}.site-footer small{color:#b9a897;font-size:.65rem}
@media(max-width:850px){.site-header{padding:10px 22px}.brand{width:70px}.main-nav{gap:17px;font-size:.72rem}.hero{gap:30px}.photo-frame img{height:330px}.photo-frame.photo-fallback{height:330px}.welcome{grid-template-columns:.4fr 1.6fr}.welcome-note{display:none}.story{gap:40px}.story-image img{height:350px}.page-section{padding:65px 6vw}}
@media(max-width:650px){.announcement{font-size:.58rem;letter-spacing:.08em}.site-header{padding:8px 18px}.brand{width:60px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:14px 22px 22px;flex-direction:column;align-items:stretch;gap:4px;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #33231810}.main-nav.open{display:flex}.nav-link{padding:10px 0}.nav-link.active:after,.nav-link:hover:after{bottom:4px;right:auto;width:35px}.nav-order{text-align:center;margin-top:8px}.hero{grid-template-columns:1fr;padding-top:54px;gap:55px}.hero h1{font-size:4.8rem}.hero-intro{font-size:.95rem}.hero-art{width:88%;margin-bottom:15px}.photo-frame img{height:300px}.photo-frame.photo-fallback{height:300px}.round-stamp{width:95px;height:95px;font-size:.48rem;left:-22px}.round-stamp strong{font-size:1.1rem}.ticker{justify-content:flex-start;gap:18px;font-size:.58rem}.ticker span:nth-of-type(n+3),.ticker i:nth-of-type(n+3){display:none}.welcome{grid-template-columns:1fr;gap:25px;text-align:center}.welcome-mark{width:100px;height:100px;font-size:2.8rem}.welcome-copy .eyebrow{margin-bottom:14px}.welcome h2,.story h2,.visit h2,.section-heading h2{font-size:2.8rem}.welcome-copy>p:not(.eyebrow){margin:20px auto}.menu-grid{grid-template-columns:1fr;gap:14px;margin-top:30px}.menu-card-featured{transform:none}.menu-card{padding:28px 22px 36px}.story,.visit{grid-template-columns:1fr;gap:40px}.story-image img{height:300px}.story-copy{order:-1}.map-placeholder{height:310px}.order-decoration{font-size:5rem}.order-left{left:-4%;top:8%}.order-right{right:-4%;bottom:4%}.order h2{font-size:3.2rem}.footer-links{gap:15px}}

/* Added for the personalised Red Barn version */
.story-artwork {background:#fffaf0; padding:8px; transform:rotate(-1deg)}
.story-artwork img {height:auto; max-height:680px; object-fit:contain; object-position:top}
.social-link {display:inline-block;color:#f1c982;font-size:.8rem;font-weight:700;border-bottom:1px solid #f1c982;padding-bottom:3px}
@media(max-width:650px){.story-artwork img{max-height:620px;width:100%;object-fit:contain}.story-artwork{order:0}.story-copy{order:0}}

/* Red Barn autumn refresh */
.hero-logo{display:block;width:min(100%,490px);height:auto;max-height:410px;object-fit:contain;object-position:left center;margin:0 0 18px;mix-blend-mode:multiply}
.autumn-leaves{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden}
.autumn-leaf{position:absolute;top:-70px;left:var(--leaf-left);font-size:var(--leaf-size);opacity:0;filter:drop-shadow(0 2px 2px rgba(56,40,33,.14));animation:leaf-fall var(--leaf-duration) ease-in var(--leaf-delay) forwards}
@keyframes leaf-fall{0%{transform:translate3d(0,-30px,0) rotate(0deg);opacity:0}10%{opacity:.92}50%{transform:translate3d(var(--leaf-drift),50vh,0) rotate(260deg)}90%{opacity:.8}100%{transform:translate3d(calc(var(--leaf-drift) * -0.35),110vh,0) rotate(540deg);opacity:0}}
@media(max-width:760px){.hero-logo{width:min(100%,400px);max-height:330px;margin:0 auto 12px;object-position:center}.hero-copy{text-align:center}.hero-actions{justify-content:center}.handwritten{margin:30px auto 0}}
@media(prefers-reduced-motion:reduce){.autumn-leaves{display:none}html{scroll-behavior:auto}}

/* Use the actual Red Barn logo in the welcome section instead of the RB monogram. */
.welcome-mark.welcome-logo{border:0;border-radius:0;width:160px;height:auto;background:transparent;display:block;transform:none;line-height:normal}
.welcome-mark.welcome-logo img{display:block;width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:760px){.welcome-mark.welcome-logo{width:125px;margin:0 auto}}


/* Vintage sign-painted headings inspired by the Red Barn logo */
.hero h1,.section-heading h2,.welcome h2,.story h2,.visit h2,.order h2,
.menu-card h3,.map-card b,.footer-brand {
  font-family:"Rye","Playfair Display",serif;
  font-weight:400;
  letter-spacing:-.025em;
}
.hero h1 {letter-spacing:-.04em;line-height:1.12}
h1 em,h2 em {font-family:"Rye","Playfair Display",serif;font-style:normal;font-weight:400}
.menu-card h3 {line-height:1.2;font-size:clamp(1.35rem,2vw,1.7rem)}
.footer-brand {letter-spacing:.01em}



/* Red Barn cursive heading update */
.hero h1,.section-heading h2,.welcome h2,.story h2,.visit h2,.order h2,
.menu-card h3,.map-card b,.footer-brand,.coming-soon {
  font-family:"Allura","Playfair Display",cursive;
  font-weight:400;
  color:var(--red);
  letter-spacing:0;
}
.hero h1 {font-size:clamp(4.6rem,8vw,8rem);line-height:.92;letter-spacing:0}
.section-heading h2,.welcome h2,.story h2,.visit h2 {font-size:clamp(3.2rem,5.2vw,5.2rem);line-height:1}
.order h2 {font-size:clamp(4rem,6vw,6rem);line-height:1}
.menu-card h3 {font-size:2.15rem;line-height:1.05}
.map-card b {font-size:1.8rem}
.footer-brand {font-size:2.6rem}
h1 em,h2 em {font-family:"Allura","Playfair Display",cursive;font-style:normal;font-weight:400;color:var(--red)}
