/* Rada — nautical 3D illustration system. The original hero photograph is unchanged. */
:root{--orange:#d77554;--ink:#153b47;--muted:#7c858b}
header{height:94px;padding-inline:4.7%}.logo{font-size:40px}nav{gap:25px}nav a.active{padding:34px 0}nav .pill{font-size:12px;padding:11px 14px}nav a:focus-visible,button:focus-visible{outline:3px solid #d77554;outline-offset:5px}
.hero{margin:28px 2.7% 0;border-radius:26px;min-height:clamp(410px,43vw,570px)}.hero-copy{padding:66px 5.6% 110px}.hero h1{font-size:clamp(44px,5vw,70px);font-weight:600;letter-spacing:-2.9px;margin:23px 0}.hero p{font-size:18px;line-height:1.55}.hero .eyebrow{letter-spacing:3px}
.search{width:94.6%;max-width:1320px;margin-top:-45px;min-height:90px;padding:12px;box-shadow:0 15px 35px #153e4412}.search button{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 27px;font-size:16px}.search svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.field{padding:5px 24px}.field label{font-size:13px;margin-bottom:8px}.field input,.field select{font-size:14px}.intro{margin:29px 0 36px;font-size:12px}.container{max-width:1480px;padding:0 3%}
.nautical{display:block;background-image:url('/assets/nautical-3d-v2.png');background-repeat:no-repeat;background-size:300% 300%;width:160px;height:160px;flex-shrink:0;pointer-events:none}.captain{background-position:0 0}.compass{background-position:50% 0}.yacht{background-position:100% 0}.motorboat{background-position:0 50%}.gozzo{background-position:50% 50%}.sailboat{background-position:100% 50%}.catamaran{background-position:0 100%}.rib{background-position:50% 100%}.anchor{background-position:100% 100%}
.servicepaths{gap:16px;margin:12px 0 24px}.servicepaths button{position:relative;min-height:224px;overflow:hidden;text-align:left;padding:26px 24px;border:1px solid #e8e5df;border-radius:22px;background:linear-gradient(125deg,#faf9f5,#f6f6f3);transition:transform .2s,border-color .2s,box-shadow .2s}.servicepaths button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #173e430b;border-color:#d4d9d3}.servicepaths button[aria-pressed=true]{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange)}.servicepaths .service-copy{position:relative;z-index:1;align-self:start}.servicepaths b{font-size:20px;line-height:1.3;letter-spacing:-.6px}.servicepaths b span{display:inline;font-size:19px;color:var(--ink);margin:0}.servicepaths p{font-size:13px;line-height:1.55;color:var(--muted);margin:10px 0 0;max-width:65%}.servicepaths .nautical{position:absolute;right:2px;bottom:-4px;width:185px;height:185px;margin:0;transition:transform .3s}.servicepaths button:hover .nautical{transform:translateY(-4px) rotate(-2deg)}
.categories{gap:20px;padding:3px 0 0;border-bottom:1px solid #eceeeb;justify-content:space-between;overflow-x:auto;scrollbar-width:thin}.category{position:relative;flex:1;gap:3px;padding:0 8px 19px;border-bottom:0;color:var(--ink);font-size:13px;transition:color .2s;min-width:110px}.category .nautical{width:122px;height:122px;transition:transform .2s}.category:hover .nautical{transform:translateY(-4px)}.category:after{content:'';position:absolute;bottom:0;left:12%;right:12%;height:3px;border-radius:4px;background:transparent}.category.selected:after{background:var(--orange)}.category.selected .category-name{font-weight:700}.sectiontop{margin:43px 0 25px}.sectiontop h2{font-size:29px;letter-spacing:-1px}.photo{border-radius:18px}.empty{border:1px solid #eceae4;border-radius:20px;background:#fbfaf7}.filter{border-radius:14px}
@media(min-width:1500px){.hero{max-width:1400px;margin-inline:auto}.search{max-width:1400px}}
@media(max-width:1100px){header{padding-inline:4%;height:84px}nav{gap:16px}nav>a:not(.pill){font-size:12px}nav a.active{padding:30px 0}.hero-copy{padding-top:50px}.hero p{font-size:16px}.hero h1{font-size:54px}.field{padding-inline:13px}.search{grid-template-columns:1.2fr 1fr 1fr .85fr auto}.field input,.field select{font-size:12px}.search button{padding:18px 21px}.servicepaths button{min-height:220px;padding:23px 18px}.servicepaths b{font-size:18px}.servicepaths p{font-size:12px;max-width:76%}.servicepaths .nautical{width:155px;height:155px;right:0;bottom:-2px}.category{min-width:105px}.category .nautical{width:108px;height:108px}.categories{gap:7px}.sectiontop h2{font-size:25px}}
@media(max-width:760px){header{height:76px}.logo{font-size:33px}nav{gap:11px}nav>a:not(.pill){display:none}nav .pill{font-size:11px;padding:9px 12px}.hero{min-height:390px;margin-top:18px}.hero-copy{padding:42px 6% 100px}.hero h1{font-size:48px}.hero p{font-size:15px}.hero .eyebrow{font-size:9px;letter-spacing:2px}.field{padding-inline:9px}.field label{font-size:11px}.search button{padding:17px 19px;font-size:13px}.search button svg{width:19px;height:19px}.servicepaths{gap:10px}.servicepaths button{min-height:215px;padding:18px 13px}.servicepaths b{font-size:16px}.servicepaths p{max-width:100%;font-size:11px}.servicepaths .nautical{width:130px;height:130px;bottom:-5px;right:0}.intro{font-size:10px;margin:24px 0}.intro b{margin-inline:5px}.category{min-width:96px}.category .nautical{width:96px;height:96px}}
@media(max-width:600px){header{padding-inline:5%}nav .pill{padding:8px 10px;max-width:105px;text-align:center}.hero{margin-inline:4%;min-height:370px;border-radius:22px}.hero-copy{padding:34px 7% 100px}.hero h1{font-size:43px;letter-spacing:-2px}.hero p{font-size:14px}.search{width:92%;min-height:auto;margin-top:-43px;grid-template-columns:1fr 1fr;border-radius:23px;gap:12px;padding:16px}.field{padding:2px 8px}.field label{font-size:12px}.field input,.field select{font-size:12px}.search button{grid-column:1/-1;padding:12px}.intro{padding:0 10px;font-size:9px;line-height:1.8;margin:20px 0}.intro b{margin-inline:2px}.container{padding:0 4%}.servicepaths{grid-template-columns:1fr;gap:12px;margin:8px 0 23px}.servicepaths button{min-height:146px;padding:24px 23px;border-radius:18px}.servicepaths b{font-size:20px}.servicepaths p{font-size:12px;max-width:60%;margin-top:8px}.servicepaths .nautical{width:154px;height:154px;right:3px;bottom:-5px}.category{min-width:98px;padding:0 3px 16px;font-size:11px}.categories{gap:2px}.category .nautical{width:100px;height:100px}.sectiontop{margin-top:30px;gap:15px}.sectiontop h2{font-size:22px}.sectiontop .sub{font-size:11px}.filter{padding:11px 14px}.empty{padding:25px}}
@media(prefers-reduced-motion:reduce){.servicepaths button,.servicepaths .nautical,.category .nautical{transition:none}.servicepaths button:hover,.servicepaths button:hover .nautical,.category:hover .nautical{transform:none}}
.servicepaths .service-copy{position:absolute;top:26px;left:24px;right:20px}.servicepaths .service-copy p{max-width:72%}
@media(max-width:1100px){.servicepaths .service-copy{top:23px;left:18px;right:12px}}
@media(max-width:760px){.servicepaths .service-copy{top:18px;left:13px;right:10px}}
@media(max-width:600px){.servicepaths .service-copy{top:24px;left:23px;right:15px}.servicepaths .service-copy p{max-width:60%}}
.servicepaths .nautical{width:210px;height:210px;bottom:10px}
@media(max-width:1100px){.servicepaths .nautical{width:170px;height:170px;bottom:10px}}
@media(max-width:760px){.servicepaths .nautical{width:145px;height:145px;bottom:6px}}
@media(max-width:600px){.servicepaths .nautical{width:165px;height:165px;bottom:5px}}

/* Individually framed illustrations retain the complete native shadows. */
.nautical{background:none;clip-path:none;overflow:visible;display:flex;align-items:flex-end;justify-content:center;isolation:isolate}
.nautical svg{display:block;width:100%;height:100%;stroke:none;flex:0 0 100%}
.servicepaths button{overflow:visible;min-height:244px}
.servicepaths .service-copy{top:24px;left:24px;right:24px}
.servicepaths .nautical{width:154px;height:146px;right:22px;bottom:16px;margin:0;transform:none}
.servicepaths button:hover .nautical{transform:none}
.servicepaths .service-copy p{max-width:65%}
.categories{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:12px;padding-top:16px;overflow:visible}
.category{min-width:0;display:grid;grid-template-rows:112px 22px;justify-items:center;align-items:end;gap:10px;padding:0 6px 20px}
.category .nautical{width:132px;max-width:100%;height:112px;margin:0}
.category .category-name{align-self:center;line-height:22px}
.category:hover .nautical{transform:none}
@media(max-width:1100px){.servicepaths button{min-height:240px}.servicepaths .service-copy{top:22px;left:20px;right:20px}.servicepaths .nautical{width:142px;height:134px;right:18px;bottom:16px}.category{grid-template-rows:104px 22px}.category .nautical{width:120px;height:104px}.categories{gap:8px}}
@media(max-width:760px){.servicepaths button{min-height:238px}.servicepaths .service-copy{top:20px;left:15px;right:15px}.servicepaths .service-copy p{max-width:100%}.servicepaths .nautical{width:128px;height:122px;right:15px;bottom:16px}.categories{display:flex;overflow-x:auto;gap:10px;align-items:flex-end;padding:16px 0 2px}.category{flex:0 0 106px;grid-template-rows:100px 22px}.category .nautical{width:112px;height:100px}}
@media(max-width:600px){.servicepaths button{min-height:166px}.servicepaths .service-copy{top:26px;left:22px;right:22px}.servicepaths .service-copy p{max-width:58%}.servicepaths .nautical{width:128px;height:126px;right:16px;bottom:18px}.servicepaths b{font-size:19px}.categories{padding-top:18px}.category{padding-bottom:17px}}
/* Larger illustrations with breathing room around their native shadows. */
.servicepaths button{min-height:265px}.servicepaths .nautical{width:174px;height:164px;bottom:17px}
.categories{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.category{grid-template-rows:128px 24px;font-size:12px}.category .nautical{width:136px;max-width:100%;height:128px}
.destination{padding:0!important;overflow:hidden;border:1px solid var(--line);background:#f8f7f3!important;transition:transform .2s,box-shadow .2s}.destination:hover{transform:translateY(-3px);box-shadow:0 10px 28px #153b4710}.destination img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.destination-copy{padding:20px 22px 25px}.destination-copy b{font-size:19px}.destination-copy span{line-height:1.6;color:var(--muted)}
@media(max-width:1100px){.servicepaths .nautical{width:160px;height:151px}.category .nautical{width:132px;height:116px}.category{grid-template-rows:116px 24px}}
@media(max-width:760px){.servicepaths .nautical{width:144px;height:137px}.categories{gap:12px;padding-bottom:8px}.category{flex-basis:122px;grid-template-rows:114px 24px}.category .nautical{width:126px;height:114px}}
@media(max-width:600px){.servicepaths button{min-height:184px}.servicepaths .nautical{width:145px;height:143px;right:12px;bottom:18px}.servicepaths .service-copy p{max-width:54%}.destination-copy{padding:18px 22px 23px}.destinations{gap:20px}}

.destination{display:flex;flex-direction:column;justify-content:flex-start}.destination-copy{width:100%;text-align:left}

/* Marine backgrounds only: retain the existing service card layout and icons. */
.servicepaths button[data-service]{background-color:#def0eb;background-image:linear-gradient(180deg,rgba(248,247,243,.76),rgba(248,247,243,.12) 68%),var(--service-water);background-size:cover;background-position:left bottom;background-repeat:no-repeat}
.servicepaths button[data-service="Con skipper"]{--service-water:url('/assets/service-water-fish.png')}
.servicepaths button[data-service="Senza skipper"]{--service-water:url('/assets/service-water-stars.png')}
.servicepaths button[data-service="Yacht"]{--service-water:url('/assets/service-water-coral.png')}

/* Destination cards open the existing boat search flow. */
.destination-search-header{display:flex;align-items:center;gap:18px;padding-right:18px}
#modal .destination-search-header img{width:115px;height:100px;object-fit:contain;margin:0;flex-shrink:0}
.destination-search-header h2{margin:8px 0;font-size:26px}
.destination-search-header .eyebrow{font-size:10px;letter-spacing:1.5px}
.destination-search-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px}
.destination-search-fields input,.destination-search-fields select{min-width:0;box-sizing:border-box}
.destination-search-hint{font-size:14px;color:var(--muted,#6b7f84)}
.destination-search-submit{width:100%;margin-top:4px}
#destinationError{color:#a43c28;font-size:14px}
#modal{max-height:90dvh;overflow-y:auto;box-sizing:border-box}
@media(max-width:420px){.destination-search-header{gap:10px}#modal .destination-search-header img{width:80px;height:85px}.destination-search-header h2{font-size:22px}.destination-search-fields{grid-template-columns:minmax(0,1fr)}}

/* Four destinations, keeping comfortable card widths on smaller screens. */
.destinations{grid-template-columns:repeat(4,minmax(0,1fr))}
/* Equal boat berths keep every illustration and label on the same baseline. */
#categories{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;align-items:stretch;padding:16px 6px 0;overflow:visible}
#categories .category{min-width:0;width:100%;padding:0 4px 20px;grid-template-rows:128px 40px;gap:12px;align-items:end;justify-items:center;white-space:normal}
#categories .nautical{width:100%;max-width:132px;height:128px;transform-origin:50% 82%;transition:transform .3s ease}
#categories .nautical svg{width:100%;height:100%;overflow:hidden}
#categories .category-name{display:flex;align-items:center;justify-content:center;align-self:stretch;min-width:0;line-height:20px;text-align:center}
@keyframes rada-boat-rock{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(-2deg)}75%{transform:translateY(-2px) rotate(2deg)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){#categories .category:hover .nautical{animation:rada-boat-rock 2.4s ease-in-out infinite}}
@media(prefers-reduced-motion:no-preference){#categories .category:focus-visible .nautical{animation:rada-boat-rock 2.4s ease-in-out infinite}}
@media(max-width:1100px){#categories{grid-template-columns:repeat(8,124px);gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:16px 6px 4px}#categories .category{grid-template-rows:116px 40px;scroll-snap-align:start}#categories .nautical{height:116px;max-width:116px}}
@media(prefers-reduced-motion:reduce){#categories .nautical{animation:none;transition:none;transform:none}}
@media(min-width:601px) and (max-width:1100px){.destinations{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.destinations{grid-template-columns:1fr}}

/* Align the gondola hull with the other boat illustrations. */
#categories .nautical.gondola svg{position:relative;top:-8px}
