@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{--navy:#061f33;--deep:#041929;--gold:#bd8742;--cream:#f4f1ec;--ink:#071f32;--line:rgba(255,255,255,.17)}
*{box-sizing:border-box}
html,body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit} img{display:block;max-width:100%}

/* desktop/tablet base */
.hero{min-height:740px;position:relative;color:#fff;overflow:hidden;padding:34px 6.8vw 0;background:linear-gradient(90deg,rgba(2,19,32,.94),rgba(2,27,44,.52)),url('/public/uploads/hero.svg') center/cover no-repeat}
.site-nav{position:relative;z-index:5;height:54px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{color:#fff;font-family:Georgia,serif;text-transform:uppercase;display:inline-flex;flex-direction:column;letter-spacing:4px;line-height:.95}
.brand span{font-size:28px}.brand em{align-self:center;color:var(--gold);font-style:normal;font-size:12px;letter-spacing:8px;margin-top:10px}
.nav-links{display:flex;gap:42px;margin-left:auto;text-transform:uppercase;font-size:12px;letter-spacing:2.3px;color:#d9e2e8}
.nav-actions{display:flex;align-items:center;gap:18px}.book-btn{border:1px solid rgba(189,135,66,.9);color:#fff;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;padding:15px 27px}
.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;padding:0}.menu-btn span{display:block;width:28px;height:3px;margin:5px auto;background:var(--gold)}
.hero-copy{position:relative;z-index:3;margin-top:150px;max-width:640px}
.eyebrow,.center-eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:3.5px;font-size:13px;font-weight:800}
.hero-copy h1,.section-title-row h2,.experience-copy h2,.subhero h1,.detail h2{font-family:Georgia,serif;font-weight:400;text-transform:uppercase}
.hero-copy h1{font-size:64px;line-height:1.02;margin:20px 0}
.hero-copy p:not(.eyebrow){color:#f0f5f7;max-width:560px;font-size:17px;line-height:1.75;margin:0 0 30px}
.gold-btn,.availability-card button,.admin button,.admin-form button{border:0;display:inline-flex;justify-content:center;align-items:center;gap:18px;background:linear-gradient(135deg,#b47b34,#cf9848);color:#fff;padding:18px 32px;min-height:56px;text-transform:uppercase;letter-spacing:2.5px;font-weight:800}
.availability-card{position:absolute;z-index:4;left:6.8vw;right:6.8vw;bottom:0;transform:translateY(50%);display:grid;grid-template-columns:1.15fr .95fr .95fr 220px;background:rgba(4,26,43,.94);border:1px solid rgba(255,255,255,.2);color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.field{min-height:88px;padding:23px 28px 20px 58px;border-right:1px solid var(--line);position:relative;display:flex;flex-direction:column;justify-content:center;gap:7px}
.field i{position:absolute;left:25px;top:50%;transform:translateY(-50%);color:var(--gold);font-style:normal}
.icon-pin:before{content:"";display:block;width:22px;height:22px;border:2px solid var(--gold);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.icon-pin:after{content:"";position:absolute;width:7px;height:7px;border:2px solid var(--gold);border-radius:50%;left:6px;top:6px}
.icon-calendar:before{content:"";display:block;width:24px;height:23px;border:2px solid var(--gold);border-radius:2px}
.icon-user:before{content:"";display:block;width:24px;height:24px;border:2px solid var(--gold);border-radius:50% 50% 42% 42%;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.field em{display:none}.field span{color:#aebac4;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.field strong{font-size:15px}
.field input{background:transparent;border:0;outline:0;color:#fff;padding:0;min-height:24px}.field input::placeholder{color:#fff;opacity:1}
.availability-card button{min-height:88px;width:100%;padding:0 28px}
.featured-section{position:relative;padding:94px 6.8vw 66px;overflow:hidden}.center-eyebrow{text-align:center;display:block;font-size:12px;margin:0 auto 12px}
.section-title-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:26px}.section-title-row h2{grid-column:2;text-align:center;font-size:36px;line-height:1.05;margin:0}.section-title-row a{justify-self:end;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700}
.yacht-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.yacht-card{background:var(--deep);box-shadow:0 16px 38px rgba(6,31,51,.14)}.yacht-image-wrap{height:220px;position:relative;overflow:hidden;background:#62c7d8}.yacht-image-wrap img{width:100%;height:100%;object-fit:cover}.yacht-image-wrap b{position:absolute;top:14px;right:14px;background:#051b2d;color:#fff;font-size:12px;padding:10px 12px}.yacht-info{background:#061f33;color:#fff;padding:25px;min-height:145px}.yacht-info h3{margin:0 0 14px;text-transform:uppercase;letter-spacing:2px;font-size:16px}.yacht-info p{margin:0;color:#d7e0e6}.yacht-info .meta{color:var(--gold);font-size:13px;display:flex;flex-wrap:wrap;gap:13px;margin-bottom:19px}.mobile-arrows,.dots{display:none}
.experience-section{display:grid;grid-template-columns:39% 61%;background:#061f33;color:#fff}.experience-copy{padding:74px 6.8vw 50px;min-height:480px}.experience-copy h2{font-size:45px;line-height:1.05;margin:19px 0 22px}.experience-copy p:not(.eyebrow){color:#dce5eb;line-height:1.75;max-width:330px;margin-bottom:30px}.outline-btn{border:1px solid var(--gold);color:#fff;display:inline-flex;gap:18px;padding:17px 28px;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:800}.experience-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:360px;margin-top:55px}.experience-icons span{color:var(--gold);font-size:28px}.experience-icons small{display:block;margin-top:10px;color:#e3e9ed;font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:1px}.experience-photo{position:relative;min-height:480px}.experience-photo img{width:100%;height:100%;min-height:480px;object-fit:cover}.experience-photo aside{position:absolute;right:6.8vw;bottom:36px;width:330px;background:rgba(5,27,45,.94);padding:30px}
.footer{display:grid;grid-template-columns:1.3fr 1fr .8fr .8fr;gap:42px;background:#061f33;color:#fff;padding:55px 6.8vw}.footer h4{text-transform:uppercase;letter-spacing:2px;font-size:12px}.footer p,.footer a{display:block;color:#cbd5dc;font-size:13px;line-height:1.6;margin:7px 0}.footer-brand em{margin-left:0}
.subhero{background:#061f33;color:#fff}.sub-nav{padding:28px 6.8vw;background:#061f33}.subhero h1{font-size:48px;text-align:center;padding:70px 20px;margin:0}.search-page{min-height:60vh;padding-top:70px}.grid-mode{grid-template-columns:repeat(3,1fr)}.detail{padding:55px 6.8vw}.detail-img{width:100%;height:460px;object-fit:cover}.detail-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:40px;margin-top:35px}.inquiry,.contact-box{background:#fff;padding:30px;box-shadow:0 15px 40px rgba(0,0,0,.12)}.contact-box{max-width:780px;margin:80px auto;text-align:center}
.admin-auth{min-height:100vh;display:grid;place-items:center;background:#061f33}.admin-auth form,.admin{background:#fff;padding:35px;border-radius:18px}.admin-auth form{width:min(430px,90vw)}input,select,textarea{width:100%;padding:14px;margin:7px 0 13px;border:1px solid #d8dde2}.admin{margin:40px auto;max-width:1100px}.admin-nav{display:flex;gap:20px;align-items:center;margin-bottom:25px}.admin-nav form{margin-left:auto}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.stat-grid div{background:#f3f5f7;padding:25px;border-radius:14px}.stat-grid b{font-size:34px;display:block}table{width:100%;border-collapse:collapse;margin-top:25px}td,th{padding:15px;border-bottom:1px solid #e2e5e8;text-align:left}.inline{display:inline}.inline button{background:none;color:#a33;padding:0;letter-spacing:0;text-transform:none}

/* mobile reference target */
@media(max-width:800px){
  .hero{
    min-height:770px;
    height:770px;
    padding:30px 30px 0;
    background:linear-gradient(180deg,rgba(2,18,31,.56) 0%,rgba(2,18,31,.12) 40%,rgba(2,18,31,.72) 100%),url('/public/uploads/hero.svg') center top/cover no-repeat;
  }
  .site-nav{height:72px;align-items:flex-start}
  .brand span{font-size:25px;letter-spacing:3.5px;line-height:1;max-width:245px}
  .brand em{font-size:10px;letter-spacing:7px;margin-top:9px;margin-left:81px}
  .nav-links,.book-btn{display:none}
  .nav-actions{margin-left:auto;padding-top:7px}
  .menu-btn{display:block;width:42px;height:42px}
  .menu-btn span{width:27px;height:3px;margin:5px auto}
  .hero-copy{margin-top:87px;max-width:325px}
  .eyebrow{font-size:11px;letter-spacing:1.8px;margin:0 0 14px}
  .hero-copy h1{font-size:34px;line-height:1.07;margin:0 0 15px;letter-spacing:-.2px}
  .hero-copy p:not(.eyebrow){font-size:14px;line-height:1.55;max-width:295px;margin:0 0 18px}
  .gold-btn{min-height:52px;min-width:222px;width:auto;padding:14px 22px;font-size:12px;letter-spacing:2px}

  .availability-card{
    left:30px;right:30px;bottom:0;transform:none;
    grid-template-columns:1fr;
    border-radius:12px 12px 0 0;
    background:rgba(4,26,43,.96);
    box-shadow:none;
    border:1px solid rgba(255,255,255,.18);
  }
  .field{
    min-height:63px;
    padding:11px 42px 10px 72px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
    justify-content:center;
    gap:2px;
  }
  .field i{left:21px}
  .field span{font-size:10px;letter-spacing:.9px}
  .field strong,.field input{font-size:14px;min-height:19px}
  .field em{display:block;position:absolute;right:22px;top:50%;transform:translateY(-50%);font-style:normal;color:#fff;font-size:22px;opacity:.96}
  .availability-card button{min-height:50px;justify-content:center;padding:0 15px;font-size:11px;letter-spacing:2.8px}

  .featured-section{padding:22px 0 36px}
  .center-eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:6px}
  .section-title-row{display:block;padding:0 28px;margin-bottom:14px}
  .section-title-row h2{font-size:27px;line-height:1.02}
  .section-title-row a{display:block;text-align:center;margin-top:20px;font-size:12px;letter-spacing:3px}
  .mobile-arrows{display:block;pointer-events:none}
  .mobile-arrows button{position:absolute;top:188px;width:39px;height:39px;border:0;border-radius:50%;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.16);font-size:26px;z-index:6}
  .mobile-arrows button:first-child{left:18px}.mobile-arrows button:last-child{right:18px}
  .yacht-strip{display:flex;gap:22px;overflow-x:auto;padding:0 68px 15px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .yacht-strip::-webkit-scrollbar{display:none}
  .yacht-card{min-width:360px;max-width:360px;border-radius:7px;overflow:hidden;scroll-snap-align:center;box-shadow:0 16px 30px rgba(6,31,51,.18)}
  .yacht-image-wrap{height:178px}
  .yacht-image-wrap b{top:12px;right:12px;font-size:12px;padding:10px 12px;border-radius:2px}
  .yacht-info{min-height:140px;padding:22px 24px}
  .yacht-info h3{font-size:16px;letter-spacing:3px;margin-bottom:13px}
  .yacht-info .meta{font-size:12px;gap:12px;margin-bottom:15px}
  .yacht-info .price,.yacht-info .price strong{font-size:14px}
  .dots{display:flex;justify-content:center;gap:9px}
  .dots span{width:8px;height:8px;border-radius:50%;background:#d7d7d7}.dots .active{background:var(--gold)}

  .experience-section{display:grid;grid-template-columns:1fr 1fr;min-height:288px}
  .experience-copy{min-height:288px;padding:34px 18px 28px 30px}
  .experience-copy h2{font-size:30px;line-height:1.05;margin:15px 0}
  .experience-copy p:not(.eyebrow),.experience-icons{display:none}
  .outline-btn{font-size:10px;padding:14px 16px;letter-spacing:1.5px}
  .experience-photo{min-height:288px}.experience-photo img{min-height:288px}.experience-photo aside{display:none}
  .footer{grid-template-columns:1fr;padding:38px 30px}
  .footer .brand{display:flex;align-items:flex-start}
  .footer .brand span{font-size:32px;letter-spacing:7px;max-width:210px;line-height:1.05}
  .footer .brand em{margin-left:0;align-self:flex-start;margin-top:22px}
  .sub-nav{padding:24px 30px}.subhero h1{font-size:32px}
  .grid-mode{display:grid;grid-template-columns:1fr;padding:0 25px}.grid-mode .yacht-card{min-width:0;max-width:none}
  .detail-grid{grid-template-columns:1fr}.detail-img{height:300px}.stat-grid{grid-template-columns:1fr}
}
@media(max-width:390px){
  .hero{min-height:748px;height:748px;padding-left:25px;padding-right:25px}
  .brand span{font-size:22px;letter-spacing:3px}.brand em{font-size:9px;letter-spacing:7px;margin-left:70px}
  .hero-copy{margin-top:73px;max-width:300px}.hero-copy h1{font-size:31px}.hero-copy p:not(.eyebrow){font-size:13px;max-width:278px}
  .availability-card{left:25px;right:25px}.field{min-height:60px}
  .yacht-strip{padding-left:55px;padding-right:55px}.yacht-card{min-width:300px;max-width:300px}
}


/* ACTUAL MOBILE V3 — structure/spacing match pass from uploaded live files */
@media(max-width:800px){
  .hero{height:823px!important;min-height:823px!important;padding:28px 30px 0!important;background:linear-gradient(180deg,rgba(2,18,31,.70),rgba(2,18,31,.12) 39%,rgba(2,18,31,.88)),url('/public/uploads/hero.svg?v=actual-mobile-v3') center top/cover no-repeat!important;}
  .site-nav{height:82px!important;align-items:flex-start!important}.brand span{font-size:25px!important;letter-spacing:3.8px!important;line-height:1.02!important;max-width:270px!important}.brand em{font-size:10px!important;letter-spacing:7.5px!important;margin-top:10px!important;margin-left:86px!important;align-self:flex-start!important}.nav-links,.book-btn{display:none!important}.nav-actions{margin-left:auto!important;padding-top:7px!important}.menu-btn{display:block!important;width:42px!important;height:42px!important}.menu-btn span{width:27px!important;height:3px!important;margin:5px auto!important;background:#bd8742!important}
  .hero-copy{margin-top:102px!important;max-width:315px!important;z-index:3!important}.hero-copy .eyebrow{font-size:11px!important;letter-spacing:1.65px!important;margin:0 0 15px!important;color:#bd8742!important}.hero-copy .eyebrow:after{content:""!important;display:inline-block!important;width:34px!important;height:1px!important;background:#bd8742!important;margin:0 0 4px 9px!important}.hero-copy h1{font-size:35px!important;line-height:1.06!important;margin:0 0 17px!important;letter-spacing:-.25px!important;text-shadow:0 3px 16px rgba(0,0,0,.24)!important}.hero-copy p:not(.eyebrow){font-size:14px!important;line-height:1.55!important;max-width:295px!important;margin:0 0 19px!important;color:rgba(255,255,255,.94)!important}.gold-btn{min-width:222px!important;width:auto!important;min-height:52px!important;padding:14px 22px!important;font-size:12px!important;letter-spacing:2px!important;box-shadow:none!important}
  .availability-card{position:absolute!important;left:30px!important;right:30px!important;bottom:0!important;transform:none!important;grid-template-columns:1fr!important;margin:0!important;border-radius:12px 12px 0 0!important;overflow:hidden!important;background:rgba(4,25,41,.965)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:none!important}.availability-card .field{min-height:68px!important;padding:12px 46px 11px 74px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important;justify-content:center!important;gap:2px!important}.availability-card .field i{left:22px!important;top:50%!important;transform:translateY(-50%)!important;opacity:.98!important}.availability-card .field span{font-size:10px!important;letter-spacing:.85px!important;color:rgba(205,216,224,.72)!important;margin:0!important}.availability-card .field strong,.availability-card .field input{font-size:14px!important;line-height:1.2!important;min-height:18px!important;color:#fff!important;font-weight:600!important}.availability-card .field input::placeholder{color:#fff!important;opacity:1!important}.availability-card .field em{display:block!important;position:absolute!important;right:21px!important;top:50%!important;transform:translateY(-50%)!important;color:#fff!important;opacity:.94!important;font-style:normal!important;font-size:20px!important}.availability-card button{min-height:52px!important;justify-content:center!important;padding:0 16px!important;font-size:11px!important;letter-spacing:2.8px!important;box-shadow:none!important}.icon-pin:before{width:21px!important;height:21px!important}.icon-pin:after{width:6px!important;height:6px!important;left:6px!important;top:6px!important}.icon-calendar:before{width:24px!important;height:23px!important}.icon-user:before{width:24px!important;height:24px!important}
  .featured-section{padding:22px 0 38px!important;background:#f4f1ec!important}.center-eyebrow{font-size:10px!important;letter-spacing:2px!important;margin:0 auto 7px!important;color:#bd8742!important}.center-eyebrow:after{content:""!important;display:block!important;width:34px!important;height:1px!important;background:#bd8742!important;margin:7px auto 0!important}.section-title-row{display:block!important;padding:0 28px!important;margin:0 0 15px!important}.section-title-row h2{font-size:27px!important;line-height:1.02!important;margin:0!important;color:#071f32!important}.section-title-row a{display:block!important;text-align:center!important;margin-top:20px!important;font-size:12px!important;letter-spacing:3px!important;color:#071f32!important}.mobile-arrows{display:block!important;pointer-events:none!important}.mobile-arrows button{top:190px!important;width:39px!important;height:39px!important;border:0!important;border-radius:50%!important;background:#fff!important;box-shadow:0 8px 20px rgba(0,0,0,.16)!important;color:#071f32!important;font-size:26px!important;z-index:6!important}.mobile-arrows button:first-child{left:18px!important}.mobile-arrows button:last-child{right:18px!important}
  .yacht-strip{display:flex!important;gap:22px!important;overflow-x:auto!important;padding:0 68px 15px!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important}.yacht-card{min-width:360px!important;max-width:360px!important;border-radius:7px!important;overflow:hidden!important;scroll-snap-align:center!important;box-shadow:0 16px 32px rgba(6,31,51,.18)!important}.yacht-image-wrap{height:178px!important}.yacht-image-wrap b{top:12px!important;right:12px!important;font-size:12px!important;padding:10px 12px!important;border-radius:2px!important}.yacht-info{min-height:140px!important;padding:22px 24px!important;background:#061f33!important}.yacht-info h3{font-size:16px!important;letter-spacing:3px!important;margin-bottom:13px!important}.yacht-info .meta{font-size:12px!important;gap:12px!important;margin-bottom:15px!important;color:#bd8742!important}.yacht-info .price,.yacht-info .price strong{font-size:14px!important}.dots{display:flex!important;justify-content:center!important;gap:9px!important}.dots span{width:8px!important;height:8px!important;border-radius:50%!important;background:#d7d7d7!important}.dots .active{background:#bd8742!important}
  .experience-section{display:grid!important;grid-template-columns:1fr 1fr!important;min-height:288px!important}.experience-copy{min-height:288px!important;padding:34px 18px 28px 30px!important;background:#061f33!important}.experience-copy .eyebrow{font-size:11px!important;letter-spacing:3px!important;margin-bottom:13px!important}.experience-copy .eyebrow:after{width:32px!important;margin-left:9px!important}.experience-copy h2{font-size:30px!important;line-height:1.05!important;margin:15px 0 19px!important}.experience-copy p:not(.eyebrow),.experience-icons{display:none!important}.outline-btn{font-size:10px!important;padding:14px 16px!important;letter-spacing:1.5px!important;border-color:#bd8742!important}.experience-photo{min-height:288px!important}.experience-photo img{min-height:288px!important;object-fit:cover!important}.experience-photo aside{display:none!important}.footer{grid-template-columns:1fr!important;padding:38px 30px!important;background:#061f33!important}.footer .brand span{font-size:32px!important;letter-spacing:7px!important;max-width:220px!important;line-height:1.05!important}.footer .brand em{margin-left:0!important;align-self:flex-start!important;margin-top:20px!important}
}
@media(max-width:390px){.hero{height:748px!important;min-height:748px!important;padding-left:25px!important;padding-right:25px!important}.brand span{font-size:22px!important;letter-spacing:3px!important}.brand em{font-size:9px!important;letter-spacing:7px!important;margin-left:70px!important}.hero-copy{margin-top:73px!important;max-width:300px!important}.hero-copy h1{font-size:31px!important}.hero-copy p:not(.eyebrow){font-size:13px!important;max-width:278px!important}.availability-card{left:25px!important;right:25px!important}.availability-card .field{min-height:60px!important}.yacht-strip{padding-left:55px!important;padding-right:55px!important}.yacht-card{min-width:300px!important;max-width:300px!important}}

/* DESKTOP SEARCH BAR FIX V2 — keep full availability bar visible above white section */
@media (min-width: 801px){
  .hero{
    overflow:hidden !important;
  }
  .availability-card{
    bottom:0 !important;
    transform:none !important;
    height:88px !important;
    max-height:88px !important;
    align-items:stretch !important;
    z-index:10 !important;
  }
  .availability-card .field{
    min-height:88px !important;
    height:88px !important;
  }
  .availability-card button{
    min-height:88px !important;
    height:88px !important;
  }
  .featured-section{
    padding-top:70px !important;
  }
}
