:root{--hk-ease:cubic-bezier(.22,1,.36,1);--hk-ease-io:cubic-bezier(.65,0,.35,1);--hk-t1:150ms;--hk-t2:200ms;--hk-t3:250ms;--hk-t4:300ms;--hk-ring:#0D254C;--hk-hdr:72px;--hk-bar:0px}
@media (max-width:1199px){:root{--hk-hdr:61px}}
@media (max-width:767px){:root{--hk-bar:76px}}
/* 3 our own tap color */
html{-webkit-tap-highlight-color:transparent}
/* 12 + 24 focus and anchors never land under the header or the call bar */
html{scroll-padding-top:calc(var(--hk-hdr) + 16px);scroll-padding-bottom:calc(var(--hk-bar) + 16px)}
html body :is(h1,h2,h3,h4,section,[id]){scroll-margin-top:calc(var(--hk-hdr) + 16px);scroll-margin-bottom:calc(var(--hk-bar) + 16px)}
/* 1 + 5 + 6 + 13 + 14 buttons: one timing, only the properties that change, shrink on press */
html body :is(.hkl-cta,.btn,.hk2-hero button,.hk-addr-mid button,.prop-btn-primary,.prop-btn-secondary,.hk2-sticky a,.hk2-sticky button,.hk2-call,.hkh-btn,.cmp-tabs button,.fan-ctrl button,.cond button,.when-quick button,.sit-chips button,.hkh-chips button,.hkh-chips a,.hk3-acta-f button,a.hk-guide-cta,.hkl-share a,.hk-lang,.prop-radio-card,.chips a,.hk-btn){touch-action:manipulation;transition-property:transform,background-color,border-color,color,box-shadow,opacity;transition-duration:var(--hk-t1);transition-timing-function:var(--hk-ease)}
html body :is(.live-out a,a.hkc-card,a.hkcg-card,.acard,.help-grid a,.guide-grid a,.hub-grid a,.opt-card,.case){touch-action:manipulation;transition-property:transform,background-color,border-color,color,box-shadow,opacity;transition-duration:var(--hk-t2);transition-timing-function:var(--hk-ease)}
html body :is(.hkl-cta,.btn,.hk2-hero button,.hk-addr-mid button,.prop-btn-primary,.prop-btn-secondary,.hk2-sticky a,.hk2-sticky button,.hk2-call,.hkh-btn,.cmp-tabs button,.fan-ctrl button,.cond button,.when-quick button,.sit-chips button,.hkh-chips button,.hkh-chips a,.hk3-acta-f button,a.hk-guide-cta,.hkl-share a,.hk-lang,.prop-radio-card,.chips a,.hk-btn):active:not(:disabled){transform:scale(.97)}
html body :is(.live-out a,a.hkc-card,a.hkcg-card,.acard,.help-grid a,.guide-grid a,.hub-grid a,.case):active{transform:scale(.985)}
/* 6 Elementor menu pieces that animate every property */
html body .elementor-widget-n-menu :is(.e-n-menu-title-text,.e-n-menu-icon i,.e-n-menu-icon svg,.e-n-menu-dropdown-icon,.e-n-menu-toggle i,.e-n-menu-toggle svg){transition-property:color,fill,opacity,transform}
/* 4 + 5 one hover per button type, mouse only */
@media (hover:hover) and (pointer:fine){
 html body :is(.hkl-cta,.hk2-hero button,.hk-addr-mid button,.prop-btn-primary,.hk2-call):hover{background-color:#262626}
 html body .hkl-ftr a:hover{text-decoration:underline;text-decoration-color:#CEAF83;text-underline-offset:3px}
}
/* 7 + 8 tap targets: 44 px on phones, without making small links look bigger */
@media (max-width:767px){
 html body .hkl-ftr li>a{padding:12px 0}
 html body :is(ol.srcs,details.src ol) li>a{display:inline-block;padding-block:12px;font-size:13px;line-height:1.5}
 html body :is(.fc>a,.all-guides>a),html body .hkv3 li.step>button,html body .hkv3 .fan-details>summary{min-height:44px;box-sizing:border-box}
 html body .fc>a{display:inline-flex;align-items:center}
 html body .hkl-ftr ul{gap:0}
 html body .hkl-fsms>a{display:inline-flex;align-items:center;min-height:44px}
 html body :is(.hkc-foot,.zips,.small-links,.hk3-acta-l,.hkcg-foot,.all-guides,.part-contact,.fc)>a{display:inline-block;padding-block:12px}
 html body :is(a.more,.proof-link,.hk2-es,.live-note a,.fine>a,.srcl>a,span.s>a,.hk3-talk a,.hk2-top a,.hk2-chg a,.hkl-fbrand p a,.hk-check a,.part-contact>a,.rv>a,p.body>a,:is(.hk,.hka,.hkv3) li>a){position:relative}
 html body :is(a.more,.proof-link,.hk2-es,.live-note a,.fine>a,.srcl>a,span.s>a,.hk3-talk a,.hk2-top a,.hk2-chg a,.hkl-fbrand p a,.hk-check a,.part-contact>a,.rv>a,p.body>a,:is(.hk,.hka,.hkv3) li>a)::after{content:"";position:absolute;inset:-15px -4px}
 html body :is(details>summary){min-height:44px;box-sizing:border-box}
}
html body .hk-lang{position:relative;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
/* 9 map dots: an invisible 44 px circle (added by the script) takes the tap */
html body svg .hk-hit{fill:transparent;stroke:none;pointer-events:all}
/* 10 safe areas (viewport-fit=cover is in the viewport tag) */
html body .hkl-in{padding-left:max(var(--hk-pad,24px),env(safe-area-inset-left));padding-right:max(var(--hk-pad,24px),env(safe-area-inset-right))}
@media (max-width:1199px){html body .hkl-in{--hk-pad:16px}}
@media (max-width:767px){html body .hk2-sticky{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}html body.hk2-has-sticky{padding-bottom:calc(76px + env(safe-area-inset-bottom))}html body .hkh-btn{margin-bottom:env(safe-area-inset-bottom)}}
/* 11 a visible focus ring on every control (2 px, 2 px offset, 3:1 or more) */
html body :focus-visible{outline:2px solid var(--hk-ring)!important;outline-offset:2px!important}
html body :is(.hkl-ftr,.hkv3 .dark,.hk .dark,.cta-card,.advance) :focus-visible{outline-color:#CEAF83!important}
html body .prop-radio-card:has(input:focus-visible){outline:2px solid var(--hk-ring);outline-offset:2px}
html body .skip-link:focus-visible{outline-offset:-4px!important}
/* 17 + 22 phone menu: opens from the menu button, 200 ms, no script needed for the motion */
@media (max-width:1199px){
 html body .hkl-nav{display:none;opacity:0;transform:translateY(-8px) scale(.95);transform-origin:top right;transition:opacity var(--hk-t2) var(--hk-ease),transform var(--hk-t2) var(--hk-ease),display var(--hk-t2) allow-discrete;overscroll-behavior:contain}
 html body .hkl-nav.is-open{display:block;opacity:1;transform:none}
 @starting-style{html body .hkl-nav.is-open{opacity:0;transform:translateY(-8px) scale(.95)}}
}
/* 18 form steps slide 16 px in the direction of travel, 250 ms (a transition, so it can be interrupted) */
html body #prop-offer-form .prop-step{animation:none}
html body #prop-offer-form[data-hk-dir] .prop-step.active{transition:opacity var(--hk-t3) var(--hk-ease),transform var(--hk-t3) var(--hk-ease)}
html body #prop-offer-form[data-hk-dir="next"] .prop-step.active.hk-enter{opacity:0;transform:translateX(16px);transition:none}
html body #prop-offer-form[data-hk-dir="back"] .prop-step.active.hk-enter{opacity:0;transform:translateX(-16px);transition:none}
html body .prop-step .prop-heading:focus{outline:none}
html body .prop-step .prop-heading:focus-visible{outline:none!important}
/* 20 progress bar fills over 300 ms (transform only) and names the steps */
html body .prop-progress-bar{overflow:hidden}
html body #prop-progress-fill{width:100%!important;transform-origin:left center;transform:scaleX(var(--hk-p,.25));transition:transform var(--hk-t4) var(--hk-ease)}
html body .hk-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 16px;padding:0;font-size:14px;line-height:1.3;color:#6B6B6B}
html body .hk-steps li{margin:0;padding:0;text-align:center;transition:color var(--hk-t2) var(--hk-ease)}
html body .hk-steps li.on{color:#000;font-weight:600}
html body .hk-steps li.done{color:#7A6340}
/* 21 page-to-page transitions on every template */
@media (prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 ::view-transition-old(root),::view-transition-new(root){animation-duration:var(--hk-t2);animation-timing-function:var(--hk-ease)}
 html body .hkl-hdr{view-transition-name:hk-hdr}
 ::view-transition-group(hk-hdr){animation-duration:0s}
}
/* 23 FAQ answers open smoothly (only the answer boxes animate to their height, nothing else on the page) */
html body details{interpolate-size:allow-keywords}
@media (prefers-reduced-motion:no-preference){
 html body details::details-content{block-size:0;overflow-y:clip;transition:block-size var(--hk-t3) var(--hk-ease),content-visibility var(--hk-t3) allow-discrete}
 html body details[open]::details-content{block-size:auto}
}
/* 28 bold text is 700, never the browser's relative "bolder" (900 inside labels) */
html body :is(b,strong){font-weight:700}
/* 30 balanced subtitles and card titles; no lonely last words in paragraphs */
html body :is(h1,h2,h3,h4,.lede,.sub,.kicker,.hkcg-lead,.hkc-lead,figcaption,blockquote,.opt h3,.card h3,a.hkcg-card b,a.hkc-card b,.guide-grid b,.prop-heading){text-wrap:balance}
html body :is(p,li,dd){text-wrap:pretty}
/* 31 even-width digits for every number */
html body :is(.hkc-stat b,.big,.v,[id^="hkout"],.lv-money,.lv-money input,.live-out,.calc-card,.cmp-table,table,.odo,.cnt-pill,.fc b,.hk-nw,a[href^="tel:"],input[inputmode="numeric"],input[type="tel"],.hk2-top,.price,.num,.stat){font-variant-numeric:tabular-nums}
/* 32 phone numbers never break */
html body :is(.hk-nw,a[href^="tel:"]){white-space:nowrap}
html body .hk-nw{display:contents}
/* 33 links inside text look like links: 1 px underline, 3 px below, 2 px on hover */
html body main :is(p,li,dd,td,figcaption,blockquote) a:not([class*="btn"]):not(:is(.hero-links,.hk2-sticky,.chips,.towns,.tool-nav,.sit-chips,.when-quick,.hkl-share,.hk3-talk,.hk2-top,.trust,.facts .fc) a):not(.hkl-cta):not(.hkcg-card):not(.hkc-card):not(.acard){text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:currentColor}
@media (hover:hover) and (pointer:fine){html body main :is(p,li,dd,td,figcaption,blockquote) a:not([class*="btn"]):not(:is(.hero-links,.hk2-sticky,.chips,.towns,.tool-nav,.sit-chips,.when-quick,.hkl-share,.hk3-talk,.hk2-top,.trust,.facts .fc) a):not(.hkl-cta):not(.hkcg-card):not(.hkc-card):not(.acard):hover{text-decoration-thickness:2px}}
/* 38 brand selection color */
::selection{background:#E4D4B8;color:#000}
/* 39 legal text: 13 px, 65 characters a line, line height 1.5 */
html body :is(.fine,.hk2-legal,.hk2-consent,.hk2-facts,.disclaimer,.legal,.adv-fine,.hero-fine){font-size:13px;line-height:1.5;max-width:65ch}
html body :is(.fine.center,p.fine[style*="center"]){margin-inline:auto}
html body .hkl-fbrand p{font-size:13px;line-height:1.5;max-width:65ch}
/* 29 small caps labels went from 11-12 px to 14 px: less tracking so they stay on one line */
html body :is(.eyebrow,.lbl,.tagx,.hkc-eb,.eho,.mcard .lbl,.live-f label,.live-out span):not(#hk-z){letter-spacing:.08em}
/* 35 + 27 the menu in sentence case, 15 px, no wide tracking (calmer, and it fits in Spanish) */
html body .hkl-nav a{font-size:15px;letter-spacing:0;text-transform:none}
html body .hkl-ftr h2{font-size:14px;letter-spacing:.08em}
/* 41 + 43 one button family: primary 52 px, 16 px, weight 600, 8 px corners; one secondary; one text link style */
html body :is(.hkl-cta,.hk2-hero button,.hk-addr-mid button,.prop-btn-primary,.prop-btn-secondary,.hk2-call,.btn,.btn-primary,.btn-secondary,.btn-gold,.btn-line,.hk3-acta-f button,a.hk-guide-cta,.hk-btn):not(#hk-z){min-height:52px;font-size:16px;font-weight:600;border-radius:8px;box-sizing:border-box;letter-spacing:0;text-transform:none}
html body :is(.hkl-cta,.hk2-call,.btn,.btn-primary,.btn-secondary,.btn-gold,.btn-line,a.hk-guide-cta,.hk-btn):not(#hk-z){display:inline-flex;align-items:center;justify-content:center;padding-inline:24px;text-decoration:none}
html body.hk-lite :is(button,.hk-lang,.hkl-tg){border-radius:8px}
@media (hover:hover) and (pointer:fine){
 html body :is(.btn-gold,.hk2-sticky a:first-child):not(#hk-z):hover{background-color:#D8C39C}
 html body :is(.btn-line,.btn-secondary,.prop-btn-secondary,.btn.l):not(#hk-z):hover{background-color:#F5F5F5;color:#000}
}
/* 42 nested corners: a photo inside a padded card follows the card's curve */
html body :is(.hero-photo,.fcard .img,.hpic,.who){border-radius:12px}
html body :is(.hero-photo img,.hpic img,.fcard .img img){border-radius:inherit}
/* 48 soft continuous corners where the browser supports them */
@supports (corner-shape:squircle){html body :is(.btn,.hkl-cta,.prop-btn-primary,.hk2-hero button,.hk-addr-mid button,.card,.opt,.case,.mcard,.fc,.hkc-stat,.hkcg-card,.hkc-card,.acard,.calc-card,.prop-radio-card,.hk3-path,.prop-wizard-container){corner-shape:squircle}}
/* 52 shorter phone pages: long card lists show the first four, the rest one tap away */
@media (max-width:767px){html body .hk-fold>.hk-folded{display:none}}
html body .hk-more{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:16px 0 0;padding:0 24px;border:1px solid #000;border-radius:8px;background:#fff;color:#000;font:600 16px/1.2 var(--hk-font,Montserrat,Arial,sans-serif);cursor:pointer}
@media (min-width:768px){html body .hk-more{display:none}}
/* 68 screen heights follow the visible area on phones (the chat panels are styled by their own script) */
html body:not(.hkl-focus) .hkh{height:min(600px,calc(100dvh - 120px))}
html body:not(.hkl-focus) .hkb-box{height:min(720px,calc(100dvh - 32px))}
html body .elementor-section.elementor-section-height-full{height:100dvh}
html body .site-header + .elementor{min-height:calc(100dvh - 320px)}
/* 57 the address the seller already gave, with a way back */
html body .hk-addr-sum{margin:0 0 8px;font-size:15px;color:#595959}
html body .hk-linkbtn{background:none;border:0;padding:12px 4px;margin:-12px 0;font:inherit;color:#000;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:0}
/* 58 full-width Next in thumb reach on phones, 52 px */
html body #prop-wizard-app :is(.prop-btn-primary,.prop-btn-secondary):not(#hk-z){min-height:52px;height:auto;font-size:16px;font-weight:600;border-radius:8px}
@media (max-width:767px){html body #prop-wizard-app .prop-nav{display:flex;gap:8px;align-items:stretch}html body #prop-wizard-app :is(#prop-btn-next,#prop-btn-submit){flex:1 1 auto;width:100%}html body #prop-wizard-app #prop-btn-back{flex:0 0 auto;padding-inline:20px}}
/* 60 + 61 the field shows its own state: red border and icon when wrong, a green check when right */
html body #prop-wizard-app :is(input[aria-invalid="true"],input:user-invalid){border-color:#B42318!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%23B42318'/%3E%3Cpath d='M10 5v6' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='10' cy='14.5' r='1.2' fill='%23fff'/%3E%3C/svg%3E") no-repeat right 12px center/18px!important;padding-right:40px!important}
html body #prop-wizard-app input.hk-ok:not([aria-invalid="true"]){background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%231E7B34'/%3E%3Cpath d='M6 10.5l2.6 2.5L14 7.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center/18px!important;padding-right:40px!important}
html body #prop-wizard-app .prop-field-error{color:#B42318;font-size:14px;line-height:1.4;margin:6px 0 0}
/* 63 sending: the spinner shows only after 500 ms */
html body #prop-wizard-app .prop-spinner{opacity:0;animation-name:spin,hk-appear;animation-duration:1s,1ms;animation-delay:0s,.5s;animation-iteration-count:infinite,1;animation-fill-mode:none,forwards;animation-timing-function:linear,linear}
@keyframes hk-appear{to{opacity:1}}
/* 65 brand-colored checkboxes, radios and sliders */
html{accent-color:#CEAF83}
/* 66 real call and text buttons in the "Rather talk?" card; the number never breaks */
html body .hk3-path .hk3-tel{font-size:15px;color:#000;white-space:nowrap;font-variant-numeric:tabular-nums}
html body .hk3-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
html body .hk3-path a.hk3-b{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #000;border-radius:8px;background:#fff;color:#000;font-size:15px;font-weight:600;text-decoration:none}
@media (hover:hover) and (pointer:fine){html body .hk3-path a.hk3-b:hover{background:#F5F5F5}}
/* 67 the thank-you panel: who calls, when, and a way to pick the time */
html body .hk-ty-who{display:flex;gap:16px;align-items:center;margin:16px 0;padding:16px;border:1px solid #E6E6E6;border-radius:12px}
html body .hk-ty-who img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}
html body .hk-ty-who b{display:block;font-size:16px;color:#000}
html body .hk-ty-who span{display:block;font-size:15px;color:#595959;line-height:1.5}
html body .hk-ty-time{display:inline-flex;align-items:center;justify-content:center;min-height:52px;margin:8px 0 0;padding:0 24px;border:1px solid #000;border-radius:8px;color:#000;font-weight:600;text-decoration:none}
/* 75 + 77 photos show their main color, with a soft shimmer, until they load */
html body img.hk-ph:not(.hk-loaded){background-image:linear-gradient(100deg,rgb(255 255 255 / 0) 30%,rgb(255 255 255 / .35) 50%,rgb(255 255 255 / 0) 70%);background-size:200% 100%;background-repeat:no-repeat}
@media (prefers-reduced-motion:no-preference){html body img.hk-ph:not(.hk-loaded){animation:hk-shimmer 1.4s linear infinite}}
@keyframes hk-shimmer{from{background-position:150% 0}to{background-position:-50% 0}}
html body .lmap:not(:has(.leaflet-tile-loaded)){background-image:linear-gradient(100deg,#eef0f1 30%,#f6f7f8 50%,#eef0f1 70%);background-size:200% 100%}
@media (prefers-reduced-motion:no-preference){html body .lmap:not(:has(.leaflet-tile-loaded)){animation:hk-shimmer 1.4s linear infinite}}
/* 92 no shift when the language link joins the header after load */
@media (min-width:1200px){html body .hkl-act{min-width:310px}}
html body #prop-wizard-app:not(:has(.hk2-top)){padding-top:37px}
@media (max-width:600px){html body #prop-wizard-app:not(:has(.hk2-top)){padding-top:64px}}
/* 81 breadcrumbs, small, above the page */
html body .hk-crumbs{max-width:1240px;margin:0 auto;padding:12px 24px 0;box-sizing:border-box;font-size:14px;line-height:1.4;color:#595959}
html body .hk-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0}
html body .hk-crumbs li{margin:0;display:inline-flex;align-items:center;gap:8px;flex:none;white-space:nowrap}
html body .hk-crumbs li[aria-current]{flex:0 1 auto;min-width:0;display:block;overflow:hidden;text-overflow:ellipsis}
html body .hk-crumbs li[aria-current]::before{margin-right:8px}
html body .hk-crumbs li+li::before{content:"›";color:#9A9A9A}
html body .hk-crumbs a{color:#595959;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
html body .hk-crumbs [aria-current]{color:#000}
@media (max-width:767px){html body .hk-crumbs{padding:4px 16px 0}}
/* 82 the phone menu holds still: it scrolls on its own and the page behind it does not move */
@media (max-width:1199px){html body .hkl-nav{max-height:calc(100dvh - var(--hk-hdr));overflow-y:auto;overscroll-behavior:contain}html:has(.hkl-nav.is-open){overflow:hidden}html:has(.hkl-nav.is-open) body{overflow:hidden}}
html{scrollbar-gutter:stable}
/* 83 the language link says the language in full */
html body .elementor-location-header .hk-lang{font-size:14px!important;font-weight:600;letter-spacing:0!important;text-transform:none!important;padding:0 12px!important;white-space:nowrap;min-height:44px!important;border-radius:8px!important}
html body .elementor-location-header .hk-lang::after{content:none!important}
@media (max-width:379px){html body .hkl-logo img{width:150px}}
/* 85 contents box: open on desktop, one tap on phones */
html body .hk-toc-w{max-width:1120px;margin:0 auto;padding:24px 24px 0;box-sizing:border-box}
html body .hk-toc{border:1px solid #E6E6E6;border-radius:12px;background:#fff;padding:0 24px;font-size:15px}
html body .hk-toc summary{cursor:pointer;min-height:52px;display:flex;align-items:center;font-weight:600;color:#000;list-style:none}
html body .hk-toc summary::-webkit-details-marker{display:none}
html body .hk-toc summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:1.5px solid #000;border-bottom:1.5px solid #000;transform:rotate(45deg);transition:transform var(--hk-t2) var(--hk-ease)}
html body .hk-toc[open] summary::after{transform:rotate(-135deg)}
html body .hk-toc ol{margin:0 0 16px;padding:0 0 0 20px;columns:2 280px;column-gap:32px}
html body .hk-toc li{margin:0;padding:0;break-inside:avoid}
html body .hk-toc a{display:inline-block;padding:8px 0;color:#000;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#CEAF83}
html body .hka .hk-toc{margin:0 0 32px}
@media (max-width:767px){html body .hk-toc-w{padding:16px 16px 0}html body .hk-toc{padding:0 16px}html body .hk-toc a{padding:12px 0}}
/* 86 back to top on long phone pages, above the call bar */
html body .hk-top{position:fixed;right:16px;bottom:calc(var(--hk-bar) + 16px + env(safe-area-inset-bottom));z-index:9989;width:44px;height:44px;border-radius:999px;border:1px solid #000;background:#fff;color:#000;display:grid;place-items:center;box-shadow:0 1px 2px rgb(0 0 0 / .06),0 6px 16px -8px rgb(0 0 0 / .18);opacity:0;transform:translateY(8px) scale(.95);pointer-events:none;transition:opacity var(--hk-t2) var(--hk-ease),transform var(--hk-t2) var(--hk-ease);cursor:pointer;padding:0}
html body .hk-top.on{opacity:1;transform:none;pointer-events:auto}
html body .hk-top svg{width:20px;height:20px}
body.hk-kb .hk-top{display:none}
@media (min-width:768px){html body .hk-top{display:none}}
/* 89 the current page is marked in the menu */
html body .hkl-nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:#CEAF83;text-underline-offset:6px}
html body .hkl-ftr a[aria-current="page"]{color:#CEAF83}
/* 25 closing counts in even-width digits */
html body .hkc-stat b,html body [data-hk-count]{font-variant-numeric:tabular-nums}
/* 26 the header steps aside while scrolling down on phones, back on any scroll up, 300 ms */
@media (max-width:1199px){
 html body .hkl-hdr{transition:transform var(--hk-t4) var(--hk-ease),box-shadow var(--hk-t2) var(--hk-ease)}
 html body .hkl-hdr.hk-away{transform:translateY(-100%)}
}
@media (prefers-reduced-motion:reduce){
 html body :is(.hkl-nav,.hkl-hdr,#prop-progress-fill,.prop-step,.hk-steps li){transition:none!important}
 html body :active{transform:none!important}
}