/* FJT Tour Portal: isolated design, no frameworks or external fonts. */
:root { --fjt-navy:#102d42; --fjt-deep:#092437; --fjt-ink:#213647; --fjt-muted:#627583; --fjt-line:#e3e9ec; --fjt-gold:#d7b482; --fjt-paper:#f7f7f3; }
body.fjt-tm-body {margin:0; padding:0; background:#fff; color:var(--fjt-ink); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; line-height:1.65; -webkit-font-smoothing:antialiased}
.fjt-tm-page {min-height:100vh; background:#fff; overflow-x:hidden; box-sizing:border-box}
.fjt-tm-page *, .fjt-tm-page *:before, .fjt-tm-page *:after {box-sizing:border-box}
.fjt-tm-page h1,.fjt-tm-page h2,.fjt-tm-page h3,.fjt-tm-page p {margin-top:0}
.fjt-tm-page h1,.fjt-tm-page h2 {font-family:Georgia,"Times New Roman",serif; font-weight:500; letter-spacing:-.028em}
.fjt-tm-page a {color:inherit; text-decoration:none}
.fjt-tm-page a:focus-visible,.fjt-tm-page button:focus-visible,.fjt-tm-page summary:focus-visible,.fjt-tm-page input:focus-visible,.fjt-tm-page textarea:focus-visible {outline:3px solid #9abfda; outline-offset:3px}
.fjt-tm-container {width:min(1160px,calc(100% - 64px)); margin-left:auto; margin-right:auto}
.fjt-tm-nav {height:96px; display:flex; align-items:center; justify-content:space-between; gap:16px}
.fjt-tm-brand {display:flex; align-items:center; gap:13px; color:var(--fjt-navy)}
.fjt-tm-monogram {height:46px; min-width:46px; padding:0 7px; display:inline-grid; place-items:center; color:#fff; background:var(--fjt-navy); border:1px solid var(--fjt-navy); font:700 14px Georgia,serif; letter-spacing:.09em; border-radius:4px}
.fjt-tm-logo {max-width:145px; width:auto; height:58px; object-fit:contain}
.fjt-tm-brand-name {font-size:15px; font-weight:700; letter-spacing:.015em; line-height:1.15}
.fjt-tm-brand-name small {display:block; color:#8a9aa5; font-size:9px; letter-spacing:.24em; margin-top:7px; font-weight:700}
.fjt-tm-nav-contact {font-size:12px; font-weight:700; color:var(--fjt-navy); border-bottom:1px solid #b2bec8; padding-bottom:7px; white-space:nowrap}
.fjt-tm-nav-contact span {color:#ac8557; margin-left:8px}
.fjt-tm-hero {position:relative; isolation:isolate; overflow:hidden; min-height:565px; color:#fff; display:flex; align-items:center; background:linear-gradient(115deg,#102b3b 8%,#173d51 55%,#24566b)}
.fjt-tm-hero::before {content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(ellipse 230px 230px at 76% 46%,rgba(232,193,137,.65) 0 36%,transparent 36.3%), radial-gradient(ellipse 700px 430px at 80% 120%,rgba(175,203,195,.23) 0 48%,transparent 48.3%),linear-gradient(110deg,rgba(6,21,34,.25),transparent 85%)}
.fjt-tm-hero-photo::before {background:linear-gradient(90deg,rgba(4,24,38,.85),rgba(5,27,43,.52) 55%,rgba(5,27,43,.16)),var(--fjt-cover) center/cover no-repeat}
.fjt-tm-hero-inner {padding-top:95px; padding-bottom:105px; position:relative; z-index:1}
.fjt-tm-eyebrow {font-size:11px; font-weight:700; letter-spacing:.2em; color:#e8c99e; margin-bottom:20px}
.fjt-tm-eyebrow-dark {color:#a87b50}
.fjt-tm-hero h1 {font-size:clamp(42px,5.1vw,76px); line-height:1.12; max-width:720px; margin:0 0 25px}
.fjt-tm-hero-text {font-size:16px; line-height:1.95; max-width:650px; color:#e3ebee; margin:0 0 31px}
.fjt-tm-button {appearance:none; display:inline-flex; justify-content:space-between; align-items:center; gap:32px; border:1px solid var(--fjt-navy); border-radius:3px; padding:16px 22px; min-height:51px; font-size:13px; font-weight:700; background:var(--fjt-navy); color:#fff!important; cursor:pointer; transition:background .2s ease,transform .2s ease}
.fjt-tm-button:hover {background:#244b62; transform:translateY(-1px)}
.fjt-tm-button-light {background:#fff; color:var(--fjt-navy)!important; border-color:#fff}
.fjt-tm-button-light:hover {background:#f1e4d4; color:var(--fjt-deep)!important}
.fjt-tm-hero-mark {position:absolute; width:320px; height:320px; border:1px solid rgba(255,255,255,.1); border-radius:50%; right:-130px; bottom:-140px}
.fjt-tm-hero-mark span {display:block; width:230px; height:230px; border:1px solid rgba(255,255,255,.08); border-radius:50%; margin:45px}
.fjt-tm-home-info {display:grid; grid-template-columns:1fr 1fr; gap:10%; padding-top:91px; padding-bottom:68px}
.fjt-tm-home-info h2,.fjt-tm-section h2 {font-size:clamp(29px,3vw,45px); line-height:1.24; margin:0 0 24px; color:var(--fjt-navy)}
.fjt-tm-home-side {padding-top:14px; color:var(--fjt-muted); font-size:15px}
.fjt-tm-home-side p {margin-bottom:16px}
.fjt-tm-text-link {font-weight:700; font-size:14px; color:var(--fjt-navy)!important; border-bottom:1px solid #bcc9cc; padding-bottom:5px}
.fjt-tm-features {border-top:1px solid var(--fjt-line); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; padding-top:39px; padding-bottom:102px}
.fjt-tm-feature-num {color:#b3bec5; font:16px Georgia,serif}
.fjt-tm-feature h3 {margin:16px 0 9px; font-size:17px; color:var(--fjt-navy)}
.fjt-tm-feature p {font-size:13px; color:var(--fjt-muted); line-height:1.85}
.fjt-tm-footer {min-height:98px; display:flex; align-items:center; justify-content:space-between; gap:15px; flex-wrap:wrap; padding-top:18px; padding-bottom:18px; border-top:1px solid var(--fjt-line); color:#758794; font-size:11px}
.fjt-tm-footer a {text-decoration:underline}
.fjt-tm-tour-hero {min-height:435px; display:flex; align-items:flex-end; position:relative; isolation:isolate; color:#fff; background:linear-gradient(110deg,#102b3b,#28536a)}
.fjt-tm-tour-hero::before {content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 80% 40%,rgba(215,180,130,.34),transparent 27%),linear-gradient(90deg,rgba(5,27,42,.64),transparent)}
.fjt-tm-tour-hero-photo::before {background:linear-gradient(0deg,rgba(5,24,39,.81),rgba(5,24,39,.18) 78%),var(--fjt-cover) center/cover no-repeat}
.fjt-tm-tour-hero-inner {padding-top:115px; padding-bottom:64px}
.fjt-tm-tour-hero h1 {font-size:clamp(40px,5vw,68px); max-width:850px; line-height:1.12; margin-bottom:17px}
.fjt-tm-tour-tagline {color:#e9eff1; font-size:17px; max-width:620px; margin-bottom:12px}
.fjt-tm-tour-route {color:#d8dfe4; font-size:12px; letter-spacing:.08em}
.fjt-tm-quickfacts {border-bottom:1px solid var(--fjt-line); display:grid; grid-template-columns:repeat(3,1fr); padding:27px 0; gap:20px}
.fjt-tm-quickfacts div {display:flex; flex-direction:column; gap:5px; border-right:1px solid var(--fjt-line); padding-left:25px}
.fjt-tm-quickfacts div:first-child {padding-left:0}
.fjt-tm-quickfacts div:last-child {border:none}
.fjt-tm-quickfacts small,.fjt-tm-day-detail small {font-size:10px; font-weight:700; letter-spacing:.13em; color:#80909c}
.fjt-tm-quickfacts strong {font-size:19px; font-weight:600; color:var(--fjt-navy)}
.fjt-tm-section {padding:78px 0; border-bottom:1px solid var(--fjt-line)}
.fjt-tm-introduction {display:grid; grid-template-columns:1fr 1.4fr; gap:10%}
.fjt-tm-longtext {line-height:1.9; font-size:15px; color:#506473}
.fjt-tm-longtext p {margin-bottom:15px}
.fjt-tm-day-list {margin-top:30px}
.fjt-tm-itinerary-day {border-top:1px solid var(--fjt-line)}
.fjt-tm-itinerary-day:last-child {border-bottom:1px solid var(--fjt-line)}
.fjt-tm-itinerary-day summary {list-style:none; cursor:pointer; display:flex; align-items:center; gap:20px; padding:26px 3px; min-height:74px}
.fjt-tm-itinerary-day summary::-webkit-details-marker {display:none}
.fjt-tm-day-count {font-size:11px; font-weight:800; letter-spacing:.12em; color:#a37c51; flex:0 0 62px}
.fjt-tm-day-name {font-size:17px; font-weight:600; color:var(--fjt-navy); flex:1}
.fjt-tm-day-arrow {font-size:21px; color:#9baab3; transition:transform .2s ease}
.fjt-tm-itinerary-day[open] .fjt-tm-day-arrow {transform:rotate(45deg)}
.fjt-tm-day-expanded {padding:0 10px 35px 84px}
.fjt-tm-day-photo {margin:0 0 20px}
.fjt-tm-day-photo img {display:block; width:100%; max-height:410px; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:4px}
.fjt-tm-day-detail {display:flex; flex-wrap:wrap; gap:22px; margin-top:22px; padding:19px 0; border-top:1px solid var(--fjt-line)}
.fjt-tm-day-detail>div {display:flex; flex-direction:column; flex:1 1 155px}
.fjt-tm-day-detail span {font-size:13px; color:var(--fjt-navy)}
.fjt-tm-inclusions {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px}
.fjt-tm-service-card {background:var(--fjt-paper); padding:31px 33px; border-radius:5px}
.fjt-tm-service-card h2 {font-size:26px}
.fjt-tm-service-card ul {margin:0; padding-left:18px}
.fjt-tm-service-card li {font-size:14px; color:#566977; padding:5px 0}
.fjt-tm-gallery {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:25px}
.fjt-tm-gallery div {aspect-ratio:4/3; overflow:hidden; background:#eef0ef}
.fjt-tm-gallery img {height:100%; width:100%; object-fit:cover; display:block}
.fjt-tm-enquiry {background:var(--fjt-navy); color:#fff; display:grid; grid-template-columns:1fr 1fr; gap:65px; padding:48px; margin:82px 0; border:0; border-radius:6px}
.fjt-tm-enquiry h2 {color:#fff}
.fjt-tm-enquiry p {color:#dbe6ea; font-size:14px}
.fjt-tm-enquiry .fjt-tm-price-notes {font-size:12px; color:#d0b998; border-left:2px solid var(--fjt-gold); padding-left:13px; margin-top:24px}
.fjt-tm-enquiry a {text-decoration:underline}
.fjt-tm-contact-form {display:flex; flex-direction:column; gap:14px}
.fjt-tm-contact-form label {font-size:12px; font-weight:700; display:flex; flex-direction:column; gap:5px}
.fjt-tm-contact-form input,.fjt-tm-contact-form textarea {width:100%; border:1px solid #bccad1; border-radius:3px; padding:12px; font-size:14px; color:var(--fjt-ink); background:#fff; font-family:inherit; min-height:46px}
.fjt-tm-contact-form textarea {resize:vertical}
.fjt-tm-contact-form button {align-self:flex-start; margin-top:3px}
.fjt-tm-honey {position:absolute!important; left:-9999px!important; height:1px!important; width:1px!important; overflow:hidden!important}
.fjt-tm-locked-main {display:flex; align-items:center; justify-content:center; padding:80px 20px; min-height:calc(100vh - 200px)}
.fjt-tm-locked-card {width:min(460px,100%); text-align:center; padding:45px 35px; border:1px solid var(--fjt-line); box-shadow:0 16px 60px rgba(15,39,59,.07); border-radius:7px}
.fjt-tm-locked-card h1 {font-size:37px; line-height:1.25; color:var(--fjt-navy); margin:15px 0}
.fjt-tm-locked-card p {font-size:14px; color:#607383}
.fjt-tm-lock-icon {font-size:40px; color:#ae8a5d}
.fjt-tm-locked-card .fjt-tm-contact-form {text-align:left; margin-top:24px}
.fjt-tm-alert,.fjt-tm-success {font-size:13px; border-radius:4px; padding:13px; margin:12px 0; color:#6a2736!important; background:#ffe7e9}
.fjt-tm-success {color:#255442!important; background:#e5f3e7}
@media (max-width:850px) {.fjt-tm-home-info,.fjt-tm-introduction,.fjt-tm-enquiry {grid-template-columns:1fr; gap:24px}.fjt-tm-features {gap:20px}.fjt-tm-enquiry{padding:32px}}
@media (max-width:620px) {.fjt-tm-container {width:calc(100% - 34px)}.fjt-tm-nav{height:76px}.fjt-tm-brand-name{font-size:12px}.fjt-tm-brand-name small{font-size:8px}.fjt-tm-monogram{height:39px; min-width:39px}.fjt-tm-logo{max-width:100px;height:48px}.fjt-tm-nav-contact{font-size:11px}.fjt-tm-hero{min-height:515px}.fjt-tm-hero-inner{padding-top:75px;padding-bottom:75px}.fjt-tm-hero h1{font-size:41px}.fjt-tm-hero-text{font-size:14px}.fjt-tm-home-info{padding-top:60px;padding-bottom:45px}.fjt-tm-features{grid-template-columns:1fr;padding-bottom:64px}.fjt-tm-feature h3{margin-top:10px}.fjt-tm-footer{padding-top:24px;padding-bottom:24px}.fjt-tm-tour-hero{min-height:355px}.fjt-tm-tour-hero-inner{padding-top:88px;padding-bottom:46px}.fjt-tm-quickfacts{grid-template-columns:1fr;gap:13px}.fjt-tm-quickfacts div{padding:0 0 12px;border-right:0;border-bottom:1px solid var(--fjt-line)}.fjt-tm-quickfacts div:last-child{border:0}.fjt-tm-section{padding:52px 0}.fjt-tm-itinerary-day summary{gap:10px;padding:19px 0}.fjt-tm-day-count{flex-basis:54px}.fjt-tm-day-name{font-size:15px}.fjt-tm-day-expanded{padding:0 0 24px}.fjt-tm-inclusions,.fjt-tm-gallery {grid-template-columns:1fr 1fr}.fjt-tm-inclusions{gap:15px}.fjt-tm-service-card{padding:20px}.fjt-tm-service-card h2{font-size:23px}.fjt-tm-enquiry{margin:50px 0;padding:24px}}
@media (max-width:430px) {.fjt-tm-gallery,.fjt-tm-inclusions{grid-template-columns:1fr}.fjt-tm-tour-hero h1{font-size:36px}.fjt-tm-home-info h2,.fjt-tm-section h2{font-size:30px}}
@media (prefers-reduced-motion: reduce) {.fjt-tm-button,.fjt-tm-day-arrow{transition:none}}

.fjt-tm-preview-banner {background:#fff1d9;color:#5b451e;text-align:center;padding:12px 20px;font-size:13px;font-weight:700;border-bottom:1px solid #dec08e}
.fjt-tm-privacy-note {font-size:11px!important;color:#b8c9cf!important;margin-top:14px}
