@font-face{font-family:Nourishe;src:url(/assets/Nourishe%20Normal-DpSnFsBb.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Josefin Sans;src:url(/assets/JosefinSans-Regular-DiPxhovU.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Josefin Sans;src:url(/assets/JosefinSans-SemiBold-BOVNk5UL.ttf) format("truetype");font-weight:600;font-display:swap}:root{--color-background: #FFFFFF;--color-background-alt: #F8FAFC;--color-primary: #32374B;--color-secondary: #32374B;--color-accent: #AA3723;--color-muted: rgba(50, 55, 75, .62);--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)}.slot-card{position:relative}.slot-featured{border-left-width:8px;background:linear-gradient(0deg,#a162070d,#a162070d),var(--color-card);box-shadow:0 0 0 1px #a1620759,var(--shadow-sm);transform:translateY(-1px)}.slot-featured:hover{box-shadow:0 0 0 1px #a1620780,var(--shadow)}.slot-featured-badge{position:absolute;top:8px;right:8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);border-radius:50%;box-shadow:var(--shadow-sm)}.slot-featured-badge svg{width:10px;height:10px;fill:#fff}.slot-dim{opacity:.62;filter:blur(.8px) saturate(.65);border-left-style:dashed;transition:opacity .18s ease-out,filter .18s ease-out,transform .18s ease-out}.slot-dim .slot-time{color:var(--color-muted)}.slot-dim:hover,.slot-dim:focus-visible{opacity:1;filter:none;transform:translateY(-1px)}.legend-item{transition:opacity .18s ease-out}.legend-featured{font-weight:600;color:var(--color-primary);background:#a162071a;border:1px solid rgba(161,98,7,.3);padding:3px 10px 3px 8px;border-radius:20px}.legend-star{display:inline-flex;color:var(--color-accent)}.legend-star svg{width:10px;height:10px;fill:currentColor}.legend-dim{opacity:.5}.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}}.embed-root .calendar-section{padding:var(--space-4) 0}.embed-root .container{width:100%;min-width:0;padding:0 var(--space-3)}.embed-root .cal-meta{margin-bottom:var(--space-4)}.boat-unknown-notice{max-width:520px;margin:var(--space-10) auto;padding:var(--space-6);text-align:center;border:1px dashed var(--color-error);color:var(--color-error);font-size:.875rem;line-height:1.6}.boat-unknown-notice code{background:var(--color-background-alt);padding:1px 5px;color:var(--color-primary)}.embed-root{--color-primary: #32374B;--color-secondary: #32374B;--color-accent: #AA3723;--color-muted: rgba(50, 55, 75, .62);--color-border: rgba(50, 55, 75, .18);--color-background-alt: rgba(50, 55, 75, .08);--color-card: #FFFFFF;--font-heading: "Nourishe", Georgia, serif;--font-body: "Josefin Sans", sans-serif;color:#32374b;font-family:Josefin Sans,sans-serif}.embed-root .calendar-section{padding:28px 0 20px}.embed-root .container{width:min(92%,1100px);min-width:0;padding:0}.embed-root .cal-meta{display:block;margin-bottom:24px}.embed-root .section-title{font-family:Nourishe,Georgia,serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:400;letter-spacing:.02em;line-height:1}.embed-root .embed-intro{margin-top:18px;font-size:.83rem;line-height:1.35}.embed-root .legend,.embed-root .day-tabs-wrap{display:none}.embed-root .calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(165px,.92fr);gap:8px;overflow:visible}.embed-root .day-header{height:64px;margin-bottom:8px;padding:12px 8px 8px;background:#32374b;display:flex;flex-direction:column;align-items:center;justify-content:center}.embed-root .day-header.today{background:#aa3723}.embed-root .day-number{font-family:Nourishe,Georgia,serif;font-size:2.15rem;font-weight:400;line-height:.9}.embed-root .day-name-label{margin:6px 0 0;font-family:Josefin Sans,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.03em;opacity:1}.embed-root .contact-column .day-header{background:#32374b}.embed-root .contact-column .day-number{font-size:2.7rem}.embed-root .day-slots{gap:5px}.embed-root .slot-card{min-height:62px!important;padding:7px 12px 7px 28px;border:0;border-radius:0 12px 12px 0;background:#32374b14;box-shadow:none;display:grid;grid-template-columns:auto 1fr;align-content:center;align-items:center;column-gap:18px}.embed-root .slot-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:18px;border-radius:0;background:#32374b}.embed-root .slot-card.boat-M:before{background:#2563eb}.embed-root .slot-card.boat-F:before{background:#ea580c}.embed-root .slot-card.boat-K:before{background:#ec4899}.embed-root .slot-card.boat-L:before{background:#16a34a}.embed-root .slot-card.boat-Z:before{background:#ca8a04}.embed-root .slot-card:hover{transform:none;box-shadow:none}.embed-root .slot-time{grid-column:1;grid-row:1;margin:0 0 0 8px;font-family:Josefin Sans,sans-serif;font-size:1rem;font-weight:600;color:#32374b}.embed-root .slot-boat-name{grid-column:2;grid-row:1 / span 2;margin:0 0 0 8px;font-size:1.1rem;font-weight:700;-webkit-text-stroke:.2px currentColor;line-height:1.15}.embed-root .slot-details{grid-column:1;grid-row:2;gap:0;margin-left:8px}.embed-root .slot-badge{padding:0;background:transparent;font-size:.88rem;font-weight:600;color:#32374b9e}.embed-root .slot-badge:first-child{display:none}.embed-root .slot-badge svg{display:none}.embed-root .slot-featured,.embed-root .slot-dim{opacity:1;filter:none;background:#32374b14;box-shadow:none;border-left-style:solid}.embed-root .slot-featured{background:#32374b29;box-shadow:none}.embed-root .slot-dim{background:#32374b14}.embed-root .slot-dim:before,.embed-root .slot-dim .slot-boat-name,.embed-root .slot-dim .slot-time,.embed-root .slot-dim .slot-details{opacity:.35}.embed-root .slot-dim:hover:before,.embed-root .slot-dim:focus-visible:before,.embed-root .slot-dim:hover .slot-boat-name,.embed-root .slot-dim:focus-visible .slot-boat-name,.embed-root .slot-dim:hover .slot-time,.embed-root .slot-dim:focus-visible .slot-time,.embed-root .slot-dim:hover .slot-details,.embed-root .slot-dim:focus-visible .slot-details{opacity:1}.embed-root .slot-featured-badge{display:none}.embed-root .empty-day{min-height:62px;padding:15px 8px;border:0;border-radius:12px;background:#32374b14;color:#32374b59}.embed-root .contact-info{min-height:100%;padding:48px 22px 22px;border:0;background:#32374b14;gap:16px}.embed-root .contact-info p{color:#32374b;line-height:1.45}.embed-root .contact-info a{color:#aa3723;font-size:.8rem;font-weight:400;word-break:normal}.embed-root .modal,.embed-root .modal-body,.embed-root .success-panel{background:#fff}.embed-root .modal-divider{background:#32374b47}@media (max-width: 767px){.embed-root{width:100%;overflow-x:hidden}.embed-root .calendar-section{padding:24px 0 10px}.embed-root .container{width:calc(100% - 16px);padding:0}.embed-root .cal-meta{margin:0 20px 18px}.embed-root .section-title{font-size:1.55rem}.embed-root .embed-intro{margin-top:12px;font-size:.58rem}.embed-root .calendar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,19%)) minmax(0,21%);gap:3px;padding:0;overflow:visible}.embed-root .day-column,.embed-root .day-column.active{display:block;min-width:0}.embed-root .day-header{display:flex;height:38px;margin-bottom:3px;padding:4px 2px}.embed-root .day-number{font-size:1.22rem}.embed-root .contact-column .day-number{font-size:1.65rem}.embed-root .day-name-label{margin-top:3px;font-size:.45rem}.embed-root .day-slots{gap:3px}.embed-root .slot-card{min-height:42px!important;padding:3px 2px 3px 9px;border-radius:0 5px 5px 0;display:grid;grid-template-columns:auto 1fr;align-content:center;align-items:center;column-gap:2px;text-align:center}.embed-root .slot-card:before{left:0;width:5px;height:auto}.embed-root .slot-time{margin-left:3px;font-size:.56rem;line-height:1}.embed-root .slot-boat-name{margin-left:3px;font-size:.6rem;font-weight:700;line-height:1}.embed-root .slot-details{justify-content:center;margin-left:3px}.embed-root .slot-badge{font-size:.52rem;line-height:1}.embed-root .empty-day{min-height:42px;padding:12px 2px;border-radius:5px;font-size:.45rem}.embed-root .contact-info{min-height:100%;padding:28px 6px 8px;gap:9px}.embed-root .contact-info p{font-size:.43rem;line-height:1.35}.embed-root .contact-info a{font-size:.42rem;line-height:1.2;word-break:break-word}}
