:root{--color-background: #FFFFFF;--color-background-alt: #F8FAFC;--color-primary: #0F172A;--color-secondary: #334155;--color-accent: #A16207;--color-muted: #64748B;--color-border: #E2E8F0;--color-card: #FFFFFF;--color-on-primary: #FFFFFF;--color-error: #DC2626;--font-heading: "Playfair Display", Georgia, serif;--font-body: "Jost", system-ui, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow: 0 2px 8px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.14);--boat-M: #0F172A;--boat-F: #0369A1;--boat-K: #A16207;--boat-L: #334155;--boat-Z: #64748B}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:300;color:var(--color-primary);background:var(--color-background);line-height:1.6;min-height:100vh}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.hero{position:relative;background:var(--color-primary)}.hero-inner{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-8);display:flex;align-items:center;gap:var(--space-8)}.hero-logo{flex-shrink:0;width:200px;height:auto}.hero-content{flex:1;animation:fadeUp .64s cubic-bezier(0,0,.2,1) both}.hero-eyebrow{display:block;font-size:.6875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#d4a21a;margin-bottom:var(--space-2)}.hero-title{font-family:var(--font-heading);font-style:italic;font-size:clamp(1.25rem,2.8vw,1.875rem);font-weight:500;color:#fff;line-height:1.2;letter-spacing:-.01em;margin-bottom:var(--space-2)}.hero-subtitle{font-size:clamp(.75rem,1.4vw,.875rem);font-weight:300;color:#ffffffa6;line-height:1.7;max-width:600px}.hero-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-accent),transparent)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.calendar-section{padding:var(--space-10) 0 var(--space-20)}.container{width:min(96%,1440px);min-width:min(80%,1440px);margin:0 auto;padding:0 var(--space-8)}.cal-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-8);flex-wrap:wrap}.section-eyebrow{font-size:.6875rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-2)}.section-title{font-family:var(--font-heading);font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:500}.legend{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:center;padding-top:var(--space-1)}.legend-item{display:flex;align-items:center;gap:6px;font-size:.6875rem;font-weight:500;letter-spacing:.05em;color:var(--color-muted);white-space:nowrap}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.skeleton-slot{background:linear-gradient(90deg,var(--color-background-alt) 25%,var(--color-border) 50%,var(--color-background-alt) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:2px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.cal-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-4);color:var(--color-muted);font-size:.875rem;letter-spacing:.04em}.cal-error{color:var(--color-error)}.cal-spinner{width:24px;height:24px;animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.day-tabs-wrap{display:none;position:relative}.day-tabs-wrap:after{content:"";position:absolute;top:0;right:0;bottom:2px;width:56px;background:linear-gradient(to right,transparent,var(--color-bg) 80%);pointer-events:none}.day-tabs-wrap:before{content:"›";position:absolute;top:50%;right:6px;transform:translateY(-50%);font-size:1.375rem;line-height:1;color:var(--color-primary);opacity:.55;pointer-events:none;z-index:1}.day-tabs{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--space-2);margin-bottom:var(--space-6);padding-bottom:2px}.day-tabs::-webkit-scrollbar{display:none}.day-tab{flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:var(--space-3) var(--space-5);border:1px solid var(--color-border);background:var(--color-background);cursor:pointer;transition:all .2s ease-out;gap:2px;min-width:58px;font-family:var(--font-body)}.day-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.day-tab-name{font-size:.5625rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;opacity:.65}.day-tab.active .day-tab-name{opacity:.75}.day-tab-num{font-family:var(--font-heading);font-size:1.375rem;font-weight:500;line-height:1.1}.day-tab-count{font-size:.5625rem;font-weight:600;letter-spacing:.04em;color:var(--color-accent);background:#fef3c7;padding:1px 5px;border-radius:20px;margin-top:1px}.day-tab.active .day-tab-count{background:#ffffff26;color:#d4a21a}.calendar-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3);align-items:start}.day-header{padding:var(--space-3);background:var(--color-primary);color:#fff;margin-bottom:var(--space-3);text-align:center}.day-header.today{background:var(--color-accent)}.day-name-label{font-size:.5625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-bottom:2px}.day-number{font-family:var(--font-heading);font-size:1.5rem;font-weight:500;line-height:1}.day-slots{display:flex;flex-direction:column;gap:var(--space-2)}.empty-day{padding:var(--space-5) var(--space-3);text-align:center;font-size:.75rem;color:var(--color-border);border:1px dashed var(--color-border);letter-spacing:.05em}.contact-column .day-header{background:var(--color-primary)}.contact-info{padding:var(--space-4);border:1px dashed var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.contact-info p{margin:0;font-size:.8125rem;font-weight:300;color:var(--color-text-muted, #64748B);line-height:1.6}.contact-info a{font-size:.875rem;font-weight:500;color:var(--color-accent);text-decoration:none;word-break:break-all}.contact-info a:hover{text-decoration:underline}.slot-card{background:var(--color-card);border:1px solid var(--color-border);border-left:5px solid var(--color-primary);padding:var(--space-3);cursor:pointer;transition:box-shadow .2s ease-out,transform .2s ease-out,border-color .2s ease-out}.slot-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:#0000001f}.slot-time{font-family:var(--font-heading);font-size:1.0625rem;font-weight:600;line-height:1;margin-bottom:2px;transition:color .2s ease}.slot-card:hover .slot-time{color:var(--color-accent)}.slot-boat-name{font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-2)}.slot-details{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.slot-badge{font-size:.625rem;font-weight:500;color:var(--color-muted);background:var(--color-background-alt);padding:2px 6px;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.slot-badge svg{width:9px;height:9px;opacity:.65;flex-shrink:0}.boat-M{border-left-color:var(--boat-M)}.boat-F{border-left-color:var(--boat-F)}.boat-K{border-left-color:var(--boat-K)}.boat-L{border-left-color:var(--boat-L)}.boat-Z{border-left-color:var(--boat-Z)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-5);animation:overlayIn .28s ease forwards}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-card);width:100%;max-width:580px;max-height:90vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;animation:modalIn .32s cubic-bezier(0,0,.2,1) forwards}.modal::-webkit-scrollbar{width:3px}.modal::-webkit-scrollbar-thumb{background:var(--color-border)}@keyframes modalIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--space-6) var(--space-8) var(--space-5);background:var(--color-primary);color:#fff;position:relative;border-bottom:3px solid var(--color-accent)}.modal-header-eyebrow{font-size:.5625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin-bottom:var(--space-2)}.modal-title{font-family:var(--font-heading);font-style:italic;font-size:clamp(1.2rem,3vw,1.625rem);font-weight:500;line-height:1.2;padding-right:var(--space-10)}.modal-close{position:absolute;top:var(--space-5);right:var(--space-5);width:32px;height:32px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;flex-shrink:0}.modal-close:hover{background:#ffffff1f}.modal-body{padding:var(--space-7) var(--space-8)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6);margin-bottom:var(--space-6)}.info-label{font-size:.5625rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted);margin-bottom:3px}.info-value{font-size:.9375rem;font-weight:400;color:var(--color-primary);line-height:1.4}.modal-notes{background:var(--color-background-alt);border-left:3px solid var(--color-accent);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-6);font-size:.875rem;line-height:1.65;color:var(--color-secondary)}.notes-label{font-size:.5625rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-2)}.modal-divider{height:1px;background:var(--color-border);margin:var(--space-6) 0}.form-title{font-family:var(--font-heading);font-size:1.0625rem;font-weight:500;margin-bottom:var(--space-5)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}.form-row.one{grid-template-columns:1fr}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-label{font-size:.5625rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-muted)}.form-input,.form-select,.form-textarea{font-family:var(--font-body);font-weight:300;font-size:.9375rem;color:var(--color-primary);background:var(--color-background);border:1px solid var(--color-border);padding:var(--space-3) var(--space-4);outline:none;transition:border-color .2s ease;width:100%;-webkit-appearance:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-accent)}.form-input.input-error,.form-select.input-error,.form-textarea.input-error{border-color:var(--color-error)}.form-textarea{resize:vertical;min-height:72px;line-height:1.55}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748B' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}.field-error{font-size:.6875rem;color:var(--color-error);margin-top:2px}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6)}.btn-primary{flex:1;background:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-body);font-weight:500;font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;padding:14px 32px;border:none;cursor:pointer;transition:opacity .2s ease-out}.btn-primary:hover{opacity:.84}.btn-secondary{background:transparent;color:var(--color-primary);font-family:var(--font-body);font-weight:500;font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;padding:13px 20px;border:1px solid var(--color-primary);cursor:pointer;transition:all .2s ease-out;white-space:nowrap}.btn-secondary:hover{background:var(--color-primary);color:var(--color-on-primary)}.submit-loader{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-6);color:var(--color-muted);font-size:.875rem;letter-spacing:.04em}.submit-spinner{width:28px;height:28px;animation:spin 1.2s linear infinite;color:var(--color-accent)}.success-panel{text-align:center;padding:var(--space-10) var(--space-6)}.success-check{width:52px;height:52px;border:1.5px solid var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5);color:var(--color-accent)}.success-title{font-family:var(--font-heading);font-style:italic;font-size:1.375rem;margin-bottom:var(--space-3)}.success-text{font-size:.875rem;color:var(--color-muted);line-height:1.7;max-width:380px;margin:0 auto}@media (max-width: 1180px){.calendar-grid{grid-template-columns:repeat(5,minmax(128px,1fr));overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-3);scrollbar-width:thin}}@media (max-width: 767px){.container{padding:0 var(--space-5)}.hero-inner{flex-direction:column;align-items:flex-start;gap:var(--space-5);padding:var(--space-6) var(--space-5)}.hero-logo{width:160px;height:auto}.cal-meta{gap:var(--space-4)}.legend{display:none}.day-tabs-wrap,.calendar-grid{display:block}.day-column{display:none}.day-column.active{display:block}.day-header{display:none}.modal-overlay{padding:0;align-items:flex-end}.modal{max-width:100%;max-height:94vh}@keyframes modalIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header,.modal-body{padding:var(--space-5)}.info-grid,.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%;text-align:center}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
