
/* Privacy controls and readable policy pages; extends the approved brand. */
:root{--privacy-ink:#073b36;--privacy-paper:#fffef9;--privacy-muted:#455e53}
.trust-links{display:flex;flex-wrap:wrap;gap:6px 20px;padding:16px 0;border-top:1px solid var(--line)}
.trust-links a,.trust-links button{font-size:.875rem;line-height:1.6;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.trust-links button{border:0;background:none;padding:0;color:inherit}
.business-line{font-size:.875rem;line-height:1.9;color:#455e53;margin:0 0 16px;overflow-wrap:anywhere}
.business-line a{text-decoration:underline;text-underline-offset:4px}
.booking-privacy{font-size:.8125rem!important;max-width:580px;color:#d7e4d6;margin-top:22px!important;line-height:1.8}
.booking-privacy a{text-decoration:underline;text-underline-offset:4px}
.cookie-banner{position:fixed;bottom:16px;left:16px;right:16px;z-index:80;max-width:1000px;margin:auto;background:#fffef9;color:#073b36;border:1px solid #b5c5ac;border-radius:20px;box-shadow:0 8px 45px #071f1c30;padding:25px 28px;line-height:1.65}
.cookie-banner h2{font-size:1.25rem;line-height:1.4;letter-spacing:-.02em;margin:0 0 8px}
.cookie-banner p{font-size:.9375rem;max-width:800px}
.cookie-banner p a{text-decoration:underline;text-underline-offset:3px}
.privacy-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.privacy-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;min-width:160px;padding:10px 20px;border:1px solid #073b36;border-radius:999px;font-size:.875rem;font-weight:700;background:#073b36;color:#fffef9;line-height:1.5;text-align:center}
/* Accept and reject deliberately have the same size, color and prominence. */
.privacy-button:hover{background:#15564a;color:#fffef9}
.privacy-button.secondary{background:transparent;color:#073b36}
.privacy-button.secondary:hover{background:#eef2e5}
.privacy-dialog{max-width:610px;width:calc(100% - 32px);max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #b5c5ac;border-radius:22px;padding:30px;color:#073b36;background:#fffef9;box-sizing:border-box}
.privacy-dialog::backdrop{background:#071f1c99}
.privacy-dialog h2{font-size:1.9rem;line-height:1.2;margin:0 0 14px}
.privacy-dialog p{font-size:.9375rem;line-height:1.8}
.privacy-option{display:grid;grid-template-columns:24px 1fr;gap:13px;padding:20px 0;border-top:1px solid #d7dfd4;margin-top:14px;cursor:pointer}
.privacy-option input{width:22px;height:22px;accent-color:#073b36;margin:5px 0 0}
.privacy-option strong{display:block;font-size:1rem}
.privacy-option span{display:block;font-size:.875rem;line-height:1.8}
.privacy-dialog input:focus-visible,.privacy-dialog button:focus-visible,.privacy-button:focus-visible{outline:3px solid #15564a;outline-offset:4px}
.privacy-toast{position:fixed;left:20px;bottom:20px;z-index:85;max-width:calc(100% - 40px);border-radius:12px;background:#073b36;color:#fffef9;padding:13px 20px;font-size:.875rem;box-shadow:0 2px 15px #0003}
.policy-header{background:var(--paper);border-bottom:1px solid var(--line);padding:18px 0}
.policy-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.policy-header img{width:190px;height:auto}.policy-header nav{display:flex;gap:20px;flex-wrap:wrap;font-size:.875rem}
.policy-header a{padding:6px 0}.policy-header nav a{text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.policy-main{max-width:1080px;margin:0 auto;padding:48px 30px 64px}
.policy-title{max-width:900px;margin-bottom:30px}.policy-title h1{font-size:clamp(2.35rem,6vw,4.3rem);line-height:1.12;margin-bottom:20px}.policy-title .eyebrow{margin-bottom:16px}.policy-title .policy-lead{max-width:790px;font-size:1.125rem;line-height:1.8}
.policy-date{font-size:.8125rem;color:#455e53;margin-top:18px}
.policy-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;align-items:start}
.policy-nav{position:sticky;top:24px;border-top:2px solid #073b36;padding-top:12px;font-size:.875rem}
.policy-nav a{display:block;text-decoration:underline;text-underline-offset:4px;padding:10px 0;line-height:1.6}
.policy-content{min-width:0;overflow-wrap:anywhere}.policy-content section{scroll-margin-top:24px;margin-bottom:30px}.policy-content h2{font-size:1.5rem;letter-spacing:-.025em;line-height:1.4;margin-bottom:14px}.policy-content h3{margin:22px 0 10px;font-size:1.1rem}.policy-content p+p{margin-top:16px}.policy-content ul,.policy-content ol{padding-left:22px;margin:16px 0}.policy-content li+li{margin-top:10px}.policy-content a{text-decoration:underline;text-underline-offset:4px}
.policy-callout{background:#eef3e4;border-left:4px solid #073b36;border-radius:0 12px 12px 0;padding:19px 22px;margin:22px 0;font-size:.9375rem;line-height:1.8}
.policy-table-wrap{overflow:auto;margin:20px 0}.policy-table{border-collapse:collapse;width:100%;font-size:.875rem;text-align:left}.policy-table th,.policy-table td{padding:14px 13px;border-bottom:1px solid #d7dfd4;vertical-align:top;min-width:130px}.policy-table th{background:#e9f0df;color:#073b36;font-weight:700}
.policy-footer{background:#edf1e5;padding:30px 0}.policy-footer p{font-size:.875rem;color:#455e53}.policy-footer .trust-links{border:0;padding-top:12px}
.request-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.request-card{display:block;border:1px solid #c7d4bf;border-radius:16px;padding:20px;text-decoration:none!important;background:#f7f8ef;min-width:0}.request-card strong{display:block;font-size:1rem;text-decoration:underline;text-underline-offset:4px;margin-bottom:8px}.request-card span{font-size:.875rem;color:#455e53}
.credit-small{font-size:.875rem;color:#455e53;line-height:1.9}
@media(max-width:760px){.policy-header{padding:14px 0}.policy-header .container{gap:8px}.policy-header img{width:170px}.policy-main{padding:32px 22px 44px}.policy-layout{grid-template-columns:1fr;gap:28px}.policy-nav{position:static;display:flex;flex-wrap:wrap;gap:0 22px}.policy-nav a{padding:9px 0}.policy-title{margin-bottom:24px}.policy-title .policy-lead{font-size:1rem}.cookie-banner{left:10px;right:10px;bottom:10px;padding:20px;border-radius:17px}.cookie-banner h2{font-size:1.125rem}.cookie-banner p{font-size:.875rem}.privacy-actions{gap:10px}.privacy-actions .privacy-button{flex:1 1 140px;min-width:0}.privacy-dialog{padding:24px}.request-cards{grid-template-columns:1fr}.trust-links{gap:5px 20px}}
@media print{.cookie-banner,.privacy-dialog,.privacy-toast,.policy-nav{display:none!important}.policy-layout{display:block}.policy-main{padding:20px 0}.policy-content section{break-inside:avoid}.policy-header nav{display:none}.policy-title h1{font-size:32pt}.policy-content h2{font-size:18pt}.policy-footer{background:white}}

.policy-content p+.privacy-button{margin-top:16px}.policy-content .privacy-button+p{margin-top:18px}.policy-content section:last-child{margin-bottom:0}
