/* Shared visual polish only. Routes, form behavior and permissions are unchanged. */
:root{--radius-panel:20px;--radius-control:12px;--radius-detail:10px;--press-ink:#14281d;--press-paper:#fff7e8}

/* CSS-drawn arrows stay monochrome on every platform; no emoji font is used. */
.ui-arrow{display:inline-block;position:relative;inline-size:18px;block-size:18px;flex:0 0 18px;vertical-align:middle;margin:0!important}
.ui-arrow::before{content:"";position:absolute;left:2px;top:8px;width:13px;border-top:2px solid currentColor}
.ui-arrow::after{content:"";position:absolute;right:2px;top:5px;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.ui-arrow-diagonal{transform:rotate(-45deg)}
.ui-arrow-down{transform:rotate(90deg)}
.ui-arrow-up{transform:rotate(-90deg)}

/* Deliberate action surfaces; prose/source links retain their familiar underline. */
body>header.wrap nav{gap:10px}
body>header.wrap nav a,.services a,.text-button,.planner-reset,
.office-account a,.contact-people p>a,footer .wrap>a:not(.brand),
.sidebar-foot a,.brand-links a{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:44px;max-width:100%;padding:10px 14px;
  border:1px solid #b8aa8e;border-radius:var(--radius-control);
  background:#eee4cf;color:var(--ink,#233d31);text-decoration:none;
  line-height:1.5;touch-action:manipulation;
  transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease;
}
body>header.wrap nav a{background:transparent;font-size:12px}
body>header.wrap nav .nav-cta{background:var(--ink,#233d31);border-color:var(--ink,#233d31);color:#fff5e1}
.services a{justify-content:space-between;margin-top:auto;font-size:12px;padding:13px 16px;background:#f4ecdc}
.direct-form{margin-top:14px;text-align:left}
.office-account .text-button,.draft-downloads .text-button{min-height:44px;padding:10px 13px}
.contact-people p>a{margin-top:8px;justify-content:flex-start;font-size:12px;overflow-wrap:anywhere}
.sidebar-foot a,.brand-links a{background:#304b3b;border-color:#839178;color:#fff5e1}
.button,.download-link,.chat-chip,.person-actions a,.office-nav button,.office-field-link,
.section-nav button,.office-tabs button,.intake-launcher{
  border-radius:var(--radius-control);min-height:44px;touch-action:manipulation;
  transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease;
}
.button.quiet{border-color:#b8aa8e;background:#eee4cf}
.contact-people .person-actions a{border-radius:var(--radius-control);min-height:44px}
.close-panel{min-width:44px;min-height:44px;border-radius:var(--radius-control)}
.office-tabs{gap:8px;padding:9px 12px}
.office-tabs button{border:1px solid #c2b193}
.office-tabs button[aria-pressed=true]{border:1px solid #8d7450;box-shadow:inset 0 -2px 0 #8d7450}
.office-nav button,.office-field-link{border:1px solid #647a66}
.office-nav{gap:8px}

/* Softer geometry follows the existing scenic frame without changing the artwork. */
.services,.pricing-grid{border:0;gap:16px}
.services article,.services article:last-child,.pricing-grid article,.pricing-grid article:last-child{
  min-width:0;border:1px solid #c4b497;border-radius:var(--radius-panel);
}
.steps article{border:1px solid #c4b497;border-radius:var(--radius-panel);padding:24px;background:#f9f3e6}
.plan-detail{border:1px solid #65755d;border-radius:var(--radius-panel);padding:28px}
.human-card,.planner-group,.planner-summary,.demo,.demo-summary,.request-document,
.review-routing,.planner-attached,.history-card,.saved-status,.delivery-notice,
.panel,.metric,.filter-bar,.picker-panel,.file-drop,.notice,.toast,.dialog,.access-state{
  border-radius:var(--radius-panel);
}
.panel-body input:not([type=checkbox]),.panel-body textarea,.panel-body select,
.planner-form select,.planner-form input[type=number],
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,
.staging-table select{border-radius:var(--radius-detail)}
.chat-composer input{border-radius:var(--radius-detail)!important}
#request-form fieldset{border:1px solid #c8b99c;border-radius:var(--radius-panel);padding:18px 18px 5px}
#request-form legend{padding:0 8px}
.check-field,.consent-label{border-radius:var(--radius-detail)}
#researched-faqs details{border:1px solid #c5b69b;border-radius:var(--radius-panel);margin-bottom:12px;background:#f3ecdd}
#researched-faqs summary{min-height:54px;padding:17px 20px;border-radius:var(--radius-panel);line-height:1.55}
#researched-faqs details>p{padding:0 20px 16px}
#researched-faqs details>.faq-kind{padding:0 20px!important}
#researched-faqs details>.faq-sources{padding:0 20px 16px!important}
.schema-details,.audit,.record-details{border-radius:var(--radius-detail)}
.schema-details summary,.audit summary,.record-details summary{min-height:44px;padding:10px 12px;border-radius:var(--radius-detail)}
.file-drop input::file-selector-button{min-height:44px;border-radius:var(--radius-control)}

@media(hover:hover){
  body>header.wrap nav a:not(.nav-cta):hover,.services a:hover,.text-button:hover,.planner-reset:hover,
  .office-account a:hover,.contact-people p>a:hover,footer .wrap>a:not(.brand):hover,.button.quiet:hover{
    background:#deceb0;border-color:#8f7955;text-decoration:none;
  }
  .sidebar-foot a:hover,.brand-links a:hover{background:#213d2c}
  #researched-faqs summary:hover{background:#e6d9c0}
}

/* :active is independent of hover, including touch presses. No layout movement. */
button:not(:disabled):active,a.button:active,.download-link:active,
body>header.wrap nav a:active,.services a:active,.office-account a:active,
.contact-people a:active,footer .wrap>a:not(.brand):active,
.sidebar-foot a:active,.brand-links a:active,#researched-faqs summary:active,
.schema-details summary:active,.audit summary:active,.record-details summary:active,[data-ui-pressed=true]{
  background:var(--press-ink)!important;border-color:var(--press-ink)!important;
  color:var(--press-paper)!important;box-shadow:inset 0 2px 5px #0004;
  text-decoration:none;transition:none;
}
button:active .nav-symbol,button:active .ui-arrow,[data-ui-pressed=true] .nav-symbol,[data-ui-pressed=true] .ui-arrow{color:inherit}
.file-drop input::file-selector-button:active{background:var(--press-ink);color:var(--press-paper)}
.office-sidebar :focus-visible,.brandbar :focus-visible,.panel-header :focus-visible{outline:3px solid #e1bd7e;outline-offset:3px}

@media(max-width:900px){body>header.wrap nav>a:not(.nav-cta){display:none}.services,.pricing-grid{gap:12px}.plan-detail{padding:23px}}
@media(max-width:760px){.office-nav{flex-wrap:wrap;overflow:visible}.office-nav button,.office-nav .office-field-link{flex:1 1 auto;justify-content:center}}
@media(max-width:600px){
  body>header.wrap nav .nav-cta{max-width:108px;padding:10px 12px;font-size:10px;text-align:center}
  body>header.wrap nav .nav-cta .ui-arrow{display:none}
  .services article,.pricing-grid article{padding:24px}
  .steps article{padding:22px}.plan-detail{padding:22px}
  #request-form fieldset{padding:16px 13px 5px}
  .panel-body .text-button,.draft-downloads .text-button{font-size:12px}
  .office-tabs{padding:8px;gap:6px}
  .office-tabs button{padding:10px 7px}
  .brand-links a{padding:9px 11px;min-height:44px}
}
@media(max-width:360px){body>header.wrap nav .nav-cta{max-width:92px;padding:9px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){button:not(:disabled):active,a:active,summary:active,[data-ui-pressed=true]{background:Highlight!important;color:HighlightText!important;border-color:Highlight!important}.ui-arrow::before,.ui-arrow::after{forced-color-adjust:auto}}
