*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#ffffffde;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 2rem;background:url(/images/sonar.webp);background-size:cover;background-position:center;position:relative}.navbar:before{content:"";position:absolute;inset:0;background:#0009;z-index:0}.navbar>*{position:relative;z-index:1}.nav-left .logo img{height:60px}.nav-right{display:flex;gap:2rem;align-items:center}.nav-right a{color:#fff;text-decoration:none;font-weight:500;transition:color .3s}.nav-right a:hover{color:#aaa}.btn-book{background:#666;padding:.75rem 1.5rem;border-radius:4px}.btn-book:hover{background:#888;color:#fff!important}@media(max-width:768px){.navbar{padding:.75rem 1rem}.nav-left .logo img{height:45px}.nav-right{gap:1rem}.nav-right a{font-size:.85rem}.btn-book{padding:.5rem .75rem}}@media(max-width:480px){.navbar{padding:.5rem .75rem}.nav-left .logo img{height:36px}.nav-right{gap:.5rem}.nav-right a{font-size:.75rem}.btn-book{padding:.4rem .6rem;font-size:.75rem}}.home{min-height:100vh;background:#1a1a1a}.hero{min-height:100vh;background-size:cover;background-position:center right;position:relative}.hero-overlay{min-height:100vh;background:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.85) 40%,rgba(0,0,0,.3) 60%,transparent 75%);display:flex;align-items:center}.hero-content{width:100%;max-width:1400px;margin:0 auto;padding:2rem;position:relative}.hero-text{max-width:600px;color:#fff}.hero-text h1{font-size:2.8rem;margin-bottom:1rem;line-height:1.1;color:#fff}.hero-description{font-size:1.1rem;color:#ccc;line-height:1.7;margin-bottom:1rem}.hero-credential{display:inline-block;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.85rem;font-weight:600;padding:.5rem 1rem;border-radius:4px;margin-bottom:2rem;letter-spacing:.5px}.hero-proof{position:absolute;bottom:0;right:2rem;background:#000000bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:1.25rem;max-width:280px;display:flex;flex-direction:column;gap:.5rem}.hero-proof-label{color:#888;font-size:.7rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:600;margin-bottom:.25rem}.hero-proof-item{display:flex;flex-direction:column;gap:.15rem;text-decoration:none;padding:.5rem .6rem;border-radius:6px;transition:background .2s}.hero-proof-item:hover{background:#ffffff14}.hero-proof-source{color:#ccc;font-size:.8rem;font-weight:600}.hero-proof-stat{color:#888;font-size:.75rem}.booking-block{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:2rem}.booking-block h2{font-size:1.5rem;color:#fff;margin-bottom:.5rem}.booking-intro{color:#888;font-size:.95rem;margin-bottom:.75rem;line-height:1.5}.booking-coming-soon{display:inline-block;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ccc;font-size:.85rem;padding:.5rem 1rem;border-radius:4px;margin-bottom:1.5rem}.trip-cards{display:flex;gap:1rem}.trip-card{flex:1;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;transition:transform .3s,border-color .3s;display:flex;flex-direction:column}.trip-card:hover{transform:translateY(-4px);border-color:#888}.trip-features{flex:1}.trip-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.trip-card h3{color:#fff;font-size:1.2rem;margin:0}.trip-badge{background:#666;color:#fff;font-size:.7rem;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;font-weight:600}.trip-badge.secondary{background:#444}.trip-duration{color:#888;font-size:.9rem;margin-bottom:1rem}.trip-features{list-style:none;padding:0;margin:0 0 1.5rem}.trip-features li{color:#aaa;font-size:.85rem;padding:.4rem 0 .4rem 1.25rem;position:relative}.trip-features li:before{content:"✓";position:absolute;left:0;color:#888}.trip-price{margin-bottom:1rem}.price-amount{display:block;font-size:2rem;font-weight:700;color:#fff}.price-deposit{color:#888;font-size:.8rem}.btn-book{display:block;width:100%;background:#666;color:#fff;text-align:center;padding:.9rem 1rem;text-decoration:none;border-radius:8px;font-weight:600;font-size:.95rem;transition:background .3s,transform .2s}.btn-book:hover{background:#888;transform:scale(1.02)}.services-section{padding:5rem 2rem;background:#111}.services-container{max-width:1200px;margin:0 auto}.services-section h2{text-align:center;color:#fff;font-size:2.2rem;margin-bottom:.5rem}.services-intro{text-align:center;color:#888;font-size:1.1rem;max-width:700px;margin:0 auto 3rem;line-height:1.6}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.service-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;text-decoration:none;transition:transform .3s,border-color .3s,box-shadow .3s;overflow:hidden;display:flex;flex-direction:column}.service-card:hover{transform:translateY(-8px);border-color:#666;box-shadow:0 20px 40px #ffffff14}.service-card.featured{border-color:#666;background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.service-card-image{width:100%;height:160px;overflow:hidden}.service-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.service-card:hover .service-card-image img{transform:scale(1.08)}.service-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}.service-card h3{color:#fff;font-size:1.15rem;margin-bottom:.75rem}.service-card p{color:#888;font-size:.9rem;line-height:1.6;margin-bottom:1rem;flex:1}.service-link{color:#aaa;font-size:.9rem;font-weight:500}.service-card:hover .service-link{text-decoration:underline}.about-section{padding:5rem 2rem;background:#1a1a1a}.about-container{max-width:900px;margin:0 auto}.about-content{display:flex;flex-direction:column;align-items:center}.about-content h2{color:#fff;font-size:2rem;margin-bottom:1.5rem;text-align:center}.about-text{width:100%}.about-text p{color:#aaa;font-size:1.05rem;line-height:1.8;margin-bottom:1.25rem}.about-text strong{color:#fff}.about-highlights{display:flex;justify-content:center;align-items:center;gap:3rem;margin-top:3rem;padding-top:2rem;border-top:1px solid #2a2a2a;width:100%}.highlight{text-align:center}.highlight-number{display:block;font-size:2.5rem;font-weight:700;color:#fff}.highlight-label{color:#888;font-size:.9rem}.press-section{padding:4rem 0;background:#111;overflow:hidden}.press-container{max-width:1200px;margin:0 auto;padding:0 2rem}.press-section h2{text-align:center;color:#fff;font-size:2rem;margin-bottom:2.5rem}.press-slider{overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 5%,black 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 5%,black 95%,transparent)}.press-track{display:flex;gap:1.5rem;animation:press-scroll 40s linear infinite;width:max-content}.press-track:hover{animation-play-state:paused}@keyframes press-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.press-card{flex-shrink:0;width:320px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;padding:1.5rem;text-decoration:none;display:flex;flex-direction:column;gap:.5rem;transition:border-color .3s,box-shadow .3s}.press-card:hover{border-color:#555;box-shadow:0 8px 24px #ffffff0f}.press-source{color:#666;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;font-weight:600}.press-headline{color:#fff;font-size:1rem;font-weight:600;line-height:1.4}.press-detail{color:#888;font-size:.85rem;line-height:1.5}.cta-section{padding:4rem 2rem;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);text-align:center}.cta-container{max-width:600px;margin:0 auto}.cta-section h2{color:#fff;font-size:2rem;margin-bottom:.75rem}.cta-section p{color:#aaa;font-size:1.1rem;margin-bottom:2rem}.btn-cta{display:inline-block;background:#666;color:#fff;padding:1rem 2.5rem;text-decoration:none;border-radius:8px;font-weight:600;font-size:1.1rem;transition:background .3s,transform .2s}.btn-cta:hover{background:#888;transform:scale(1.05)}.footer{background:#0a0a0a;padding:2rem;text-align:center}.footer-content{max-width:1200px;margin:0 auto}.social-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem}.social-links a{color:#666;transition:color .3s}.social-links a:hover{color:#fff}.footer p{color:#555;font-size:.9rem;margin:.25rem 0}.footer-location{color:#444}@media(max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.hero{min-height:auto;background-image:url(/images/harlan_with_background_mobile.webp)!important;background-size:100% auto;background-position:top center;background-repeat:no-repeat}.hero-overlay{min-height:auto;background:linear-gradient(180deg,#0006,#0000008c 40%,#000000bf,#000000e6)}.hero-text{background:#000000d9;padding:1.5rem;border-radius:12px}.hero-content{padding:2rem 1.5rem 3rem;width:100%}.hero-text{width:100%;max-width:100%}.hero-text h1{font-size:2rem}.hero-description{font-size:1rem}.booking-block{padding:1.5rem}.trip-cards{flex-direction:column}.services-section{padding:3rem 1.5rem}.services-section h2{font-size:1.8rem}.services-grid{grid-template-columns:1fr;gap:1rem}.about-section{padding:3rem 1.5rem}.about-content h2{font-size:1.6rem}.about-text p{font-size:1rem}.about-highlights{flex-direction:column;gap:1.5rem}.highlight-number{font-size:2rem}.hero-proof{display:none}.service-card-image{height:140px}.press-section{padding:3rem 0}.press-container{padding:0 1.5rem}.press-section h2{font-size:1.6rem}.press-card{width:280px}.cta-section{padding:3rem 1.5rem}.cta-section h2{font-size:1.6rem}}.about{min-height:100vh;background:#1a1a1a}.about-hero{padding:3rem 2rem}.about-content{max-width:1100px;margin:0 auto;display:flex;gap:3rem;align-items:flex-start}.about-text{flex:1}.about-text h1{font-size:2.5rem;margin-bottom:1.5rem;color:#fff}.about-text p{font-size:1.05rem;line-height:1.8;margin-bottom:1.25rem;color:#ccc}.about-image{flex:0 0 350px}.about-image img{width:100%;border-radius:8px}.sonar-training{padding:4rem 2rem;background:#111;text-align:center}.sonar-training h2{color:#fff;font-size:2rem;margin-bottom:1.5rem}.sonar-training p{color:#ccc;font-size:1.1rem;line-height:1.8;max-width:800px;margin:0 auto}@media(max-width:768px){.about-content{flex-direction:column-reverse;gap:2rem}.about-image{flex:none;width:100%;max-width:300px;margin:0 auto}.about-text h1{font-size:1.8rem;text-align:center}.about-text p{font-size:1rem}.sonar-training{padding:2.5rem 1.5rem}.sonar-training h2{font-size:1.5rem}.sonar-training p{font-size:1rem}}.gallery{min-height:100vh;background:linear-gradient(180deg,#111,#1a1a1a 30%)}.gallery-content{max-width:1000px;margin:0 auto;padding:3rem 2rem}.gallery-content h1{font-size:2.5rem;margin-bottom:.5rem;color:#fff;text-align:center}.gallery-intro{text-align:center;color:#888;margin-bottom:2.5rem;font-size:1.1rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-item{aspect-ratio:1;overflow:hidden;border-radius:12px;position:relative;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:transform .3s,box-shadow .3s}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0006}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.1)}.gallery-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 40%,rgba(0,0,0,.7) 100%);opacity:0;transition:opacity .3s;display:flex;align-items:center;justify-content:center}.gallery-item:hover .gallery-overlay{opacity:1}.magnify-icon{width:48px;height:48px;color:#fff;opacity:0;transform:scale(.8);transition:all .3s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.gallery-item:hover .magnify-icon{opacity:1;transform:scale(1)}.gallery-note{text-align:center;color:#666;margin-top:2.5rem;font-style:italic}.lightbox{position:fixed;inset:0;background:#000000f2;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;cursor:pointer;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080;cursor:default;animation:scaleIn .3s ease}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;background:#ffffff1a;border:none;color:#fff;width:48px;height:48px;border-radius:50%;font-size:2rem;cursor:pointer;transition:background .2s,transform .2s;display:flex;align-items:center;justify-content:center;line-height:1}.lightbox-close:hover{background:#fff3;transform:scale(1.1)}@media(max-width:768px){.gallery-content{padding:2rem 1rem}.gallery-content h1{font-size:1.8rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.gallery-item{border-radius:8px}.magnify-icon{width:36px;height:36px}.lightbox{padding:1rem}.lightbox-close{top:1rem;right:1rem;width:40px;height:40px;font-size:1.5rem}}.book-now{min-height:100vh;background:linear-gradient(180deg,#111,#1a1a1a 30%)}.launching-soon{max-width:600px;margin:0 auto;text-align:center;padding:4rem 2rem}.launching-soon h1{font-size:2.5rem;color:#fff;margin-bottom:1rem}.launching-subtitle{font-size:1.2rem;color:#888;margin-bottom:3rem}.launching-contact{background:#222;border:1px solid #333;border-radius:12px;padding:2rem;margin-bottom:2rem}.launching-contact>p{color:#aaa;margin-bottom:1.5rem}.contact-methods{display:flex;flex-direction:column;gap:1rem}.contact-item{display:flex;align-items:center;gap:1rem;background:#1a1a1a;padding:1rem 1.5rem;border-radius:8px;color:#fff;text-decoration:none;transition:background .2s}.contact-item:hover{background:#2a2a2a}.contact-item svg{color:#888;flex-shrink:0}.btn-back-home{display:inline-block;background:#666;color:#fff;padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;transition:background .2s}.btn-back-home:hover{background:#888}@media(max-width:768px){.launching-soon{padding:2rem 1rem}.launching-soon h1{font-size:1.8rem}.launching-contact{padding:1.5rem}}.book-content{max-width:950px;margin:0 auto;padding:3rem 2rem}.book-content h1{font-size:2.5rem;margin-bottom:.75rem;color:#fff;text-align:center}.book-content .intro{font-size:1.15rem;color:#aaa;margin-bottom:2.5rem;text-align:center}.legend{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;color:#aaa;font-size:.9rem}.legend .dot{width:14px;height:14px;border-radius:4px}.legend .dot.available{background:#666}.legend .dot.upon-request{background:#2a2a2a;border:2px solid #555}.legend .dot.blackout{background:#333}.find-earliest-btn{background:transparent;border:1px solid #666;color:#888;padding:.4rem .9rem;border-radius:20px;font-size:.85rem;cursor:pointer;transition:all .2s;margin-left:auto}.find-earliest-btn:hover:not(:disabled){background:#666;color:#fff}.find-earliest-btn:disabled{opacity:.5;cursor:not-allowed}.booking-layout{display:flex;gap:2rem;align-items:flex-start}.calendar-section{flex:1;background:linear-gradient(135deg,#222,#1a1a1a);padding:1.75rem;border-radius:12px;border:1px solid #333;position:relative}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.calendar-nav h2{color:#fff;font-size:1.3rem;margin:0}.nav-btn{background:#2a2a2a;border:none;color:#fff;width:36px;height:36px;border-radius:4px;cursor:pointer;font-size:1.2rem;transition:background .2s}.nav-btn:hover{background:#3a3a3a}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.calendar-header span{text-align:center;color:#666;font-size:.8rem;padding:.5rem 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-day{aspect-ratio:1;border:none;background:#2a2a2a;color:#fff;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s;position:relative}.calendar-day:hover:not(:disabled){background:#3a3a3a}.calendar-day.selected{background:#666!important;color:#fff}.calendar-day.empty{background:transparent;cursor:default}.calendar-day.past{color:#444;cursor:not-allowed}.calendar-day:disabled{cursor:not-allowed}.calendar-day.status-available{background:#444}.calendar-day.status-available:hover:not(:disabled){background:#555}.calendar-day.status-upon_request{background:#2a2a2a}.calendar-day.status-blackout{background:#1a1a1a;color:#444}.calendar-day.status-booked{background:#1a1a1a;color:#444;text-decoration:line-through}.calendar-day.today{position:relative;font-weight:600}.calendar-day.today:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:6px;height:6px;background:#fff;border-radius:50%}.calendar-day.today.selected:after{background:#fff}.calendar-day.today.past:after{background:#555}.loading-overlay{position:absolute;inset:0;background:#222c;display:flex;align-items:center;justify-content:center;color:#888;border-radius:8px}.trip-options{flex:0 0 320px}.selected-date-display{background:linear-gradient(135deg,#2a2a2a,#222);border:2px solid #666;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem;text-align:center}.selected-date-display.placeholder{background:linear-gradient(135deg,#222,#1a1a1a);border:2px dashed #444}.selected-date-display .selected-date-label{display:block;color:#aaa;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.selected-date-display.placeholder .selected-date-label{color:#666;text-transform:none;font-size:.9rem;margin-bottom:0}.selected-date-display .selected-date-value{display:block;color:#fff;font-size:1.1rem;font-weight:600}.date-status-badge{display:inline-block;margin-top:.5rem;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.date-status-badge.upon-request{background:#3a3a3a;color:#fc6;border:1px solid #555}.trip-heading{color:#fff;font-size:1.15rem;margin-bottom:1.25rem;font-weight:600}.trip-option{background:linear-gradient(135deg,#222,#1a1a1a);padding:1.5rem;border-radius:12px;margin-bottom:1rem;border:2px solid #333;transition:all .2s}.trip-option:hover{border-color:#555}.trip-option.selected{border-color:#888;background:linear-gradient(135deg,#2a2a2a,#222)}.trip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.trip-option h3{color:#fff;font-size:1.1rem;margin:0}.trip-price{color:#fff;font-size:1.2rem;font-weight:600}.trip-duration{color:#666;font-size:.85rem;margin:0 0 .75rem}.time-slots{display:flex;flex-wrap:wrap;gap:.5rem}.time-slot{background:#2a2a2a;border:none;color:#ccc;padding:.5rem .75rem;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s}.time-slot:hover{background:#3a3a3a}.time-slot.active{background:#666;color:#fff}.btn-book-now{width:100%;background:linear-gradient(135deg,#666,#555);color:#fff;border:none;padding:1.125rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s;margin-top:1rem;text-decoration:none;display:block;text-align:center;box-shadow:0 4px 15px #ffffff1a}.btn-book-now:hover:not(:disabled){background:linear-gradient(135deg,#888,#666);transform:translateY(-2px);box-shadow:0 6px 20px #ffffff26}.btn-book-now:disabled{background:#333;color:#666;cursor:not-allowed;box-shadow:none}.back-btn{background:none;border:none;color:#888;font-size:1rem;cursor:pointer;padding:0;margin-bottom:1rem}.back-btn:hover{text-decoration:underline}.error-banner{background:#5a2a2a;color:#f99;padding:1rem;border-radius:4px;margin-bottom:1.5rem}.info-banner{background:#2a2a2a;color:#ccc;padding:1rem;border-radius:4px;margin-bottom:1.5rem}.booking-summary-bar{display:flex;gap:1rem;background:#222;padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;flex-wrap:wrap}.booking-summary-bar span{color:#ccc}.booking-summary-bar .price{color:#fff;font-weight:600;margin-left:auto}.booking-form{background:linear-gradient(135deg,#222,#1a1a1a);padding:2rem;border-radius:12px;border:1px solid #333}.form-group{margin-bottom:1.5rem}.form-group>label{display:block;color:#fff;margin-bottom:.75rem;font-size:.95rem;font-weight:500}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group select,.form-group textarea{width:100%;background:#1a1a1a;border:2px solid #333;color:#fff;padding:.875rem 1rem;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#666}.form-group input::placeholder,.form-group textarea::placeholder{color:#555}.form-group select{cursor:pointer}.form-group textarea{resize:vertical;min-height:80px}.button-group{display:flex;gap:.75rem;flex-wrap:wrap}.button-group.activity-group{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.button-group.party-size-group{display:flex;gap:.5rem}.button-group.party-size-group .select-btn{flex:0 0 auto;min-width:60px;padding:.875rem 1.25rem}.field-hint{color:#888;font-size:.85rem;margin:.5rem 0 0;font-style:italic}.select-btn{flex:1;min-width:120px;background:#1a1a1a;border:2px solid #333;color:#ccc;padding:.875rem 1rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.select-btn:hover{border-color:#666;background:#2a2a2a}.select-btn.active{border-color:#888;background:#666;color:#fff}.confirmation-box{background:#222;padding:3rem;border-radius:8px;text-align:center}.confirmation-icon{width:80px;height:80px;background:#666;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2.5rem;color:#fff}.confirmation-box h1{margin-bottom:1rem}.confirmation-box p{color:#aaa;margin-bottom:1rem}.booking-summary{background:#1a1a1a;padding:1.5rem;border-radius:8px;margin:1.5rem 0;text-align:left}.booking-summary p{margin:.5rem 0;color:#ccc}.confirmation-note{font-size:.9rem;color:#888!important}.booking-ref{color:#fff!important;font-size:1.05rem;padding-bottom:.75rem;border-bottom:1px solid #333;margin-bottom:.75rem!important}.next-steps{background:#2a2a2a;border-radius:8px;padding:1.25rem 1.5rem;margin:1.5rem 0;text-align:left}.next-steps h3{color:#fff;font-size:1rem;margin:0 0 1rem}.next-steps ol{margin:0;padding-left:1.25rem;color:#aaa}.next-steps li{margin-bottom:.5rem;line-height:1.4}.next-steps li:last-child{margin-bottom:0}.payment-options{display:flex;flex-direction:column;gap:.75rem}.payment-option{display:flex;align-items:flex-start;gap:.75rem;background:#1a1a1a;border:2px solid #333;border-radius:8px;padding:1rem;cursor:pointer;transition:border-color .2s}.payment-option:hover{border-color:#666}.payment-option input[type=radio]{margin-top:.25rem;width:18px;height:18px;cursor:pointer;accent-color:#888}.payment-option input[type=radio]:checked+.payment-option-content{color:#fff}.payment-option:has(input:checked){border-color:#888;background:#2a2a2a}.payment-option-content{display:flex;flex-direction:column;gap:.25rem}.payment-option-content strong{color:#fff;font-size:1rem}.payment-option-content span{color:#888;font-size:.85rem}.form-field-website{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden;pointer-events:none}.agreement-group{margin-top:1.5rem}.agreement-label{display:flex;align-items:flex-start;gap:1rem;cursor:pointer}.agreement-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.custom-checkbox{position:relative;width:28px;height:28px;min-width:28px;background:#1a1a1a;border:2px solid #444;border-radius:6px;margin-top:.75rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.custom-checkbox:after{content:"";position:absolute;width:8px;height:14px;border:solid transparent;border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);transition:all .2s ease;margin-top:-2px}.agreement-label:hover .custom-checkbox{border-color:#666;background:#2a2a2a}.agreement-label input:checked+.custom-checkbox{background:linear-gradient(135deg,#666,#555);border-color:#888;box-shadow:0 2px 8px #ffffff26}.agreement-label input:checked+.custom-checkbox:after{border-color:#fff;transform:rotate(45deg) scale(1)}.agreement-box{flex:1;background:#1a1a1a;border:2px solid #333;border-radius:8px;padding:1rem;transition:all .3s ease}.agreement-label:hover .agreement-box{border-color:#666}.agreement-label:has(input:checked) .agreement-box{border-color:#888;background:linear-gradient(135deg,#2a2a2a,#252525);box-shadow:0 2px 12px #ffffff14}.agreement-title{display:block;color:#fff;font-weight:600;margin-bottom:.5rem;transition:color .2s}.agreement-label:has(input:checked) .agreement-title{color:#fff}.agreement-text{display:block;color:#888;font-size:.9rem;line-height:1.5}.email-confirmation-hint{text-align:center;color:#888;font-size:.9rem;margin:1rem 0 .5rem}.email-confirmation-hint strong{color:#fff}@media(max-width:768px){.book-content{padding:2rem 1rem}.book-content h1{font-size:1.8rem}.booking-layout{flex-direction:column}.calendar-section{width:100%}.trip-options{flex:none;width:100%}.calendar-day{font-size:.8rem}.legend{gap:1rem}.booking-summary-bar{flex-direction:column;gap:.5rem}.booking-summary-bar .price{margin-left:0}.confirmation-box{padding:2rem 1.5rem}.selected-date-display{margin-bottom:1rem}.legend{flex-wrap:wrap;justify-content:center}.find-earliest-btn{margin:.5rem auto 0;flex-basis:100%}.button-group.party-size-group .select-btn{min-width:50px;padding:.75rem 1rem}.next-steps{padding:1rem}}.admin-page{min-height:100vh;background:#1a1a1a;padding:2rem}.admin-login{max-width:400px;margin:4rem auto;background:#222;padding:2rem;border-radius:8px;text-align:center}.admin-login h1{color:#fff;margin-bottom:1rem}.admin-login p{color:#888;margin-bottom:1.5rem}.admin-login form{display:flex;flex-direction:column;gap:1rem}.admin-login input{background:#1a1a1a;border:1px solid #333;color:#fff;padding:.75rem 1rem;border-radius:4px;font-size:1rem}.admin-login input:focus{outline:none;border-color:#666}.admin-login button{background:#666;color:#fff;border:none;padding:.75rem;border-radius:4px;font-size:1rem;cursor:pointer}.admin-login button:hover{background:#888}.admin-login button:disabled{background:#333;cursor:not-allowed}.error-msg{background:#5a2a2a;color:#f99;padding:.75rem;border-radius:4px;margin-bottom:1rem}.admin-header{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto 2rem}.admin-header h1{color:#fff;font-size:1.8rem}.logout-btn{background:#333;color:#ccc;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.logout-btn:hover{background:#444}.admin-tabs{display:flex;gap:.5rem;max-width:1200px;margin:0 auto 2rem}.admin-tabs button{background:#222;color:#888;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem}.admin-tabs button:hover{background:#2a2a2a}.admin-tabs button.active{background:#666;color:#fff}.admin-section{max-width:1200px;margin:0 auto;background:#222;border-radius:8px;padding:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{color:#fff;font-size:1.3rem;margin:0}.refresh-btn{background:#333;color:#ccc;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.refresh-btn:hover{background:#444}.no-data{color:#666;text-align:center;padding:2rem}.bookings-list{display:flex;flex-direction:column;gap:1rem}.booking-card{background:#1a1a1a;border-radius:8px;padding:1rem;border-left:4px solid #333}.booking-card.status-pending{border-left-color:#f0ad4e}.booking-card.status-confirmed{border-left-color:#5cb85c}.booking-card.status-cancelled{border-left-color:#d9534f}.booking-main{display:flex;gap:1.5rem;align-items:flex-start}.booking-date{background:#2a2a2a;padding:.75rem 1rem;border-radius:4px;color:#fff;font-weight:600;white-space:nowrap}.booking-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.booking-info strong{color:#fff;font-size:1.1rem}.booking-info span{color:#888;font-size:.9rem}.booking-status{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;text-transform:capitalize}.badge.pending{background:#3a3020;color:#f0ad4e}.badge.confirmed{background:#203a20;color:#5cb85c}.badge.cancelled{background:#3a2020;color:#d9534f}.badge.unpaid{background:#333;color:#888}.badge.paid{background:#203a20;color:#5cb85c}.badge.refunded{background:#3a2020;color:#d9534f}.booking-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #333}.approve-btn{background:#666;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.approve-btn:hover{background:#888}.cancel-btn{background:#5a3030;color:#f99;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.cancel-btn:hover{background:#6a4040}.date-actions{display:flex;gap:.5rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}.date-actions span{color:#888;margin-right:1rem}.date-actions button{background:#333;color:#ccc;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.date-actions button:hover:not(:disabled){background:#444}.date-actions button:disabled{opacity:.5;cursor:not-allowed}.time-selection{background:#222;border:1px solid #333;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.time-selection h4{color:#fff;margin:0 0 .5rem;font-size:1rem}.time-help{color:#888;font-size:.85rem;margin:0 0 1rem}.time-options{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.time-option{display:flex;align-items:center;gap:.5rem;background:#2a2a2a;border:2px solid #333;border-radius:6px;padding:.5rem 1rem;cursor:pointer;transition:border-color .2s,background .2s}.time-option:hover{border-color:#666}.time-option input{width:18px;height:18px;cursor:pointer;accent-color:#888}.time-option:has(input:checked){border-color:#888;background:#2a2a2a}.time-option span{color:#ccc;font-size:.95rem}.set-times-btn{background:#666;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:4px;cursor:pointer;font-size:.9rem}.set-times-btn:hover:not(:disabled){background:#888}.set-times-btn:disabled{opacity:.5;cursor:not-allowed}.admin-calendar{margin-bottom:1.5rem}.admin-calendar .calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-calendar .calendar-nav h3{color:#fff;margin:0}.admin-calendar .calendar-nav button{background:#333;border:none;color:#fff;width:36px;height:36px;border-radius:4px;cursor:pointer;font-size:1.2rem}.admin-calendar .calendar-nav button:hover{background:#444}.admin-calendar .calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.admin-calendar .calendar-header span{text-align:center;color:#666;font-size:.85rem;padding:.5rem}.admin-calendar .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.admin-calendar .calendar-day{aspect-ratio:1;border:2px solid transparent;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;transition:all .2s}.admin-calendar .calendar-day.empty{background:transparent;cursor:default}.admin-calendar .calendar-day.available{background:#444}.admin-calendar .calendar-day.upon_request{background:#2a2a2a}.admin-calendar .calendar-day.blackout{background:#1a1a1a}.admin-calendar .calendar-day.selected{border-color:#888}.admin-calendar .calendar-day:hover:not(.empty){opacity:.8}.admin-calendar .day-num{color:#fff;font-size:1rem;font-weight:600}.admin-calendar .day-status{color:#888;font-size:.65rem;text-transform:capitalize}.legend{display:flex;gap:1.5rem;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:.5rem;color:#888;font-size:.9rem}.legend .dot{width:14px;height:14px;border-radius:3px}.legend .dot.available{background:#444}.legend .dot.upon_request{background:#2a2a2a;border:1px solid #444}.legend .dot.blackout{background:#1a1a1a;border:1px solid #333}.date-range-input{background:#1a1a1a;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.date-range-input h4{color:#888;margin:0 0 .75rem;font-size:.9rem;text-transform:uppercase}.range-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.range-row input{flex:1;background:#222;border:1px solid #333;color:#fff;padding:.5rem .75rem;border-radius:4px;font-size:.9rem}.range-row input:focus{outline:none;border-color:#666}.range-row span{color:#666}.range-buttons{display:flex;gap:.5rem}.range-buttons button{flex:1;background:#333;color:#ccc;border:none;padding:.5rem;border-radius:4px;cursor:pointer;font-size:.85rem}.range-buttons button:hover:not(:disabled){background:#444}.range-buttons button:disabled{opacity:.5;cursor:not-allowed}.settings-group{background:#1a1a1a;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.settings-group h3{color:#fff;margin:0 0 .5rem;font-size:1.1rem}.settings-help{color:#888;font-size:.9rem;margin-bottom:1rem}.settings-help a{color:#888}.settings-form{display:flex;flex-direction:column;gap:1rem}.settings-form .form-group{display:flex;flex-direction:column;gap:.5rem}.settings-form label{color:#ccc;font-size:.9rem}.settings-form input{background:#222;border:1px solid #333;color:#fff;padding:.75rem;border-radius:4px;font-size:1rem}.settings-form input:focus{outline:none;border-color:#666}.field-help{color:#666;font-size:.8rem;margin:0}.save-btn{background:#666;color:#fff;border:none;padding:.75rem 2rem;border-radius:4px;font-size:1rem;cursor:pointer}.save-btn:hover:not(:disabled){background:#888}.save-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.admin-page{padding:1rem}.admin-header{flex-direction:column;gap:1rem;text-align:center}.booking-main{flex-direction:column}.booking-status{flex-direction:row;align-items:center}.date-actions{flex-direction:column;align-items:stretch}.date-actions span{margin:0 0 .5rem;text-align:center}.admin-calendar .day-status{display:none}}.service-page{min-height:100vh;background:#1a1a1a}.service-hero{background:linear-gradient(135deg,#0d1f2d,#1a3040);padding:4rem 2rem;text-align:center}.service-hero h1{color:#fff;font-size:2.8rem;margin-bottom:1rem}.service-hero .tagline{color:#4a90a4;font-size:1.2rem;margin-bottom:1rem}.service-hero p{color:#aaa;font-size:1.1rem;max-width:700px;margin:0 auto 2rem;line-height:1.7}.hero-cta{display:inline-block;background:#4a90a4;color:#fff;padding:1rem 2rem;text-decoration:none;border-radius:8px;font-weight:600;transition:background .3s,transform .2s}.hero-cta:hover{background:#5aa0b4;transform:scale(1.05)}.content-section{padding:4rem 2rem;max-width:900px;margin:0 auto}.content-section h2{color:#fff;font-size:1.8rem;margin-bottom:1.5rem}.content-section p{color:#aaa;font-size:1.05rem;line-height:1.8;margin-bottom:1.25rem}.content-section ul{color:#aaa;font-size:1.05rem;line-height:1.8;padding-left:1.5rem;margin-bottom:1.5rem}.content-section li{margin-bottom:.5rem}.features-section{background:#111;padding:4rem 2rem}.features-container{max-width:1100px;margin:0 auto}.features-section h2{color:#fff;font-size:1.8rem;text-align:center;margin-bottom:2.5rem}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.feature-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:1.5rem;text-align:center}.feature-card h3{color:#fff;font-size:1.1rem;margin-bottom:.75rem}.feature-card p{color:#888;font-size:.95rem;line-height:1.6;margin:0}.techniques-section{padding:4rem 2rem;background:#1a1a1a}.techniques-container{max-width:900px;margin:0 auto}.techniques-section h2{color:#fff;font-size:1.8rem;margin-bottom:1.5rem}.technique-item{background:#222;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.technique-item h3{color:#4a90a4;font-size:1.1rem;margin-bottom:.5rem}.technique-item p{color:#aaa;font-size:.95rem;line-height:1.6;margin:0}.service-cta{background:linear-gradient(135deg,#0d1f2d,#1a3040);padding:4rem 2rem;text-align:center}.service-cta h2{color:#fff;font-size:2rem;margin-bottom:.75rem}.service-cta p{color:#aaa;font-size:1.1rem;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.service-cta .hero-cta{font-size:1.1rem}.related-section{padding:4rem 2rem;background:#111}.related-container{max-width:1100px;margin:0 auto}.related-section h2{color:#fff;font-size:1.5rem;text-align:center;margin-bottom:2rem}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.related-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:1.5rem;text-decoration:none;transition:transform .3s,border-color .3s}.related-card:hover{transform:translateY(-4px);border-color:#4a90a4}.related-card h3{color:#fff;font-size:1.1rem;margin-bottom:.5rem}.related-card p{color:#888;font-size:.9rem;line-height:1.5;margin:0}@media(max-width:768px){.service-hero{padding:3rem 1.5rem}.service-hero h1{font-size:2rem}.content-section{padding:3rem 1.5rem}.content-section h2{font-size:1.5rem}.features-section{padding:3rem 1.5rem}.features-grid{grid-template-columns:1fr;gap:1rem}.techniques-section,.service-cta{padding:3rem 1.5rem}.service-cta h2{font-size:1.6rem}.related-section{padding:3rem 1.5rem}.related-grid{grid-template-columns:1fr;gap:1rem}}.app{min-height:100vh}main{min-height:100vh}
