/* Rook / shared identity, surfaces and motion. Loaded after the original layout. */
:root,body.marketing {
  --font:Manrope,Arial,Helvetica,sans-serif;
  --bg:#171918;--panel:#202322;--ink:#f5f6f2;--muted:#b2b8b2;
  --line:#3b413d;--orange:#f4814e;--rook-accent:var(--orange);
  --paper:#f1f3ef;--dark:#202522;
  --ease-out:cubic-bezier(.22,1,.36,1);--ease-ui:cubic-bezier(.2,.7,.2,1);
  --radius:8px;--focus:#fa9e73;
  font-family:var(--font);
}
body {font-family:var(--font);-webkit-font-smoothing:antialiased}
h1,h2,h3 {text-wrap:balance}
p {text-wrap:pretty}
a,button {-webkit-tap-highlight-color:transparent}
::selection {background:#f4814e55;color:inherit}
:focus-visible {outline:2px solid var(--focus);outline-offset:5px}
.brand,.marketing .brand {gap:12px;font-family:Manrope,Arial,sans-serif;font-size:37px;font-weight:800;letter-spacing:-.065em;flex-shrink:0;text-decoration:none}
.brand-word {display:inline-block;white-space:nowrap;line-height:1;padding-right:.04em}
.brand .brand-dot {display:inline;color:var(--orange);margin:0;letter-spacing:inherit}
.brand img,.marketing .brand img {width:27px;height:32px;flex-shrink:0}
.site-footer .brand,.marketing .site-footer .brand {font-size:33px}
.brand--footer .brand-dot {color:inherit}
.site-header,.marketing .site-header {position:relative;z-index:20;height:96px;gap:24px}
.site-header nav,.marketing .site-header nav {gap:28px;font-size:14px}
.site-header nav>a {position:relative;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;transition:color 180ms ease}
.site-header nav>a:not(.nav-cta)::after {content:'';position:absolute;inset:auto 0 6px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease-out)}
.site-header nav>a[aria-current=page] {color:var(--orange)}
.site-header nav>a[aria-current=page]::after {transform:scaleX(1)}
.menu-toggle {display:none}
.nav-cta,.marketing .nav-cta {border:1px solid #606a63;border-radius:var(--radius);padding:10px 17px;font-size:14px;gap:22px;transition:background 180ms ease,border-color 180ms ease,transform 180ms var(--ease-out)}
.nav-cta span {margin-left:0}
.button,.marketing .button {border-radius:var(--radius);min-height:50px;padding:13px 20px;font-size:14px;font-weight:700;gap:18px;justify-content:center;transition:background 180ms ease,border-color 180ms ease,box-shadow 220ms ease,transform 220ms var(--ease-out);position:relative;text-decoration:none}
.button.primary,.marketing .button.primary {background:var(--orange);color:#1b201d;border-color:var(--orange);box-shadow:inset 0 1px 0 #ffffff35,0 3px 6px #00000012}
.button.small {min-height:44px;padding:9px 14px}
.button:active:not(:disabled),.nav-cta:active {transform:translateY(1px) scale(.985);box-shadow:none}
.button:disabled {cursor:wait;opacity:.65;transform:none}
.button [aria-hidden=true],.nav-cta [aria-hidden=true],.project-feature-top>span:last-child {transition:transform 220ms var(--ease-out)}
.button-icon {display:block;width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.button[data-state=copied] {background:#dce8db;color:#23472d;border-color:#b7cdb5;box-shadow:0 0 0 3px #82a38315}
.button[data-state=loading]::after {content:'';width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:rook-spin .65s linear infinite}
@keyframes rook-spin {to{transform:rotate(360deg)}}
.field input:not([type=checkbox]),.field textarea,.field select,.marketing .intake-grid input:not([type=checkbox]),.marketing .intake-grid textarea,.marketing .intake-grid select {background:#1e2320;border:1px solid #626d65;border-radius:var(--radius);padding:12px 14px;min-height:50px;transition:border-color 180ms ease,box-shadow 180ms ease,background 180ms ease}
.field input:focus,.field textarea:focus,.field select:focus {border-color:var(--orange);box-shadow:0 0 0 3px #f4814e16;outline:2px solid transparent}
.field label,.marketing .field label {font-size:14px;line-height:1.55}
.field.check label,.marketing .field.check label {font-size:14px;line-height:1.65;font-weight:400}
.field.check input {margin-top:2px;min-height:22px;width:22px;height:22px;accent-color:var(--orange)}
.field:has(input:disabled) {opacity:.55}
input[type=file] {padding:10px!important;font-size:14px}
input[type=file]::file-selector-button {font:inherit;font-weight:600;background:#363e38;color:var(--ink);border:0;border-radius:5px;padding:9px 12px;margin-right:12px;cursor:pointer}
.caption,.micro,.marketing .micro,.marketing .intake-grid .caption,.marketing .price-block>.caption {font-size:13px;line-height:1.75}
.marketing .eyebrow,.eyebrow {font-size:12px;letter-spacing:.12em}
.marketing .hero .eyebrow {font-size:12px}
.marketing .hero {padding-top:42px}
.marketing .hero-grid {gap:clamp(36px,5.2vw,80px)}
.marketing .hero h1 {font-weight:700;letter-spacing:-.065em}
.marketing .hero h1>span {color:#aeb6af}
.marketing .hero-intro {font-size:18px;line-height:1.75;max-width:450px}
.marketing .micro {max-width:450px}
.marketing .folio {font-size:12px;letter-spacing:.1em}
.project-feature {border-color:#465049;border-radius:12px;box-shadow:0 24px 55px -35px #0009;transition:border-color 250ms ease,box-shadow 300ms ease,transform 400ms var(--ease-out)}
.project-feature-top {font-size:12px;letter-spacing:.1em;padding:18px 22px}
.project-feature-art {background:#111714}
.project-feature-art>p {font-size:14px;line-height:1.7}
.project-feature-bottom {background:#202822;font-size:14px;gap:16px}
.project-feature-bottom>span:first-child {font-size:11px;letter-spacing:.08em}
.hc-screen {transition:transform 600ms var(--ease-out)}
.marketing .sample-caption {font-size:12px;line-height:1.75}
.marketing .hero-bottom {margin-top:52px;font-size:12px;padding:22px 0}
.marketing .hero-bottom a {font-size:14px}
.marketing .section {padding-block:96px}
.marketing .section-heading>p,.marketing .section-copy {font-size:16px;line-height:1.8}
.marketing .scope-list>div {font-size:16px;padding:22px 0;transition:padding 240ms var(--ease-out),color 180ms ease}
.marketing .scope-number {font-size:12px}
.marketing .steps article {position:relative;border-color:#555f57}
.marketing .steps article>span {font-size:13px}
.marketing .steps p {font-size:16px;line-height:1.75}
.marketing .process-section {background:#202622}
.marketing .price-block {border:1px solid #4b574e;border-top:2px solid var(--orange);background:#202722;border-radius:12px;padding:32px}
.marketing .price-block>p:not(.caption) {font-size:16px}
.marketing .price {font-variant-numeric:tabular-nums}
.marketing .price-block>.button {justify-content:space-between}
.compare-toolbar {border-radius:12px 12px 0 0;font-size:12px;letter-spacing:.02em;padding:17px 20px;gap:20px}
.compare-toolbar strong {font-size:12px}
.reveal-stage {border-radius:0 0 12px 12px}
.reveal-divider {background:var(--orange)}
.reveal-divider>span {border-color:var(--orange);background:#202a24;transition:box-shadow 180ms ease,background 180ms ease}
.reveal-stage:active .reveal-divider>span {box-shadow:0 0 0 8px #f4814e26,0 5px 18px #0004}
.reveal-tag {font-size:11px;border-radius:5px;letter-spacing:.06em}
.reveal-controls label {font-size:13px}
.reveal-controls button {border-radius:6px;padding:9px 12px;font-size:14px;transition:background 180ms ease}
.reveal-controls button[aria-pressed=true] {background:#d9e1d6}
.demo-footnote>p {font-size:13px;line-height:1.75}
.demo-footnote>div {font-size:14px}
.faq summary,.marketing .faq summary {font-size:17px;padding:23px 34px 23px 0;line-height:1.5}
.faq summary::-webkit-details-marker,.edit-disclosure summary::-webkit-details-marker {display:none}
.faq summary::after {content:'+';font-size:22px;font-weight:400;line-height:1;top:24px;transition:transform 240ms var(--ease-out)}
.faq details[open] summary::after {content:'+';transform:rotate(45deg)}
.faq details p {font-size:16px;line-height:1.8;padding-bottom:16px}
.edit-disclosure {border-color:var(--line);padding-bottom:0}
.edit-disclosure summary {list-style:none;position:relative;padding:20px 32px 20px 0;line-height:1.55;font-size:14px;transition:color 150ms ease}
.edit-disclosure summary::after {content:'+';position:absolute;right:4px;top:19px;font-size:21px;line-height:1;transition:transform 240ms var(--ease-out)}
.edit-disclosure[open] summary::after {transform:rotate(45deg)}
.notice {border-radius:var(--radius);line-height:1.7}
.site-footer,.marketing .site-footer {padding-block:36px;gap:24px 32px}
.site-footer p,.marketing .site-footer>p {font-size:13px;line-height:1.7}
.site-footer>div {font-size:14px;gap:12px 24px}
.site-footer>div a {display:inline-flex;align-items:center;min-height:44px}
.owner-workspace .panel-title h1 {font-size:clamp(32px,4vw,48px);line-height:1.15;letter-spacing:-.055em}
.owner-workspace .panel-main {padding-top:40px}
.panel-title {align-items:end;margin-bottom:30px}
.filter-bar {padding:24px;background:#202722;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}
.filter-bar .field {margin-bottom:0}
.table-scroll {border:1px solid var(--line);border-radius:12px;background:#1b201d;margin:24px 0}
.table-scroll th {font-size:13px;background:#222a24;padding:17px 20px}
.table-scroll td {font-size:14px;padding:20px;line-height:1.7}
.table-scroll tbody tr:last-child td {border-bottom:0}
.table-scroll td a {font-weight:700;text-underline-offset:5px}
.table-scroll td small {color:var(--muted);font-size:12px}
.table-scroll tbody tr {transition:background 180ms ease}
.detail-nav {gap:12px 26px}
.detail-nav a {min-height:44px;display:flex;align-items:center}
.detail-aside,.quote-record {border-radius:12px;background:#212923;border-color:#4a554c}
.panel-section h2 {font-size:30px}
.facts {gap:24px}
.facts dt {font-size:13px}
.status {border-radius:5px;padding:5px 9px;font-size:12px}
.client-workspace h1 {font-size:clamp(36px,5vw,64px);line-height:1.1}
.client-workspace .panel-section {border:1px solid var(--line);background:#1e2520;border-radius:12px;padding:28px;margin-bottom:24px}
.client-workspace .panel-section h2 {font-size:29px}
.client-workspace .caption {font-size:13px}
.client-workspace .button {width:100%;margin-top:12px}
.source-url {font-size:14px;line-height:1.8}
.terms {padding-block:12px 32px;max-width:800px}
.terms h1 {font-size:clamp(36px,4.5vw,56px);line-height:1.1}
.terms h2 {padding-top:12px}
.terms p,.terms li {font-size:16px;line-height:1.9}
@media(hover:hover) and (pointer:fine) {
  .button:hover:not(:disabled) {transform:translateY(-2px);border-color:#839486;background:#303b32;box-shadow:0 6px 15px -7px #0007}
  .button.primary:hover:not(:disabled),.marketing .button.primary:hover:not(:disabled) {background:#ff9a69;border-color:#ff9a69;box-shadow:0 8px 22px -12px #f4814e90}
  .button[data-state=copied]:hover:not(:disabled) {background:#dce8db;color:#23472d;border-color:#b7cdb5}
  .button:hover [aria-hidden=true],.nav-cta:hover [aria-hidden=true] {transform:translate(2px,-2px)}
  .button:hover .button-icon {transform:none}
  .nav-cta:hover {background:#ffffff07;border-color:var(--orange)}
  .site-header nav>a:hover {color:var(--orange)}
  .site-header nav>a:hover::after {transform:scaleX(1)}
  .project-feature:hover {transform:translateY(-4px);border-color:#859a87;box-shadow:0 32px 60px -35px #000c}
  .project-feature:hover .hc-screen {transform:rotate(-4deg) translateY(-5px)}
  .project-feature:hover .project-feature-top>span:last-child {transform:translate(2px,-2px)}
  .scope-list>div:hover {padding-left:8px;color:#fff}
  .reveal-controls button:hover {background:#dce3d8}
  .edit-disclosure summary:hover {color:var(--orange)}
  .table-scroll tbody tr:hover {background:#252e27}
}
@media(max-width:1050px) {
  .marketing .section {padding-block:76px}
  .project-feature-art>p {font-size:13px}
  .client-columns {gap:30px}
}
@media(max-width:720px) {
  .site-header,.marketing .site-header {height:auto;min-height:84px;flex-wrap:wrap;gap:0;padding-block:20px;align-items:center}
  .brand,.marketing .brand {font-size:33px;gap:10px}
  .brand img,.marketing .brand img {width:25px;height:30px}
  .site-header nav,.marketing .site-header nav {display:flex;flex-wrap:wrap;gap:8px 20px;width:100%;padding:18px 0 4px}
  .site-header nav>a:not(.nav-cta) {display:inline-flex}
  .menu-ready .menu-toggle {display:inline-flex;align-items:center;gap:14px;margin-left:auto;min-height:44px;padding:10px 13px;font-size:14px;color:var(--ink);border:1px solid #505b53;border-radius:8px;background:transparent}
  .menu-glyph {position:relative;display:block;width:17px;height:12px}
  .menu-glyph i {display:block;position:absolute;width:17px;height:1.5px;background:currentColor;left:0;top:3px;transition:transform 230ms var(--ease-out)}
  .menu-glyph i:last-child {top:9px}
  .menu-toggle[aria-expanded=true] .menu-glyph i {transform:translateY(3px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] .menu-glyph i:last-child {transform:translateY(-3px) rotate(-45deg)}
  .menu-ready .site-header nav {display:none}
  .menu-ready .site-header nav[data-open=true] {display:flex}
  .menu-ready .site-header nav .nav-cta {flex:1;justify-content:space-between}
  .nav-cta,.marketing .nav-cta {font-size:14px;padding:12px 15px}
  .marketing .hero {padding-top:32px}
  .marketing .hero-grid {gap:38px}
  .marketing .hero h1 {font-size:clamp(42px,10.8vw,62px);letter-spacing:-.06em}
  .marketing .hero .eyebrow {font-size:11px;margin-bottom:26px}
  .marketing .hero-intro {font-size:16px;line-height:1.8}
  .marketing .hero .button {width:100%;justify-content:space-between}
  .marketing .micro {font-size:12px;max-width:none}
  .marketing .hero-aside {max-width:none;padding:0}
  .marketing .folio {font-size:11px}
  .project-feature-top {font-size:11px;padding:16px 18px}
  .project-feature-bottom {font-size:12px;padding:16px 18px}
  .project-feature-bottom>span:first-child {font-size:10px}
  .project-feature-art>p {font-size:13px}
  .hc-screen {top:155px}
  .marketing .sample-caption {font-size:11px;gap:15px}
  .marketing .hero-bottom {font-size:11px;letter-spacing:.03em;margin-top:36px;gap:20px;align-items:center}
  .marketing .hero-bottom a {font-size:13px;flex-shrink:0}
  .marketing .section {padding-block:64px}
  .marketing .section-heading h2 {font-size:35px}
  .marketing .section-heading>p {font-size:16px}
  .marketing .scope-list>div {font-size:15px}
  .marketing .steps p {font-size:15px}
  .marketing .price-block {padding:26px}
  .compare-toolbar {font-size:11px;padding:14px;gap:12px;letter-spacing:0}
  .compare-toolbar strong {font-size:12px}
  .compare-toolbar>span:last-child {max-width:128px}
  .reveal-controls {gap:8px}
  .reveal-controls button {font-size:14px}
  .reveal-controls label {font-size:12px}
  .demo-footnote>p {font-size:13px}
  .demo-footnote>div {font-size:14px;gap:18px}
  .marketing .faq summary {font-size:16px}
  .marketing .field label,.marketing .field.check label {font-size:14px}
  .marketing .intake-grid .button {justify-content:center}
  .site-footer>p,.marketing .site-footer>p {font-size:13px;flex-basis:100%;margin-top:-8px}
  .site-footer>div {font-size:14px;gap:8px 22px}
  .filter-bar {padding:18px}
  .filter-bar .field {margin-bottom:18px;min-width:0}
  .filter-bar .button {width:100%;margin:0}
  .owner-workspace .panel-title {align-items:start;gap:20px}
  .owner-workspace .panel-title>.button {width:100%}
  .owner-workspace .panel-title h1 {font-size:34px}
  .client-workspace {padding-top:32px}
  .client-workspace .panel-section {padding:22px}
  .detail-nav {gap:0 20px}
  .terms {margin-top:36px}
}
@media(max-width:720px) {
  .table-scroll:has(.lead-table) {border:0;border-radius:0;background:transparent;overflow:visible}
  .table-scroll .lead-table {min-width:0;width:100%;display:block}
  .lead-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .lead-table tbody {display:grid;gap:16px}
  .lead-table tbody tr {display:block;border:1px solid var(--line);border-radius:12px;background:#202722;padding:18px}
  .lead-table td {display:flex;justify-content:space-between;align-items:start;gap:16px;padding:12px 0;text-align:right;font-size:14px}
  .lead-table td::before {content:attr(data-label);font-size:12px;color:var(--muted);text-align:left;flex-shrink:0;padding-top:2px}
  .lead-table td:first-child {display:block;padding:0 0 14px;text-align:left}
  .lead-table td:first-child::before {content:none}
  .lead-table td:first-child a {font-size:19px;line-height:1.4}
  .lead-table td:last-child {border:0;padding-bottom:0}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {animation:none!important;transition:none!important}
  .button:hover,.project-feature:hover,.project-feature:hover .hc-screen {transform:none!important}
}
.detail-aside h3 {margin:28px 0 16px;font-size:22px}
