html {
font-size:var(--font-size-base);
line-height:var(--line-height-base);
-webkit-text-size-adjust:100%;
-ms-text-size-adjust:100%
}

body {
font-family:var(--font-primary);
font-size:1rem;
line-height:var(--line-height-base);
color:var(--color-text);
background-color:var(--color-bg);
overflow-x:hidden;
overflow-wrap:break-word
}

details,footer,header,main,menu,nav,section,summary {
display:block
}

img {
max-width:100%;
height:auto;
vertical-align:middle;
border:0
}

h1,h2,h3,h4,h5,h6 {
font-weight:var(--font-weight-bold);
margin-bottom:.5em;
color:var(--color-primary);
line-height:1.2
}

h1 {
font-size:2rem
}

h2 {
font-size:1.4rem
}

h3 {
font-size:1.2rem
}

h4 {
font-size:1rem
}

h5 {
font-size:.9rem
}

h6 {
font-size:.8rem
}

p {
margin-bottom:1rem
}



a:focus,a:hover {
color:var(--color-primary-dark);
text-decoration:underline
}

a:focus {
outline:thin dotted
}

a:active,a:hover {
outline:0
}

ul {
margin:0 0 1rem 1.5rem;
padding-left:1rem
}

li>ul {
margin-bottom:0
}

button,input {
font-family:inherit;
font-size:inherit;
line-height:inherit
}

.site {
position:relative;
overflow:hidden
}

.site-container {
width:100%;
margin:0 auto;
max-width:100%;
padding-left:0;
padding-right:0
}

.site-header {
padding:20px 0 0;
border-bottom:none
}

.site-header .site-container {
display:block;
max-width:var(--container-width)
}

.site-branding {
display:flex;
align-items:center;
margin-bottom:10px;
margin-right: 10px;
margin-left: 10px
}

.site-title {
margin:0 0 5px;
line-height:1.2
}

.site-description {
margin:0;
font-size:0.875rem;
color:#666
}



@media (min-width: 769px) {
.logo-link {
	padding-left: 40px;
	padding-right: 40px	
}
}

.logo-link:hover {
transform:translateY(-2px)
}

.logo-link:hover .logo {
filter:brightness(1.1)
}

.logo-link::after {
content:'';
position:absolute;
bottom:-10px;
left:0;
right:0;
height:4px;
background:linear-gradient(90deg,transparent,#0057a84d,transparent);
opacity:0;
transform:scaleX(.8);
transition:opacity .4s ease,transform .4s ease;
border-radius:50%;
filter:blur(2px)
}

.logo-link:hover::after {
opacity:1;
transform:scaleX(1)
}











.menu-toggle {
display:none;
background-color:var(--color-primary);
color:var(--color-white);
border:none;
padding:10px 15px;
cursor:pointer
}

.site-content-container {
display:flex;
flex-wrap:wrap;
margin:20px -10px;
gap:20px
}

.hero-section {
width:100vw;
position:relative;
height:80vh;
min-height:500px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:#fff;
overflow:hidden;
padding:0;
margin-top:0;
padding-top:0
}

.hero-section p {
font-size:clamp(1rem,2vw,1.2rem);
margin-bottom:30px;
max-width:600px;
margin-left:auto;
margin-right:auto;
line-height:1.5
}

.hero-background {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:0;
aspect-ratio: 16/9
}

.hero-background img {
width:100%;
height:100%;
object-fit:cover;
object-position:center;
aspect-ratio: 16/9
}

.hero-overlay {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background-color:#0003;
z-index:1
}

.hero-content {
position:relative;
z-index:2;
max-width:800px;
padding:0 20px
}

.hero-content h1 {
color:#fff;
font-weight:700;
font-size:clamp(1.8rem,5vw,2.5rem)
}


@media (max-width:992px) {
.hero-content h1 {
font-size:2.8rem
}

.about-content {
flex-direction:column
}

.about-image,.about-text {
flex:none;
width:100%
}
}

@media (min-width:992px) {
.hero-section {
height:590px
}
}

@media (max-width:768px) {
.hero-content {
padding:0 20px
}

.hero-content h1 {
font-size:2.2rem
}

.section-title {
font-size:2rem
}

.hero-section {
height:60vh
}

.services-grid {
grid-template-columns:1fr
}
}

@media (max-width:576px) {
.hero-content h1 {
font-size:1.8rem
}

.hero-content p {
font-size:1rem
}

.cta-button {
padding:12px 25px;
font-size:.9rem
}
}

.format_text {
overflow:hidden
}

.format_text img {
border-radius:.5rem
}

.screen-reader-text:focus {
background-color:var(--color-light-gray);
border-radius:3px;
box-shadow:0 0 2px 2px #0009;
clip:auto!important;
color:var(--color-primary);
display:block;
font-size:14px;
font-weight:700;
height:auto;
left:5px;
line-height:normal;
padding:15px 23px 14px;
text-decoration:none;
top:5px;
width:auto;
z-index:100000
}

.site-footer {
background-color:var(--color-bg);
border-top:4px double var(--color-border);
margin-top:2rem;
padding-top:2rem;
padding-bottom:1.5rem;
color:var(--color-text);
font-family:var(--font-primary);
}

.home .site-footer:not(.site-footer) {
margin-top:0
}

.back-to-top {
position:fixed;
bottom:2rem;
right:2rem;
width:2.5rem;
height:2.5rem;
background-color:var(--color-primary);
color:#fff;
border-radius:9999px;
box-shadow:0 4px 6px #0000001a;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
border:none;
opacity:0;
visibility:hidden;
transition:all .3s ease;
z-index:99
}

.back-to-top:hover {
background-color:var(--color-primary-dark)
}

.back-to-top.visible {
opacity:1;
visibility:visible
}

.footer-column.footer-logo {
margin-right:-70px
}

@media (min-width:1200px) {
.site-footer .logo-container img,.site-footer .logo-container svg {
width:150px
}

}

@media (min-width:768px) and (max-width:991px) {
.footer-columns {
gap:8px
}

.footer-contact div:last-child {
display:flex;
align-items:center
}

.footer-contact div:last-child h3 {
margin-bottom:0;
margin-right:1rem
}
}

.footer-column.footer-logo {
margin-right:-40px
}

@media (max-width:900px) {
.site-content-container {
flex-direction:column;
gap:0
}
}

@media (max-width:768px) {
.menu-toggle {
display:block;
width:100%
}


.site-footer .logo-container img,.site-footer .logo-container svg {
width:100px
}

.footer-column {
flex-basis:100%
}

.footer-column.footer-logo {
margin-right:0
}

.footer-bottom {
flex-direction:column;
align-items:center;
text-align:center
}

.footer-copyright,.footer-nav-links {
text-align:center;
margin-bottom:.5rem
}

.logo {
max-width:120px
}
}

@media (max-width:600px) {
.footer-locations {
flex-direction:column;
align-items:flex-start;
gap:.5rem
}

.footer-locations h3 {
margin-bottom:.5rem
}
}

@media (max-width:480px) {
:root {
--container-padding:10px
}

.site-header .site-container {
flex-direction:column;
text-align:center
}

.site-branding {
margin-bottom:1rem
}

.logo {
max-width:100px
}
}



.details-link {
color:#666;
text-decoration:none;
font-size:.9rem;
transition:color .3s ease
}

.details-link:hover {
color:#0057a8;
text-decoration:none
}

@media (max-width:767px) {
.yacht-image {
height:180px
}

.yacht-actions {
flex-direction:column;
gap:10px
}

.book-button,.details-link {
width:100%;
text-align:center
}
}

body,html {
width:100%;
overflow-x:hidden;
margin:0;
padding:0
}

.site-footer .site-container {
max-width:1200px;
margin-left:auto;
margin-right:auto;
padding-left:15px;
padding-right:15px
}

.home .site-footer {
margin-top:0
}


.home .site-content:not(.site-footer.site-container) {
max-width:100%;
padding:0
}

.site-header {
margin-bottom:0;
padding-bottom:0;
border-bottom:none
}

.about-section,.cta-section,.services-section,.testimonials-section {
width:100%;
max-width:100%
}

.section-title {
margin-top:60px;
font-size:clamp(1.75rem,3vw,2.5rem);
font-weight:700;
color:var(--color-primary);
text-align:center;
margin-bottom:1rem;
position:relative
}

.section-description {
text-align:center;
max-width:800px;
margin:0 auto 3rem;
padding:0 20px;
color:var(--color-text);
font-size:1.1rem;
line-height:1.6
}

.services-section {
padding:0 0 5rem;
background-color:#fff;
overflow:hidden
}

.services-section .container {
width:100%;
max-width:1200px;
margin:0 auto;
padding:0 1rem
}

.section-description p {
font-size:clamp(1rem,1.2vw,1.125rem);
line-height:1.6;
color:var(--color-text,#333)
}

.services-grid {
display:grid;
grid-template-columns:1fr;
gap:2rem;
position:relative
}

.service-card {
background-color:var(--color-white,#fff);
border-radius:8px;
overflow:hidden;
box-shadow:0 5px 25px #00000014;
transition:transform .3s ease,box-shadow .3s ease;
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
padding-bottom:1.5rem;
will-change:transform
}

.service-card:hover {
transform:translateY(-10px);
box-shadow:0 15px 30px #00000026
}

.service-image {
width:100%;
height:225px;
overflow:hidden;
position:relative;
margin-bottom:1.5rem;
aspect-ratio: 379/340
}

.service-image img {
width:100%;
height:100%;
object-fit:cover;
transition:transform .5s ease;
display:block;
aspect-ratio: 379/340
}

.service-card:hover .service-image img {
transform:scale(1.05)
}

.service-title {
font-size:1.5rem;
font-weight:600;
color:var(--color-primary,#0057a8);
margin:0 0 .75rem;
padding:1rem 0 0
}

.service-description {
font-size:1rem;
line-height:1.5;
color:var(--color-text,#333);
margin:0 0 1.25rem;
padding:0 1rem
}

.service-link {
display:inline-block;
color:var(--color-primary,#0057a8);
font-weight:500;
text-decoration:none;
position:relative;
transition:color .3s ease
}

.service-link::after {
content:'';
position:absolute;
bottom:-3px;
left:0;
width:0;
height:2px;
background-color:var(--color-secondary,#f60);
transition:width .3s ease
}

.service-link:hover {
color:var(--color-secondary,#f60)
}

.service-link:hover::after {
width:100%
}

@media screen and (min-width:576px) {
.services-section .container {
padding:0 1.5rem
}
}

@media screen and (min-width:768px) {
.services-grid {
grid-template-columns:repeat(2,1fr)
}

.service-image {
height:200px
}

.section-description {
margin-bottom:2.5rem
}
}

@media screen and (min-width:992px) {
.services-grid {
grid-template-columns:repeat(3,1fr)
}

.service-image {
height:220px
}
}

@media screen and (min-width:1200px) {
.services-section .container {
padding:0
}

.service-image {
height:340px
}
}

@media (prefers-reduced-motion:reduce) {
.service-card,.service-image img {
transition:none
}
}

@media print {
.services-section {
background-color:#fff!important;
padding:1cm 0
}

.service-card {
box-shadow:none;
page-break-inside:avoid;
border:1px solid #ddd
}
}

.about-section {
width:100%;
background-color:#ffd5b9;
padding:5rem 0;
overflow:hidden;
position:relative
}

.about-container {
display:flex;
flex-direction:column;
margin:0 auto;
width:100%;
max-width:1400px;
padding:0 1rem
}

.about-image-wrapper {
position:relative;
margin-bottom:2rem;
border-radius:8px;
overflow:hidden;
aspect-ratio:4/3;
background-color:#e0e0e0
}

.about-image {
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:transform .5s ease;
aspect-ratio: 281/211
}

.about-image img {
aspect-ratio: 281/211
}

.about-image-wrapper:hover .about-image {
transform:scale(1.03)
}

.about-content {
padding:0 .5rem
}

.about-title {
font-size:clamp(1.75rem,3vw,2.5rem);
font-weight:700;
color:#1a1a1a;
margin-bottom:1.5rem;
position:relative
}

.about-text {
color:#333
}

.about-text p {
margin-bottom:1.2rem;
line-height:1.6;
font-size:clamp(1rem,1.1vw,1.1rem)
}

.about-features {
list-style:none;
padding:0;
margin:1.5rem 0
}

.feature-item {
display:flex;
align-items:flex-start;
margin-bottom:1rem;
position:relative
}

.checkmark-icon {
display:inline-block;
width:20px;
height:20px;
background-color:#e64a19;
border-radius:50%;
margin-right:12px;
position:relative;
flex-shrink:0
}

.checkmark-icon::before {
content:'';
position:absolute;
left:7px;
top:4px;
width:6px;
height:10px;
border:solid #fff;
border-width:0 2px 2px 0;
transform:rotate(45deg)
}

.feature-text {
font-size:1rem;
line-height:1.5
}

.about-cta {
margin-top:2rem
}

.about-button {
display:inline-block;
background-color:#0057a8;
color:#fff;
padding:.8rem 1.5rem;
border-radius:4px;
text-decoration:none;
font-weight:600;
font-size:1rem;
transition:background-color .3s ease,transform .2s ease
}

.about-button:hover {
background-color:#003d7a;
transform:translateY(-2px)
}

@media (min-width:576px) {
.about-container {
padding:0 2rem
}
}

@media (min-width:768px) {
.about-container {
flex-direction:row;
align-items:center;
gap:3rem
}

.about-image-wrapper {
flex:1;
margin-bottom:0
}

.about-content {
flex:1;
padding:0
}
}

@media (min-width:992px) {
.about-container {
gap:5rem
}

.about-image-wrapper {
flex:1.02
}

.about-content {
flex:1.2
}
}

@media (min-width:1200px) {
.about-container {
padding:0 3rem
}
}

@media (prefers-reduced-motion:reduce) {
.about-button,.about-image {
transition:none
}
}

@media print {
.about-section {
background-color:#fff!important;
color:#000!important
}

.about-button {
border:1px solid #333;
color:#000!important;
background:0 0!important
}

.checkmark-icon {
border:1px solid #333;
background:0 0!important
}

.checkmark-icon::before {
border-color:#333
}
}

.gallery-item .work-gallery {
padding:0
}

.work-section {
width:100vw;
position:relative;
left:50%;
right:50%;
margin-left:-50vw;
margin-right:-50vw;
background-color:#fff;
overflow:hidden;
box-sizing:border-box
}

.work-section-header {
text-align:center;
max-width:800px;
margin:0 auto 40px;
padding:0 20px
}

.work-gallery {
display:grid;
grid-auto-columns:10px;
grid-template-rows:366px 390px;
row-gap:10px;
max-width:1670px;
margin:0 auto;
padding:0;
width:100%;
justify-content:center
}

.gallery-item {
position:relative;
overflow:hidden;
padding:0
}

.image-container {
position:relative;
width:100%;
height:100%
}

.gallery-img {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:transform .5s ease
}

.gallery-item:hover .gallery-img {
transform:scale(1.03)
}

.item-1 {
grid-column:1/span 42;
grid-row:1/span 2;
width:420px;
height:calc(366px + 390px + 10px)
}

.item-2 {
grid-column:44/span 50;
grid-row:1;
width:500px;
height:366px
}

.item-3 {
grid-column:95/span 74;
grid-row:1;
width:740px;
height:366px
}

.item-4 {
grid-column:44/span 74;
grid-row:2;
width:740px;
height:390px
}

.item-5 {
grid-column:119/span 50;
grid-row:2;
width:500px;
height:390px
}

@media (max-width:1670px) {
.work-gallery {
grid-template-columns:minmax(0,25fr) minmax(0,30fr) minmax(0,45fr);
max-width:100%
}

.item-1,.item-2,.item-3,.item-4,.item-5 {
width:100%;
height:auto
}
}

@media (max-width:992px) {
.work-section {
padding:40px 0 0
}

.work-gallery {
grid-template-columns:1fr 1fr;
grid-template-rows:auto auto auto;
gap:10px
}

.item-1 {
grid-column:1;
grid-row:1;
height:auto;
padding-top:calc(766 / 420 * 100%)
}

.item-1 .image-container {
position:absolute;
top:0;
left:0;
width:100%;
height:100%
}

.item-2 {
grid-column:2;
grid-row:1;
height:auto;
padding-top:calc(366 / 500 * 100%)
}

.item-2 .image-container {
position:absolute;
top:0;
left:0;
width:100%;
height:100%
}

.item-3 {
grid-column:1;
grid-row:2;
height:auto;
padding-top:calc(366 / 740 * 100%)
}

.item-3 .image-container {
position:absolute;
top:0;
left:0;
width:100%;
height:100%
}

.item-4 {
grid-column:2;
grid-row:2;
height:auto;
padding-top:calc(390 / 740 * 100%)
}

.item-4 .image-container {
position:absolute;
top:0;
left:0;
width:100%;
height:100%
}

.item-5 {
grid-column:1/span 2;
grid-row:3;
height:auto;
padding-top:calc(390 / 1000 * 100%)
}

.item-5 .image-container {
position:absolute;
top:0;
left:0;
width:100%;
height:100%
}
}

@media (max-width:576px) {
.section-title {
font-size:1.8rem
}

.work-gallery {
grid-template-columns:1fr;
grid-template-rows:repeat(5,auto);
gap:10px
}

.item-1,.item-2,.item-3,.item-4,.item-5 {
grid-column:1;
width:100%;
height:auto;
padding-top:56.25%
}

.item-1 {
grid-row:1
}

.item-2 {
grid-row:2
}

.item-3 {
grid-row:3
}

.item-4 {
grid-row:4
}

.item-5 {
grid-row:5
}

.item-1 .image-container,.item-2 .image-container,.item-3 .image-container,.item-4 .image-container,.item-5 .image-container {
position:absolute;
top:0;
left:0;
width:100%;
height:100%
}
}

@media (prefers-reduced-motion:reduce) {
.gallery-img {
transition:none
}
}

.testimonials-section {
width:100%;
background-color:#fff;
padding:60px 0;
overflow:hidden
}

.testimonials-container {
width:100%;
max-width:1200px;
margin:0 auto;
padding:0 15px;
height:390px;
display:flex;
flex-direction:column
}

.testimonials-section .section-title {
font-size:2.5rem;
font-weight:700;
color:#333;
text-align:center;
margin-bottom:35px;
margin-top:40px;
position:relative
}

.testimonials-row {
display:flex;
flex-direction:row;
gap:20px;
width:100%
}

.testimonial-card {
border-radius:10px;
padding:20px;
display:flex;
flex-direction:column;
transition:transform .3s ease,box-shadow .3s ease;
height:100%;
flex:1;
width:calc(25% - 15px)
}

.testimonial-card:hover {
transform:translateY(-5px);
box-shadow:0 10px 25px #0000001a
}

.rating {
color:#ffc107;
font-size:1.2rem;
margin-bottom:10px;
letter-spacing:1px
}

.testimonial-text {
color:#555;
font-style:italic;
font-size:.95rem;
line-height:1.4;
margin-bottom:15px;
flex-grow:1;
overflow:hidden;
display:-webkit-box;
-webkit-line-clamp:7;
-webkit-box-orient:vertical
}

.testimonial-author {
display:flex;
align-items:center;
margin-top:auto
}

.author-image {
width:50px;
height:50px;
border-radius:50%;
overflow:hidden;
margin-right:12px;
flex-shrink:0
}

.author-image img {
width:100%;
height:100%;
object-fit:cover;
display:block
}

.author-name {
font-weight:700;
color:#333;
font-size:.95rem
}

@media (min-width:1400px) {
.testimonials-container {
max-width:1300px
}

.testimonial-text {
font-size:1rem
}
}

@media (max-width:1200px) {
.testimonials-container {
height:auto;
max-width:95%
}

.testimonials-row {
height:auto
}

.testimonial-card {
padding:18px
}
}

@media (max-width:992px) {
.testimonials-row {
flex-wrap:wrap
}

.testimonial-card {
width:calc(50% - 10px);
flex:0 0 calc(50% - 10px)
}

.testimonials-section .section-title {
font-size:2.2rem;
margin-bottom:30px
}
}

@media (max-width:768px) {
.testimonials-section {
padding:50px 0
}

.testimonial-text {
-webkit-line-clamp:4
}
}

@media (max-width:576px) {
.testimonials-section {
padding:40px 0
}

.testimonials-row {
flex-direction:column
}

.testimonial-card {
width:100%;
flex:none;
margin-bottom:15px
}

.testimonials-section .section-title {
font-size:1.8rem;
margin-bottom:25px
}

.rating {
font-size:1.1rem
}

.testimonial-text {
font-size:.9rem;
-webkit-line-clamp:initial
}

.author-image {
width:40px;
height:40px
}
}

.cta-section {
position:relative;
color:#fff;
text-align:center;
padding:80px 0;
width:100vw;
height:auto;
min-height:300px;
margin-left:50%;
transform:translateX(-50%);
overflow:hidden;
z-index:1;
display:flex;
align-items:center;
justify-content:center
}

@media (min-width:992px) {
.cta-section {
height:380px;
min-height:380px
}
}

.cta-background {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:-2
}

.cta-background img,.cta-background source {
width:100%;
height:100%;
object-fit:cover;
object-position:center
}

.cta-overlay {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background-color:#0002;
z-index:-1
}

.cta-section .container {
position:relative;
z-index:1;
max-width:800px;
padding:0 20px
}

.cta-section h2 {
font-size:clamp(1.8rem,5vw,2.5rem);
margin-bottom:20px;
font-weight:700;
color:#fff;
line-height:1.2
}

.cta-section p {
font-size:clamp(1rem,2vw,1.2rem);
margin-bottom:30px;
max-width:600px;
margin-left:auto;
margin-right:auto;
line-height:1.5
}

@media (max-width:576px) {
.cta-section {
padding:60px 0
}

.cta-button {
padding:12px 25px;
font-size:.9rem
}
}

.our-yachts-section {
width:100%;
padding:0 0 80px;
background-color:var(--color-light-gray,#f4f4f4);
overflow:hidden;
position:relative
}

.our-yachts-container {
max-width:1300px;
margin:0 auto;
padding:0 15px
}

.section-header {
text-align:center;
margin-bottom:30px
}

.section-title::after {
content:'';
position:absolute;
bottom:-10px;
left:50%;
transform:translateX(-50%);
width:80px;
height:3px;
background-color:var(--color-secondary,#f60)
}

.yachts-showcase {
position:relative;
padding:10px 0;
max-width:calc(100% - 120px);
margin:0 auto
}

.yachts-slider {
display:flex;
gap:25px;
overflow-x:auto;
scroll-behavior:smooth;
scrollbar-width:none;
-ms-overflow-style:none;
padding:10px 5px 30px;
margin:-10px -5px -30px
}

.yachts-slider::-webkit-scrollbar {
display:none
}

.yacht-card {
flex:0 0 calc(33.333% - 17px);
min-width:300px;
border:1px solid #e8e8e8;
border-radius:8px;
overflow:hidden;
background-color:#fff;
box-shadow:0 3px 10px #0000000d;
transition:transform .3s ease,box-shadow .3s ease;
display:flex;
flex-direction:column
}

.yacht-card:hover {
transform:translateY(-5px);
box-shadow:0 15px 30px #0000001a
}

.yacht-image {
height:220px;
overflow:hidden;
position:relative
}

.yacht-thumbnail {
width:100%;
height:100%;
object-fit:cover;
transition:transform .5s ease;
display:block
}

.yacht-card:hover .yacht-thumbnail {
transform:scale(1.05)
}

.yacht-content {
padding:25px;
display:flex;
flex-direction:column;
flex-grow:1
}

.yacht-title {
font-size:1.4rem;
margin-bottom:12px;
color:var(--color-primary,#0057a8)
}

.yacht-title a {
color:var(--color-primary,#0057a8);
text-decoration:none;
transition:color .3s ease
}

.yacht-title a:hover {
color:var(--color-secondary,#f60);
text-decoration:none
}

.yacht-description {
margin-bottom:15px;
color:var(--color-text,#333);
font-size:.95rem;
line-height:1.5
}

.yacht-actions {
display:flex;
justify-content:space-between;
align-items:center;
padding-top:15px;
border-top:1px solid #f0f0f0;
margin-top:auto
}


.details-link {
color:var(--color-text-light,#666);
text-decoration:none;
font-size:.9rem;
transition:color .3s ease
}

.details-link:hover {
color:var(--color-primary,#0057a8);
text-decoration:none
}

.slider-dots {
display:flex;
justify-content:center;
align-items:center;
width:100%;
margin:20px auto
}

.slider-dot {
width:36px;
height:36px;
border:none;
background:transparent;
margin:0;
padding:0;
cursor:pointer;
display:inline-flex;
align-items:center;
justify-content:center
}

.slider-dot::before {
content:"";
width:12px;
height:12px;
border-radius:50%;
background-color:#ccc;
transition:background-color .3s ease,transform .3s ease
}

.slider-dot.active::before {
background-color:#0057a8;
transform:scale(1.2)
}

.slider-dot:hover::before {
background-color:#999
}

.slider-dot:focus {
outline:none
}

.slider-dot:focus-visible::before {
box-shadow:0 0 0 2px #fff,0 0 0 4px #0057a8
}

.view-all-wrapper {
text-align:center;
margin-top:40px
}

.view-all-link {
display:inline-flex;
align-items:center;
color:var(--color-primary,#0057a8);
font-weight:600;
text-decoration:none;
padding:10px 25px;
border:2px solid var(--color-primary,#0057a8);
border-radius:30px;
transition:all .3s ease
}

.view-all-link svg {
margin-left:8px;
transition:transform .3s ease
}

.view-all-link:hover {
background-color:var(--color-primary,#0057a8);
color:#fff;
text-decoration:none
}

.view-all-link:hover svg {
transform:translateX(4px)
}

@media (max-width:1200px) {
.yacht-card {
flex:0 0 calc(50% - 15px)
}
}

@media (max-width:992px) {
.section-title {
font-size:2.2rem
}

.section-description {
font-size:1rem
}

.yacht-card {
flex:0 0 calc(50% - 15px)
}

.our-yachts-section {
padding:60px 0
}
}

@media (max-width:1100px) {
.yachts-showcase {
max-width:100%
}
}

@media (max-width:768px) {
.yacht-card {
flex:0 0 90%;
margin:0 auto
}

.section-header {
margin-bottom:30px
}

.section-title {
font-size:2rem
}

.yacht-image {
height:180px
}

.yacht-content {
padding:20px
}
}

@media (max-width:576px) {
.yacht-card {
flex:0 0 85%;
min-width:250px
}

.section-title {
font-size:1.8rem
}

.section-description {
font-size:.95rem
}

.yacht-actions {
flex-direction:column;
gap:10px
}

.book-button,.details-link {
width:100%;
text-align:center
}

.our-yachts-section {
padding:50px 0
}
}

.footer-columns {
display:flex;
flex-wrap:wrap;
justify-content:space-between;
gap:10px
}

.footer-column {
flex:1 1 200px;
margin-bottom:1rem
}

.footer-column.footer-yacht-services {
min-width:120px;
padding-left:0
}

.footer-column.footer-additional-services,.footer-column.footer-contact,.footer-column.footer-details {
min-width:200px
}

.site-footer h3 {
color:var(--color-primary);
font-weight:500;
margin-bottom:12px;
position:relative
}

.site-footer h3.text-primary-second {
margin-top:16px
}

.footer-column ul.space-y-2 {
margin:0;
padding:0;
list-style:none
}

.footer-column ul.space-y-2 li {
margin-bottom:4px
}

.footer-link {
color:var(--color-text);
text-decoration:none;
transition:color .3s ease;
display:inline-block;
padding:0;
font-size:0.875rem
}

.footer-link:hover {
color:var(--color-primary)
}

.site-footer .logo-container {
display:block;
transition:transform .3s ease
}

.site-footer .logo-container:hover {
transform:translateY(-5px)
}

.site-footer .logo-container img,.site-footer .logo-container svg {
max-width:120px;
height:auto;
display:block
}

.footer-details .space-y-3 {
margin:0;
padding:0
}

.footer-details .space-y-3 p {
margin-bottom:6px
}

.contact-row {
margin-bottom:.75rem
}

.contact-row a {
display:flex;
align-items:center;
text-decoration:none;
color:var(--color-text);
transition:color .3s ease
}

.contact-row a:hover {
color:var(--color-primary)
}

.contact-row img {
width:20px;
height:20px;
margin-right:10px
}

.footer-contact .space-y-4 {
margin-bottom:1rem
}

.footer-contact h3 {
display:inline-block;
margin-right:1rem
}

.social-icon {
width:2rem;
height:2rem;
display:flex inline;
align-items:center;
justify-content:center;
color:var(--color-text);
border-radius:50%;
transition:transform .3s ease,opacity .3s ease
}

.social-icon:hover {
transform:scale(1.2);
opacity:.8;
color:#fff
}

.footer-locations {
display:flex;
flex-wrap:wrap;
align-items:center;
gap:.75rem;
margin-top:1.5rem;
margin-bottom:1.5rem
}

.footer-location-links {
display:flex;
flex-wrap:wrap;
gap:.25rem;
align-items:center
}

.footer-locations h3 {
margin:0;
margin-right:.5rem;
white-space:nowrap
}

.location-link {
background-color:var(--color-light-gray);
padding:4px 8px;
border-radius:.25rem;
font-size:0.8125rem;
color:var(--color-text);
text-decoration:none;
transition:background-color .3s ease,color .3s ease
}

.location-link:hover {
background-color:var(--color-primary);
color:#fff
}

.footer-bottom {
padding-top:1rem;
margin-top:1rem;
border-top:2px solid var(--color-light-gray);
text-align:center
}

.footer-copyright {
color:var(--color-text-light);
font-size:0.8125rem;
text-align:center;
margin-bottom:.5rem
}

.footer-nav-links {
text-align:center;
display:block;
width:100%
}

.footer-nav-links a {
color:var(--color-text-light);
font-size:0.8125rem;
text-decoration:none;
transition:color .3s ease
}

.footer-nav-links a:hover {
color:var(--color-primary)
}

.header-navigation-wrapper {
background-color:transparent;
border-bottom:1px solid #e0e0e0;
margin-top:0;
border-top:none
}

.header-navigation {
width:100%;
margin-bottom:0;
background-color:transparent;
position:relative
}

.header-navigation ul.header-nav-menu {
list-style:none;
margin:0;
padding:0;
display:flex
}

.header-navigation li {
position:relative
}

.header-navigation a {
display:block;
padding:12px 10px;
color:#0057a8;
text-decoration:none;
position:relative;
transition:all .3s ease;
text-transform:uppercase;
font-weight:600
}

.header-navigation a:after {
content:'';
position:absolute;
bottom:0;
left:50%;
width:0;
height:3px;
background-color:#f60;
transition:all .3s ease;
transform:translateX(-50%)
}

.header-navigation a:focus:after,.header-navigation a:hover:after {
width:70%
}

.header-navigation a:focus,.header-navigation a:hover {
background-color:transparent;
color:#0057a8
}

@media (max-width:767px) {
.header-navigation-wrapper {
min-height: 58px;
margin-bottom: 0
}

.header-navigation ul#header-menu {
display:none;
flex-direction:column;
position:absolute;
top:100%;
left:0;
right:0;
background-color:#fff;
z-index:100;
box-shadow:0 5px 10px #0000001a;
padding:10px 0;
border-bottom:1px solid #e0e0e0
}

.header-navigation .header-menu-toggle {
display:block;
background-color:var(--color-primary,#0057a8);
color:#fff;
border:none;
padding:8px 12px;
border-radius:4px;
cursor:pointer;
margin-left:auto;
margin-bottom:10px;
margin-right: 10px;
font-size:1rem
}

.header-navigation ul#header-menu.toggled, #site-navigation ul#primary-menu.toggled {
display: flex;
}

.header-toggle-icon {
display:inline-block;
width:18px;
height:2px;
background-color:#fff;
position:relative;
vertical-align:middle;
transition:background-color .3s ease
}

.header-toggle-icon:after,.header-toggle-icon:before {
content:'';
position:absolute;
left:0;
width:100%;
height:2px;
background-color:#fff;
transition:transform .3s ease
}

.header-toggle-icon:before {
top:-6px
}

.header-toggle-icon:after {
bottom:-6px
}

.header-menu-toggle[aria-expanded=true] .header-toggle-icon {
background-color:transparent
}

.header-menu-toggle[aria-expanded=true] .header-toggle-icon:before {
transform:rotate(45deg);
top:0
}

.header-menu-toggle[aria-expanded=true] .header-toggle-icon:after {
transform:rotate(-45deg);
bottom:0
}

.header-navigation li {
width:100%;
border-bottom:1px solid #f0f0f0
}

.header-navigation li:last-child {
border-bottom:none
}

.header-navigation a {
padding:12px 20px;
display:block;
width:100%
}
}

@media (min-width:768px) {
.header-navigation .header-menu-toggle {
display:none
}

.header-navigation ul#header-menu {
display:flex
}
}

.site-header {
position:relative;
z-index:50
}

.mobile-menu-toggle {
z-index:100
}

.sidebar-overlay {
z-index:90
}

.yacht-categories-section {
padding:3rem 1rem;
background:linear-gradient(135deg,#f8fbff 0,#fff 100%);
position:relative;
overflow:hidden
}

.yacht-categories-section .container {
max-width:1200px;
margin:0 auto;
width:100%
}

.categories-grid {
display:grid;
grid-template-columns:1fr;
gap:1.5rem;
margin-top:2rem
}

.category-card {
background:#fff;
border-radius:16px;
overflow:hidden;
box-shadow:0 4px 20px #00000014;
transition:all .3s cubic-bezier(.4,0,.2,1);
position:relative;
will-change:transform;
border:1px solid #e7f2ffcc
}

.category-card:hover {
transform:translateY(-8px);
box-shadow:0 16px 40px #0000001f
}

.category-card:focus-within {
outline:2px solid #2563eb;
outline-offset:2px
}

.category-image {
position:relative;
height:320px; 
overflow:hidden;
background:linear-gradient(45deg,#e5f3ff,#cce7ff);
aspect-ratio: 427/320
}

.category-image img {
width:100%;
height:100%;
object-fit:cover;
object-position:center;
transition:transform .4s cubic-bezier(.4,0,.2,1);
will-change:transform;
aspect-ratio: 427/320
}

.category-card:hover .category-img {
transform:scale(1.05)
}

.category-overlay {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:linear-gradient(to bottom,#0000 0,#00000005 50%,#0000001a 100%);
transition:opacity .3s ease
}

.category-card:hover .category-overlay {
opacity:.7
}

.category-content {
padding:1.5rem;
display:flex;
flex-direction:column;
gap:.75rem
}

.category-title {
margin:0;
font-size:1.375rem;
font-weight:700;
line-height:1.3;
color:#1e293b
}

.category-title a {
color:inherit;
text-decoration:none;
transition:color .3s ease;
position:relative
}

.category-title a::after {
content:'';
position:absolute;
bottom:-2px;
left:0;
width:0;
height:2px;
background:linear-gradient(90deg,#2563eb,#3b82f6);
transition:width .3s cubic-bezier(.4,0,.2,1)
}

.category-title a:focus::after,.category-title a:hover::after {
width:100%
}

.category-title a:focus,.category-title a:hover {
color:#2563eb
}

.category-description {
font-size:.95rem;
line-height:1.6;
color:#64748b;
margin:0;
flex-grow:1
}

.category-features {
display:flex;
flex-wrap:wrap;
gap:.5rem;
margin-top:.5rem
}

.feature-tag {
display:inline-flex;
align-items:center;
padding:.375rem .75rem;
background:linear-gradient(135deg,#eff6ff 0,#e0f2fe 100%);
color:#0369a1;
font-size:.8rem;
font-weight:600;
border-radius:20px;
border:1px solid #0369a11a;
transition:all .2s ease
}

.feature-tag:hover {
background:linear-gradient(135deg,#dbeafe 0,#bae6fd 100%);
transform:translateY(-1px)
}

@media (min-width:576px) {
.yacht-categories-section {
padding:3.5rem 2rem
}

.categories-grid {
gap:2rem
}

.category-image {
height:260px
}

.category-content {
padding:2rem
}

.category-title {
font-size:1.5rem
}

.category-description {
font-size:1rem
}
}

@media (min-width:768px) {
.yacht-categories-section {
padding:4rem 2rem
}

.categories-grid {
grid-template-columns:repeat(2,1fr);
gap:2.5rem
}

.category-image {
height:280px
}

.category-title {
font-size:1.625rem
}

.feature-tag {
font-size:.85rem
}
}

@media (min-width:992px) {
.yacht-categories-section {
padding:5rem 2rem
}

.categories-grid {
grid-template-columns:repeat(3,1fr);
gap:3rem
}

.category-image {
height:300px
}

.category-content {
padding:2.25rem
}

.category-title {
font-size:1.75rem
}

.category-description {
font-size:1.05rem
}
}

@media (min-width:1200px) {
.yacht-categories-section .container {
max-width:1400px
}

.categories-grid {
gap:3.5rem
}

.category-image {
height:320px
}

.category-content {
padding:2.5rem
}

.category-title {
font-size:1.875rem
}

.category-description {
font-size:1.1rem;
line-height:1.7
}

.feature-tag {
font-size:.9rem;
padding:.5rem 1rem
}
}

.category-card,.category-img,.category-overlay {
transform:translateZ(0);
backface-visibility:hidden;
perspective:1000px
}

.category-card:hover {
transform:translate3d(0,-8px,0)
}

.category-card:hover .category-img {
transform:translate3d(0,0,0) scale(1.05)
}

.category-title a:focus {
outline:2px solid #2563eb;
outline-offset:2px;
border-radius:4px
}

@media (prefers-reduced-motion:reduce) {
.category-card,.category-img,.category-overlay,.category-title a::after,.feature-tag {
transition:none
}

.category-card:hover {
transform:none
}

.category-card:hover .category-img {
transform:none
}
}

@media (prefers-contrast:high) {
.category-card {
border:2px solid #000
}

.feature-tag {
border:1px solid #000;
background:#fff;
color:#000
}
}

@media (prefers-color-scheme:dark) {
.yacht-categories-section {
background:linear-gradient(135deg,#0f172a 0,#1e293b 100%)
}

.category-card {
background:#1e293b;
border-color:#94a3b833;
box-shadow:0 4px 20px #0000004d
}

.category-card:hover {
box-shadow:0 16px 40px #0006
}

.category-title {
color:#f8fafc
}

.category-title a:focus,.category-title a:hover {
color:#60a5fa
}

.category-description {
color:#cbd5e1
}

.feature-tag {
background:#3b82f61a;
color:#93c5fd;
border-color:#3b82f633
}

.feature-tag:hover {
background:#3b82f633
}
}

@media print {
.yacht-categories-section {
background:0 0!important;
padding:1rem 0
}

.category-card {
box-shadow:none;
border:1px solid #ccc;
break-inside:avoid;
margin-bottom:1rem
}

.category-image {
height:auto;
max-height:200px
}

.feature-tag {
background:#f5f5f5!important;
color:#333!important
}
}