:root { --ht-accent:var(--awd-color-accent); --ht-accent-hover:var(--awd-color-accent-hover); --ht-accent-ink:var(--awd-color-accent-ink); --ht-dark:var(--awd-color-bg-dark); --ht-dark-2:var(--awd-color-dark-2); --ht-rail:var(--awd-color-rail); --ht-cream:var(--awd-color-bg); --ht-warm:var(--awd-color-bg-alt); --ht-edge:var(--awd-color-border); --ht-ink:var(--awd-color-text); --ht-body:var(--awd-color-body); --ht-muted:var(--awd-color-text-muted); --ht-dim:var(--awd-color-dim); --ht-hair:var(--awd-color-hairline-dark); --ht-inv:var(--awd-color-text-inverse); --ht-card:var(--awd-color-card); --ht-pill:var(--awd-color-pill); --ht-warm-2:var(--awd-color-warm-2); --ht-clay:var(--awd-color-clay); --ht-clay-ink:var(--awd-color-clay-ink); --ht-clay-body:var(--awd-color-clay-body); --ht-clay-kicker:var(--awd-color-clay-kicker); --awd-header-h:76px; }
.page-hotels { font-size:17px; line-height:1.65; }
.page-hotels *, .page-hotels *::before, .page-hotels *::after { box-sizing:border-box; }
.page-hotels h1 { font-size:clamp(36px,4.7vw,64px); font-style:normal; font-weight:300; letter-spacing:-.04em; line-height:1.03; margin:0 0 22px; max-width:12ch; }
.page-hotels h2 { font-size:clamp(29px,3.6vw,46px); font-style:normal; font-weight:300; letter-spacing:-.03em; line-height:1.12; margin:0 0 18px; }
.page-hotels h3 { font-size:20px; font-style:normal; font-weight:500; letter-spacing:-.01em; line-height:1.3; margin:0 0 10px; }
.page-hotels .ht-title-accent { color:var(--ht-accent); font-style:normal; }
.page-hotels .kicker { color:var(--ht-accent); font-size:11.5px; font-weight:600; letter-spacing:.23em; margin:0 0 14px; text-transform:uppercase; }
.page-hotels .lede { font-size:17.5px; line-height:1.6; margin:0; max-width:60ch; }
.page-hotels .btn { align-items:center; background:var(--ht-accent); border:0; border-radius:8px; color:var(--ht-dark-2); cursor:pointer; display:inline-flex; font-family:inherit; font-size:15px; font-weight:600; gap:9px; justify-content:center; min-height:50px; padding:14px 28px; text-decoration:none; transition:background .22s,transform .22s; }
.page-hotels .btn:hover { background:var(--ht-accent-hover); transform:translateY(-2px); }
.page-hotels .btn-ghost { background:transparent; border:1px solid color-mix(in srgb,var(--ht-accent) 50%,transparent); color:var(--ht-accent); }
.page-hotels .btn-ghost:hover { background:color-mix(in srgb,var(--ht-accent) 11%,transparent); transform:none; }
.page-hotels section[class*="ground-"] { overflow:hidden; padding:96px 0; position:relative; }
.page-hotels .ground-hero { background:var(--awd-gradient-hero); color:var(--ht-inv); }
.page-hotels section[class*="ground-"].ground-hero { padding-bottom:86px; padding-top:calc(var(--awd-header-h) + var(--wp-admin--admin-bar--height,0px) + 60px); }
.page-hotels .ground-dark { background:var(--ht-dark); color:var(--ht-inv); }
.page-hotels .ground-dark2 { background:var(--ht-dark-2); color:var(--ht-dim); }
.page-hotels .ground-cream { background:var(--ht-cream); color:var(--ht-ink); }
.page-hotels .ground-warm { background:var(--ht-warm); color:var(--ht-ink); }
.page-hotels .ground-clay { background:var(--ht-clay); color:var(--ht-clay-body); }
.page-hotels .ground-hero .lede, .page-hotels .ground-dark .lede, .page-hotels .ground-dark2 .lede { color:var(--ht-dim); }
.page-hotels .ground-cream .lede, .page-hotels .ground-warm .lede { color:var(--ht-body); }
.page-hotels .ground-clay .lede { color:var(--ht-clay-body); }
.page-hotels .ground-dark h2, .page-hotels .ground-hero h2, .page-hotels .ground-dark2 h2 { color:var(--ht-inv); }
.page-hotels .ground-clay h2 { color:var(--ht-clay-ink); }
.page-hotels .ground-clay .kicker { color:var(--ht-clay-kicker); }
.page-hotels .ground-clay .ht-title-accent { color:var(--ht-clay-ink); }
.page-hotels .ground-cream::before, .page-hotels .ground-warm::before { background:radial-gradient(80% 60% at 86% -8%,color-mix(in srgb,var(--ht-accent) 13%,transparent),transparent 62%); content:""; inset:0; pointer-events:none; position:absolute; }
.page-hotels .ground-warm::before { background:radial-gradient(70% 58% at 8% 0%,color-mix(in srgb,var(--ht-accent) 16%,transparent),transparent 64%); }
.page-hotels .wrap { max-width:1120px; padding:0 24px; position:relative; z-index:2; }
.page-hotels [hidden] { display:none !important; }
.ht-section-head { max-width:790px; }
.ht-narrow { max-width:850px !important; }
.ht-hero { align-items:stretch; display:grid; gap:36px; grid-template-columns:14px minmax(0,1fr); }
.ht-rail { background:var(--ht-rail); border-radius:2px; min-height:410px; overflow:hidden; position:relative; }
.ht-rail::after { animation:ht-rail-travel 8s cubic-bezier(.45,0,.55,1) infinite; background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ht-accent) 64%,transparent),transparent); content:""; height:42%; left:0; position:absolute; right:0; }
@keyframes ht-rail-travel { 0% { top:-42%; } 100% { top:100%; } }
.ht-hero-grid { align-items:center; display:grid; gap:56px; grid-template-columns:1.04fr .96fr; }
.ht-hero-grid > * { min-width:0; }
.ht-hero-facts { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
.ht-hero-facts span { border-left:1px solid var(--ht-rail); color:var(--ht-dim); display:flex; flex-direction:column; font-size:11.5px; line-height:1.35; padding:2px 18px; }
.ht-hero-facts span:first-child { padding-left:0; border-left:0; }
.ht-hero-facts b { color:var(--ht-inv); font-family:var(--awd-font-display); font-size:20px; font-weight:500; }
.ht-cta-row { display:flex; flex-wrap:wrap; gap:13px; margin-top:30px; }
.ht-booking-demo { background:color-mix(in srgb,var(--ht-dark-2) 90%,transparent); border:1px solid color-mix(in srgb,var(--ht-accent) 28%,transparent); border-radius:17px; box-shadow:0 30px 70px color-mix(in srgb,var(--ht-dark) 65%,transparent); padding:26px; }
.ht-demo-head { align-items:center; border-bottom:1px solid var(--ht-rail); display:flex; justify-content:space-between; margin-bottom:20px; padding-bottom:16px; }
.ht-demo-head span { align-items:center; color:var(--ht-accent); display:flex; font-size:11px; font-weight:600; gap:8px; letter-spacing:.16em; text-transform:uppercase; }
.ht-demo-head span i { animation:ht-pulse 2s ease-in-out infinite; background:var(--ht-accent); border-radius:50%; height:7px; width:7px; }
@keyframes ht-pulse { 0%,100% { opacity:.45; } 50% { opacity:1; } }
.ht-demo-head small { color:var(--ht-muted); font-size:10px; }
.ht-date-row { align-items:center; display:grid; gap:10px; grid-template-columns:1fr auto 1fr; }
.ht-date-row div { background:color-mix(in srgb,var(--ht-inv) 5%,transparent); border:1px solid var(--ht-rail); border-radius:10px; padding:13px; }
.ht-date-row small { color:var(--ht-muted); display:block; font-size:9.5px; text-transform:uppercase; }
.ht-date-row b { color:var(--ht-inv); display:block; font-size:13px; margin-top:2px; }
.ht-date-row > span { color:var(--ht-accent); }
.ht-room { align-items:start; background:color-mix(in srgb,var(--ht-inv) 6%,transparent); border:1px solid var(--ht-rail); border-radius:11px; display:grid; gap:13px; grid-template-columns:42px 1fr; margin:13px 0; padding:16px; }
.ht-room > span { align-items:center; background:color-mix(in srgb,var(--ht-accent) 13%,transparent); border-radius:9px; color:var(--ht-accent); display:flex; height:42px; justify-content:center; }
.ht-room small, .ht-room b, .ht-room em { display:block; }
.ht-room small { color:var(--ht-accent); font-size:10px; }
.ht-room b { color:var(--ht-inv); font-size:13px; margin:2px 0 5px; }
.ht-room em { color:var(--ht-dim); font-size:10.5px; font-style:normal; line-height:1.45; }
.ht-demo-total { align-items:end; border-bottom:1px solid var(--ht-rail); border-top:1px solid var(--ht-rail); display:flex; gap:14px; justify-content:space-between; margin:17px 0; padding:14px 0; }
.ht-demo-total small { color:var(--ht-muted); display:block; font-size:9px; }
.ht-demo-total span b { color:var(--ht-inv); display:block; font-size:12px; }
.ht-demo-total strong { color:var(--ht-accent); font-family:var(--awd-font-display); font-size:17px; font-weight:500; }
.ht-booking-demo > button { background:var(--ht-accent); border:0; border-radius:8px; color:var(--ht-dark-2); font:600 13px/1.2 var(--awd-font-body); min-height:47px; opacity:1; width:100%; }
.ht-booking-demo > p { align-items:center; color:var(--ht-dim); display:flex; font-size:10.5px; gap:7px; justify-content:center; margin:12px 0 0; }
.ht-booking-demo > p span { color:var(--ht-accent); }
.page-hotels section.ht-proof-strip { padding:0; }
.ht-stats { display:grid; grid-template-columns:repeat(4,1fr); padding-bottom:29px !important; padding-top:29px !important; }
.ht-stats > div { border-left:1px solid var(--ht-hair); padding:4px 24px; }
.ht-stats > div:first-child { border-left:0; padding-left:0; }
.ht-stats b { color:var(--ht-accent); display:block; font-family:var(--awd-font-display); font-size:26px; font-weight:500; line-height:1; }
.ht-stats small { color:var(--ht-dim); display:block; font-size:11.5px; line-height:1.35; margin-top:7px; }
.ht-answer { align-items:start; display:grid; gap:75px; grid-template-columns:.9fr 1.1fr; }
.ht-answer-copy { border-left:1px solid var(--ht-edge); padding-left:34px; }
.ht-answer-copy p { color:var(--ht-body); margin:0 0 16px; }
.ht-answer-copy p:last-child { margin-bottom:0; }
.ht-answer-copy strong { color:var(--ht-ink); font-weight:700; }
.ht-setup { align-items:start; display:grid; gap:26px; grid-template-columns:1.07fr .93fr; margin-top:38px; }
.ht-route-list { display:grid; gap:10px; }
.ht-route { align-items:center; background:var(--ht-card); border:1px solid var(--ht-edge); border-radius:13px; color:var(--ht-ink); cursor:pointer; display:grid; font-family:var(--awd-font-body); gap:13px; grid-template-columns:42px minmax(0,1fr) 22px; min-height:78px; padding:15px; text-align:left; transition:border-color .2s,background .2s,transform .2s,box-shadow .2s; width:100%; }
.ht-route:hover { border-color:var(--ht-accent); transform:translateY(-2px); }
.ht-route.is-selected { background:color-mix(in srgb,var(--ht-pill) 70%,var(--ht-card)); border-color:var(--ht-accent); box-shadow:inset 0 0 0 1px var(--ht-accent); }
.ht-route > span { align-items:center; background:var(--ht-warm-2); border-radius:10px; color:var(--ht-accent-ink); display:flex; height:42px; justify-content:center; }
.ht-route b { font-size:14px; line-height:1.35; }
.ht-route > i { color:var(--ht-accent-ink); font-size:19px; font-style:normal; transition:transform .2s; }
.ht-route:hover > i, .ht-route.is-selected > i { transform:translateX(3px); }
.ht-route-result { background:var(--ht-dark); border-radius:15px; box-shadow:0 24px 55px color-mix(in srgb,var(--ht-ink) 17%,transparent); color:var(--ht-inv); padding:29px; position:sticky; top:calc(var(--awd-header-h) + 22px); }
.ht-route-result > p { color:var(--ht-accent); font-size:10.5px; font-weight:600; letter-spacing:.16em; margin:0 0 8px; text-transform:uppercase; }
.ht-route-result h3 { color:var(--ht-inv); font-size:23px; }
.ht-route-result > div:not(.ht-route-price) { color:var(--ht-dim); font-size:13.5px; }
.ht-route-result ul { border-bottom:1px solid var(--ht-rail); border-top:1px solid var(--ht-rail); list-style:none; margin:18px 0; padding:13px 0; }
.ht-route-result li { color:var(--ht-dim); font-size:12.5px; padding:4px 0 4px 19px; position:relative; }
.ht-route-result li::before { color:var(--ht-accent); content:"✓"; left:0; position:absolute; }
.ht-route-price { align-items:end; display:flex; justify-content:space-between; margin-bottom:18px; }
.ht-route-price small { color:var(--ht-muted); font-size:10px; }
.ht-route-price b { color:var(--ht-accent); font-family:var(--awd-font-display); font-size:23px; font-weight:500; }
.ht-route-result .btn { width:100%; }
.ht-calc-grid { align-items:start; display:grid; gap:65px; grid-template-columns:1fr .9fr; }
.ht-calc-controls { display:grid; gap:22px; margin-top:32px; }
.ht-calc-controls label > span { align-items:baseline; color:var(--ht-dim); display:flex; font-size:13px; justify-content:space-between; }
.ht-calc-controls output { color:var(--ht-accent); font-family:var(--awd-font-display); font-size:20px; }
.ht-calc-controls input[type="range"] { accent-color:var(--ht-accent); cursor:pointer; margin-top:9px; width:100%; }
.ht-calc-result { background:var(--ht-dark-2); border:1px solid var(--ht-hair); border-radius:16px; padding:29px; }
.ht-calc-result > p:first-child { color:var(--ht-accent); font-size:10px; font-weight:600; letter-spacing:.14em; margin:0 0 16px; text-transform:uppercase; }
.ht-calc-number { align-items:baseline; border-bottom:1px solid var(--ht-hair); display:flex; gap:10px; padding:10px 0; }
.ht-calc-number strong { color:var(--ht-inv); font-family:var(--awd-font-display); font-size:38px; font-weight:400; line-height:1; }
.ht-calc-number span { color:var(--ht-dim); font-size:12px; }
.ht-calc-number.is-year strong { color:var(--ht-accent); }
.ht-payback { margin:17px 0; }
.ht-payback small { color:var(--ht-muted); display:block; font-size:10px; }
.ht-payback b { color:var(--ht-inv); display:block; font-size:15px; margin-top:4px; }
.ht-bars { display:grid; gap:9px; margin:19px 0; }
.ht-bars span { align-items:center; display:grid; gap:10px; grid-template-columns:90px 1fr; }
.ht-bars span > i { background:var(--ht-hair); border-radius:99px; height:8px; overflow:hidden; position:relative; }
.ht-bars span > i::after { background:var(--ht-accent); border-radius:inherit; content:""; inset:0; position:absolute; transform:scaleX(var(--ht-bar,.75)); transform-origin:left; transition:transform .25s; }
.ht-bars span:nth-child(2) > i::after { background:var(--ht-dim); }
.ht-bars b { color:var(--ht-dim); font-size:10px; font-weight:500; }
.ht-calc-result .btn { width:100%; }
.ht-calc-note { color:var(--ht-muted); font-size:10px; line-height:1.5; margin:13px 0 0; }
.ht-connect-grid { align-items:center; display:grid; gap:70px; grid-template-columns:.95fr 1.05fr; }
.ht-connect-map { display:grid; gap:0; }
.ht-connect-map article { align-items:center; background:var(--ht-card); border:1px solid var(--ht-edge); border-radius:13px; display:grid; gap:12px; grid-template-columns:46px 1fr; padding:17px; }
.ht-connect-map article > span { align-items:center; background:var(--ht-warm-2); border-radius:10px; color:var(--ht-accent-ink); display:flex; grid-row:1 / 3; height:46px; justify-content:center; }
.ht-connect-map article b { color:var(--ht-ink); font-size:14px; }
.ht-connect-map article small { color:var(--ht-body); font-size:11px; }
.ht-connect-map article.is-centre { border-color:var(--ht-accent); box-shadow:inset 0 0 0 1px var(--ht-accent); }
.ht-connect-map > i { background:var(--ht-edge); display:block; height:34px; margin-left:39px; overflow:hidden; position:relative; width:2px; }
.ht-connect-map > i b { animation:ht-connect-travel 2.5s ease-in-out infinite; background:var(--ht-accent); display:block; height:10px; left:0; position:absolute; top:-10px; width:2px; }
.ht-connect-map > i:nth-of-type(2) b { animation-delay:1.25s; }
@keyframes ht-connect-travel { 0%,25% { transform:translateY(-10px); } 70%,100% { transform:translateY(45px); } }
.ht-tick-list { list-style:none; margin:25px 0 0; padding:0; }
.ht-tick-list li { border-top:1px solid var(--ht-edge); color:var(--ht-body); padding:11px 0 11px 25px; position:relative; }
.ht-tick-list li::before { color:var(--ht-accent-ink); content:"✓"; left:0; position:absolute; }
.ht-feature-grid { display:grid; gap:15px; grid-template-columns:repeat(3,1fr); margin-top:38px; }
.ht-feature-grid article { background:color-mix(in srgb,var(--ht-clay-ink) 7%,transparent); border:1px solid color-mix(in srgb,var(--ht-clay-ink) 14%,transparent); border-radius:14px; padding:24px; }
.ht-feature-grid article > span { align-items:center; background:color-mix(in srgb,var(--ht-clay-ink) 12%,transparent); border-radius:10px; color:var(--ht-clay-ink); display:flex; height:43px; justify-content:center; margin-bottom:22px; width:43px; }
.ht-feature-grid h3 { color:var(--ht-clay-ink); font-size:17px; }
.ht-feature-grid p { color:var(--ht-clay-body); font-size:13px; margin:0; }
.ht-feature-grid a { color:var(--ht-clay-ink); font-weight:700; }
.ht-feature-grid p span { background:color-mix(in srgb,var(--ht-clay-ink) 11%,transparent); border-radius:999px; display:inline-block; font-size:10px; font-weight:700; margin-left:3px; padding:1px 7px; }
.ht-journey-head { max-width:650px; }
.ht-journey { display:grid; grid-template-columns:repeat(5,1fr); margin-top:43px; position:relative; }
.ht-journey-line { background:var(--ht-hair); height:2px; left:8%; overflow:hidden; position:absolute; right:8%; top:25px; }
.ht-journey-line i { animation:ht-journey-travel 7s ease-in-out infinite; background:linear-gradient(90deg,transparent,var(--ht-accent),transparent); display:block; height:2px; width:20%; }
@keyframes ht-journey-travel { 0%,10% { transform:translateX(-100%); } 90%,100% { transform:translateX(500%); } }
.ht-journey article { align-items:center; display:flex; flex-direction:column; position:relative; text-align:center; }
.ht-journey article > span { align-items:center; background:var(--ht-dark-2); border:1px solid var(--ht-hair); border-radius:50%; color:var(--ht-accent); display:flex; height:52px; justify-content:center; width:52px; }
.ht-journey b { color:var(--ht-inv); font-size:13px; margin-top:12px; }
.ht-journey small { color:var(--ht-dim); font-size:10.5px; }
.ht-work-grid { display:grid; gap:20px; grid-template-columns:repeat(2,1fr); margin-top:40px; }
.ht-work-card { background:var(--ht-card); border:1px solid var(--ht-edge); border-radius:15px; display:grid; grid-template-columns:44% 56%; overflow:hidden; transition:box-shadow .25s,transform .25s; }
.ht-work-card:hover { box-shadow:0 22px 46px color-mix(in srgb,var(--ht-ink) 12%,transparent); transform:translateY(-4px); }
.ht-work-image { background:var(--ht-warm-2); display:block; min-height:255px; overflow:hidden; }
.ht-work-image img { height:100%; object-fit:cover; object-position:top center; transition:transform .4s; width:100%; }
.ht-work-card:hover img { transform:scale(1.025); }
.ht-work-body { padding:26px; }
.ht-work-body > p { color:var(--ht-accent-ink); font-size:10px; font-weight:600; letter-spacing:.14em; margin:0 0 8px; text-transform:uppercase; }
.ht-work-body h3 a { color:var(--ht-ink); text-decoration:none; }
.ht-work-body > span { color:var(--ht-body); display:block; font-size:13px; }
.ht-work-facts { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.ht-work-facts b { background:var(--ht-pill); border-radius:999px; color:var(--ht-ink); font-size:10.5px; font-weight:600; padding:5px 9px; }
.ht-price-grid { align-items:start; display:grid; gap:72px; grid-template-columns:.8fr 1.2fr; }
.ht-price-grid > div:first-child { position:sticky; top:calc(var(--awd-header-h) + 25px); }
.ht-price-grid > div:first-child > a { color:var(--ht-accent-ink); display:inline-block; font-weight:700; margin-top:22px; }
.ht-price-stack { display:grid; gap:13px; }
.ht-price-stack article { background:var(--ht-card); border:1px solid var(--ht-edge); border-radius:14px; padding:24px; }
.ht-price-stack small { color:var(--ht-body); display:block; font-size:11px; }
.ht-price-stack strong { color:var(--ht-ink); display:block; font-family:var(--awd-font-display); font-size:32px; font-weight:400; margin:3px 0 8px; }
.ht-price-stack p { color:var(--ht-body); font-size:13px; margin:0; }
.ht-price-stack article.is-main { background:var(--ht-dark); border-color:var(--ht-dark); color:var(--ht-inv); padding:29px; }
.ht-price-stack article.is-main small, .ht-price-stack article.is-main p { color:var(--ht-dim); }
.ht-price-stack article.is-main strong { color:var(--ht-accent); font-size:40px; }
.ht-price-stack article.is-main .btn { margin-top:20px; width:100%; }
.ht-process { display:grid; grid-template-columns:repeat(4,1fr); margin-top:42px; position:relative; }
.ht-process-line { background:var(--ht-hair); height:2px; left:6%; overflow:hidden; position:absolute; right:6%; top:19px; }
.ht-process-line i { animation:ht-process-travel 6s ease-in-out infinite; background:linear-gradient(90deg,transparent,var(--ht-accent),transparent); display:block; height:2px; width:25%; }
@keyframes ht-process-travel { 0%,12% { transform:translateX(-100%); } 88%,100% { transform:translateX(400%); } }
.ht-process article { padding-right:24px; position:relative; }
.ht-process article > span { align-items:center; background:var(--ht-dark-2); border:1px solid var(--ht-hair); border-radius:50%; color:var(--ht-accent); display:flex; font-family:var(--awd-font-display); font-size:12px; height:40px; justify-content:center; width:40px; }
.ht-process h3 { color:var(--ht-inv); font-size:16px; margin-top:19px; }
.ht-process p { color:var(--ht-dim); font-size:12.5px; margin:0; }
.ht-accommodation { align-items:center; display:grid; gap:68px; grid-template-columns:1fr 1fr; }
.ht-accommodation p { color:var(--ht-clay-body); margin:0 0 20px; }
.ht-accommodation-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.ht-accommodation-tags span { background:color-mix(in srgb,var(--ht-clay-ink) 10%,transparent); border:1px solid color-mix(in srgb,var(--ht-clay-ink) 16%,transparent); border-radius:999px; color:var(--ht-clay-ink); font-size:11px; font-weight:600; padding:6px 10px; }
.ht-accommodation small { color:var(--ht-clay-body); display:block; font-size:11px; line-height:1.55; }
.ht-faqs { border-top:1px solid var(--ht-edge); margin-top:34px; }
.ht-faqs details { border-bottom:1px solid var(--ht-edge); }
.ht-faqs summary { color:var(--ht-ink); cursor:pointer; font-size:16px; font-weight:600; list-style:none; padding:20px 48px 20px 0; position:relative; }
.ht-faqs summary::-webkit-details-marker { display:none; }
.ht-faqs summary::after { color:var(--ht-accent-ink); content:"+"; font-size:24px; font-weight:300; position:absolute; right:10px; top:17px; }
.ht-faqs details[open] summary::after { content:"−"; }
.ht-faqs details > div { color:var(--ht-body); font-size:15px; max-width:70ch; padding:0 50px 20px 0; }
.ht-faqs details > div p { margin:0; }
.page-hotels section.ht-request { background-image:linear-gradient(90deg,var(--ht-dark) 0%,color-mix(in srgb,var(--ht-dark) 96%,transparent) 38%,color-mix(in srgb,var(--ht-dark) 76%,transparent) 100%),var(--ht-photo,none); background-position:center,right center; background-repeat:no-repeat; background-size:cover,48% auto; }
.ht-request-grid { align-items:start; display:grid; gap:70px; grid-template-columns:.9fr 1.1fr; }
.ht-request-copy { padding-top:18px; }
.ht-request-copy ul { list-style:none; margin:28px 0 0; padding:0; }
.ht-request-copy li { border-top:1px solid var(--ht-hair); color:var(--ht-dim); font-size:13px; padding:10px 0 10px 23px; position:relative; }
.ht-request-copy li::before { color:var(--ht-accent); content:"✓"; left:0; position:absolute; }
.ht-form, .ht-form-ok { backdrop-filter:blur(10px); background:color-mix(in srgb,var(--ht-dark-2) 93%,transparent); border:1px solid var(--ht-hair); border-radius:15px; padding:27px; }
.ht-form { display:grid; gap:14px; }
.ht-form label { color:var(--ht-dim); display:grid; font-size:11.5px; gap:6px; }
.ht-form input, .ht-form textarea { background:color-mix(in srgb,var(--ht-inv) 6%,transparent); border:1px solid var(--ht-hair); border-radius:7px; color:var(--ht-inv); font:14px/1.4 var(--awd-font-body); min-height:48px; padding:12px; width:100%; }
.ht-form textarea { min-height:168px; resize:vertical; }
.ht-form input:focus, .ht-form textarea:focus { border-color:var(--ht-accent); outline:2px solid color-mix(in srgb,var(--ht-accent) 28%,transparent); }
.ht-form-row { display:grid; gap:12px; grid-template-columns:1fr 1fr; }
.ht-form .btn { margin-top:4px; width:100%; }
.ht-form-note { background:color-mix(in srgb,var(--ht-accent) 12%,transparent); border-radius:7px; color:var(--ht-accent); margin:0; padding:10px; }
.ht-form-ok h3 { color:var(--ht-accent); }
.ht-form-ok p { color:var(--ht-dim); }
.ht-trap { left:-9999px; position:absolute; }
.page-hotels button:focus-visible, .page-hotels a:focus-visible, .page-hotels summary:focus-visible, .page-hotels input:focus-visible { outline:2px solid var(--ht-accent); outline-offset:3px; }

@media(max-width:1020px) {
.page-hotels section[class*="ground-"] { padding:76px 0; }
.page-hotels section[class*="ground-"].ground-hero { padding-top:calc(var(--awd-header-h) + var(--wp-admin--admin-bar--height,0px) + 48px); }
.ht-hero-grid { gap:38px; grid-template-columns:1fr 1fr; }
.ht-booking-demo { padding:22px; }
.ht-feature-grid { grid-template-columns:repeat(2,1fr); }
.ht-work-card { grid-template-columns:1fr; }
.ht-work-image { min-height:220px; }
}
@media(max-width:820px) {
.ht-hero-grid, .ht-answer, .ht-setup, .ht-calc-grid, .ht-connect-grid, .ht-price-grid, .ht-accommodation, .ht-request-grid { grid-template-columns:1fr; }
.ht-hero-grid { gap:45px; }
.ht-booking-demo { max-width:580px; }
.ht-stats { grid-template-columns:repeat(2,1fr); row-gap:19px; }
.ht-stats > div:nth-child(3) { border-left:0; padding-left:0; }
.ht-answer { gap:28px; }
.ht-answer-copy { border-left:0; border-top:1px solid var(--ht-edge); padding:25px 0 0; }
.ht-route-result, .ht-price-grid > div:first-child { position:relative; top:auto; }
.ht-work-grid { grid-template-columns:1fr; }
.ht-work-card { grid-template-columns:42% 58%; }
.ht-process { gap:16px; grid-template-columns:repeat(2,1fr); }
.ht-process-line { display:none; }
.ht-process article { border-top:1px solid var(--ht-hair); padding:20px 20px 20px 0; }
.page-hotels section.ht-request { background-image:linear-gradient(var(--ht-dark),color-mix(in srgb,var(--ht-dark) 90%,transparent)),var(--ht-photo,none); background-position:center; background-size:cover; }
}
@media(max-width:620px) {
.page-hotels .wrap { padding-left:20px; padding-right:20px; }
.page-hotels h1 { font-size:40px; }
.ht-hero { gap:20px; grid-template-columns:8px minmax(0,1fr); }
.ht-rail { min-height:360px; }
.ht-cta-row .btn { width:100%; }
.ht-hero-facts { display:grid; grid-template-columns:1fr 1fr; }
.ht-hero-facts span { border-left:0; padding:0; }
.ht-booking-demo { padding:19px; }
.ht-demo-head { align-items:flex-start; flex-direction:column; gap:4px; }
.ht-date-row { grid-template-columns:1fr; }
.ht-date-row > span { display:none; }
.ht-demo-total { align-items:flex-start; flex-direction:column; }
.ht-stats > div { border-left:0; padding:4px 10px 4px 0; }
.ht-route { min-height:88px; }
.ht-route-result { padding:23px; scroll-margin-top:calc(var(--awd-header-h) + 16px); }
.ht-calc-result { padding:23px; }
.ht-calc-number strong { font-size:33px; }
.ht-connect-map article { grid-template-columns:42px 1fr; }
.ht-feature-grid { grid-template-columns:1fr; }
.ht-journey { gap:15px; grid-template-columns:1fr; }
.ht-journey-line { bottom:7%; height:auto; left:25px; right:auto; top:7%; width:2px; }
.ht-journey-line i { animation:ht-journey-mobile 7s ease-in-out infinite; background:linear-gradient(180deg,transparent,var(--ht-accent),transparent); height:20%; width:2px; }
@keyframes ht-journey-mobile { 0%,10% { transform:translateY(-100%); } 90%,100% { transform:translateY(500%); } }
.ht-journey article { align-items:center; display:grid; gap:3px 13px; grid-template-columns:52px 1fr; text-align:left; }
.ht-journey article > span { grid-row:1 / 3; }
.ht-journey b { margin-top:0; }
.ht-work-card { grid-template-columns:1fr; }
.ht-price-stack article.is-main strong { font-size:35px; }
.ht-process { grid-template-columns:1fr; }
.ht-process article { display:grid; gap:5px 13px; grid-template-columns:40px 1fr; }
.ht-process article > span { grid-row:1 / 3; }
.ht-process h3 { margin-top:0; }
.ht-form-row { grid-template-columns:1fr; }
.ht-form, .ht-form-ok { padding:22px; }
.ht-faqs details > div { padding-right:10px; }
}
@media(prefers-reduced-motion:reduce) {
.ht-rail::after, .ht-demo-head span i, .ht-connect-map > i b, .ht-journey-line i, .ht-process-line i { animation:none; }
.ht-rail::after { top:18%; }
.ht-route, .ht-work-card, .ht-work-image img, .ht-bars span > i::after { transition:none; }
.ht-route:hover, .ht-work-card:hover, .ht-work-card:hover img { transform:none; }
}
