@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;0,500;0,600;0,700;0,800;1,700;1,800&family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;0,800;0,900;1,700;1,800;1,900&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');
:root{--navy:#031724;--ink:#08283a;--cyan:#00bdf2;--cyan-light:#52d9ff;--cream:#f6f8f7;--muted:#7190a1;--line:rgba(140,193,219,.22);--sans:'Barlow','Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;--heading:'Barlow','Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;--display:'Barlow Condensed',Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--navy);color:#fff;font-family:var(--sans);font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}img{max-width:100%;display:block}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:6px}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;z-index:1000;top:-60px;left:20px;background:var(--cyan);color:var(--navy);padding:10px}.skip-link:focus{top:10px}
.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px;position:absolute;top:0;left:0;width:100%;z-index:20;padding:0 5%;border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(1,15,24,.78),rgba(1,15,24,.08))}.header-brand{display:flex;align-items:center;gap:13px}.crest{width:62px;height:62px;border-radius:50%;object-fit:cover;background:#053048}.brand-mini strong{font-family:var(--display);font-size:24px;font-weight:800;line-height:.87;display:block;font-style:italic;letter-spacing:1px}.brand-mini strong span{display:block;color:var(--cyan-light);font-size:30px}.brand-mini small{font-family:var(--display);font-size:9px;letter-spacing:3.1px;display:block;margin-top:7px}.desktop-nav{display:flex;gap:30px;margin-left:auto}.desktop-nav a{font-size:12px;letter-spacing:.07em;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-10px;left:0;width:0;height:1px;background:var(--cyan);transition:width .2s}.desktop-nav a:hover:after{width:100%}.header-cta{display:flex;gap:22px;align-items:center;background:var(--cyan);color:#042130;font-size:13px;font-weight:700;padding:14px 23px;transition:background .2s}.header-cta:hover{background:#76e2ff}.header-cta .icon{width:20px;height:20px}.menu-button{display:none;width:42px;height:42px;border:0;background:none;color:#fff;padding:7px}.menu-button span{display:block;height:2px;background:currentColor;margin:7px 0;transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-menu[hidden]{display:none}.mobile-menu{position:fixed;top:85px;left:0;right:0;background:rgba(3,23,36,.98);z-index:30;padding:24px 28px 32px;box-shadow:0 20px 30px rgba(0,0,0,.3);max-height:calc(100dvh - 85px);overflow:auto}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu a{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}.mobile-menu small{font-family:var(--display);color:var(--cyan);letter-spacing:3px}.mobile-menu .mobile-menu-cta{margin-top:18px;background:var(--cyan);padding:14px 20px;color:var(--navy);font-weight:600}
.hero{min-height:810px;height:min(860px,calc(100svh + 60px));position:relative;overflow:hidden;isolation:isolate;background:#052537}.hero-art{position:absolute;inset:0;background-image:url('/manus-storage/discovery-boat_9ee9061c.webp');background-size:cover;background-position:center 55%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(1,16,28,.8) 0%,rgba(2,20,35,.65) 34%,rgba(2,20,35,.03) 75%),linear-gradient(180deg,rgba(1,15,25,.2) 0%,transparent 70%,rgba(3,23,36,.7) 100%)}.hero-content{padding-top:150px;margin-left:8%;max-width:720px;position:relative;z-index:1}.eyebrow{font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:4px;display:flex;align-items:center;gap:14px}.hero-eyebrow{font-size:12px;color:#b7d8e8}.live-dot{height:6px;width:6px;background:var(--cyan);border-radius:50%;box-shadow:0 0 12px var(--cyan)}.eyebrow-line{display:block;width:60px;height:1px;background:rgba(202,229,241,.5)}.hero-wordmark{font-family:var(--display);font-style:italic;font-weight:900;line-height:.86;letter-spacing:-1px;margin:27px 0 33px;transform:rotate(-4deg);transform-origin:left center;width:fit-content;filter:drop-shadow(1px 4px 0 rgba(0,0,0,.14))}.hero-wordmark span{display:block;font-size:clamp(60px,7.6vw,111px)}.hero-wordmark strong{display:block;font-size:clamp(94px,12.2vw,176px);font-weight:900;letter-spacing:3px;background:linear-gradient(175deg,#6defff 5%,#00c2f0 40%,#038fde 65%,#d6faff 67%,#087fc2 72%,#10bee8 95%);background-clip:text;-webkit-background-clip:text;color:transparent;position:relative}.hero-wordmark:after{content:'';height:5px;width:94%;background:var(--cyan);position:absolute;bottom:-13px;left:7px;transform:skewX(-50deg);opacity:.75;box-shadow:10px 6px 0 -1px rgba(0,189,242,.3)}.hero h1{font-family:var(--heading);font-size:clamp(28px,3vw,45px);line-height:1.75;letter-spacing:.13em;margin-top:15px;text-shadow:0 2px 14px rgba(0,0,0,.15)}.hero-copy{margin-top:17px;color:#d9e9ee;line-height:2.05;font-size:13px;letter-spacing:.09em}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:61px;padding:16px 25px;border-radius:2px;font-size:15px;font-weight:700;letter-spacing:.08em;transition:background .2s,transform .2s,box-shadow .2s}.button-cyan{background:linear-gradient(130deg,#00c9f7,#009be7);color:#fff;box-shadow:0 8px 30px rgba(0,153,227,.2)}.button-cyan:hover{background:linear-gradient(130deg,#46dcff,#08adf5);transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,153,227,.35)}.button .arrow{margin-left:20px}.hero-cta{margin-top:30px}.hero-side-label{font-family:var(--display);font-size:11px;letter-spacing:4px;writing-mode:vertical-rl;position:absolute;right:28px;top:43%;color:rgba(255,255,255,.7)}.hero-bottom{position:absolute;left:8%;right:5%;bottom:31px;display:flex;align-items:center;justify-content:space-between}.scroll-cue{font-family:var(--display);font-size:10px;letter-spacing:3px;display:flex;align-items:center;gap:12px;color:#b9d2df}.scroll-line{height:36px;width:1px;display:block;background:linear-gradient(var(--cyan),transparent)}.art-caption{font-family:var(--display);font-size:9px;color:rgba(255,255,255,.55);letter-spacing:2px}
.quick-nav{max-width:1240px;display:grid;grid-template-columns:repeat(6,1fr);margin:0 auto;position:relative;z-index:3;background:var(--navy);border-bottom:1px solid var(--line)}.quick-item{display:flex;gap:17px;align-items:center;padding:31px 20px;border-right:1px solid var(--line);position:relative;transition:background .25s,color .25s}.quick-item:first-child{border-left:1px solid var(--line)}.quick-item:hover{background:#0a3247;color:var(--cyan-light)}.quick-item>.icon{width:29px;height:29px}.quick-item strong{font-family:var(--display);font-size:20px;letter-spacing:1px;font-weight:500;display:block;line-height:1.1}.quick-item small{display:block;font-size:10px;line-height:1.2;margin-top:8px;color:#b7cdd8}.quick-arrow{position:absolute;right:8px;top:8px;font-size:13px;color:#668594}
.section{padding:95px 8%}.light-section{background:var(--cream);color:var(--ink)}.section-index{font-family:var(--display);letter-spacing:3px;font-size:12px;font-weight:600;display:block;color:#558090;margin-bottom:26px}.section-heading h2{font-family:var(--heading);font-size:clamp(26px,2.7vw,38px);letter-spacing:.08em;line-height:1.8}.section-heading h2 em{font-style:normal;color:#008abb}.intro{display:flex;gap:9%;align-items:flex-start;padding-top:103px;padding-bottom:87px}.intro .section-heading{flex:0 0 34%}.intro-content{flex:1;padding-top:48px;color:#556b78;font-size:13px;line-height:2.25}.intro-lead{color:#133b50;font-size:19px;font-weight:500;line-height:1.9;margin-bottom:25px;letter-spacing:.06em}.boat-stats{display:flex;border-top:1px solid #d6e0e1;border-bottom:1px solid #d6e0e1;margin-top:31px;padding:19px 0;gap:0}.boat-stats>div{padding:0 27px;border-right:1px solid #d6e0e1;flex:1}.boat-stats>div:first-child{padding-left:0;flex:1.2}.boat-stats>div:last-child{border:0;padding-right:0}.boat-stats small{font-family:var(--display);font-size:10px;letter-spacing:2px;color:#648290;display:block}.boat-stats strong{font-family:var(--display);font-weight:600;font-size:30px;line-height:1.1;color:var(--ink)}.boat-stats strong span{font-size:18px;margin-left:4px;font-weight:400}.boat-stats>div:first-child strong{font-size:28px}.small-note{font-size:10px!important;line-height:1.9!important;color:#7a939f;margin-top:13px}
.fishing{background:radial-gradient(ellipse at 80% 0,#0b3a51,transparent 60%),var(--navy)}.fishing-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:44px}.fishing .section-index{color:var(--cyan-light)}.fishing h2{font-size:32px}.fishing-top>p{color:#adc4d1;font-size:12px;line-height:2.1;padding-bottom:9px}.field-list{border-top:1px solid var(--line)}.field-item{display:flex;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);gap:25px}.field-number{font-family:var(--display);font-size:13px;letter-spacing:2px;color:var(--cyan)}.field-item h3{font-family:var(--heading);font-size:24px;letter-spacing:.14em;min-width:200px}.field-en{font-family:var(--display);font-size:17px;letter-spacing:5px;color:#638b9e}.field-item .icon{margin-left:auto;color:#4d91ae}.fishing-bottom{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:29px}.fish-tag{border:1px solid #395260;padding:4px 12px;display:inline-block;font-size:11px;color:#b9d4e1;margin-right:5px}.text-link{display:inline-flex;align-items:center;gap:24px;white-space:nowrap;padding-bottom:10px;border-bottom:1px solid var(--cyan);font-size:12px;letter-spacing:.06em;color:#d5f1fe;transition:color .2s}.text-link:hover{color:var(--cyan)}.text-link .icon{width:22px;height:22px}.gallery{display:flex;gap:12%;align-items:center;padding-top:80px;padding-bottom:75px;border-bottom:1px solid #dde6e5}.gallery .section-heading{flex:1}.gallery-coming{flex:1;border-left:1px solid #d7e3e4;padding:36px 0 36px 50px}.gallery-coming>.icon{width:35px;height:35px;color:#86a3b0;margin-bottom:17px}.gallery-coming .eyebrow{font-size:12px;color:#6e93a4;letter-spacing:3px}.gallery-coming p{font-size:12px;margin-top:12px;color:#466775}.gallery-coming small{font-size:10px;color:#809ba6}.guide{padding-top:80px}.guide-title{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.guide-title>p{font-size:12px;color:#74909e;line-height:2.1}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:43px;gap:45px}.guide-steps article{position:relative;padding-top:28px;border-top:1px solid #cfdddf}.guide-steps article>span{font-family:var(--display);font-size:13px;letter-spacing:2px;color:#3c889f;position:absolute;top:-14px;left:0;background:var(--cream);padding-right:12px}.guide-steps article>.icon{color:#1688a7;width:28px;height:28px;margin-bottom:17px}.guide-steps h3{font-size:17px;color:#143b4c;font-weight:500;margin-bottom:12px;letter-spacing:.04em}.guide-steps p{font-size:12px;color:#6a838f;line-height:2.1}
.safety-band{display:flex;align-items:center;gap:32px;padding:48px 8%;background:#e8f0f0;color:var(--ink)}.safety-icon{width:75px;height:75px;border:1px solid #a8c6cb;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.safety-icon .icon{width:32px;height:32px;color:#157c94}.safety-band .section-index{margin-bottom:5px;color:#4890a4;font-size:10px;letter-spacing:2px}.safety-band h2{font-family:var(--heading);font-size:23px;letter-spacing:.05em}.safety-band p{font-size:11px;color:#607e89;margin-top:10px}.safety-note{font-size:10px;color:#75929c;margin-left:auto;border-left:1px solid #c4d6d9;padding-left:24px;flex-shrink:0}.access{display:flex;justify-content:space-between;gap:9%;padding-top:84px;padding-bottom:84px}.access .section-heading{flex:1}.access-detail{flex:1;padding-top:30px}.location-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#46879a;margin-bottom:13px}.location-label .icon{width:18px;height:18px}.access-detail h3{font-size:21px;letter-spacing:.05em}.access-detail>p{font-size:13px;color:#65818e;margin-top:4px}.access-detail .access-copy{margin:20px 0;font-size:12px;line-height:2}.text-link-dark{color:var(--ink);border-color:#87b4c2}.access-detail>small{font-size:10px;color:#8298a0;display:block;margin-top:17px}
.contact{position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 100%,#0a5175,transparent 60%),linear-gradient(120deg,#031b2b,#07394f);padding-top:80px;padding-bottom:83px}.contact-watermark{position:absolute;right:-5%;bottom:-40px;font-family:var(--display);font-size:210px;line-height:.88;font-weight:800;font-style:italic;color:rgba(103,199,226,.055);letter-spacing:-5px;transform:rotate(-7deg);pointer-events:none}.contact-content{position:relative;z-index:1}.contact .eyebrow{color:var(--cyan-light);font-size:11px;letter-spacing:3px;margin-bottom:24px}.contact h2{font-family:var(--heading);font-size:42px;line-height:1.7;letter-spacing:.16em}.contact p{color:#b2ceda;font-size:12px;line-height:2.2;margin:23px 0 30px}.contact .button{min-width:355px}.email-link{display:block;color:#b3e6f9;letter-spacing:1px;font-family:var(--display);font-size:17px;margin:17px 0 3px;width:fit-content}.email-link:hover{color:var(--cyan)}.contact small{font-size:10px;color:#7fa6b8}.site-footer{padding:43px 8% 23px;background:#021420}.footer-top{display:flex;gap:65px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:30px}.footer-brand strong{font-family:var(--display);font-size:29px;font-style:italic;font-weight:800;line-height:.85;display:block}.footer-brand strong span{display:block;color:var(--cyan);font-size:40px}.footer-brand small{font-family:var(--display);font-size:8px;letter-spacing:3.3px;display:block;margin-top:10px}.footer-top p{font-size:11px;color:#becdd4;line-height:2}.footer-top p span{font-size:10px;color:#6f8a99}.back-top{margin-left:auto;border:1px solid #315064;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:21px;color:#b1c8d4;transition:background .2s}.back-top:hover{background:#0b3449}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:19px;font-family:var(--display);font-size:10px;letter-spacing:2px;color:#628393}.mobile-booking{display:none}
@media(min-width:1550px){.hero-content{margin-left:max(8%,calc((100vw - 1250px)/2))}.section{padding-left:max(8%,calc((100vw - 1250px)/2));padding-right:max(8%,calc((100vw - 1250px)/2))}}
@media(max-width:1100px){.desktop-nav{gap:17px}.site-header{padding:0 4%;gap:20px}.header-cta{padding:13px 16px;gap:13px}.hero-content{margin-left:6%;padding-top:155px}.hero{min-height:790px}.quick-item{padding:25px 14px;gap:11px}.quick-item>.icon{width:23px;height:23px}.quick-item strong{font-size:18px}.quick-item small{font-size:9px}.section{padding:76px 6%}.intro{gap:7%}.intro-content{padding-top:39px}.boat-stats>div{padding:0 17px}.fishing h2{font-size:27px}.fishing-top>p{font-size:11px}.guide-steps{gap:28px}.safety-band{padding:40px 6%}.safety-note{padding-left:18px}.gallery-coming{padding-left:30px}.contact h2{font-size:38px}.contact-watermark{font-size:180px}}
@media(max-width:800px){.desktop-nav{display:none}.header-cta{margin-left:auto}.menu-button{display:block}.hero{height:810px}.hero-content{padding-top:149px}.hero-wordmark span{font-size:78px}.hero-wordmark strong{font-size:125px}.hero h1{font-size:34px}.quick-nav{grid-template-columns:repeat(3,1fr)}.quick-item{padding:24px 22px;border-bottom:1px solid var(--line)}.quick-item:nth-child(4){border-left:1px solid var(--line)}.quick-item strong{font-size:20px}.quick-item>.icon{width:27px;height:27px}.intro{flex-direction:column;gap:20px}.intro-content{padding-top:0;width:100%}.intro-lead{font-size:18px}.section-heading h2{font-size:30px}.boat-stats>div{flex:1;padding:0 25px}.fishing-top{align-items:flex-start;flex-direction:column;gap:17px}.fishing-top>p{font-size:12px}.fishing-bottom{align-items:flex-start;flex-direction:column;gap:23px}.fishing h2{font-size:30px}.gallery{gap:30px}.gallery-coming{padding-left:22px}.gallery .section-heading h2{font-size:25px}.guide-title{align-items:flex-start;flex-direction:column;gap:15px}.guide-steps{gap:25px}.guide-steps h3{font-size:15px}.safety-band{gap:20px}.safety-note{display:none}.access{flex-direction:column;gap:20px}.access-detail{padding-top:0}.contact-watermark{font-size:145px;right:-9%;bottom:-10px}}
@media(max-width:540px){html{scroll-padding-top:80px}.site-header{height:85px;padding:0 22px;gap:10px;position:absolute}.header-brand{gap:10px}.crest{width:49px;height:49px}.brand-mini strong{font-size:20px}.brand-mini strong span{font-size:24px}.brand-mini small{font-size:7px;letter-spacing:2.3px}.header-cta{display:none}.menu-button{margin-left:auto}.hero{height:860px;min-height:0}.hero-art{background-size:auto 66%;background-repeat:no-repeat;background-position:57% bottom;background-color:#021823}.hero-shade{background:linear-gradient(180deg,#021823 0%,rgba(2,24,35,.8) 29%,rgba(2,24,35,.22) 49%,transparent 61%,rgba(3,23,36,.18) 83%,var(--navy) 100%)}.hero-content{margin:0;padding:114px 26px 0;max-width:100%}.hero-eyebrow{font-size:9px;letter-spacing:2.4px;gap:9px}.hero-eyebrow .eyebrow-line{width:30px}.hero-wordmark{margin:28px 0 30px;letter-spacing:0}.hero-wordmark span{font-size:clamp(57px,16vw,83px)}.hero-wordmark strong{font-size:clamp(92px,26vw,131px);letter-spacing:2px}.hero-wordmark:after{height:3px;bottom:-8px}.hero h1{font-size:clamp(23px,6.4vw,30px);letter-spacing:.08em;line-height:1.85;margin-top:0}.hero-copy{font-size:11px;letter-spacing:.05em;margin-top:17px;line-height:2.05}.hero-cta{display:none}.hero-side-label{display:none}.hero-bottom{bottom:21px;left:26px;right:24px}.scroll-cue{font-size:8px;letter-spacing:2px}.scroll-line{height:25px}.art-caption{font-size:7px;letter-spacing:1.1px}.quick-nav{margin:-1px 15px 0;border:1px solid #184255;border-bottom:0}.quick-item{padding:24px 8px;flex-direction:column;gap:11px;text-align:center;min-height:122px;border-left:0!important}.quick-item:nth-child(3n){border-right:0}.quick-item strong{font-size:19px;letter-spacing:1.2px}.quick-item small{font-size:10px;margin-top:7px}.quick-item>.icon{width:26px;height:26px}.quick-arrow{font-size:10px;right:7px;top:7px}.section{padding:59px 26px}.intro{margin-top:28px;gap:25px}.section-index{font-size:10px;letter-spacing:2.5px;margin-bottom:19px}.section-heading h2{font-size:27px;line-height:1.8;letter-spacing:.06em}.intro-lead{font-size:15px;margin-bottom:17px}.intro-content{font-size:12px;line-height:2.2}.desktop-break{display:none}.boat-stats{padding:17px 0;margin-top:24px}.boat-stats>div{padding:0 14px}.boat-stats>div:first-child strong{font-size:23px}.boat-stats small{font-size:8px;letter-spacing:1.1px;margin-bottom:4px}.boat-stats strong{font-size:28px}.boat-stats strong span{font-size:14px}.small-note{font-size:9px!important}.fishing-top{gap:17px;margin-bottom:28px}.fishing h2{font-size:26px}.fishing-top>p{font-size:11px}.field-item{padding:23px 0;gap:15px}.field-item h3{font-size:21px;min-width:145px}.field-number{font-size:11px}.field-en{font-size:12px;letter-spacing:2px}.field-item>.icon{width:21px;height:21px}.fishing-bottom{gap:22px}.fish-tag{font-size:10px;padding:3px 9px;margin-right:3px;margin-bottom:5px}.gallery{flex-direction:column;align-items:stretch;gap:23px}.gallery .section-heading h2{font-size:27px}.gallery-coming{padding:25px 0;border-left:0;border-top:1px solid #d7e3e4}.gallery-coming>.icon{width:29px;height:29px}.gallery-coming p{font-size:11px}.guide{padding-top:57px}.guide-title>p{font-size:11px}.guide-title .section-heading h2{font-size:25px}.guide-steps{grid-template-columns:1fr;gap:33px;margin-top:37px}.guide-steps article{padding:21px 0 0 43px}.guide-steps article>.icon{position:absolute;top:26px;left:0;width:25px;height:25px}.guide-steps h3{font-size:16px;margin-bottom:8px}.guide-steps p{font-size:11px}.guide-steps article>span{font-size:11px;top:-12px}.safety-band{padding:33px 26px;gap:16px;align-items:flex-start}.safety-icon{width:47px;height:47px;margin-top:8px}.safety-icon .icon{width:24px;height:24px}.safety-band h2{font-size:18px}.safety-band p{font-size:10px;line-height:2}.safety-band p br{display:none}.safety-band .section-index{font-size:8px}.access{gap:25px}.access-detail h3{font-size:18px}.access-detail>p{font-size:12px}.access-detail .access-copy{font-size:11px}.access-detail>small{font-size:9px}.contact{padding-top:56px;padding-bottom:61px}.contact h2{font-size:35px;letter-spacing:.1em}.contact .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:18px}.contact p{font-size:11px;line-height:2.1;margin:21px 0 25px}.contact .button{min-width:0;width:100%;gap:11px;font-size:12px;padding:15px 14px;min-height:57px;border-radius:30px;letter-spacing:.05em}.button .arrow{margin-left:auto}.button .icon{width:22px;height:22px}.email-link{font-size:16px}.contact small{font-size:9px;display:block;margin-top:6px;line-height:1.9}.contact-watermark{font-size:135px;right:-10%;bottom:10px}.site-footer{padding:34px 26px 96px}.footer-top{gap:23px;padding-bottom:26px;align-items:flex-start;flex-wrap:wrap}.footer-brand strong{font-size:23px}.footer-brand strong span{font-size:32px}.footer-brand small{font-size:7px;letter-spacing:2.6px}.footer-top p{font-size:9px;padding-top:4px}.footer-top p span{font-size:8px}.back-top{width:34px;height:34px;font-size:18px}.footer-bottom{font-size:8px;letter-spacing:1px;padding-top:17px;flex-wrap:wrap;gap:5px}.mobile-booking{display:block;position:fixed;bottom:0;left:0;right:0;z-index:25;background:rgba(2,20,32,.94);padding:10px 18px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #204356;backdrop-filter:blur(12px);transition:transform .2s}.mobile-booking a{min-height:49px;display:flex;justify-content:center;align-items:center;gap:12px;background:linear-gradient(110deg,#00c2ef,#008ce2);border-radius:27px;font-size:12px;font-weight:700;letter-spacing:.08em}.mobile-booking .icon{width:21px;height:21px}.mobile-booking .icon:last-child{margin-left:12px}.mobile-booking.is-hidden{transform:translateY(110%)}body.menu-open{overflow:hidden}}
@media(max-width:370px){.hero{height:810px}.hero-content{padding-left:22px;padding-right:22px}.hero-wordmark span{font-size:57px}.hero-wordmark strong{font-size:94px}.hero h1{font-size:22px}.field-item h3{min-width:126px;font-size:19px}.field-en{font-size:11px}.boat-stats>div{padding:0 10px}.footer-top{gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Actual vessel and guest photos supplied through Cue. */
.hero-art {
  background-image: url('/manus-storage/discovery-boat_9ee9061c.webp');
  background-position: center 63%;
}
.hero-shade {
  background: linear-gradient(90deg, rgba(1,16,28,.93) 0%, rgba(2,20,35,.8) 30%, rgba(2,20,35,.15) 67%, rgba(2,20,35,.03) 100%), linear-gradient(180deg, rgba(1,15,25,.65) 0%, transparent 62%, rgba(3,23,36,.88) 100%);
}
.boat-showcase {
  margin: 0;
  position: relative;
  background: #052837;
  overflow: hidden;
  height: 520px;
}
.boat-showcase img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 62%;
}
.boat-showcase::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(2,21,35,.8), transparent 75%);
}
.boat-showcase figcaption {
  position: absolute;
  z-index: 1;
  bottom: 55px;
  left: 8%;
}
.boat-showcase figcaption span {
  font-family: var(--display);
  font-size: 11px;
  letter-spacing: 4px;
  color: var(--cyan-light);
  display: block;
}
.boat-showcase figcaption strong {
  font-family: var(--display);
  font-size: 75px;
  font-style: italic;
  line-height: 1.25;
  font-weight: 800;
}
.boat-showcase figcaption small {
  display: block;
  font-family: var(--heading);
  font-size: 17px;
  letter-spacing: .15em;
}
.gallery {
  display: block;
}
.gallery-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
  margin-bottom: 35px;
}
.gallery-header > p {
  font-size: 12px;
  color: #74909e;
  line-height: 2.1;
}
.gallery-photos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 17px;
}
.photo-card {
  padding: 0;
  border: 0;
  text-align: left;
  background: transparent;
  color: var(--ink);
  overflow: hidden;
  display: block;
}
.photo-card img {
  width: 100%;
  aspect-ratio: 3 / 4;
  height: auto;
  object-fit: contain;
  background: #e1e8e7;
  transition: filter .2s;
}
.photo-card:hover img {
  filter: brightness(1.06);
}
.photo-card > span {
  display: block;
  padding: 15px 0 0;
  font-family: var(--heading);
  font-size: 14px;
  letter-spacing: .03em;
  position: relative;
}
.photo-card small {
  display: block;
  font-family: var(--display);
  font-size: 9px;
  letter-spacing: 2px;
  color: #7b99a4;
  margin-top: 5px;
}
.photo-card i {
  font-family: var(--sans);
  font-style: normal;
  position: absolute;
  right: 0;
  bottom: 2px;
  color: #37879c;
  font-size: 16px;
}
.photo-dialog {
  padding: 0;
  border: 0;
  background: transparent;
  max-width: 90vw;
  max-height: 90dvh;
  overflow: visible;
}
.photo-dialog::backdrop {
  background: rgba(0,12,23,.92);
  backdrop-filter: blur(6px);
}
.photo-dialog img {
  max-width: 88vw;
  max-height: 84dvh;
  width: auto;
  height: auto;
  object-fit: contain;
}
.photo-close {
  position: absolute;
  right: -12px;
  top: -18px;
  border: 1px solid #90aabb;
  color: #fff;
  background: #062737;
  font-size: 25px;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  line-height: 1;
}
@media (max-width: 800px) {
  .boat-showcase { height: 400px; }
  .gallery-photos { grid-template-columns: repeat(2, 1fr); gap: 24px 20px; }
  .gallery-header { align-items: flex-start; flex-direction: column; gap: 17px; }
}
@media (max-width: 540px) {
  .hero { height: 790px; }
  .hero-art {
    background-size: 100% auto;
    background-position: center bottom 35px;
  }
  .hero-shade {
    background: linear-gradient(180deg, #021823 0%, #021823 43%, rgba(2,24,35,.95) 54%, rgba(2,24,35,.05) 78%, rgba(3,23,36,.18) 87%, var(--navy) 100%);
  }
  .hero-bottom { bottom: 19px; }
  .boat-showcase { height: auto; }
  .boat-showcase img { height: auto; object-fit: contain; }
  .boat-showcase::after { background: linear-gradient(180deg, transparent 35%, rgba(2,21,35,.65)); }
  .boat-showcase figcaption { bottom: 24px; left: 26px; }
  .boat-showcase figcaption strong { font-size: 48px; }
  .boat-showcase figcaption span { font-size: 8px; letter-spacing: 2px; }
  .boat-showcase figcaption small { font-size: 11px; }
  .gallery-header { margin-bottom: 24px; }
  .gallery-header > p { font-size: 11px; }
  .gallery-photos { gap: 25px 13px; }
  .photo-card > span { font-size: 11px; padding-top: 10px; letter-spacing: 0; }
  .photo-card small { font-size: 8px; letter-spacing: 1px; }
  .photo-card i { font-size: 12px; }
}

/* One-line signature and refined sans-serif typography. */
.header-brand { flex-shrink: 0; gap: 14px; }
.brand-mini { display: block; }
.brand-mini strong,
.footer-brand strong {
  display: flex;
  align-items: baseline;
  gap: .2em;
  white-space: nowrap;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .025em;
}
.brand-mini strong { font-size: 29px; }
.brand-mini strong span,
.footer-brand strong span {
  display: inline;
  font-size: inherit;
  line-height: inherit;
}
.brand-mini small {
  margin-top: 8px;
  font-size: 10px;
  line-height: 1;
  letter-spacing: .36em;
  color: #b5d7e4;
}
.footer-brand strong { font-size: 31px; }
.footer-brand small {
  font-size: 10px;
  margin-top: 9px;
  letter-spacing: .35em;
  color: #8dabbc;
}
.hero h1 {
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .055em;
}
.section-heading h2 {
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: .035em;
}
.intro-lead { font-weight: 500; letter-spacing: .035em; }
.field-item h3 { font-weight: 700; letter-spacing: .055em; }
.safety-band h2 { font-weight: 700; letter-spacing: .02em; }
.contact h2 { font-weight: 700; line-height: 1.5; letter-spacing: .055em; }
.guide-steps h3,
.access-detail h3 { font-weight: 700; }
.photo-card > span { font-weight: 500; }
.boat-showcase figcaption small { font-weight: 500; }
@media (max-width: 1100px) {
  .brand-mini strong { font-size: 26px; }
  .desktop-nav { gap: 15px; }
}
@media (max-width: 540px) {
  .site-header { padding: 0 20px; gap: 6px; }
  .header-brand { gap: 10px; }
  .brand-mini strong { font-size: 23px; letter-spacing: .01em; }
  .brand-mini small { font-size: 8px; letter-spacing: .34em; margin-top: 7px; }
  .crest { width: 46px; height: 46px; }
  .menu-button { width: 38px; flex-shrink: 0; }
  .hero h1 { font-size: clamp(23px, 6.4vw, 30px); line-height: 1.65; letter-spacing: .025em; }
  .section-heading h2 { line-height: 1.65; letter-spacing: .015em; }
  .field-item h3 { letter-spacing: .025em; }
  .safety-band h2 { font-size: 17px; letter-spacing: 0; }
  .contact h2 { line-height: 1.5; letter-spacing: .035em; }
  .footer-brand strong { font-size: 26px; }
  .footer-brand small { font-size: 8px; letter-spacing: .32em; }
  .footer-top p { padding-top: 0; }
}
@media (max-width: 370px) {
  .site-header { padding: 0 16px; }
  .crest { width: 40px; height: 40px; }
  .header-brand { gap: 8px; }
  .brand-mini strong { font-size: 19px; }
  .brand-mini small { font-size: 7px; letter-spacing: .29em; }
  .hero h1 { font-size: 22px; }
}

/* Station access and the boat's own berth, not the map landmark's berth. */
.access { gap: 8%; align-items: flex-start; }
.access .section-heading { flex: 0 0 40%; }
.access-detail { padding-top: 4px; min-width: 0; }
.station-access {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-top: 32px;
  padding: 20px 0;
  border-top: 1px solid #cfdfe2;
  border-bottom: 1px solid #cfdfe2;
}
.station-access > .icon { margin-top: 6px; color: #008bae; }
.station-access small { display: block; font-family: var(--display); font-size: 10px; letter-spacing: .2em; color: #4a8b9e; }
.station-access strong { display: block; font-weight: 700; font-size: 20px; line-height: 1.6; }
.station-access p { color: #69848f; font-size: 12px; margin-top: 4px; }
.access-district { margin-top: 23px; font-size: 12px; color: #74909c; line-height: 2; }
.berth-number {
  display: flex;
  align-items: center;
  gap: 28px;
  margin: 23px 0 28px;
  padding: 18px 22px;
  background: #e3edf0;
  border-left: 3px solid #0099c7;
}
.berth-number > span { display: block; }
.berth-number small { display: block; font-family: var(--display); font-size: 10px; letter-spacing: .2em; color: #568797; }
.berth-number strong { display: block; font-family: var(--display); font-size: 62px; font-weight: 700; letter-spacing: -.035em; line-height: 1.08; color: #007eab; }
.berth-number strong span { font-family: var(--sans); font-size: 16px; margin-left: 7px; letter-spacing: 0; }
.berth-number p { font-size: 11px; line-height: 2; color: #486c7d; }
.arrival-steps { list-style: none; margin: 0 0 27px; padding: 0; }
.arrival-steps li { display: flex; align-items: flex-start; gap: 17px; margin-top: 21px; }
.arrival-steps li > span { font-family: var(--display); font-size: 13px; line-height: 1.8; color: #0886a6; }
.arrival-steps strong { display: block; font-size: 13px; font-weight: 700; line-height: 1.8; }
.arrival-steps p { margin-top: 4px; font-size: 11px; line-height: 2; color: #718c97; }
.access-detail > small { max-width: 480px; line-height: 2; }
@media (max-width: 800px) {
  .access .section-heading { flex: auto; width: 100%; }
  .access-detail { width: 100%; }
  .station-access { max-width: 420px; }
}
@media (max-width: 540px) {
  .station-access { margin-top: 24px; padding: 17px 0; }
  .station-access strong { font-size: 18px; }
  .station-access p { font-size: 11px; }
  .access-district { font-size: 11px; margin-top: 17px; }
  .access-detail h3 { font-size: 18px; letter-spacing: .01em; }
  .berth-number { gap: 23px; padding: 16px 17px; margin: 19px 0 24px; }
  .berth-number strong { font-size: 58px; }
  .berth-number p { font-size: 10px; }
  .arrival-steps li { gap: 14px; }
  .arrival-steps strong { font-size: 12px; }
  .arrival-steps p { font-size: 10px; }
}

/* Direct LINE consultation, alongside the existing email reservation route. */
.contact-actions {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 12px;
}
.contact-actions .button { min-width: 300px; }
.contact-actions .line-button {
  color: #fff;
  background: #06c755;
  box-shadow: 0 8px 28px rgba(6,199,85,.16);
}
.contact-actions .line-button:hover {
  color: #fff;
  background: #19d467;
  box-shadow: 0 10px 30px rgba(6,199,85,.3);
}
.line-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 29px;
  height: 25px;
  border-radius: 8px;
  padding: 0 4px;
  background: #fff;
  color: #06a949;
  font-family: var(--display);
  font-weight: 800;
  font-size: 10px;
  letter-spacing: -.04em;
}
@media (max-width: 540px) {
  .contact-actions { flex-direction: column; }
  .contact-actions .button { min-width: 0; }
  .contact-actions .line-button { border-radius: 30px; }
}

.footer-safety-link{font-size:11px;color:#9fcbd8;padding:8px 12px;border:1px solid rgba(140,193,219,.3);white-space:nowrap;transition:background .2s,color .2s}.footer-safety-link:hover{background:rgba(0,189,242,.12);color:#52d9ff}@media(max-width:540px){.footer-safety-link{font-size:9px;padding:6px 8px}}


/* Text-first header: no emblem/wordmark in the header. */
.header-kicker{display:flex;flex-direction:column;gap:3px;flex-shrink:0;min-width:144px;color:#fff;line-height:1.05}
.header-kicker strong{font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:.13em}
.header-kicker small{font-family:var(--display);font-size:8px;letter-spacing:.31em;color:var(--cyan-light)}
.safety-header .header-kicker strong{font-size:18px}

/* Clear, text-led charter and shared trip choices. */
.plan-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 36px}
.plan-option{padding:30px 32px 28px;border:1px solid rgba(153,207,228,.22);background:linear-gradient(145deg,rgba(14,58,77,.74),rgba(4,30,45,.92));position:relative;overflow:hidden}
.plan-option-shared{background:linear-gradient(145deg,rgba(5,49,68,.55),rgba(3,24,37,.95))}
.plan-option-top{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--cyan-light);font:600 10px var(--display);letter-spacing:2px}
.plan-option-badge{padding:5px 9px;border:1px solid rgba(96,219,255,.48);color:#d8f7ff;letter-spacing:.08em}
.plan-option h3{margin-top:22px;font-family:var(--heading);font-size:26px;font-weight:700;letter-spacing:.06em}
.plan-option>p{margin-top:13px;min-height:58px;color:#bbd1dc;font-size:12px;line-height:2.05}
.plan-option ul{list-style:none;padding:0;margin:20px 0 22px;border-top:1px solid rgba(153,207,228,.19)}
.plan-option li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid rgba(153,207,228,.19)}
.plan-option li strong{font-size:13px;color:#fff;font-weight:700;white-space:nowrap}
.plan-option li span{font-size:11px;color:#9db8c6;text-align:right}
.plan-option .text-link{padding-bottom:0;border:0;color:#dff8ff}
.plan-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:24px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.plan-detail-label{display:block;margin-bottom:11px;color:#8eafbd;font-size:10px;letter-spacing:.08em}
.area-tags,.fish-tags{display:flex;flex-wrap:wrap;gap:8px}
.area-tags span,.fish-tags span{display:inline-block;padding:5px 11px;border:1px solid rgba(130,188,209,.27);color:#e1f3f8;font-size:11px}
.fish-tags span{border-color:rgba(0,189,242,.3);color:#9ce8ff}
.plan-disclaimer{margin-top:15px;color:#84a2b1;font-size:10px;line-height:1.9}

/* Real seasonal photos: verified capture month only; species and exact fishing grounds stay unassigned until confirmed. */
.gallery-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.photo-card img{aspect-ratio:3/4;object-fit:contain;background:#dce8e9}
.photo-card>span{min-height:68px}
.photo-card .photo-verification{font-family:var(--sans);font-size:9px;letter-spacing:.02em;color:#80949b;margin-top:3px}
.photo-disclosure{margin-top:20px;color:#748a93;font-size:10px;line-height:1.9}

@media(max-width:800px){
  .plan-options{gap:14px}
  .plan-option{padding:25px 22px}
  .plan-option h3{font-size:23px}
  .plan-option>p{min-height:76px}
  .plan-details{gap:20px}
}
@media(max-width:540px){
  .header-kicker{min-width:0;gap:2px}
  .header-kicker strong{font-size:16px;letter-spacing:.11em}
  .header-kicker small{font-size:7px;letter-spacing:.26em}
  .safety-header .header-kicker strong{font-size:15px}
  .plan-options{grid-template-columns:1fr;gap:12px;margin-bottom:28px}
  .plan-option{padding:24px 20px}
  .plan-option h3{margin-top:17px;font-size:22px}
  .plan-option>p{min-height:0;font-size:11px}
  .plan-option ul{margin:15px 0 18px}
  .plan-option li strong{font-size:12px}
  .plan-option li span{font-size:10px}
  .plan-details{grid-template-columns:1fr;gap:20px;padding:20px 0 17px}
  .area-tags span,.fish-tags span{font-size:10px}
  .plan-disclaimer{font-size:9px}
  .gallery-photos{grid-template-columns:1fr;gap:22px}
  .photo-card img{max-height:540px}
  .photo-card>span{min-height:0;padding:10px 0 0;font-size:12px}
  .photo-card .photo-verification{font-size:9px}
  .photo-disclosure{font-size:9px}
}


/* Accessibility refinements for legal-status/photo labels and mobile safety navigation. */
.photo-card .photo-verification{font-size:10px;color:#455a64;letter-spacing:.015em}
.safety-mobile-nav{display:none}
@media(max-width:800px){
  .safety-header .header-cta{display:none}
  .safety-mobile-nav{display:flex;align-items:center;gap:8px;margin-left:auto}
  .safety-mobile-nav a{white-space:nowrap;padding:7px 9px;border:1px solid rgba(132,196,220,.42);color:#e5f7fc;font-size:10px;line-height:1.2}
}
@media(max-width:540px){
  .safety-mobile-nav{gap:6px}
  .safety-mobile-nav a{padding:6px 8px;font-size:9px}
  .photo-card .photo-verification{font-size:10px}
}


/* Unified branded header: text-only wordmark and one icon navigation row. */
.home-header {
  height: auto;
  display: block;
  padding: 0;
  background: rgba(3, 23, 36, .91);
  border-bottom: 1px solid rgba(140, 193, 219, .22);
  backdrop-filter: blur(10px);
}
.header-topline {
  height: 92px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(24px, 6vw, 100px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid rgba(140, 193, 219, .18);
}
.home-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  color: #fff;
  flex: 0 1 auto;
  min-width: 0;
}
.home-wordmark {
  display: flex;
  align-items: baseline;
  gap: .18em;
  white-space: nowrap;
  font-family: var(--display);
  font-size: clamp(25px, 2.4vw, 35px);
  font-weight: 800;
  font-style: italic;
  line-height: 1;
  letter-spacing: .015em;
}
.home-wordmark strong { font-weight: 800; }
.home-wordmark em { color: var(--cyan); font-style: italic; }
.home-brand > small {
  display: block;
  color: #b5d7e4;
  font: 500 9px/1 var(--display);
  letter-spacing: .48em;
}
.home-header .header-cta {
  flex: 0 0 auto;
  margin-left: auto;
}
.site-icon-nav {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: min(100% - 48px, 1360px);
  margin: 0 auto;
  border-left: 1px solid rgba(140, 193, 219, .22);
}
.site-icon-nav__link {
  position: relative;
  min-width: 0;
  min-height: 70px;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 11px clamp(12px, 1.35vw, 23px);
  border-right: 1px solid rgba(140, 193, 219, .22);
  color: #f1f8fb;
  transition: background .2s, color .2s;
}
.site-icon-nav__link:hover,
.site-icon-nav__link:focus-visible {
  background: rgba(11, 52, 73, .92);
  color: var(--cyan-light);
}
.site-icon-nav__link > .icon {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
}
.site-icon-nav__label { display: flex; flex-direction: column; min-width: 0; }
.site-icon-nav__label strong {
  font: 600 19px/1.12 var(--display);
  letter-spacing: .045em;
}
.site-icon-nav__label small {
  margin-top: 5px;
  color: #b7cdd8;
  font-size: 9px;
  line-height: 1.3;
  white-space: nowrap;
}
.site-icon-nav__arrow {
  position: absolute;
  top: 5px;
  right: 7px;
  color: #7395a4;
  font: 12px/1 var(--display);
}
@media (max-width: 1100px) {
  .header-topline { height: 86px; padding-inline: 4%; }
  .home-wordmark { font-size: 27px; }
  .home-brand > small { font-size: 8px; }
  .site-icon-nav { width: calc(100% - 48px); }
  .site-icon-nav__link { min-height: 66px; gap: 10px; padding-inline: 12px; }
  .site-icon-nav__link > .icon { width: 24px; height: 24px; flex-basis: 24px; }
  .site-icon-nav__label strong { font-size: 17px; }
  .site-icon-nav__label small { font-size: 8px; }
  .home-header + main .hero-content { padding-top: 200px; }
}
@media (max-width: 800px) {
  .home-header { overflow: hidden; }
  .header-topline { height: 72px; padding-inline: 22px; }
  .home-wordmark { font-size: clamp(21px, 4.2vw, 28px); }
  .home-brand > small { font-size: 8px; letter-spacing: .4em; }
  .home-header .header-cta { display: none; }
  .site-icon-nav {
    display: flex;
    width: 100%;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    border-left: 0;
    -webkit-overflow-scrolling: touch;
  }
  .site-icon-nav::-webkit-scrollbar { display: none; }
  .site-icon-nav__link {
    flex: 0 0 128px;
    min-height: 62px;
    justify-content: flex-start;
    gap: 10px;
    padding: 8px 14px;
    scroll-snap-align: start;
  }
  .site-icon-nav__link:first-child { border-left: 1px solid rgba(140, 193, 219, .22); }
  .site-icon-nav__label strong { font-size: 16px; }
  .site-icon-nav__label small { font-size: 8px; }
  .home-header + main .hero-content { padding-top: 174px; }
}
@media (max-width: 540px) {
  .header-topline { height: 66px; padding-inline: 18px; }
  .home-wordmark { font-size: clamp(20px, 5.8vw, 24px); letter-spacing: 0; }
  .home-brand > small { font-size: 7px; letter-spacing: .36em; }
  .site-icon-nav__link { flex-basis: 116px; min-height: 56px; padding-inline: 11px; }
  .site-icon-nav__link > .icon { width: 22px; height: 22px; flex-basis: 22px; }
  .site-icon-nav__label strong { font-size: 15px; }
  .site-icon-nav__label small { font-size: 8px; margin-top: 3px; }
  .site-icon-nav__arrow { top: 4px; right: 5px; font-size: 10px; }
  .home-header + main .hero-content { padding-top: 154px; }
}


/* Italic glyph overhang: keep the final N fully inside the rendered wordmark box. */
.hero-wordmark strong { padding-right: .14em; }


/* First-view and service-information improvements from the user's brief. */
.home-header + main .hero-content { padding-top: 202px; }
.hero-copy { max-width: 650px; }
.hero-feature-chips {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  max-width: 720px;
  margin: 19px 0 0;
  padding: 0;
}
.hero-feature-chips li {
  min-height: 29px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border: 1px solid rgba(173, 215, 230, .3);
  background: rgba(3, 23, 36, .4);
  color: #e0f0f5;
  font-size: 10px;
  line-height: 1.45;
  letter-spacing: .02em;
}
.hero-feature-chips .icon { width: 15px; height: 15px; }
.hero-feature-chips .is-pending { color: #ffe2a6; border-color: rgba(247, 195, 105, .43); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 21px; }
.hero-actions .hero-cta {
  display: inline-flex;
  min-width: 0;
  min-height: 51px;
  margin-top: 0;
  padding: 12px 17px;
  gap: 10px;
  font-size: 12px;
}
.hero-actions .hero-cta .icon { width: 19px; height: 19px; }
.hero-actions .line-button { color: #fff; background: rgba(3, 23, 36, .76); border: 1px solid rgba(178, 218, 232, .55); }
.hero-actions .line-button:hover { color: #fff; background: rgba(6, 47, 64, .94); }

/* Clear distinction between confirmed operations and services still under review. */
.reasons { background: #edf3f2; color: var(--ink); }
.reasons-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; margin-bottom: 32px; }
.reasons-heading .section-index { color: #438296; }
.reasons-heading > p { max-width: 380px; color: #627d87; font-size: 12px; line-height: 2; }
.reason-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.reason-card { min-width: 0; padding: 23px 22px 21px; border: 1px solid #d4e1e1; background: rgba(255,255,255,.78); }
.reason-card > .icon { width: 29px; height: 29px; color: #1188a8; margin-bottom: 14px; }
.reason-kicker { display: block; color: #5b8794; font: 600 10px/1.3 var(--display); letter-spacing: .08em; }
.reason-card h3 { margin-top: 10px; color: #10394b; font-size: 17px; font-weight: 700; line-height: 1.55; }
.reason-card p { min-height: 67px; margin-top: 9px; color: #607781; font-size: 11px; line-height: 1.9; }
.reason-status { display: inline-block; margin-top: 10px; padding: 4px 8px; background: #fff2d9; color: #765317; font-size: 9px; line-height: 1.4; }
.reason-status.is-confirmed { background: #e4f2f3; color: #285d6b; }
.reason-disclaimer { margin-top: 17px; color: #6c8188; font-size: 10px; line-height: 1.9; }

/* Price structure is visible without inventing unconfirmed amounts. */
.price-comparison { margin-top: 45px; padding-top: 28px; border-top: 1px solid var(--line); }
.price-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 18px; }
.price-heading .section-index { margin-bottom: 5px; color: var(--cyan-light); }
.price-heading h3 { color: #fff; font-size: 22px; font-weight: 700; letter-spacing: .04em; }
.price-heading > p { max-width: 390px; color: #a9c1cc; font-size: 10px; line-height: 1.8; }
.price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.price-card { padding: 19px 20px; border: 1px solid rgba(153,207,228,.22); background: rgba(2,20,32,.54); }
.price-kicker { color: var(--cyan-light); font: 600 10px/1.4 var(--display); letter-spacing: .08em; }
.price-card h4 { margin-top: 8px; color: #fff; font-size: 17px; font-weight: 700; }
.price-card dl { margin: 12px 0 0; }
.price-card dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 7px 0; border-top: 1px solid rgba(153,207,228,.15); }
.price-card dt { color: #9cb5c1; font-size: 10px; }
.price-card dd { margin: 0; color: #e7f1f4; font-size: 10px; text-align: right; }
.price-card dd.price-pending { color: #ffe1a0; font-weight: 700; }
.price-link { margin-top: 17px; }

.company-strip { display: flex; align-items: center; gap: clamp(18px, 4vw, 54px); flex-wrap: wrap; padding: 20px 8%; background: #021420; border-top: 1px solid rgba(140,193,219,.16); }
.company-identity { display: flex; flex-direction: column; gap: 3px; margin-right: auto; }
.company-identity > span,
.company-contact-link > small { color: #78a0b1; font: 600 9px/1.3 var(--display); letter-spacing: .16em; }
.company-identity > strong { color: #dbeaf0; font-size: 12px; font-weight: 600; }
.company-contact-link { display: flex; flex-direction: column; gap: 3px; color: #d9eaf1; }
.company-contact-link > strong { font: 500 12px/1.45 var(--display); letter-spacing: .035em; }
.company-contact-link:hover { color: var(--cyan-light); }
@media (max-width: 1100px) {
  .home-header + main .hero-content { padding-top: 200px; }
  .reason-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .home-header + main .hero-content { padding-top: 174px; }
  .reasons-heading { align-items: flex-start; flex-direction: column; gap: 13px; }
  .reasons-heading > p { max-width: none; }
  .price-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .price-heading > p { max-width: none; }
  .company-strip { padding-inline: 6%; }
}
@media (max-width: 540px) {
  .home-header + main .hero-content { padding-top: 154px; }
  .hero-copy { max-width: 100%; font-size: 11px; }
  .hero-feature-chips { gap: 5px; margin-top: 14px; }
  .hero-feature-chips li { min-height: 26px; padding: 3px 7px; font-size: 9px; }
  .hero-feature-chips .icon { width: 13px; height: 13px; }
  .hero-actions { flex-direction: column; align-items: stretch; gap: 8px; margin-top: 16px; }
  .hero-actions .hero-cta { width: 100%; min-height: 47px; justify-content: center; padding: 10px 12px; font-size: 11px; }
  .reason-grid { grid-template-columns: 1fr; gap: 9px; }
  .reason-card { padding: 19px 17px; }
  .reason-card p { min-height: 0; }
  .price-comparison { margin-top: 33px; padding-top: 22px; }
  .price-grid { grid-template-columns: 1fr; gap: 9px; }
  .price-card { padding: 16px; }
  .company-strip { flex-direction: column; align-items: flex-start; gap: 13px; padding: 20px 26px 96px; }
  .company-identity { margin-right: 0; }
}


@media (max-width: 540px) {
  .hero h1 { font-size: clamp(19px, 5.4vw, 21px); line-height: 1.6; letter-spacing: 0; }
  .hero-feature-chips { margin-top: 11px; gap: 4px; }
  .hero-actions { margin-top: 11px; gap: 6px; }
  .hero-actions .hero-cta { min-height: 43px; padding-block: 8px; }
}


/* Stable, sticky home header with large aligned desktop navigation targets. */
html { scroll-padding-top: 176px; }
.home-header {
  position: sticky;
  top: 0;
  left: auto;
  width: 100%;
  z-index: 40;
}
.header-topline { flex-wrap: nowrap; }
.home-brand { flex: 0 0 auto; }
.home-wordmark { white-space: nowrap; }
.home-header .header-cta {
  min-height: 50px;
  justify-content: center;
  align-items: center;
  margin: 0 0 0 auto;
  padding-inline: 22px;
  font-size: 14px;
}
.site-icon-nav { width: min(calc(100% - 48px), 1440px); }
.site-icon-nav__link {
  min-height: 82px;
  gap: 16px;
  padding: 14px clamp(14px, 1.5vw, 25px);
}
.site-icon-nav__link > .icon { width: 29px; height: 29px; flex-basis: 29px; }
.site-icon-nav__label strong { white-space: nowrap; }
.site-icon-nav__label small { font-size: 10px; }

/* Embed the user-provided business listing without a separate API key. */
.access-map {
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 250px;
  margin-top: 22px;
  overflow: hidden;
  border: 1px solid #d7e3e4;
  background: #e7eeee;
}
.access-map iframe { display: block; width: 100%; height: 100%; min-height: 250px; border: 0; }

/* Clear contact hierarchy: each label sits above its value. */
.company-strip {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(160px, .8fr) minmax(260px, 1.5fr);
  align-items: center;
  gap: 18px;
  padding: 23px 8%;
}
.company-strip .company-identity { min-width: 0; gap: 5px; }
.company-strip .company-identity > span,
.company-strip .company-contact-link > small {
  display: block;
  font: 600 10px/1.4 var(--display);
  letter-spacing: .12em;
}
.company-strip .company-identity > strong {
  display: block;
  color: #e3eef1;
  font: 500 14px/1.6 var(--sans);
  letter-spacing: 0;
}
.company-strip .company-contact-link {
  min-width: 0;
  padding-left: 18px;
  border-left: 1px solid rgba(140,193,219,.2);
  gap: 5px;
}
.company-strip .company-contact-link > strong {
  display: block;
  color: #e3eef1;
  font: 500 13px/1.65 var(--sans);
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  html { scroll-padding-top: 162px; }
  .home-header + main .hero-content { padding-top: 38px; }
  .site-icon-nav__link { min-height: 78px; gap: 10px; padding-inline: 12px; }
  .site-icon-nav__link > .icon { width: 24px; height: 24px; flex-basis: 24px; }
  .site-icon-nav__label strong { font-size: 16px; }
  .site-icon-nav__label small { font-size: 9px; }
  .company-strip { padding-inline: 6%; }
}
@media (max-width: 800px) {
  html { scroll-padding-top: 136px; }
  .home-header + main .hero-content { padding-top: 34px; }
  .site-icon-nav__link { min-height: 64px; }
  .company-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-strip .company-identity { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
  html { scroll-padding-top: 124px; }
  .header-topline { flex-wrap: nowrap; }
  .home-header + main .hero-content { padding-top: 30px; }
  .site-icon-nav__link { min-height: 56px; }
  .access-map { min-height: 225px; }
  .access-map iframe { min-height: 225px; }
  .company-strip { grid-template-columns: minmax(0, 1fr); gap: 13px; padding: 20px 26px 96px; }
  .company-strip .company-identity { grid-column: auto; margin: 0; }
  .company-strip .company-contact-link { padding: 11px 0 0; border-left: 0; border-top: 1px solid rgba(140,193,219,.2); }
}


/* Fixed header occupies layout space: keep the first booking action visible. */
.home-header + main .hero-content { padding-top: 60px; }
.price-note { color: #bad0d8; font-size: 14px; margin: 24px 0; }
@media (max-width: 800px) {
  .home-header + main .hero-content { padding-top: 34px; }
  .home-header .header-cta { display: flex; min-height: 40px; padding: 8px 12px; font-size: 12px; gap: 8px; }
  .home-header .header-cta .icon { width: 16px; height: 16px; }
}
@media (max-width: 540px) {
  .home-header + main .hero-content { padding-top: 30px; }
  .header-topline { padding-inline: 16px; gap: 12px; }
  .home-wordmark { font-size: 22px; }
  .home-brand > small { font-size: 8px; }
  .home-header .header-cta { padding-inline: 10px; font-size: 11px; }
}


/* Company contacts share one font system and sit inside the footer. */
.site-footer .company-strip {
  padding: 26px 0;
  margin: 0 0 22px;
  background: transparent;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.company-strip .company-identity > span,
.company-strip .company-contact-link > small {
  font: 500 12px/1.6 var(--sans);
  letter-spacing: 0;
  color: #abc2ce;
}
.company-strip .company-identity > strong,
.company-strip .company-contact-link > strong {
  font: 500 16px/1.7 var(--sans);
  letter-spacing: 0;
}
@media (max-width: 800px) {
  .site-footer .company-strip { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .site-footer .company-identity { grid-column: auto; }
  .site-footer .company-contact-link { padding: 0; border: 0; }
}
