@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,400;0,500;0,600;0,700;1,500&family=Newsreader:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

:root { --ink:#12171c; --ink-deep:#0a0d10; --cream:#efece6; --paper:#f6f4ef; --yellow:#9a7b4f; --coral:#9a7b4f; --mint:#e4e0d8; --blue:#ddd8d0; --lavender:#e8e4dc; --line:rgba(18,23,28,.14); --bronze:#9a7b4f; --stone:#e8e4dc; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:'Inter Tight', Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
button, input, select { font:inherit; }
.section-shell { width:min(1180px, calc(100% - 80px)); margin-inline:auto; }
.site-header { width:100%; margin:0; padding:0 max(40px, calc((100% - 1280px) / 2)); height:94px; display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--ink-deep); color:var(--paper); }
.brand { display:block; width:168px; height:58px; background:url('/turin-logo-dark.jpg') center -70px / 230px auto no-repeat; font-size:0; letter-spacing:0; }
.brand > * { display:none !important; }
.brand-mark { display:grid; place-items:center; width:34px; height:25px; border:1px solid rgba(251,252,250,.65); color:var(--paper); font-family:Georgia,serif; font-size:15px; font-weight:700; font-style:italic; }
.brand strong,.brand small { display:block; line-height:1; }.brand strong { font-size:14px; letter-spacing:.23em; }.brand small { margin-top:6px; font-size:7px; letter-spacing:.22em; opacity:.62; }
.desktop-nav { display:flex; gap:28px; margin-left:auto; margin-right:38px; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.desktop-nav a { transition:opacity .2s; }.desktop-nav a:hover { opacity:.5; }
.header-contacts { display:flex; flex-direction:column; align-items:flex-end; gap:3px; flex-shrink:0; }
.header-phone { font-size:12px; font-weight:700; letter-spacing:.04em; white-space:nowrap; }
.header-mail { font-size:11px; font-weight:600; letter-spacing:.02em; white-space:nowrap; opacity:.82; }
.header-mail:hover { opacity:1; }
@media (max-width:800px) {
  .header-mail { font-size:9px; }
}
.status-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--coral); margin-right:7px; }
.hero { min-height:648px; display:grid; grid-template-columns:48% 52%; align-items:center; padding:54px 0 74px; }.hero-copy { padding-left:5.2%; position:relative; z-index:2; }.eyebrow { display:flex; align-items:center; gap:9px; font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }.eyebrow span { width:23px; height:1px; display:block; background:currentColor; }.hero h1,.about h2,.section-heading h2,.contact-intro h2 { margin:25px 0 22px; font-size:clamp(58px, 7vw, 96px); line-height:.88; letter-spacing:-.065em; font-weight:600; }.hero h1 em,.about h2 em,.section-heading h2 em,.contact-intro h2 em { color:#e17b59; font-family:'Playfair Display', Georgia, serif; font-weight:500; letter-spacing:-.08em; }.hero-lead { width:min(380px,100%); font-size:16px; line-height:1.65; color:rgba(16,40,59,.73); }.hero-actions { display:flex; align-items:center; gap:27px; margin-top:33px; }.button { border:0; cursor:pointer; display:inline-flex; align-items:center; justify-content:space-between; gap:26px; min-width:205px; padding:17px 19px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:transform .2s, box-shadow .2s; }.button:hover { transform:translateY(-3px); box-shadow:0 9px 20px rgba(16,40,59,.12); }.button-primary { background:var(--coral); color:var(--ink-deep); }.button-primary span,.button-dark span { font-size:20px; line-height:0; }.button-dark { background:var(--ink); color:var(--cream); }.text-link { border-bottom:1px solid currentColor; padding-bottom:6px; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.text-link span { font-size:17px; margin-left:8px; }.hero-note { display:flex; align-items:center; gap:12px; margin-top:55px; color:rgba(16,40,59,.63); font-size:11px; line-height:1.5; }.note-star { color:#e17b59; font-size:24px; }
.hero-visual { min-height:510px; position:relative; margin-left:4%; }.hero-photo { position:absolute; inset:12px 11% 0 8%; background:linear-gradient(145deg,rgba(20,55,70,.05),rgba(20,55,70,.2)),url('https://images.unsplash.com/photo-1464278533981-50106e6176b1?auto=format&fit=crop&w=1200&q=88') center/cover; clip-path:polygon(10% 0,100% 5%,90% 100%,0 92%); }.sun-shape { position:absolute; z-index:0; width:130px; height:130px; border-radius:50%; background:var(--yellow); top:-15px; right:3%; }.hero-stamp { position:absolute; top:31px; left:2%; z-index:2; width:104px; height:104px; border:1px solid var(--ink); border-radius:50%; display:grid; place-content:center; text-align:center; transform:rotate(-16deg); font-size:11px; font-weight:700; letter-spacing:.14em; }.hero-stamp span { font-family:'Playfair Display',Georgia,serif; font-size:17px; font-style:italic; font-weight:500; letter-spacing:0; text-transform:none; }.hero-caption { position:absolute; z-index:2; bottom:11px; left:1%; display:flex; flex-direction:column; gap:7px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }.hero-caption b { font-size:15px; line-height:1.25; letter-spacing:0; text-transform:none; }.hero-float-card { position:absolute; z-index:3; right:0; bottom:63px; display:flex; align-items:center; gap:12px; padding:13px 15px; background:var(--paper); box-shadow:0 13px 35px rgba(16,40,59,.15); font-size:11px; line-height:1.35; }.float-icon { display:grid; place-items:center; width:26px; height:26px; background:var(--mint); border-radius:50%; font-size:15px; }
.trust-strip { background:var(--ink); color:var(--cream); }.trust-inner { min-height:83px; display:flex; align-items:center; gap:70px; }.trust-label { color:var(--yellow); font-family:'Playfair Display',Georgia,serif; font-size:17px; font-style:italic; white-space:nowrap; }.trust-items { display:flex; justify-content:space-between; width:100%; font-size:10px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; opacity:.8; }.trust-items span:before { content:'✦'; color:var(--coral); margin-right:9px; }
.services { padding:135px 0 125px; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:52px; }.section-heading h2 { font-size:clamp(48px,6vw,78px); margin-bottom:0; }.section-intro { max-width:310px; margin:0 6% 4px 0; color:rgba(16,40,59,.67); font-size:14px; line-height:1.7; }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.service-card { min-height:270px; padding:25px 25px 22px; position:relative; display:flex; flex-direction:column; transition:transform .22s, box-shadow .22s; }.service-card:hover { transform:translateY(-6px); box-shadow:0 18px 30px rgba(16,40,59,.11); }.service-card h3 { margin:70px 0 12px; max-width:210px; font-size:27px; line-height:1; letter-spacing:-.04em; }.service-card p { max-width:240px; margin:0; font-size:12px; line-height:1.55; color:rgba(16,40,59,.72); }.card-number { position:absolute; top:25px; left:25px; font-size:10px; font-weight:700; letter-spacing:.13em; }.card-arrow { position:absolute; right:22px; top:20px; font-size:26px; }.card-link { margin-top:auto; padding-top:17px; font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }.card-link b { margin-left:7px; font-size:18px; vertical-align:-2px; }.sand { background:var(--yellow); }.blue { background:var(--blue); }.coral { background:var(--coral); }.mint { background:var(--mint); }.lavender { background:var(--lavender); }.ink { background:var(--ink); color:var(--cream); }.ink p { color:rgba(248,243,234,.7); }
.about { display:grid; grid-template-columns:50% 50%; gap:8%; align-items:center; padding:72px 0 145px; }.about-image-wrap { height:625px; position:relative; }.about-image { position:absolute; inset:0 14% 0 0; background:linear-gradient(155deg,rgba(26,58,69,.05),rgba(16,40,59,.25)),url('https://images.unsplash.com/photo-1527631746610-bca00a040d60?auto=format&fit=crop&w=1000&q=88') center/cover; clip-path:polygon(0 4%,89% 0,100% 95%,5% 100%); }.vertical-label { position:absolute; right:1%; bottom:36px; font-size:9px; letter-spacing:.17em; writing-mode:vertical-rl; transform:rotate(180deg); }.about-copy { padding-right:11%; }.about h2 { font-size:clamp(48px,5.7vw,74px); }.about-copy > p:not(.eyebrow) { max-width:390px; font-size:14px; line-height:1.75; color:rgba(16,40,59,.72); margin-bottom:35px; }
.destinations { padding:20px 0 146px; }.compact { align-items:center; }.compact .text-link { margin-bottom:7px; }.destination-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:13px; }.destination-card { min-height:360px; position:relative; overflow:hidden; color:white; }.destination-bg,.destination-shade { position:absolute; inset:0; }.destination-bg { background-position:center; background-size:cover; transition:transform .5s; }.destination-card:hover .destination-bg { transform:scale(1.06); }.destination-shade { background:linear-gradient(0deg,rgba(7,26,41,.8),transparent 70%); }.destination-text { position:absolute; inset:auto 25px 24px; }.destination-text span { font-size:9px; letter-spacing:.13em; text-transform:uppercase; opacity:.8; }.destination-text h3 { margin:9px 0 0; font-family:'Playfair Display',Georgia,serif; font-size:48px; font-weight:500; letter-spacing:-.05em; }.destination-text b { position:absolute; right:0; bottom:4px; font-size:26px; font-weight:400; }.destination-2 { margin-top:45px; }.destination-3 { margin-top:90px; }
.tourvisor-minprice { padding:25px; background:#f6f7f4; border:1px solid rgba(16,40,59,.14); box-shadow:0 14px 34px rgba(16,40,59,.07); }.tourvisor-minprice-bar { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid rgba(16,40,59,.13); }.tourvisor-minprice-bar span,.tourvisor-minprice-note span { font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }.tourvisor-minprice-bar span { color:var(--coral); }.tourvisor-minprice-bar small { color:rgba(16,40,59,.56); font-size:11px; }.minprice-demo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding-top:18px; }.minprice-demo-card { overflow:hidden; background:#fff; color:var(--ink); border:1px solid rgba(16,40,59,.08); transition:transform .22s, box-shadow .22s; }.minprice-demo-card:hover { transform:translateY(-4px); box-shadow:0 12px 22px rgba(16,40,59,.12); }.minprice-demo-image { aspect-ratio:1.35; background-position:center; background-size:cover; }.minprice-demo-body { padding:15px 15px 17px; }.minprice-demo-body h3 { margin:0 0 4px; font-size:19px; letter-spacing:-.04em; }.minprice-demo-body p { margin:0 0 14px; color:rgba(16,40,59,.56); font-size:11px; }.minprice-demo-meta { display:flex; flex-direction:column; gap:5px; color:rgba(16,40,59,.7); font-size:10px; }.minprice-demo-card strong { display:block; margin-top:15px; color:var(--coral); font-size:18px; letter-spacing:-.04em; }.tourvisor-minprice-note { display:flex; align-items:center; gap:14px; margin-top:18px; padding-top:15px; border-top:1px solid rgba(16,40,59,.1); color:rgba(16,40,59,.58); font-size:10px; line-height:1.5; }.tourvisor-minprice-note span { color:var(--ink); white-space:nowrap; }
.quote-section { padding:0 9% 150px; }.quote-mark { color:var(--coral); font-family:Georgia,serif; font-size:100px; line-height:.6; }.quote-section blockquote { max-width:930px; margin:20px 0 30px; font-size:clamp(30px,4vw,53px); line-height:1.05; letter-spacing:-.045em; }.quote-section blockquote em { color:#e17b59; font-family:'Playfair Display',Georgia,serif; font-weight:500; }.quote-author { display:flex; align-items:center; gap:12px; }.avatar { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; background:var(--yellow); font-family:'Playfair Display',Georgia,serif; font-size:18px; }.quote-author strong,.quote-author small { display:block; }.quote-author strong { font-size:11px; }.quote-author small { margin-top:3px; font-size:9px; opacity:.6; }
.contact-section { display:grid; grid-template-columns:1fr 1fr; gap:12%; padding:92px 8%; background:var(--mint); }.contact-intro h2 { font-size:clamp(48px,5.5vw,74px); }.contact-intro > p:not(.eyebrow) { max-width:350px; color:rgba(16,40,59,.7); font-size:14px; line-height:1.65; }.contact-details { display:flex; flex-direction:column; gap:8px; margin-top:42px; font-size:12px; font-weight:700; }.contact-details a { border-bottom:1px solid rgba(16,40,59,.3); width:max-content; }.contact-details span { margin-top:8px; font-size:10px; font-weight:400; opacity:.65; }.contact-form { padding-top:35px; }.contact-form label { display:block; margin-bottom:24px; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.contact-form input,.contact-form select { display:block; width:100%; padding:12px 0; border:0; border-bottom:1px solid rgba(16,40,59,.35); border-radius:0; outline:0; background:transparent; color:var(--ink); font-size:16px; font-weight:400; letter-spacing:0; text-transform:none; }.contact-form input::placeholder { color:rgba(16,40,59,.4); }.contact-form input:focus,.contact-form select:focus { border-color:var(--ink); }.form-button { width:100%; margin-top:9px; }.form-legal { display:block; margin-top:14px; font-size:9px; line-height:1.5; color:rgba(16,40,59,.55); }.form-success { min-height:350px; padding:40px 0; }.form-success > span { color:var(--coral); font-size:36px; }.form-success h3 { margin:24px 0 12px; font-size:32px; letter-spacing:-.04em; }.form-success p { max-width:280px; color:rgba(16,40,59,.7); line-height:1.6; }.form-success button { margin-top:22px; padding:0 0 5px; border:0; border-bottom:1px solid var(--ink); background:transparent; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.site-footer { display:grid; grid-template-columns:1.5fr 1fr; gap:70px; padding:65px 0 30px; }.footer-brand p { margin:25px 0 0; font-family:'Playfair Display',Georgia,serif; font-size:24px; line-height:1.1; }.footer-nav { display:flex; flex-direction:column; gap:13px; padding-top:5px; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.footer-nav a:hover { opacity:.5; }.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; padding-top:24px; border-top:1px solid var(--line); font-size:9px; letter-spacing:.1em; text-transform:uppercase; opacity:.58; }.footer-bottom a { opacity:1; color:var(--ink); }
@media (max-width: 800px) { .section-shell,.site-header { width:calc(100% - 36px); }.site-header { height:76px; }.desktop-nav { display:none; }.header-phone { font-size:10px; }.hero { display:flex; flex-direction:column; align-items:stretch; padding:55px 0 72px; }.hero-copy { padding-left:0; }.hero h1 { font-size:clamp(60px,17vw,90px); }.hero-visual { min-height:400px; width:100%; margin:58px 0 0; }.hero-photo { inset:12px 2% 0 5%; }.hero-stamp { left:0; top:4px; }.hero-float-card { right:0; bottom:43px; }.hero-caption { left:1%; bottom:0; }.trust-inner { min-height:115px; display:block; padding-top:25px; }.trust-items { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:18px; }.services { padding:92px 0; }.section-heading { display:block; }.section-intro { margin:24px 0 0; }.service-grid { grid-template-columns:1fr 1fr; gap:8px; }.service-card { min-height:245px; padding:18px; }.service-card h3 { margin-top:59px; font-size:22px; }.card-number { top:18px; left:18px; }.card-arrow { top:13px; right:15px; }.about { display:flex; flex-direction:column; gap:50px; padding:35px 0 95px; }.about-image-wrap { height:470px; width:100%; }.about-image { right:8%; }.about-copy { padding:0; }.destinations { padding-bottom:95px; }.destination-grid { display:flex; flex-direction:column; gap:9px; }.destination-card,.destination-2,.destination-3 { min-height:300px; margin:0; }.tourvisor-minprice { padding:16px; }.tourvisor-minprice-bar { display:block; }.tourvisor-minprice-bar small { display:block; margin-top:8px; }.minprice-demo-grid { grid-template-columns:1fr 1fr; gap:9px; }.minprice-demo-body { padding:12px; }.minprice-demo-body h3 { font-size:17px; }.minprice-demo-card strong { font-size:16px; }.tourvisor-minprice-note { display:block; }.tourvisor-minprice-note span { display:block; margin-bottom:5px; }.quote-section { padding:0 0 90px; }.quote-section blockquote { font-size:35px; }.contact-section { display:block; padding:62px 25px; width:calc(100% - 36px); }.contact-form { padding-top:50px; }.site-footer { grid-template-columns:1fr 1fr; gap:36px; padding-top:52px; }.footer-bottom { gap:14px; flex-wrap:wrap; }.footer-bottom span:nth-child(2) { width:100%; order:3; }.footer-brand p { font-size:19px; } }
@media (max-width: 430px) { .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }.hero-visual { min-height:340px; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:220px; }.service-card h3 { margin-top:54px; }.destination-text h3 { font-size:42px; }.minprice-demo-grid { grid-template-columns:1fr; }.contact-section { padding-inline:20px; }.footer-nav { font-size:9px; }.footer-bottom { font-size:8px; } }

/* Serious corporate travel direction */
body { background:#edf0ef; }
.site-header { position:absolute; z-index:10; top:0; left:0; background:rgba(10,13,16,.46); color:#f5f6f3; backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,.18); }
.site-header .brand small { display:none; }
.brand-mark { border-color:rgba(245,246,243,.7); background:transparent; border-radius:0; transform:none; }
.hero { position:relative; width:100%; max-width:none; margin:0; padding:150px max(40px, calc((100% - 1180px) / 2)) 82px; min-height:700px; grid-template-columns:minmax(0, 1fr) minmax(0, .92fr); color:#f5f6f3; background:#171410; overflow:hidden; }
.hero::after { content:none; }
.hero-copy { padding-left:0; max-width:700px; }
.hero-side-copy { position:relative; z-index:2; max-width:480px; padding:8px 0 0 38px; }
.hero h1 { max-width:590px; margin:28px 0 30px; font-size:clamp(43px,4.8vw,68px); line-height:1.03; letter-spacing:-.035em; font-weight:700; text-transform:uppercase; }
.hero h1 em,.section-heading h2 em,.about h2 em,.contact-intro h2 em { color:var(--coral); font-family:inherit; font-style:normal; font-weight:700; letter-spacing:inherit; }
.hero-lead { max-width:480px; width:100%; color:rgba(245,246,243,.8); font-size:15px; line-height:1.6; }
.hero .eyebrow { color:rgba(245,246,243,.82); }
.hero-actions { margin-top:37px; }
.button { border-radius:999px; min-width:225px; padding:17px 24px; }
.button-primary { background:#050505; color:#f5f6f3; }
.text-link { color:#f5f6f3; }
.hero-note { margin-top:52px; color:rgba(245,246,243,.78); }
.note-star { color:var(--coral); font-family:Arial,sans-serif; font-size:18px; }
.hero-visual { min-height:510px; margin-left:0; }
.hero-photo,.sun-shape,.hero-stamp,.hero-float-card { display:none; }
.hero-visual::before { content:none; }
.hero-caption { display:none; left:auto; right:0; bottom:20px; color:rgba(245,246,243,.78); text-align:right; }
.hero-caption b { color:#f5f6f3; font-size:17px; }
.trust-strip { background:#0d202e; }
.trust-label { color:var(--coral); font-family:inherit; font-style:normal; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.trust-items span:before { content:'✓'; color:var(--coral); }
.services { background:#edf0ef; padding:120px 0 116px; }
.section-heading h2 { font-size:clamp(44px,5.2vw,70px); text-transform:uppercase; line-height:.98; letter-spacing:-.045em; }
.section-intro { color:rgba(16,35,51,.67); }
.service-card { background:#e1e6e5!important; border:1px solid rgba(16,35,51,.1); border-radius:0; }
.service-card:hover { box-shadow:0 14px 26px rgba(16,35,51,.08); }
.service-card h3 { font-size:25px; line-height:1.02; text-transform:uppercase; }
.card-arrow,.card-link b { color:var(--coral); }
.ink { background:#102333!important; }
.about { padding-top:65px; }
.about-image { clip-path:none; inset:0 14% 0 0; background:linear-gradient(0deg,rgba(7,19,31,.3),rgba(7,19,31,.02)),url('https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=1100&q=88') center/cover; }
.vertical-label { color:rgba(16,35,51,.65); }
.about h2 { font-size:clamp(44px,5vw,68px); line-height:.98; text-transform:uppercase; }
.about-copy > p:not(.eyebrow) { color:rgba(16,35,51,.72); }
.destinations { padding-top:5px; }
.destination-card,.destination-2,.destination-3 { margin-top:0; min-height:355px; }
.destination-text h3 { font-family:inherit; font-size:39px; font-weight:700; letter-spacing:-.04em; text-transform:uppercase; }
.quote-mark { color:var(--coral); }
.quote-section blockquote { text-transform:none; }
.quote-section blockquote em { color:var(--coral); font-family:inherit; font-style:normal; font-weight:700; }
.avatar { background:var(--coral); border-radius:0; }
.contact-section { background:#dce4e4; }
.contact-intro h2 { text-transform:uppercase; }
.site-footer { width:100%; max-width:1280px; padding-inline:40px; background:#07131f; color:#f5f6f3; }
.site-footer .footer-bottom { border-color:rgba(245,246,243,.2); }
.site-footer .footer-bottom a { color:#f5f6f3; }

@media (max-width:800px) { .site-header { width:100%; padding-inline:18px; }.header-phone { font-size:9px; }.hero { width:100%; padding:112px 18px 65px; min-height:720px; display:flex; }.hero h1 { font-size:clamp(39px,10.4vw,60px); }.hero-visual { min-height:280px; width:100%; }.hero-side-copy { padding:38px 0 0 18px; }.hero-visual::before { inset:0 0 0 12%; }.hero-caption { bottom:5px; }.services { padding:82px 0; }.service-card { background:#e1e6e5!important; }.about-image { inset:0 8% 0 0; }.site-footer { width:100%; padding-inline:18px; } }

.advantages { padding:116px 0 112px; }
.advantages-heading { margin-bottom:42px; }
.advantage-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.advantage-card { min-height:280px; padding:24px; background:#e1e6e5; border:1px solid rgba(16,35,51,.1); display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s; }
.advantage-card:hover { transform:translateY(-4px); box-shadow:0 14px 26px rgba(16,35,51,.09); }
.advantage-card:nth-child(2) { background:#d7e1e3; }
.advantage-card:nth-child(3) { background:#e5e1db; }
.advantage-card:nth-child(4) { background:#102333; color:#f5f6f3; }
.advantage-number,.review-index { font-size:10px; font-weight:700; letter-spacing:.15em; color:var(--coral); }
.advantage-card h3 { margin:66px 0 14px; max-width:240px; font-size:23px; line-height:1.08; text-transform:uppercase; letter-spacing:-.035em; }
.advantage-card p { margin:0; font-size:12px; line-height:1.55; opacity:.72; }
.advantage-card .card-link { margin-top:auto; padding-top:18px; }
.reviews { padding:28px 0 72px; }
.review-grid { display:none; }
.review-board { display:grid; grid-template-columns:1.15fr .85fr; gap:12px; }
.review-lead { display:flex; flex-direction:column; justify-content:space-between; min-height:260px; padding:24px 22px; background:#fff; border:1px solid rgba(16,35,51,.1); }
.review-lead p { margin:0; font-family:'Newsreader',Georgia,serif; font-size:clamp(18px,2vw,24px); line-height:1.32; letter-spacing:-.02em; color:#12171c; }
.review-list { display:flex; flex-direction:column; gap:10px; }
.review-list article { flex:1; padding:16px 16px 14px; background:#fff; border:1px solid rgba(16,35,51,.1); }
.review-list p { margin:0 0 12px; font-size:13px; line-height:1.5; color:rgba(18,23,28,.78); }
.review-who { display:flex; align-items:center; gap:10px; }
.review-who span { display:grid; place-items:center; width:30px; height:30px; background:#efe6d8; color:#9a7b4f; font-size:12px; font-weight:600; }
.review-who strong { display:block; font-size:13px; }
.review-who small { display:block; margin-top:3px; font-size:11px; color:rgba(18,23,28,.5); }
.advantages { display:none !important; }
.proof-grid-4 { grid-template-columns:repeat(4,1fr); }
.inner-page { min-height:100vh; background:#edf0ef; color:var(--ink); }.inner-header { position:relative; background:#07131f; }.inner-hero { min-height:470px; padding:104px 0 72px; color:#f5f6f3; background:#171410; }.inner-shell { width:min(1180px,calc(100% - 80px)); margin-inline:auto; }.inner-hero h1 { margin:26px 0 18px; max-width:760px; font-size:clamp(52px,7vw,94px); line-height:.95; text-transform:uppercase; letter-spacing:-.05em; }.inner-lead { max-width:560px; margin-bottom:34px; font-size:17px; line-height:1.6; color:rgba(245,246,243,.8); }.hero-principles { display:flex; flex-wrap:wrap; gap:0; margin-top:58px; border-top:1px solid rgba(245,246,243,.28); padding-top:18px; max-width:650px; }.hero-principles span { padding:0 22px; border-right:1px solid rgba(245,246,243,.28); color:rgba(245,246,243,.72); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }.hero-principles span:first-child { padding-left:0; }.hero-principles span:last-child { border-right:0; }.hero-principles em { color:var(--coral); font-style:normal; }.inner-content { display:grid; grid-template-columns:1fr 1fr; gap:15%; padding-top:112px; padding-bottom:108px; }.inner-copy h2,.tourvisor-section h2,.inner-cta h2 { margin:25px 0 22px; font-size:clamp(42px,5vw,70px); line-height:.98; text-transform:uppercase; letter-spacing:-.05em; }.inner-copy h2 em,.tourvisor-section h2 em,.inner-cta h2 em { color:var(--coral); font-style:normal; }.inner-copy > p:not(.eyebrow),.tourvisor-section > div:first-child > p:not(.eyebrow) { max-width:480px; font-size:15px; line-height:1.75; color:rgba(16,35,51,.72); }.inner-bullets { border-top:1px solid rgba(16,35,51,.2); }.inner-bullet { display:flex; gap:25px; align-items:center; padding:24px 0; border-bottom:1px solid rgba(16,35,51,.2); }.inner-bullet span { color:var(--coral); font-size:10px; font-weight:700; letter-spacing:.14em; }.inner-bullet strong { font-size:17px; text-transform:uppercase; letter-spacing:-.02em; }.tourvisor-section { display:grid; grid-template-columns:1fr 1fr; gap:12%; padding:76px 0 116px; border-top:1px solid rgba(16,35,51,.16); }.tourvisor-placeholder { min-height:280px; padding:32px; background:#dce4e4; border:1px solid rgba(16,35,51,.15); display:flex; flex-direction:column; justify-content:center; }.tourvisor-placeholder span { color:var(--coral); font-size:11px; font-weight:700; letter-spacing:.18em; }.tourvisor-placeholder strong { margin-top:15px; font-size:28px; text-transform:uppercase; letter-spacing:-.04em; }.tourvisor-placeholder small { max-width:240px; margin-top:14px; font-size:11px; line-height:1.5; opacity:.65; }.inner-cta { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:78px 0 112px; border-top:1px solid rgba(16,35,51,.16); }.inner-cta h2 { margin-bottom:0; }.inner-page .site-footer { margin-top:0; background:#07131f; color:#f5f6f3; }.inner-page .site-footer .footer-bottom { border-color:rgba(245,246,243,.2); }.inner-page .site-footer .footer-bottom a { color:#f5f6f3; }
@media (max-width:800px) { .brand { width:150px; height:52px; background-size:205px auto; background-position:center -62px; }.advantages { padding:80px 0; }.advantage-grid,.review-grid { grid-template-columns:1fr 1fr; }.advantage-card { min-height:245px; padding:18px; }.advantage-card h3 { margin-top:50px; font-size:19px; }.reviews { padding-bottom:82px; }.review-card { min-height:280px; padding:18px; }.inner-shell { width:calc(100% - 36px); }.inner-hero { padding:76px 0 65px; }.inner-hero h1 { font-size:clamp(44px,12vw,68px); }.hero-principles { margin-top:44px; gap:12px 0; }.hero-principles span { padding:0 13px; font-size:10px; }.hero-principles span:first-child { padding-left:0; }.inner-content,.tourvisor-section { display:block; padding:78px 0; }.inner-bullets { margin-top:45px; }.tourvisor-placeholder { margin-top:35px; }.inner-cta { display:block; padding:65px 0 84px; }.inner-cta .button { margin-top:25px; } }
@media (max-width:430px) { .advantage-grid,.review-grid { grid-template-columns:1fr; }.review-card { min-height:240px; }.advantage-card { min-height:210px; } }

/* Proof points and visa navigation */
.trust-proof { padding:118px 0 104px; background:#f7f8f6; }
.trust-proof-heading { margin-bottom:44px; }
.trust-proof-heading h2 { max-width:720px; }
.proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.proof-grid.proof-grid-4 { grid-template-columns:repeat(4,1fr); }
.proof-grid-4:has(.proof-partners) { grid-template-columns:repeat(3,1fr); }
@media (max-width:800px) {
  .proof-grid,
  .proof-grid.proof-grid-4,
  .proof-grid-4:has(.proof-partners) { grid-template-columns:1fr; }
}
.proof-card { min-height:250px; padding:25px; background:#edf0ef; border:1px solid rgba(16,35,51,.14); display:flex; flex-direction:column; }
.proof-card:nth-child(2),.proof-card:nth-child(5) { background:#dce4e4; }
.proof-card:nth-child(3),.proof-card:nth-child(6) { background:#102333; color:#f5f6f3; }
.proof-number { color:var(--coral); font-size:10px; font-weight:700; letter-spacing:.16em; }
.proof-card h3 { margin:48px 0 12px; font-size:21px; line-height:1.05; text-transform:uppercase; letter-spacing:-.03em; }
.proof-card p { margin:0; font-size:12px; line-height:1.6; opacity:.72; }
.proof-emphasis { margin-top:auto!important; padding-top:16px; color:var(--coral); font-size:11px!important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; opacity:1!important; }
.proof-card-wide { grid-column:span 2; }
.services { padding-top:82px; padding-bottom:92px; }
.trust-proof { background:#102333; color:#f5f6f3; }
.trust-proof .eyebrow,.trust-proof .section-intro { color:rgba(245,246,243,.72); }
.trust-proof .section-heading h2 { color:#f5f6f3; }
.trust-proof .proof-card { background:rgba(245,246,243,.055); border-color:rgba(245,246,243,.2); color:#f5f6f3; }
.trust-proof .proof-card:nth-child(2),.trust-proof .proof-card:nth-child(5) { background:rgba(225,235,233,.1); }
.trust-proof .proof-card:nth-child(3),.trust-proof .proof-card:nth-child(6) { background:rgba(225,123,89,.16); }
.advantages { background:#f7f8f6; }
.services { background:#fbfcfa; border-top:5px solid var(--coral); padding:72px 28px 82px; }
.desktop-nav { gap:8px 12px; margin-right:18px; font-size:10px; letter-spacing:.07em; flex-wrap:wrap; justify-content:flex-end; max-width:min(920px,62vw); }
.site-header,
.inner-header,
.inner-page .inner-header { overflow:visible; }
.site-header { background:rgba(7,19,31,.9); border-bottom:1px solid rgba(245,246,243,.14); backdrop-filter:blur(14px); }
.assistant-widget { position:fixed; right:28px; bottom:24px; z-index:40; display:flex; flex-direction:column; align-items:flex-end; }
.assistant-toggle { display:inline-flex; align-items:center; gap:10px; padding:14px 18px; border:1px solid rgba(245,246,243,.2); background:var(--ink-deep); color:var(--paper); box-shadow:0 12px 30px rgba(7,19,31,.2); cursor:pointer; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.assistant-toggle-dot { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--coral); color:var(--ink-deep); font-size:13px; }
.assistant-panel { width:min(380px,calc(100vw - 36px)); margin-bottom:12px; padding:24px; background:#fbfcfa; border:1px solid rgba(16,35,51,.16); box-shadow:0 18px 50px rgba(7,19,31,.2); }
.assistant-panel-top { display:flex; align-items:center; justify-content:space-between; }
.assistant-kicker { color:var(--coral); font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.assistant-close { border:0; background:transparent; color:var(--ink); font-size:24px; line-height:1; cursor:pointer; }
.assistant-panel h3 { margin:24px 0 18px; font-size:30px; line-height:.98; letter-spacing:-.05em; text-transform:uppercase; }
.assistant-panel h3 em { color:var(--coral); font-style:normal; }
.assistant-topics { display:flex; flex-wrap:wrap; gap:7px; }
.assistant-topics button { padding:9px 10px; border:1px solid rgba(16,35,51,.18); background:transparent; color:var(--ink); cursor:pointer; font-size:10px; font-weight:700; letter-spacing:.04em; }
.assistant-topics button:hover,.assistant-topics button.active { border-color:var(--ink); background:var(--ink); color:var(--paper); }
.assistant-answer { margin:18px 0 12px; padding-left:12px; border-left:2px solid var(--coral); color:rgba(16,35,51,.72); font-size:12px; line-height:1.55; }
.assistant-panel form { margin-top:18px; }
.assistant-form { display:flex; flex-direction:column; gap:12px; }
.assistant-field { display:block; margin:0; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(18,23,28,.62); }
.assistant-field input,
.assistant-panel textarea {
  display:block;
  width:100%;
  margin-top:6px;
  padding:12px 13px;
  border:1px solid rgba(16,35,51,.16);
  background:#fff;
  color:#12171c;
  font-size:14px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  outline:0;
}
.assistant-panel textarea { min-height:78px; resize:vertical; }
.assistant-field input:focus,
.assistant-panel textarea:focus { border-color:#9a7b4f; }
.assistant-panel .button { width:100%; margin-top:4px; }
.assistant-panel > small { display:block; margin-top:12px; color:rgba(16,35,51,.55); font-size:10px; line-height:1.45; }
.mice-programs { padding:18px 0 112px; }
.mice-program-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.mice-program-grid article { min-height:245px; padding:25px; background:#fbfcfa; border:1px solid rgba(16,35,51,.16); }
.mice-program-grid article:nth-child(2) { background:#dce4e4; }
.mice-program-grid article:nth-child(3) { background:#102333; color:#f5f6f3; }
.mice-program-grid article > span { color:var(--coral); font-size:10px; font-weight:700; letter-spacing:.16em; }
.mice-program-grid h3 { margin:54px 0 12px; font-size:24px; line-height:1; letter-spacing:-.04em; text-transform:uppercase; }
.mice-program-grid p { margin:0; font-size:12px; line-height:1.6; opacity:.72; }
.mice-process { display:grid; grid-template-columns:repeat(4,1fr); margin-top:52px; border-top:1px solid rgba(16,35,51,.2); border-bottom:1px solid rgba(16,35,51,.2); }
.mice-process div { display:flex; flex-direction:column; gap:12px; padding:22px 18px 22px 0; border-right:1px solid rgba(16,35,51,.2); }
.mice-process div:not(:first-child) { padding-left:18px; }
.mice-process div:last-child { border-right:0; }
.mice-process b { color:var(--coral); font-size:11px; }
.mice-process span { max-width:150px; font-size:12px; font-weight:700; line-height:1.35; text-transform:uppercase; }
.mice-nutrition { display:grid; grid-template-columns:.7fr 1fr 1fr; gap:35px; margin-top:62px; padding:32px; background:#d98672; color:#07131f; }
.mice-nutrition .eyebrow { margin:0; }
.own-excursion { padding:28px 0 8px; }
.own-excursion-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.own-excursion-card { position:relative; display:block; min-height:340px; overflow:hidden; color:#f6f4ef; background:#171410; }
.own-excursion-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.own-excursion-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,13,16,.2) 10%,rgba(10,13,16,.82) 100%); }
.own-excursion-copy { position:relative; z-index:2; max-width:420px; padding:28px 24px; margin-top:auto; display:flex; flex-direction:column; justify-content:flex-end; min-height:340px; }
.own-excursion-copy small { display:block; color:rgba(246,244,239,.78); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.own-excursion-copy h3 { margin:12px 0 12px; font-size:clamp(22px,2.4vw,32px); line-height:1.08; letter-spacing:-.04em; }
.own-excursion-copy p { margin:0 0 16px; max-width:36ch; color:rgba(246,244,239,.86); font-size:15px; line-height:1.5; }
.own-excursion-copy b { color:#e8c99a; font-size:13px; letter-spacing:.04em; }
.own-excursion-card:hover .own-excursion-shade { background:linear-gradient(180deg,rgba(10,13,16,.08) 8%,rgba(10,13,16,.86) 100%); }
.excursion-programs { padding:18px 0 112px; }
.excursion-program-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.excursion-program-grid a { min-height:250px; padding:25px; background:#fbfcfa; border:1px solid rgba(16,35,51,.16); color:var(--ink); transition:transform .22s, box-shadow .22s, background .22s; }
.excursion-program-grid a:hover { transform:translateY(-4px); background:#fff; box-shadow:0 16px 28px rgba(16,35,51,.09); }
.excursion-program-grid span { color:var(--coral); font-size:11px; font-weight:800; letter-spacing:.14em; }
.excursion-program-grid h3 { margin:42px 0 12px; font-size:25px; line-height:1; letter-spacing:-.04em; text-transform:uppercase; }
.excursion-program-grid p { max-width:430px; margin:0; font-size:12px; line-height:1.6; color:rgba(16,35,51,.72); }
.excursion-program-grid b { display:block; margin-top:22px; color:var(--coral); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.excursion-service-line { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:52px; padding:24px 0; border-top:1px solid rgba(16,35,51,.2); border-bottom:1px solid rgba(16,35,51,.2); }
.excursion-service-line div { display:flex; flex-wrap:wrap; align-items:center; gap:11px 22px; }
.excursion-service-line strong { width:100%; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.excursion-service-line span { color:rgba(16,35,51,.68); font-size:11px; }
.excursion-service-line span::before { content:'+'; margin-right:7px; color:var(--coral); font-weight:800; }
.mice-nutrition h3 { margin:0; font-size:30px; line-height:1; letter-spacing:-.05em; text-transform:uppercase; }
.mice-nutrition h3 em { font-style:normal; }
.mice-nutrition > p:last-child { margin:0; font-size:13px; line-height:1.65; }
.visa-index-hero h1 em,.country-hero h1 em { color:var(--coral); font-style:normal; }
.visa-country-section { padding:112px 0 126px; }
.visa-heading { margin-bottom:46px; }
.visa-country-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.visa-country-card { min-height:225px; padding:23px; background:#e1e6e5; border:1px solid rgba(16,35,51,.14); display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s,background .2s; }
.visa-country-card:nth-child(2n) { background:#dce4e4; }
.visa-country-card:hover { transform:translateY(-5px); background:#d98672; box-shadow:0 16px 28px rgba(16,35,51,.12); }
.visa-country-index { color:var(--coral); font-size:10px; font-weight:700; letter-spacing:.16em; }
.visa-country-region { margin-top:9px; font-size:9px; letter-spacing:.13em; text-transform:uppercase; opacity:.56; }
.visa-country-card h3 { margin:36px 0 0; font-size:27px; line-height:1; text-transform:uppercase; letter-spacing:-.04em; }
.visa-country-card .card-link { margin-top:auto; }
@media (max-width:800px) { .trust-proof { padding:82px 0; }.proof-grid { grid-template-columns:1fr 1fr; }.proof-card-wide { grid-column:span 1; }.proof-card { min-height:235px; padding:18px; }.proof-card h3 { margin-top:38px; font-size:18px; }.visa-country-section { padding:80px 0 88px; }.visa-country-grid { grid-template-columns:1fr 1fr; }.visa-country-card { min-height:205px; padding:18px; }.visa-country-card h3 { font-size:22px; margin-top:28px; } }
@media (max-width:430px) { .proof-grid,.visa-country-grid { grid-template-columns:1fr; }.proof-card-wide { grid-column:auto; }.proof-card { min-height:200px; }.visa-country-card { min-height:180px; } }

/* Russian wordmark with the supplied transparent emblem */
.brand { position:relative; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:auto; min-width:88px; height:auto; background:none!important; font-size:0; letter-spacing:0; }
.brand::before { content:""; display:block; flex:none; width:72px; height:18px; background:url('/public/turin-emblem.png') center / contain no-repeat; }
.brand::after { content:"ТУРИН"; color:#f5f6f3; font-family:'Inter Tight',Arial,sans-serif; font-size:15px; font-weight:700; letter-spacing:.2em; line-height:1; font-feature-settings:'ss01' 1; }
.brand > * { display:none!important; }
.site-footer .brand::before,.inner-header .brand::before { background-image:url('/public/turin-emblem.png'); }
.site-footer .brand::after,.inner-header .brand::after { color:#f5f6f3; }
.brand-light::before { background-image:url('/public/turin-emblem.png'); }
.brand-light::after { color:var(--ink); }
.inner-page { background:#edf0ef; color:var(--ink); }
.inner-page .inner-header { background:#07131f; color:#f5f6f3; }
.inner-page .site-footer { background:#07131f; color:#f5f6f3; }

/* Deep visa catalogue */
.visa-country-hero { background:linear-gradient(108deg,rgba(7,19,31,.9) 0%,rgba(9,35,48,.55) 100%),var(--visa-photo) center/cover; }
.visa-hero-meta { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 31px; }
.visa-hero-meta span { min-width:145px; padding:12px 14px; border:1px solid rgba(245,246,243,.28); color:rgba(245,246,243,.7); font-size:10px; line-height:1.35; letter-spacing:.06em; text-transform:uppercase; }
.visa-hero-meta b { display:block; margin-bottom:4px; color:#f5f6f3; font-size:17px; letter-spacing:-.02em; }
.visa-overview { display:grid; grid-template-columns:1fr 1fr; gap:14%; padding:108px 0 104px; }
.visa-overview-main h2,.visa-pricing h2,.visa-info-panel h2,.visa-process h2 { margin:25px 0 22px; font-size:clamp(43px,5vw,70px); line-height:.96; letter-spacing:-.05em; text-transform:uppercase; }
.visa-overview-main h2 em,.visa-pricing h2 em,.visa-info-panel h2 em,.visa-process h2 em { color:var(--coral); font-style:normal; }
.visa-overview-main > p:not(.eyebrow):not(.visa-note) { max-width:440px; margin:0; font-size:18px; line-height:1.55; }
.visa-note { max-width:520px; margin-top:28px; padding:17px 18px; border-left:3px solid var(--coral); background:#e5e9e8; color:rgba(16,35,51,.72); font-size:12px; line-height:1.6; }
.visa-steps-mini { align-self:end; border-top:1px solid rgba(16,35,51,.2); }
.visa-steps-mini div { display:flex; align-items:center; gap:22px; padding:21px 0; border-bottom:1px solid rgba(16,35,51,.2); }
.visa-steps-mini b { color:var(--coral); font-size:10px; letter-spacing:.13em; }.visa-steps-mini span { font-size:18px; font-weight:700; text-transform:uppercase; letter-spacing:-.03em; }
.visa-pricing { padding:78px 0 116px; border-top:1px solid rgba(16,35,51,.16); }
.visa-price-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.visa-price-card { min-height:170px; padding:20px; background:#e1e6e5; border:1px solid rgba(16,35,51,.12); display:flex; flex-direction:column; }
.visa-price-card:nth-child(3),.visa-price-card:nth-child(5) { background:#dce4e4; }.visa-price-card span { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; opacity:.7; }.visa-price-card strong { margin-top:auto; color:var(--ink); font-size:25px; letter-spacing:-.04em; }.visa-price-card small { margin-top:8px; font-size:10px; line-height:1.35; opacity:.58; }.visa-price-featured { background:var(--coral)!important; }.visa-price-featured strong { color:var(--ink-deep); }
.visa-info-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:12px; padding-bottom:122px; }
.visa-info-panel { padding:42px 42px 46px; background:#102333; color:#f5f6f3; }.visa-info-panel:nth-child(2) { background:#dce4e4; color:var(--ink); }.visa-info-panel .eyebrow { opacity:.72; }.visa-info-panel h2 { font-size:clamp(37px,4vw,58px); }.visa-info-panel h2 em { color:var(--coral); }.visa-check-list,.visa-doc-list { padding:0; margin:34px 0 0; list-style:none; }.visa-check-list li,.visa-doc-list li { display:flex; gap:15px; padding:14px 0; border-top:1px solid rgba(245,246,243,.2); font-size:12px; line-height:1.45; }.visa-doc-list li { border-color:rgba(16,35,51,.16); }.visa-check-list li span { color:var(--coral); font-size:10px; font-weight:700; }.visa-doc-list li::before { content:'✓'; color:var(--coral); font-weight:700; }
.visa-process { padding:0 0 120px; }
.visa-process-short { padding:0 0 80px; }
.visa-process-short .visa-consult { margin-top:0; }.visa-timeline { display:grid; grid-template-columns:repeat(5,1fr); gap:0; border-top:1px solid rgba(16,35,51,.2); }.visa-timeline-7 { grid-template-columns:repeat(4,1fr); }.visa-timeline-7 > div:nth-child(4) { border-right:0; }.visa-timeline-7 > div:nth-child(n+5) { border-top:1px solid rgba(16,35,51,.2); }.visa-timeline > div { min-height:210px; padding:22px 20px 20px 0; border-right:1px solid rgba(16,35,51,.2); }.visa-timeline > div+div { padding-left:20px; }.visa-timeline > div:last-child { border-right:0; }.visa-timeline b { color:var(--coral); font-size:11px; letter-spacing:.12em; }.visa-timeline strong { display:block; margin-top:55px; font-size:17px; text-transform:uppercase; letter-spacing:-.02em; }.visa-timeline p { margin:11px 15px 0 0; color:rgba(16,35,51,.65); font-size:11px; line-height:1.5; }.visa-consult { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-top:42px; padding:36px; background:#102333; color:#f5f6f3; }.visa-consult h3 { margin:12px 0 12px; font-size:clamp(28px,3.6vw,46px); line-height:.95; letter-spacing:-.05em; text-transform:uppercase; }.visa-consult h3 em { color:var(--coral); font-style:normal; }.visa-consult p { max-width:460px; margin:0; color:rgba(245,246,243,.72); font-size:14px; line-height:1.55; }
@media (max-width:800px) { .visa-overview,.visa-info-grid { display:block; padding:78px 0; }.visa-steps-mini { margin-top:48px; }.visa-price-grid { grid-template-columns:1fr 1fr; }.visa-price-card { min-height:145px; }.visa-info-panel { padding:28px 22px 32px; }.visa-info-panel+ .visa-info-panel { margin-top:10px; }.visa-timeline { grid-template-columns:1fr; }.visa-timeline > div,.visa-timeline > div+div { min-height:0; padding:19px 0; border-right:0; border-bottom:1px solid rgba(16,35,51,.2); }.visa-timeline strong { margin-top:25px; }.visa-timeline p { margin-right:0; }.visa-process { padding-bottom:80px; } }
@media (max-width:430px) { .visa-price-grid { grid-template-columns:1fr; }.visa-hero-meta { display:grid; grid-template-columns:1fr 1fr; }.visa-hero-meta span { min-width:0; }.visa-hero-meta span:last-child { grid-column:span 2; } }

/* Infoflot cruise search */
.infoflot-section { padding:76px 0 120px; border-top:1px solid rgba(16,35,51,.16); }
.infoflot-widget { padding:32px; background:var(--paper); color:var(--ink); border:1px solid var(--line); }
.infoflot-filters { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:end; }
.infoflot-filters label { display:block; color:rgba(18,23,28,.62); font-size:13px; font-weight:700; letter-spacing:.04em; }
.infoflot-filters input,.infoflot-filters select { display:block; width:100%; margin-top:8px; padding:12px 0; border:0; border-bottom:1px solid rgba(18,23,28,.22); background:transparent; color:var(--ink); font-size:16px; outline:0; }
.infoflot-filters option { color:var(--ink); }.infoflot-filters .button { width:100%; min-width:0; margin-top:5px; }
.infoflot-empty { min-height:190px; margin-top:25px; padding:32px; border:1px dashed rgba(18,23,28,.22); display:flex; flex-direction:column; justify-content:center; }
.infoflot-empty[hidden],
.cruise-results[hidden],
.infoflot-filters[hidden],
.section-heading[hidden],
.cruise-detail[hidden] { display:none !important; }.infoflot-empty span { color:var(--coral); font-size:13px; font-weight:700; letter-spacing:.12em; }.infoflot-empty strong { margin-top:15px; font-size:28px; letter-spacing:-.04em; }.infoflot-empty small { max-width:520px; margin-top:10px; color:rgba(18,23,28,.62); font-size:16px; line-height:1.5; }.infoflot-message { margin-top:20px; padding:16px; font-size:15px; }.infoflot-error { background:rgba(217,134,114,.18); color:#8a3f2c; }
.infoflot-widget.infoflot-embed { overflow:visible; }
.cruise-result { display:grid; grid-template-columns:200px minmax(0,1fr) auto; align-items:stretch; gap:0 18px; padding:0; background:#fff; color:var(--ink); min-width:0; text-decoration:none; overflow:hidden; border:1px solid var(--line); }
.cruise-result-photo { width:200px; height:100%; min-height:168px; object-fit:cover; background:#d5ddd9; }
.cruise-result-photo.is-empty { display:flex; align-items:center; justify-content:center; color:rgba(16,35,51,.4); font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
.cruise-result-body { padding:20px 8px 20px 4px; min-width:0; }
.cruise-result-ship { display:block; color:rgba(16,35,51,.62); font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.cruise-result-date { color:var(--coral); font-size:14px; font-weight:700; letter-spacing:.04em; }
.cruise-result h3 { margin:8px 0 8px; font-size:24px; letter-spacing:-.04em; overflow-wrap:anywhere; }
.cruise-result p { margin:8px 0 0; color:rgba(16,35,51,.72); font-size:15px; line-height:1.45; overflow-wrap:anywhere; }
.cruise-result-price { min-width:160px; padding:20px 22px 20px 0; text-align:right; align-self:center; }
.cruise-result-price strong,.cruise-result-price small { display:block; }
.cruise-result-price strong { font-size:22px; }
.cruise-result-price small { margin-top:7px; color:rgba(16,35,51,.55); font-size:13px; }
.cruise-detail { margin-top:8px; }
.cruise-detail[hidden] { display:none !important; }
.cruise-back { display:inline-block; margin-bottom:16px; color:var(--ink); font-size:15px; letter-spacing:.02em; text-decoration:none; }
.cruise-detail-card { background:#fff; color:var(--ink); overflow:hidden; border:1px solid var(--line); }
.cruise-detail-photo { display:block; width:100%; height:180px; object-fit:cover; background:#d5ddd9; }
.cruise-detail-photo.is-empty { height:80px; display:flex; align-items:center; justify-content:center; color:rgba(16,35,51,.4); font-size:14px; letter-spacing:.06em; text-transform:uppercase; }
.cruise-detail-body { padding:28px 32px 32px; }
.cruise-detail-body h2 { margin:8px 0 10px; font-size:clamp(28px,3.6vw,40px); letter-spacing:-.05em; }
.cruise-lead { max-width:640px; margin:16px 0 0; font-family:'Newsreader',Georgia,serif; font-size:20px; font-weight:400; line-height:1.45; color:rgba(16,35,51,.78); }
.cruise-include-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.cruise-include-chips span { padding:7px 10px; background:rgba(16,35,51,.06); font-size:12px; line-height:1.35; }
.cruise-thumbs { display:flex; gap:6px; overflow-x:auto; margin:0 0 22px; padding-bottom:2px; }
.cruise-thumb { width:112px; height:80px; object-fit:cover; flex:0 0 auto; background:#d5ddd9; cursor:zoom-in; }
.cruise-thumb.is-empty { display:flex; align-items:center; justify-content:center; color:rgba(16,35,51,.4); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.cruise-program { margin-top:40px; padding-top:28px; border-top:1px solid var(--line); }
.cruise-program-head { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:8px; }
.cruise-program-head h3 { margin:0; }
.cruise-program-all { border:0; background:transparent; color:var(--coral); padding:0; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.cruise-days { margin:0; padding:0; list-style:none; }
.cruise-day { border-top:1px solid rgba(16,35,51,.12); }
.cruise-day-head { width:100%; display:grid; grid-template-columns:44px minmax(0,1fr); gap:2px 12px; padding:14px 0; border:0; background:transparent; text-align:left; cursor:pointer; color:inherit; }
.cruise-day-head b { padding-top:4px; color:var(--coral); font-size:12px; letter-spacing:.1em; }
.cruise-day-title { min-width:0; }
.cruise-day-title strong { display:block; font-size:18px; letter-spacing:-.03em; }
.cruise-day-when { display:block; margin-top:4px; color:var(--coral); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.cruise-day-title em { display:block; margin-top:6px; font-style:normal; color:rgba(16,35,51,.6); font-size:14px; line-height:1.45; }
.cruise-day-title small { display:block; margin-top:6px; color:rgba(16,35,51,.48); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.cruise-day-body { display:none; padding:0 0 18px 56px; }
.cruise-day.is-open .cruise-day-body { display:block; }
.cruise-day-lead { max-width:720px; margin:0 0 12px; font-size:15px; line-height:1.6; color:rgba(16,35,51,.78); }
.cruise-day-option { margin:0 0 12px; padding:14px 16px; background:#f6f4ef; }
.cruise-day-option-top { display:flex; justify-content:space-between; gap:12px; align-items:baseline; }
.cruise-day-option span { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--coral); }
.cruise-day-option small { color:rgba(16,35,51,.55); font-size:12px; }
.cruise-day-option p { margin:8px 0 0; font-size:14px; line-height:1.65; color:rgba(16,35,51,.78); }
.cruise-detail-body h3 { margin:28px 0 10px; font-size:18px; letter-spacing:.04em; }
.cruise-detail-route { max-width:640px; margin:10px 0 0; color:rgba(16,35,51,.78); font-size:16px; line-height:1.65; }
.cruise-detail-price { margin-top:18px; text-align:left; padding:0; }
.cruise-detail-body .button { margin-top:28px; }
.cruise-timetable { margin:12px 0 0; padding:0; list-style:none; }
.cruise-timetable li { padding:12px 0; border-top:1px solid rgba(16,35,51,.12); }
.cruise-timetable b { display:block; font-size:14px; }
.cruise-timetable span { color:var(--coral); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.cruise-timetable p { margin:6px 0 0; font-size:12px; }
.cruise-results { display:grid; gap:10px; margin-top:16px; }
.cruise-chip-row { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; grid-column:1 / -1; }
.cruise-chip-row[hidden], .cruise-meta[hidden] { display:none !important; }
.cruise-chip { border:1px solid rgba(18,23,28,.12); background:transparent; color:var(--ink); padding:8px 13px; font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; }
.cruise-chip.is-on { background:var(--ink); color:var(--paper); }
.cruise-filters-extra { grid-column:1 / -1; display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.cruise-meta { display:flex; justify-content:space-between; gap:16px; align-items:end; margin:18px 0 8px; color:rgba(18,23,28,.62); font-size:14px; }
.cruise-meta strong { color:var(--ink); font-size:18px; letter-spacing:-.03em; }
.cruise-result { position:relative; }
.cruise-result-top { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; }
.cruise-result-city { color:rgba(16,35,51,.5); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.cruise-result-flags { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.cruise-result-flags span, .cruise-flag, .cruise-badges span { padding:4px 8px; background:rgba(16,35,51,.08); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.cruise-flag { background:rgba(154,123,79,.16); color:#7a5e38; }
.cruise-badges, .cruise-sales { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.cruise-sales span { padding:6px 10px; background:rgba(154,123,79,.12); color:#7a5e38; font-size:11px; }
.cruise-include, .cabin-services { margin:10px 0 0; padding:0; list-style:none; }
.cruise-include li, .cabin-services li { position:relative; padding:8px 0 8px 16px; font-size:15px; line-height:1.55; color:rgba(16,35,51,.78); }
.cruise-include li:before, .cabin-services li:before { content:""; position:absolute; left:0; top:16px; width:7px; height:1px; background:var(--coral); }
.cruise-gallery { display:flex; gap:6px; overflow-x:auto; }
.cruise-gallery-photo:first-child { grid-row:auto; }
.cruise-gallery-photo { width:112px; height:80px; object-fit:cover; background:#d5ddd9; flex:0 0 auto; }
.cabin-board { margin-top:28px; padding-top:8px; }
.cabin-head { display:flex; justify-content:space-between; gap:12px; align-items:end; margin-bottom:16px; }
.cabin-head h3 { margin:0; }
.cabin-head span { color:var(--coral); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.cabin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cabin-cat { display:flex; flex-direction:column; background:#fff; border:1px solid rgba(16,35,51,.1); cursor:pointer; overflow:hidden; transition:transform .2s, box-shadow .2s, border-color .2s; }
.cabin-cat:hover, .cabin-cat.is-on { transform:translateY(-3px); border-color:var(--coral); box-shadow:0 14px 28px rgba(16,35,51,.1); }
.cabin-cat-photo { width:100%; height:220px; object-fit:cover; background:#d5ddd9; cursor:zoom-in; }
.cabin-cat-body { padding:16px 16px 18px; }
.cabin-cat-group { display:block; color:rgba(16,35,51,.5); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.cabin-cat h4 { margin:6px 0 8px; font-size:20px; letter-spacing:-.04em; text-transform:uppercase; }
.cabin-cat p { margin:0; color:rgba(16,35,51,.65); font-size:12px; line-height:1.5; }
.cabin-cat-facts { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.cabin-cat-facts b, .cabin-cat-facts span, .cabin-sale { padding:4px 8px; background:rgba(16,35,51,.07); font-size:10px; letter-spacing:.05em; text-transform:uppercase; }
.cabin-sale { background:rgba(225,123,89,.16); color:#b2563a; }
.cabin-cat-price { display:flex; align-items:baseline; gap:10px; margin-top:14px; }
.cabin-cat-price strong { font-size:20px; }
.cabin-cat-price s { color:rgba(16,35,51,.4); font-size:13px; }
.cabin-nums { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.cabin-num { min-width:46px; padding:8px 10px; border:1px solid rgba(16,35,51,.16); background:#f7f8f6; color:var(--ink); font-size:11px; font-weight:700; cursor:pointer; }
.cabin-num.is-on { background:#102333; color:#f5f6f3; border-color:#102333; }
.cabin-num.is-request { opacity:.7; }
.cabin-loading { color:rgba(16,35,51,.6); }
.cabin-bar { position:sticky; bottom:0; z-index:4; display:flex; justify-content:space-between; gap:16px; align-items:center; margin-top:22px; padding:16px 18px; background:#0b1a24; color:#f5f6f3; }
.cabin-bar-copy span { display:block; color:rgba(245,246,243,.62); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.cabin-bar-copy strong { display:block; margin-top:6px; font-size:18px; letter-spacing:-.03em; }
.cabin-bar .button { min-width:180px; margin-top:0; }
.cabin-photos { display:flex; gap:6px; overflow-x:auto; margin-top:12px; }
.cabin-photo { width:72px; height:52px; object-fit:cover; flex:0 0 auto; background:#d5ddd9; cursor:zoom-in; }
.cabin-photo.is-empty { display:flex; align-items:center; justify-content:center; color:rgba(16,35,51,.4); font-size:9px; }
.cruise-decks { margin:0 0 22px; }
.cruise-decks-head { display:flex; justify-content:space-between; gap:12px; align-items:end; margin-bottom:10px; }
.cruise-decks-head h3 { margin:0; }
.cruise-decks-head span { color:rgba(16,35,51,.55); font-size:12px; }
.cruise-deck-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.cruise-deck-tab { border:1px solid rgba(16,35,51,.16); background:#f7f8f6; color:var(--ink); padding:7px 10px; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; }
.cruise-deck-tab.is-on { background:#102333; color:#f5f6f3; border-color:#102333; }
.cruise-deck-frame { position:relative; overflow:visible; background:#fff; border:1px solid rgba(16,35,51,.1); }
.cruise-deck-frame svg { display:block; width:100%; height:auto; max-width:100%; }
.cruise-deck-img { display:block; width:100%; height:auto; }
.cruise-deck-frame .is-cabin { cursor:pointer; }
.cruise-deck-frame svg rect.is-cabin,
.cruise-deck-frame svg path.is-cabin,
.cruise-deck-frame svg polygon.is-cabin,
.cruise-deck-frame svg circle.is-cabin {
  fill:rgba(154,123,79,.18);
  stroke:#9a7b4f;
  stroke-width:1.2;
  vector-effect:non-scaling-stroke;
}
.cruise-deck-frame svg .is-cabin.is-picked,
.cruise-deck-frame svg rect.is-cabin.is-picked,
.cruise-deck-frame svg path.is-cabin.is-picked {
  fill:rgba(154,123,79,.42);
  stroke:#12171c;
}
.cruise-deck-tip {
  position:absolute;
  z-index:3;
  transform:translate(-50%, calc(-100% - 10px));
  padding:8px 12px;
  background:#12171c;
  color:#f6f4ef;
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
  pointer-events:none;
  box-shadow:0 10px 24px rgba(16,35,51,.22);
}
@media (max-width:800px) {
  .infoflot-filters { grid-template-columns:1fr; }
  .cruise-chip-row { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:4px; }
  .cruise-chip, .cabin-num { min-height:44px; }
  .cabin-num { min-width:48px; font-size:13px; }
  .cabin-cat-photo { height:180px; }
  .cabin-bar { padding-bottom:calc(16px + env(safe-area-inset-bottom, 0px)); }
  .cruise-decks-head { flex-direction:column; align-items:start; }
  .cruise-deck-tip { white-space:normal; max-width:min(240px, calc(100% - 16px)); }
  .infoflot-empty .button { margin-top:16px; }
}
.cruise-book { margin-top:18px; padding:20px 18px; background:#f6f4ef; }
.cruise-book h3 { margin:0 0 6px; }
.cruise-book > p { margin:0 0 16px; color:rgba(16,35,51,.65); font-size:13px; line-height:1.5; }
.cruise-book-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.cruise-book label { display:block; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.cruise-book input, .cruise-book textarea { display:block; width:100%; margin-top:6px; padding:10px 0; border:0; border-bottom:1px solid rgba(16,35,51,.28); background:transparent; color:var(--ink); font-size:15px; }
.cruise-book .cruise-book-span { grid-column:1 / -1; }
.cruise-book .button { margin-top:18px; }
.cruise-book .lead-status { margin-top:12px; font-size:13px; }
.cruise-book .lead-status.is-error { color:#b2563a; }
.cruise-check { position:fixed; inset:0; z-index:60; display:flex; align-items:flex-end; justify-content:center; background:rgba(11,26,36,.72); padding:18px 18px 0; }
.cruise-check-card { width:min(760px,100%); max-height:min(92vh,900px); overflow:auto; background:#f5f6f3; color:var(--ink); padding:22px 22px 28px; }
.cruise-check-top { display:flex; justify-content:space-between; gap:16px; align-items:start; margin-bottom:16px; }
.cruise-check-top h3 { margin:0; font-size:28px; letter-spacing:-.04em; }
.cruise-check-top p { margin:6px 0 0; color:rgba(16,35,51,.62); font-size:14px; line-height:1.45; }
.cruise-check-x { border:0; background:transparent; color:var(--ink); font-size:12px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.cruise-check-sum { display:flex; justify-content:space-between; gap:12px; align-items:end; margin:0 0 18px; padding:14px 0; border-top:1px solid rgba(16,35,51,.1); border-bottom:1px solid rgba(16,35,51,.1); }
.cruise-check-sum span { color:rgba(16,35,51,.55); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.cruise-check-sum strong { font-size:26px; letter-spacing:-.04em; }
.cruise-check-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cruise-check label { display:block; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.cruise-check input, .cruise-check textarea { display:block; width:100%; margin-top:6px; padding:10px 0; border:0; border-bottom:1px solid rgba(16,35,51,.28); background:transparent; color:var(--ink); font-size:15px; }
.cruise-guest { margin:18px 0; padding-top:8px; }
.cruise-guest h4 { margin:0 0 12px; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.cruise-pay-methods { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin:12px 0 18px; }
.cruise-pay-method { border:1px solid rgba(16,35,51,.16); background:#fff; padding:16px; text-align:left; cursor:pointer; }
.cruise-pay-method.is-on { border-color:var(--coral); box-shadow:0 0 0 1px var(--coral); }
.cruise-pay-method b { display:block; font-size:16px; }
.cruise-pay-method span { display:block; margin-top:6px; color:rgba(16,35,51,.55); font-size:12px; }
.cruise-qr { display:grid; grid-template-columns:220px minmax(0,1fr); gap:18px; align-items:start; margin:8px 0 16px; }
.cruise-qr-frame { width:220px; height:220px; background:#fff; border:1px solid rgba(18,23,28,.12); }
.cruise-qr-frame svg { display:block; width:220px; height:220px; }
.cruise-reqs { margin:0; display:grid; grid-template-columns:88px minmax(0,1fr); gap:6px 10px; }
.cruise-reqs dt { color:rgba(18,23,28,.5); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.cruise-reqs dd { margin:0; font-size:14px; overflow-wrap:anywhere; }
.cruise-qr-copy { display:block; width:100%; margin:0 0 10px; border:1px solid rgba(18,23,28,.16); background:#fff; padding:12px; cursor:pointer; font-size:13px; }
.cruise-check .button { width:100%; margin-top:8px; }
.cruise-check .lead-status { margin-top:12px; font-size:13px; }
.cruise-check .lead-status.is-error { color:#b2563a; }
.cruise-check-ok { padding:12px 0 8px; }
.cruise-check-ok strong { display:block; margin:8px 0 12px; font-size:22px; letter-spacing:-.03em; }
@media (max-width:800px) {
  .cruise-check { padding:0; }
  .cruise-check-card { max-height:100vh; padding:18px 16px 24px; }
  .cruise-check-grid, .cruise-pay-methods, .cruise-qr { grid-template-columns:1fr; }
}
.cruise-photo-zoom { position:fixed; inset:0; z-index:50; display:flex; align-items:center; justify-content:center; background:rgba(11,26,36,.92); padding:56px 72px 48px; }
.cruise-photo-zoom img { max-width:min(1100px,100%); max-height:82vh; object-fit:contain; cursor:pointer; }
.cruise-photo-nav { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border:0; background:rgba(245,246,243,.12); color:#f5f6f3; font-size:32px; line-height:1; cursor:pointer; }
.cruise-photo-nav.is-prev { left:16px; }
.cruise-photo-nav.is-next { right:16px; }
.cruise-photo-count { position:absolute; bottom:18px; left:50%; transform:translateX(-50%); color:rgba(245,246,243,.8); font-size:13px; letter-spacing:.08em; }
.cruise-photo-close { position:absolute; top:18px; right:18px; border:0; background:transparent; color:#f5f6f3; font-size:12px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
@media (max-width:800px) { .cruise-photo-zoom { padding:56px 18px 48px; }.cruise-photo-nav { width:40px; height:40px; } }
@media (max-width:800px) { .infoflot-section { padding:70px 0 85px; }.infoflot-filters { grid-template-columns:1fr 1fr; }.cruise-filters-extra { grid-template-columns:1fr 1fr; }.cruise-result { grid-template-columns:1fr; }.cruise-result-photo { width:100%; height:180px; min-height:180px; }.cruise-result-body { padding:16px 16px 0; }.cruise-result-price { margin:0; padding:12px 16px 18px; text-align:left; }.cruise-detail-photo { height:140px; }.cruise-detail-body { padding:20px 16px 24px; }.cruise-gallery { grid-template-columns:1fr 1fr; grid-template-rows:80px; }.cruise-gallery-photo:first-child { grid-row:auto; }.cruise-day-body { padding-left:0; }.cruise-day-head { grid-template-columns:36px minmax(0,1fr); }.cabin-grid { grid-template-columns:1fr; }.cabin-bar { flex-direction:column; align-items:stretch; }.cruise-book-grid { grid-template-columns:1fr; } }
@media (max-width:430px) { .infoflot-widget { padding:18px; }.infoflot-filters { grid-template-columns:1fr; } }
@media (max-width:800px) { .mice-programs { padding:0 0 80px; }.mice-program-grid { grid-template-columns:1fr; }.mice-program-grid article { min-height:210px; }.mice-process { grid-template-columns:1fr 1fr; }.mice-process div:nth-child(2) { border-right:0; }.mice-process div:nth-child(3),.mice-process div:nth-child(4) { border-top:1px solid rgba(16,35,51,.2); }.mice-nutrition { display:block; padding:24px; }.mice-nutrition h3 { margin:20px 0; }.own-excursion-grid { grid-template-columns:1fr; }.own-excursion-card,.own-excursion-copy { min-height:260px; }.own-excursion-copy { padding:22px 18px; }.excursion-programs { padding-bottom:80px; }.excursion-program-grid { grid-template-columns:1fr; }.excursion-program-grid a { min-height:210px; }.excursion-service-line { display:block; }.excursion-service-line .button { margin-top:24px; }.assistant-widget { right:18px; bottom:18px; }.assistant-toggle { padding:12px 14px; }.assistant-panel { padding:20px; } }

/* Compact trust blocks: the message stays, the page breathes. */
.about-image { background-image:linear-gradient(155deg,rgba(7,29,45,.08),rgba(7,26,41,.3)),url('https://images.unsplash.com/photo-1667400867371-0c8e0a6687a5?auto=format&fit=crop&w=1000&q=88'); }
.about { padding-top:34px; padding-bottom:84px; gap:5%; }
.about-image-wrap { height:390px; }
.about-copy { padding-right:4%; }
.about h2 { font-size:clamp(38px,4.7vw,60px); }
.about-copy > p:not(.eyebrow) { margin-bottom:24px; }
.quote-section { padding-bottom:86px; text-align:center; }
.quote-section .quote-mark { margin-inline:auto; }
.quote-section blockquote { margin-left:auto; margin-right:auto; }
.quote-section .quote-author { justify-content:center; }
.quote-mark { font-size:72px; }
.quote-section blockquote { max-width:820px; margin:12px 0 22px; font-size:clamp(25px,3.2vw,42px); line-height:1.08; }

@media (max-width:800px) { .about { padding-top:18px; padding-bottom:70px; }.about-image-wrap { height:330px; }.quote-section { padding-bottom:65px; }.quote-mark { font-size:64px; }.quote-section blockquote { font-size:30px; } }

.visa-hero-process { max-width:640px; margin:0 0 22px; color:rgba(245,246,243,.82); font-size:14px; line-height:1.6; }
.visa-hero-includes { display:flex; flex-wrap:wrap; gap:8px; max-width:720px; margin:0 0 28px; padding:0; list-style:none; }
.visa-hero-includes li { padding:8px 12px; border:1px solid rgba(245,246,243,.22); color:rgba(245,246,243,.88); font-size:11px; letter-spacing:.02em; }
.visa-country-hero { padding-bottom:88px; }

.book-tour { padding:20px 0 70px; }
.book-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.book-steps article { min-height:250px; padding:24px; background:#fbfcfa; border:1px solid rgba(16,35,51,.14); }
.book-steps-full article { min-height:320px; }
.book-steps ul { margin:12px 0 0; padding:0 0 0 16px; font-size:12px; line-height:1.5; }
.book-steps li { margin:6px 0; }
.tour-extra { padding:10px 0 110px; }
.tour-extra-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:stretch; }
.tour-extra-wide { max-width:none; }
.tour-extra-card { padding:32px; background:#102333; color:#f5f6f3; }
.tour-extra-insurance { background:#e8eceb; color:var(--ink); }
.tour-extra-stack { display:grid; grid-template-rows:1fr 1fr; gap:12px; min-height:100%; }
.tour-extra-panel {
  display:flex;
  flex-direction:column;
  padding:26px 28px;
  background:#e8eceb;
  color:var(--ink);
  text-decoration:none;
}
.tour-extra-panel h3 {
  margin:12px 0 10px;
  font-family:'Newsreader',Georgia,serif;
  font-size:clamp(26px,2.6vw,34px);
  font-weight:500;
  letter-spacing:-.04em;
  line-height:.95;
  text-transform:uppercase;
}
.tour-extra-panel h3 em { color:#9a7b4f; font-style:normal; }
.tour-extra-panel p { margin:0 0 auto; max-width:34em; font-size:14px; line-height:1.55; color:rgba(16,35,51,.7); }
.tour-extra-panel span { display:inline-block; margin-top:16px; color:#9a7b4f; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.tour-extra-panel:hover span { border-bottom:1px solid rgba(154,123,79,.45); }
.tour-extra-panel-visa { background:#ece7df; }
.insurance-price { display:flex; align-items:baseline; gap:12px; margin:0 0 22px !important; }
.insurance-price strong { font-family:'Newsreader',Georgia,serif; font-size:42px; font-weight:500; letter-spacing:-.04em; color:#12171c; }
.insurance-price span { color:rgba(16,35,51,.62); font-size:14px; }
.insurance-calc { display:grid; grid-template-columns:1.4fr .8fr .8fr; gap:12px; margin:0 0 18px; }
.insurance-calc[data-kind="nevyezd"] { grid-template-columns:1.1fr .55fr .55fr 1.3fr; }
.insurance-calc-break { margin:-8px 0 18px; color:rgba(18,23,28,.58); font-size:14px; line-height:1.45; }
.insurance-calc label { display:block; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(16,35,51,.62); }
.insurance-calc input,.insurance-calc select { display:block; width:100%; margin-top:8px; padding:10px 8px; border:1px solid rgba(16,35,51,.16); background:#fff; color:#12171c; font-size:16px; letter-spacing:0; text-transform:none; }
.insurance-order { margin-top:12px; padding:32px; background:#fff; border:1px solid rgba(16,35,51,.12); }
.insurance-order h3 { margin:12px 0 0; font-size:clamp(28px,3vw,40px); letter-spacing:-.04em; text-transform:uppercase; }
.insurance-order .contact-form { padding-top:18px; max-width:760px; }
.insurance-tourists { display:grid; gap:16px; margin:8px 0 20px; }
.insurance-tourist { margin:0; padding:18px 18px 4px; border:1px solid rgba(16,35,51,.12); background:#fbfcfa; }
.insurance-tourist legend { padding:0 8px; color:#9a7b4f; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.insurance-tourist label { margin-bottom:16px; }
.insurance-order-total { margin:0 0 18px; font-size:15px; color:rgba(18,23,28,.72); }
@media (max-width:800px) {
  .insurance-calc,
  .insurance-calc[data-kind="nevyezd"] { grid-template-columns:1fr 1fr; }
  .insurance-calc label:first-child,
  .insurance-calc[data-kind="nevyezd"] label:last-child { grid-column:1/-1; }
}
.tour-extra-insurance a { color:#9a7b4f; border-bottom:1px solid rgba(154,123,79,.4); }
.insurance-types { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:40px 0 20px; }
.insurance-type-card { display:flex; flex-direction:column; min-height:280px; padding:28px; background:#fff; border:1px solid rgba(16,35,51,.12); color:inherit; }
.insurance-type-card small { color:#9a7b4f; font-size:11px; letter-spacing:.12em; }
.insurance-type-card h3 { margin:16px 0 12px; font-size:28px; letter-spacing:-.04em; text-transform:uppercase; }
.insurance-type-card p { margin:0 0 auto; font-size:15px; line-height:1.5; color:rgba(18,23,28,.72); }
.insurance-type-card b { display:block; margin:22px 0 8px; font-size:16px; }
.insurance-type-card span { color:#9a7b4f; font-size:13px; }
.insurance-notice {
  margin:20px auto 0;
  padding:18px 22px;
  background:#efe4d0;
  font-size:16px;
  line-height:1.45;
}
.insurance-notice b { display:block; margin-bottom:6px; color:#9a7b4f; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.insurance-usp-list { margin:0; padding:0 0 0 18px; }
.insurance-usp-list li { margin:0 0 8px; }
.insurance-usp-list li:last-child { margin:0; }
.insurance-facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:28px 0; }
.insurance-facts article { padding:24px; background:#fff; border:1px solid rgba(16,35,51,.12); }
.insurance-facts b { display:block; margin-bottom:10px; font-size:18px; line-height:1.35; letter-spacing:-.03em; }
.insurance-facts span { color:rgba(18,23,28,.55); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.insurance-rules { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:10px 0 40px; }
.insurance-rule { padding:28px; background:#fff; border:1px solid rgba(16,35,51,.12); }
.insurance-rule h2 { margin:0 0 16px; font-size:24px; letter-spacing:-.04em; text-transform:uppercase; }
.insurance-rule ul { margin:0; padding:0 0 0 18px; }
.insurance-rule li { margin:0 0 10px; font-size:15px; line-height:1.5; color:rgba(18,23,28,.78); }
.insurance-steps { padding:20px 0 40px; }
.insurance-step-grid { display:grid; gap:10px; }
.insurance-step-grid div { display:grid; grid-template-columns:48px 1fr; gap:16px; padding:18px 22px; background:#fff; border:1px solid rgba(16,35,51,.12); }
.insurance-step-grid b { color:#9a7b4f; font-size:14px; }
.insurance-step-grid p { margin:0; font-size:15px; line-height:1.5; }
.insurance-extras-grid { padding:20px 0 50px; }
.insurance-extra-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.insurance-extra-cards article { padding:22px; background:#fff; border:1px solid rgba(16,35,51,.12); }
.insurance-extra-cards h3 { margin:0 0 10px; font-size:20px; letter-spacing:-.03em; text-transform:uppercase; }
.insurance-extra-cards p { margin:0 0 12px; font-size:14px; line-height:1.5; color:rgba(18,23,28,.72); }
.insurance-extra-cards small { color:#9a7b4f; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.insurance-extra-set { margin:0 0 22px; padding:16px 16px 4px; border:1px solid rgba(16,35,51,.12); }
.insurance-extra-set legend { padding:0 8px; color:#9a7b4f; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.insurance-check { display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:flex-start; margin-bottom:14px; font-size:13px; letter-spacing:0; text-transform:none; font-weight:400; }
.insurance-check b { display:block; margin-bottom:4px; }
@media (max-width:800px) {
  .insurance-types,.insurance-facts,.insurance-rules,.insurance-extra-cards { grid-template-columns:1fr; }
}
.tour-extra-card h2 { margin:18px 0 16px; font-size:clamp(32px,3.6vw,48px); line-height:.95; letter-spacing:-.05em; text-transform:uppercase; }
.tour-extra-card h2 em { color:var(--coral); font-style:normal; }
.tour-extra-card > p { max-width:460px; margin:0 0 24px; font-size:14px; line-height:1.6; }
.tour-extra-card > small { display:block; margin-top:16px; color:rgba(245,246,243,.55); font-size:11px; line-height:1.45; }
.tour-extra-insurance > p { color:rgba(16,35,51,.7); }
.tour-extra-actions { display:flex; flex-wrap:wrap; gap:10px; }
.insurance-slot { min-height:180px; padding:24px; border:1px dashed rgba(16,35,51,.28); display:flex; flex-direction:column; justify-content:center; }
.insurance-slot span { color:var(--coral); font-size:10px; font-weight:800; letter-spacing:.16em; }
.insurance-slot strong { margin-top:12px; font-size:22px; letter-spacing:-.04em; }
.insurance-slot small { margin-top:8px; color:rgba(16,35,51,.58); font-size:12px; }
.lead-honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.lead-cta { display:grid; grid-template-columns:minmax(240px,.9fr) minmax(280px,1.1fr); gap:28px 48px; align-items:start; }
.lead-cta .contact-form { padding-top:0; }
.contact-form textarea {
  display:block;
  width:100%;
  padding:12px 0;
  border:0;
  border-bottom:1px solid rgba(16,40,59,.35);
  border-radius:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
  resize:vertical;
}
.lead-status { margin-top:12px; font-size:13px; color:#9a7b4f; }
.lead-status.is-error { color:#8a3a2a; }
@media (max-width:800px) { .lead-cta { grid-template-columns:1fr; } }
.insurance-section { padding:28px 0 20px; }
.insurance-frame {
  background:#fff;
  padding:16px 18px 8px;
  min-height:220px;
  border:1px solid rgba(16,35,51,.1);
  overflow:hidden;
}
.insurance-fallback {
  margin:12px 4px 8px;
  color:rgba(18,23,28,.55);
  font-size:13px;
  line-height:1.45;
}
.insurance-frame:has(iframe) .insurance-fallback,
.insurance-frame:has(div[class]) .insurance-fallback { display:none; }
.insurance-frame iframe,
.insurance-frame > div,
.insurance-frame script + div {
  width:100% !important;
  max-width:100%;
}
.tour-extra-single { grid-template-columns:1fr; }
.book-steps article:nth-child(2) { background:#dce4e4; }
.book-steps article:nth-child(4) { background:#102333; color:#f5f6f3; }
.book-steps span { color:var(--coral); font-size:11px; font-weight:800; letter-spacing:.16em; }
.book-steps h3 { margin:42px 0 12px; font-size:22px; line-height:1.05; letter-spacing:-.04em; text-transform:uppercase; }
.book-steps p { margin:0; font-size:13px; line-height:1.55; }
.book-steps small { display:block; margin-top:14px; padding-top:12px; border-top:1px solid rgba(16,35,51,.16); font-size:11px; line-height:1.5; opacity:.75; }
.book-steps article:nth-child(4) small { border-color:rgba(245,246,243,.2); }

.mice-nav { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:28px 0 10px; }
.mice-nav a { min-height:180px; padding:22px; background:#fbfcfa; border:1px solid rgba(16,35,51,.14); color:var(--ink); transition:transform .2s, box-shadow .2s, background .2s; }
.mice-nav a:hover { transform:translateY(-4px); background:#d98672; box-shadow:0 16px 28px rgba(16,35,51,.12); }
.mice-nav span { color:var(--coral); font-size:11px; font-weight:800; letter-spacing:.16em; }
.mice-nav a:hover span { color:#07131f; }
.mice-nav h3 { margin:36px 0 10px; font-size:22px; line-height:1; letter-spacing:-.04em; text-transform:uppercase; }
.mice-nav p { margin:0; font-size:12px; line-height:1.45; opacity:.7; }
.mice-nav b { display:block; margin-top:22px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#9a7b4f; }
.mice-back { display:inline-flex; margin:0 0 28px; color:inherit; }
.mice-switch { display:flex; flex-wrap:wrap; align-items:center; gap:0; margin:0 0 28px; padding:0 0 16px; border-bottom:1px solid rgba(18,23,28,.1); }
.mice-switch a { padding:0 14px; border-left:1px solid rgba(18,23,28,.12); color:rgba(18,23,28,.48); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.mice-switch a:first-child { padding-left:0; border-left:0; }
.mice-switch a:hover { color:#9a7b4f; }
.mice-switch a.is-current { color:#12171c; }
.mice-chapter { padding:88px 0; }
.mice-chapter .button { margin-top:36px; }
.mice-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.mice-service-grid-4 { grid-template-columns:repeat(4,1fr); }
.mice-service-grid article { min-height:210px; padding:22px; background:#fbfcfa; border:1px solid rgba(16,35,51,.12); }
.mice-service-grid article span { color:var(--coral); font-size:10px; font-weight:800; letter-spacing:.16em; }
.mice-service-grid h3 { margin:28px 0 10px; font-size:20px; line-height:1.05; letter-spacing:-.03em; text-transform:uppercase; }
.mice-service-grid p { margin:0; font-size:13px; line-height:1.55; color:rgba(16,35,51,.72); }
.mice-sport { background:#07131f; color:#f5f6f3; }
.mice-sport .section-intro,.mice-sport .mice-service-grid p { color:rgba(245,246,243,.72); }
.mice-sport .mice-service-grid article { background:rgba(245,246,243,.05); border-color:rgba(245,246,243,.14); }
.mice-sport .section-heading h2,.mice-docs h3,.mice-kp h3,.sport-types h3 { color:#f5f6f3; }
.inner-hero.sport-hero {
  position:relative;
  overflow:hidden;
  min-height:520px;
  padding:128px 0 64px;
  background-color:#123040;
}
.sport-hero { background-image:url('/public/sports/hero.jpg') !important; background-size:cover !important; background-position:center 40% !important; }
.inner-hero.sport-hero .inner-shell { position:relative; z-index:2; }
.sport-roster { margin-top:72px; padding-top:40px; border-top:1px solid rgba(18,23,28,.12); }
.sport-roster-head { max-width:640px; }
.sport-roster h3 { margin:16px 0 16px; font-family:'Newsreader',Georgia,serif; font-size:clamp(34px,4.4vw,58px); font-weight:500; line-height:1.02; letter-spacing:-.03em; text-transform:none; color:#12171c; }
.sport-roster h3 em { color:#3d2f1c; font-style:italic; }
.sport-roster-head > p { max-width:520px; margin:0; color:rgba(18,23,28,.68); font-size:16px; line-height:1.55; }
.sport-photo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:32px; }
.sport-photo-grid article { position:relative; min-height:180px; overflow:hidden; color:#f6f4ef; }
.sport-photo-grid img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sport-photo-grid span { position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(10,10,10,.78)); }
.sport-photo-grid strong { position:absolute; left:14px; right:14px; bottom:14px; z-index:1; font-size:16px; font-weight:600; letter-spacing:-.02em; }
.conf-drop { min-height:0; padding:0; background:#fff; border:1px solid rgba(16,35,51,.12); }
.conf-drop summary { list-style:none; cursor:pointer; padding:24px; }
.conf-drop summary::-webkit-details-marker { display:none; }
.conf-drop summary h3 { margin:36px 0 0; font-size:24px; letter-spacing:-.04em; text-transform:uppercase; }
.conf-drop summary span { color:#9a7b4f; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.conf-drop summary::after { content:none; }
.conf-drop p { margin:0; padding:0 24px 24px; font-size:15px; line-height:1.6; color:rgba(18,23,28,.72); }
.conf-drop.conf-card-wide { grid-column:span 2; background:#171410; color:#f6f4ef; }
.conf-drop.conf-card-wide p { color:rgba(246,244,239,.78); }
.conf-drop.conf-card-wide summary span { color:#e8c99a; }
.mice-docs { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; margin-top:62px; padding:36px; background:#102333; }
.mice-docs h3 { margin:14px 0 16px; font-size:32px; letter-spacing:-.04em; text-transform:uppercase; }
.mice-docs p { margin:0; font-size:14px; line-height:1.65; color:rgba(245,246,243,.74); }
.mice-docs ul { margin:0; padding:0; list-style:none; }
.mice-docs li { padding:14px 0; border-top:1px solid rgba(245,246,243,.16); font-size:13px; }
.mice-docs li:first-child { border-top:0; }
.mice-kp { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-top:28px; padding:36px; background:#d98672; color:#07131f; }
.mice-kp h3 { margin:12px 0 12px; font-size:clamp(28px,3.5vw,46px); line-height:.95; letter-spacing:-.05em; text-transform:uppercase; }
.mice-kp h3 em { font-style:normal; }
.mice-kp p { max-width:420px; margin:0; font-size:14px; line-height:1.55; }
.mice-kp .button-primary { background:#07131f; color:#f5f6f3; }
.mice-schools { background:#e8eceb; }
.mice-conf { background:#f7f8f6; }
.conf-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.conf-card { min-height:220px; padding:24px; background:#fff; border:1px solid rgba(16,35,51,.12); }
.conf-card-wide { grid-column:span 2; background:#102333; color:#f5f6f3; }
.conf-card span { color:var(--coral); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.conf-card h3 { margin:36px 0 12px; font-size:24px; letter-spacing:-.04em; text-transform:uppercase; }
.conf-card p { margin:0; font-size:15px; line-height:1.6; color:rgba(16,35,51,.7); }
.conf-card-wide p { color:rgba(245,246,243,.72); }
.conf-flow { display:grid; grid-template-columns:repeat(4,1fr); margin-top:48px; border-top:1px solid rgba(16,35,51,.16); border-bottom:1px solid rgba(16,35,51,.16); }
.conf-flow div { padding:22px 18px 22px 0; border-right:1px solid rgba(16,35,51,.16); }
.conf-flow div:not(:first-child) { padding-left:18px; }
.conf-flow div:last-child { border-right:0; }
.conf-flow b { color:var(--coral); font-size:11px; letter-spacing:.12em; }
.conf-flow strong { display:block; margin:10px 0 8px; font-size:15px; text-transform:uppercase; letter-spacing:-.03em; }
.conf-flow p { margin:0; font-size:12px; line-height:1.5; color:rgba(16,35,51,.65); }
.mice-partners { background:#edf0ef; }
.partner-logos { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.partner-logo { min-height:92px; padding:14px; background:#fff; border:1px solid rgba(16,35,51,.1); display:grid; place-items:center; }
.partner-logo img { max-width:100%; max-height:58px; object-fit:contain; filter:grayscale(1); opacity:.85; }
.partner-case { display:block; margin-top:22px; padding:28px; background:#102333; color:#f5f6f3; }
.partner-case span { color:var(--coral); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.partner-case strong { display:block; margin:14px 0 10px; font-size:24px; letter-spacing:-.04em; }
.partner-case p { max-width:680px; margin:0; color:rgba(245,246,243,.7); font-size:13px; line-height:1.55; }
.partner-case b { display:inline-block; margin-top:18px; color:var(--coral); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }

@media (max-width:900px) {
  .mice-nav,.book-steps,.mice-service-grid,.mice-service-grid-4,.conf-grid,.sport-type-grid,.conf-flow { grid-template-columns:1fr 1fr; }
  .conf-card-wide { grid-column:span 2; }
  .mice-docs,.mice-kp { display:block; }
  .mice-docs ul { margin-top:22px; }
  .mice-kp .button { margin-top:22px; }
  .partner-logos { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:800px) { .visa-consult,.tour-extra-grid { display:block; }.visa-consult .button,.tour-extra-actions { margin-top:22px; }.visa-timeline-7 { grid-template-columns:1fr 1fr; } .tour-extra-stack { margin-top:12px; min-height:auto; } }
@media (max-width:560px) {
  .mice-nav,.book-steps,.mice-service-grid,.mice-service-grid-4,.conf-grid,.sport-type-grid,.conf-flow,.partner-logos { grid-template-columns:1fr; }
  .conf-card-wide { grid-column:auto; }
  .book-steps article,.mice-nav a { min-height:auto; }
  .visa-timeline-7 { grid-template-columns:1fr; }
}

/* Institutional visual system */
html { font-feature-settings:"ss01" 1,"cv11" 1; }
body,.button,input,select,textarea { font-family:'Inter Tight',Arial,sans-serif; }
body { background:#efece6; color:#12171c; -webkit-font-smoothing:antialiased; }
h1,h2,.section-heading h2,.inner-hero h1,.inner-copy h2,.inner-cta h2,.tourvisor-section h2,.contact-intro h2,.about h2,.visa-consult h3,.tour-extra-card h2,.mice-kp h3,.mice-docs h3,.sport-types h3 {
  font-family:'Newsreader',Georgia,serif;
  font-weight:500;
  letter-spacing:-.035em;
  text-transform:none;
}
h1 em,h2 em,.section-heading h2 em,.about h2 em,.contact-intro h2 em,.inner-copy h2 em,.tourvisor-section h2 em,.inner-cta h2 em,.visa-consult h3 em,.tour-extra-card h2 em,.mice-kp h3 em,.quote-section blockquote em {
  font-family:'Newsreader',Georgia,serif;
  font-style:italic;
  font-weight:500;
  color:#9a7b4f;
}
.eyebrow { font-family:'Inter Tight',Arial,sans-serif; font-weight:600; letter-spacing:.18em; font-size:10px; }
.desktop-nav,.header-phone,.button,.card-link,.text-link,.footer-nav,.footer-bottom {
  font-family:'Inter Tight',Arial,sans-serif;
}
.brand::after { font-family:'Inter Tight',Arial,sans-serif; color:#f4f2ed; letter-spacing:.18em; font-weight:600; }
.site-header,
.inner-header,
.inner-page .inner-header {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:88px;
  padding-left:max(40px, calc((100% - 1180px) / 2));
  padding-right:max(40px, calc((100% - 1180px) / 2));
  box-sizing:border-box;
  background:rgba(10,13,16,.46) !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  backdrop-filter:blur(10px);
  box-shadow:none;
}
.trust-strip { display:none !important; }
.hero-note,.note-star { display:none !important; }
.hero { align-items:end; }
.hero-stats { display:none !important; }
.hero .eyebrow span { display:none; }
.hero-advantages {
  grid-column:1/-1;
  margin-top:36px;
  padding:22px 22px 20px;
  background:rgba(8,10,12,.78);
  border-top:1px solid rgba(255,255,255,.92);
}
.hero-advantages > p {
  margin:0 0 16px;
  color:#fff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero-adv-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.hero-adv-two { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:720px; }
.hero-adv-grid article { color:#fff; }
.hero-adv-grid b { display:block; margin-bottom:8px; color:#e8c99a; font-size:11px; letter-spacing:.14em; }
.hero-adv-grid strong { display:block; margin-bottom:8px; color:#fff; font-size:16px; line-height:1.25; font-weight:600; letter-spacing:-.02em; }
.hero-adv-grid span { display:block; font-size:13px; line-height:1.45; color:rgba(255,255,255,.88); }
.hero-countries { margin-top:8px; }
.hero-countries summary { cursor:pointer; color:#e8c99a; font-size:12px; font-weight:600; letter-spacing:.04em; list-style:none; }
.hero-countries summary::-webkit-details-marker { display:none; }
.hero-countries summary::after { content:" →"; }
.hero-countries[open] summary::after { content:" ↑"; }
.hero-countries p { margin:8px 0 0; font-size:13px; line-height:1.45; color:rgba(255,255,255,.9); }
.hero-reviews {
  grid-column:1/-1;
  margin-top:16px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.92);
}
.hero-reviews > p {
  margin:0 0 16px;
  color:#fff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero-review-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.hero-review-grid article { background:#fff; color:#12171c; overflow:hidden; }
.hero-review-grid img { display:block; width:100%; height:132px; object-fit:cover; object-position:center 18%; }
.hero-review-grid div { padding:12px 13px 14px; }
.hero-review-grid q { display:block; margin:0 0 10px; font-size:13px; line-height:1.45; color:rgba(18,23,28,.82); quotes:none; }
.hero-review-grid strong { display:block; font-size:12px; }
.hero-review-grid small { display:block; margin-top:4px; font-size:10px; letter-spacing:.04em; color:rgba(18,23,28,.55); }
@media (max-width:800px) {
  .hero-adv-grid,.hero-review-grid { grid-template-columns:1fr 1fr; }
  .review-board,.proof-grid-4 { grid-template-columns:1fr; }
  .review-lead { min-height:0; padding:26px 22px; }
  .review-lead p { font-size:22px; }
}
.advantage-grid { grid-template-columns:repeat(4,1fr); }
.privacy-page { padding:48px 0 110px; }
.privacy-page h1 { margin:18px 0 28px; font-size:clamp(40px,5vw,64px); }
.privacy-page h2 { margin:36px 0 12px; font-size:22px; }
.privacy-page p,.privacy-page li { max-width:720px; font-size:15px; line-height:1.7; color:rgba(18,23,28,.74); }
.privacy-page ul { padding-left:20px; }
.button { border-radius:2px; min-width:210px; padding:16px 22px; letter-spacing:.12em; box-shadow:none; }
.button:hover { transform:translateY(-1px); box-shadow:0 10px 24px rgba(10,13,16,.16); }
.button-primary { background:#9a7b4f; color:#0a0d10; }
.button-dark { background:#12171c; color:#f4f2ed; }
.hero {
  min-height:760px;
  background:#171410;
}
.hero h1 { font-size:clamp(46px,5.4vw,76px); line-height:.96; font-weight:500; text-transform:none; max-width:640px; }
.inner-hero {
  background:#171410;
}
.inner-hero.mice-hero {
  background-color:#171410;
}
.inner-hero.visa-index-hero,
.inner-hero.visa-country-hero {
  background-color:#2a241c;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.visa-photo-world { background-image:url('/public/visa/world.jpg') !important; }
.visa-photo-vizaspain { background-image:url('/public/visa/spain.jpg') !important; }
.visa-photo-greec { background-image:url('/public/visa/greece.jpg') !important; }
.visa-photo-french { background-image:url('/public/visa/france.jpg') !important; }
.visa-photo-italy { background-image:url('/public/visa/italy.jpg') !important; }
.visa-photo-gemany { background-image:url('/public/visa/germany.jpg') !important; }
.visa-photo-vengria { background-image:url('/public/visa/hungary.jpg') !important; }
.visa-photo-kipr { background-image:url('/public/visa/cyprus.jpg') !important; }
.visa-switch { display:flex; flex-wrap:wrap; gap:8px; padding:22px 0 8px; }
.visa-switch a { flex:0 0 auto; white-space:nowrap; padding:10px 14px; border:1px solid rgba(18,23,28,.14); background:#f6f4ef; color:#12171c; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.visa-switch a:hover { border-color:#9a7b4f; }
.visa-switch a.is-current { background:#12171c; color:#f6f4ef; border-color:#12171c; }
.inner-page .visa-switch {
  position:sticky;
  top:0;
  z-index:20;
  background:#edf0ef;
  padding:12px 0 14px;
  box-shadow:0 10px 18px rgba(237,240,239,.92);
}
.inner-page .visa-switch + * {
  padding-top:28px;
  scroll-margin-top:24px;
}
.inner-hero h1 { font-size:clamp(48px,6.4vw,88px); font-weight:500; text-transform:none; }
.about-image {
  clip-path:none;
  overflow:hidden;
  background:#171410 !important;
  background-image:none !important;
}
.about-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.services { background:#f6f4ef; border-top:1px solid rgba(18,23,28,.08); padding:110px 0; }
.service-card,.advantage-card,.review-card,.mice-nav a,.mice-service-grid article,.book-steps article,.visa-country-card {
  background:#f6f4ef!important;
  border:1px solid rgba(18,23,28,.1);
  box-shadow:none;
}
.advantage-card:nth-child(4),.book-steps article:nth-child(4),.mice-nav a:nth-child(4) {
  background:#12171c!important;
  color:#f4f2ed;
}
.service-card.sand { background:#efe6d8!important; color:#12171c; }
.service-card.blue { background:#e3e7ea!important; color:#12171c; }
.service-card.coral { background:#eadfd4!important; color:#12171c; }
.service-card.mint { background:#e2e8e4!important; color:#12171c; }
.service-card.lavender { background:#e7e4ea!important; color:#12171c; }
.service-card.ink { background:#12171c!important; color:#f4f2ed; }
.service-card.ink p { color:rgba(246,244,239,.7); }
.service-card.gold { background:#e8dcc4!important; color:#12171c; }
.trust-proof,.site-footer,.inner-page .site-footer,.tour-extra-card:first-child,.partner-case {
  background:#0a0d10;
}
.inner-page:has(.privacy-page) .site-header {
  position:relative;
  color:#12171c;
  background:rgba(246,244,239,.9) !important;
  border-bottom:1px solid rgba(18,23,28,.12) !important;
}
.inner-page:has(.privacy-page) .brand::after {
  color:#12171c;
}
.trust-proof .proof-card { background:rgba(246,244,239,.05); border-color:rgba(246,244,239,.12); }
.contact-section { background:#e4e0d8; }
.mice-kp { background:#9a7b4f; color:#0a0d10; }
.visa-price-featured { background:#9a7b4f!important; }
.destinations .text-link,.reviews .text-link,.advantages .text-link { color:#12171c; }
.visual-destinations { margin-bottom:28px; }
.visual-destinations .destination-card { min-height:420px; }
.visual-destinations .destination-text h3 { font-family:'Newsreader',Georgia,serif; font-weight:500; font-size:42px; text-transform:none; letter-spacing:-.03em; }
.destination-shade { background:linear-gradient(180deg,transparent 35%,rgba(10,13,16,.78)); }
.quote-mark { font-family:'Newsreader',Georgia,serif; color:#9a7b4f; }
.quote-section blockquote { font-family:'Newsreader',Georgia,serif; font-weight:400; }
.footer-brand p { font-family:'Newsreader',Georgia,serif; font-weight:400; }
.status-dot,.card-arrow,.card-link b,.advantage-number,.review-index,.proof-number,.visa-country-index,.mice-nav span { color:#9a7b4f; }
.tourvisor-minprice { background:#f6f4ef; border-color:rgba(18,23,28,.1); box-shadow:none; }
.assistant-toggle { border-radius:2px; background:#c9a05a !important; color:#14110c !important; border:0 !important; box-shadow:0 10px 28px rgba(201,160,90,.4); }
.assistant-toggle-dot { background:#14110c !important; color:#c9a05a !important; border-radius:2px; }
@media (max-width:800px) {
  .hero { min-height:680px; }
  .visual-destinations .destination-card { min-height:280px; }
}

/* Readability: stop dark-on-dark and hairline stripes */
.inner-hero .hero-principles { display:none; }
.inner-hero.excursion-hero,
.inner-hero.sport-hero,
.inner-hero.mice-hero,
.inner-hero.about-hero,
.inner-hero.visa-index-hero,
.inner-hero.visa-country-hero {
  position:relative;
  overflow:hidden;
  min-height:520px;
  padding:128px 0 64px;
  background-color:#123040;
  background-size:cover !important;
  background-position:center !important;
}
.inner-hero .hero-media {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.inner-hero .hero-shade {
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(10,10,10,.28) 0%,rgba(10,10,10,.08) 38%,rgba(10,10,10,0) 70%);
}
.inner-hero.cruise-hero .inner-shell,
.inner-hero.excursion-hero .inner-shell,
.inner-hero.mice-hero .inner-shell,
.inner-hero.contacts-hero .inner-shell,
.inner-hero.about-hero .inner-shell,
.inner-hero.visa-index-hero .inner-shell,
.inner-hero.visa-country-hero .inner-shell,
.inner-hero.tours-hero .inner-shell,
.inner-hero.avia-hero .inner-shell { position:relative; z-index:2; }
.mice-hero,
.mice-hero-artists,
.mice-hero-schools,
.mice-hero-mosaic { background-image:none !important; background-color:#171410 !important; }
.mice-mosaic { position:absolute; inset:0; z-index:0; display:grid; grid-template-columns:repeat(4,1fr); }
.mice-mosaic img { display:block; width:100%; height:100%; object-fit:cover; }
.mice-hero-mosaic .hero-shade { background:linear-gradient(90deg,rgba(10,10,10,.52) 0%,rgba(10,10,10,.22) 46%,rgba(10,10,10,.42) 100%); }
@media (max-width:800px) { .mice-mosaic { grid-template-columns:1fr 1fr; } }
.contacts-hero { background-image:none !important; background-color:#f6f2e8 !important; }
.mice-photo-banner { position:relative; margin:36px 0 0; overflow:hidden; min-height:280px; }
.mice-photo-banner img { display:block; width:100%; height:320px; object-fit:cover; }
.mice-photo-banner-copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:36px min(9%,72px) 32px; background:linear-gradient(180deg,transparent 18%,rgba(10,10,10,.66)); color:#f6f4ef; }
.mice-photo-banner-copy h3 { margin:10px 0 0; max-width:18ch; font-family:'Newsreader',Georgia,serif; font-size:clamp(28px,3.6vw,44px); font-weight:500; letter-spacing:-.03em; }
@media (max-width:800px) { .mice-photo-banner img { height:240px; } }
.cruise-hero,
.excursion-hero { background-image:none !important; background-color:#171410 !important; }
.tours-hero,
.avia-hero {
  position:relative;
  overflow:hidden;
  min-height:420px;
  padding:118px 0 72px;
  background-color:#171410;
  background-size:cover !important;
  background-position:center 45% !important;
}
.tours-hero,
.avia-hero { background-image:none !important; background-color:#171410 !important; }
.searcher-stage {
  width:min(1180px, calc(100% - 80px));
  margin:-48px auto 0;
  position:relative;
  z-index:30;
  background:#fff;
  color:#12171c;
  padding:16px 18px 12px;
  min-height:280px;
  box-shadow:0 18px 44px rgba(16,35,51,.12);
  overflow:visible;
}
.searcher-stage .tv-search-form,
.searcher-stage .tv-search-form > div {
  overflow:visible !important;
  max-width:none !important;
}
.searcher-stage-bar {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding:4px 6px 14px;
  margin-bottom:8px;
  border-bottom:1px solid rgba(16,35,51,.1);
}
.searcher-stage-bar span {
  color:#9a7b4f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.searcher-stage-bar small { color:rgba(18,23,28,.55); font-size:12px; }
.searcher-stage .tv-search-form { width:100%; min-height:220px; }
.aviasales-slot { display:flex; align-items:stretch; background:#fff; }
.aviasales-slot .infoflot-empty { width:100%; min-height:220px; display:flex; flex-direction:column; justify-content:center; }
.avia-search-full { background:#fff; padding:0; min-height:0; }
.avia-search-note { margin:10px 4px 2px; color:rgba(18,23,28,.62); font-size:14px; line-height:1.5; }
.avia-search-note a { color:#9a7b4f; border-bottom:1px solid rgba(154,123,79,.4); }
#tpwl-search,
#tpwl-tickets { width:100%; min-height:0; }
#tpwl-tickets { margin-top:8px; }
#tpwl-tickets h1,
#tpwl-tickets h2,
#tpwl-tickets h3,
#tpwl-tickets h4 { all:revert; }
.tours-hero-grid { display:grid; grid-template-columns:minmax(260px,.9fr) minmax(300px,1.15fr); gap:32px 40px; align-items:start; }
.tours-hero-copy h1 { max-width:520px; font-size:clamp(36px,4.6vw,64px); }
.tours-hero-copy .inner-lead { max-width:480px; margin-bottom:0; }
.tours-hero-search { background:#fff; color:#12171c; padding:18px 18px 8px; min-height:220px; }
@media (max-width:900px) {
  .tours-hero-grid { grid-template-columns:1fr; }
  .searcher-stage { width:calc(100% - 36px); margin-top:-28px; padding:14px 12px 8px; }
}
.visa-hero-copy {
  max-width:560px;
  padding:28px 30px 30px;
  background:rgba(10,10,10,.78);
  color:#f6f4ef;
}
.visa-hero-copy .inner-lead { color:rgba(246,244,239,.88); margin-bottom:22px; }
.visa-hero-copy h1 { margin-top:16px; }
.visa-hero-copy h1 em { color:#e8c99a; }
.visa-hero-process,
.visa-hero-meta,
.visa-hero-includes { display:none; }

.visa-country-card.has-photo {
  position:relative;
  overflow:hidden;
  min-height:250px !important;
  padding:0 !important;
  border:0 !important;
  color:#f6f4ef;
}
.visa-country-card.has-photo.visa-photo-vizaspain { background-image:url('/public/visa/spain.jpg') !important; }
.visa-country-card.has-photo.visa-photo-greec { background-image:url('/public/visa/greece.jpg') !important; }
.visa-country-card.has-photo.visa-photo-french { background-image:url('/public/visa/france.jpg') !important; }
.visa-country-card.has-photo.visa-photo-italy { background-image:url('/public/visa/italy.jpg') !important; }
.visa-country-card.has-photo.visa-photo-gemany { background-image:url('/public/visa/germany.jpg') !important; }
.visa-country-card.has-photo.visa-photo-vengria { background-image:url('/public/visa/hungary.jpg') !important; }
.visa-country-card.has-photo.visa-photo-kipr { background-image:url('/public/visa/cyprus.jpg') !important; }
.visa-country-card.has-photo img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.visa-country-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,10,10,.05) 30%,rgba(10,10,10,.82) 100%);
}
.visa-country-card.has-photo .visa-country-index,
.visa-country-card.has-photo h3,
.visa-country-card.has-photo .card-link {
  position:relative;
  z-index:1;
}
.visa-country-card.has-photo .visa-country-index { display:block; padding:20px 20px 0; color:#f0d7a8; }
.visa-country-card.has-photo .visa-country-region { display:none; }
.visa-country-card.has-photo h3 {
  margin:0 !important;
  padding:86px 20px 8px;
  font-size:28px;
  text-transform:none;
  letter-spacing:-.03em;
}
.visa-country-card.has-photo .card-link { padding:0 20px 20px; color:#f6f4ef; }
.visa-country-card.has-photo:hover { transform:translateY(-4px); }
.visa-country-card.has-photo:hover .visa-country-shade { background:linear-gradient(180deg,rgba(12,12,12,.02) 10%,rgba(12,12,12,.66) 100%); }

.visa-timing { padding:28px 0 8px; }
.visa-facts {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  padding:28px 0 8px;
}
.visa-timing .visa-facts {
  grid-template-columns:repeat(3,1fr);
  padding:8px 0 0;
}
.visa-timing .visa-facts-4 {
  grid-template-columns:repeat(4,1fr);
}
.visa-facts article {
  min-height:112px;
  padding:18px 16px;
  background:#fff;
  border:1px solid rgba(18,23,28,.08);
}
.visa-facts b {
  display:block;
  margin-bottom:8px;
  font-family:'Newsreader',Georgia,serif;
  font-size:22px;
  font-weight:500;
  letter-spacing:-.03em;
}
.visa-facts span {
  color:rgba(18,23,28,.58);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.visa-process-note {
  max-width:760px;
  margin:18px auto 10px;
  padding:16px 18px;
  background:#fff;
  border-left:3px solid #9a7b4f;
  color:rgba(18,23,28,.72);
  font-size:14px;
  line-height:1.55;
}

.visa-calc-list { margin-top:28px; padding:22px 24px; background:#fff; border:1px solid rgba(18,23,28,.08); }
.visa-calc-list h3 { margin:0 0 14px; font-size:18px; letter-spacing:-.03em; text-transform:uppercase; }
.visa-calc-list ul { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.visa-calc-list li { display:flex; justify-content:space-between; gap:16px; padding-bottom:10px; border-bottom:1px solid rgba(18,23,28,.08); font-size:14px; }
.visa-calc-list li:last-child { padding-bottom:0; border-bottom:0; }
.visa-calc-list span { color:rgba(18,23,28,.58); }
.visa-calc-list b { font-weight:600; text-align:right; }
.visa-calc-list a { color: inherit; text-decoration: underline; }
.visa-price-card { background:#fff !important; }
.visa-price-card a { color: inherit; text-decoration: underline; }
.visa-price-insurance strong {
  font-size: 16px !important;
  line-height: 1.25;
  letter-spacing: -.02em;
}
.visa-price-insurance small {
  font-size: 11px;
  line-height: 1.35;
}
.visa-price-card:nth-child(3),
.visa-price-card:nth-child(5) { background:#f3eee6 !important; }
.visa-price-featured { background:#9a7b4f !important; color:#0a0d10; }
.visa-info-panel {
  background:#fff !important;
  color:#12171c !important;
}
.visa-info-panel h2 em { color:#9a7b4f !important; }
.visa-documents-panel,
.visa-info-panel:nth-child(2) { background:#f3eee6 !important; color:#12171c !important; }
.visa-check-list li,
.visa-doc-list li { border-color:rgba(18,23,28,.12) !important; color:#12171c; }
.visa-check-list li span,
.visa-doc-list li::before { color:#9a7b4f; }

.visa-timeline,
.visa-timeline-7,
.conf-flow,
.mice-process {
  display:grid !important;
  gap:12px !important;
  border:none !important;
}
.visa-timeline { grid-template-columns:repeat(4,1fr) !important; }
.visa-timeline-7 { grid-template-columns:repeat(4,1fr) !important; }
.visa-timeline > div,
.visa-timeline-7 > div,
.conf-flow div,
.mice-process div {
  min-height:188px;
  padding:22px !important;
  background:#fff;
  border:none !important;
}
.visa-timeline-7 > div:nth-child(n+5) { border-top:none !important; }
.visa-timeline strong,
.conf-flow strong { margin-top:36px; text-transform:none; letter-spacing:-.03em; }
.visa-consult {
  background:#fff !important;
  color:#12171c !important;
  border:1px solid rgba(18,23,28,.08);
}
.visa-consult h3 { color:#12171c; }
.visa-consult p { color:rgba(18,23,28,.7); }

.mice-sport {
  background:#efece6 !important;
  color:#12171c !important;
}
.mice-sport .section-heading h2,
.mice-sport .mice-docs h3 { color:#12171c !important; }
.mice-sport .sport-roster h3 { color:#12171c !important; }
.mice-sport .section-intro,
.mice-sport .mice-service-grid p { color:rgba(18,23,28,.7) !important; }
.mice-sport .mice-service-grid article {
  background:#fff !important;
  border:1px solid rgba(18,23,28,.08) !important;
  color:#12171c;
}
.mice-sport .mice-service-grid article span { color:#9a7b4f; }
.sport-type-grid { gap:10px; }
.mice-docs {
  background:#fff !important;
  color:#12171c;
}
.mice-docs p { color:rgba(18,23,28,.7) !important; }
.mice-docs li {
  border-top:1px solid rgba(18,23,28,.1);
  color:#12171c;
}
.mice-kp { color:#0a0d10; }
.mice-kp h3,
.mice-sport .mice-kp h3 { color:#0a0d10 !important; }
.mice-kp h3 em { color:#3d2f1c !important; font-style:italic; }
.conf-card-wide { background:#171410 !important; color:#f6f4ef; }
.conf-card-wide p { color:rgba(246,244,239,.72); }

@media (max-width:900px) {
  .sport-photo-grid { grid-template-columns:repeat(2,1fr); }
  .visa-facts { grid-template-columns:1fr 1fr; }
  .visa-facts article:last-child { grid-column:span 2; }
}
@media (max-width:560px) {
  .visa-facts,
  .visa-timeline,
  .visa-timeline-7 { grid-template-columns:1fr !important; }
  .visa-facts article:last-child { grid-column:auto; }
  .inner-hero.visa-index-hero,
  .inner-hero.visa-country-hero,
  .inner-hero.excursion-hero { min-height:400px; padding:108px 0 48px; }
}

.tripster-showcase { padding:10px 0 80px; min-width:0; overflow-x:clip; }
.tripster-search { display:grid; grid-template-columns:1.1fr 1.1fr auto; gap:14px; align-items:end; margin:8px 0 28px; padding:20px 22px; background:#fff; border:1px solid rgba(16,35,51,.12); min-width:0; }
.tripster-search label { display:flex; flex-direction:column; gap:8px; min-width:0; color:rgba(18,23,28,.62); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.tripster-search select { height:50px; width:100%; max-width:100%; min-width:0; padding:0 12px; border:1px solid rgba(16,35,51,.16); background:#fbfcfa; color:#12171c; font-size:15px; }
.tripster-search .button { white-space:nowrap; height:50px; }
.tripster-popular > p { margin:0 0 12px; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(18,23,28,.55); }
.tripster-cities { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 28px; }
.tripster-city { display:inline-flex; flex-direction:column; gap:2px; min-height:0; min-width:0; padding:10px 14px; border:1px solid rgba(18,23,28,.14); background:#fff; color:#12171c; text-align:left; cursor:pointer; }
.tripster-city img, .tripster-city-shade { display:none; }
.tripster-city strong, .tripster-city small { position:static; display:block; padding:0; }
.tripster-city strong { margin:0; font-size:13px; letter-spacing:0; }
.tripster-city small { margin:0; color:rgba(18,23,28,.55); font-size:11px; }
.tripster-city.is-current { box-shadow:none; background:#12171c; color:#f6f4ef; border-color:#12171c; }
.tripster-city.is-current small { color:rgba(246,244,239,.7); }
.tripster-city-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.tripster-city-head h3 { margin:8px 0 0; font-family:'Newsreader',Georgia,serif; font-size:36px; font-weight:500; }
.tripster-tags { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:22px; }
.tripster-tags a { position:relative; min-height:140px; overflow:hidden; color:#f6f4ef; background:#171410; }
.tripster-tags img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tripster-tags span, .tripster-tags small { position:relative; z-index:1; display:block; padding:0 14px; }
.tripster-tags span { margin-top:72px; font-weight:650; }
.tripster-tags small { margin-bottom:12px; color:rgba(246,244,239,.7); }
.tripster-tags a::after { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(180deg,transparent 25%,rgba(10,10,10,.72)); }
.tripster-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.tripster-list a { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:240px; min-width:0; overflow:hidden; padding:18px 18px 16px; background:#171410; border:0; color:#f6f4ef; }
.tripster-list a img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tripster-list a::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 28%,rgba(10,10,10,.8)); }
.tripster-list a span, .tripster-list a strong, .tripster-list a b { position:relative; z-index:1; }
.tripster-list a span { color:#e8c99a; font-size:11px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px; }
.tripster-list a strong { font-size:20px; font-weight:600; line-height:1.15; overflow-wrap:anywhere; margin-bottom:10px; }
.tripster-list a b { color:#e8c99a; font-size:12px; font-weight:700; }
.tripster-list a:hover { transform:translateY(-3px); }
.tripster-fallback { color:rgba(18,23,28,.68); }
.tripster-embed {
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:480px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.tripster-embed iframe,
.tripster-embed > div,
#tripster-widget-turin {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
@media (max-width:900px) {
  .tripster-search { grid-template-columns:1fr; }
  .tripster-tags { grid-template-columns:1fr 1fr; }
  .tripster-list { grid-template-columns:1fr; }
  .tripster-list a { min-height:210px; }
  .tripster-city-head { display:block; }
  .tripster-city-head .button { margin-top:16px; }
}
@media (max-width:800px) {
  .tripster-showcase.inner-shell {
    width:calc(100% - 48px);
    padding:24px 0 72px;
    box-sizing:border-box;
  }
  .tripster-showcase .section-heading h2,
  .tripster-showcase .section-intro {
    padding-left:4px;
  }
}
@media (max-width:560px) {
  .tripster-search { padding:16px 14px; }
  .tripster-showcase.inner-shell {
    width:calc(100% - 56px);
  }
}

.about-hero {
  position:relative;
  overflow:hidden;
  min-height:520px;
  padding:128px 0 64px;
  background:#171410 !important;
  background-image:url('/public/about/hero.jpg') !important;
  background-size:cover !important;
  background-position:center 40% !important;
}
.about-hero .inner-shell { position:relative; z-index:2; }
.about-hero h1 { max-width:16ch; }
.about-story { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding:56px 0 8px; }
.about-story article { padding:24px; background:#fff; border:1px solid rgba(16,35,51,.1); }
.about-photo-banner { margin:36px 0 8px; }
.about-story article span { color:#9a7b4f; font-size:11px; letter-spacing:.1em; }
.about-story article h2 { margin:18px 0 14px; font-family:'Newsreader',Georgia,serif; font-size:28px; font-weight:500; letter-spacing:-.03em; text-transform:none; }
.about-story article p { margin:0; color:rgba(18,23,28,.72); font-size:16px; line-height:1.6; }
.about-quote { display:block; margin:56px auto 22px; padding:0; max-width:min(1180px,calc(100% - 80px)); font-family:'Newsreader',Georgia,serif; font-size:clamp(28px,3.6vw,42px); font-weight:500; font-style:italic; line-height:1.32; letter-spacing:-.03em; color:#12171c; }
.about-license { margin:28px auto 56px; color:rgba(18,23,28,.55); font-size:13px; letter-spacing:.04em; }
@media (max-width:800px) { .about-story { grid-template-columns:1fr; padding-top:40px; } }
.contacts-page { background:#f6f2e8 !important; }
.contacts-hero.inner-hero,
.inner-hero.contacts-hero {
  min-height:0 !important;
  padding:84px 0 28px !important;
  background:#f6f2e8 !important;
  color:#12171c !important;
}
.contacts-hero .hero-media,
.contacts-hero .hero-shade { display:none; }
.contacts-hero h1 { color:#12171c; }
.contacts-hero .inner-lead { color:rgba(18,23,28,.68) !important; max-width:34em; }
.contacts-hero .eyebrow { color:#8a6324; }
.contacts-hero-grid { display:grid; grid-template-columns:minmax(240px,.9fr) minmax(280px,1.1fr); gap:20px; align-items:stretch; }
.contacts-hero-grid > div:first-child,
.contact-lines {
  padding:28px 28px 26px;
  background:#fff;
  border:1px solid rgba(138,99,36,.16);
  box-shadow:0 12px 32px rgba(18,23,28,.05);
}
.contacts-photo {
  display:block;
  width:100%;
  height:220px;
  margin-top:22px;
  object-fit:cover;
}
.contact-lines a, .contact-lines div { display:block; padding:16px 0; border-top:1px solid rgba(18,23,28,.08); color:#12171c; }
.contact-lines a:first-child { border-top:0; padding-top:0; }
.contact-lines a:hover strong { color:#8a6324; }
.contact-lines span { display:block; margin-bottom:6px; color:#8a6324; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.contact-lines strong { font-size:22px; font-weight:600; letter-spacing:-.02em; }
@media (max-width:800px) { .contacts-hero-grid { grid-template-columns:1fr; } .contacts-photo { height:180px; } }
.team-section { padding:8px 0 80px; }
.team-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.team-grid article { min-height:180px; padding:24px; background:#fff; border:1px solid rgba(138,99,36,.14); }
.team-grid article span { color:#8a6324; font-size:11px; letter-spacing:.1em; }
.team-grid article h3 { margin:36px 0 12px; font-family:'Newsreader',Georgia,serif; font-size:28px; font-weight:500; letter-spacing:-.03em; }
.team-grid article p { margin:0; color:rgba(18,23,28,.7); font-size:15px; line-height:1.5; }
.team-grid article a { color:#8a6324; }
.team-card-wide { grid-column:span 2; background:#fffdf8 !important; color:#12171c; }
.team-card-wide p { color:rgba(18,23,28,.7) !important; }
.team-card-wide a { color:#8a6324 !important; }
@media (max-width:700px) {
  .team-grid { grid-template-columns:1fr; }
  .team-card-wide { grid-column:auto; }
}

.site-header,
.inner-header,
.inner-page .inner-header {
  height:auto !important;
  min-height:72px;
  flex-wrap:wrap;
  row-gap:8px;
  padding-top:10px;
  padding-bottom:10px;
}
.hero { position:relative; overflow:hidden; min-height:0 !important; padding-top:80px !important; padding-bottom:16px !important; background:#171410 !important; }
.hero-visual { min-height:0 !important; }
.hero-advantages { margin-top:18px !important; }
.services { padding-top:40px !important; padding-bottom:88px !important; }
.hero > .hero-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.hero > .hero-shade { position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(100deg,rgba(10,13,16,.62) 0%,rgba(10,13,16,.28) 46%,rgba(10,13,16,.12) 100%); }
.hero > .hero-copy,
.hero > .hero-visual,
.hero > .hero-advantages { position:relative; z-index:2; }
.hero .eyebrow {
  max-width:28em;
  color:#e8c99a !important;
  font-size:15px !important;
  font-weight:400 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  line-height:1.35;
}
.button-primary { background:#c9a05a !important; color:#14110c !important; }
.service-card .card-link {
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#8a6324;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.service-card .card-link b { color:#c9a05a; font-size:16px; }
.minprice-stage { padding:0; background:transparent; color:inherit; }
.minprice-chips { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
.minprice-chips a {
  min-height:86px;
  padding:16px;
  background:rgba(246,244,239,.06);
  border:1px solid rgba(201,160,90,.38);
  color:#f6f4ef;
}
.minprice-chips small { display:block; margin-bottom:8px; color:#e8c99a; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.minprice-chips strong { font-family:'Newsreader',Georgia,serif; font-size:24px; font-weight:500; letter-spacing:-.03em; }
.minprice-stage .tourvisor-minprice { background:#f6f4ef; color:#12171c; }
.proof-partners {
  grid-column:1/-1;
  background:#9a7b4f !important;
  color:#1a120c !important;
  padding:28px 28px 22px !important;
}
.proof-partners .proof-number { color:#1a120c !important; }
.proof-partners h3 { color:#1a120c !important; }
.proof-partners-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:6px; }
.proof-partners-head h3 { margin:10px 0 0; }
.proof-partners-head p { max-width:28em; margin:0; color:rgba(26,18,12,.7); }
.operator-wall {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px 12px;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:22px 0 0;
  padding:18px 0 0;
  border-top:1px solid rgba(26,18,12,.16);
  background:transparent;
}
.operator-wall figure {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  max-width:100%;
  min-height:78px;
  margin:0;
  padding:10px 6px 8px;
  overflow:hidden;
  background:transparent;
}
.operator-wall img {
  display:block;
  height:40px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  background:transparent;
  border:0;
  filter:saturate(.48) brightness(.97) contrast(.94);
  opacity:.88;
}
.operator-wall figcaption {
  margin-top:8px;
  max-width:100%;
  color:#111;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
  overflow-wrap:anywhere;
}
.operator-more { margin-top:14px; }
.operator-more summary { cursor:pointer; color:#1a120c; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; list-style:none; width:max-content; }
.operator-more summary::-webkit-details-marker { display:none; }
.operator-more summary::after { content:" →"; }
.operator-more[open] summary::after { content:" ↑"; }
.operator-more .operator-wall { margin-top:12px; padding-top:12px; }
.review-carousel { position:relative; }
.review-track { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding-bottom:6px; }
.review-slide {
  flex:0 0 min(440px,84vw);
  scroll-snap-align:start;
  min-height:240px;
  padding:28px;
  background:#fff;
  border:1px solid rgba(18,23,28,.1);
}
.review-slide p { margin:0 0 22px; font-family:'Newsreader',Georgia,serif; font-size:22px; line-height:1.35; letter-spacing:-.02em; }
.review-controls { display:flex; gap:8px; margin-top:16px; }
.review-controls button { width:40px; height:40px; border:1px solid rgba(18,23,28,.16); background:#fff; color:#12171c; cursor:pointer; }
.review-controls button:hover { border-color:#c9a05a; color:#8a6324; }
.visa-consult-list { margin:16px 0 0; padding:0; list-style:none; }
.visa-consult-list li { position:relative; padding:6px 0 6px 16px; font-size:14px; line-height:1.5; color:rgba(18,23,28,.72); }
.visa-consult-list li::before { content:'—'; position:absolute; left:0; color:#9a7b4f; }
.visa-consult-block { padding:28px 0 72px; }
.visa-consult-form { align-items:start; gap:36px; }
.visa-consult-form .contact-form {
  flex:1 1 320px;
  max-width:420px;
  margin:0;
  padding:24px 24px 18px;
  background:#fff;
}
@media (max-width:800px) { .visa-consult-form .contact-form { max-width:none; } }
.visa-price-featured small { font-size:12px !important; line-height:1.45; opacity:.9 !important; }
.visa-split {
  display:grid;
  grid-template-columns:1fr 1fr;
}
.visa-split-hero { min-height:520px; }
.visa-split-panel {
  position:relative;
  min-height:420px;
  display:flex;
  align-items:flex-end;
  padding:40px 36px;
  color:#f6f4ef;
  overflow:hidden;
}
.visa-split-panel img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.visa-split-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,13,16,.08) 0%,rgba(10,13,16,.58) 100%);
}
.visa-split-copy { position:relative; z-index:2; max-width:28em; }
.visa-split-copy h2 {
  margin:10px 0 12px;
  font-family:'Newsreader',Georgia,serif;
  font-size:clamp(36px,4vw,56px);
  font-weight:500;
  letter-spacing:-.04em;
  line-height:0.95;
}
.visa-split-copy h2 em { color:#e8c99a; font-style:normal; }
.visa-split-copy p { margin:0 0 18px; color:rgba(246,244,239,.82); font-size:15px; line-height:1.5; }
.visa-split-copy b { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#e8c99a; }
.visa-split-panel:hover .visa-split-shade { background:linear-gradient(180deg,rgba(10,13,16,.08) 0%,rgba(10,13,16,.78) 100%); }
.visa-world-section { padding-top:0; }
.visa-russia-band,
.visa-russia-band.inner-shell {
  display:grid !important;
  grid-template-columns:1.05fr 1fr;
  gap:36px;
  align-items:center;
  max-width:1180px;
  margin:0 auto 80px;
  text-align:center;
}
.visa-russia-band img {
  width:100%;
  height:320px;
  object-fit:cover;
}
.visa-russia-band .visa-russia-copy,
.visa-russia-band > div {
  width:100%;
  max-width:none;
  margin:0;
  text-align:center;
}
.visa-russia-band .eyebrow { justify-content:center; }
.visa-russia-band h2 {
  margin:10px auto 14px;
  font-family:'Newsreader',Georgia,serif;
  font-size:42px;
  font-weight:500;
  letter-spacing:-.04em;
  line-height:1;
}
.visa-russia-band h2 em { color:#9a7b4f; font-style:normal; }
.visa-russia-band p { margin:0 auto 22px; max-width:34em; color:rgba(18,23,28,.72); }
.visa-russia-band .button { margin-left:auto; margin-right:auto; }
@media (max-width:800px) {
  .visa-russia-band,
  .visa-russia-band.inner-shell {
    grid-template-columns:1fr;
    justify-items:center;
  }
  .visa-russia-band img { height:200px; }
}
.visa-timeline-6 { grid-template-columns:repeat(6,1fr) !important; }
.eviza-steps { padding:40px 0 80px; }
.eviza-states { padding:0 0 80px; }
.eviza-state-list {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px 18px;
  margin:28px 0 0;
  padding:0;
  list-style:none;
}
.eviza-state-list li { padding:8px 0; border-bottom:1px solid rgba(18,23,28,.08); font-size:14px; }
.visa-photo-japan { background-image:url('/public/visa/japan.jpg') !important; }
.visa-photo-newzealand { background-image:url('/public/visa/newzealand.jpg') !important; }
.visa-photo-usa { background-image:url('/public/visa/usa.jpg') !important; }
.visa-photo-canada { background-image:url('/public/visa/canada.jpg') !important; }
.visa-photo-mexico { background-image:url('/public/visa/mexico.jpg') !important; }
.visa-photo-india { background-image:url('/public/visa/india.jpg') !important; }
.visa-photo-singapore { background-image:url('/public/visa/singapore.jpg') !important; }
.visa-photo-srilanka { background-image:url('/public/visa/srilanka.jpg') !important; }
.visa-photo-kndr { background-image:url('/public/visa/kndr.jpg') !important; }
.visa-photo-turkmenistan { background-image:url('/public/visa/turkmenistan.jpg') !important; }
.visa-photo-saudi { background-image:url('/public/visa/saudi.jpg') !important; }
.visa-photo-australia { background-image:url('/public/visa/australia.jpg') !important; }
.visa-photo-eviza { background-image:url('/public/visa/russia.jpg') !important; }
.visa-country-card.has-photo.visa-photo-japan { background-image:url('/public/visa/japan.jpg') !important; }
.visa-country-card.has-photo.visa-photo-newzealand { background-image:url('/public/visa/newzealand.jpg') !important; }
.visa-country-card.has-photo.visa-photo-usa { background-image:url('/public/visa/usa.jpg') !important; }
.visa-country-card.has-photo.visa-photo-canada { background-image:url('/public/visa/canada.jpg') !important; }
.visa-country-card.has-photo.visa-photo-mexico { background-image:url('/public/visa/mexico.jpg') !important; }
.visa-country-card.has-photo.visa-photo-india { background-image:url('/public/visa/india.jpg') !important; }
.visa-country-card.has-photo.visa-photo-singapore { background-image:url('/public/visa/singapore.jpg') !important; }
.visa-country-card.has-photo.visa-photo-srilanka { background-image:url('/public/visa/srilanka.jpg') !important; }
.visa-country-card.has-photo.visa-photo-kndr { background-image:url('/public/visa/kndr.jpg') !important; }
.visa-country-card.has-photo.visa-photo-turkmenistan { background-image:url('/public/visa/turkmenistan.jpg') !important; }
.visa-country-card.has-photo.visa-photo-saudi { background-image:url('/public/visa/saudi.jpg') !important; }
.visa-country-card.has-photo.visa-photo-australia { background-image:url('/public/visa/australia.jpg') !important; }
@media (max-width:800px) {
  .visa-split, .visa-timeline-6, .eviza-state-list { grid-template-columns:1fr 1fr; }
  .visa-split-hero, .visa-split-panel { min-height:320px; }
  .visa-russia-band img { height:200px; }
}
@media (max-width:430px) {
  .visa-split, .visa-timeline-6, .eviza-state-list { grid-template-columns:1fr; }
}
.halal-section { padding:72px 0 20px; }
.halal-map-frame {
  width: 100%;
  height: 640px;
  margin: 20px 0 8px;
  border-radius: 16px;
  background: #eef3f0;
}
.halal-map-frame iframe {
  display: block;
  width: 100%;
  height: 640px;
  border: 0;
  border-radius: 16px;
  background: #eef3f0;
}
.halal-map-credit {
  margin: 0 0 8px;
  color: rgba(18, 23, 28, .52);
  font-size: 12px;
}
.halal-map-credit a { color: inherit; }
@media (max-width: 800px) {
  .halal-map-frame,
  .halal-map-frame iframe { height: 520px; }
}
.halal-tour-grid, .halal-place-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:28px 0 24px; }
.halal-tour, .halal-place { margin:0; padding:22px 20px; background:#fff; border:1px solid rgba(18,23,28,.1); min-height:220px; }
.halal-tour.has-photo {
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:280px;
  padding:0;
  overflow:hidden;
  color:#f6f4ef;
  text-decoration:none;
  border:0;
}
.halal-tour.has-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.halal-tour-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,13,16,.08) 20%,rgba(10,13,16,.78) 100%); }
.halal-tour-copy { position:relative; z-index:2; padding:20px 18px 18px; }
.halal-tour.has-photo small { margin:0 0 8px; color:rgba(246,244,239,.78); }
.halal-tour.has-photo h3 { margin:0 0 10px; color:#fff; font-size:22px; line-height:1.1; }
.halal-tour.has-photo b { color:#e8c99a; font-size:13px; letter-spacing:.04em; }
.halal-tour.has-photo .halal-tour-meta { margin-top:8px; color:rgba(246,244,239,.72); font-size:11px; letter-spacing:.03em; text-transform:none; }
.halal-tour.has-photo:hover .halal-tour-shade { background:linear-gradient(180deg,rgba(10,13,16,.02) 10%,rgba(10,13,16,.82) 100%); }
.halal-tour span, .halal-place b { display:block; color:#9a7b4f; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.halal-tour small, .halal-place small { display:block; margin:10px 0 8px; color:rgba(18,23,28,.5); font-size:12px; }
.halal-tour h3, .halal-place h3 { margin:0 0 10px; font-size:22px; letter-spacing:-.03em; }
.halal-tour p, .halal-place p { margin:0 0 16px; color:rgba(18,23,28,.7); font-size:14px; line-height:1.5; }
.halal-search { display:flex; flex-wrap:wrap; gap:12px; align-items:end; margin-top:8px; }
.halal-search label { display:flex; flex-direction:column; gap:6px; font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.halal-search select { min-width:220px; height:46px; padding:0 12px; border:1px solid rgba(18,23,28,.16); background:#fff; }
.halal-check { flex-direction:row !important; align-items:center; height:46px; text-transform:none !important; letter-spacing:0 !important; font-size:14px !important; }
.halal-cities { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0; }
.halal-cities button {
  padding:8px 12px;
  border:1px solid rgba(18,23,28,.14);
  background:#fff;
  color:#12171c;
  font-size:11px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}
.halal-cities button:hover { border-color:#9a7b4f; }
.halal-cities button.is-current { background:#12171c; color:#f6f4ef; border-color:#12171c; }
.halal-check input { margin-right:8px; }
.halal-plan {
  list-style:none;
  margin:28px 0 8px;
  padding:0;
  max-width:820px;
}
.halal-plan-day {
  margin:0 0 36px;
  padding:0;
}
.halal-plan-day:last-child { margin-bottom:0; }
.halal-plan-day-label {
  display:flex;
  align-items:baseline;
  gap:12px;
  margin:0 0 18px;
  padding:16px 0 12px;
  border-top:1px solid rgba(18,23,28,.12);
}
.halal-plan-day:first-child .halal-plan-day-label { border-top:0; padding-top:0; }
.halal-plan-day-label b {
  color:#12171c;
  font-size:44px;
  font-weight:600;
  letter-spacing:-.05em;
  line-height:.9;
}
.halal-plan-day-label span {
  color:#9a7b4f;
  font-size:13px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.halal-plan-day ol {
  list-style:none;
  margin:0;
  padding:0;
}
.halal-plan-item {
  display:grid;
  grid-template-columns:56px 1fr;
  gap:18px;
  margin:0;
  padding:0 0 28px;
  position:relative;
}
.halal-plan-item:last-child { padding-bottom:0; }
.halal-plan-item::before {
  content:"";
  position:absolute;
  left:18px;
  top:28px;
  bottom:0;
  width:1px;
  background:rgba(18,23,28,.12);
}
.halal-plan-item:last-child::before { display:none; }
.halal-plan-num {
  display:block;
  width:36px;
  color:#9a7b4f;
  font-size:13px;
  font-weight:600;
  letter-spacing:.08em;
  line-height:1.4;
  padding-top:2px;
}
.halal-plan-item h3 {
  margin:0 0 8px;
  font-size:20px;
  letter-spacing:-.03em;
  line-height:1.2;
}
.halal-plan-item p {
  margin:0;
  color:rgba(18,23,28,.7);
  font-size:15px;
  line-height:1.55;
}
@media (max-width:800px) {
  .halal-tour-grid, .halal-place-grid { grid-template-columns:1fr 1fr; }
  .halal-plan-item { grid-template-columns:40px 1fr; gap:12px; padding-bottom:22px; }
  .halal-plan-item::before { left:10px; }
  .halal-plan-item h3 { font-size:18px; }
  .halal-plan-day-label b { font-size:36px; }
}
@media (max-width:430px) {
  .halal-tour-grid, .halal-place-grid { grid-template-columns:1fr; }
}
@media (max-width:800px) {
  .minprice-chips { grid-template-columns:1fr 1fr; }
  .operator-wall { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .proof-partners-head { display:block; }
  .hero { padding-top:76px !important; min-height:auto !important; }
}

.site-footer,
.inner-page .site-footer {
  display:grid !important;
  grid-template-columns:1.25fr .9fr .95fr 1.05fr;
  gap:36px 28px;
  width:100%;
  max-width:none;
  box-sizing:border-box;
  padding:56px max(40px, calc((100% - 1180px) / 2)) 28px !important;
  background:#0a0d10 !important;
  color:#f6f4ef;
}
.footer-col { display:flex; flex-direction:column; gap:10px; padding-top:4px; }
.footer-col b { margin:0 0 6px; color:#e8c99a; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.footer-col a { color:rgba(246,244,239,.8); font-size:13px; font-weight:500; letter-spacing:.02em; text-transform:none; }
.footer-col a:hover { color:#e8c99a; }
.footer-contacts a { letter-spacing:.01em; }
.site-footer .footer-brand p { margin:18px 0 0; font-family:'Newsreader',Georgia,serif; font-size:20px; line-height:1.25; color:rgba(246,244,239,.78); }
.site-footer .footer-bottom {
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px 18px;
  margin-top:8px;
  padding-top:20px;
  border-top:1px solid rgba(246,244,239,.12);
  color:rgba(246,244,239,.5);
  font-size:11px;
  letter-spacing:.04em;
  text-transform:none;
  opacity:1;
}
.site-footer .footer-bottom a { color:rgba(246,244,239,.7); }
.site-footer .footer-bottom a:hover { color:#e8c99a; }
@media (max-width:800px) {
  .site-footer, .inner-page .site-footer { grid-template-columns:1fr 1fr; padding:40px 18px 24px !important; }
  .site-footer .footer-brand { grid-column:1/-1; }
}

.desktop-nav {
  flex-wrap: nowrap;
  max-width: none;
  gap: 22px;
  font-size: 11px;
  letter-spacing: .1em;
}
.desktop-nav > a[href="/tours"],
.desktop-nav > a.nav-tours,
.inner-header .desktop-nav > a[href="/tours"],
.inner-page .desktop-nav > a[href="/tours"] {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  margin: -8px 0;
  background: #e8c99a !important;
  color: #12171c !important;
  letter-spacing: .08em;
  box-shadow: 0 0 0 1px rgba(232,201,154,.4);
}
.desktop-nav > a[href="/tours"]:hover,
.desktop-nav > a.nav-tours:hover,
.inner-header .desktop-nav > a[href="/tours"]:hover,
.inner-page .desktop-nav > a[href="/tours"]:hover {
  opacity: 1;
  background: #f3dcbb !important;
  color: #12171c !important;
}
.nav-more {
  position: relative;
}
.nav-more > summary {
  list-style: none;
  cursor: pointer;
}
.nav-more > summary::-webkit-details-marker { display: none; }
.nav-more > summary::after {
  content: " ▾";
  font-size: 9px;
}
.nav-more-list {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 20;
  min-width: 220px;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 10px 0;
  background: #0a1218;
  border: 1px solid rgba(245, 246, 243, .16);
  box-shadow: 0 16px 36px rgba(7, 19, 31, .28);
}
.nav-more-list a {
  padding: 10px 16px;
  white-space: nowrap;
}
.nav-more-list a:hover { background: rgba(245, 246, 243, .06); }
.nav-toggle {
  display:none;
  margin-left:auto;
  padding:8px 12px;
  border:1px solid rgba(245,246,243,.28);
  background:transparent;
  color:#f5f6f3;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
}
.review-vk { white-space:nowrap; }
.office-block { padding:72px 0 24px; }
.office-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:18px; }
.office-legal { padding:28px; background:#fff; border:1px solid rgba(16,35,51,.12); }
.office-legal p { margin:0 0 16px; font-size:15px; line-height:1.55; color:rgba(18,23,28,.78); }
.office-legal a { color:#9a7b4f; border-bottom:1px solid rgba(154,123,79,.4); }
.office-map { min-height:320px; background:#dce4e4; border:1px solid rgba(16,35,51,.12); }
.office-map iframe { display:block; width:100%; height:100%; min-height:320px; border:0; }
.passport-guide { padding:72px 0 40px; }
.passport-select { display:block; max-width:420px; margin-bottom:22px; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.passport-select select { display:block; width:100%; margin-top:8px; padding:12px 10px; border:1px solid rgba(16,35,51,.18); background:#fff; font-size:16px; letter-spacing:0; text-transform:none; }
.passport-card { padding:28px; background:#fff; border:1px solid rgba(16,35,51,.12); }
.passport-card small { color:#9a7b4f; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.passport-card h3 { margin:10px 0 16px; font-size:32px; letter-spacing:-.04em; text-transform:uppercase; }
.passport-card p { margin:0 0 12px; font-size:15px; line-height:1.55; color:rgba(18,23,28,.78); }
.passport-visa-link { margin-left:8px; color:#9a7b4f; border-bottom:1px solid rgba(154,123,79,.4); white-space:nowrap; }
.passport-visa-link:hover { color:#12171c; }
@media (max-width:800px) {
  .nav-toggle { display:inline-flex; align-items:center; }
  .desktop-nav { display:none !important; width:100%; order:5; margin:0; max-width:none; flex-direction:column; align-items:flex-start; gap:14px; padding:8px 0 12px; }
  .desktop-nav.is-open { display:flex !important; }
  .nav-more { width:100%; }
  .nav-more-list {
    position: static;
    min-width: 0;
    margin-top: 8px;
    padding: 0 0 0 12px;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  .nav-more-list a { padding: 8px 0; }
  .desktop-nav > a[href="/tours"],
  .desktop-nav > a.nav-tours {
    margin: 0;
    padding: 10px 14px;
  }
  .office-grid { grid-template-columns:1fr; }
}

.card-badge {
  position:absolute;
  top:22px;
  right:52px;
  padding:5px 8px;
  background:#14110c;
  color:#e8c99a;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.service-stage {
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:12px;
  margin-bottom:12px;
}
.service-feature {
  position:relative;
  display:block;
  min-height:420px;
  overflow:hidden;
  color:#f5f6f3;
  text-decoration:none;
}
.service-feature img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.02);
  transition:transform .6s ease;
}
.service-feature:hover img { transform:scale(1.08); }
.service-feature-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,13,16,.12) 20%,rgba(10,13,16,.78) 100%);
}
.service-feature-copy {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:1;
  padding:28px 26px 24px;
}
.service-feature .card-badge {
  position:static;
  display:inline-block;
  margin:0 0 12px;
  background:rgba(20,17,12,.72);
}
.service-feature h3 {
  margin:0 0 10px;
  max-width:none;
  font-size:clamp(28px,3.2vw,42px);
  line-height:1;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.service-feature p {
  max-width:34em;
  margin:0 0 16px;
  font-size:15px;
  line-height:1.5;
  color:rgba(245,246,243,.82);
}
.service-feature .card-link { color:#e8c99a; }
.service-feature .card-link b { color:#e8c99a; }
.service-strip {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:rgba(18,23,28,.1);
  border:1px solid rgba(18,23,28,.1);
}
.service-strip a {
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:118px;
  padding:18px 18px 16px;
  background:#f6f4ef;
  color:var(--ink);
  text-decoration:none;
  transition:transform .22s ease, background .22s ease;
}
.service-strip a:hover { background:#efe6d8; transform:translateY(-4px); }
.service-strip span {
  color:#9a7b4f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}
.service-strip strong {
  font-size:18px;
  letter-spacing:-.03em;
  text-transform:uppercase;
}
.service-strip small {
  color:rgba(18,23,28,.62);
  font-size:13px;
  line-height:1.4;
}
@media (max-width:800px) {
  .service-stage { grid-template-columns:1fr; }
  .service-feature { min-height:280px; }
  .service-strip { grid-template-columns:1fr 1fr; }
}
.online-tours-band {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) auto;
  gap:28px 40px;
  align-items:end;
  margin-bottom:28px;
  padding:36px 32px;
  background:#12171c;
  color:#f6f4ef;
}
.online-tours-band .eyebrow { color:#e8c99a; }
.home-block-head { align-items:end; margin-bottom:28px; }
.home-block-head h2,
.section-heading.compact h2 {
  margin:8px 0 0;
  font-size:clamp(26px,3vw,38px);
  line-height:1.1;
  letter-spacing:-.03em;
  text-transform:none;
}
.home-block-head .section-intro { margin:0; max-width:280px; }
.about-compact {
  grid-template-columns: 180px 1fr;
  gap: 28px;
  padding: 28px 0 48px;
  align-items: center;
}
.about-compact .about-image-wrap { height: 120px; }
.about-compact .about-image { inset: 0; }
.about-compact .about-copy { padding: 0; }
.about-compact .about-copy > p:not(.eyebrow) { max-width: 520px; margin: 8px 0 14px; }
.about-compact .about-copy em {
  color: #9a7b4f;
  font-style: normal;
  font-weight: 700;
}
.about-company-link {
  color: #9a7b4f;
  border-bottom-color: rgba(154, 123, 79, .55);
}
.about-company-link:hover { color: #7d6240; }
.trust-proof { padding: 56px 0 64px; }
.contact-intro h2 {
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.15;
  text-transform: none;
  margin: 10px 0 16px;
}
.online-tours-band h2 {
  margin:18px 0 16px;
  font-size:clamp(28px,3.4vw,42px);
  line-height:1.1;
  letter-spacing:-.03em;
  text-transform:none;
}
.online-tours-band h2 em { color:#c9a05a; font-style:normal; }
.online-tours-lead { max-width:540px; margin:0; font-size:16px; line-height:1.55; color:rgba(246,244,239,.78); }
.online-tours-points {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:28px 0 0;
  padding:0;
  list-style:none;
}
.online-tours-points li {
  margin:0;
  font-size:15px;
  font-weight:700;
  letter-spacing:-.02em;
}
.online-tours-points span {
  display:block;
  margin-top:4px;
  font-size:12px;
  font-weight:500;
  color:rgba(246,244,239,.55);
}
.online-tours-band .button { align-self:end; }
@media (max-width:800px) {
  .card-badge { top:16px; right:42px; }
  .online-tours-band { grid-template-columns:1fr; padding:24px 18px; }
  .online-tours-points { grid-template-columns:1fr; }
}

.sport-kp {
  margin-top: 18px;
  padding: 18px 18px 16px;
  background: #fff;
  color: #12171c;
  border: 1px solid #d4cdc0;
}
.sport-kp .eyebrow {
  margin: 0 0 2px;
  font-size: 10px;
}
.sport-kp h3 {
  margin: 0 0 6px;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.15;
  letter-spacing: -.03em;
  text-transform: uppercase;
  color: #12171c !important;
}
.sport-kp h3 em { font-style: italic; color: #3d2f1c; text-transform: none; }
.sport-kp-lead {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(18, 23, 28, .62);
}
.sport-kp .eyebrow span { display: none; }
.sport-kp-meta {
  display: grid;
  grid-template-columns: 1.3fr 1.3fr .9fr .9fr;
  gap: 8px;
  margin-bottom: 10px;
}
.sport-kp-span { grid-column: span 2; }
.sport-kp-meta label {
  display: grid;
  gap: 3px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #6b6258;
}
.sport-kp-meta input,
.sport-kp-table input {
  width: 100%;
  min-height: 22px;
  padding: 1px 5px;
  border: 1px solid #cfc8bb;
  background: #fff;
  color: #12171c;
  font: 11px/1.25 inherit;
}
.sport-kp-table input { text-align: right; }
.sport-kp-table .sport-kp-name input,
.sport-kp-table th input { text-align: left; }
.sport-kp-name {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.sport-kp-table .sport-kp-name input {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}
.sport-kp-name span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sport-kp-table-wrap { overflow-x: auto; border: 1px solid #d4cdc0; }
.sport-kp-error {
  margin: 0 0 8px;
  color: #9a3b2f;
  font-size: 12px;
  font-weight: 600;
}
.sport-kp-agree {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 10px 0 10px;
  color: #4a453f;
  font-size: 12px;
  line-height: 1.35;
  cursor: pointer;
}
.sport-kp-agree input {
  margin-top: 2px;
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
}
.sport-kp-table tbody td.sport-kp-note-cell input,
.sport-kp-cursive {
  text-align: left;
  font-style: italic;
}
.sport-kp-addbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 8px 0 0;
}
.sport-kp-addbar span {
  margin-right: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #6b6258;
}
.sport-kp-add {
  margin: 0;
  padding: 4px 8px;
  border: 1px solid #d4cdc0;
  background: #fff;
  color: #8a6d45;
  font: 700 10px/1.2 inherit;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}
.sport-kp-addbar .sport-kp-add,
.sport-kp-addbar button {
  margin: 0;
  padding: 4px 8px;
  border: 1px solid #d4cdc0;
  background: #fff;
  color: #8a6d45;
  font: 700 10px/1.2 inherit;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}
.sport-kp-remove {
  flex: 0 0 auto;
  margin-left: 0;
  padding: 0 4px;
  border: 0;
  background: none;
  color: rgba(18, 23, 28, .35);
  cursor: pointer;
}
.sport-kp-table {
  width: 100%;
  min-width: 720px;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 11px;
}
.sport-kp-table th,
.sport-kp-table td {
  padding: 2px 4px;
  border: 1px solid #e4e0d6;
  text-align: left;
  vertical-align: middle;
}
.sport-kp-table thead th {
  background: #f3eee4;
  font-size: 9px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #5d5348;
  white-space: nowrap;
  padding: 3px 4px;
}
.sport-kp-table thead th.sport-kp-note-head {
  white-space: normal;
}
.sport-kp-table thead th.sport-kp-note-head span {
  display: block;
  margin-top: 1px;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: none;
  color: #8a7d70;
}
.sport-kp-table tbody td.sport-kp-name-cell {
  width: 24%;
  font-size: 11px;
  font-weight: 650;
}
.sport-kp-table tbody td.sport-kp-note-cell { width: 26%; }
.sport-kp-table tbody td { width: 72px; }
.sport-kp-table tbody td:last-child { width: 86px; }
.sport-kp-table td:last-child,
.sport-kp-table tfoot td {
  white-space: nowrap;
  text-align: right;
  font-weight: 700;
}
.sport-kp-table tfoot td:first-child {
  text-align: left;
}
.sport-kp-table tfoot th,
.sport-kp-table tfoot td {
  background: #f3eee4;
  font-size: 11px;
  padding: 4px;
}
.sport-kp-na { color: rgba(18, 23, 28, .35); }
.sport-kp-hint {
  margin: 6px 0 0;
  font-size: 11px;
  color: rgba(18, 23, 28, .5);
}
.sport-kp-words {
  display: grid;
  gap: 2px;
  margin: 10px 0 8px;
  padding: 8px 10px;
  background: #f7f3ec;
  border-left: 2px solid #9a7b4f;
}
.sport-kp-words span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #9a7b4f;
}
.sport-kp-words b {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}
.sport-kp .button {
  margin-top: 0;
  min-height: 42px;
  padding: 0 16px;
  font-size: 12px;
}
@media (max-width: 900px) {
  .sport-kp { padding: 14px 12px; }
  .sport-kp-meta { grid-template-columns: 1fr 1fr; }
  .sport-kp-span { grid-column: span 2; }
}
@media (max-width: 560px) {
  .sport-kp-meta { grid-template-columns: 1fr; }
  .sport-kp-span { grid-column: auto; }
}

.podborka-create,
.podborka-view { padding: 48px 0 80px; }
.podborka-create h1,
.podborka-view h1 { font-size: clamp(36px, 5vw, 56px); letter-spacing: -.04em; }
.podborka-create .section-intro,
.podborka-view .section-intro { max-width: 520px; }
.podborka-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 22px; margin: 28px 0 22px; }
.podborka-meta label,
.podborka-option label { display: block; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.podborka-meta input,
.podborka-option input {
  display: block; width: 100%; margin-top: 6px; padding: 10px 0;
  border: 0; border-bottom: 1px solid rgba(16, 35, 51, .28); background: transparent; font-size: 16px;
}
.podborka-option {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px 18px;
  margin-bottom: 14px; padding: 18px 20px 20px; background: #fff; border: 1px solid rgba(18, 23, 28, .08);
}
.podborka-option header { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; }
.podborka-option header b { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.podborka-span { grid-column: 1 / -1; }
.podborka-remove {
  border: 0; background: none; color: rgba(18, 23, 28, .45); font-size: 12px; cursor: pointer; text-decoration: underline;
}
.podborka-add { margin: 8px 0 22px; border: 0; background: none; font-size: 14px; cursor: pointer; text-decoration: underline; }
.podborka-result { margin-top: 28px; padding: 20px 22px; background: #fff; border: 1px solid rgba(18, 23, 28, .08); }
.podborka-result input { width: 100%; margin: 10px 0 14px; padding: 10px 12px; border: 1px solid rgba(18, 23, 28, .15); font-size: 14px; }
.podborka-result-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.podborka-grid { display: grid; gap: 12px; margin: 28px 0 36px; }
.podborka-card {
  display: grid; grid-template-columns: auto 1fr auto; gap: 8px 22px; align-items: start;
  padding: 22px 24px; background: #fff; border: 1px solid rgba(18, 23, 28, .08);
}
.podborka-card > span { font-size: 12px; font-weight: 800; letter-spacing: .12em; opacity: .4; }
.podborka-card h3 { margin: 0; font-size: 22px; letter-spacing: -.03em; }
.podborka-card p { margin: 6px 0 0; font-size: 14px; color: rgba(18, 23, 28, .62); }
.podborka-card strong { font-size: 24px; letter-spacing: -.03em; }
.podborka-card small { display: block; margin-top: 6px; color: rgba(18, 23, 28, .5); }
.podborka-card-copy { min-width: 0; }
.podborka-card-side { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; text-align: right; }
.podborka-card-side .button { white-space: nowrap; }
.podborka-note { font-size: 13px; color: rgba(18, 23, 28, .55); }
@media (max-width: 800px) {
  .podborka-meta, .podborka-option { grid-template-columns: 1fr 1fr; }
  .podborka-card { grid-template-columns: 1fr; }
  .podborka-card-side { align-items: flex-start; text-align: left; }
}
@media (max-width: 560px) {
  .podborka-meta, .podborka-option { grid-template-columns: 1fr; }
}

.insurance-hero { padding:120px 0 28px; }
.insurance-hero h1,
.insurance-product-head h2,
.insurance-file h2 { text-transform:none; font-weight:500; }
.insurance-product { padding:36px 0 12px; scroll-margin-top:88px; }
.insurance-hero h1 { margin:18px 0 16px; max-width:14em; font-size:clamp(42px,5.4vw,72px); line-height:.95; letter-spacing:-.045em; }
.insurance-hero .inner-lead { max-width:34em; margin:0 0 28px; font-size:17px; line-height:1.55; color:rgba(18,23,28,.72); }
.insurance-jump { display:flex; flex-wrap:wrap; gap:10px; }
.insurance-jump a { padding:12px 16px; border:1px solid rgba(18,23,28,.14); background:#fff; color:#12171c; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.insurance-jump a:hover { border-color:#9a7b4f; color:#9a7b4f; }
.insurance-product { padding:36px 0 12px; }
.insurance-product + .insurance-product { border-top:1px solid rgba(18,23,28,.1); margin-top:28px; }
.insurance-product-head { display:grid; grid-template-columns:64px 1fr; gap:18px; align-items:start; margin-bottom:22px; }
.insurance-product-head > span { font-family:'Newsreader',Georgia,serif; font-size:42px; color:#9a7b4f; line-height:1; }
.insurance-product-head h2 { margin:8px 0 10px; font-size:clamp(32px,4vw,48px); line-height:.98; letter-spacing:-.04em; }
.insurance-product-head p { margin:0; max-width:38em; color:rgba(18,23,28,.7); font-size:16px; line-height:1.5; }
.insurance-coef { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.insurance-coef-label { margin:0 0 10px; color:#9a7b4f; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.insurance-coef span { display:flex; flex-direction:column; gap:4px; min-width:108px; padding:12px 14px; background:#fff; border:1px solid rgba(18,23,28,.1); font-size:12px; color:rgba(18,23,28,.62); }
.insurance-coef b { color:#9a7b4f; font-size:18px; letter-spacing:-.03em; }
.insurance-calc-card { padding:28px; background:#fff; border:1px solid rgba(18,23,28,.1); }
.insurance-calc { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:0 0 8px; }
.insurance-calc[data-kind="nevyezd"] { grid-template-columns:1.2fr .7fr 1.4fr; }
.insurance-ages { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.insurance-alcohol { grid-column:1/-1; margin:6px 0 8px; }
.insurance-file { display:flex; align-items:end; justify-content:space-between; gap:28px; padding:48px 0 12px; border-top:1px solid rgba(18,23,28,.1); }
.insurance-file h2 { margin:10px 0 12px; font-size:clamp(32px,4vw,48px); line-height:.98; }
.insurance-file p { margin:0; max-width:34em; color:rgba(18,23,28,.68); }
.insurance-hero .inner-lead { max-width:34em; margin:0 0 8px; }
.insurance-pick {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin:28px 0 0;
}
.insurance-pick-card {
  display:flex;
  flex-direction:column;
  min-height:240px;
  padding:24px 26px 22px;
  background:#f6f2e8;
  border:1px solid rgba(18,23,28,.16);
  color:#12171c;
  text-decoration:none;
}
.insurance-pick-card:hover { border-color:#c9a05a; }
.insurance-pick-card small {
  color:#c9a05a;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.insurance-pick-card small::before { content:"— "; }
.insurance-pick-card h2 {
  margin:12px 0 10px;
  font-size:clamp(28px,3.4vw,40px);
  letter-spacing:-.04em;
  font-weight:500;
}
.insurance-pick-card p {
  margin:0;
  color:rgba(18,23,28,.68);
  font-size:15px;
  line-height:1.5;
}
.insurance-pick-card b {
  margin-top:auto;
  padding-top:18px;
  color:#c9a05a;
  font-size:16px;
  font-weight:600;
}
.insurance-pick-card span {
  margin-top:8px;
  font-size:13px;
  letter-spacing:.04em;
}
.insurance-plain {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 22px;
  margin:0 0 18px;
}
.insurance-plain article {
  padding:20px 22px;
  background:#f6f2e8;
  border:1px solid rgba(18,23,28,.16);
}
.insurance-plain h3 {
  margin:0 0 12px;
  font-size:16px;
  letter-spacing:-.02em;
}
.insurance-plain ul {
  margin:0;
  padding-left:18px;
  color:rgba(18,23,28,.7);
  font-size:14px;
  line-height:1.55;
}
.insurance-plain li + li { margin-top:6px; }
.insurance-hint {
  margin:0 0 10px;
  color:rgba(18,23,28,.68);
  font-size:14px;
  line-height:1.5;
}
.insurance-steps {
  margin:28px 0 8px;
  padding:22px 24px;
  border:1px solid rgba(18,23,28,.16);
}
.insurance-steps ol {
  margin:12px 0 0;
  padding-left:20px;
}
.insurance-steps li {
  margin:0 0 10px;
  color:rgba(18,23,28,.72);
  font-size:15px;
  line-height:1.5;
}
.insurance-steps li:last-child { margin-bottom:0; }
@media (max-width:800px) {
  .insurance-hero { padding-top:104px; }
  .insurance-product-head, .insurance-file, .insurance-pick, .insurance-plain { display:block; }
  .insurance-pick-card + .insurance-pick-card,
  .insurance-plain article + article { margin-top:12px; }
  .insurance-product-head > span { display:block; margin-bottom:8px; }
  .insurance-calc, .insurance-calc[data-kind="nevyezd"], .insurance-ages { grid-template-columns:1fr 1fr; }
  .insurance-file .button { margin-top:22px; }
}

/* One photo per hero: img.hero-media, no stock CSS layer underneath */
.hero:has(.hero-media),
.inner-hero:has(.hero-media) {
  background-image: none !important;
  background-color: #171410 !important;
}
.hero > .hero-shade {
  background: linear-gradient(100deg, rgba(10,13,16,.48) 0%, rgba(10,13,16,.18) 50%, rgba(10,13,16,.06) 100%);
}
.inner-hero .hero-shade {
  background: linear-gradient(90deg, rgba(10,10,10,.36) 0%, rgba(10,10,10,.12) 42%, rgba(10,10,10,0) 72%);
}

/* Mobile layout: partners, Tourvisor minprice, Infoflot, sticky chips.
   Не трогать .searcher-stage / .tv-search-form iframe — иначе календари и списки Tourvisor растягиваются на весь экран. */
.proof-grid,
.proof-partners,
.operator-wall { min-width:0; max-width:100%; }
.proof-partners { overflow:hidden; }
.tourvisor-minprice,
.tourvisor-live-module,
.tv-min-price,
.infoflot-widget,
.infoflot-embed,
.tripster-embed {
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.tourvisor-live-module,
.tv-min-price,
.infoflot-embed {
  min-height:280px;
}
.searcher-stage .tv-search-form { min-height:220px; overflow:visible !important; }
.tourvisor-live-module iframe,
.tv-min-price iframe,
.infoflot-widget iframe,
.infoflot-embed iframe,
.tourvisor-minprice iframe {
  display:block;
  width:100% !important;
  max-width:100% !important;
  min-height:320px;
  border:0;
}
.searcher-stage iframe,
.tv-search-form iframe {
  display:block;
  border:0;
  max-width:none !important;
  width:auto !important;
  min-height:0 !important;
  height:auto !important;
}
.tv-min-price > div,
.tourvisor-live-module > div {
  max-width:100% !important;
}
@media (max-width:800px) {
  html, body {
    overflow-x:clip;
    max-width:100%;
  }
  .trust-proof, .section-shell { max-width:100%; overflow-x:hidden; }
  .inner-page .visa-switch {
    position:static;
    top:auto;
    z-index:auto;
    box-shadow:none;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    padding:12px 0 10px;
  }
  .inner-page .visa-switch + * {
    padding-top:12px;
  }
  .operator-wall {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px 10px;
  }
  .operator-wall figure { min-height:56px; padding:8px 4px; }
  .operator-wall img { height:32px; }
  .proof-partners { padding:18px 16px 14px !important; }
  .proof-partners-head { display:block; }
  .proof-partners-head p { max-width:none; }
  .searcher-stage {
    width:calc(100% - 24px);
    margin-left:auto;
    margin-right:auto;
    padding:12px 10px 10px;
    min-height:320px;
  }
  .searcher-stage-bar { flex-wrap:wrap; gap:6px; }
  .tourvisor-minprice { padding:14px 12px; }
  .infoflot-widget { padding:16px 12px; }
  .infoflot-filters { grid-template-columns:1fr; }
  .infoflot-empty { min-height:220px; padding:22px 16px; }
  .infoflot-empty strong { font-size:20px; }
}
@media (max-width:430px) {
  .operator-wall { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .operator-wall figcaption { font-size:9px; }
}

.minprice-stage {
  width:min(1180px, calc(100% - 80px));
  margin:28px auto 48px;
  position:relative;
  z-index:2;
  padding:0;
  background:transparent;
}
.minprice-stage .tourvisor-minprice {
  margin:0;
  padding:22px 24px;
  background:#f6f4ef;
  overflow:visible;
}
.minprice-stage .tourvisor-live-module,
.minprice-stage .tv-min-price {
  overflow:visible;
  min-height:0;
}
.minprice-stage iframe {
  width:100% !important;
  max-width:100% !important;
  min-height:0 !important;
  height:auto !important;
}
.about-facts {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:rgba(18,23,28,.1);
  margin:0 auto 48px;
}
.about-facts article {
  padding:28px 26px;
  background:#f6f4ef;
}
.about-facts b {
  display:block;
  margin-bottom:10px;
  color:#9a7b4f;
  font-size:10px;
  letter-spacing:.14em;
}
.about-facts strong {
  display:block;
  margin-bottom:8px;
  font-size:22px;
  letter-spacing:-.03em;
  text-transform:uppercase;
}
.about-facts p {
  margin:0;
  max-width:36em;
  color:rgba(18,23,28,.68);
  font-size:15px;
  line-height:1.5;
}
.hero .hero-media,
.inner-hero .hero-media {
  animation: mediaIn .85s ease both;
}
@keyframes mediaIn {
  from { opacity:.6; transform:scale(1.05); }
  to { opacity:1; transform:scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .hero .hero-media,
  .inner-hero .hero-media { animation:none; }
  .service-strip a { transition:none; }
}
@media (max-width:800px) {
  .minprice-stage { width:calc(100% - 24px); margin:20px auto 36px; }
  .about-facts { grid-template-columns:1fr; }
  .hero-adv-two { grid-template-columns:1fr; max-width:none; }
}

/* Homepage: facts strip + search under hero */
.home-facts {
  padding:28px 0 8px;
}
.home-facts-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.home-facts-row article {
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:22px 24px;
  background:#f6f4ef;
  border:1px solid rgba(18,23,28,.1);
}
.home-facts-num {
  flex:none;
  color:#9a7b4f;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1.2;
}
.home-facts-row strong {
  display:block;
  margin:0 0 8px;
  color:#12171c;
  font-size:18px;
  line-height:1.25;
  font-weight:600;
  letter-spacing:-.02em;
}
.home-facts-row p {
  margin:0;
  color:rgba(18,23,28,.72);
  font-size:14px;
  line-height:1.5;
}
.home-facts-more { margin-top:8px; }
.home-facts-more summary {
  cursor:pointer;
  color:#9a7b4f;
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
  list-style:none;
}
.home-facts-more summary::-webkit-details-marker { display:none; }
.home-facts-more summary::after { content:" →"; }
.home-facts-more[open] summary::after { content:" ↑"; }
.home-facts-more p { margin-top:8px; }
.searcher-stage.home-searcher {
  margin-top:28px;
  margin-bottom:12px;
}
@media (max-width:800px) {
  .home-facts-row { grid-template-columns:1fr; }
  .searcher-stage.home-searcher { margin-top:18px; }
}

/* Cruise finder: Infoflot-like widget, then sidebar + cards */
.inner-hero.cruise-hero {
  min-height:220px;
  padding:68px 0 88px;
}
.inner-hero.cruise-hero .cruise-hero-copy {
  max-width:440px;
  padding:14px 18px 16px;
}
.inner-hero.cruise-hero h1 {
  margin:10px 0 0;
  font-size:clamp(28px,3.6vw,42px);
  line-height:1.08;
  letter-spacing:-.03em;
}
.inner-hero.cruise-hero .hero-shade {
  background:linear-gradient(90deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.18) 42%,rgba(10,10,10,.35) 100%);
}
#cruise-page.is-results ~ .inner-content { display:none; }
#cruise-page ~ .inner-content { padding:48px 0 56px; }
#cruise-page ~ .inner-content .inner-bullets { margin-top:28px; }
.cruise-sr-only {
  position:absolute !important;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.cruise-finder-form { margin:0; min-width:0; max-width:100%; }
.cruise-page { min-width:0; max-width:100%; overflow-x:clip; }
.inner-page:has(#cruise-page) { overflow-x:clip; }
.cruise-finder {
  width:min(1180px, calc(100% - 80px));
  max-width:100%;
  margin:-96px auto 12px;
  position:relative;
  z-index:4;
  padding:18px 20px 16px;
  background:#fff;
  border:1px solid rgba(18,23,28,.08);
  border-radius:16px;
  box-shadow:0 18px 44px rgba(16,35,51,.14);
  box-sizing:border-box;
}
.cruise-finder::before {
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:0;
  height:3px;
  border-radius:0 0 3px 3px;
  background:#c9a05a;
}
.cruise-page.is-results .cruise-finder {
  position:sticky;
  top:8px;
  z-index:6;
  padding:12px 16px 10px;
}
.cruise-page.is-results .cruise-finder-title,
.cruise-page.is-results .cruise-finder-shortcuts { display:none; }
.cruise-page.is-results .cruise-finder-head { margin-bottom:10px; }
.cruise-page.is-results .cruise-finder-bar label { min-height:64px; padding-top:10px; padding-bottom:10px; }
.cruise-page.is-results .cruise-finder-go { min-height:64px; }
.cruise-finder .cruise-chip-row {
  margin:12px 0 0;
  padding-top:0;
}
.cruise-page .cruise-chip {
  border:0;
  border-radius:999px;
  background:#f3f0ea;
  color:var(--ink);
  padding:8px 14px;
  font-size:13px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}
.cruise-page .cruise-chip:hover { background:#e8e4dc; }
.cruise-page .cruise-chip.is-on {
  background:#12171c;
  color:#f6f4ef;
}
.cruise-quick {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 0;
}
.cruise-quick[hidden] { display:none !important; }
.cruise-quick button {
  border:0;
  background:#f3f0ea;
  color:var(--ink);
  padding:8px 14px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  border-radius:999px;
}
.cruise-quick button:hover { background:var(--paper); }
.cruise-tags {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 14px;
}
.cruise-tags[hidden] { display:none !important; }
.cruise-tag {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  border-radius:999px;
  background:var(--paper);
  color:var(--ink);
  padding:7px 12px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}
.cruise-tag:hover { background:#e8e4dc; }
.cruise-wait { color:rgba(18,23,28,.62); font-size:14px; margin:0 0 12px; }
.cruise-side-block { margin:0 0 16px; }
.cruise-side-block > span {
  display:block;
  margin:0 0 8px;
  color:rgba(18,23,28,.55);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cruise-side .cruise-chip-row { margin:0; }
.cruise-side .cruise-chip {
  padding:6px 10px;
  font-size:12px;
  letter-spacing:0;
  text-transform:none;
  border-radius:999px;
}
.cruise-filters-toggle {
  display:none;
  border:1px solid rgba(18,23,28,.16);
  background:#fff;
  padding:8px 12px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.cruise-result-price em {
  font-style:normal;
  color:rgba(16,35,51,.5);
  font-size:12px;
  font-weight:500;
}
.cruise-skeleton {
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:18px;
  padding:0;
  background:#fff;
  border:1px solid var(--line);
  overflow:hidden;
  animation:cruise-pulse 1.2s ease-in-out infinite;
}
.cruise-skeleton-photo {
  min-height:176px;
  background:linear-gradient(90deg, #e8ece9 25%, #f4f6f5 50%, #e8ece9 75%);
  background-size:200% 100%;
}
.cruise-skeleton-body { padding:18px 18px 18px 0; display:grid; gap:10px; }
.cruise-skeleton-line {
  height:14px;
  border-radius:4px;
  background:linear-gradient(90deg, #e8ece9 25%, #f4f6f5 50%, #e8ece9 75%);
  background-size:200% 100%;
}
.cruise-skeleton-line.is-short { width:35%; }
.cruise-skeleton-line.is-long { width:85%; }
@keyframes cruise-pulse {
  0% { opacity:.92; }
  50% { opacity:1; }
  100% { opacity:.92; }
}
.cruise-more {
  display:grid;
  gap:8px;
  justify-items:center;
  padding:8px 0 20px;
}
.cruise-more small { color:rgba(16,35,51,.55); font-size:13px; }
.cruise-load-more { min-width:220px; }
.cruise-result {
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.cruise-result:hover {
  border-color:rgba(18,23,28,.24);
  box-shadow:0 10px 28px rgba(16,35,51,.1);
  transform:translateY(-1px);
}
.home-smart-wrap {
  width:min(1180px, calc(100% - 80px));
  margin:-42px auto 8px;
  position:relative;
  z-index:5;
}
.home-smart-card {
  width:100%;
  margin:0;
}
.home-smart-card .cruise-finder-title { margin-bottom:12px; }
.home-smart-wrap .cruise-smart-hints a {
  border:0;
  background:#f3f0ea;
  color:var(--ink);
  padding:7px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
}
.home-smart-wrap .cruise-smart-hints a:hover { background:#e8e4dc; }
@media (max-width:900px) {
  .home-smart-wrap { width:calc(100% - 24px); margin-top:-28px; }
}
.cruise-smart {
  display:grid;
  grid-template-columns:minmax(0,1fr) 132px;
  gap:8px;
  margin:0 0 10px;
}
.cruise-smart-field {
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  min-height:64px;
  margin:0;
  padding:10px 16px 10px 44px;
  border:1px solid rgba(18,23,28,.08);
  border-radius:16px;
  background:#f7f5f1;
  color:rgba(18,23,28,.52);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  position:relative;
}
.cruise-smart-field::before {
  content:"";
  position:absolute;
  left:16px;
  top:24px;
  width:16px;
  height:16px;
  background:#9a7b4f;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><circle cx='11' cy='11' r='6.5'/><path d='M16 16l5 5'/></svg>") center / contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><circle cx='11' cy='11' r='6.5'/><path d='M16 16l5 5'/></svg>") center / contain no-repeat;
}
.cruise-smart-field:focus-within {
  background:#fff;
  border-color:rgba(201,160,90,.7);
  box-shadow:0 0 0 3px rgba(201,160,90,.16);
}
.cruise-smart-field input {
  width:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:#12171c;
  font-size:16px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  outline:0;
}
.cruise-smart-go {
  min-height:64px;
  border-radius:16px;
  margin:0;
}
.cruise-smart-hints {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 14px;
}
.cruise-smart-hints button {
  border:0;
  background:#f3f0ea;
  color:var(--ink);
  padding:7px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}
.cruise-smart-hints button:hover { background:#e8e4dc; }
.cruise-smart-read {
  margin:0 0 12px;
  color:rgba(18,23,28,.62);
  font-size:14px;
}
.cruise-smart-read b { color:var(--ink); }
.cruise-page.is-results .cruise-smart-hints,
.cruise-page.is-results .cruise-quick { display:none; }
.cruise-finder-head {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:end;
  gap:14px 20px;
  margin-bottom:16px;
  min-width:0;
  max-width:100%;
}
.cruise-finder-title { display:grid; gap:4px; }
.cruise-finder-title span {
  color:#9a7b4f;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.cruise-finder-title strong,
.cruise-finder-head strong {
  font-size:26px;
  font-weight:600;
  letter-spacing:-.04em;
}
.cruise-finder-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:0;
  padding:0;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(18,23,28,.1);
  border-radius:0;
  min-width:0;
  max-width:100%;
}
.cruise-finder-tabs .cruise-chip {
  background:transparent;
  border-radius:0;
  padding:10px 16px;
  margin-bottom:-1px;
  border-bottom:2px solid transparent;
  color:rgba(18,23,28,.55);
}
.cruise-finder-tabs .cruise-chip:hover {
  background:transparent;
  color:var(--ink);
}
.cruise-finder-tabs .cruise-chip.is-on {
  background:transparent;
  color:var(--ink);
  border-bottom-color:#c9a05a;
}
.cruise-finder-panel {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:0;
  align-items:stretch;
  min-width:0;
  max-width:100%;
}
.cruise-finder-bar {
  display:grid;
  grid-template-columns:1fr 1fr .85fr 1.15fr 1.15fr 1fr;
  gap:0;
  border:0;
  background:#12171c;
  border-radius:10px 0 0 10px;
  overflow:visible;
  min-width:0;
  max-width:100%;
}
.cruise-page.is-results .cruise-finder-shortcuts,
.cruise-page.is-results .cruise-quick { display:none; }
.cruise-finder-shortcuts {
  display:flex;
  flex-wrap:wrap;
  gap:14px 32px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(18,23,28,.08);
  min-width:0;
  max-width:100%;
}
.cruise-finder-shortcut {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 12px;
  min-width:0;
  max-width:100%;
  flex:1 1 100%;
}
.cruise-finder-shortcut > span {
  flex:0 0 auto;
  color:rgba(18,23,28,.42);
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.cruise-finder-shortcut .cruise-chip-row {
  margin:0;
  flex:1 1 0;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.cruise-finder-shortcut .cruise-chip-row::-webkit-scrollbar { display:none; }
.cruise-finder-shortcut .cruise-chip {
  border-radius:0;
  background:transparent;
  padding:4px 0;
  border-bottom:1px solid transparent;
  font-size:14px;
  font-weight:500;
  color:rgba(18,23,28,.62);
}
.cruise-finder-shortcut .cruise-chip:hover {
  background:transparent;
  color:var(--ink);
}
.cruise-finder-shortcut .cruise-chip.is-on {
  background:transparent;
  color:var(--ink);
  border-bottom-color:#c9a05a;
}
.cruise-suggest-field { position:relative; display:block; min-width:0; max-width:100%; }
.cruise-clear {
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:rgba(18,23,28,.45);
  width:22px;
  height:22px;
  padding:0;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.cf-city, .cf-route { position:relative; overflow:visible; }
.cruise-suggest {
  position:absolute;
  left:0;
  right:0;
  top:calc(100% - 2px);
  z-index:8;
  display:grid;
  background:#fff;
  border:1px solid rgba(18,23,28,.14);
  box-shadow:0 12px 28px rgba(16,35,51,.12);
}
.cruise-suggest[hidden] { display:none !important; }
.cruise-suggest-item {
  display:block;
  width:100%;
  border:0;
  background:#fff;
  text-align:left;
  padding:10px 14px;
  font-size:14px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  color:var(--ink);
  cursor:pointer;
}
.cruise-suggest-item:hover,
.cruise-suggest-item.is-on { background:var(--paper); }
.cruise-month {
  margin:18px 0 4px;
  color:rgba(18,23,28,.55);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cruise-page.is-sea .cruise-finder-bar {
  grid-template-columns:1fr 1fr .85fr 1fr 1fr 1fr;
}
.cruise-page.is-sea .cf-city,
.cruise-page.is-sea .cf-route { display:none; }
.cruise-page:not(.is-sea) .cf-country,
.cruise-page:not(.is-sea) .cf-port { display:none; }
.cruise-finder-bar label {
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  min-height:76px;
  min-width:0;
  margin:0;
  padding:12px 16px 12px 42px;
  border:0;
  border-right:1px solid rgba(255,255,255,.08);
  border-radius:0;
  background:transparent;
  color:rgba(246,244,239,.42);
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  position:relative;
}
.cruise-finder-bar label:last-child { border-right:0; }
.cruise-finder-bar label:focus-within {
  background:rgba(255,255,255,.04);
  box-shadow:inset 0 -2px 0 #c9a05a;
}
.cruise-finder-bar label::before {
  content:"";
  position:absolute;
  left:16px;
  top:26px;
  width:16px;
  height:16px;
  background:#c9a05a;
  opacity:.8;
  -webkit-mask:center / contain no-repeat;
  mask:center / contain no-repeat;
}
.cruise-finder-bar .cruise-clear { color:rgba(246,244,239,.45); }
.cruise-finder-bar .cruise-clear:hover { color:#f6f4ef; }
.cf-date::before,
.cf-date-to::before { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><rect x='4' y='5' width='16' height='15' rx='2'/><path d='M4 10h16M8 3v4M16 3v4'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><rect x='4' y='5' width='16' height='15' rx='2'/><path d='M4 10h16M8 3v4M16 3v4'/></svg>"); }
.cf-len::before { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><circle cx='12' cy='12' r='8'/><path d='M12 8v5l3 2'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><circle cx='12' cy='12' r='8'/><path d='M12 8v5l3 2'/></svg>"); }
.cf-city::before,
.cf-port::before,
.cf-country::before { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><path d='M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11z'/><circle cx='12' cy='10' r='2.2'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><path d='M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11z'/><circle cx='12' cy='10' r='2.2'/></svg>"); }
.cf-route::before { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><circle cx='6' cy='7' r='2.2'/><circle cx='18' cy='17' r='2.2'/><path d='M8 8c3 0 5 8 8 8'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><circle cx='6' cy='7' r='2.2'/><circle cx='18' cy='17' r='2.2'/><path d='M8 8c3 0 5 8 8 8'/></svg>"); }
.cf-ship::before { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><path d='M4 14l8-8 8 8'/><path d='M3 17h18l-2 4H5z'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><path d='M4 14l8-8 8 8'/><path d='M3 17h18l-2 4H5z'/></svg>"); }
.cruise-finder-bar input,
.cruise-finder-bar select {
  width:100%;
  min-width:0;
  max-width:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:#f6f4ef;
  font-size:16px;
  font-weight:600;
  outline:0;
  color-scheme:dark;
}
.cruise-finder-bar select option {
  background:#12171c;
  color:#f6f4ef;
}
.cruise-finder-bar input::placeholder { color:rgba(246,244,239,.35); }
.cruise-finder-go {
  width:auto;
  min-width:152px;
  min-height:76px;
  margin:0;
  border:0;
  border-radius:0 10px 10px 0;
  padding:0 24px;
  font-size:15px;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
}
.cruise-layout {
  display:grid;
  width:min(1180px, calc(100% - 80px));
  max-width:100%;
  margin:0 auto 40px;
  grid-template-columns:280px minmax(0,1fr);
  gap:24px;
  align-items:start;
  box-sizing:border-box;
}
.cruise-page.is-detail .cruise-side { display:none; }
.cruise-page.is-detail .cruise-layout { grid-template-columns:1fr; }
.cruise-side {
  position:sticky;
  top:96px;
  padding:0;
  background:#12171c;
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 18px 44px rgba(16,35,51,.2);
}
.cruise-side-head {
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  margin:0;
  padding:20px 20px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.cruise-side-kicker {
  display:block;
  margin:0 0 4px;
  color:rgba(246,244,239,.42);
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.cruise-side-head b {
  color:#f6f4ef;
  font-size:18px;
  font-weight:600;
  letter-spacing:-.02em;
}
.cruise-side-head button {
  border:0;
  background:transparent;
  color:#c9a05a;
  padding:2px 0 0;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
}
.cruise-side-group {
  padding:16px 20px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.cruise-side-group.is-last {
  border-bottom:0;
  padding-bottom:20px;
}
.cruise-side-label {
  margin:0 0 12px;
  color:rgba(246,244,239,.42);
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.cruise-side-check {
  display:flex !important;
  align-items:center;
  gap:10px;
  margin:0 0 10px !important;
  padding:0;
  color:#f6f4ef !important;
  font-size:14px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  cursor:pointer;
}
.cruise-side-check:last-child { margin-bottom:0 !important; }
.cruise-side-check input {
  width:16px;
  height:16px;
  margin:0;
  accent-color:#c9a05a;
}
.cruise-side-group > label:not(.cruise-side-check) {
  display:block;
  margin:0 0 14px;
  color:rgba(246,244,239,.42);
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.cruise-side-group > label:not(.cruise-side-check):last-child { margin-bottom:0; }
.cruise-side input:not([type="checkbox"]),
.cruise-side select {
  display:block;
  width:100%;
  margin-top:8px;
  padding:8px 0;
  border:0;
  border-bottom:1px solid rgba(246,244,239,.18);
  background:transparent;
  color:#f6f4ef;
  font-size:15px;
  font-weight:500;
}
.cruise-side input:not([type="checkbox"]):focus,
.cruise-side select:focus {
  outline:0;
  border-bottom-color:#c9a05a;
}
.cruise-side select option {
  background:#12171c;
  color:#f6f4ef;
}
.cruise-switch {
  display:flex !important;
  align-items:center;
  gap:10px;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:14px !important;
  font-weight:500 !important;
  color:#12171c !important;
}
.cruise-switch input { width:auto; margin:0; }
.cruise-board { padding:0 0 40px; min-width:0; }
.cruise-board .infoflot-empty {
  min-height:140px;
  margin:0 0 18px;
  padding:28px 24px;
  border:1px solid rgba(18,23,28,.12);
  background:#fff;
}
.cruise-meta {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:end;
  margin:0 0 14px;
  color:rgba(18,23,28,.62);
  font-size:14px;
}
.cruise-meta strong { color:var(--ink); font-size:22px; letter-spacing:-.03em; }
.cruise-meta-right { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; justify-content:flex-end; }
.cruise-results { display:grid; gap:12px; margin-top:0; }
.cruise-result {
  display:grid;
  grid-template-columns:220px minmax(0,1fr) 200px;
  align-items:stretch;
  gap:0 18px;
  background:#fff;
  border:1px solid rgba(18,23,28,.08);
  border-radius:18px;
  color:var(--ink);
  text-decoration:none;
  overflow:hidden;
}
.cruise-result-photo { width:220px; height:100%; min-height:176px; object-fit:cover; background:#d5ddd9; }
.cruise-result-body { padding:18px 8px 18px 0; min-width:0; }
.cruise-result h3 { margin:0 0 10px; font-size:22px; letter-spacing:-.04em; }
.cruise-when {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:10px;
  align-items:center;
  margin:0 0 12px;
}
.cruise-when div { min-width:0; }
.cruise-when b { display:block; font-size:15px; }
.cruise-when span { display:block; margin-top:4px; color:rgba(18,23,28,.55); font-size:12px; }
.cruise-when-mid {
  padding:6px 10px;
  background:var(--paper);
  text-align:center;
  font-size:12px;
  font-weight:700;
}
.cruise-result-route { margin:0; color:rgba(16,35,51,.7); font-size:14px; line-height:1.45; }
.cruise-result-price {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  gap:8px;
  min-width:0;
  padding:18px 18px 18px 0;
  text-align:right;
}
.cruise-result-price strong { font-size:22px; }
.cruise-result-price small { color:rgba(16,35,51,.55); font-size:12px; }
.cruise-result-price .button { min-width:0; width:100%; margin:8px 0 0; }
.cruise-urgent { color:#b2563a; font-size:12px; font-weight:700; }
.cruise-sheet { background:#fff; border:1px solid rgba(18,23,28,.12); overflow:hidden; }
.cruise-sheet-photo { display:block; width:100%; height:340px; object-fit:cover; background:#d5ddd9; }
.cruise-sheet-body { padding:28px 28px 36px; }
.cruise-sheet-top {
  display:grid;
  grid-template-columns:minmax(0,1fr) 240px;
  gap:20px;
  align-items:start;
  margin-bottom:18px;
}
.cruise-sheet-top h2 { margin:8px 0 0; font-size:clamp(28px,3.6vw,44px); letter-spacing:-.05em; }
.cruise-sheet-pay { text-align:right; }
.cruise-sheet-pay strong { display:block; font-size:32px; letter-spacing:-.04em; }
.cruise-sheet-pay small { display:block; margin-top:4px; color:rgba(18,23,28,.5); }
.cruise-sheet-pay .button { margin-top:14px; width:100%; }
.cruise-sheet .cruise-when { max-width:520px; margin-bottom:18px; }
.cruise-sheet-ship { margin:0 0 8px; font-size:16px; }
.cruise-sheet-route { margin:0 0 8px; font-size:16px; line-height:1.5; color:rgba(18,23,28,.78); }
.cabin-bar {
  background:#fff;
  color:var(--ink);
  border-top:1px solid rgba(18,23,28,.14);
}
.cabin-bar-copy span { color:rgba(18,23,28,.5); }
@media (max-width:900px) {
  .cruise-finder {
    width:auto;
    max-width:none;
    margin:-56px max(12px, env(safe-area-inset-right, 0px)) 8px max(12px, env(safe-area-inset-left, 0px));
    padding:12px;
  }
  .cruise-page.is-results .cruise-finder {
    margin-left:max(12px, env(safe-area-inset-left, 0px));
    margin-right:max(12px, env(safe-area-inset-right, 0px));
  }
  .inner-hero.cruise-hero { min-height:180px; padding:60px 0 64px; }
  .inner-hero.cruise-hero .cruise-hero-copy { max-width:none; padding:12px 14px 14px; }
  .inner-hero.cruise-hero h1 { font-size:clamp(24px,7vw,32px); }
  .cruise-page.is-results .cruise-finder { top:4px; }
  .cruise-skeleton { grid-template-columns:1fr; }
  .cruise-skeleton-photo { width:100%; height:160px; min-height:160px; }
  .cruise-finder-head { flex-direction:column; align-items:stretch; gap:10px; }
  .cruise-finder-title strong { font-size:22px; }
  .cruise-finder-panel { grid-template-columns:minmax(0,1fr); width:100%; }
  .cruise-finder-bar,
  .cruise-page.is-sea .cruise-finder-bar {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    border-radius:10px 10px 0 0;
    width:100%;
  }
  .cruise-finder-bar label {
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.08);
    min-height:64px;
    padding:10px 12px 10px 12px;
  }
  .cruise-finder-bar label::before { display:none; }
  .cruise-finder-bar label:nth-last-child(-n+2) { border-bottom:0; }
  .cruise-finder-go { width:100%; min-width:0; min-height:52px; border-radius:0 0 10px 10px; }
  .cruise-finder-shortcuts { flex-direction:column; gap:12px; }
  .cruise-finder-tabs {
    width:100%;
    max-width:100%;
    border-radius:0;
    overflow-x:auto;
    flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .cruise-finder-tabs::-webkit-scrollbar { display:none; }
  .cruise-finder-tabs .cruise-chip { white-space:nowrap; flex:0 0 auto; }
  .cruise-smart { grid-template-columns:1fr; }
  .cruise-smart-go { min-height:52px; }
  .cruise-layout,
  .cruise-page.is-detail .cruise-layout {
    width:auto;
    max-width:none;
    margin-left:max(12px, env(safe-area-inset-left, 0px));
    margin-right:max(12px, env(safe-area-inset-right, 0px));
    grid-template-columns:minmax(0,1fr);
  }
  .cruise-board { min-width:0; max-width:100%; }
  .cruise-filters-toggle { display:inline-flex; }
  .cruise-side { display:none; }
  .cruise-page.is-filters .cruise-side {
    display:block;
    position:sticky;
    top:88px;
    z-index:5;
  }
  .cruise-result { grid-template-columns:1fr; }
  .cruise-result-photo { width:100%; height:180px; }
  .cruise-result-price { align-items:stretch; text-align:left; padding:0 16px 16px; }
  .cruise-sheet-photo { height:220px; }
  .cruise-sheet-top { grid-template-columns:1fr; }
  .cruise-sheet-pay { text-align:left; }
  .cruise-sheet-body { padding:18px 16px 24px; }
}

.co-who{
  background:#0a1218;
  color:#f6f4ef;
  border-top:1px solid rgba(232,201,154,.35);
  border-bottom:1px solid rgba(232,201,154,.18);
}
.co-who-inner{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.72fr);
  gap:28px 48px;
  padding:48px 0 52px;
}
.co-who h2{
  margin:10px 0 14px;
  max-width:12ch;
  font-size:clamp(36px,4.4vw,58px);
  line-height:.95;
  letter-spacing:-.05em;
  text-transform:uppercase;
}
.co-who h2 em{font-style:italic;font-weight:500;color:#e8c99a}
.co-who-lead{
  margin:0 0 28px;
  max-width:34em;
  color:rgba(246,244,239,.72);
  font-size:16px;
  line-height:1.55;
}
.co-principles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(246,244,239,.12);
}
.co-principles article{
  padding:18px 16px 20px;
  background:#0a1218;
}
.co-principles span{
  display:block;
  margin-bottom:10px;
  color:#e8c99a;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
}
.co-principles strong{
  display:block;
  margin-bottom:8px;
  font-size:15px;
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.co-principles p{
  margin:0;
  color:rgba(246,244,239,.62);
  font-size:13px;
  line-height:1.45;
}
.co-stats{
  display:flex;
  flex-direction:column;
  gap:1px;
  background:rgba(246,244,239,.12);
  align-self:stretch;
}
.co-stats article{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px 24px;
  background:#12171c;
}
.co-stats b{
  display:block;
  margin-bottom:8px;
  color:#e8c99a;
  font-size:clamp(28px,3vw,40px);
  letter-spacing:-.04em;
  line-height:1;
}
.co-stats strong{
  display:block;
  margin-bottom:6px;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.co-stats p{
  margin:0;
  color:rgba(246,244,239,.6);
  font-size:13px;
  line-height:1.4;
}
@media (max-width:900px){
  .co-who-inner{grid-template-columns:1fr;padding:36px 0 40px}
  .co-principles{grid-template-columns:1fr}
  .co-stats{flex-direction:row}
}
@media (max-width:560px){
  .co-stats{flex-direction:column}
}

/* Homepage: cream facts + search, as on the 21:42 screenshots */
.home-search-band {
  background:#f6f2e8;
  padding:18px 0 8px;
}
.home-facts {
  position:relative;
  z-index:4;
  margin:0;
  padding:8px 0 28px;
  background:#f6f2e8;
  color:#12171c;
  border:0;
}
.home-facts-inner {
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:0;
}
.home-fact {
  display:block;
  padding:18px 22px 8px 0;
}
.home-fact + .home-fact {
  padding-left:22px;
  border-left:1px solid rgba(18,23,28,.1);
}
.home-fact-value {
  display:inline;
  margin:0 8px 0 0;
  color:#8a6324;
  font-family:Georgia,'Times New Roman',serif;
  font-size:22px;
  line-height:1.1;
  letter-spacing:-.03em;
  font-weight:600;
  font-style:italic;
}
.home-fact-copy { display:inline; }
.home-fact-copy strong {
  display:inline;
  margin:0;
  color:#12171c;
  font-size:16px;
  font-weight:600;
  letter-spacing:-.02em;
  text-transform:none;
}
.home-fact-copy p {
  display:block;
  margin:8px 0 0;
  color:rgba(18,23,28,.62);
  font-size:13px;
  line-height:1.4;
}
.home-fact-copy p + p {
  margin-top:5px;
}
.home-fact-copy a {
  color:#07131f;
  text-decoration:underline;
  text-underline-offset:2px;
}
.searcher-stage.home-searcher {
  margin-top:0;
  margin-bottom:0;
  z-index:5;
  min-height:0;
  padding:12px 14px 6px;
  background:#f8f5f0;
  border:1px solid rgba(18,23,28,.1);
  box-shadow:none;
}
.searcher-stage.home-searcher .tv-search-form { min-height:0; }
.searcher-stage.home-searcher .searcher-stage-bar {
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:baseline;
  gap:10px 16px;
  padding:2px 4px 10px;
  margin-bottom:4px;
}
.searcher-more {
  color:#9a7b4f;
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
  text-decoration:none;
  border-bottom:1px solid rgba(154,123,79,.35);
  white-space:nowrap;
}
.searcher-more:hover { border-bottom-color:#9a7b4f; }
.destinations-head { margin-bottom:18px; }
.destinations { padding-bottom:28px; }
.destinations + .reviews { padding-top:8px; }
.destinations .tourvisor-minprice {
  padding:18px 4px 8px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.sv-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:10px;
}
.sv-four {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.sv-fill-card {
  position:relative;
  display:block;
  overflow:hidden;
  color:#f4f1ea;
  text-decoration:none;
}
.sv-fill-lg { height:248px; }
.sv-fill-sm { height:160px; }
.sv-fill-card img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
  transition:transform .45s ease;
}
.sv-fill-card:hover img { transform:scale(1.08); }
.sv-fill-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(14,18,24,.78) 6%,rgba(14,18,24,.32) 48%,rgba(14,18,24,.18) 100%);
}
.sv-fill-copy {
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  height:100%;
  padding:0 20px;
  max-width:28em;
}
.sv-fill-sm .sv-fill-copy { padding:0 14px; }
.sv-fill-card .num {
  color:#e8c99a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}
.sv-fill-card strong {
  display:block;
  margin:4px 0 2px;
  font-size:22px;
  letter-spacing:-.04em;
  text-transform:uppercase;
  line-height:1;
}
.sv-fill-sm strong { font-size:15px; margin:3px 0 2px; }
.sv-fill-card small {
  color:rgba(244,241,234,.82);
  font-size:13px;
  line-height:1.3;
}
.sv-fill-sm small { font-size:11px; }
.sv-fill-card .go {
  margin-top:6px;
  color:#e8c99a;
  font-size:12px;
  font-weight:600;
}
.home-proof-row {
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:28px 36px;
  margin:36px 0 28px;
}
.home-proof-row article { padding:0; background:transparent; border:0; }
.home-proof-row small {
  color:#9a7b4f;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.home-proof-row h3 { margin:10px 0 8px; font-size:20px; letter-spacing:-.03em; }
.home-proof-row p { margin:0; color:rgba(18,23,28,.68); font-size:14px; line-height:1.5; }
.home-ops {
  display:grid;
  grid-template-columns:repeat(8, minmax(0,1fr));
  gap:12px 16px;
  align-items:center;
  margin:8px 0 12px;
}
.home-ops figure { margin:0; padding:8px 4px; background:transparent; border:0; }
.home-ops img { display:block; width:100%; height:34px; object-fit:contain; filter:grayscale(1); opacity:.78; }
@media (max-width:800px) {
  .home-facts-inner { grid-template-columns:1fr 1fr; }
  .home-fact { padding:16px 12px 12px 0; }
  .home-fact + .home-fact { padding-left:12px; border-left:1px solid rgba(18,23,28,.1); }
  .searcher-stage.home-searcher {
    margin-top:0;
    width:calc(100% - 36px);
  }
  .searcher-stage.home-searcher .searcher-stage-bar {
    grid-template-columns:1fr;
    gap:8px;
  }
  .sv-pair { grid-template-columns:1fr; }
  .sv-four { grid-template-columns:1fr 1fr; }
  .sv-fill-lg { height:200px; }
  .sv-fill-sm { height:132px; }
  .home-proof-row { grid-template-columns:1fr; gap:18px; }
  .home-ops { grid-template-columns:repeat(4, minmax(0,1fr)); }
}

.reviews,
.reviews.section-shell {
  width:min(1180px, calc(100% - 80px)) !important;
  max-width:1180px !important;
  margin-inline:auto !important;
  background:#f6f2e8 !important;
}
.review-lead,
.review-list article {
  background:#f6f2e8 !important;
  border:1px solid rgba(18,23,28,.16) !important;
}

:root { --cream:#f6f2e8; --paper:#f6f2e8; --mint:#f6f2e8; }
html, body, main {
  background:#f6f2e8 !important;
}
.home-facts,
.home-search-band,
.searcher-stage.home-searcher,
.services,
.services.section-shell,
.services.sv-fill,
.destinations,
.destinations.section-shell,
.tourvisor-minprice,
.about,
.about.about-compact,
.reviews,
.reviews.section-shell,
.contact-section,
.contact-section.section-shell {
  background:#f6f2e8 !important;
  border-color:rgba(18,23,28,.12) !important;
  box-shadow:none !important;
}
.services,
.services.sv-fill,
.home-facts,
.home-search-band {
  border:0 !important;
}
.home-search-band {
  padding-top:16px !important;
}
.searcher-stage.home-searcher {
  margin-top:12px !important;
}
.searcher-stage.home-searcher .searcher-stage-bar {
  padding-top:8px;
}
@media (max-width:900px) {
  .searcher-stage.home-searcher { margin-top:16px !important; }
}
.tours-page .tours-search-first {
  padding-top:96px;
}
.tours-page .searcher-stage.tours-searcher {
  margin-top:3cm !important;
}
.home-ops-box {
  margin:20px 0 8px;
  padding:18px 22px 16px;
  background:#f6f2e8;
  border:1px solid rgba(18,23,28,.16);
}
.home-ops-label {
  margin:0 0 14px;
  color:#9a7b4f;
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.home-ops-box .home-ops {
  margin:0;
}
.site-footer,
.inner-page .site-footer {
  background:#07131f !important;
}
.home-under-search {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 22px;
  align-items:stretch;
  padding:28px 0 12px;
}
.home-under-doc {
  display:flex;
  flex-direction:column;
  padding:22px 24px 22px;
  background:#f6f2e8;
  border:1px solid rgba(18,23,28,.16);
}
@media (max-width:800px) {
  .home-under-search { grid-template-columns:1fr; }
}
.home-under-doc small {
  color:#9a7b4f;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.home-under-doc h3 {
  margin:10px 0 8px;
  font-size:22px;
  letter-spacing:-.03em;
}
.home-under-doc p {
  margin:0;
  color:rgba(18,23,28,.68);
  font-size:14px;
  line-height:1.5;
}
.home-under-firm {
  margin-bottom:14px !important;
}
.home-under-nums {
  margin:0;
  padding:0;
  list-style:none;
}
.home-under-nums li {
  margin:0;
  padding:7px 0;
  color:rgba(18,23,28,.68);
  font-size:14px;
  line-height:1.4;
  border-top:1px solid rgba(18,23,28,.1);
}
.home-under-nums li:last-child {
  border-bottom:1px solid rgba(18,23,28,.1);
}
.home-under-nums b {
  display:block;
  margin-top:2px;
  color:#12171c;
  font-weight:500;
  letter-spacing:.01em;
}
.home-under-link {
  margin-top:auto;
  padding-top:14px;
  color:#07131f;
  font-size:14px;
  text-decoration:underline;
  text-underline-offset:3px;
}
.home-under-pay {
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid rgba(18,23,28,.1);
}
.home-under-pay strong {
  display:block;
  margin-bottom:6px;
  color:#12171c;
  font-size:16px;
  font-weight:500;
  letter-spacing:-.02em;
}
.home-proof-row:has(article:only-child) {
  grid-template-columns:minmax(0, 380px);
}
.hero .eyebrow,
.home-block-head .eyebrow,
.about-compact > .eyebrow,
.contact-intro .eyebrow,
.home-ops-label,
.inner-page .insurance-hero .eyebrow,
.inner-page .insurance-product-head .eyebrow,
.inner-page .insurance-steps .eyebrow,
.inner-page .insurance-file .eyebrow,
.inner-page .lead-cta .eyebrow {
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  margin:0;
  padding:0;
  color:#c9a05a !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  line-height:1.35;
}
.hero .eyebrow span,
.home-block-head .eyebrow span,
.about-compact > .eyebrow span,
.contact-intro .eyebrow span,
.inner-page .insurance-hero .eyebrow span,
.inner-page .insurance-steps .eyebrow span,
.inner-page .insurance-file .eyebrow span,
.inner-page .lead-cta .eyebrow span {
  display:none !important;
}
.hero .eyebrow::before,
.home-block-head .eyebrow::before,
.about-compact > .eyebrow::before,
.contact-intro .eyebrow::before,
.home-ops-label::before,
.inner-page .insurance-hero .eyebrow::before,
.inner-page .insurance-product-head .eyebrow::before,
.inner-page .insurance-steps .eyebrow::before,
.inner-page .insurance-file .eyebrow::before,
.inner-page .lead-cta .eyebrow::before {
  content:"—";
  margin-right:8px;
}
.about-compact > .eyebrow {
  grid-column:1 / -1;
  margin-bottom:12px;
}
.home-ops-label,
.home-ops-title {
  margin:20px 0 12px !important;
}
.home-ops-box {
  margin-top:0;
}
main > .contact-section.section-shell {
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Homepage block titles: italic, first words black, last phrase gold-orange */
.home-block-head h2,
.contact-intro h2,
.home-ops-title {
  color:#12171c;
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-weight:400;
  text-transform:none;
}
.home-ops-title {
  display:block;
  margin:20px 0 12px;
  font-size:clamp(26px,3vw,38px);
  line-height:1.1;
  letter-spacing:-.03em;
}
.home-block-head h2 em,
.contact-intro h2 em,
.home-ops-title em {
  color:#c9a05a !important;
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic !important;
  font-weight:400;
}

/* Homepage facts as mockup 1 (Янтарь): named heading + framed amber cards */
.home-facts {
  padding:18px 0 36px;
}
.home-facts-head {
  margin-bottom:18px;
  padding:0;
}
.home-facts-head h2 {
  margin:6px 0 0;
  font-size:clamp(28px,3.2vw,34px);
  font-weight:400;
  letter-spacing:-.03em;
}
.home-facts-inner {
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}
.home-fact,
.home-fact + .home-fact {
  display:block;
  padding:16px 16px 18px;
  border:1px solid rgba(18,23,28,.12);
  background:#fffdf8;
}
.home-fact-value {
  display:block;
  margin:0 0 8px;
  color:#c4782a;
  font-family:Georgia,'Times New Roman',serif;
  font-size:34px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:500;
  font-style:normal;
}
.home-fact-copy {
  display:block;
}
.home-fact-copy strong {
  display:block;
  margin:0 0 6px;
  font-size:16px;
  font-weight:600;
}
.home-fact-copy a {
  color:#c4782a;
}
@media (max-width:800px) {
  .home-facts-inner { grid-template-columns:1fr 1fr; }
  .home-fact,
  .home-fact + .home-fact { padding:16px; }
}

/* Homepage services: two doors, full-bleed, larger presence */
.services.sv-fill .home-block-head h2 {
  font-size:clamp(32px,4vw,46px);
}
.sv-doors {
  display:grid;
  grid-template-columns:1fr 1fr;
  width:100%;
}
.sv-door {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:40px 48px 36px;
  color:#f6f2e8;
  min-height:420px;
}
.sv-door .eyebrow {
  margin:0;
  color:#e8c99a !important;
  font-size:12px !important;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:600;
}
.sv-door .eyebrow::before { content:"— "; }
.sv-door .eyebrow span { display:none; }
.sv-door h3 {
  margin:10px 0 20px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(36px,4.4vw,52px);
  font-weight:400;
  font-style:italic;
  letter-spacing:-.04em;
}
.sv-door ul { margin:0; padding:0; list-style:none; }
.sv-door li {
  padding:9px 0;
  border-top:1px solid rgba(246,242,232,.2);
  font-size:16px;
  line-height:1.4;
}
.sv-door a { color:#f6f2e8; text-decoration:none; }
.sv-door a:hover { color:#e8c99a; }
.sv-door-rest {
  background:
    radial-gradient(120% 80% at 10% 0%, rgba(246,226,186,.18), transparent 46%),
    linear-gradient(165deg, #8a4a1c 0%, #5c3214 42%, #2a1810 100%);
}
.sv-door-work {
  background:
    radial-gradient(90% 70% at 90% 0%, rgba(201,160,90,.22), transparent 42%),
    linear-gradient(165deg, #163044 0%, #0b1a28 52%, #07131f 100%);
  box-shadow:inset 1px 0 0 rgba(201,160,90,.4);
}
@media (max-width:800px) {
  .sv-doors { grid-template-columns:1fr; }
  .sv-door { min-height:0; padding:28px 22px 24px; }
  .sv-door-work { box-shadow:none; }
}

/* Footer: same paint as business door */
.site-footer,
.inner-page .site-footer {
  position:relative;
  background:
    radial-gradient(90% 70% at 90% 0%, rgba(201,160,90,.22), transparent 42%),
    linear-gradient(165deg, #163044 0%, #0b1a28 52%, #07131f 100%) !important;
  box-shadow:inset 0 2px 0 #c9a05a;
  padding-top:64px !important;
}
.site-footer .footer-brand p {
  margin:20px 0 0;
  max-width:16em;
  color:#f6f2e8;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(22px,2.4vw,28px);
  font-style:italic;
  font-weight:400;
  line-height:1.2;
  letter-spacing:-.03em;
}
.site-footer .footer-brand em {
  color:#c9a05a;
  font-style:italic;
}
.footer-phone {
  display:inline-block;
  margin-top:16px;
  color:#f6f2e8 !important;
  font-family:Georgia,'Times New Roman',serif;
  font-size:22px;
  font-style:italic;
  letter-spacing:-.02em;
  text-decoration:none;
}
.footer-phone:hover { color:#e8c99a !important; }
.footer-col b {
  color:#c9a05a;
  font-size:11px;
  letter-spacing:.12em;
}
.footer-col a {
  padding:1px 0;
  border-bottom:1px solid transparent;
}
.footer-col a:hover {
  color:#e8c99a;
  border-bottom-color:rgba(201,160,90,.35);
}
.site-footer .footer-bottom {
  border-top-color:rgba(201,160,90,.28);
}
.visa-bot-note {
  margin:16px 0 0;
  max-width:46em;
  padding:12px 16px;
  border-left:3px solid #c9a05a;
  background:rgba(201,160,90,.1);
  color:rgba(18,23,28,.78);
  font-size:14px;
  line-height:1.5;
}
.visa-bot-note b { color:#12171c; }
.review-who > div {
  display:flex;
  flex-direction:column;
  gap:3px;
}
.review-who strong,
.review-who small {
  display:block !important;
}
.site-footer .brand {
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
}
.site-footer .brand::before {
  align-self:flex-start;
  width:56px;
  height:16px;
  margin:0;
  background-position:left center;
}
.site-footer .brand > span:not(.brand-mark) {
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}
.site-footer .brand-mark { display:none !important; }
.site-footer .brand::after { content:none; }
.site-footer .brand strong,
.site-footer .brand small {
  display:block !important;
  font-size:14px;
  line-height:1.15;
  letter-spacing:.2em;
}
.site-footer .brand small {
  margin:0;
  font-size:8px;
  opacity:.65;
}
.site-header .brand,
.inner-header .brand,
.site-footer .brand {
  font-size:14px;
}
.site-header .brand > span:not(.brand-mark),
.inner-header .brand > span:not(.brand-mark),
.site-footer .brand > span:not(.brand-mark) {
  font-size:14px;
}
.brand strong + small::before {
  content:"\00a0";
}
