/* Shared visual layer. Activity facts, prices and booking forms live in the HTML. */
:root {
  --ink: #092f40;
  --paper: #f9f8f4;
  --lime: #e6d2ad;
  --muted: #546a73;
  --sea: #176575;
  --line: #d9e1df;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Manrope Variable', Arial, sans-serif;
  --gutter: max(6%, calc((100vw - 1400px) / 2));
}
body {font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection {background:#e6d2ad;color:var(--ink)}
h1,h2,h3 {font-family:var(--serif);font-weight:400;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:break-word}
h1,h2 {line-height:1.02}
h2 {font-size:clamp(42px,4.8vw,74px)}
h2 em {color:var(--sea)}
h3 {font-size:32px;line-height:1.15}
.eyebrow {font-family:var(--sans);font-size:10px;letter-spacing:2.3px;font-weight:600}
.section {padding:100px var(--gutter)}
.section-head {gap:60px}
.section-head>p {max-width:370px;font-size:14px;line-height:1.9}
.skip {z-index:60}
header {height:92px;padding:0 var(--gutter);position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line);gap:22px;transition:background .3s,color .3s,box-shadow .3s}
header.is-scrolled {box-shadow:0 8px 30px #092f400c}
header .brand,html[lang="ru"] header .brand {font-size:13px;letter-spacing:1.6px;gap:10px;flex-shrink:0}
header .brand small,html[lang="ru"] header .brand small {font-size:7px;letter-spacing:2px;line-height:1.4}
.brand-mark {font-family:var(--serif);font-size:48px;font-style:italic;line-height:.95;border-color:#b7a27d}
header #nav {gap:18px;font-size:11px;align-items:center}
header #nav>a {position:relative;white-space:nowrap}
header #nav>a::after {content:'';position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
header #nav>a:hover::after {transform:scaleX(1)}
.nav-dropdown summary {gap:6px}
.nav-submenu {background:var(--paper);color:var(--ink);border-color:var(--line);padding:10px;top:calc(100% + 15px);box-shadow:0 18px 42px #092f4018;border-radius:3px}
.nav-submenu a:hover {background:#eaf1f0}
header .button.small {font-size:11px;padding:14px 16px;gap:18px}
.language-switcher {margin-left:0;gap:5px}
.language-switcher select {background:transparent;border-color:#a6b8bd;color:inherit;font-size:11px;padding:9px 4px;max-width:102px}
.language-switcher option {background:var(--paper);color:var(--ink)}
.home header {position:absolute;top:0;left:0;right:0;color:white;border-bottom-color:#ffffff26;background:linear-gradient(#062532b3,transparent)}
.home header.is-scrolled {position:fixed;color:var(--ink);background:var(--paper);border-bottom-color:var(--line)}
.home header:not(.is-scrolled) .language-switcher select {border-color:#ffffff70}
.home header:not(.is-scrolled) .menu-toggle {color:white}
.home header:not(.is-scrolled) #nav>a:hover,.home header:not(.is-scrolled) summary:hover {color:var(--lime)}
.button {font-family:var(--sans);font-size:12px;font-weight:600;border-radius:2px;padding:19px 25px;gap:35px;min-height:52px;line-height:1.5;transition:background .25s,transform .25s,box-shadow .25s}
.button:hover {background:#155060;box-shadow:0 8px 20px #092f4015}
.button.light {background:var(--lime);color:var(--ink)}
.button.light:hover {background:#f1dfbf}
.button span {font-size:22px}
.text-link {font-size:12px;font-weight:600;border-color:#8aa0a7}
.hero {height:720px;min-height:650px;max-height:none;background-position:center;color:white;isolation:isolate}
.hero::before {content:'';position:absolute;inset:0;z-index:-1;background-image:inherit;background-size:cover;background-position:inherit;animation:ocean-arrival 16s ease-out both}
.hero-shade {background:linear-gradient(90deg,#042c3acf 0%,#062c3960 55%,#062c3914),linear-gradient(0deg,#062c3999,transparent 60%)}
.hero-content {padding:105px var(--gutter) 80px;max-width:1400px}
.hero h1 {font-size:clamp(64px,7.5vw,112px);line-height:1;max-width:1000px;letter-spacing:-.03em}
.hero h1 em {color:var(--lime)}
.hero .eyebrow {margin-bottom:30px}
.hero-copy {font-size:14px;line-height:1.9;max-width:570px;color:#edf3f4;margin:28px 0 32px}
.hero .button {width:fit-content}
.home .hero {height:100svh;min-height:760px;max-height:1100px;background-position:25% center}
.home .hero-content {padding-top:clamp(175px,22vh,260px);padding-bottom:155px}
.home .hero h1 {font-size:clamp(76px,8.3vw,132px);max-width:1100px}
.hero-actions {display:flex;align-items:center;flex-wrap:wrap;gap:32px}
.hero-film {font-size:12px;display:inline-flex;align-items:center;gap:12px}
.hero-film>span {width:42px;height:42px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;font-size:22px;transition:background .25s}
.hero-film:hover>span {background:#ffffff22}
.hero-bottom {left:var(--gutter);right:var(--gutter);bottom:40px;border-top:1px solid #ffffff4a;padding-top:22px;font-size:10px}
.hero-bottom small {font-size:8px;letter-spacing:1.5px;color:#e0eaea}
.hero-bottom>a {display:flex;align-items:center;gap:25px}
.hero-bottom>a>span {font-size:25px}
.hero-side {font-size:9px;letter-spacing:2.5px;right:26px}
.journey-section {padding:38px var(--gutter);background:var(--paper);display:grid;grid-template-columns:1fr 1.3fr;gap:70px;align-items:center;border-bottom:1px solid var(--line)}
.journey-heading .eyebrow {margin-bottom:8px;font-size:9px}
.journey-heading h2 {font-size:42px}
.journey-finder {display:flex;align-items:flex-end;gap:25px;min-width:0}
.journey-finder>div {flex:1;min-width:0}
.journey-finder label {font-size:10px;color:var(--muted);margin-bottom:8px}
.journey-finder select {color:var(--ink);color-scheme:light;background:transparent;border:0;border-bottom:1px solid #8fa4ab;border-radius:0;margin:0;padding:12px 28px 12px 0;font-size:13px;min-height:52px}
.journey-finder .button {width:auto;flex-shrink:0;margin:0}
.intro-bar {padding:30px var(--gutter);background:#edf3f2;border:0}
.intro-bar>span:first-child {font-size:9px;letter-spacing:2px}
.intro-bar p {font-family:var(--serif);font-size:25px;max-width:710px;line-height:1.35}
.sun {font-size:38px;color:#a78c5b}
.filters {margin:35px 0 30px;gap:12px}
.filters button {font-family:var(--sans);font-size:11px;border-color:#bbcaca;padding:12px 19px;min-height:44px}
.filters button:hover {border-color:var(--ink)}
.home .cards {grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.home .card {position:relative;background:var(--ink);border-radius:3px;overflow:hidden}
.home .card>a {display:block;position:relative;height:470px}
.home .card-image {height:100%;border-radius:0}
.home .card-image::after {content:'';position:absolute;inset:0;background:linear-gradient(0deg,#032d3aea 0%,#032d3a80 35%,#032d3a08 72%)}
.home .card img {transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.home .card a:hover img {transform:scale(1.045)}
.home .tag {z-index:1;top:22px;left:22px;background:#f9f8f4e8;color:var(--ink);font-size:8px;letter-spacing:1.2px;padding:8px 10px}
.home .card-arrow {z-index:1;top:20px;bottom:auto;right:20px;background:#ffffff18;color:white;border:1px solid #ffffff70;width:38px;height:38px;transition:background .25s}
.home .card a:hover .card-arrow {background:var(--lime);color:var(--ink)}
.home .card-info {position:absolute;bottom:25px;left:26px;right:26px;color:white}
.home .card-info small {font-size:8px;color:var(--lime);margin:0 0 12px;letter-spacing:1.4px}
.home .card-info h3 {font-size:37px;line-height:1.05;margin:0 0 12px;letter-spacing:-.02em}
.home .card-info p {font-size:12px;line-height:1.8;color:#e8eff0;margin:0}
.card-price {display:block;border-top:1px solid #ffffff3b;margin-top:18px;padding-top:13px;font-size:10px;color:#f3e2c4}
.collection-note {font-size:11px;color:var(--muted);margin:25px 0 0;line-height:1.8}
.signature-escape {position:relative;isolation:isolate;min-height:610px;display:flex;align-items:center;background:var(--ink);color:white;overflow:hidden}
.signature-escape>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.signature-shade {position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#032b38c7,#032b3833)}
.signature-copy {padding:100px var(--gutter);max-width:1150px}
.signature-copy h2 {font-size:clamp(50px,6vw,88px)}
.signature-copy h2 em {color:var(--lime)}
.signature-copy>p:not(.eyebrow) {line-height:1.9;font-size:14px;color:#edf3f4;margin:25px 0 30px}
.signature-coordinate {position:absolute;right:var(--gutter);bottom:35px;font-size:9px;letter-spacing:2px}
.story {background:#edf3f2;gap:8%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.story-copy,.story-image {min-width:0}
.story-image {height:590px}
.story-image img {border-radius:3px}
.story-image span {bottom:25px;left:25px;font-size:8px;letter-spacing:1.8px;background:var(--paper)}
.story-image {overflow:hidden;border-radius:3px}
@media(min-width:901px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .signature-escape>img,.story-image>img {transform:translate3d(0,var(--photo-depth,0px),0) scale(1.085)}
  .home .card {transition:box-shadow .3s ease}
  .home .card:hover,.home .card:focus-within {box-shadow:0 0 0 2px #4c9eb088,0 12px 32px #092f4018}
  .button:hover {transform:translateY(-2px)}
  .button:active {transform:translateY(0)}
  .button svg {transition:transform .25s ease}
  .button:hover svg {transform:translate(2px,-2px)}
}
.story-copy h2 {font-size:clamp(42px,4.5vw,68px)}
.story-copy>p:not(.eyebrow) {font-size:14px;line-height:1.9}
.story-values {font-family:var(--serif);font-size:33px;border-top:1px solid #bbcaca;padding-top:22px}
.story-values small {font-family:var(--sans);font-size:10px;line-height:1.6;max-width:100px;overflow-wrap:anywhere}
.story-values>span {min-width:0;flex:1}
.steps-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:55px}
.steps-grid article {border-top:1px solid #adc0c3;padding-top:25px}
.step-number {font-family:var(--serif);font-size:42px;color:#9b8258}
.steps-grid h3 {margin:18px 0 15px;font-size:33px}
.steps-grid p {font-size:13px;color:var(--muted);line-height:1.9}
.steps-link {margin-top:30px;max-width:250px}
.breadcrumbs {padding:20px var(--gutter);font-size:10px;background:var(--paper)}
.east-inclusions,.fishing,.gallery-music,.sharing-panel {background:#edf3f2}
.faq {background:#f0f3f0}
.faq summary {font-size:14px;line-height:1.8;padding-right:15px}
.faq details {border-color:#c7d4d3;padding:23px 0}
.faq p {font-size:13px;line-height:1.9}
.fishing-overview p,.fishing-details p,.fishing-details li {line-height:1.9}
.trip-times {border:1px solid var(--line);border-radius:3px;padding:28px 30px;min-width:0;overflow-wrap:anywhere}
.price-table {font-size:13px;border:1px solid var(--line)}
.price-table th,.price-table td {border-color:var(--line)}
.price-table thead th {font-size:11px;letter-spacing:.5px;font-weight:500}
.price-table tbody tr:nth-child(even) {background:#edf3f2}
.sharing-panel {border-left:2px solid #baa579;padding:35px 40px}
.boat-option {background:#edf3f2;border:1px solid var(--line);border-radius:3px}
.boat-option>div {padding:28px}
.boat-option h3 {font-size:32px}
.boat-option h3 small {font-family:var(--sans);font-size:16px;margin-top:12px}
.island-grid,.boat-grid {gap:30px}
.east-feature-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.east-feature-grid>*,.boat-grid>*,.fishing-overview>* {min-width:0}
.island-grid img,.east-feature-grid img {border-radius:3px}
.coast-nav {background:#edf3f2;border-bottom:1px solid var(--line);padding:23px var(--gutter)}
.coast-nav a {font-size:11px;border-color:#a6b8bd;border-radius:2px;min-height:44px;display:inline-flex;align-items:center}
.contact-intro,.gallery-intro {background:#edf3f2}
.contact-intro h1,.gallery-intro h1 {font-size:clamp(52px,5.5vw,80px)}
.contact-welcome h1 {font-size:clamp(52px,5.5vw,80px)}
.contact-welcome h1 em {color:var(--sea)}
.contact-photo img {border-radius:3px}
.contact-lead {font-family:var(--serif)!important;font-size:30px!important}
.contact-details-grid>div {border-color:#adc0c3}
.photo-open {border-radius:3px}
.photo-open img {height:290px;transition:transform .7s}
.gallery-item figcaption {font-size:11px;line-height:1.8}
.play-icon {background:var(--lime);color:var(--ink)}
.video-frame {border-radius:3px}
.gallery-music h2 {font-size:clamp(42px,4vw,62px)}
.contact {background:var(--ink);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12%;position:relative}
.contact .eyebrow {color:var(--lime)}
.contact h2 {font-size:clamp(48px,5.5vw,80px)}
.contact>div>p:not(.eyebrow) {color:#d0dfe2;max-width:420px;font-size:14px}
.contact>div>a {font-size:15px}
.contact form {align-self:center;padding:35px;background:#ffffff07;border:1px solid #ffffff20;border-radius:3px}
.contact form label {font-size:10px;letter-spacing:.3px;color:#d8e6e7}
.contact form input,.contact form select {background:#ffffff09;border:1px solid #71919d;border-radius:2px;font-size:13px;padding:14px;min-height:49px}
.contact form select option {background:var(--ink);color:white}
.contact .form-note {font-size:10px;color:#d0dfe2}
footer {background:#062533;color:#f2f1e9;padding:65px var(--gutter) 45px;gap:30px;border-top:1px solid #ffffff20}
footer .brand {font-size:12px;letter-spacing:2px}
footer .brand small {font-size:8px;color:#d3e1e4}
footer p {font-family:var(--serif);color:var(--lime);font-size:25px}
footer>div:not(.footer-navigation):not(.footer-partner) {font-size:10px;line-height:1.8;flex-wrap:wrap}
footer .footer-navigation {border-color:#ffffff26;padding:30px 0}
footer .footer-navigation .eyebrow {color:var(--lime);font-family:var(--sans);letter-spacing:2px;font-size:9px}
footer .footer-links {font-family:var(--sans);font-size:12px;gap:18px 40px}
footer a:hover {color:var(--lime)}
footer .footer-partner {font-size:11px;flex-wrap:wrap;line-height:1.8}
footer .footer-partner span {color:#bccfd4}
footer>small {border-color:#ffffff26;color:#bccfd4;font-size:10px;padding-top:23px}
.charter-chat {position:fixed;right:28px;bottom:25px;z-index:25;display:inline-flex;align-items:center;gap:10px;background:var(--paper);color:var(--ink);border:1px solid #bfa77d;border-radius:40px;padding:14px 20px;font-size:11px;font-weight:600;box-shadow:0 8px 30px #092f4030;transition:opacity .25s,transform .25s,visibility .25s}
.charter-chat:hover {transform:translateY(-3px);background:var(--lime)}
.home .charter-chat {bottom:115px}
.home:has(header.is-scrolled) .charter-chat {bottom:25px}
.charter-chat.is-hidden {opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}
[data-reveal] {opacity:0;transform:translateY(20px);transition:opacity .75s,transform .75s}
[data-reveal].is-visible {opacity:1;transform:none}
@keyframes ocean-arrival {from{transform:scale(1.045)}to{transform:scale(1)}}
@media(min-width:1750px) {header>.button.small {display:inline-flex}}
@media(max-width:1400px) {
  header #nav {display:none;position:absolute;top:92px;left:0;right:0;padding:28px var(--gutter);background:var(--paper);color:var(--ink);box-shadow:0 18px 25px #092f4015;font-size:13px;max-height:calc(100svh - 92px);overflow-y:auto}
  header #nav.open {display:flex;flex-direction:column;align-items:flex-start;gap:19px}
  .home header:not(.is-scrolled) #nav>a:hover,.home header:not(.is-scrolled) summary:hover {color:var(--sea)}
  .menu-toggle {display:block;border:0;background:transparent;color:var(--ink);padding:10px;font-size:12px;min-height:44px}
  header>.button.small {display:none}
  .nav-submenu {position:static;margin-top:10px;padding:0 0 0 12px;border:0;border-left:1px solid #adc0c3;box-shadow:none;min-width:0}
  .journey-section {gap:35px}
  .journey-finder {gap:16px}
  .home .card>a {height:430px}
  .home .card-info h3 {font-size:33px}
  .home .tag {font-size:7px;max-width:calc(100% - 87px);line-height:1.5}
  .contact {gap:7%}
}
@media(max-width:1050px) {
  .section {padding:80px var(--gutter)}
  .journey-section {grid-template-columns:1fr;padding-top:30px;padding-bottom:35px;gap:23px}
  .home .cards {grid-template-columns:repeat(2,minmax(0,1fr))}
  .home .card>a {height:470px}
  .story {grid-template-columns:minmax(0,1fr);gap:45px}
  .story-image {height:480px}
  .story-copy h2 {font-size:60px;max-width:700px}
  .section-head {gap:35px}
  .contact form {padding:25px}
}
@media(max-width:700px) {
  :root {--gutter:7%}
  header {height:80px;gap:12px;padding:0 5%}
  header .brand,html[lang="ru"] header .brand {font-size:10px;letter-spacing:1px;gap:7px;max-width:140px}
  header .brand-mark {font-size:37px}
  header .brand small,html[lang="ru"] header .brand small {font-size:6px;letter-spacing:1px}
  header #nav {top:80px;max-height:calc(100svh - 80px);padding:24px 7%}
  .menu-toggle {padding:8px 3px;font-size:11px}
  .menu-toggle span {margin-left:4px}
  .language-switcher select {font-size:10px;max-width:88px;min-height:40px;padding:8px 3px}
  .language-switcher {gap:4px}
  .language-flag {width:18px;height:12px}
  .section {padding:65px var(--gutter)}
  h2 {font-size:48px}
  h3 {font-size:30px}
  .hero {height:auto;min-height:650px;max-height:none;background-position:65% center}
  .hero-content {padding:80px var(--gutter) 75px}
  .hero h1 {font-size:clamp(52px,12.5vw,76px)}
  .hero-copy {font-size:13px;line-height:1.8}
  .hero .eyebrow {font-size:8px;letter-spacing:1.8px;line-height:1.8}
  .home .hero {height:100svh;min-height:700px;max-height:960px;background-position:65% center}
  .home .hero-content {padding:150px var(--gutter) 140px}
  .home .hero h1 {font-size:clamp(62px,15vw,94px)}
  .home .hero-copy br {display:none}
  .hero-actions {gap:23px;align-items:flex-start;flex-direction:column}
  .hero-film {font-size:11px}
  .hero-bottom {bottom:25px;padding-top:20px;gap:20px;font-size:9px}
  .hero-bottom small {font-size:7px;letter-spacing:1px}
  .hero-bottom>a {gap:12px;max-width:130px}
  .journey-heading h2 {font-size:38px}
  .journey-finder {flex-direction:column;align-items:stretch;gap:20px}
  .journey-finder .button {justify-content:space-between}
  .intro-bar {padding:26px var(--gutter);gap:25px;align-items:flex-start}
  .intro-bar p {font-size:22px}
  .intro-bar>span:first-child {font-size:8px;max-width:80px;flex-shrink:0}
  .section-head>p {font-size:13px;max-width:100%}
  .filters {margin-top:28px;gap:8px}
  .filters button {font-size:10px;padding:11px 14px}
  .home .cards {grid-template-columns:1fr;gap:22px}
  .home .card>a {height:440px}
  .home .card-info h3 {font-size:38px}
  .home .card-info {bottom:25px;left:23px;right:23px}
  .home .tag {font-size:8px}
  .signature-escape {min-height:620px}
  .signature-copy {padding:75px var(--gutter);max-width:100%}
  .signature-copy h2 {font-size:53px}
  .signature-copy>p:not(.eyebrow) {font-size:13px}
  .signature-coordinate {font-size:8px;left:var(--gutter);right:auto;bottom:28px}
  .story-image {height:360px}
  .story-copy h2 {font-size:48px}
  .story-image span {font-size:7px;left:18px;bottom:18px;padding:14px 17px}
  .story-values small {font-size:9px}
  .steps-grid {grid-template-columns:1fr;gap:25px;margin-top:35px}
  .steps-grid h3 {font-size:32px;margin-top:10px}
  .steps-grid article {padding-top:20px}
  .step-number {font-size:34px}
  .sharing-panel {padding:25px;border-left-width:2px}
  .east-feature-grid {grid-template-columns:minmax(0,1fr)}
  .contact-intro h1,.contact-welcome h1,.gallery-intro h1 {font-size:54px}
  .contact {grid-template-columns:1fr;gap:35px}
  .contact h2 {font-size:53px}
  .contact form {padding:22px}
  .contact>div>a {font-size:14px}
  .photo-open img {height:190px}
  .contact-lead {font-size:27px!important}
  .charter-chat {bottom:18px;right:16px;padding:12px 15px;font-size:10px;gap:8px}
  .home .charter-chat {bottom:125px}
  .home:has(header.is-scrolled) .charter-chat {bottom:18px}
  footer {padding:50px var(--gutter) 35px}
  footer p {font-size:25px;margin:0}
  footer .footer-links {font-size:11px;gap:16px 20px}
  footer .footer-partner {font-size:10px}
}
@media(max-width:380px) {
  header {padding:0 4%;gap:6px}
  .menu-toggle {font-size:0;padding:8px 3px}
  .menu-toggle span {font-size:18px;margin:0}
  header .brand,html[lang="ru"] header .brand {max-width:135px}
  .language-switcher select {max-width:81px}
  .home .hero h1 {font-size:61px}
  .home .hero-content {padding-top:135px}
  .home .hero .eyebrow {font-size:7px}
  .home .hero {min-height:820px}
  .home .card>a {height:430px}
  .home .card-info h3 {font-size:35px}
  .contact form {padding:17px}
  .form-row {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .form-row input {min-width:0;padding:11px 7px}
  .signature-copy h2 {font-size:47px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {animation:none!important;transition:none!important}
  [data-reveal] {opacity:1;transform:none}
}
