/* Typography and original vector controls. */
:root{--muted:#6b5d5b}
body{font-size:19px;line-height:1.75}
.main-nav{font-size:15px;gap:25px}
.button{font-size:15px;min-height:52px}
.text-link{font-size:16px}
.eyebrow{font-size:12px;letter-spacing:1.8px}
.hero .intro{font-size:19px}
.hero-facts{font-size:12px;gap:18px;flex-wrap:wrap}
.location-inner{font-size:15px}
.location-inner .label{font-size:11px}
.service-row p,.method-step p{font-size:17px}
.service-number{font-size:13px}
.orientation p,.local-copy p,.profile-copy p{font-size:19px}
.topic-buttons button{font-size:15px;min-height:46px}
.orientation-result ul{font-size:17px}
.credentials{font-size:14px}
summary{font-size:18px;padding-top:24px;padding-bottom:24px}
details>div{font-size:17px}
.footer-grid p,.footer-grid a{font-size:15px}
.footer-label{font-size:12px}
.footer-bottom,.footer-notice{font-size:12px}
.breadcrumbs{font-size:13px}
.page-hero .lead{font-size:20px}
.article-main p,.article-main li{font-size:19px}
.aside p,.aside a:not(.button){font-size:16px}
.aside .button{font-size:14px;padding-left:16px;padding-right:16px}
.note{font-size:17px}
.email-builder p{font-size:16px}
.email-builder label{font-size:15px}
.email-builder select{font-size:17px;min-height:52px}
.email-builder .small{font-size:14px}
.contact-detail small{font-size:15px}
.checklist label{font-size:17px}
.check-status,.source-note{font-size:14px}
.ui-icon{width:20px;height:20px;flex:0 0 20px;display:inline-block;vertical-align:middle;overflow:visible}
.arrow{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.circle-arrow .ui-icon{width:20px;height:20px}
.article-main a .ui-icon,.footer-grid a .ui-icon{width:17px;height:17px;margin-left:6px}
.mobile-contact a{display:flex;align-items:center;justify-content:center;gap:9px;font-size:14px}
.mobile-contact .ui-icon{width:18px;height:18px;flex-basis:18px}
summary:after{content:'';width:12px;height:12px;border:0;background:linear-gradient(var(--wine),var(--wine)) center/12px 1.5px no-repeat,linear-gradient(var(--wine),var(--wine)) center/1.5px 12px no-repeat;top:31px}
details[open] summary:after{content:'';background:linear-gradient(var(--wine),var(--wine)) center/12px 1.5px no-repeat}
.footer-policy-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.privacy-open{padding:0;background:none;border:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;min-height:44px}
.privacy-dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:36px;box-shadow:0 30px 100px #25101c40;overflow:auto}
.privacy-dialog::backdrop{background:rgba(31,16,23,.55);backdrop-filter:blur(3px)}
.privacy-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.privacy-dialog-head .eyebrow{margin:0}
.icon-button{width:44px;height:44px;border:1px solid var(--line);background:transparent;display:grid;place-items:center;color:var(--wine)}
.privacy-dialog h2{font-size:42px;margin:24px 0}
.privacy-dialog>p{font-size:17px;color:var(--muted)}
.privacy-setting{display:flex;gap:20px;justify-content:space-between;align-items:start;border-top:1px solid var(--line);padding:20px 0}
.privacy-setting strong{display:block;font-size:16px;font-weight:500}
.privacy-setting div>span{display:block;font-size:14px;color:var(--muted);margin-top:7px}
.privacy-state{font-size:11px;white-space:nowrap;border:1px solid var(--line);padding:5px 8px;color:var(--wine)}
.privacy-state.off{background:var(--cream)}
.privacy-dialog .privacy-small{font-size:13px;line-height:1.7}
.privacy-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px}
.policy-table-wrap{overflow:auto;margin:30px 0;overscroll-behavior-x:contain}
.policy-table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.6}
.policy-table caption{text-align:left;margin-bottom:15px;font-size:15px;color:var(--muted)}
.policy-table th,.policy-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:17px 12px;min-width:140px}
.policy-table th{background:var(--cream);font-weight:500;color:var(--wine)}
@media(max-width:1050px){.main-nav{font-size:14px;gap:18px}.main-nav .button{font-size:14px}.location-inner .towns{gap:16px}}
@media(max-width:780px){
body{font-size:18px}
.menu-toggle{font-size:13px;min-height:44px}
.main-nav a{font-size:17px}
.hero .intro,.profile-copy p,.orientation p,.local-copy p,.section-heading p{font-size:18px}
.eyebrow{font-size:11px;letter-spacing:1.5px}
.hero-facts{font-size:12px;gap:12px}
.location-inner .towns{font-size:14px}
.service-row p,.method-step p{font-size:16px}
.topic-buttons button{font-size:14px}
.article-main p,.article-main li{font-size:18px}
.page-hero .lead{font-size:18px}
.breadcrumbs{font-size:12px}
.contact-options{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.footer-grid>div:first-child{grid-column:auto}
.footer-bottom{line-height:1.9}
.footer-policy-links{margin-top:15px;gap:10px 18px}
.privacy-dialog{padding:24px;max-height:calc(100dvh - 24px)}
.privacy-dialog h2{font-size:36px}
.privacy-dialog-actions{flex-wrap:wrap}
.privacy-dialog-actions .button{margin-left:auto}
.privacy-setting{gap:12px}
.policy-table th,.policy-table td{font-size:14px;padding:13px 10px;min-width:135px}
}
@media(prefers-reduced-motion:reduce){.ui-icon{transform:none!important}}
@media print{.privacy-dialog,.privacy-open{display:none!important}}

/* A useful first step, without adding tracking or a client account. */
.orientation-grid{grid-template-columns:.9fr 1.2fr;gap:70px;align-items:center}
.orientation-grid h2{max-width:500px}
.orientation-assurance{display:flex;gap:14px;max-width:390px;border-top:1px solid #cdbfb2;padding-top:24px;margin-top:32px;color:var(--wine)}
.orientation-assurance span{font-size:14px;line-height:1.7}
.orientation-assurance .ui-icon{margin-top:3px}
.topic-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border:1px solid #cdbfb2;border-bottom:0}
.topic-buttons button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 16px;min-height:85px;border:0;border-right:1px solid #cdbfb2;transition:background .2s,color .2s}
.topic-buttons button:last-child{border-right:0}
.topic-buttons button:hover{background:#dfd3c4}
.topic-buttons button[aria-pressed=true]{background:var(--wine);color:var(--white)}
.topic-number{font-size:11px;letter-spacing:1.5px;opacity:.75}
.orientation-result{background:var(--white);border:1px solid #cdbfb2;padding:32px;min-height:352px}
.result-label{display:block;text-transform:uppercase;letter-spacing:1.4px;font-size:10px;color:var(--muted);margin-bottom:20px}
.orientation-result h3{font-size:32px;letter-spacing:-.6px;margin-bottom:22px}
.orientation-result ul{margin-bottom:28px;padding-left:19px}
.orientation-result li{margin-bottom:9px}
.orientation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}
.orientation-actions .button{gap:20px}
.orientation-actions .text-link{font-size:14px;gap:12px}
.contact-anchor{display:block;height:0;scroll-margin-top:125px}
.article-index{margin:0 0 45px;padding:26px 28px;border-top:2px solid var(--wine);border-bottom:1px solid var(--line);background:#eee6da70}
.index-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;flex-wrap:wrap}
.index-heading strong{font-size:15px;font-weight:600;color:var(--wine)}
.index-heading>span{font-size:12px;color:var(--muted)}
.article-index ol{padding-left:20px;margin:0}
.article-index li{font-size:15px;line-height:1.6;margin-bottom:9px;padding-left:5px}
.article-index li:last-child{margin-bottom:0}
.article-index a{display:inline-block;text-decoration:none!important;padding:3px 0}
.article-index a:hover{text-decoration:underline!important}
.article-main h2[id]{scroll-margin-top:135px}
@media(max-width:1050px){.orientation-grid{gap:35px}.orientation-result{padding:26px}.topic-buttons button{font-size:14px;padding:16px 12px}}
@media(max-width:780px){.orientation-grid{grid-template-columns:1fr;gap:30px}.orientation-assurance{margin-top:24px;padding-top:20px}.topic-buttons button{font-size:14px;padding:14px 10px;min-height:82px}.orientation-result{padding:25px 22px;min-height:0}.orientation-result h3{font-size:30px}.orientation-actions{gap:20px}.orientation-actions .button{width:100%}.orientation-result ul{font-size:16px}.article-index{padding:22px 20px;margin-bottom:36px}.article-index li{font-size:16px}.article-main h2[id]{scroll-margin-top:105px}.contact-anchor{scroll-margin-top:95px}}
@media print{.article-index,.orientation-assurance{display:none!important}}

/* First-party consent controls */
.cookie-banner[hidden]{display:none!important}.cookie-banner{position:fixed;z-index:1200;bottom:24px;left:24px;right:24px;max-width:1020px;margin:auto;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:24px;box-shadow:0 8px 50px #25101c33;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.cookie-banner h2{font-size:27px;margin:0 0 10px}.cookie-banner p{font-size:15px;line-height:1.6;margin:0}.cookie-banner .cookie-links{margin-top:8px}.cookie-actions{display:flex;flex-wrap:wrap;gap:10px}.cookie-actions button{border:1px solid var(--burgundy,#5c2436);background:var(--paper,#f7f3ed);color:var(--burgundy,#5c2436);font:500 15px Arial,sans-serif;min-height:44px;padding:12px 18px;cursor:pointer}.cookie-actions button:hover{background:#ede4df}.cookie-actions button:focus-visible{outline:3px solid #936874;outline-offset:3px}.privacy-dialog .cookie-actions{margin-top:20px}.privacy-setting input{width:25px;height:25px;flex-shrink:0;accent-color:#5c2436}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.cookie-banner{left:12px;right:12px;bottom:68px;grid-template-columns:1fr;padding:20px;gap:16px;max-height:calc(100dvh - 100px);overflow:auto}.cookie-actions{gap:8px}.cookie-actions button{flex:1;padding:12px}.cookie-banner h2{font-size:25px}.privacy-dialog .cookie-actions{display:grid;grid-template-columns:1fr 1fr}.privacy-dialog [data-consent-save]{grid-column:1/-1}}@media print{.cookie-banner{display:none!important}}
