/* Brokerage publishing and public pages: explicit surfaces, readable copy,
   restrained spacing, and full images without stretching or crop surprises. */
#app .brokerage-management { color:#172b3e; }
#app .brokerage-management :is(input,textarea,select) { font:inherit; color:#203d53; background:#fff; border:1px solid #a3b4c3; border-radius:6px; box-shadow:none; }
#app .brokerage-management :is(input,textarea,select):disabled { background:#f3f6f8; color:#536b7c; opacity:1; }
#app .brokerage-management :is(input,textarea,select):focus-visible { outline:2px solid #277298; outline-offset:2px; }
#app .brokerage-management fieldset { min-width:0; margin:0; padding:0; border:0; }
#app .brokerage-management-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:20px; }
#app .brokerage-management .workspace-tabs { margin:0; }
#app .brokerage-management .workspace-section { padding:24px !important; min-width:0; background:#fff !important; border:1px solid #dce3ea; border-radius:9px; }
#app .brokerage-management .workspace-section-header { align-items:flex-start; margin-bottom:22px; }
#app .brokerage-management .workspace-section-header h2 { margin:0 0 5px; font-size:18px !important; color:#172b3e !important; }
#app .brokerage-management .workspace-section-header p { max-width:55ch; margin:0; color:#53697b; font-size:13px; line-height:1.6; }
#app .brokerage-editor-columns { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr); gap:24px; align-items:start; }
#app .brokerage-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
#app .brokerage-editor-field { display:flex; min-width:0; flex-direction:column; gap:7px; margin:0; color:#2b465b; font-size:13px; }
#app .brokerage-editor-field > span { color:#2b465b; font-weight:600; }
#app .brokerage-editor-field :is(input,textarea,select) { width:100%; min-height:40px; margin:0; padding:9px 11px; font-size:14px; line-height:1.5; }
#app .brokerage-editor-field input[type="color"] { width:86px; height:40px; padding:5px; cursor:pointer; }
#app .brokerage-editor-field textarea { resize:vertical; }
#app .brokerage-editor-field small { color:#607587; font-size:11px; line-height:1.6; font-weight:400; }
#app .brokerage-editor-field.is-wide { grid-column:1/-1; }
#app .brokerage-editor-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:24px; }
#app .brokerage-editor-actions .btn { min-height:40px; }
#app .brokerage-editor-note { margin:16px 0 0; color:#607587; font-size:12px; line-height:1.7; }
#app .brokerage-content-status { display:inline-flex; align-items:center; justify-content:center; min-height:24px; padding:3px 9px; border:1px solid #cedbe4; border-radius:18px; background:#f3f7fa; color:#435f73; font-size:11px; font-weight:600; white-space:nowrap; }
#app .brokerage-preview-aside { min-width:0; }
#app .brokerage-preview-aside > header { margin:0 0 16px; }
#app .brokerage-preview-aside > header h2 { margin:0 0 5px; font:600 16px/1.4 Inter,system-ui,sans-serif; color:#203d53; }
#app .brokerage-preview-aside > header p { margin:0; color:#607587; font-size:12px; }
#app .brokerage-site-preview { overflow:hidden; border:1px solid #d4dee6; border-radius:10px; background:#fff; color:#17394e; }
#app .brokerage-preview-hero { display:block; width:100%; height:160px; object-fit:cover; }
#app .brokerage-preview-copy { padding:22px; }
#app .brokerage-preview-brand { display:flex; align-items:center; gap:9px; color:#274a61; font-size:12px; }
#app .brokerage-preview-brand img { width:34px; height:34px; padding:3px; border:1px solid #e1e7eb; border-radius:5px; background:#fff; object-fit:contain; }
#app .brokerage-preview-copy h3 { margin:20px 0 12px; color:#17394e; font:500 25px/1.2 Georgia,serif; }
#app .brokerage-preview-copy p { margin:0 0 22px; color:#536c7e; font-size:12px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
#app .brokerage-preview-cta { display:inline-block; padding:9px 13px; border-radius:5px; background:var(--brokerage-accent); color:var(--brokerage-on-accent); font-size:11px; font-weight:600; }
#app .brokerage-content-columns { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:24px; align-items:start; }
#app .brokerage-content-list { display:grid; gap:8px; }
#app .brokerage-content-item { display:flex; width:100%; align-items:flex-start; justify-content:space-between; gap:12px; padding:14px; border:1px solid #e0e6ec; border-radius:7px; background:#fff; color:#27475e; text-align:left; box-shadow:none; }
#app .brokerage-content-item:hover,#app .brokerage-content-item.is-selected { border-color:#81a4bd; background:#f2f7fa; }
#app .brokerage-content-item > span:first-child { display:flex; min-width:0; flex-direction:column; gap:4px; }
#app .brokerage-content-item small { color:#536e82; font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
#app .brokerage-content-item strong { color:#26465c; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
#app .brokerage-content-item > span > span { display:-webkit-box; max-height:3em; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; color:#647a8b; font-size:11px; line-height:1.5; }
#app .brokerage-editor-feedback,#app .brokerage-editor-notice,#app .brokerage-editor-error { margin:0 0 20px; padding:13px 16px; border:1px solid #cbdde8; border-radius:7px; background:#edf5fa; color:#29536d; font-size:13px; line-height:1.6; }
#app .brokerage-editor-error { border-color:#d8b98e; background:#fff9ed; color:#654d27; }
#app .brokerage-editor-error p { margin:0 0 8px; color:inherit; }
#app .brokerage-editor-error a { color:#1c5878; font-weight:600; }
#app .brokerage-inquiry-list { display:grid; gap:14px; }
#app .brokerage-inquiry-list article { padding:18px; border:1px solid #dce5ec; border-radius:7px; background:#fff; }
#app .brokerage-inquiry-list header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin:0 0 12px; }
#app .brokerage-inquiry-list header > div { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
#app .brokerage-inquiry-list :is(time,small,header span) { color:#556e80; font-size:11px; }
#app .brokerage-inquiry-list p { margin:0 0 12px; color:#334f63; white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.7; }
#app .brokerage-inquiry-contact { display:flex; flex-wrap:wrap; gap:10px 22px; margin-bottom:8px; color:#244e68; font-size:12px; overflow-wrap:anywhere; }

#app .brokerage-public-site { color:#17394d; background:#fbfcfc; font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; }
#app .brokerage-public-site * { box-sizing:border-box; }
#app .brokerage-public-site :is(h1,h2,h3,p) { letter-spacing:normal; }
#app .brokerage-public-site button { font:inherit; text-transform:none; transform:none; box-shadow:none; }
#app .brokerage-public-site :is(button,a,input,textarea,select):focus-visible { outline:3px solid #3890b7; outline-offset:4px; }
#app .brokerage-public-container { width:min(1240px,calc(100% - 80px)); margin:0 auto; }
#app .brokerage-public-hero { position:relative; min-height:600px; overflow:hidden; background:#122c3d; color:#fff; }
#app .brokerage-public-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
#app .brokerage-public-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,29,43,.88),rgba(8,29,43,.68) 60%,rgba(8,29,43,.3)); }
#app .brokerage-public-hero-copy { position:relative; z-index:1; padding:55px 0 70px; }
#app .brokerage-public-brand { display:flex; align-items:center; gap:13px; margin:0 0 42px; font-size:16px; font-weight:550; color:#fff; }
#app .brokerage-public-brand img { width:50px; height:50px; padding:5px; border-radius:6px; background:#fff; object-fit:contain; }
#app .brokerage-public-eyebrow { margin:0 0 14px; color:#60717c; font-size:11px; font-weight:650; line-height:1.6; letter-spacing:.12em !important; }
#app .brokerage-public-hero .brokerage-public-eyebrow { color:#e1d1ae; }
#app .brokerage-public-hero h1 { max-width:18ch; margin:0 0 24px; font:500 clamp(36px,4.8vw,68px)/1.07 Georgia,"Times New Roman",serif; color:#fff; }
#app .brokerage-public-hero-copy > p:not(.brokerage-public-eyebrow) { max-width:60ch; margin:0 0 30px; font-size:16px; line-height:1.8; color:#e8eef1; white-space:pre-wrap; }
#app .brokerage-public-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
#app .brokerage-public-site .brokerage-public-primary,#app .brokerage-public-site .brokerage-public-secondary,#app .brokerage-public-load { min-height:46px; padding:12px 20px; border:1px solid transparent; border-radius:5px; cursor:pointer; font-weight:600; font-size:14px; line-height:1.5; }
#app .brokerage-public-site .brokerage-public-primary { background:var(--brokerage-accent); color:var(--brokerage-on-accent); border-color:var(--brokerage-accent); }
#app .brokerage-public-site .brokerage-public-secondary { background:#fff; color:#173b52; border-color:#d8e2e9; }
#app .brokerage-public-site .brokerage-public-primary:hover,#app .brokerage-public-site .brokerage-public-secondary:hover { filter:brightness(.95); }
#app .brokerage-public-demo { display:block; margin-top:20px; color:#dde9ef; font-size:11px; }
#app .brokerage-public-section { padding:65px 0; border-bottom:1px solid #dce5e9; scroll-margin-top:110px; }
#app .brokerage-public-section > header { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:20px; margin:0 0 30px; }
#app .brokerage-public-section h2 { margin:0; color:#17394d; font:500 clamp(28px,3.5vw,42px)/1.2 Georgia,serif; }
#app .brokerage-public-inventory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
#app .brokerage-public-yacht { overflow:hidden; border:1px solid #dce5e9; border-radius:9px; background:#fff; color:#17394d; }
#app .brokerage-public-yacht > a { display:block; color:inherit; text-decoration:none; }
#app .brokerage-public-yacht-image { aspect-ratio:16/10; background:#edf1f3; }
#app .brokerage-public-yacht-image img { display:block; width:100%; height:100%; object-fit:contain; }
#app .brokerage-public-yacht > a > div:last-child { padding:22px 22px 10px; }
#app .brokerage-public-yacht small { display:block; color:#60788a; font-size:11px; line-height:1.6; text-transform:uppercase; letter-spacing:.03em; }
#app .brokerage-public-yacht h3 { margin:9px 0 12px; color:#17394d; font:500 23px/1.3 Georgia,serif; }
#app .brokerage-public-yacht p { margin:0 0 13px; color:#775b2f; font-size:18px; font-weight:600; }
#app .brokerage-public-yacht a span { color:#60788a; font-size:12px; line-height:1.7; }
#app .brokerage-public-text-button { display:inline-flex; align-items:center; padding:0; border:0; background:transparent; color:#235976; cursor:pointer; font-size:13px; font-weight:600; line-height:1.7; text-align:left; }
#app .brokerage-public-text-button:hover { color:#113c57; text-decoration:underline; text-underline-offset:4px; }
#app .brokerage-public-yacht > .brokerage-public-text-button { margin:10px 22px 22px; }
#app .brokerage-public-load { display:block; margin:30px auto 0; border-color:#b9cad5; background:#fff; color:#254e68; }
#app .brokerage-public-load:disabled { opacity:.65; cursor:default; }
#app .brokerage-public-content-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
#app .brokerage-resource-introduction { max-width:760px; margin:-8px 0 28px; color:#496477; font-size:14px; line-height:1.75; }
#app .brokerage-public-resource-card { min-width:0; overflow:hidden; border:1px solid #dce5e9; border-radius:9px; background:#fff; }
#app .brokerage-public-resource-image { aspect-ratio:16/10; background:#edf1f3; }
#app .brokerage-public-resource-image img { display:block; width:100%; height:100%; object-fit:contain; }
#app .brokerage-public-resource-copy { padding:26px; }
#app .brokerage-public-resource-copy h3 { margin:0 0 12px; color:#17394d; font:500 25px/1.25 Georgia,serif; overflow-wrap:anywhere; }
#app .brokerage-public-resource-copy > p { margin:12px 0; color:#496477; font-size:14px; line-height:1.75; white-space:pre-wrap; }
#app .brokerage-public-resource-copy > .brokerage-public-meta { font-size:12px; }
#app .brokerage-public-resource-copy > .brokerage-resource-availability { color:#365d70; background:#edf4f7; border:1px solid #d8e5eb; border-radius:4px; padding:10px 12px; font-size:12px; }
#app .brokerage-public-resource-copy > .brokerage-resource-availability.is-unavailable { color:#725020; background:#fff7eb; border-color:#e1cfb2; }
#app .brokerage-public-resource-copy details { margin:16px 0; color:#496477; font-size:12px; }
#app .brokerage-public-resource-copy summary { cursor:pointer; color:#245b79; font-weight:600; }
#app .brokerage-public-resource-copy details ul { max-height:260px; overflow:auto; list-style:none; margin:12px 0; padding:0; }
#app .brokerage-public-resource-copy details li { display:grid; gap:4px; padding:10px 0; border-top:1px solid #dce5e9; }
#app .brokerage-public-resource-copy details strong { font-size:11px; font-weight:600; }
#app .brokerage-selected-resource { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:0 0 20px; padding:12px; border:1px solid #d8e5eb; border-radius:5px; background:#edf4f7; color:#345469; font-size:12px; line-height:1.65; }
#app .brokerage-selected-resource button { margin-left:auto; padding:4px 0; border:0; background:transparent; color:#245b79; text-decoration:underline; cursor:pointer; }
#app .brokerage-public-content-card { min-width:0; padding:26px; border:1px solid #dce5e9; border-radius:9px; background:#fff; }
#app .brokerage-public-content-card h3 { margin:0 0 12px; color:#17394d; font:500 25px/1.25 Georgia,serif; overflow-wrap:anywhere; }
#app .brokerage-public-content-card > p { color:#536d7f; font-size:14px; line-height:1.8; white-space:pre-wrap; }
#app .brokerage-public-content-card > .brokerage-public-meta { color:#5c7180; font-size:12px; }
#app .brokerage-public-content-card details { margin:18px 0; color:#526e81; font-size:13px; }
#app .brokerage-public-content-card details summary { cursor:pointer; color:#245b79; font-weight:600; }
#app .brokerage-public-content-card details p { max-height:500px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; color:#526e81; font-size:13px; line-height:1.8; }
#app .brokerage-public-price-note { display:block; margin:18px 0; color:#775b2f; font-size:14px; }
#app .brokerage-public-empty { margin:0; padding:30px; border:1px solid #dce5e9; border-radius:8px; background:#fff; color:#536d7f; font-size:15px; line-height:1.8; }
#app .brokerage-public-contact { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:start; gap:70px; border-bottom:0; }
#app .brokerage-public-contact > div > p:not(.brokerage-public-eyebrow) { max-width:40ch; color:#536d7f; font-size:15px; line-height:1.8; }
#app .brokerage-public-contact > div > a { display:block; width:fit-content; margin:14px 0; color:#245b79; font-size:16px; overflow-wrap:anywhere; }
#app .brokerage-public-contact small { display:block; max-width:42ch; margin-top:25px; color:#526b7d; font-size:12px; line-height:1.8; }
#app .brokerage-public-inquiry-form { margin:0; padding:28px; border:1px solid #d3e0e8; border-radius:10px; background:#fff; }
#app .brokerage-public-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:20px; }
#app .brokerage-public-form-grid label { display:flex; min-width:0; flex-direction:column; gap:8px; color:#344f64; font-size:13px; font-weight:550; }
#app .brokerage-public-form-grid .is-wide { grid-column:1/-1; }
#app .brokerage-public-form-grid :is(input,select,textarea) { display:block; width:100%; min-height:44px; margin:0; padding:10px 12px; border:1px solid #9fb4c4; border-radius:5px; background:#fff; color:#22465d; font:400 15px/1.5 Inter,system-ui,sans-serif; box-shadow:none; }
#app .brokerage-public-form-grid textarea { resize:vertical; }
#app .brokerage-public-consent { display:flex; align-items:flex-start; gap:9px; margin:13px 0; color:#536d7f; font-size:12px; font-weight:400; line-height:1.8; }
#app .brokerage-public-consent input { flex-shrink:0; width:16px; height:16px; margin:4px 0 0; accent-color:var(--brokerage-accent); }
#app .brokerage-public-inquiry-form > .brokerage-public-primary { margin-top:12px; }
#app .brokerage-public-inquiry-form > .brokerage-public-primary:disabled { opacity:.65; cursor:default; }
#app .brokerage-public-form-feedback { margin:15px 0 0; color:#285d4d; font-size:13px; line-height:1.7; }
#app .brokerage-public-form-feedback:empty { display:none; }
#app .brokerage-public-form-feedback.has-error { color:#943c31; }
#app .brokerage-public-credit { margin:0; padding:24px 0 35px; border-top:1px solid #dce5e9; color:#576e80; font-size:12px; }
#app .brokerage-public-loading { min-height:400px; padding-top:65px; padding-bottom:65px; }
#app .brokerage-public-loading h1 { font-size:clamp(30px,5vw,48px); color:#17394d; }
#app .brokerage-public-loading p { max-width:55ch; color:#536d7f; line-height:1.8; }
#app .brokerage-public-loading .text-link { display:block; margin-top:22px; }
@media (max-width:1100px) {
  #app .brokerage-editor-columns,#app .brokerage-content-columns { grid-template-columns:1fr; }
  #app .brokerage-preview-aside { max-width:500px; }
  #app .brokerage-public-inventory,#app .brokerage-public-content-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .brokerage-public-contact { gap:35px; }
}
@media (max-width:700px) {
  #app .brokerage-management .workspace-section { padding:19px !important; }
  #app .brokerage-editor-grid,#app .brokerage-public-form-grid { grid-template-columns:1fr; }
  #app .brokerage-management-top { align-items:stretch; }
  #app .brokerage-management-top .workspace-tabs { width:100%; justify-content:space-between; }
  #app .brokerage-editor-field :is(input,textarea,select) { font-size:16px; }
  #app .brokerage-public-container { width:calc(100% - 36px); }
  #app .brokerage-public-hero { min-height:560px; }
  #app .brokerage-public-hero-copy { padding:35px 0 48px; }
  #app .brokerage-public-brand { margin-bottom:36px; font-size:14px; }
  #app .brokerage-public-hero h1 { max-width:18ch; }
  #app .brokerage-public-hero-copy > p:not(.brokerage-public-eyebrow) { font-size:14px; }
  #app .brokerage-public-hero-actions > button { flex:1; min-width:160px; }
  #app .brokerage-public-section { padding:43px 0; }
  #app .brokerage-public-inventory,#app .brokerage-public-content-grid,#app .brokerage-public-contact { grid-template-columns:1fr; }
  #app .brokerage-public-content-card { padding:22px; }
  #app .brokerage-public-inquiry-form { padding:21px; }
  #app .brokerage-public-form-grid :is(input,select,textarea) { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) { #app .brokerage-public-site * { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }

/* Crawlable brokerage and yacht previews share the same restrained visual language. */
body.brokerage-seo-page { margin: 0; color: #173d50; background: #f7fafb; font: 16px/1.65 system-ui, -apple-system, "Segoe UI", sans-serif; }
.brokerage-seo-page * { box-sizing: border-box; }
.brokerage-seo-header { min-height: 76px; padding: 18px max(24px, calc((100vw - 1184px) / 2)); display: flex; align-items: center; gap: 24px; background: #122f3d; color: #fff; }
.brokerage-seo-header a { color: #f4f8fa; text-decoration: none; font-size: .9rem; font-weight: 600; }
.brokerage-seo-header a:first-child { margin-right: auto; font: 600 1.65rem/1 Georgia, serif; letter-spacing: .15em; }
.brokerage-seo-header a:focus-visible, .brokerage-seo-content a:focus-visible { outline: 3px solid #bd923b; outline-offset: 5px; }
.brokerage-seo-content { width: min(1184px, 100%); margin: 0 auto; padding: clamp(28px, 5vw, 72px) 24px; }
.brokerage-seo-content h1 { max-width: 920px; margin: 16px 0 24px; font: 400 clamp(2.25rem, 5vw, 4.25rem)/1.12 Georgia, serif; letter-spacing: -.025em; overflow-wrap: anywhere; }
.brokerage-seo-content > p { max-width: 760px; margin: 16px 0 24px; color: #466073; }
.brokerage-seo-content .eyebrow { color: #725521; text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; font-weight: 700; }
.brokerage-seo-content > a.btn { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 11px 22px; border: 1px solid #173d50; border-radius: 5px; background: #173d50; color: #fff; text-decoration: none; font-weight: 600; }
.brokerage-seo-content > section { margin-top: 56px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 24px; }
.brokerage-seo-content > section > h2 { grid-column: 1 / -1; margin: 0; font: 400 2rem/1.2 Georgia, serif; }
.brokerage-seo-content article { min-width: 0; overflow-wrap: anywhere; }
.brokerage-seo-content > section > article { overflow: hidden; border: 1px solid #d8e3e9; border-radius: 8px; background: #fff; }
.brokerage-seo-content article a { color: #173d50; text-decoration: none; }
.brokerage-seo-content article img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: contain; background: #ecf1f4; }
.brokerage-seo-content > section article h3 { padding: 0 20px; font: 400 1.4rem/1.35 Georgia, serif; }
.brokerage-seo-content > section article p { padding: 0 20px; color: #466073; font-size: .9rem; }
.brokerage-seo-content > article { margin-top: 40px; padding: 28px 0; border-top: 1px solid #d8e3e9; }
.brokerage-seo-content > article h2 { margin: 12px 0; font: 400 1.8rem/1.25 Georgia, serif; }
.brokerage-content-body { white-space: pre-wrap; max-width: 820px; overflow-wrap: anywhere; color: #466073; }
.brokerage-seo-hero { display: block; width: 100%; max-height: 640px; aspect-ratio: 16 / 10; object-fit: contain; border-radius: 8px; background: #ecf1f4; }
@media (max-width: 800px) { .brokerage-seo-content > section { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .brokerage-seo-header { padding: 18px; gap: 16px; flex-wrap: wrap; } .brokerage-seo-header a { font-size: .8rem; } .brokerage-seo-content { padding: 32px 18px; } .brokerage-seo-content > section { grid-template-columns: minmax(0, 1fr); gap: 20px; } }
