/* DineCraft v1.0 - original, dependency-free design system. Edit variables to rebrand. */
:root{--ink:#24382e;--ink-dark:#1b2d24;--cream:#f6f3e9;--paper:#fffbf2;--clay:#b75d43;--gold:#e5c99a;--muted:#686f65;--line:#d8d5c8;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif;--max:1240px;--radius:16px;scroll-behavior:smooth}
*{box-sizing:border-box}html{scroll-padding-top:95px}body{margin:0;background:var(--cream);font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}img{display:block;width:100%}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}p{line-height:1.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ca7952;outline-offset:3px}::selection{background:#dcc195;color:#1d2b22}
.skip-link{position:absolute;left:1rem;top:-100px;background:#fff;color:#111;padding:14px;z-index:999}.skip-link:focus{top:10px}.wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.mini{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.eyebrow{color:var(--clay);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;display:flex;gap:14px;align-items:center}.eyebrow:before{content:'';width:33px;height:1px;background:currentColor}.serif{font-family:var(--serif);font-weight:400}.ital{font-style:italic}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-head h2,.section-title{font-family:var(--serif);font-size:clamp(38px,5vw,69px);font-weight:400;line-height:1.08;letter-spacing:-.052em;margin:16px 0 0}.section-head p{max-width:330px;color:var(--muted);margin:0 0 3px}.section-pad{padding:96px 0}.thin-rule{border:0;border-top:1px solid var(--line);margin:0}
.announcement{background:var(--ink);color:#f2e8cf;text-align:center;padding:11px 16px;font-size:11px;letter-spacing:.14em;font-weight:700}.announcement span{color:var(--gold);margin:0 14px}.header{position:sticky;top:0;z-index:100;background:rgba(246,243,233,.97);backdrop-filter:blur(20px);border-bottom:1px solid #d6d1c2}.header-in{display:flex;align-items:center;justify-content:space-between;height:84px;gap:25px}.logo{font-family:var(--serif);font-style:italic;font-weight:bold;letter-spacing:-.065em;font-size:33px;white-space:nowrap}.logo span{color:var(--clay)}.nav{display:flex;align-items:center;gap:32px}.nav a{font-size:12px;font-weight:700;letter-spacing:.045em;transition:color .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--clay)}.header-actions{display:flex;align-items:center;gap:12px}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;padding:17px 24px;border:1px solid var(--ink);background:var(--ink);color:#fff9ef;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:800;transition:transform .2s,background .2s,box-shadow .2s;min-height:49px}.button:hover{transform:translateY(-2px);background:#3a5141;box-shadow:0 8px 24px #28392a18}.button.outline{background:transparent;color:var(--ink)}.button.outline:hover{background:var(--ink);color:white}.button.light{background:var(--gold);border-color:var(--gold);color:var(--ink)}.button.small{padding:14px 17px;min-height:41px}.arrow{font-size:18px;font-weight:400}.mobile-toggle{display:none;border:1px solid var(--line);width:44px;height:44px;background:none;align-items:center;justify-content:center;font-size:25px;color:var(--ink)}
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:690px;overflow:hidden}.hero-left{background:var(--ink);color:#f8f1df;display:flex;flex-direction:column;justify-content:center;padding:84px max(55px,calc((100vw - 1240px)/2)) 96px max(55px,calc((100vw - 1240px)/2));padding-right:65px;position:relative}.hero .eyebrow{color:var(--gold)}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(65px,6vw,108px);line-height:.95;letter-spacing:-.074em;margin:40px 0 30px}.hero h1 em{color:var(--gold);font-weight:400}.hero-text{font-size:16px;line-height:1.75;color:#d8ddd1;max-width:390px}.hero-cta{display:flex;gap:13px;flex-wrap:wrap;margin-top:35px}.hero-cta .button{border-color:#f1e7d6}.hero-cta .outline{color:#fff9ef}.hero-cta .outline:hover{background:#fff9ef;color:var(--ink)}.hero-number{position:absolute;left:max(55px,calc((100vw - 1240px)/2));bottom:30px;opacity:.55;font-size:11px;letter-spacing:.16em}.hero-right{position:relative;min-width:0;background:#a18f70}.hero-right img{height:100%;object-fit:cover}.hero-vertical{position:absolute;right:22px;bottom:30px;writing-mode:vertical-rl;color:#fff7e9;letter-spacing:.22em;font-size:11px;font-weight:700}.hero-seal{position:absolute;left:-64px;bottom:65px;width:128px;height:128px;background:var(--gold);border-radius:100%;display:grid;place-items:center;text-align:center;transform:rotate(-15deg);font-size:11px;font-weight:800;line-height:1.8;letter-spacing:.12em;border:7px solid var(--cream);color:var(--ink)}
.marquee{background:#e7dfcb;border-block:1px solid #cec5ae;overflow:hidden;white-space:nowrap}.marquee-in{display:flex;gap:0;padding:19px 0;width:max-content;animation:drift 40s linear infinite}.marquee span{font-family:var(--serif);font-style:italic;font-size:25px;margin-right:56px}.marquee b{font-size:18px;font-weight:400;margin-right:56px;color:var(--clay)}@keyframes drift{to{transform:translateX(-50%)}}
.intro-grid{display:grid;grid-template-columns:.75fr 1fr;gap:11%;align-items:center}.intro-art{position:relative}.intro-art>img{aspect-ratio:4/5;object-fit:cover;background:#d9c3a0}.intro-art:before{content:'';position:absolute;inset:18px 18px auto auto;width:82%;height:78%;border:1px solid #ffffff95;pointer-events:none;z-index:1}.stamp{position:absolute;bottom:-23px;right:-21px;background:var(--clay);color:#fff9ec;padding:21px;max-width:190px;font-family:var(--serif);font-size:24px;font-style:italic;text-align:center;transform:rotate(4deg)}.intro-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(45px,5vw,80px);line-height:1.02;letter-spacing:-.06em;margin:25px 0}.intro-copy p{color:var(--muted);max-width:530px;font-size:15px}.signature{font-family:var(--serif);font-size:31px;font-style:italic;margin:26px 0 30px;color:var(--clay)}
.menu-preview{background:var(--paper)}.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.dish-card{background:var(--cream);min-width:0}.dish-card img{aspect-ratio:1.16;object-fit:cover;transition:transform .45s}.dish-card>a{display:block;overflow:hidden}.dish-card:hover img{transform:scale(1.04)}.dish-info{padding:22px 22px 25px}.dish-head{display:flex;gap:13px;justify-content:space-between;align-items:start}.dish-head h3{margin:0;font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:-.035em}.dish-head strong{font-size:14px;padding-top:5px}.dish-info p{color:var(--muted);font-size:13px;margin:10px 0}.tags{display:flex;gap:5px;margin-top:15px;flex-wrap:wrap}.tag{border:1px solid var(--line);padding:6px 9px;letter-spacing:.1em;font-size:9px;font-weight:800}.dish-link{display:inline-flex;margin-top:12px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:5px}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.menu-card{background:#fffbf2;border:1px solid var(--line);overflow:hidden}.menu-card .dish-info{padding:21px}.menu-card-image{position:relative;overflow:hidden}.menu-card-image img{aspect-ratio:1.25;object-fit:cover;transition:transform .35s}.menu-card:hover .menu-card-image img{transform:scale(1.04)}.menu-card .quick{position:absolute;right:14px;bottom:14px;background:var(--paper);color:var(--ink);border:0;padding:11px 14px;font-size:10px;font-weight:800;letter-spacing:.11em}.menu-card .quick:hover{background:var(--gold)}
.full-bleed{background:var(--ink);color:#fff8e8}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:530px}.experience-grid img{width:100%;height:100%;object-fit:cover}.experience-copy{padding:86px clamp(30px,6vw,105px);display:flex;flex-direction:column;justify-content:center}.experience-copy h2{font-family:var(--serif);font-size:clamp(46px,5vw,82px);font-weight:400;line-height:1.02;letter-spacing:-.06em;margin:23px 0}.experience-copy .eyebrow{color:var(--gold)}.experience-copy p{color:#d0d8d0;max-width:490px}.experience-copy .button{align-self:flex-start;margin-top:25px}
.testimonial{text-align:center;max-width:780px;margin:auto;padding:90px 0}.stars{color:var(--clay);letter-spacing:.4em}.testimonial blockquote{font-family:var(--serif);font-style:italic;line-height:1.3;font-size:clamp(32px,4vw,54px);letter-spacing:-.04em;margin:30px 0}.testimonial p{letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:800;color:var(--muted)}
.footer{background:#172a21;color:#e9eadf;padding:72px 0 30px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:50px;padding-bottom:70px}.footer-logo{font-family:var(--serif);font-size:49px;font-style:italic;letter-spacing:-.07em}.footer p{font-size:13px;color:#afbeb1}.footer h3{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:11px;margin:8px 0 20px}.footer a{display:block;font-size:13px;margin:12px 0;color:#e9eadf}.footer a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid #526356;padding-top:27px;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#b8c3b6}.footer-note{font-size:11px;color:#b8c3b6}.footer .mini{margin-top:6px}
.page-hero{padding:94px 0 70px;text-align:center;background:#eae5d7}.page-hero .eyebrow{justify-content:center}.page-hero h1{font-family:var(--serif);font-size:clamp(62px,8.2vw,116px);font-weight:400;line-height:1;letter-spacing:-.075em;margin:22px 0}.page-hero p{color:var(--muted);max-width:580px;margin:0 auto;font-size:15px}.page-hero .eyebrow:after{content:'';width:33px;height:1px;background:currentColor}.page-hero.dark{background:var(--ink);color:white}.page-hero.dark p{color:#bdc9bd}
.menu-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:33px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:12px 18px;border:1px solid var(--line);background:transparent;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:800;color:var(--ink)}.chip[aria-pressed=true],.chip:hover{background:var(--ink);color:white;border-color:var(--ink)}.menu-search{padding:13px 16px;background:var(--paper);border:1px solid var(--line);width:240px;max-width:100%}.search-meta{margin:18px 0;color:var(--muted);font-size:12px}.checkline{display:flex;gap:15px;align-items:center;font-size:12px;color:var(--muted);margin:16px 0 27px;flex-wrap:wrap}.checkline label{display:flex;gap:7px;align-items:center;cursor:pointer}.checkline input{accent-color:var(--ink)}.no-results{padding:40px;text-align:center;background:var(--paper);border:1px solid var(--line);grid-column:1/-1}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-item{border:0;padding:0;display:block;background:var(--ink);position:relative;overflow:hidden;text-align:left;color:#fff}.gallery-item img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .4s}.gallery-item:nth-child(5n + 1){grid-column:span 2}.gallery-item:nth-child(5n + 1) img{aspect-ratio:2.7}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;bottom:0;left:0;right:0;padding:25px;background:linear-gradient(transparent,#18251fcc);font-family:var(--serif);font-size:23px}
.form-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:start}.aside-card{background:var(--ink);color:#fff;padding:50px;position:relative;overflow:hidden}.aside-card:after{content:'d.';position:absolute;bottom:-110px;right:-12px;font-family:var(--serif);font-size:330px;opacity:.06;pointer-events:none}.aside-card h2{font-family:var(--serif);font-weight:400;font-size:57px;line-height:1.04;letter-spacing:-.055em;margin:20px 0}.aside-card p{color:#c9d5c9}.aside-card .eyebrow{color:var(--gold)}.aside-card dl{margin:30px 0}.aside-card dt{color:var(--gold);font-size:10px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;margin-top:24px}.aside-card dd{margin:9px 0;font-family:var(--serif);font-size:22px}.form-card{border:1px solid var(--line);background:#fffbf2;padding:44px}.form-card h2{font-family:var(--serif);font-size:42px;font-weight:400;letter-spacing:-.045em;margin:0 0 8px}.form-card>p{color:var(--muted);font-size:13px;margin-bottom:27px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}.field label{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px}.field input,.field textarea,.field select{width:100%;min-height:48px;border:1px solid #d3d0c3;padding:13px 14px;background:#fff;color:var(--ink);border-radius:0;outline-offset:2px}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--clay)}.notice{background:#f2ebd9;padding:16px 20px;border-left:3px solid var(--clay);font-size:12px;color:#4f564e;line-height:1.7;margin:18px 0}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.status{font-size:13px;font-weight:600;min-height:24px;margin-top:13px}.status[data-state=success]{color:#215b38}.status[data-state=error]{color:#9d3f31}
.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.story-columns img{aspect-ratio:4/4.3;object-fit:cover}.story-columns h2{font-family:var(--serif);font-size:clamp(44px,5vw,76px);font-weight:400;letter-spacing:-.055em;line-height:1.06;margin:20px 0}.story-columns p{max-width:520px;color:var(--muted)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.value-card{border-top:1px solid var(--ink);padding-top:28px}.value-card .n{font-family:var(--serif);font-size:31px;color:var(--clay)}.value-card h3{font-family:var(--serif);font-size:30px;letter-spacing:-.04em;font-weight:400}.value-card p{color:var(--muted);font-size:14px}
.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.event-card{background:var(--paper);border:1px solid var(--line)}.event-card img{aspect-ratio:1.18;object-fit:cover}.event-card .content{padding:25px}.event-card h2{font-family:var(--serif);font-size:32px;font-weight:400;letter-spacing:-.04em;margin:12px 0}.event-card p{color:var(--muted);font-size:13px}.event-card a{display:inline-block;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.12em;border-bottom:1px solid var(--clay);padding-bottom:6px;margin-top:15px}
.faq-list{max-width:850px;margin:auto}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;padding:22px 4px;font-family:var(--serif);font-size:25px;display:flex;justify-content:space-between;gap:20px;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';font-family:var(--sans);font-size:25px;color:var(--clay)}.faq-item[open] summary:after{content:'−'}.faq-item p{padding:0 4px 18px;max-width:730px;color:var(--muted);font-size:14px;margin:0}.bottom-cta{text-align:center;padding:85px 20px;background:#e3d6bb}.bottom-cta h2{font-family:var(--serif);font-size:clamp(44px,7vw,84px);letter-spacing:-.07em;line-height:1;font-weight:400;margin:22px 0}.bottom-cta .button{margin-top:20px}
.modal{position:fixed;inset:0;z-index:500;background:#111b15b8;display:none;place-items:center;padding:25px}.modal[aria-hidden=false]{display:grid}.modal-card{width:min(690px,100%);max-height:90vh;background:var(--paper);overflow:auto;position:relative;box-shadow:0 25px 100px #10221c55}.modal-card img{aspect-ratio:16/9;object-fit:cover}.modal-content{padding:28px 35px 35px}.modal-content h2{font-family:var(--serif);font-size:44px;font-weight:400;letter-spacing:-.04em;margin:10px 0}.modal-content p{color:var(--muted)}.modal-close{position:absolute;top:16px;right:16px;z-index:1;background:var(--paper);border:0;width:42px;height:42px;font-size:26px;color:var(--ink)}.modal-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-top:20px}.modal-img{max-height:65vh;object-fit:contain!important;background:#dbd5c6}.hidden{display:none!important}
@media(max-width:1100px){.nav{gap:18px}.hero-left{padding-left:45px;padding-right:35px}.hero-number{left:45px}.footer-top{gap:24px}.section-pad{padding:75px 0}}@media(max-width:820px){.wrap{width:min(var(--max),calc(100% - 44px))}.header-in{height:73px}.mobile-toggle{display:flex}.nav{position:absolute;top:73px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:var(--cream);padding:20px 25px 30px;box-shadow:0 20px 30px #14271b15;gap:0}.nav[data-open=true]{display:flex}.nav a{padding:15px;border-bottom:1px solid var(--line)}.header-actions>.button{padding:13px 15px;font-size:9px}.hero{grid-template-columns:1fr 1fr;min-height:600px}.hero h1{font-size:clamp(56px,8vw,75px)}.hero-seal{left:-45px;width:90px;height:90px;font-size:8px}.intro-grid,.story-columns{gap:5%}.dish-grid,.menu-grid,.events-grid{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1fr 1fr}.form-layout{grid-template-columns:1fr}.aside-card{padding:38px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item:nth-child(5n+1){grid-column:span 1}.gallery-item:nth-child(5n+1) img{aspect-ratio:4/3}}@media(max-width:620px){.wrap{width:calc(100% - 36px)}.announcement{font-size:9px;letter-spacing:.06em}.announcement span{margin:0 4px}.logo{font-size:28px}.header-actions{gap:7px}.header-actions>.button{display:none}.hero{display:flex;flex-direction:column}.hero-left{padding:75px 27px 80px;min-height:540px}.hero h1{font-size:clamp(65px,14vw,91px);margin-top:30px}.hero-number{left:27px}.hero-right{height:380px}.hero-seal{left:auto;right:25px;bottom:25px;width:95px;height:95px}.intro-grid,.story-columns,.experience-grid{grid-template-columns:1fr}.intro-art{margin:0 20px 30px 0}.stamp{font-size:19px}.section-pad{padding:66px 0}.section-head{display:block}.section-head p{margin-top:20px}.dish-grid,.menu-grid,.events-grid{grid-template-columns:1fr}.dish-card img{aspect-ratio:1.45}.experience-grid img{max-height:420px}.experience-copy{padding:65px 25px}.footer-top{grid-template-columns:1fr 1fr;gap:25px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.page-hero{padding:70px 10px 55px}.page-hero h1{font-size:clamp(56px,12vw,84px)}.gallery-grid{grid-template-columns:1fr}.form-card{padding:24px 19px}.field-grid{grid-template-columns:1fr;gap:0}.aside-card{padding:35px 28px}.values-grid{grid-template-columns:1fr}.menu-search{width:100%}.menu-toolbar{display:block}.menu-toolbar .chips{margin-bottom:18px}.menu-card img{aspect-ratio:1.45}.modal-content{padding:20px}.modal-content h2{font-size:34px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
