/* Schriften lokal: assets/fonts/ (siehe site.css) */
.hr-img--coast{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='600' height='400' fill='%23f6dfc3'/%3E%3Ccircle cx='440' cy='130' r='56' fill='%23f29a2e'/%3E%3Cpath d='M0 230 Q120 170 260 210 T600 190 V260 H0Z' fill='%23dcb68b'/%3E%3Crect y='250' width='600' height='150' fill='%231f5f8b'/%3E%3Cpath d='M60 290h90M300 320h140M420 280h70M120 350h110' stroke='%235b93bf' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M0 170 Q70 150 130 200 L170 260 H0Z' fill='%23b98a5a'/%3E%3Crect x='30' y='175' width='26' height='22' fill='%23f7f1e6'/%3E%3Crect x='62' y='184' width='22' height='18' fill='%23efe4d2'/%3E%3Crect x='92' y='196' width='24' height='18' fill='%23f7f1e6'/%3E%3Cellipse cx='150' cy='205' rx='8' ry='30' fill='%232e5b3f'/%3E%3Cellipse cx='168' cy='214' rx='7' ry='24' fill='%232e5b3f'/%3E%3C/svg%3E");}
.hr-img--alps{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='600' height='400' fill='%23dde7f4'/%3E%3Cpath d='M0 250 L110 120 L190 210 L300 80 L400 200 L480 130 L600 240 V400 H0Z' fill='%238f9bd0'/%3E%3Cpath d='M300 80 L340 128 L318 122 L300 138 L282 118 L262 126Z M110 120 L138 154 L120 150 L104 160 L88 146Z' fill='%23ffffff'/%3E%3Cpath d='M0 300 L150 190 L260 270 L380 170 L520 280 L600 240 V400 H0Z' fill='%2334408f'/%3E%3Cpath d='M380 170 L410 196 L394 194 L380 206 L366 192 L352 194Z' fill='%23ffffff'/%3E%3Cpath d='M0 330 Q200 290 600 320 V400 H0Z' fill='%234b8a5c'/%3E%3Cellipse cx='330' cy='360' rx='120' ry='18' fill='%236d9cc9'/%3E%3C/svg%3E");}
.hr-img--city{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='600' height='400' fill='%23f3e2cc'/%3E%3Ccircle cx='120' cy='120' r='50' fill='%23f29a2e'/%3E%3Cpath d='M0 300 V250 H40 V220 H70 V260 H110 V200 H130 V180 H150 V200 H170 V260 H210 V240 Q250 170 290 240 V260 H300 V150 H312 V260 H340 V230 H380 V250 H420 V210 H440 V190 H460 V210 H480 V260 H520 V230 H560 V250 H600 V300Z' fill='%2334408f'/%3E%3Crect x='246' y='160' width='8' height='20' fill='%2334408f'/%3E%3Crect y='300' width='600' height='100' fill='%231b2263'/%3E%3Cpath d='M40 340h120M260 360h180M470 330h90' stroke='%2334408f' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");}
.hr-img--river{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='600' height='400' fill='%23e6eef6'/%3E%3Cpath d='M0 210 Q140 130 300 190 T600 170 V300 H0Z' fill='%236d9a74'/%3E%3Cpath d='M0 250 Q180 200 340 250 T600 240 V300 H0Z' fill='%234b7a58'/%3E%3Crect x='390' y='150' width='40' height='40' fill='%23c9b79a'/%3E%3Crect x='398' y='130' width='12' height='22' fill='%23b09c7c'/%3E%3Cpath d='M396 130 l8 -14 l8 14Z' fill='%2334408f'/%3E%3Crect y='280' width='600' height='120' fill='%233d6f9c'/%3E%3Cpath d='M150 300 H430 L410 330 H170Z' fill='%23ffffff'/%3E%3Crect x='190' y='282' width='200' height='18' rx='4' fill='%23ffffff'/%3E%3Crect x='200' y='288' width='180' height='5' fill='%230f1446'/%3E%3Crect x='170' y='312' width='240' height='4' fill='%230f1446'/%3E%3Cpath d='M80 360h100M420 370h120' stroke='%236c96bf' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");}
.hr-img--fjord{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='600' height='400' fill='%23cfe0ee'/%3E%3Cpath d='M0 90 L90 60 L180 150 L230 260 H0Z' fill='%2334408f'/%3E%3Cpath d='M600 110 L480 70 L400 170 L360 260 H600Z' fill='%231b2263'/%3E%3Cpath d='M140 260 L220 180 L300 240 L380 190 L460 260Z' fill='%238f9bd0'/%3E%3Crect y='255' width='600' height='145' fill='%230f3a60'/%3E%3Cpath d='M240 290 H380 L368 306 H252Z' fill='%23ffffff'/%3E%3Crect x='268' y='274' width='80' height='16' rx='3' fill='%23ffffff'/%3E%3Crect x='300' y='262' width='14' height='12' fill='%23f29a2e'/%3E%3Cpath d='M60 330h110M400 350h140M200 370h90' stroke='%232b5f8c' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");}
.hr-img--winter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='600' height='400' fill='%230f1446'/%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='60' cy='50' r='2'/%3E%3Ccircle cx='180' cy='90' r='2.5'/%3E%3Ccircle cx='300' cy='40' r='2'/%3E%3Ccircle cx='420' cy='80' r='2'/%3E%3Ccircle cx='540' cy='45' r='2.5'/%3E%3Ccircle cx='250' cy='130' r='1.8'/%3E%3Ccircle cx='480' cy='150' r='1.8'/%3E%3C/g%3E%3Ccircle cx='500' cy='90' r='26' fill='%23f6dfc3'/%3E%3Cpath d='M0 300 Q300 250 600 290 V400 H0Z' fill='%23e9edf8'/%3E%3Cpath d='M140 300 V230 L190 190 L240 230 V300Z M260 300 V210 L300 170 L340 210 V300Z M360 300 V240 L400 205 L440 240 V300Z' fill='%2334408f'/%3E%3Cg fill='%23f29a2e'%3E%3Crect x='165' y='245' width='14' height='16'/%3E%3Crect x='205' y='245' width='14' height='16'/%3E%3Crect x='285' y='225' width='14' height='16'/%3E%3Crect x='385' y='255' width='14' height='16'/%3E%3Crect x='292' y='262' width='16' height='38'/%3E%3C/g%3E%3Cpath d='M80 300 L100 230 L120 300Z M500 310 L524 230 L548 310Z' fill='%232e5b3f'/%3E%3C/svg%3E");}
.hr-img--bus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='600' height='400' fill='%23e9edf8'/%3E%3Ccircle cx='480' cy='110' r='44' fill='%23f29a2e'/%3E%3Cpath d='M0 260 Q160 200 330 240 T600 220 V300 H0Z' fill='%23b9c3e6'/%3E%3Crect y='300' width='600' height='100' fill='%236b7194'/%3E%3Cpath d='M20 350h60M120 350h60M220 350h60M320 350h60M420 350h60M520 350h60' stroke='%23dfe3ee' stroke-width='6'/%3E%3Crect x='90' y='180' width='400' height='120' rx='22' fill='%230f1446'/%3E%3Crect x='110' y='196' width='340' height='46' rx='8' fill='%238f9bd0'/%3E%3Crect x='460' y='196' width='22' height='60' rx='6' fill='%238f9bd0'/%3E%3Crect x='110' y='262' width='340' height='6' fill='%23f29a2e'/%3E%3Ccircle cx='170' cy='302' r='24' fill='%231a1d3a'/%3E%3Ccircle cx='170' cy='302' r='10' fill='%23dfe3ee'/%3E%3Ccircle cx='410' cy='302' r='24' fill='%231a1d3a'/%3E%3Ccircle cx='410' cy='302' r='10' fill='%23dfe3ee'/%3E%3C/svg%3E");}

/* ---------- base ---------- */
.hr-page{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:26px;-webkit-font-smoothing:antialiased}
.hr-page *,.hr-page *::before,.hr-page *::after{box-sizing:border-box}
.hr-page h1,.hr-page h2,.hr-page h3,.hr-page h4,.hr-page p{margin:0}
:where(.hr-page) a{color:inherit;text-decoration:none}
.hr-container{max-width:var(--container);margin:0 auto;padding:0 24px}
.hr-section{padding:var(--space-8) 0}
.hr-section--tint{background:var(--tint)}
.hr-section--brand{background:var(--brand);color:var(--on-brand)}
.hr-disp{font-family:var(--font-display);font-weight:400;color:var(--brand-ink)}
.hr-section--brand .hr-disp,.hr-on-brand .hr-disp{color:var(--on-brand)}
.hr-eyebrow{font-size:12px;line-height:16px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent-ink)}
.hr-section--brand .hr-eyebrow{color:var(--accent)}
.hr-muted{color:var(--ink-muted)}
.hr-sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:var(--space-7)}
.hr-sechead h2{font-size:34px;line-height:40px;margin-top:8px}
.hr-link{font-weight:700;color:var(--brand-ink);display:inline-flex;align-items:center;gap:6px;border-bottom:2px solid var(--accent);padding-bottom:2px;font-size:15px}
.hr-section--brand .hr-link{color:var(--on-brand)}
.hr-ico{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.hr-img{background-color:var(--tint);background-size:cover;background-position:center;border-radius:var(--radius-lg);position:relative;overflow:hidden}
.hr-page :focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* ---------- buttons ---------- */
.hr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:var(--radius-md);font:700 15px/1 var(--font-sans);border:2px solid transparent;cursor:pointer;transition:background .18s ease-out,transform .18s ease-out;white-space:nowrap}
.hr-btn--primary{background:var(--accent);color:var(--on-accent)}
.hr-btn--primary:hover{background:var(--accent-hover)}
.hr-btn--brand{background:var(--brand-fill);color:var(--on-brand)}
.hr-btn--brand:hover{background:var(--brand-700)}
.hr-btn--ghost{background:transparent;color:var(--brand-ink);border-color:var(--line-strong)}
.hr-btn--ghost:hover{border-color:var(--brand-ink)}
.hr-btn--onbrand{background:transparent;color:var(--on-brand);border-color:var(--on-brand-muted)}
.hr-btn--sm{height:38px;padding:0 16px;font-size:14px;border-radius:10px}
.hr-btn--lg{height:56px;padding:0 32px;font-size:16px}
.hr-btn--block{width:100%}
.hr-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-pill);color:var(--brand-ink);background:transparent;border:0}
.hr-iconbtn:hover{background:var(--tint)}
.hr-count{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--on-accent);font:800 11px/18px var(--font-sans);text-align:center}

/* ---------- badges & chips ---------- */
.hr-badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--radius-sm);font:700 12px/1 var(--font-sans);letter-spacing:.3px;background:var(--surface);color:var(--brand-ink)}
.hr-badge--offer{background:var(--accent);color:var(--on-accent)}
.hr-badge--sea{color:var(--sea);background:var(--surface)}
.hr-badge--solid{background:var(--brand-fill);color:var(--on-brand)}
.hr-badge--tint{background:var(--tint)}
.hr-status{display:inline-flex;align-items:center;gap:6px;font:700 13px/18px var(--font-sans)}
.hr-status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.hr-status--ok{color:var(--success)}
.hr-status--low{color:var(--danger)}
.hr-chip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border-radius:var(--radius-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:600 14px/1 var(--font-sans)}
.hr-chip:hover{border-color:var(--brand-ink)}
.hr-chip.is-active{background:var(--brand-fill);border-color:var(--brand-fill);color:var(--on-brand)}
.hr-chips{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- form ---------- */
.hr-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.hr-label{font:700 12px/16px var(--font-sans);letter-spacing:.6px;text-transform:uppercase;color:var(--ink-muted)}
.hr-input{height:48px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:0 14px;font:500 15px/1 var(--font-sans);display:flex;align-items:center;gap:10px;width:100%}
.hr-input--select{justify-content:space-between}
.hr-input--select::after{content:"";width:8px;height:8px;border-right:2px solid var(--ink-muted);border-bottom:2px solid var(--ink-muted);transform:rotate(45deg) translateY(-3px)}
.hr-input.is-error{border-color:var(--danger)}
.hr-help{font-size:13px;line-height:18px;color:var(--ink-muted)}
.hr-help--error{color:var(--danger);font-weight:600}
textarea.hr-input{height:120px;padding:12px 14px;resize:none}
.hr-check{display:flex;align-items:center;gap:10px;font-size:15px}
.hr-check i{width:20px;height:20px;border:1.5px solid var(--line-strong);border-radius:5px;background:var(--surface);flex:none;display:inline-flex;align-items:center;justify-content:center}
.hr-check.is-on i{background:var(--brand-fill);border-color:var(--brand-fill)}
.hr-check.is-on i::after{content:"";width:5px;height:10px;border:solid var(--on-brand);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.hr-check small{margin-left:auto;color:var(--ink-muted);font-size:13px}

/* ---------- header ---------- */
.hr-topbar{background:var(--brand);color:var(--on-brand-muted);font-size:13px;line-height:18px}
.hr-topbar .hr-container{display:flex;align-items:center;gap:24px;height:40px}
.hr-topbar b{color:var(--on-brand);font-weight:700}
.hr-topbar .hr-sp{margin-left:auto}
.hr-topbar span{display:inline-flex;align-items:center;gap:6px}
.hr-topbar .hr-ico{width:16px;height:16px}
.hr-header{background:var(--surface);border-bottom:1px solid var(--line);position:relative;z-index:3}
.hr-header .hr-container{display:flex;align-items:center;gap:32px;height:80px}
.hr-wordmark{font:800 26px/1 var(--font-sans);letter-spacing:-.5px;color:var(--brand-ink);white-space:nowrap}
.hr-wordmark em{font-style:normal;font-weight:500}
.hr-on-brand .hr-wordmark,.hr-footer .hr-wordmark{color:var(--on-brand)}
.hr-nav{display:flex;gap:2px;align-items:center;white-space:nowrap}
.hr-nav a{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 12px;border-radius:10px;font:700 15px/1 var(--font-sans);color:var(--ink)}
.hr-nav a:hover,.hr-nav a.is-active{background:var(--tint);color:var(--brand-ink)}
.hr-nav a::after{content:"";width:6px;height:6px;border-right:1.75px solid currentColor;border-bottom:1.75px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.hr-header .hr-actions{margin-left:auto;display:flex;align-items:center;gap:6px}
.hr-mega{position:absolute;left:0;right:0;top:80px;background:var(--surface);box-shadow:var(--shadow-raised);border-top:1px solid var(--line)}
.hr-mega .hr-container{display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;gap:32px;padding-top:32px;padding-bottom:32px}
.hr-mega h4{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-muted);margin-bottom:12px}
.hr-mega ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-weight:600;font-size:15px}
.hr-mega .hr-img{height:150px;margin-bottom:12px}

/* ---------- hero & finder ---------- */
.hr-hero{position:relative;height:620px;background-size:cover;background-position:right center}
.hr-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,20,70,.7) 0%,rgba(15,20,70,.35) 45%,rgba(15,20,70,0) 70%),linear-gradient(0deg,rgba(15,20,70,.6) 0%,rgba(15,20,70,0) 50%)}
.hr-hero .hr-container{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:150px;color:#fff}
.hr-hero h1{font:400 64px/68px var(--font-display);color:#fff;max-width:720px;margin-top:12px}
.hr-hero p{font-size:19px;line-height:30px;max-width:560px;margin-top:16px;color:#fff}
.hr-hero .hr-eyebrow{color:var(--accent)}
.hr-finder{position:relative;z-index:2;margin-top:-88px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:24px}
.hr-finder .hr-tabs-s{display:flex;gap:6px;margin-bottom:16px}
.hr-finder .hr-tabs-s span{padding:8px 14px;border-radius:var(--radius-pill);font:700 14px/1 var(--font-sans);color:var(--ink-muted)}
.hr-finder .hr-tabs-s span.is-active{background:var(--tint);color:var(--brand-ink)}
.hr-finder-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:12px;align-items:end}

/* ---------- trust strip ---------- */
.hr-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:40px 0 0}
.hr-trust div{display:flex;gap:14px;align-items:flex-start}
.hr-trust .hr-ico{width:28px;height:28px;color:var(--brand-ink);stroke-width:1.5}
.hr-trust b{display:block;font-size:15px;line-height:22px;color:var(--brand-ink)}
.hr-trust span{font-size:14px;line-height:20px;color:var(--ink-muted)}

/* ---------- trip card ---------- */
.hr-grid{display:grid;gap:24px}
.hr-grid--3{grid-template-columns:repeat(3,1fr)}
.hr-grid--4{grid-template-columns:repeat(4,1fr)}
.hr-grid--2{grid-template-columns:repeat(2,1fr)}
.hr-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease-out,box-shadow .18s ease-out}
.hr-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-raised)}
.hr-card .hr-img{border-radius:0;aspect-ratio:3/2}
.hr-card .hr-tags{position:absolute;left:14px;top:14px;display:flex;gap:6px}
.hr-fav{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;background:var(--surface);color:var(--brand-ink);display:flex;align-items:center;justify-content:center;border:0}
.hr-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.hr-card-meta{display:flex;flex-wrap:wrap;white-space:nowrap;gap:6px 14px;font-size:14px;line-height:20px;color:var(--ink-muted);font-weight:500}
.hr-card-meta span{display:inline-flex;gap:6px;align-items:center}
.hr-card-meta .hr-ico{width:16px;height:16px}
.hr-card h3{font-size:21px;line-height:27px;font-weight:700;color:var(--brand-ink)}
.hr-card-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.hr-price{font:800 26px/30px var(--font-sans);color:var(--brand-ink);letter-spacing:-.3px}
.hr-price small{font-size:14px;font-weight:600;color:var(--ink-muted);margin-right:4px}
.hr-strike{font-size:14px;line-height:18px;color:var(--ink-muted);text-decoration:line-through}
.hr-save{font-size:13px;line-height:18px;font-weight:700;color:var(--accent-ink)}

/* ---------- category tiles ---------- */
.hr-tile{position:relative;display:flex;align-items:flex-end;min-height:260px;border-radius:var(--radius-lg);overflow:hidden;background-size:cover;background-position:center;color:#fff}
.hr-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,20,70,.8),rgba(15,20,70,0) 60%)}
.hr-tile div{position:relative;padding:22px}
.hr-tile b{display:block;font:400 26px/30px var(--font-display)}
.hr-tile span{font-size:14px;line-height:20px;opacity:.92}
.hr-tile--tall{min-height:544px;grid-row:span 2}

/* ---------- fleet band ---------- */
.hr-fleet{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.hr-fleet .hr-img{aspect-ratio:4/3}
.hr-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 32px;margin:32px 0}
.hr-stat b{display:block;font:400 48px/52px var(--font-display);color:var(--brand-ink)}
.hr-section--brand .hr-stat b{color:var(--accent)}
.hr-stat span{font-size:15px;line-height:22px}
.hr-section--brand .hr-stat span{color:var(--on-brand-muted)}

/* ---------- pillars ---------- */
.hr-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.hr-pillar{background:var(--surface);border-radius:var(--radius-lg);padding:28px}
.hr-pillar .hr-num{font:400 40px/1 var(--font-display);color:var(--accent-ink)}
.hr-pillar h4{font-size:17px;line-height:24px;color:var(--brand-ink);margin:14px 0 6px}
.hr-pillar p{font-size:15px;line-height:23px;color:var(--ink-muted)}

/* ---------- promo band ---------- */
.hr-promos{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.hr-promo{border-radius:var(--radius-lg);padding:40px;display:flex;flex-direction:column;gap:14px;min-height:300px}
.hr-promo--gift{background:var(--accent);color:var(--on-accent)}
.hr-promo--gift .hr-eyebrow{color:var(--on-accent)}
.hr-promo--gift h3{font:400 34px/40px var(--font-display);color:var(--on-accent)}
.hr-promo--news{background:var(--brand);color:var(--on-brand)}
.hr-promo--news h3{font:400 34px/40px var(--font-display)}
.hr-promo--news .hr-eyebrow{color:var(--accent)}
.hr-promo ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:15px}
.hr-promo li::before{content:"✓";font-weight:800;margin-right:10px;color:var(--accent)}
.hr-promo--gift li::before{color:var(--on-accent)}
.hr-subscribe{display:flex;gap:10px;margin-top:auto}
.hr-subscribe .hr-input{border-color:transparent}

/* ---------- footer ---------- */
.hr-footer{background:var(--brand);color:var(--on-brand-muted);font-size:14px;line-height:22px}
.hr-footer .hr-cols{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:40px;padding:72px 0 48px}
.hr-footer h4{color:var(--on-brand);font-size:15px;margin-bottom:14px}
.hr-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.hr-footer .hr-contactline{display:flex;gap:10px;align-items:center;color:var(--on-brand);font-weight:700;font-size:18px;margin-top:18px}
.hr-footer .hr-bottom{border-top:1px solid var(--brand-700);display:flex;justify-content:space-between;align-items:center;padding:22px 0}
.hr-footer .hr-bottom nav{display:flex;gap:22px}
.hr-social{display:flex;gap:8px;margin-top:18px}
.hr-social span{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--brand-500);display:inline-flex;align-items:center;justify-content:center;color:var(--on-brand);font:700 13px/1 var(--font-sans)}
.hr-partners{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}
.hr-partners span{border:1px solid var(--brand-500);border-radius:var(--radius-sm);padding:4px 10px;font-size:12px;font-weight:700;color:var(--on-brand)}

/* ---------- page head ---------- */
.hr-crumbs{display:flex;gap:8px;font-size:14px;color:var(--ink-muted);padding:24px 0 0}
.hr-crumbs span+span::before{content:"/";margin-right:8px;opacity:.6}
.hr-crumbs span:last-child{color:var(--ink);font-weight:600}
.hr-pagehead{padding:24px 0 40px}
.hr-pagehead h1{font:400 44px/50px var(--font-display);color:var(--brand-ink);margin-top:10px}
.hr-pagehead p{font-size:19px;line-height:30px;color:var(--ink-muted);max-width:680px;margin-top:12px}
.hr-banner{height:320px;background-size:cover;background-position:center;border-radius:var(--radius-lg);position:relative;overflow:hidden}

/* ---------- listing ---------- */
.hr-listing{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
.hr-filter{background:var(--surface);border-radius:var(--radius-lg);padding:24px;display:grid;gap:24px;border:1px solid var(--line)}
.hr-filter h4{font-size:15px;color:var(--brand-ink);margin-bottom:10px}
.hr-filter .hr-group{display:grid;gap:10px}
.hr-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.hr-row{display:grid;grid-template-columns:260px 1fr 200px;background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);margin-bottom:18px}
.hr-row .hr-img{border-radius:0;min-height:210px}
.hr-row-body{padding:22px 26px;display:flex;flex-direction:column;gap:8px}
.hr-row-body h3{font-size:21px;line-height:27px;color:var(--brand-ink)}
.hr-row-body ul{margin:4px 0 0;padding-left:18px;font-size:14px;line-height:22px;color:var(--ink-muted)}
.hr-row-side{padding:22px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;text-align:right;gap:10px}
.hr-pager{display:flex;gap:8px;justify-content:center;margin-top:28px}
.hr-pager span{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;background:var(--surface);border:1px solid var(--line)}
.hr-pager span.is-active{background:var(--brand-fill);color:var(--on-brand);border-color:var(--brand-fill)}

/* ---------- detail ---------- */
.hr-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:12px}
.hr-gallery .hr-img:first-child{grid-row:span 2}
.hr-gallery .hr-more{position:absolute;right:14px;bottom:14px}
.hr-detail{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start;margin-top:40px}
.hr-facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin:24px 0}
.hr-facts div{padding:18px 20px;border-left:1px solid var(--line)}
.hr-facts div:first-child{border-left:0}
.hr-facts span{display:block;font-size:12px;letter-spacing:.8px;text-transform:uppercase;font-weight:700;color:var(--ink-muted)}
.hr-facts b{font-size:16px;color:var(--brand-ink)}
.hr-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:32px 0 24px}
.hr-tabs span{padding:14px 18px;font-weight:700;font-size:15px;color:var(--ink-muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.hr-tabs span.is-active{color:var(--brand-ink);border-color:var(--accent)}
.hr-days{position:relative;display:grid;gap:0}
.hr-day{display:grid;grid-template-columns:56px 1fr;gap:18px;padding-bottom:26px;position:relative}
.hr-day::before{content:"";position:absolute;left:27px;top:44px;bottom:0;width:2px;background:var(--line)}
.hr-day:last-child::before{display:none}
.hr-day .hr-dot{width:56px;height:44px;border-radius:12px;background:var(--tint);color:var(--brand-ink);font:800 13px/44px var(--font-sans);text-align:center}
.hr-day h4{font-size:17px;line-height:24px;color:var(--brand-ink);margin:10px 0 6px}
.hr-day p{font-size:15px;line-height:24px;color:var(--ink)}
.hr-checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.hr-checklist li{display:flex;gap:10px;font-size:15px;line-height:22px}
.hr-checklist li::before{content:"";flex:none;margin-top:3px;width:16px;height:16px;border-radius:50%;background:var(--tint);box-shadow:inset 0 0 0 5px var(--success)}
.hr-bookbox{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:26px;display:grid;gap:16px;position:sticky;top:24px}
.hr-dates{display:grid;gap:8px}
.hr-date{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius-md);font-size:14px}
.hr-date.is-active{border-color:var(--brand-ink);background:var(--tint)}
.hr-date b{color:var(--brand-ink);font-size:15px}
.hr-radio{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--surface)}
.hr-date.is-active .hr-radio{border:5px solid var(--brand-ink)}
.hr-assist{display:flex;gap:12px;align-items:center;padding-top:16px;border-top:1px solid var(--line);font-size:14px;line-height:20px}
.hr-avatar{width:44px;height:44px;border-radius:50%;background:var(--brand-fill);color:var(--on-brand);display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex:none}

/* ---------- about ---------- */
.hr-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin-top:16px}
.hr-timeline::before{content:"";position:absolute;left:0;right:0;top:58px;height:2px;background:var(--brand-500)}
.hr-tl{padding-right:28px;position:relative}
.hr-tl b{font:400 34px/40px var(--font-display);color:var(--brand-ink);display:block;margin-bottom:44px}
.hr-tl::after{content:"";position:absolute;left:0;top:52px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--bg)}
.hr-tl h4{font-size:16px;color:var(--brand-ink);margin-bottom:4px}
.hr-tl p{font-size:14px;line-height:22px;color:var(--ink-muted)}
.hr-team{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.hr-person .hr-img{aspect-ratio:1;margin-bottom:12px;display:flex;align-items:center;justify-content:center;font:400 44px/1 var(--font-display);color:var(--brand-ink)}
.hr-person b{display:block;color:var(--brand-ink)}
.hr-person span{font-size:14px;color:var(--ink-muted)}
.hr-quote{font:400 34px/44px var(--font-display);color:var(--brand-ink);max-width:900px}

/* ---------- contact ---------- */
.hr-contact{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;align-items:start}
.hr-panel{background:var(--surface);border-radius:var(--radius-lg);padding:32px;border:1px solid var(--line)}
.hr-panel h3{font-size:22px;color:var(--brand-ink);margin-bottom:16px}
.hr-kv{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;font-size:15px}
.hr-kv dt{color:var(--ink-muted);margin:0}.hr-kv dd{margin:0;font-weight:600}
.hr-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hr-form .hr-full{grid-column:1/-1}
.hr-services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.hr-service{background:var(--surface);border-radius:var(--radius-lg);padding:26px;border:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.hr-service .hr-ico{width:30px;height:30px;color:var(--brand-ink);stroke-width:1.5}
.hr-service h4{font-size:17px;color:var(--brand-ink);margin-top:6px}
.hr-service p{font-size:14px;line-height:22px;color:var(--ink-muted)}
.hr-map{height:220px;border-radius:var(--radius-lg);background:var(--tint);position:relative;overflow:hidden;margin-top:20px}
.hr-map::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1.5px,transparent 1.5px),linear-gradient(90deg,var(--line) 1.5px,transparent 1.5px);background-size:44px 44px}
.hr-map i{position:absolute;left:50%;top:45%;width:26px;height:26px;border-radius:50% 50% 50% 0;background:var(--accent);transform:rotate(-45deg);box-shadow:0 0 0 6px rgba(242,154,46,.25)}
