:root{--ink:#12223d;--text:#475974;--border:#e2e9f4;--bg:#f5f8fd;--blue:#2f61df;--radius:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,a{font:inherit}
a{color:inherit}
.tour-container{width:min(1240px,calc(100% - 52px));margin-inline:auto}
.tour-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 91% -35%,rgba(64,140,241,.27),transparent 48%),radial-gradient(circle at 4% 130%,rgba(28,182,183,.17),transparent 46%),linear-gradient(125deg,#111f3b 0%,#0b1930 55%,#152c4e 100%);color:#fff}
.tour-hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(90deg,transparent,#000)}
.hero-layout{padding-block:40px 44px}
.hero-content{max-width:1050px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;color:#a6d8ee;letter-spacing:.14em;font-size:11px;font-weight:850}
.eyebrow-marker{display:block;width:8px;height:8px;flex:none;background:#2cddc2;border-radius:50%;box-shadow:0 0 0 5px rgba(44,221,194,.11)}
.hero-content h1{font-size:clamp(36px,4.3vw,57px);font-weight:820;letter-spacing:-.052em;line-height:1.13;margin:16px 0 13px}
.hero-content h1 span{background:linear-gradient(95deg,#b5eaff,#70ded4 75%,#a2d7ff);color:transparent;background-clip:text}
.hero-lead{font-size:16px;line-height:1.64;color:#d0d9e8;max-width:990px;margin:0;text-wrap:pretty}
.tour-selection{padding:29px 0 58px;scroll-margin-top:90px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:20px}
.section-eyebrow{margin:0 0 8px;color:#2a65cb;font-size:10px;font-weight:900;letter-spacing:.14em}
.section-heading h2,.next-inner h2{font-size:clamp(25px,2.7vw,34px);line-height:1.18;letter-spacing:-.034em;margin:0}
.section-heading>p{max-width:480px;line-height:1.55;font-size:13px;color:#60718b;margin:0 0 2px}
.tour-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tour-card{display:flex;flex-direction:column;min-width:0;min-height:238px;text-decoration:none;border:1px solid var(--border);background:#fff;border-radius:var(--radius);padding:20px 19px 18px;box-shadow:0 8px 22px rgba(27,52,89,.05);transition:transform .2s,border-color .2s,box-shadow .2s;position:relative;overflow:hidden}
.tour-card[hidden]{display:none!important}
.tour-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}
.tour-card:hover{transform:translateY(-4px);border-color:#bfd2ef;box-shadow:0 18px 35px rgba(22,52,97,.13)}
.tour-card:focus-visible,.next-button:focus-visible,.tour-footer a:focus-visible{outline:3px solid #31b8d4;outline-offset:4px}
.accent-blue{--accent:#4075e9;--tint:#edf3ff}.accent-teal{--accent:#159eac;--tint:#e3f9f8}.accent-violet{--accent:#8c6ce5;--tint:#f2edff}.accent-amber{--accent:#e9a140;--tint:#fff4e3}.accent-rose{--accent:#dc6689;--tint:#fff0f5}.accent-indigo{--accent:#636bd8;--tint:#eef0ff}
.card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.card-number{letter-spacing:.08em;font-size:10px;font-weight:900;color:#7385a0}
.card-icon{width:39px;height:39px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--tint);color:var(--accent);font-size:23px;font-weight:750}
.tour-card h3{font-size:19px;letter-spacing:-.033em;line-height:1.25;margin:0 0 10px;color:#152847}
.tour-card p{margin:0 0 14px;color:#5c6d85;line-height:1.58;font-size:13px;flex:1}
.card-footer{margin-top:auto;padding-top:12px;border-top:1px solid #e9eff7;display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:12px;font-weight:850;color:var(--accent)}
.card-footer>span{font-size:19px;transition:transform .2s}.tour-card:hover .card-footer>span{transform:translate(2px,-2px)}
.tour-next{padding:0 0 58px}
.next-inner{background:#e7f0fa;border:1px solid #d7e5f6;border-radius:19px;padding:23px 27px;display:flex;align-items:center;gap:22px}
.next-orb{flex:0 0 56px;height:56px;display:grid;place-items:center;border-radius:15px;background:#d2e6ff;color:#3569db;font-size:33px}
.next-inner>div:nth-child(2){flex:1}.next-inner h2{font-size:23px}.next-inner p:last-child{margin:8px 0 0;color:#526680;line-height:1.55;font-size:13px}
.next-button{flex:none;display:inline-flex;gap:14px;align-items:center;justify-content:space-between;text-decoration:none;padding:14px 17px;border-radius:10px;color:#fff;background:#2056d2;font-size:13px;font-weight:850;transition:background .2s,transform .2s}.next-button:hover{background:#1644ac;transform:translateY(-2px)}
.tour-footer{border-top:1px solid #e1e9f4;background:#fff}.footer-content{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:12px}.footer-brand{font-size:14px;font-weight:850;color:#1d3151}.footer-brand span{font-weight:500;color:#7e8da1}.tour-footer a{font-weight:700;color:#3165cf;text-decoration:none;font-size:13px}.tour-footer a:hover{text-decoration:underline}
@media(max-width:1100px){.tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-card{min-height:228px}.section-heading{gap:25px}.hero-layout{padding-block:35px 38px}}
@media(max-width:760px){.tour-container{width:min(100% - 30px,1240px)}.hero-layout{padding-block:31px 33px}.hero-content h1{font-size:clamp(33px,8vw,47px);line-height:1.13;margin:14px 0 12px}.hero-lead{font-size:14px;line-height:1.58}.hero-eyebrow{font-size:10px;letter-spacing:.09em}.tour-selection{padding:30px 0 42px}.section-heading{display:block;margin-bottom:18px}.section-heading>p{max-width:none;margin:10px 0 0}.tour-grid{grid-template-columns:1fr;gap:13px}.tour-card{min-height:0;padding:19px 20px}.tour-card p{margin-bottom:15px}.next-inner{flex-wrap:wrap;padding:21px;gap:14px}.next-orb{flex:0 0 48px;height:48px;font-size:29px}.next-inner>div:nth-child(2){flex:1 1 calc(100% - 68px)}.next-inner h2{font-size:21px}.next-button{width:100%}.tour-next{padding-bottom:42px}.footer-content{flex-wrap:wrap;padding-block:22px;min-height:auto}}
@media(min-width:761px) and (max-width:1100px){.tour-card{min-height:218px}}
@media(max-width:370px){.hero-content h1{font-size:32px}.hero-eyebrow{font-size:9px}.tour-card h3{font-size:18px}.card-footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tour-card,.next-button,.card-footer>span{transition:none}}
