:root{--bg: #ffffff;--text: #111111;--title: #a61c00;--muted: #5b5b5b;--border: #e8e8e8;--soft: #f7f7f7}*{box-sizing:border-box}body{margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.4}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:700;color:var(--title);letter-spacing:.01em}h1{font-size:clamp(2rem,4vw,3.2rem)}h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}h3{font-size:1.2rem}p{margin:0}.app-shell{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;animation:pageFadeIn .42s ease-out}.container{width:min(1160px,calc(100% - 3rem));margin:0 auto}.narrow{width:min(820px,calc(100% - 2rem))}.section{padding:5rem 0}.section-soft{background:#fbfbfb}.eyebrow{text-transform:uppercase;font-size:.78rem;color:var(--muted);letter-spacing:.12em;margin-bottom:1rem}.lead{margin-top:1.2rem;max-width:70ch;color:var(--text);font-size:1.05rem}.muted{color:var(--muted)}.site-header{position:sticky;top:0;z-index:20;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.header-row{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{font-size:1rem;font-weight:500;color:var(--text)}.nav{display:flex;align-items:center;gap:1rem}.nav-link,.dropdown-link{color:#222;font-size:.92rem}.nav-link.active,.dropdown-link.active{color:var(--title)}.nav-dropdown-trigger{border:none;background:transparent;color:#222;font-size:.92rem;font-family:inherit;padding:0;cursor:pointer}.dropdown{position:relative;display:inline-flex;align-items:center}.dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;min-width:280px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 14px 30px #14141414;padding:.4rem;display:grid;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:30}.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.dropdown-link{padding:.55rem .7rem;border-radius:10px}.dropdown-link:hover{background:#f5f5f5}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--title);color:#fff;background:var(--title);border-radius:999px;padding:.72rem 1.2rem;font-size:.9rem;cursor:pointer;transition:.18s ease}.button:hover{opacity:.9;transform:translateY(-1px)}.button-ghost{background:transparent;color:var(--title)}.button-hero-secondary{background:#fffffff0;color:#111;border-color:#fffffff0}.button-hero-secondary:hover{background:#fff}.button-small{padding:.5rem .9rem;font-size:.85rem}.button:disabled{opacity:.5;cursor:not-allowed}.text-button{border:none;background:none;color:var(--title);font-size:.9rem;padding:0;cursor:pointer}.hero{position:relative;padding-top:6rem;min-height:72vh;background-image:url(/hero-lavaux.png);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#0000009e,#0000006b 55%,#00000047)}.hero .container{position:relative;z-index:1}.hero h1{color:#fff}.hero .eyebrow,.hero .lead,.hero .text-button{color:#f1f1f1}.hero-actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.8rem}.service-grid{margin-top:2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.legal-grid{margin-top:1.8rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dual-grid,.compare-grid{margin-top:1.8rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.compare-card{border:1px solid var(--border);border-radius:16px;padding:1rem 1.1rem;background:#fff}.plain-list{margin:.7rem 0 0;padding-left:1rem;display:grid;gap:.45rem;color:var(--muted)}.check-list{margin:0;padding-left:1rem;display:grid;gap:.5rem}.timeline-list{margin:1.3rem 0 0;padding:0;list-style:none;display:grid;gap:.8rem}.timeline-list li{border:1px solid var(--border);border-radius:14px;padding:.8rem 1rem;display:grid;gap:.25rem;background:#fff}.timeline-list li span{color:var(--muted)}.kpi-strip{margin-top:1.2rem;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.kpi-card{border:1px solid var(--border);border-radius:14px;padding:.85rem .95rem;background:#fff}.kpi-title{margin:0;font-weight:700;color:#1f1f1f}.workflow-steps{margin-top:1.4rem;display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.workflow-step{border:1px solid var(--border);border-radius:12px;padding:.75rem;background:#fff;display:flex;align-items:center;gap:.6rem}.workflow-step span{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--title);color:#fff;font-size:.86rem;flex-shrink:0}.canvas-grid{margin-top:1.8rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.channel-matrix{margin-top:1.2rem;border:1px solid var(--border);border-radius:14px;overflow:hidden}.matrix-row{display:grid;gap:.5rem;grid-template-columns:1.1fr 1.5fr 1.6fr;padding:.75rem .9rem;border-bottom:1px solid var(--border);background:#fff}.matrix-row:last-child{border-bottom:none}.score-grid{margin-top:1.8rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.magic-card{border-radius:20px;border:1px solid var(--border);background:linear-gradient(180deg,#fff,#fcfcfc);padding:1.3rem;box-shadow:0 8px 30px #1111110d}.magic-card p{margin-top:.7rem}.magic-card .value{margin-top:.9rem;color:var(--muted)}.info-panel{margin:1.8rem 0;border:1px solid var(--border);border-radius:18px;background:var(--soft);padding:1.2rem;display:grid;gap:.8rem}.events-grid{display:grid;gap:1rem;margin-top:1.8rem;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.event-tile{display:flex;flex-direction:column;justify-content:space-between;gap:1rem}.event-tile-past{opacity:.62;filter:grayscale(100%)}.event-image-wrap{border-radius:14px;overflow:hidden;max-height:180px}.event-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .42s ease}.event-tile:hover .event-image{transform:scale(1.03)}.event-top p{color:var(--muted)}.event-meta{display:grid;gap:.6rem}.meta-item{display:flex;align-items:center;gap:.4rem;color:#212121;font-size:.92rem}.event-footer{border-top:1px solid var(--border);padding-top:.9rem;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.spots{color:var(--muted);font-size:.9rem}.reservation-panel{margin-top:2rem;border:1px solid var(--border);border-radius:20px;padding:1.2rem;background:#fff}.reservation-header{display:flex;justify-content:space-between;align-items:center}.reservation-form{margin-top:1rem;display:grid;gap:.85rem}.reservation-form .success,.reservation-form .error,.reservation-form .muted{margin:0}.reservation-form label{display:grid;gap:.4rem;font-size:.9rem}.reservation-form input{border:1px solid var(--border);border-radius:12px;padding:.65rem .8rem;font-family:inherit}.reservation-form .reservation-checkbox{display:flex;align-items:flex-start;gap:.55rem;font-size:.9rem}.reservation-form .reservation-checkbox input[type=checkbox]{width:1rem;height:1rem;margin-top:.1rem}.reduction-code-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center}.reduction-code-input{min-width:0}.reduction-code-validate{white-space:nowrap}.input-select{border:1px solid var(--border);border-radius:12px;padding:.65rem .8rem;font-family:inherit;background:#fff}.event-detail-grid{margin-top:1rem;display:grid;gap:1.5rem;grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}.event-detail-image-wrap{border-radius:18px;overflow:hidden;margin-bottom:1.1rem;max-height:380px}.event-detail-image{width:100%;height:100%;object-fit:cover;display:block}.event-details-text{margin-top:1rem;display:grid;gap:.7rem}.price-summary{border:1px solid var(--border);border-radius:12px;padding:.8rem;background:#fafafa;display:grid;gap:.3rem}.error{color:#a61c00;font-size:.9rem}.success{color:#0f6b35;font-size:.92rem;margin-top:1rem}.checkout-modal-backdrop{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;z-index:60;padding:1rem}.checkout-modal{width:min(760px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;border-radius:18px;background:#fff;border:1px solid var(--border);padding:1rem;display:grid;gap:.9rem}.checkout-modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.checkout-modal-actions{display:flex;align-items:center;gap:.6rem}.checkout-modal-content{display:grid;gap:1rem}.checkout-details{border:1px solid var(--border);border-radius:12px;padding:.85rem;display:grid;gap:.45rem}.checkout-warning-box{border:2px solid #a61c00;border-radius:12px;background:#fff2ed;color:#6f1400;padding:.7rem .8rem;display:grid;gap:.2rem}.checkout-warning-title{font-weight:800;letter-spacing:.01em}.checkout-qr-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.checkout-qr-card{border:1px solid var(--border);border-radius:12px;padding:.7rem;display:grid;gap:.5rem;justify-items:center;background:#fafafa}.staff-login-card{margin-top:1rem;border:1px solid var(--border);border-radius:14px;padding:1rem;display:grid;gap:.7rem;background:#fff}.staff-login-card label{display:grid;gap:.35rem}.staff-login-card input{border:1px solid var(--border);border-radius:10px;padding:.6rem .75rem;font-family:inherit}.staff-scanner-grid{margin-top:1.2rem;display:grid;gap:1rem;grid-template-columns:minmax(280px,1fr) minmax(320px,1fr)}.staff-scanner-panel,.staff-details-panel{border:1px solid var(--border);border-radius:14px;padding:.85rem;background:#fff;display:grid;gap:.75rem}.staff-scanner-panel label{display:grid;gap:.35rem;font-size:.9rem}.staff-scanner-panel input{border:1px solid var(--border);border-radius:10px;padding:.6rem .75rem;font-family:inherit}.staff-actions{margin-top:.4rem;display:flex;flex-wrap:wrap;gap:.45rem}.staff-actions .button{min-width:140px;flex:1 1 140px;padding:.38rem .75rem;font-size:.8rem;border-radius:8px}.staff-meta-list{display:grid;gap:.25rem}.staff-highlight-grid{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(140px,1fr))}.staff-highlight-card{border:1px solid var(--border);border-radius:12px;padding:.7rem .85rem;background:#fafafa;display:grid;gap:.2rem}.staff-highlight-card span{font-size:.8rem;color:#565656;text-transform:uppercase;letter-spacing:.06em}.staff-highlight-card strong{font-size:1.35rem;line-height:1.1}.staff-highlight-count strong{font-size:2.1rem}.staff-highlight-status strong{font-size:1.65rem}.staff-status-pending{background:#fff7e8;border-color:#f2d8a3}.staff-status-checked_in{background:#e9f8ef;border-color:#bfe7cc}.staff-status-checked_out{background:#eef3ff;border-color:#c7d5ff}.staff-status-banned{background:#ffe8e8;border-color:#f0aaaa}.staff-danger-banner{border:2px solid #a00000;border-radius:12px;background:#b10000;color:#fff;padding:.8rem .9rem;display:grid;gap:.2rem}.staff-danger-title{font-size:1.1rem;font-weight:800;letter-spacing:.05em}.site-footer{border-top:1px solid #2f2f2f;padding:3rem 0 1.2rem;background:#131313;color:#e9e9e9}.footer-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.footer-title{margin-bottom:.6rem;font-weight:700;color:#fff}.footer-top{display:grid;gap:1.2rem;grid-template-columns:1fr auto;align-items:start}.footer-top-left{justify-self:start}.footer-contact{justify-self:end;text-align:left;min-width:240px}.footer-main-name{margin-bottom:0;font-size:1.02rem;color:#fff}.footer-contact-link{display:block;margin-bottom:.2rem;color:#fff;font-weight:600}.footer-contact-link:hover{color:#f2c8bf}.footer-translations{margin-top:1.3rem}.translation-line{margin:0 0 .35rem;color:#d7d7d7;font-size:.93rem}.translation-fr{font-weight:700;color:#fff}.footer-bottom{margin-top:1.2rem;padding-top:1rem;border-top:1px solid #2f2f2f;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem}.footer-bottom p{color:#bcbcbc;font-size:.84rem}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.nav{display:none}.section{padding:3.5rem 0}.footer-top{grid-template-columns:1fr}.footer-contact{justify-self:start;text-align:left}.event-detail-grid,.staff-scanner-grid,.staff-highlight-grid,.matrix-row{grid-template-columns:1fr}}
