.catalog-header{position:relative;background:#123c42;color:white}
.catalog-header .nav{height:82px}
.catalog-header .navlinks a[aria-current="page"]{color:#efc19b}
.catalog-hero{background:#123c42;color:white;position:relative;overflow:hidden;padding:74px 0 82px}
.catalog-hero:after{content:"";position:absolute;width:540px;height:540px;right:-170px;top:-220px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.025)}
.catalog-hero .container{position:relative;z-index:1}
.catalog-hero .eyebrow{color:#efc19b}
.catalog-hero h1{font:500 clamp(48px,6vw,76px)/1.1 var(--serif);letter-spacing:-.055em;max-width:900px;margin:16px 0 20px}
.catalog-hero p{font-size:16px;line-height:1.7;color:#d6e2dd;max-width:680px;margin:0}
.catalog-stats{display:flex;gap:35px;margin-top:35px;flex-wrap:wrap}
.catalog-stat{display:flex;align-items:center;gap:10px;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#d6e2dd}
.catalog-stat strong{font:500 34px var(--serif);color:#fff;letter-spacing:-.04em}
.catalog-layout{display:grid;grid-template-columns:250px 1fr;gap:38px;padding-top:54px;padding-bottom:95px}
.filter-panel{position:sticky;top:20px;align-self:start;background:#fff;border:1px solid var(--line);padding:24px}
.filter-panel h2{font:500 27px var(--serif);margin:0 0 21px}
.filter-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin:20px 0 9px}
.search-input,.filter-select{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px 13px;border-radius:0;outline-color:var(--accent);font:13px var(--sans)}
.search-input::placeholder{color:#899694}
.filter-note{font-size:11px;line-height:1.5;color:var(--muted);margin-top:22px}
.results-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px}
.results-head h2{font:500 31px var(--serif);margin:0}
.results-head p{font-size:12px;color:var(--muted);margin:0}
.results-actions{display:flex;align-items:center;gap:13px}.results-actions label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--muted)}.results-actions select{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 10px;font:12px var(--sans);max-width:200px}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.catalog-card{background:#fff;border:1px solid #e5e4dc;padding:26px;display:flex;flex-direction:column;min-height:278px;transition:transform .2s,box-shadow .2s}
.catalog-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(20,55,59,.07)}
.card-photo{height:184px;margin:-26px -26px 22px;overflow:hidden;background:#d9e1da}.card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.catalog-card:hover .card-photo img{transform:scale(1.045)}
.card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.card-type{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}
.card-days{font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:#edf1ec;padding:7px 9px;color:#42605d;white-space:nowrap}
.catalog-card h3{font:500 24px/1.25 var(--serif);letter-spacing:-.02em;margin:19px 0 10px}
.card-regions{color:#66817d;font-size:11px;text-transform:uppercase;letter-spacing:.08em;line-height:1.5;margin:0 0 12px}
.catalog-card ul{list-style:none;margin:0 0 20px;padding:0;color:var(--muted);font-size:12px;line-height:1.6}
.catalog-card li{padding-left:15px;position:relative;margin:5px 0}
.catalog-card li:before{content:"✦";position:absolute;left:0;color:var(--accent);font-size:9px;top:1px}
.card-button{margin-top:auto;border:0;border-top:1px solid var(--line);background:none;padding:16px 0 0;width:100%;display:flex;justify-content:space-between;text-align:left;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700;color:var(--ink)}
.card-button:hover{color:var(--accent)}
.card-price{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:auto;padding:13px 0 5px;border-top:1px solid var(--line)}.card-price span{font-size:11px;color:var(--muted)}.card-price strong{font:600 24px var(--serif);color:var(--ink)}.card-price small{font-size:11px;color:var(--muted)}.card-price-request strong{font:600 17px var(--serif)}.catalog-card .card-button{margin-top:0;border-top:0;padding-top:13px}
.load-wrap{text-align:center;margin-top:30px}.load-button{background:var(--ink);color:white;border:1px solid var(--ink);padding:14px 30px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700}.load-button:hover{background:#27555a}
.no-results{padding:48px;text-align:center;background:#fff;color:var(--muted);grid-column:1/-1}
.catalog-bottom{background:#eaece6;padding:70px 0;text-align:center}
.catalog-bottom h2{font:500 43px/1.2 var(--serif);margin:10px auto 18px;max-width:650px;letter-spacing:-.04em}
.catalog-bottom p{max-width:600px;margin:0 auto;color:var(--muted);line-height:1.7;font-size:14px}
.catalog-bottom .button{margin-top:25px}
.catalog-dialog{border:0;padding:0;width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 24px);background:#fff;color:var(--ink);box-shadow:0 25px 70px rgba(5,30,35,.3);overflow:auto}
.catalog-dialog::backdrop{background:rgba(5,26,31,.75)}
.catalog-dialog .dialog-close{position:sticky;float:right;right:14px;top:14px;margin:14px 14px -52px 0}
.catalog-dialog-body{padding:42px}
.catalog-dialog h2{font:500 clamp(32px,4vw,46px)/1.16 var(--serif);letter-spacing:-.04em;margin:14px 0}
.dialog-regions{font-size:12px;color:#66817d;letter-spacing:.08em;text-transform:uppercase;margin-bottom:25px}
.dialog-categories{display:flex;flex-wrap:wrap;gap:7px;margin:-13px 0 25px}.dialog-categories span{font-size:10px;color:#356267;background:#edf3ef;padding:7px 9px;letter-spacing:.04em}
.detail-price{background:#f2f5f1;border-left:3px solid var(--accent);padding:16px 20px;margin:5px 0 25px}.detail-price>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.detail-price span{font-size:12px;color:var(--muted)}.detail-price strong{font:600 29px var(--serif);color:var(--ink)}.detail-price s{font-size:14px;color:#899694}.detail-price small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:4px}
.detail-section{border-top:1px solid var(--line);padding-top:23px;margin-top:24px}
.detail-section h3{font:500 23px var(--serif);margin:0 0 15px}
.detail-section p,.detail-section li{font-size:14px;color:var(--muted);line-height:1.7}
.detail-list{padding-left:20px;margin:0}.detail-list li{margin:7px 0}
.route-line{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.route-stop{background:#edf1ec;padding:8px 10px;font-size:12px;color:var(--ink)}.route-arrow{color:var(--accent)}
.detail-note{background:#f1f3ef;padding:16px 18px;border-left:3px solid var(--accent);font-size:12px;line-height:1.7;color:var(--muted);margin:25px 0}
.detail-back{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:13px 20px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700}
.itinerary-list{display:grid;gap:0}.itinerary-day{display:grid;grid-template-columns:64px 1fr;gap:16px;border-top:1px solid var(--line);padding:19px 0}.itinerary-day:first-child{border-top:0}.itinerary-day-num{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e7efeb;color:#285758;font-size:11px;font-weight:800}.itinerary-day h4{font:500 21px/1.25 var(--serif);margin:0 0 7px}.itinerary-day p{margin:0 0 12px}.itinerary-stops{background:#f7f8f5;padding:12px 16px}.itinerary-stops span{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#4f7772;margin-bottom:5px}.itinerary-stops ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}.itinerary-stops li{font-size:11px;line-height:1.4;color:var(--ink);background:#fff;border:1px solid #e1e8e3;padding:5px 8px}
@media(max-width:950px){.catalog-layout{grid-template-columns:1fr}.filter-panel{position:relative;top:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:8px 18px}.filter-panel h2,.filter-note{grid-column:1/-1}.filter-label{margin:4px 0 8px}}
@media(max-width:680px){.catalog-hero{padding:55px 0 62px}.catalog-hero h1{font-size:47px}.catalog-layout{padding-top:35px;padding-bottom:65px}.filter-panel{grid-template-columns:1fr;padding:20px}.filter-panel h2,.filter-note{grid-column:auto}.catalog-grid{grid-template-columns:1fr}.catalog-stat strong{font-size:28px}.results-head{align-items:start;flex-direction:column}.results-actions{width:100%;justify-content:space-between;flex-wrap:wrap}.catalog-card{min-height:0}.catalog-dialog-body{padding:30px 22px}.catalog-bottom h2{font-size:36px}.catalog-header .navlinks{top:72px}}

.catalog-guide{padding:72px 0;background:#fffdf8}.catalog-guide h2{font:500 clamp(32px,4vw,48px)/1.12 var(--serif);letter-spacing:-.035em;margin:12px 0 14px}.catalog-guide-intro{max-width:780px;color:var(--muted);line-height:1.7}.catalog-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.catalog-guide-grid article{padding:27px;border:1px solid var(--line);border-radius:18px;background:white}.catalog-guide-grid h3{font:500 25px/1.2 var(--serif);margin:0 0 12px}.catalog-guide-grid p{color:var(--muted);line-height:1.65}.catalog-guide-grid a{font-weight:700;color:#076579}@media(max-width:750px){.catalog-guide{padding:52px 0}.catalog-guide-grid{grid-template-columns:1fr}}
