@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap";
:root{--navy:#092d36;--deep:#061f26;--cream:#f7f0df;--paper:#fffaf0;--yellow:#f5cb4c;--coral:#ef654f;--blue:#41bed0;--muted:#b9c8c6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--navy);margin:0;font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.035em;font-family:DM Serif Display,serif;font-weight:400;line-height:.91}h1 em,h2 em{color:var(--yellow);font-weight:400}main{overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{background:var(--cream);z-index:20;border-bottom:1px solid #092d362e;grid-template-columns:1fr auto 1fr;align-items:center;height:84px;padding:0 4vw;display:grid;position:relative}.brand{justify-self:start}.brand-mark{color:var(--navy);letter-spacing:.25em;white-space:nowrap;flex-direction:column;font-family:DM Sans,sans-serif;font-size:12px;font-weight:700;line-height:.8;display:inline-flex;transform:rotate(-2deg)}.brand-mark b{color:var(--coral);letter-spacing:-.05em;font-family:DM Serif Display,serif;font-size:29px;font-style:italic;line-height:.85}.desktop-nav{gap:34px;display:flex}.desktop-nav a{letter-spacing:.07em;text-transform:uppercase;font-size:13px;font-weight:700}.desktop-nav a:after{background:var(--coral);content:"";height:2px;margin-top:5px;transition:transform .2s;display:block;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a.active:after{transform:scaleX(1)}.header-cta{background:var(--navy);color:#fff;letter-spacing:.08em;text-transform:uppercase;justify-self:end;padding:15px 20px;font-size:12px;font-weight:700}.header-cta span,.button span{margin-left:12px}.menu-toggle,.mobile-nav{display:none}.hero{height:calc(100svh - 84px);min-height:660px;position:relative}.hero>img{object-fit:cover;object-position:center 45%}.hero-overlay{background:linear-gradient(90deg,#051b21e0 0%,#051b2180 42%,#051b210f 72%);position:absolute;inset:0}.hero-copy{color:#fff;max-width:730px;position:absolute;top:50%;left:7vw;transform:translateY(-54%)}.hero-copy h1{margin:20px 0 26px;font-size:clamp(72px,8.4vw,132px)}.hero-text{max-width:570px;font-size:18px;line-height:1.6}.kicker{letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;font-size:11px;font-weight:700}.kicker.light{color:#fff}.kicker.muted{color:var(--muted)}.actions{align-items:center;gap:30px;margin-top:36px;display:flex}.button{background:var(--yellow);color:var(--navy);letter-spacing:.09em;text-transform:uppercase;padding:18px 22px;font-size:12px;font-weight:700;display:inline-block}.button.dark{background:var(--navy);color:#fff}.underlink{letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:5px;font-size:12px;font-weight:700}.underlink span{margin-left:10px}.underlink.light{color:#fff}.hero-ticket{background:var(--yellow);align-items:center;gap:14px;width:100%;padding:17px 4vw;display:flex;position:absolute;bottom:0;left:0}.hero-ticket .dot{background:var(--coral);border-radius:50%;width:9px;height:9px}.hero-ticket b,.hero-ticket small{display:block}.hero-ticket b{text-transform:uppercase;font-size:13px}.hero-ticket small{margin-top:3px;font-size:11px}.hero-ticket a{text-transform:uppercase;border-bottom:1px solid;margin-left:auto;font-size:11px;font-weight:700}.section-pad{padding:120px 7vw}.intro,.story{grid-template-columns:.65fr 1.2fr 1fr;gap:4vw;display:grid}.section-no{letter-spacing:.14em;font-size:10px;font-weight:700}.intro h2,.story h2,.section-heading h2,.visit-copy h2,.contact-bottom h2{margin-bottom:0;font-size:clamp(52px,6vw,88px)}.intro h2 em,.story h2 em,.section-heading h2 em,.contact-bottom h2 em{color:var(--coral)}.body-copy{align-self:end;padding-bottom:8px;font-size:17px;line-height:1.75}.body-copy .underlink{margin-top:18px;display:inline-block}.favourites{background:var(--paper)}.section-heading{justify-content:space-between;align-items:end;margin-bottom:65px;display:flex}.favourite-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.menu-feature{aspect-ratio:.83;flex-direction:column;justify-content:flex-end;padding:30px;display:flex;position:relative;overflow:hidden}.menu-feature:before{content:"";border:1px solid #092d3652;border-radius:50%;width:190px;height:190px;position:absolute;top:24%;left:50%;transform:translate(-50%,-50%)}.menu-feature:after{background:var(--navy);content:"";border-radius:50%;width:90px;height:90px;position:absolute;top:24%;left:50%;transform:translate(-50%,-50%)}.menu-feature>span{font-size:11px;font-weight:700;position:absolute;top:25px;left:25px}.menu-feature .scribble{z-index:2;font-family:DM Serif Display,serif;font-size:48px;font-style:italic;position:absolute;top:24%;left:50%;transform:translate(-50%,-55%)rotate(-7deg)}.menu-feature h3{margin-bottom:10px;font-family:DM Serif Display,serif;font-size:33px}.menu-feature p:last-child{max-width:250px;margin-bottom:0;line-height:1.5}.coral{background:var(--coral)}.yellow{background:var(--yellow)}.blue{background:var(--blue)}.coral .scribble{color:var(--yellow)}.yellow .scribble{color:var(--coral)}.blue .scribble{color:#fff}.quote-band{background:var(--coral);color:var(--navy);text-align:center;padding:100px 8vw}.quote-band p{margin-bottom:28px;font-family:DM Serif Display,serif;font-size:clamp(54px,7vw,104px);line-height:.95}.quote-band p em{color:var(--cream)}.quote-band span{letter-spacing:.18em;font-size:10px;font-weight:700}.split-visit{grid-template-columns:1fr 1fr;min-height:690px;display:grid}.visit-photo{min-height:600px;position:relative}.visit-photo img{object-fit:cover}.visit-copy{background:var(--navy);color:#fff;flex-direction:column;justify-content:center;align-items:flex-start;padding:9vw;display:flex}.visit-copy h2{margin:0 0 34px}.visit-copy p:not(.kicker){max-width:420px;margin-bottom:11px;line-height:1.6}.visit-copy .button{margin-top:25px}.page-hero{background:var(--navy);color:#fff;grid-template-columns:1.1fr .9fr;min-height:670px;padding-left:7vw;display:grid}.page-hero>div:first-child{align-self:center;max-width:680px;padding:80px 7vw 80px 0}.page-hero h1{margin:20px 0 28px;font-size:clamp(70px,8vw,120px)}.page-hero>div:first-child>p:last-child{max-width:480px;font-size:17px;line-height:1.65}.page-photo{min-height:620px;position:relative}.page-photo img{object-fit:cover}.menu-hero .page-photo img{object-position:center 22%}.about-hero .page-photo img{object-position:center 40%}.menu-page{background:var(--paper)}.menu-note{background:var(--yellow);grid-template-columns:180px 1fr;gap:30px;margin-bottom:90px;padding:25px 30px;display:grid}.menu-note span{letter-spacing:.15em;font-size:10px;font-weight:700}.menu-note p{margin:0}.menu-section{border-top:1px solid #092d3640;grid-template-columns:.75fr 1.25fr;gap:8vw;padding:65px 0;display:grid}.menu-title span{color:var(--coral);font-size:11px;font-weight:700}.menu-title h2{margin:14px 0 24px;font-size:clamp(42px,5vw,70px)}.menu-title p{max-width:380px;line-height:1.6}.menu-row{border-bottom:1px solid #092d3633;padding:20px 0}.menu-row h3{margin-bottom:7px;font-family:DM Serif Display,serif;font-size:25px}.menu-row p{color:#476269;margin:0;line-height:1.55}.story{background:var(--cream)}.values-grid{background:var(--yellow);grid-template-columns:repeat(3,1fr);padding:0 7vw;display:grid}.values-grid>div{border-left:1px solid #092d3640;min-height:360px;padding:60px 4vw}.values-grid>div:last-child{border-right:1px solid #092d3640}.values-grid span{color:var(--coral);font-size:11px;font-weight:700}.values-grid h3{margin:95px 0 16px;font-family:DM Serif Display,serif;font-size:42px}.values-grid p{line-height:1.6}.cta-strip{background:var(--coral);justify-content:space-between;align-items:center;padding:70px 7vw;display:flex}.cta-strip p{margin:0;font-family:DM Serif Display,serif;font-size:clamp(44px,6vw,78px)}.cta-strip em{color:var(--cream)}.contact-hero{grid-template-columns:.85fr 1.15fr;min-height:720px;display:grid}.contact-card{background:var(--yellow);flex-direction:column;justify-content:center;align-self:stretch;padding:8vw;display:flex}.contact-card h1{margin:12px 0 52px;font-size:clamp(68px,8vw,112px)}.contact-card h1 em{color:var(--coral)}.contact-detail{border-top:1px solid #092d3640;grid-template-columns:90px 1fr;gap:18px;padding:16px 0;display:grid}.contact-detail b{letter-spacing:.12em;font-size:9px}.contact-detail p{margin:0;line-height:1.55}.contact-links{align-items:center;gap:25px;margin-top:28px;display:flex}.contact-photo{min-height:650px;position:relative}.contact-photo img{object-fit:cover;object-position:55% center}.contact-bottom{background:var(--paper);grid-template-columns:1fr 1fr;align-items:end;gap:10vw;display:grid}.contact-list a{border-top:1px solid #092d3640;justify-content:space-between;padding:22px 0;font-family:DM Serif Display,serif;font-size:23px;display:flex}.contact-list a:last-child{border-bottom:1px solid #092d3640}.contact-list span{letter-spacing:.14em;align-self:center;font-family:DM Sans,sans-serif;font-size:9px;font-weight:700}.site-footer{background:var(--deep);color:#fff;grid-template-columns:1.3fr .6fr 1fr;gap:7vw;min-height:330px;padding:70px 7vw;display:grid;position:relative;overflow:hidden}.site-footer .brand-mark{color:#fff}.footer-brand p{color:var(--muted);max-width:300px;margin-top:30px;line-height:1.6}.site-footer nav,.footer-contact{flex-direction:column;gap:13px;display:flex}.site-footer nav a,.footer-contact a{font-size:12px;font-weight:600}.footer-contact span{color:var(--muted);margin-top:auto;font-size:10px}.footer-sun{color:var(--yellow);opacity:.08;font-size:250px;line-height:1;position:absolute;bottom:-90px;right:2vw}@media (max-width:850px){.site-header{grid-template-columns:1fr auto;height:72px;padding:0 22px}.desktop-nav,.header-cta{display:none}.menu-toggle{background:0 0;border:0;flex-direction:column;gap:6px;padding:10px 0 10px 10px;display:flex}.menu-toggle span{background:var(--navy);width:26px;height:2px}.mobile-nav{background:var(--yellow);flex-direction:column;gap:22px;width:100%;padding:35px 22px;display:flex;position:absolute;top:72px;left:0}.mobile-nav a{font-family:DM Serif Display,serif;font-size:27px}.mobile-nav .mobile-order{background:var(--navy);color:#fff;letter-spacing:.08em;text-align:center;text-transform:uppercase;margin-top:4px;padding:17px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:700}.hero{height:770px;min-height:0}.hero>img{object-position:57% center}.hero-overlay{background:linear-gradient(#051b211f 25%,#051b21e6)}.hero-copy{inset:auto 24px 100px;transform:none}.hero-copy h1{font-size:64px}.hero-text{font-size:15px}.actions{flex-direction:column;align-items:flex-start;gap:20px}.hero-ticket{padding:15px 22px}.hero-ticket a{display:none}.section-pad{padding:80px 24px}.intro,.story{grid-template-columns:1fr}.body-copy{margin-top:15px}.section-heading{flex-direction:column;align-items:flex-start;gap:28px}.favourite-grid{grid-template-columns:1fr}.menu-feature{aspect-ratio:1.15}.split-visit,.page-hero,.contact-hero{grid-template-columns:1fr}.visit-photo{min-height:430px}.visit-copy{min-height:520px;padding:80px 24px}.page-hero{padding:0}.page-hero>div:first-child{padding:85px 24px}.page-hero h1{font-size:66px}.page-photo{min-height:560px}.menu-note{grid-template-columns:1fr}.menu-section{grid-template-columns:1fr;gap:30px}.values-grid{grid-template-columns:1fr;padding:0 24px}.values-grid>div{border-bottom:1px solid #092d3640;border-left:0;min-height:270px;padding:45px 0}.values-grid>div:last-child{border-right:0}.values-grid h3{margin-top:55px}.cta-strip{flex-direction:column;align-items:flex-start;gap:28px;padding:60px 24px}.contact-card{padding:80px 24px}.contact-photo{order:-1;min-height:440px}.contact-bottom{grid-template-columns:1fr}.contact-list a{gap:20px;font-size:17px}.site-footer{grid-template-columns:1fr;min-height:560px;padding:70px 24px}}.order-layout{background:var(--paper);grid-template-columns:1fr 360px;align-items:start;gap:5vw;padding:70px 7vw 130px;display:grid}.order-main{min-width:0}.order-step{border-top:1px solid #092d3640;padding:65px 0 90px}.step-heading{grid-template-columns:50px 1fr;gap:30px;margin-bottom:45px;display:grid}.step-heading>span{color:var(--coral);padding-top:7px;font-size:11px;font-weight:700}.step-heading h2{margin:0;font-size:clamp(48px,5vw,72px)}.step-heading h2 em{color:var(--coral)}.order-items{border-bottom:1px solid #092d362e}.order-item{border-top:1px solid #092d362e;justify-content:space-between;align-items:center;gap:30px;padding:22px 0;display:flex}.order-item h3{margin-bottom:5px;font-family:DM Serif Display,serif;font-size:25px}.order-item p{color:#527076;margin-bottom:10px;font-size:13px}.order-item b{color:var(--coral);font-size:13px}.quantity{border:1px solid #092d3659;flex:none;grid-template-columns:42px 38px 42px;align-items:center;display:grid}.quantity button{color:var(--navy);cursor:pointer;background:0 0;border:0;height:42px;font-size:22px}.quantity button:hover{background:var(--yellow)}.quantity output{text-align:center;font-size:13px;font-weight:700}.field-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.field-grid label{flex-direction:column;gap:9px;display:flex}.field-grid label>span{letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.field-grid input,.field-grid select,.field-grid textarea{color:var(--navy);font:inherit;background:0 0;border:1px solid #092d3659;border-radius:0;width:100%;min-height:54px;padding:13px 15px;font-size:15px}.field-grid textarea{resize:vertical}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus{border-color:var(--coral);outline:2px solid #ef654f33}.full-field{grid-column:1/-1}.slot-note{color:#527076;margin:18px 0 0 80px;font-size:12px}.allergy-check{background:var(--cream);align-items:start;gap:12px;margin:25px 0 0 80px;padding:18px;font-size:12px;line-height:1.55;display:flex}.allergy-check input{accent-color:var(--coral);margin-top:3px}.order-summary{background:var(--yellow);padding:32px;position:sticky;top:24px}.order-summary h2{margin-bottom:25px;font-size:38px}.summary-lines{border-top:1px solid #092d3640;min-height:130px;padding:14px 0}.summary-lines p{justify-content:space-between;gap:12px;margin:9px 0;font-size:12px;line-height:1.45;display:flex}.summary-lines .empty-copy{color:#51686d;line-height:1.55;display:block}.summary-total{border-top:1px solid #092d3659;justify-content:space-between;align-items:center;padding:18px 0 24px;display:flex}.summary-total span{letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.summary-total b{font-family:DM Serif Display,serif;font-size:30px}.order-submit{background:var(--navy);color:#fff;cursor:pointer;text-align:left;border:0;width:100%}.order-submit:disabled{cursor:not-allowed;opacity:.45}.order-summary small{margin-top:15px;line-height:1.5;display:block}.order-success{background:var(--yellow);min-height:calc(100svh - 84px);padding:12vw 14vw;position:relative}.order-success h1{margin:20px 0 35px;font-size:clamp(72px,9vw,130px)}.order-success h1 em{color:var(--coral)}.order-success>p:not(.kicker){max-width:650px;font-size:17px;line-height:1.65}.order-success .button{cursor:pointer;border:0;margin-top:25px}.success-stamp{border:2px solid var(--coral);color:var(--coral);letter-spacing:.12em;text-align:center;border-radius:50%;justify-content:center;align-items:center;width:135px;height:135px;font-size:12px;font-weight:700;line-height:1.3;display:flex;position:absolute;top:9vw;right:12vw;transform:rotate(10deg)}@media (max-width:850px){.order-layout{grid-template-columns:1fr;padding:35px 24px 100px}.order-summary{position:static}.step-heading{grid-template-columns:30px 1fr;gap:12px}.step-heading h2{font-size:46px}.order-item{align-items:flex-start}.order-item p{max-width:185px}.quantity{grid-template-columns:36px 30px 36px}.field-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.slot-note,.allergy-check{margin-left:0}.order-success{min-height:calc(100svh - 72px);padding:120px 24px}.success-stamp{width:100px;height:100px;top:28px;right:22px}}@media (prefers-reduced-motion:no-preference){.hero-copy,.page-hero>div:first-child{animation:.7s ease-out both rise}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-copy{animation-name:hero-rise}@keyframes hero-rise{0%{opacity:0;transform:translateY(-48%)}to{opacity:1;transform:translateY(-54%)}}}@media (max-width:850px) and (prefers-reduced-motion:no-preference){.hero-copy{animation-name:rise}}
