:root{--wine:#7c291d;--dark:#42110a;--cream:#dac7b4;--paper:#f9f6f4;--gold:#c39a54;--line:#e6dbd1;color:var(--dark);background:var(--paper);scroll-behavior:smooth;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:clip}header,main,footer{width:100%;max-width:100%}main{min-width:0}[hidden]{display:none!important}body{margin:0}a{color:inherit}.skip{position:absolute;left:-999px}.skip:focus{z-index:9;background:#fff;padding:1rem;top:1rem;left:1rem}.hp-field{width:1px;height:1px;position:absolute;top:-9999px;left:-9999px;overflow:hidden}header{background:var(--paper);z-index:5;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:84px;padding:0 max(4vw,24px);display:flex;position:sticky;top:0}.brand{letter-spacing:.03em;align-items:center;font-size:1.35rem;font-weight:900;text-decoration:none;display:flex}.brand span{font-weight:450}.brand-logo{width:auto;height:62px;display:block}header nav,footer nav{align-items:center;gap:1.4rem;display:flex}header nav a,footer a{font-size:.86rem;text-decoration:none}header nav a{font-size:.95rem;font-weight:600}header nav a:hover{color:var(--wine)}.hero{background:radial-gradient(circle at 10% 10%,#f4e8e0 0,transparent 28%),linear-gradient(135deg,var(--cream),#f7f0ec);min-height:calc(100vh - 84px);padding:clamp(36px,5vh,56px) max(7vw,24px) 5vh;position:relative;overflow:hidden}.hero:after{content:"WEIN";color:#7c291d0a;font-size:28vw;font-weight:900;position:absolute;bottom:-9vw;right:-2vw}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--wine);font-size:.75rem;font-weight:800}.hero>.eyebrow{font-size:1rem}.hero h1,.subpage h1{letter-spacing:-.065em;max-width:1100px;margin:.6em 0 .25em;font-size:clamp(3.5rem,8vw,8rem);line-height:.88}.hero h1 em{color:var(--wine);font-weight:350}.hero>p,.lead{max-width:640px;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.5}.actions{align-items:center;gap:2rem;margin-top:2.5rem;display:flex}.button{background:var(--wine);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:0;padding:1rem 1.35rem;font-weight:700;text-decoration:none;display:inline-block}.textlink{font-weight:700}.hero-card{border-top:1px solid var(--dark);justify-content:space-between;align-items:center;max-width:780px;margin-top:12vh;padding-top:1rem;display:flex}.hero-instagram{margin-top:1.1rem;font-weight:400;display:inline-block}.button.gold{background:var(--gold);color:var(--dark)}.button.gold:hover{background:#af8748}.section{padding:110px max(7vw,24px);scroll-margin-top:84px}.muted{background:var(--cream)}.section-head{text-align:center;justify-items:center;gap:1rem;margin:0 auto 3rem;display:grid}.section-head h2,.contact h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.4rem,5vw,5.5rem);line-height:.95}@media (width>=851px){.section-head h2{white-space:nowrap}}.section-head p{max-width:580px;font-size:1.15rem;line-height:1.6}.cards{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.cards article{background:var(--paper);padding:2rem}.timeline{grid-template-columns:repeat(3,1fr);margin:0 0 4rem;padding:0;list-style:none;display:grid;position:relative}.timeline:before{content:"";background:var(--line);height:2px;position:absolute;top:7px;left:16.6667%;right:16.6667%}.timeline li{text-align:center;justify-items:center;gap:.35rem;padding:0 1rem;display:grid;position:relative}.timeline .dot{background:var(--gold);border-radius:50%;width:14px;height:14px;margin-bottom:.6rem}.timeline b{text-transform:uppercase;letter-spacing:.1em;color:var(--wine);font-size:.8rem}.timeline h3{margin:0;font-size:1.6rem}.timeline p{color:#8e8278;margin:0}.cards h3{margin:.35rem 0;font-size:1.6rem}.location{grid-template-columns:1fr 1.5fr;align-items:center;gap:3rem;margin-top:4rem;display:grid}.location h3{margin:.5rem 0;font-size:3rem}.visual{background:var(--wine);color:#ecd9bd;text-align:center;letter-spacing:.12em;place-content:center;min-height:300px;display:grid}.logo-grid{background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.logo-grid span{background:var(--paper);color:#8e8278;place-content:center;min-height:150px;display:grid}.reserve{background:var(--dark);color:#fff}.reserve form{max-width:950px;margin:auto}.reserve fieldset{border:0;border-top:1px solid #67585b;margin:0;padding:2rem 0}.reserve legend{padding:0 1rem 0 0;font-size:1.2rem;font-weight:800}.option-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.option{position:relative}.option input{opacity:0;position:absolute}.option span{cursor:pointer;border:1px solid #67585b;gap:.4rem;padding:1rem;display:grid}.option input:checked+span{background:var(--gold);color:var(--dark);border-color:var(--gold)}.counter{border-bottom:1px solid #4a3c3e;justify-content:space-between;align-items:center;padding:1.2rem 0;display:flex}.counter span{gap:.3rem;display:grid}.counter small{color:#c8bcb9}.avail-sold{color:#ff9376;font-weight:700}.avail-limited{color:#f0c976;font-weight:700}.counter input{width:85px;font:inherit;background:#fff;border:0;padding:.7rem}.total{justify-content:space-between;padding:1.5rem 0;font-size:1.3rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.invoice-fields{gap:1rem;margin:0 0 1rem;display:grid}#request-submit{border:0;margin-left:1rem}@media (width<=520px){#request-submit{margin-top:.9rem;margin-left:0;display:block}}.invoice-row{grid-gap:1rem;gap:1rem;display:grid}.invoice-row>label{overflow-wrap:break-word;min-width:0}.invoice-row input{width:100%;min-width:0}.invoice-row-street{grid-template-columns:3fr 1fr}.invoice-row-city{grid-template-columns:1fr 2fr}.reserve label:not(.option):not(.counter):not(.check),.admin-login label{gap:.5rem;display:grid}.reserve input:not([type=checkbox]),.reserve textarea,.admin-login input{font:inherit;background:#fff;border:1px solid #746669;padding:.85rem}.reserve textarea{min-height:100px}.check{align-items:flex-start;gap:.7rem;margin:1.5rem 0;display:flex}.fine{color:#bcb0ae;font-size:.82rem}.reserve output,.admin-login output{color:#f0c976;margin-top:1rem;display:block}.contact{background:var(--wine);color:#fff;text-align:center}.contact p{font-size:1.2rem}.contact p a{text-decoration:underline}.ghost{border:1px solid #fff;margin-top:1rem}.contact-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1rem;display:flex}.contact-actions .ghost{margin-top:0}footer{color:#eee;background:#270a06;justify-content:space-between;padding:3rem max(4vw,24px);display:flex}.subpage{min-height:70vh;padding:clamp(36px,5vh,56px) max(10vw,24px) 110px}.subpage h1{font-size:clamp(3rem,7vw,7rem)}.subpage>h1:first-child{margin-top:0}.subpage .visual{margin:3rem 0}.legal{max-width:900px}.legal h1{font-size:4rem}.legal h2{overflow-wrap:break-word;hyphens:auto;margin-top:3rem;font-size:clamp(1.05rem,4.5vw,1.5rem)}.legal p{line-height:1.7}.notice{border-left:4px solid var(--gold);background:var(--cream);padding:1rem}.admin-login{gap:1rem;max-width:440px;display:grid}.booking-progress-modal{color:#fff;background:0 0;border:1px solid #dcb7789e;width:min(92vw,560px);padding:0;box-shadow:0 30px 90px #0804058c}.booking-progress-modal::backdrop{backdrop-filter:blur(8px);background:#270a06d1}.booking-progress-inner{text-align:center;background:var(--dark);padding:clamp(2rem,6vw,3.5rem);position:relative;overflow:hidden}.booking-progress-mark{border:1px solid #dcb7784d;border-radius:50%;place-items:center;width:62px;height:62px;margin:0 auto 1.5rem;display:grid}.booking-progress-mark span{border:2px solid #dcb77840;border-top-color:#dcb778;border-radius:50%;width:34px;height:34px;animation:.9s linear infinite booking-progress-spin}.booking-progress-mark.is-success span{color:#dcb778;border:2px solid #dcb778;place-items:center;font-size:18px;font-weight:900;animation:none;display:grid}.request-success-modal .button,.booking-notice-modal .button{margin-top:1.6rem}.booking-notice-modal #capture{margin-top:1rem}.request-success-modal strong{color:#dcb778;letter-spacing:.5px;font-family:Courier New,monospace}.booking-progress-kicker{color:#dcb778;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.8rem;font-size:.7rem;font-weight:800;display:block}.booking-progress-modal h3{z-index:1;letter-spacing:-.035em;overflow-wrap:break-word;max-width:430px;margin:0 auto;font-size:clamp(1.65rem,5vw,2.35rem);line-height:1.08;position:relative}.booking-progress-modal p{z-index:1;color:#cfc2c0;max-width:390px;margin:1rem auto 0;line-height:1.55;position:relative}.reserve form[aria-busy=true] button[type=submit]{opacity:.65;cursor:wait}@keyframes booking-progress-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.booking-progress-mark span{animation-duration:1.8s}}.manual-reservation-form{gap:1rem;max-width:760px;display:grid}.manual-reservation-form label{gap:.5rem;display:grid}.manual-reservation-form input,.manual-reservation-form select,.manual-reservation-form textarea{border:1px solid var(--line);font:inherit;background:#fff;padding:.85rem}.manual-reservation-form textarea{min-height:80px}.manual-reservation-form output{margin-top:.25rem;font-weight:700;display:block}.row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.row-actions button{font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:7px;align-items:center;gap:.3rem;padding:.5rem .8rem;font-size:.8rem;font-weight:700;line-height:1.1;transition:transform .12s,box-shadow .12s,background-color .12s;display:inline-flex}.row-actions button:hover{transform:translateY(-1px);box-shadow:0 4px 10px #220f0c29}.row-actions button:active{box-shadow:none;transform:translateY(0)}.row-actions button[data-attendance=mark-attended]{color:#fff;background:#2f7a52}.row-actions button[data-attendance=mark-attended]:hover{background:#256242}.row-actions button[data-attendance=reopen]{color:#7a6b60;border-color:var(--line);background:0 0}.row-actions button[data-attendance=reopen]:hover{background:var(--cream);color:var(--dark)}.row-actions button[data-review]{background:var(--gold);color:var(--dark)}.row-actions button[data-review]:hover{background:#af8748}.row-actions button[data-mark-paid]{background:var(--wine);color:#fff}.row-actions button[data-mark-paid]:hover{background:#631f15}.row-actions button[data-detail]{color:var(--dark);border-color:var(--line);background:0 0}.row-actions button[data-detail]:hover{background:var(--paper);border-color:var(--dark)}dialog.detail-modal{background:var(--paper);width:92vw;max-width:640px;color:var(--dark);border:0;padding:0}dialog.detail-modal::backdrop{background:#2217198c}.terms-modal.detail-modal{max-width:560px}.confirm-modal.detail-modal{max-width:440px}.confirm-modal .detail-body{padding-top:0;line-height:1.6}.terms-body p{margin:0 0 1.1rem;line-height:1.65}.terms-body p:last-child{margin-bottom:0}.inline-link{font:inherit;color:inherit;text-underline-offset:.15em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.detail-modal-inner{flex-direction:column;max-height:85vh;display:flex}.detail-modal-inner>header{border-bottom:1px solid var(--line);backdrop-filter:none;background:0 0;justify-content:space-between;align-items:center;height:auto;padding:1.25rem 1.5rem;display:flex;position:static}.detail-modal-inner>header h3{margin:0;font-size:1.3rem}.detail-close{cursor:pointer;color:inherit;background:0 0;border:0;padding:0;font-size:1.5rem;line-height:1}.detail-body{padding:1.5rem;overflow:auto}.detail-body dl{grid-template-columns:auto 1fr;gap:.5rem 1.5rem;margin:0;display:grid}.detail-body dt{color:#665b5d;font-weight:700}.detail-body dd{margin:0}.detail-body h4{margin:1.5rem 0 .5rem;font-size:1rem}.detail-body ul{margin:0;padding-left:1.2rem}.detail-modal-inner>footer{border-top:1px solid var(--line);background:var(--paper);color:var(--dark);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.button.danger{background:#9b2929}.button.secondary{color:var(--dark);border:1px solid var(--line);background:0 0}.button.secondary:hover{background:var(--cream)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.8rem}.vision{border-top:1px solid var(--line);max-width:640px;margin-top:2.5rem;padding-top:1.5rem}.vision p{color:#4a3c3e;margin:.6rem 0 0;font-size:1rem;line-height:1.6}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.cards article small{color:#8e8278;margin-top:.6rem;font-size:.8rem;display:block}.visual.map{flex-direction:column;min-height:300px;padding:0;display:flex}.map-frame{flex:1;min-height:280px;display:grid}.map-frame iframe{border:0;width:100%;height:100%;min-height:280px;display:block}.map-consent{text-align:center;place-items:center;gap:1rem;max-width:360px;margin:auto;padding:2rem;display:grid}.map-consent p{letter-spacing:normal;text-transform:none;margin:0;font-size:.85rem;line-height:1.5}.map-consent p a{color:#fff;text-decoration:underline}.map-consent .button{color:var(--wine);background:#fff}.map-address{letter-spacing:normal;text-transform:none;padding:.85rem 1rem;font-size:.8rem;font-weight:400}.logo-grid{--logo-max-h:92px}.logo-grid a,.logo-grid .sponsor-static{color:#8e8278;text-align:center;background:#fff;place-items:center;min-height:170px;padding:1.5rem;font-weight:700;text-decoration:none;display:grid}.logo-grid a{transition:color .15s,transform .18s,box-shadow .18s}.logo-grid a:hover{z-index:1;color:var(--wine);position:relative;transform:translateY(-2px);box-shadow:0 12px 28px #2217191f}.logo-grid img{width:auto;max-width:100%;height:auto;max-height:var(--logo-max-h);object-fit:contain;display:block}.logo-grid .sponsor-logo-square{max-height:122px}.logo-grid .sponsor-name{padding-inline:2rem;line-height:1.4}.logo-grid a.sponsor-logo-continentale{padding:max(1.5rem,calc(var(--logo-max-h) * .186))}.info-block{background:var(--wine);color:#fff;margin:3rem 0;padding:2.5rem}.info-block ul{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.info-block li{line-height:1.5}.apply-form{gap:1rem;max-width:640px;margin:2.5rem 0;display:grid}.apply-form .form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.apply-form label{gap:.5rem;display:grid}.apply-form input,.apply-form textarea{border:1px solid var(--line);font:inherit;background:#fff;padding:.85rem}.apply-form textarea{min-height:120px}.apply-form .fine{color:#8e8278}.apply-form output{color:var(--wine);margin-top:.5rem;font-weight:700;display:block}@media (width<=850px){header{height:auto;min-height:72px}.brand-logo{height:46px}header nav{display:none}.location{grid-template-columns:1fr}.cards.four,.cards.three,.option-grid,.logo-grid{grid-template-columns:1fr 1fr}.hero-card{flex-wrap:wrap;gap:1rem}.form-grid,.apply-form .form-grid{grid-template-columns:1fr}footer{gap:1rem;display:grid}footer nav{flex-wrap:wrap}}@media (width<=480px){.invoice-row{gap:.6rem}}@media (width<=520px){.cards.four,.cards.three,.option-grid{grid-template-columns:1fr}.section{padding-top:75px;padding-bottom:75px}.hero{width:100%;padding-top:36px}.hero h1{max-width:100%;font-size:clamp(2rem,10.5vw,3.5rem)}.location h3{font-size:clamp(1.8rem,8.5vw,2.4rem)}.actions{flex-direction:column;align-items:flex-start}.logo-grid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr;gap:1.1rem}.timeline:before{display:none}.timeline li{text-align:left;border-top:1px solid var(--line);justify-items:start;padding:1rem 0 0}.timeline li:first-child{border-top:0;padding-top:0}.timeline .dot{display:none}}.reservation-table .filter-row th{padding:.45rem}.reservation-table .filter-row input,.reservation-table .filter-row select{border:1px solid var(--line);width:100%;min-width:90px;font:inherit;background:#fff;padding:.55rem;font-size:.82rem}.reservation-table .filter-row button{border:1px solid var(--line);background:var(--cream);cursor:pointer;padding:.55rem}.reservation-table tfoot{background:var(--dark);color:#fff}.reservation-table tfoot th{border:0}.reservation-table .reservation-slot{white-space:nowrap;min-width:175px}.reservation-table tbody td:nth-child(4),.reservation-table tbody td:nth-child(5),.reservation-table tbody td:nth-child(8),.reservation-table tfoot th:nth-child(4),.reservation-table tfoot th:nth-child(5),.reservation-table tfoot th:nth-child(8){text-align:right}.dashboard-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.dashboard-panel+.dashboard-panel{margin-top:1.5rem}.dashboard-panel>summary{cursor:pointer;user-select:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;list-style:none;display:flex}.dashboard-panel>summary::-webkit-details-marker{display:none}.dashboard-panel>summary span{letter-spacing:-.035em;font-size:clamp(1.6rem,3vw,2.35rem);font-weight:750}.dashboard-panel>summary:after{content:"+";border:1px solid var(--line);border-radius:50%;flex:0 0 2rem;place-items:center;width:2rem;height:2rem;font-size:1.35rem;line-height:1;transition:transform .2s,background .2s;display:grid}.dashboard-panel[open]>summary:after{background:var(--cream);transform:rotate(45deg)}.dashboard-panel>summary:hover:after{border-color:var(--wine);color:var(--wine)}.dashboard-panel>summary:focus-visible{outline:2px solid var(--wine);outline-offset:4px}.dashboard-panel-content{padding:.5rem 0 1.75rem}.dashboard-panel-action{text-align:right;margin-top:0}.capacity-section{margin:3.5rem 0 1.5rem}.capacity-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.25rem;display:flex}.capacity-heading h2{margin:0 0 .45rem;font-size:clamp(1.6rem,3vw,2.35rem)}.capacity-heading p{color:#665b5d;max-width:680px;margin:0;line-height:1.5}.capacity-legend{color:#665b5d;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;font-size:.78rem;display:flex}.capacity-dot{border-radius:50%;width:.7rem;height:.7rem;margin-left:.5rem;display:inline-block}.capacity-dot:first-child{margin-left:0}.capacity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.capacity-card{border:1px solid var(--line);background:#fff;padding:1.2rem}.capacity-card>header{backdrop-filter:none;height:auto;box-shadow:none;background:0 0;border:0;justify-content:space-between;gap:1rem;margin-bottom:.25rem;padding:0 0 1rem;display:flex;position:static}.capacity-card>header strong{text-transform:capitalize}.capacity-card>header span{color:#665b5d;white-space:nowrap;font-size:.9rem}.capacity-item{border-top:1px solid var(--line);padding:1rem 0}.capacity-item-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.capacity-item-head>span{gap:.2rem;display:grid}.capacity-item-head small{color:#71676a;font-size:.75rem}.capacity-numbers{text-align:right}.capacity-numbers strong{font-size:1.15rem}.capacity-bar{background:#ebe5dc;border-radius:99px;height:.55rem;margin-top:.75rem;overflow:hidden}.capacity-bar span{border-radius:inherit;min-width:0;height:100%;display:block}.capacity-good.capacity-dot,.capacity-good .capacity-bar span{background:#3d8b5a}.capacity-warning.capacity-dot,.capacity-warning .capacity-bar span{background:#d09a2d}.capacity-critical.capacity-dot,.capacity-critical .capacity-bar span{background:#b33a3a}.capacity-good .capacity-item-head>span:first-child small{color:#2f7449}.capacity-warning .capacity-item-head>span:first-child small{color:#9a6c0b}.capacity-critical .capacity-item-head>span:first-child small{color:#9b2929;font-weight:700}.menu-toggle{color:var(--dark);font:inherit;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;padding:.7rem 0;font-size:.82rem;font-weight:750;display:none}.menu-icon,.menu-icon:before,.menu-icon:after{background:currentColor;width:24px;height:2px;transition:transform .2s;display:block}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-7px}.menu-icon:after{top:7px}.menu-toggle[aria-expanded=true] .menu-icon{background:0 0}.menu-toggle[aria-expanded=true] .menu-icon:before{top:0;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{top:0;transform:rotate(-45deg)}@media (width<=850px){header{padding:0 24px}.menu-toggle{display:flex}header #main-navigation{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:1rem 24px 1.5rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 14px 24px #2217191f}header #main-navigation[data-open=true]{display:flex}header #main-navigation a{border-bottom:1px solid var(--line);padding:.9rem 0;font-size:1rem}header #main-navigation a:last-child{border-bottom:0}.capacity-heading{flex-direction:column;align-items:flex-start}.capacity-legend{justify-content:flex-start}.capacity-grid{grid-template-columns:1fr}}@media (width<=360px){header{padding-left:18px;padding-right:18px}.brand{font-size:1.15rem}.menu-toggle{gap:.45rem}}
