:root{--cream:#f1e8d6;--ink:#17120f;--wine:#7f241e;--gold:#c8a45b;--line:rgba(23,18,15,.16);--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,"Times New Roman",serif}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.bpbar{height:38px;background:var(--ink);color:var(--cream);font-family:Arial,sans-serif;display:flex;justify-content:space-between;align-items:center;padding:0 20px;font-size:10px;letter-spacing:.15em}.bpbar button{background:var(--cream);border:0;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800;cursor:pointer}
header{height:84px;display:flex;justify-content:space-between;align-items:center;padding:0 max(20px,calc((100vw - var(--max))/2));position:sticky;top:0;background:rgba(241,232,214,.93);backdrop-filter:blur(14px);z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px}.brand strong{font-family:Arial,sans-serif;font-size:13px;letter-spacing:.12em}.monogram{width:45px;height:45px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:11px;font-style:italic}nav{display:flex;gap:26px;align-items:center;font-family:Arial,sans-serif;font-size:12px;font-weight:700}.reserve{background:var(--wine);color:white;border-radius:999px;padding:12px 17px}.menu{display:none;border:1px solid var(--line);background:transparent;border-radius:50%;width:42px;height:42px}
.hero{min-height:720px;background:var(--wine);color:var(--cream);display:grid;grid-template-columns:1.08fr .92fr;position:relative;overflow:hidden}.grain{position:absolute;inset:0;opacity:.18;background-image:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 1px);background-size:11px 11px}.hero-copy{position:relative;z-index:2;padding:90px max(20px,calc((100vw - var(--max))/2))}.overline,.kicker{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.18em;font-weight:800}.hero h1{font-size:clamp(68px,8vw,116px);line-height:.82;letter-spacing:-.065em;margin:18px 0 28px;font-weight:500}.hero h1 em{color:var(--gold);font-style:italic}.hero p{font-family:Arial,sans-serif;max-width:540px;line-height:1.7;color:rgba(241,232,214,.74);font-size:16px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.pill{min-height:48px;border-radius:999px;padding:0 21px;display:inline-flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-size:12px;font-weight:800;border:0;cursor:pointer}.cream{background:var(--cream);color:var(--ink)}.outline{border:1px solid rgba(241,232,214,.5);color:var(--cream)}.dark{background:var(--ink);color:var(--cream)}
.hero-visual{position:relative;display:grid;place-items:center;min-height:600px}.plate{width:min(430px,75%);aspect-ratio:1;border-radius:50%;border:1px solid rgba(241,232,214,.35);display:grid;place-items:center;box-shadow:0 0 0 35px rgba(241,232,214,.05),0 0 0 70px rgba(241,232,214,.03);animation:rotate 30s linear infinite}.plate-inner{width:72%;height:72%;border-radius:50%;border:1px dashed rgba(241,232,214,.55);display:flex;align-items:center;justify-content:center;gap:12px;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.16em}.plate-inner b{color:var(--gold)}@keyframes rotate{to{transform:rotate(360deg)}}.ticket{position:absolute;background:var(--cream);color:var(--ink);padding:16px 18px;border:1px solid rgba(0,0,0,.08);box-shadow:0 18px 40px rgba(0,0,0,.16);transform:rotate(-4deg);min-width:210px}.ticket small{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.16em;display:block;color:#76675f}.ticket strong{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.08em;display:block;margin-top:7px}.t1{top:100px;right:11%}.t2{bottom:95px;left:2%;transform:rotate(5deg)}
.ticker{overflow:hidden;white-space:nowrap;background:var(--ink);color:var(--cream);padding:15px 0;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.18em}.ticker div{display:inline-block;animation:slide 18s linear infinite}.ticker span{color:var(--gold);margin:0 20px}@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-35%)}}
.section{width:min(var(--max),calc(100% - 40px));margin:auto}.intro{padding:110px 0;display:grid;grid-template-columns:1.25fr .75fr;gap:75px;align-items:end}.kicker{color:#836f61}.intro h2,.menu-top h2,.feature-band h2,.hours h2,.contact h2,.modal-card h2{font-weight:500;letter-spacing:-.045em;line-height:1.02;margin:10px 0 0;font-size:clamp(44px,5vw,70px)}.intro p{font-family:Arial,sans-serif;color:#786d66;line-height:1.8;margin:0}
.menu-section{padding-bottom:115px}.menu-top{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:28px}.menu-tabs{display:flex;gap:8px}.menu-tabs button{border:1px solid var(--line);background:transparent;padding:10px 14px;border-radius:999px;font-family:Arial,sans-serif;font-size:10px;font-weight:800;cursor:pointer}.menu-tabs button.active{background:var(--ink);color:var(--cream)}.menu-list{border-top:1px solid var(--line)}.menu-item{display:grid;grid-template-columns:70px 1fr auto;gap:25px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.menu-num{font-family:Arial,sans-serif;font-size:10px;color:#8a7d74}.menu-item h3{margin:0 0 6px;font-size:25px;font-weight:500}.menu-item p{margin:0;font-family:Arial,sans-serif;color:#7a6d65;font-size:12px}.price{font-size:20px}
.feature-band{background:var(--ink);color:var(--cream);padding:95px 0}.feature-grid{display:grid;grid-template-columns:.25fr 1.1fr .65fr;gap:45px;align-items:start}.quote-mark{font-size:120px;line-height:.7;color:var(--gold)}.warm{color:var(--gold)}.feature-band h2{max-width:680px}.facts>div{padding:17px 0;border-top:1px solid rgba(241,232,214,.15);display:flex;flex-direction:column;gap:4px}.facts>div:last-child{border-bottom:1px solid rgba(241,232,214,.15)}.facts small{font-family:Arial,sans-serif;color:rgba(241,232,214,.46);font-size:9px;letter-spacing:.14em}.facts strong{font-size:17px;font-weight:500}
.hours{padding:110px 0;display:grid;grid-template-columns:1fr 1fr;gap:80px}.hours-copy p{font-family:Arial,sans-serif;color:#7a6f67}.hours-card{border:1px solid var(--line);border-radius:24px;padding:30px;background:rgba(255,255,255,.22)}.hours-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-family:Arial,sans-serif;font-size:12px}.address{display:flex;flex-direction:column;gap:6px;padding-top:26px}.address small{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.15em;color:#826f61}
.contact{background:var(--wine);color:var(--cream);border-radius:28px;padding:60px;margin-bottom:40px}.contact h2{font-size:70px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;margin-top:40px}.contact-grid>div:first-child{display:flex;flex-direction:column;gap:13px}.contact-grid p{font-family:Arial,sans-serif;color:rgba(241,232,214,.7);line-height:1.6;margin-top:0}.contact-grid a{font-size:20px}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact input,.contact select{padding:14px 15px;border-radius:10px;border:1px solid rgba(241,232,214,.27);background:rgba(255,255,255,.08);color:var(--cream);outline:none}.contact select option{color:var(--ink)}.contact form .pill,.contact form small{grid-column:1/-1}.contact form small{font-family:Arial,sans-serif;color:rgba(241,232,214,.48);font-size:9px}
footer{width:min(var(--max),calc(100% - 40px));margin:auto;padding:38px 0 45px;display:flex;justify-content:space-between;align-items:center;font-family:Arial,sans-serif;font-size:10px;color:#7d7067}.modal{display:none;position:fixed;inset:0;z-index:100}.modal.active{display:grid;place-items:center}.backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.modal-card{position:relative;z-index:2;background:var(--cream);padding:40px;border-radius:24px;width:min(540px,calc(100% - 30px))}.modal-card>button{position:absolute;right:17px;top:17px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:20px}.modal-card p{font-family:Arial,sans-serif;color:#756a63;line-height:1.65}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,100px);background:var(--cream);color:var(--ink);padding:12px 18px;border-radius:999px;font-family:Arial,sans-serif;font-size:11px;font-weight:800;box-shadow:0 18px 45px rgba(0,0,0,.2);z-index:120;transition:.3s}.toast.show{transform:translate(-50%,0)}
@media(max-width:900px){.menu{display:block}nav{display:none;position:absolute;top:84px;left:15px;right:15px;background:var(--cream);padding:16px;border:1px solid var(--line);border-radius:18px;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 25px 25px}.hero-visual{min-height:470px}.intro,.hours{grid-template-columns:1fr;gap:35px}.feature-grid{grid-template-columns:.2fr 1fr}.facts{grid-column:2}.contact-grid{grid-template-columns:1fr}.contact form{grid-template-columns:1fr}.contact form .pill,.contact form small{grid-column:1}}
@media(max-width:600px){.bpbar{padding:0 11px}.hero h1{font-size:61px}.hero-visual{min-height:390px}.plate{width:280px}.ticket{min-width:165px;padding:13px}.t1{top:50px}.t2{bottom:42px}.section{width:calc(100% - 28px)}.intro{padding:75px 0}.menu-top{align-items:flex-start;flex-direction:column}.menu-item{grid-template-columns:38px 1fr auto;gap:12px}.menu-item h3{font-size:21px}.feature-grid{grid-template-columns:1fr}.quote-mark{font-size:75px}.facts{grid-column:auto}.contact{padding:38px 22px}.contact h2{font-size:52px}footer{width:calc(100% - 28px);align-items:flex-start;flex-direction:column;gap:22px}}

/* Mobile usability and photo presentation */
img{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}input,select,textarea{min-width:0}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.photo-panel{margin:0;position:relative;overflow:hidden;border-radius:24px;min-width:0}.photo-panel img{display:block;width:100%;height:100%;object-fit:cover}.photo-panel figcaption{position:absolute;bottom:0;left:0;right:0;padding:32px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:white;font:12px/1.6 Arial,sans-serif}.photo-panel figcaption small{display:block}.hero-visual.photo-panel,.scorecard-wrap.photo-panel{margin:40px 24px;min-height:0;height:560px;padding:0;display:block}.hero-art.photo-panel{margin-left:40px}.course-graphic.photo-panel:before{display:none}
@media(max-width:900px){.hero-visual.photo-panel,.scorecard-wrap.photo-panel{height:420px;margin:12px 20px 32px}.hero-art.photo-panel{margin:32px 0 0}.hero h1{overflow-wrap:normal}nav a{min-height:44px;display:flex;align-items:center}}
@media(max-width:600px){header{gap:12px;padding-left:14px;padding-right:14px}.menu{flex-shrink:0;width:44px;height:44px}.blackpine-bar,.bpbar{height:auto;min-height:48px;gap:8px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;letter-spacing:.04em}.blackpine-bar button,.bpbar button{min-height:44px}.hero h1{font-size:clamp(40px,12vw,57px);line-height:1}.hero-copy{min-width:0}.hero-visual.photo-panel,.scorecard-wrap.photo-panel{height:300px;margin:12px 14px 28px}.hero-art.photo-panel{height:300px}.course-graphic.photo-panel{height:300px}.photo-panel figcaption{font-size:11px}.contact,.contact-grid,.contact form,form,label{min-width:0}.contact a,.contact-links a{overflow-wrap:anywhere}.contact input,.contact select,input,select,textarea{font-size:16px;width:100%;min-height:48px}.btn,.pill{min-height:48px}.modal-card{max-height:calc(100dvh - 32px);overflow:auto;padding:40px 22px 24px}.modal-card>button{width:44px;height:44px;right:8px;top:8px}.toast{max-width:calc(100vw - 28px);width:max-content;text-align:center}.section h2,.modal-card h2{font-size:clamp(32px,9vw,48px)}.stats{gap:8px}.stat strong{font-size:22px}.stat span{font-size:10px}.contact form small,form>small{font-size:12px;line-height:1.6}.menu-tabs{flex-wrap:wrap}.menu-tabs button{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.toast{visibility:hidden}.toast.show{visibility:visible}
