/* Visible, quiet controls in the residence's existing palette. */
.buttons{gap:12px 14px}
.button{border:1px solid #a8ad9b;border-radius:2px;padding:13px 20px;min-height:48px;line-height:1.6;background:transparent;transition:background .22s,color .22s,border-color .22s,box-shadow .22s}
.button.secondary{background:#ffffff35;color:var(--ink)}
.button.primary{background:var(--wine);border-color:var(--wine);color:var(--cream)}
.button:hover{background:#e7e8df;color:var(--wine);border-color:var(--wine)}
.button.primary:hover{background:#3e1923;border-color:#3e1923;color:white}
.button:focus-visible,.contact-channel:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.button.ghost{background:#18231b72;color:white;border-color:#f4f2ebaa;backdrop-filter:blur(6px)}
.button.ghost:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.hero-content .button.primary{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.hero-content .button.primary:hover{background:white;border-color:white}
.hero-content .buttons{gap:14px}
.hero-content .button:focus-visible,.wide-hero .button:focus-visible{outline-color:var(--cream)}
.header-contact{padding:10px 15px;border:1px solid #f4f2eb88;border-radius:2px;background:#18231b26;line-height:1.6}
.header-contact:hover{background:#f4f2eb20;border-color:currentColor}
.scrolled .header-contact{background:transparent;border-color:#a8ad9b}
.scrolled .header-contact:hover{background:#e7e8df}
#menu-toggle{padding:12px 14px;min-width:48px;border:1px solid #f4f2eb70;border-radius:2px}
.scrolled #menu-toggle{border-color:#a8ad9b}
#menu-toggle:hover{background:#787d6314}
.menu-close{padding:7px 15px;border:1px solid #a8ad9b;border-radius:2px}
.menu-close:hover{background:#e7e8df}
.unit-nav{gap:10px}
.unit-nav button{border:1px solid #adb19f;border-radius:2px;padding:10px 15px;min-height:44px;transition:background .2s,color .2s}
.unit-nav button:hover{background:#e7e8df;color:var(--wine)}
.unit-nav button.active{background:var(--wine);border-color:var(--wine);color:var(--cream)}
.media button{cursor:zoom-in}
.media button:after{opacity:1;border:1px solid #f4f2eb80;background:#28382de0;border-radius:50%;width:36px;height:36px}
.media button:hover:after{background:var(--wine)}
.doc-card .button{font-size:10px;padding:11px 15px;min-height:44px}
.doc-card .buttons{gap:10px}
.doc-cover{position:relative;display:block}
.doc-cover:after{content:'↓';position:absolute;right:10px;bottom:10px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--cream);border:1px solid #a8ad9b;color:var(--ink);font:18px var(--sans)}
.doc-cover:hover:after{background:var(--wine);color:white;border-color:var(--wine)}
.direct-contact{align-self:start;background:#f8f6ef;border:1px solid #c7cdbb;border-radius:3px;padding:38px}
.direct-contact .eyebrow{margin-bottom:20px}
.direct-contact h3{font-size:44px;line-height:1.07;color:var(--wine);margin-bottom:22px}
.contact-intro{font-size:13px;line-height:1.8;margin-bottom:28px;color:var(--muted)}
.contact-context{font-size:10px;color:var(--muted);margin-bottom:14px;line-height:1.7}
.contact-options{display:grid;gap:14px}
.contact-channel{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:15px;align-items:center;padding:21px 19px;background:#eff1e7;border:1px solid #9ca58b;border-radius:2px;transition:background .22s,border-color .22s,box-shadow .22s}
.contact-channel.email{background:transparent;border-color:#b5a29f}
.contact-channel:hover{background:#e0e6d6;border-color:#68775a;box-shadow:0 4px 14px #30382f09}
.contact-channel.email:hover{background:#eee6e0;border-color:var(--wine)}
.channel-icon{display:grid;place-items:center;width:42px;height:42px;color:#465e46}
.channel-icon svg{width:31px;height:31px}
.channel-icon.at-symbol{font:400 38px/1 var(--serif);color:var(--wine)}
.contact-channel strong{display:block;font:400 28px/1.1 var(--serif)}
.contact-channel small{display:block;font-size:10px;line-height:1.7;margin-top:7px;color:var(--muted);overflow-wrap:anywhere}
.channel-arrow{font-size:20px;transition:transform .22s}
.contact-channel:hover .channel-arrow{transform:translate(2px,-2px)}
.contact-footnote{font-size:10px;line-height:1.8;color:var(--muted);margin:22px 0 0}
.contact-card .phone{width:fit-content;padding-bottom:10px;border-bottom:1px solid #9aa38b}
.contact-card .phone span{font:20px var(--sans);margin-left:10px}
.contact-card .phone:hover{color:var(--wine)}
.footer-links a{display:flex;align-items:center;gap:10px;width:fit-content;border-bottom:1px solid #e6e8dc55;padding:4px 0;min-height:40px}
.footer-links a:hover{border-color:var(--cream);color:white}
.footer-icon{width:18px;height:18px;flex:none}
.footer-at{width:18px;text-align:center;font-size:20px}
.footer-brand{display:flex;align-items:center;gap:15px;align-self:start}
.footer-brand>svg{width:40px;height:49px;flex:none}
.footer-wordmark{font-size:clamp(31px,3.5vw,49px)}
.footer-wordmark small{margin-top:12px}
@media(max-width:1100px){.direct-contact{padding:28px}.contact-channel{gap:10px;padding:18px 14px;grid-template-columns:34px minmax(0,1fr) 18px}.channel-icon{width:34px}.direct-contact h3{font-size:39px}}
@media(max-width:800px){.chapter[data-type="contact"] .paper.split>.direct-contact{order:1}.direct-contact{max-width:600px;width:100%}.footer-brand{grid-column:1/-1}}
@media(max-width:550px){.button{padding:12px 16px;min-height:46px;font-size:11px}.hero-content .button{font-size:10px;padding:12px 16px;gap:12px}.hero-content .buttons{gap:12px}#menu-toggle{padding:12px;min-width:48px}.unit-nav{gap:8px}.unit-nav button{font-size:10px;padding:9px 12px}.doc-card .buttons{gap:10px}.doc-card .button{padding:10px 12px;font-size:10px}.media button:after{width:32px;height:32px;opacity:1}.direct-contact{padding:28px 23px}.direct-contact h3{font-size:38px}.contact-channel{padding:18px 13px;gap:10px}.contact-channel strong{font-size:27px}.contact-channel small{font-size:10px}.contact-card .phone{font-size:38px}.footer-wordmark{font-size:43px}.menu-close{gap:14px}}
@media(prefers-reduced-motion:reduce){.button,.contact-channel,.channel-arrow,.unit-nav button{transition:none}}
