/* Public information pages and footer share Huurhun's local UI fonts. */
.huurhun-visual .complete-footer{display:block;background:#fff;color:var(--hh-ink);padding:28px 0 18px;border-top:1px solid var(--hh-line)}
.huurhun-visual .complete-footer.shell,.huurhun-visual .complete-footer>.shell:first-child{width:calc(100% - clamp(36px,6.7vw,112px));max-width:1360px;margin-inline:auto}
.huurhun-visual .footer-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:32px;align-items:start;padding-bottom:20px}
.huurhun-visual .footer-intro>.footer-brand{max-width:360px}
.huurhun-visual .footer-intro .brand-logo-image{width:112px;height:76px}
.huurhun-visual .footer-intro p{font-size:16px;line-height:1.7;color:var(--hh-muted);margin-top:8px;max-width:520px}
.huurhun-visual .footer-intro h2{font-family:var(--hh-font-display);font-size:20px;line-height:1.35;letter-spacing:0;font-weight:700;margin:0 0 8px}
.huurhun-visual .footer-intro a:not(.brand-logo){display:inline-flex;min-height:44px;align-items:center;font-size:14px;text-decoration:underline;text-underline-offset:4px;margin-top:4px}
.huurhun-visual .footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:8px 0 18px}
.huurhun-visual .footer-column{min-width:0;overflow-wrap:anywhere}
.huurhun-visual .footer-column h2,.huurhun-visual .footer-column h3{font-family:var(--hh-font-display);font-size:20px;line-height:1.4;letter-spacing:0;font-weight:700;margin:0 0 7px}
.huurhun-visual .footer-column nav,.huurhun-visual .footer-column ul{display:grid;gap:0;margin:0;padding:0;list-style:none}
.huurhun-visual .footer-column a,.huurhun-visual .footer-column button{display:flex;align-items:center;text-align:left;min-height:44px;padding:5px 0;font-family:var(--hh-font-ui);font-size:14px;line-height:1.6;letter-spacing:0;overflow-wrap:anywhere;color:var(--hh-ink);text-decoration:none;font-weight:400}
.huurhun-visual .footer-column :is(a,button):hover{color:var(--hh-link);text-decoration:underline;text-underline-offset:4px}
.huurhun-visual .footer-column :is(a,button):focus-visible,.huurhun-visual .footer-intro a:focus-visible{outline:2px solid var(--hh-focus);outline-offset:4px}
.huurhun-visual .footer-column p{font-size:14px;line-height:1.65;color:var(--hh-muted);margin:6px 0 0}
.huurhun-visual .footer-bottom{border-top:1px solid var(--hh-line);padding-top:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;font-size:14px;line-height:1.65;color:var(--hh-muted);letter-spacing:0}
.huurhun-visual .footer-bottom p{font-size:14px;line-height:1.65;max-width:710px;color:var(--hh-muted);margin:0}
.huurhun-visual .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.huurhun-visual .footer-bottom small{font-size:14px;max-width:300px;overflow-wrap:anywhere}
.huurhun-visual .footer-demo-note{margin-top:6px;font-size:14px;line-height:1.65;color:var(--hh-muted)}

.site-page{margin:0;background:#fff;color:var(--hh-ink);font:400 16px/1.7 var(--hh-font-ui);-webkit-font-smoothing:antialiased}
.site-page *,.site-page *:before,.site-page *:after{box-sizing:border-box}
.site-page h1,.site-page h2,.site-page h3,.site-page p{margin:0}
.site-page a{color:inherit;text-decoration:none}
.site-page button,.site-page input,.site-page select,.site-page textarea{font:inherit;color:inherit}
.site-page button{cursor:pointer}
.site-page img{max-width:100%}
.site-page [hidden]{display:none!important}
.site-page .shell{width:calc(100% - clamp(36px,6.7vw,112px));max-width:1360px;margin-inline:auto}
.site-page :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--hh-focus);outline-offset:4px}
.site-page .skip-link{position:fixed;top:-90px;left:20px;background:var(--hh-ink);color:#fff;padding:12px 18px;z-index:100;text-decoration:none;clip-path:inset(50%);opacity:0;pointer-events:none}
.site-page .skip-link:focus{top:12px;clip-path:none;opacity:1;pointer-events:auto}
.site-page .site-page-header{border-bottom:1px solid var(--hh-line);background:#fff}
.site-page .site-page-header>.shell{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 0;min-height:106px}
.site-page .site-page-header .brand-logo-image{width:108px;height:74px}
.site-page .site-page-header nav{display:flex;align-items:center;flex-wrap:wrap;gap:26px}
.site-page .site-page-header nav a{font-size:14px;letter-spacing:0;min-height:44px;display:flex;align-items:center;line-height:1.5}
.site-page .site-page-header nav a:hover{color:var(--hh-link)}
.site-page .policy-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:70px;align-items:start;padding:54px 0 76px;max-width:1220px}
.site-page :is(.policy-page-nav,.page-nav){position:sticky;top:28px;padding:8px 24px 22px 0}
.site-page :is(.policy-page-nav,.page-nav) h2{font-family:var(--hh-font-display);font-size:24px;line-height:1.4;font-weight:700;letter-spacing:0;margin-bottom:18px}
.site-page :is(.policy-page-nav,.page-nav) details{margin:0}
.site-page :is(.policy-page-nav,.page-nav) summary{font-family:var(--hh-font-display);font-size:24px;line-height:1.4;letter-spacing:0;font-weight:700;min-height:44px;padding:6px 0;display:list-item;list-style-position:inside;cursor:pointer}
.site-page :is(.policy-page-nav,.page-nav) details[open] nav{margin-top:12px}
.site-page :is(.policy-page-nav,.page-nav) summary:focus-visible{outline:2px solid var(--hh-focus);outline-offset:4px}
.site-page :is(.policy-page-nav,.page-nav) nav,.site-page :is(.policy-page-nav,.page-nav) ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.site-page :is(.policy-page-nav,.page-nav) a{display:flex;align-items:center;font-size:14px;line-height:1.65;padding:9px 12px;min-height:44px;border-radius:8px;overflow-wrap:anywhere}
.site-page :is(.policy-page-nav,.page-nav) a:hover{background:var(--hh-section-bg,#f7f7f4)}
.site-page :is(.policy-page-nav,.page-nav) a[aria-current=page]{color:var(--hh-link);background:var(--hh-accent-soft)}
.site-page .policy-content{min-width:0;overflow-wrap:anywhere;max-width:72ch;padding-top:5px}
.site-page .policy-content>.eyebrow{font-size:14px;letter-spacing:.2px;text-transform:uppercase;color:var(--hh-link);margin-bottom:15px;font-weight:400;}
.site-page .policy-content h1{font-family:var(--hh-font-display);font-size:clamp(28px,3.1vw,36px);font-weight:700;line-height:1.3;letter-spacing:0;margin-bottom:18px}
.site-page .policy-content .policy-lead{font-size:16px;line-height:1.7;max-width:70ch;color:var(--hh-muted);margin:0 0 24px}
.site-page .policy-content .policy-meta{font-size:14px;line-height:1.8;color:var(--hh-muted);margin-bottom:29px;letter-spacing:0}
.site-page .policy-content section{margin-top:31px;scroll-margin-top:25px}
.site-page .policy-content h2{font-family:var(--hh-font-display);font-size:26px;line-height:1.45;letter-spacing:0;font-weight:700;margin-bottom:12px;overflow-wrap:anywhere}
.site-page .policy-content h3{font-size:24px;line-height:1.4;font-weight:700;margin:22px 0 9px;font-family:var(--hh-font-display);}
.site-page .policy-content p{font-size:16px;line-height:1.7;max-width:70ch;margin-bottom:13px}
.site-page .policy-content ul,.site-page .policy-content ol{margin:12px 0 18px;padding-left:24px;font-size:16px;line-height:1.7}
.site-page .policy-content li{padding-left:3px;margin-bottom:7px}
.site-page .policy-content a:not(.button){color:var(--hh-link);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.site-page .policy-note{padding:19px 23px;margin:24px 0;border-radius:10px;background:var(--hh-accent-soft);font-size:16px;line-height:1.7;color:var(--hh-ink)}
.site-page .policy-note p{font-size:16px;line-height:1.7;margin:0}
.site-page .policy-note strong{font-weight:600}
.site-page .policy-content .policy-source{font-size:14px;line-height:1.85;color:var(--hh-muted);margin-top:36px;padding-top:20px;border-top:1px solid var(--hh-line)}
.site-page .policy-content details{border-top:1px solid var(--hh-line);padding:16px 0}
.site-page .policy-content details:last-of-type{border-bottom:1px solid var(--hh-line)}
.site-page .policy-content summary{font-size:14px;min-height:44px;cursor:pointer;line-height:1.65;display:list-item;list-style-position:inside;padding:9px 0}
.site-page .policy-content details p{padding-top:12px}
.site-page .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--hh-accent);border-radius:28px;background:var(--hh-accent);color:var(--hh-accent-ink);padding:12px 25px;min-height:49px;font-size:14px;text-decoration:none;font-weight:600;letter-spacing:0}
.site-page .button.secondary{background:#fff;border-color:var(--hh-line);color:var(--hh-ink)}
.site-page :is(.formcard,.form-card){padding:26px 28px;background:var(--hh-section-bg,#f7f7f4);border-radius:12px;margin-top:27px;border:1px solid var(--hh-line)}
.site-page :is(.formcard,.form-card) h2{font-size:24px;font-family:var(--hh-font-display);font-weight:700;}
.site-page :is(.formcard,.form-card) label{display:block;font-size:14px;line-height:1.65;margin-top:17px}
.site-page :is(.formcard,.form-card) input,.site-page :is(.formcard,.form-card) select,.site-page :is(.formcard,.form-card) textarea{width:100%;display:block;margin-top:6px;min-height:46px;padding:11px 13px;border:1px solid var(--hh-line);border-radius:7px;background:#fff;font-size:16px}
.site-page :is(.formcard,.form-card) textarea{min-height:135px;resize:vertical}
.site-page :is(.formcard,.form-card) .button{margin-top:22px}
.site-page :is(.formcard,.form-card) .form-status{font-size:14px;line-height:1.8;margin-top:15px;color:var(--hh-link)}
.site-page :is(.formcard,.form-card) .report-consent{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:8px 0;cursor:pointer;font-size:14px;line-height:1.85}
.site-page :is(.formcard,.form-card) .report-consent input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:0 0 20px;padding:0;margin:3px 0 0;accent-color:var(--hh-link)}
.site-page .report-consent span{min-width:0}
.site-page .report-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;margin-top:20px}
.site-page .report-actions .button{margin-top:0;font-size:14px;padding-inline:20px;min-height:48px}
.site-page .policy-related nav a{display:inline-flex;align-items:center;min-height:44px}
.site-page .policy-related nav p{margin-bottom:4px}
.site-page .contact-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
.site-page .contact-option{padding:22px 24px;background:var(--hh-section-bg,#f7f7f4);border-radius:10px;border:1px solid var(--hh-line)}
.site-page .contact-option h2{font-size:24px;font-family:var(--hh-font-display);font-weight:700;}
.site-page .contact-option p{font-size:16px}
.site-page .local-demo-note{font-size:14px;line-height:1.7;letter-spacing:0;color:var(--hh-muted);padding:10px 18px;background:var(--hh-accent-soft);text-align:center}

@media(max-width:1000px){
 .huurhun-visual .footer-intro{gap:24px;grid-template-columns:1fr 1.1fr}
 .huurhun-visual .footer-columns{gap:20px}
 .huurhun-visual .footer-column h2,.huurhun-visual .footer-column h3{font-size:20px;font-family:var(--hh-font-display);font-weight:700;}
 .site-page .policy-layout{grid-template-columns:210px minmax(0,1fr);gap:35px}
}
@media(max-width:760px){
 .huurhun-visual .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .site-page .policy-layout{grid-template-columns:1fr;gap:27px;padding:36px 0 55px}
 .site-page :is(.policy-page-nav,.page-nav){position:static;padding:0 0 22px;border-bottom:1px solid var(--hh-line)}
 .site-page :is(.policy-page-nav,.page-nav) h2{font-size:24px;margin-bottom:11px;font-family:var(--hh-font-display);font-weight:700;}
 .site-page :is(.policy-page-nav,.page-nav) nav,.site-page :is(.policy-page-nav,.page-nav) ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px}
 .site-page :is(.policy-page-nav,.page-nav) a{font-size:14px;padding:7px 10px;min-height:44px}
 .site-page .site-page-header nav{gap:18px}
}
@media(max-width:600px){
 .huurhun-visual .complete-footer{padding:24px 0 18px}
 .huurhun-visual .footer-intro{grid-template-columns:1fr;gap:18px;padding-bottom:14px}
 .huurhun-visual .footer-intro .brand-logo-image{width:105px;height:71px}
 .huurhun-visual .footer-intro h2{font-size:20px;margin-top:0;font-family:var(--hh-font-display);font-weight:700;}
 .huurhun-visual .footer-intro p{font-size:16px;line-height:1.7}
 .huurhun-visual .footer-intro a:not(.brand-logo){font-size:14px}
 .huurhun-visual .footer-columns{gap:20px 16px;padding:8px 0 18px}
 .huurhun-visual .footer-column h2,.huurhun-visual .footer-column h3{font-size:18px;margin-bottom:7px;font-family:var(--hh-font-display);font-weight:700;}
 .huurhun-visual .footer-column a,.huurhun-visual .footer-column button{font-size:14px;min-height:44px;line-height:1.65;letter-spacing:0;padding:5px 0}
 .huurhun-visual .footer-bottom{display:flex;flex-direction:column;gap:10px;padding-top:12px;font-size:14px}
 .huurhun-visual .footer-bottom p{font-size:14px;line-height:1.65}
 .huurhun-visual .footer-bottom small{max-width:none;font-size:14px}
 .site-page{font-size:16px;font-weight:400;}
 .site-page .shell{width:calc(100% - 36px)}
 .site-page .site-page-header>.shell{gap:18px;padding:14px 0;min-height:85px;flex-wrap:wrap}
 .site-page .site-page-header .brand-logo-image{width:88px;height:60px}
 .site-page .site-page-header nav{gap:4px 20px;justify-content:flex-start;max-width:none;flex:1 1 100%}
 .site-page .site-page-header nav a{font-size:14px;letter-spacing:0;min-height:44px}
 .site-page .policy-layout{padding-top:28px;gap:26px}
 .site-page .policy-content h1{font-size:32px;line-height:1.35;letter-spacing:0;margin-bottom:16px;font-family:var(--hh-font-display);font-weight:700;}
 .site-page .policy-content .policy-lead{font-size:16px;line-height:1.7;margin-bottom:21px}
 .site-page .policy-content .policy-meta{font-size:14px;margin-bottom:25px}
 .site-page .policy-content section{margin-top:27px}
 .site-page .policy-content h2{font-size:24px;margin-bottom:11px;font-family:var(--hh-font-display);font-weight:700;}
 .site-page .policy-content h3{font-size:24px;font-family:var(--hh-font-display);font-weight:700;}
 .site-page .policy-content p,.site-page .policy-content ul,.site-page .policy-content ol{font-size:16px;line-height:1.7}
 .site-page .policy-content .policy-source{font-size:14px}
 .site-page .policy-note{padding:17px 18px;font-size:16px;line-height:1.7}
 .site-page .policy-note p{font-size:16px;line-height:1.7}
 .site-page :is(.formcard,.form-card){padding:22px 20px}
 .site-page :is(.formcard,.form-card) input,.site-page :is(.formcard,.form-card) select,.site-page :is(.formcard,.form-card) textarea{font-size:16px}
 .site-page .contact-options{grid-template-columns:1fr;gap:15px}
 .site-page .contact-option{padding:20px}
 .site-page .local-demo-note{font-size:14px;padding:9px 18px;line-height:1.7}
}
@media(max-width:360px){
 .huurhun-visual .footer-columns{gap:20px 16px}
 .huurhun-visual .footer-column h2,.huurhun-visual .footer-column h3{font-size:18px;font-family:var(--hh-font-display);font-weight:700;}
 .huurhun-visual .footer-column a,.huurhun-visual .footer-column button{font-size:14px}
 .site-page .site-page-header nav{gap:4px 18px;max-width:none}
 .site-page .site-page-header nav a{font-size:14px}
 .site-page .policy-content h1{font-size:29px;font-family:var(--hh-font-display);font-weight:700;}
}
@media(prefers-reduced-motion:reduce){.site-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:420px){
 .huurhun-visual .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
 .site-page :is(.policy-page-nav,.page-nav) nav,.site-page :is(.policy-page-nav,.page-nav) ul{grid-template-columns:1fr}
 .site-page :is(.formcard,.form-card){padding:22px 18px}
 .site-page .report-actions .button{flex:1 1 100%;white-space:normal}
}
