/* Public Trade page only. */
.trade-public {
  --midnight: #141316;
  --cream: #f5f3ed;
  --muted: #c1bcba;
  --line: #39363a;
  --champagne: #d9c29c;
  --action-rule: rgba(255, 248, 241, 0.15);
  --action-hover: #d8bc8b;
  font: 400 16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.trade-public .page-shell, .trade-public main { width: 100%; }
.trade-public .public-width, .trade-public .site-footer { width: min(1200px, calc(100% - 112px)); margin-inline: auto; }
.trade-public .topbar { padding: 12px max(32px, calc((100% - 1200px) / 2)); min-height: 76px; background: #141316; }
.trade-public .nav-actions { gap: 30px; }
.trade-public .nav-actions .trade-login-link { border: 0; border-left: 1px solid var(--line); border-radius: 0; padding-left: 30px; padding-right: 0; }
.trade-public .brand-name { font-size: 22px; }
.trade-public .hero { position: relative; isolation: isolate; padding: 0; background: #211b1b; }
.trade-public .hero-photograph { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.trade-public .hero-inner { min-height: 590px; display: flex; align-items: center; padding-block: 80px; }
.trade-public .hero-copy { max-width: 600px; padding-bottom: 28px; }
.trade-public h1 { font-size: 76px; line-height: 1.12; margin: 20px 0 24px; text-wrap: nowrap; }
.trade-public .hero-copy .hero-deck { font: 400 26px/1.5 var(--display); color: #eee9e0; margin: 0; }
.trade-public .hero-actions { margin-top: 36px; gap: 28px; }
.trade-public .primary-action, .trade-public .secondary-action, .trade-public .form-button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 12px 0; border: 0; border-bottom: 1px solid var(--action-rule);
  border-radius: 0; background: transparent; color: inherit;
  font-size: 14px; font-weight: 600; line-height: 1.45;
  transition: background 160ms ease, border-color 160ms ease;
}
.trade-public .primary-action:hover, .trade-public .secondary-action:hover, .trade-public .form-button:hover {
  background: transparent; color: var(--action-hover); border-color: var(--action-hover);
}
.trade-public .audience-line { padding: 23px 0; color: var(--muted); font-size: 13px; border-bottom: 1px solid var(--line); }
.trade-public h2 { font-size: 44px; line-height: 1.17; margin: 18px 0 26px; text-wrap: balance; }
.trade-public p { line-height: 1.75; }
.trade-public .service-section { display:block; padding-block:72px; }
.trade-public .service-introduction { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; margin-bottom:48px; }
.trade-public .service-introduction h2 { margin:0; max-width:17ch; }
.trade-public .service-introduction p { max-width:42ch; margin:0; font-size:18px; }
.trade-public .service-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; }
.trade-public .service-item { display:block; padding:24px 0 0; border-top:1px solid var(--line); }
.trade-public .service-item:first-child { padding-top:24px; }
.trade-public .service-number { font-size: 12px; padding-top: 9px; color: var(--champagne); }
.trade-public .service-item h3 { font:600 19px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; margin: 0 0 10px; }
.trade-public .service-item p { margin: 0; max-width: 49ch; }
.trade-public .workspace-section { --action-rule: #869082; --action-hover: #3f694a; --muted:#48534b; --champagne:#354e3a; --line:#a1aaa0; background: #e9ebe6; color: #202a25; padding-block:64px; }
.trade-public .workspace-section p, .trade-public .workspace-section figcaption { color: #48534b; }
.trade-public .workspace-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:32px; }
.trade-public .workspace-copy { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.trade-public .workspace-copy h2 { margin:0; }
.trade-public .workspace-copy p { max-width:40ch; margin:0; }
.trade-public .workspace-copy .secondary-action { margin-top: 2px; }
.trade-public .workspace-preview { min-width: 0; margin: 0; }
.trade-public .workspace-preview > a { display: block; border: 1px solid #737773; border-radius: 4px; }
.trade-public .workspace-preview img { width: 100%; height: auto; border: 0; border-radius: 3px; }
.trade-public .workspace-preview figcaption { font-size: 11px; margin: 14px 0 0; }
.trade-public .workspace-section :focus-visible { outline-color: #486041; }
.trade-public .demo-section { grid-template-columns: 0.85fr 1.15fr; gap: 80px; padding-block: 72px; border: 0; }
.trade-public .demo-section .section-heading { margin: 0; }
.trade-public .demo-section h2 { margin-top: 0; }
.trade-public .demo-section .section-heading p { max-width: 34ch; }
.trade-public .demo-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.trade-public .field-wide { grid-column: 1 / -1; }
.trade-public .field > span { font-size: 13px; font-weight: 400; color: #d3cfca; }
.trade-public input, .trade-public textarea { background: #1b1a1d; border: 1px solid #7c727a; border-radius: 4px; }
.trade-public .form-button { grid-column: 1 / -1; justify-self: start; }
.trade-public .enquiry-submit { display:flex; align-items:center; gap:16px 24px; }
.trade-public .enquiry-submit .form-button { flex:0 0 auto; }
.trade-public .enquiry-submit .form-status { margin:0; font-size:15px; line-height:1.6; }
.trade-public .enquiry-submit .form-status:empty { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.trade-public .site-footer { padding-block: 24px; gap: 16px 24px; }
.trade-public .site-footer nav { gap: 24px; }
.trade-public .site-footer nav a { min-height: 44px; display: inline-flex; align-items: center; }
.trade-public .skip-link { position: absolute; left: 24px; top: -100px; z-index: 80; padding: 12px 20px; background: var(--cream); color: var(--midnight); }
.trade-public .skip-link:focus-visible { top: 16px; }
@media (min-width: 1350px) {
  .trade-public .hero-photograph { object-position: right center; }
}
@media (max-width: 1000px) {
  .trade-public .public-width, .trade-public .site-footer { width: calc(100% - 64px); }
  .trade-public .nav-actions { gap: 24px; }
  .trade-public .service-section, .trade-public .demo-section { gap: 48px; }
  .trade-public .workspace-layout { gap: 40px; }
  .trade-public .hero-inner { min-height: 530px; }
  .trade-public .hero-photograph { object-position: 45% 58%; }
  .trade-public .hero-copy { max-width: 460px; }
  .trade-public h1 { font-size: 58px; }
  .trade-public .hero-copy .hero-deck { font-size: 22px; }
  .trade-public .hero-actions { gap: 20px; }
  .trade-public h2 { font-size: 36px; }
}
@media (max-width: 700px) {
  .trade-public .public-width, .trade-public .site-footer { width: calc(100% - 40px); }
  .trade-public .topbar { padding: 8px 20px; min-height: 68px; flex-wrap: nowrap; gap: 12px; }
  .trade-public .brand-lockup { gap: 9px; }
  .trade-public .brand-name { font-size: 20px; }
  .trade-public .nav-actions { width: auto; padding: 0; }
  .trade-public .nav-actions > a:not(.trade-login-link) { display: none; }
  .trade-public .nav-actions .trade-login-link { border: 0; padding: 8px 0 8px 12px; }
  .trade-public .hero-copy { max-width: 340px; padding: 0; }
  .trade-public h1 { font-size: 43px; margin: 14px 0 18px; }
  .trade-public .hero-copy .hero-deck { font-size: 21px; line-height: 1.45; max-width: 27ch; }
  .trade-public .desktop-break { display: none; }
  .trade-public .hero-actions { margin-top: 24px; gap: 12px 22px; }
  .trade-public .audience-line { font-size: 12px; padding-block: 20px; }
  .trade-public .service-section, .trade-public .workspace-layout, .trade-public .demo-section { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .trade-public .service-section, .trade-public .demo-section { padding-block: 56px; }
  .trade-public .workspace-section { padding-block: 52px; }
  .trade-public h2 { font-size: 36px; margin-block: 14px 22px; }
  .trade-public .service-introduction { display:block; margin-bottom:28px; }
  .trade-public .service-introduction h2 { margin-bottom:20px; }
  .trade-public .service-introduction p, .trade-public .workspace-copy p, .trade-public .demo-section .section-heading p { max-width: 48ch; }
  .trade-public .service-list { grid-template-columns:1fr; gap:24px; }
  .trade-public .service-item { padding-top:24px; }
  .trade-public .service-item h3 { font-size:21px; }
  .trade-public .demo-form { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .trade-public .enquiry-submit { align-items:flex-start; flex-direction:column; }
  .trade-public .enquiry-submit .form-button { width:100%; }
  .trade-public .site-footer { justify-content: flex-start; gap: 12px 24px; padding-block: 24px; }
  .trade-public .site-footer nav { width: 100%; gap: 0 24px; }
}
@media (max-width: 600px) {
  .trade-public .hero-inner { min-height: 600px; align-items: flex-start; padding-block: 38px 300px; }
  .trade-public .hero-copy { max-width: 440px; }
  .trade-public .hero-photograph { object-position: center bottom; }
}
@media (min-width: 501px) and (max-width: 600px) {
  .trade-public .hero-inner { min-height: 720px; }
}
@media (max-width: 360px) {
  .trade-public h1 { font-size: 37px; }
  .trade-public .hero-actions { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.trade-public) { scroll-behavior: auto; }
}
/* Shared Tannin motion: press 140ms, state 200ms, entrance 360ms. */
.trade-public { --motion-press:140ms; --motion-state:200ms; --motion-ease:cubic-bezier(.2,.7,.2,1); }
.trade-public .hero-copy { animation:none; }
.trade-public :where(button,a) { transition:background-color var(--motion-press),color var(--motion-press),transform var(--motion-press); }
.trade-public :where(button,a):active { transform:translateY(1px); }
.trade-public .primary-action,.trade-public .form-button { background:var(--cream); color:var(--midnight); border:1px solid var(--cream); border-radius:4px; padding:12px 22px; }
.trade-public .service-example { min-width:0; border:1px solid #a5aea6; border-radius:6px; background:#f9faf6; overflow:visible; box-shadow:0 18px 40px #2336290d; }
.trade-public .example-heading { display:flex; justify-content:flex-end; padding:12px 28px 0; }
.trade-public .example-heading > span:first-child { font:400 19px/1.4 var(--display); }
.trade-public .example-label { font:400 13px/1.5 system-ui,sans-serif!important; color:#4b5850; }
.trade-public .example-tabs { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0 16px; border-bottom:1px solid #c9d0c9; }
.trade-public .example-tabs[role=tablist]::after { content:""; position:absolute; left:16px; bottom:-1px; height:2px; width:calc((100% - 32px)/3); background:#2f563d; transform:translateX(calc(var(--example-index,0)*100%)); transition:transform 260ms var(--motion-ease); }
.trade-public .example-tabs button { min-width:0; min-height:56px; padding:10px 6px; border:0; background:transparent; color:#546259; font-size:14px; line-height:1.4; cursor:pointer; }
.trade-public .example-tabs button[aria-selected=true] { color:#203c2b; font-weight:600; }
.trade-public .example-panels { min-height:355px; }
.trade-public .example-panel { padding:28px; }
.trade-public .example-record-heading { display:flex; justify-content:space-between; align-items:start; gap:16px; }
.trade-public .record-type { margin:0 0 8px; font-size:13px; }
.trade-public .service-example h3 { font:400 30px/1.25 var(--display); margin:0 0 24px; }
.trade-public .service-example h3 span { color:#57685b; }
.trade-public .record-state { font-size:13px; line-height:1.5; padding:5px 8px; background:#e6ece3; border:1px solid #bfccbb; border-radius:3px; color:#304934; max-width:16ch; }
.trade-public .service-example dl { margin:0; }
.trade-public .service-example dt { font-size:13px; color:#546259; margin-bottom:4px; }
.trade-public .service-example dd { margin:0; color:#24352a; font-size:16px; line-height:1.6; }
.trade-public .wine-spec { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:16px; padding-bottom:24px; border-bottom:1px solid #c9d0c9; }
.trade-public .example-access { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:24px; }
.trade-public .example-access strong { font-size:14px; font-weight:600; }.trade-public .example-access p { font-size:14px; line-height:1.6; margin:6px 0 0; }
.trade-public .example-sheet { border-top:1px solid #c9d0c9; }.trade-public .example-sheet dl > div { margin-bottom:16px; }
.trade-public .approval-track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:8px 0 28px; gap:4px; }
.trade-public .approval-track li { border-top:3px solid #c9d0c9; padding-top:10px; font-size:12px; color:#546259; }
.trade-public .approval-track li:not(:last-child) { border-color:#507456; }.trade-public .approval-track [aria-current] { color:#243e2b; font-weight:600; }
.trade-public .revision-notes h4 { font:600 16px/1.5 system-ui,sans-serif; margin:0 0 8px; }.trade-public .revision-notes p { margin:0 0 24px; font-size:16px; }
.trade-public .followup-spec > div { display:grid; grid-template-columns:100px 1fr; gap:20px; padding:14px 0; border-bottom:1px solid #d3d9d0; }
.trade-public .example-footnote { font-size:14px; line-height:1.6; margin:24px 0 0; }
.trade-public .service-scope { padding-block:64px 16px; }.trade-public .service-scope h2 { font:400 40px/1.2 var(--display); margin:0 0 36px; }
.trade-public .scope-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.trade-public .scope-columns h3 { font:600 17px/1.4 system-ui,sans-serif; }.trade-public .scope-columns p { font-size:16px; line-height:1.75; color:var(--muted); }
.trade-public details { margin-top:24px; }.trade-public summary { cursor:pointer; min-height:44px; padding:10px 0; color:var(--champagne); }
.trade-public details p { color:var(--muted); max-width:80ch; line-height:1.7; }.trade-public .example-sheet { padding-top:12px; }
@media(hover:hover) { .trade-public .primary-action:hover,.trade-public .form-button:hover { background:#e1d4ba; color:#191519; border-color:#e1d4ba; transform:translateY(-2px); box-shadow:0 4px 14px #0002; }.trade-public .example-tabs button:hover { background:#edf1e9; } }
.trade-public .nav-link { position:relative; }.trade-public .nav-link::after { content:""; position:absolute; bottom:8px; left:0; right:0; height:1px; background:var(--champagne); transform:scaleX(0); transform-origin:left; transition:transform 200ms ease; }
.trade-public .nav-link:hover::after,.trade-public .nav-link:focus-visible::after { transform:scaleX(1); }
.trade-public .contact-email { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; text-underline-offset:5px; color:var(--cream); }
.trade-public .client-entry { margin-top:24px; }.trade-public .client-entry summary { font-size:14px; }
.trade-public .demo-form .field > span { font-size:14px; }.trade-public .demo-form input { min-height:52px; }.trade-public .demo-form textarea { min-height:150px; }
.trade-public .footer-privacy { margin:0; }.trade-public .footer-privacy summary { font-size:13px; color:var(--muted); padding:10px 0; }
@media(max-width:1000px) { .trade-public .workspace-layout { grid-template-columns:1fr; gap:28px; }.trade-public .workspace-copy { display:grid; grid-template-columns:1fr 1fr; gap:12px 36px; }.trade-public .workspace-copy h2 { grid-row:span 2; margin-top:0; }.trade-public .workspace-copy p { margin:0; max-width:none; } }
@media(max-width:720px) { .trade-public .scope-columns { grid-template-columns:1fr; gap:20px; }.trade-public .service-scope { padding-block:52px; }.trade-public .service-scope h2 { font-size:32px; }.trade-public .workspace-copy { display:block; }.trade-public .workspace-copy p { margin-bottom:16px; }.trade-public .example-heading { padding:16px; }.trade-public .example-panel { padding:24px 18px; }.trade-public .example-tabs { padding:0 8px; }.trade-public .example-tabs[role=tablist]::after { left:8px; width:calc((100% - 16px)/3); }.trade-public .example-tabs button { font-size:13px; }.trade-public .example-record-heading { flex-wrap:wrap; gap:0; margin-bottom:20px; }.trade-public .service-example h3 { font-size:28px; margin-bottom:10px; }.trade-public .example-panels { min-height:460px; }.trade-public .example-access { gap:16px; }.trade-public .wine-spec { gap:12px; }.trade-public .wine-spec dd { font-size:14px; }.trade-public .followup-spec > div { grid-template-columns:85px 1fr; gap:12px; }.trade-public .service-introduction h2 { font-size:34px; }.trade-public .footer-privacy { width:100%; } }
@media(prefers-reduced-motion:reduce) { .trade-public *,.trade-public *::before,.trade-public *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
.service-scope a, .service-block a, #service a, #demo p a { display: inline-flex; align-items: center; min-height: 44px; }
.metrics-choice { display:flex; align-items:center; gap:10px; font-size:14px; line-height:1.5; text-align:left; }
.metrics-choice input { width:20px; min-height:44px; flex:0 0 20px; }
