/* Layout and character. Colors come from the firm token adapter in branding.mjs. */
:root{color-scheme:light}[data-theme=dark]{color-scheme:dark}
body{letter-spacing:-.012em}.shell{grid-template-columns:214px minmax(0,1fr)}.rail{padding:23px 16px 20px;border-right:1px solid var(--line);color:var(--ink);overflow:auto}.firm-lockup{padding:0 7px 26px;gap:11px}.firm-lockup strong{font-size:22px;font-weight:650;letter-spacing:-.055em}.firm-lockup small{font-size:9px;letter-spacing:.09em;color:var(--sub);margin-top:4px}.firm-mark{width:40px;height:42px;border-radius:12px;border:1px solid var(--brand-2-text);background:var(--brand-2);color:var(--brand-2-ink);font:600 25px var(--font-body);flex-shrink:0;overflow:hidden}.firm-mark:after{display:none}.firm-mark img{width:100%;height:100%;object-fit:contain;padding:3px}.firm-mark>span{display:grid;place-items:center;width:100%;height:100%}.rail-label{font-size:9px;letter-spacing:.12em;margin:9px 8px 11px;color:var(--sub)}.nav{gap:3px}.nav-item{min-height:45px;padding:0 12px;font-size:13px;border-radius:var(--radius);color:var(--sub);gap:12px}.nav-item svg{width:18px;height:18px;stroke-width:1.8}.nav-item:hover{background:var(--surface-alt);color:var(--ink)}.nav-item.active{background:var(--wash);color:var(--brand-text);font-weight:650;box-shadow:none}.nav-item.active svg{stroke-width:2.1}.nav-item:not(.active) .count{background:var(--surface-alt);color:var(--sub)}.nav-item .count{font-size:10px;border-radius:6px;background:var(--paper);color:var(--brand-text);min-width:22px;height:22px}.rail-foot{border-color:var(--line);margin-top:auto;padding-top:10px}.person{padding:17px 7px 0}.person strong{font-weight:550}.avatar{background:var(--goldwash);color:var(--brand-2-text)}.person small{color:var(--sub);font-size:10px}.topbar{height:65px;background:var(--paper);padding:0 30px}.breadcrumb{font-size:12px}.breadcrumb strong{font-weight:600}.breadcrumb>span:first-child{color:var(--sub)}.preview-ribbon{background:var(--surface-alt);color:var(--sub);font-size:10px}.preview-ribbon i{background:var(--brand-2)}.preview-ribbon button{color:var(--sub)}.icon-button:hover{background:var(--surface-alt)}
h1{font-size:32px;font-weight:550;letter-spacing:-.045em}h2{font-weight:500;letter-spacing:-.04em}.eyebrow{font-size:10px;letter-spacing:.1em;font-weight:600}.page-head{padding:30px 32px 25px}.page-head .subline{font-size:13px;line-height:1.5}.btn{font-weight:550;font-size:13px;min-height:44px;border-radius:var(--radius);box-shadow:0 1px 1px var(--shadow-color)}.btn.primary,.partner-entry button{background:var(--brand);color:var(--brand-ink);border:1px solid var(--brand-text)}.btn.primary:hover,.partner-entry button:hover{background:var(--brand);filter:brightness(.95)}.btn.text{box-shadow:none}.btn.gold{background:var(--goldwash);color:var(--brand-2-text);border-color:var(--brand-2-text)}.tag{border:1px solid var(--line);background:var(--surface-alt);font-size:10px;color:var(--sub)}.tag.public{color:var(--success);background:var(--success-wash);border-color:transparent}.tag.held{color:var(--warning);background:var(--warning-wash)}
.library-band{height:66px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:var(--paper);border-bottom:1px solid var(--line)}.library-modes{display:flex;gap:23px;height:100%;align-items:center}.library-mode{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;height:100%;padding:0 3px;font-size:14px;font-weight:500;color:var(--sub);min-width:44px}.library-mode.active{color:var(--ink);border-bottom-color:var(--brand-text);font-weight:650}.library-queue{display:flex;align-items:center;gap:7px;background:none;border:0;color:var(--sub);font-size:12px;padding:0 4px;min-height:44px}.library-queue strong{font-weight:600;color:var(--ink)}.library-queue svg{width:15px}.queue-pip{width:7px;height:7px;border-radius:50%;background:var(--brand-2);outline:1px solid var(--brand-2-text)}.library-layout{border-top:0;grid-template-columns:310px minmax(0,1fr);background:var(--paper)}.conversation-list{background:var(--paper)}.list-tools{padding:17px 19px 10px}.search-field{background:var(--surface-alt);border-color:transparent;border-radius:var(--radius);padding:8px 12px}.search-field input{background:transparent;color:var(--ink);font-size:12px}.search-field input::placeholder{color:var(--sub)}.filter-row{gap:3px;margin-top:9px}.filter{font-size:11px;border-radius:7px;font-weight:450}.filter.active{background:var(--wash);color:var(--brand-text)}.list-label{padding:13px 22px 10px;font-size:9px;font-weight:500;letter-spacing:.1em}.thread-link,.thread-row .thread-link{padding:20px 21px;min-height:117px;border-left:0;border-bottom:1px solid var(--line)}.thread-row.selected .thread-link{background:var(--wash);border-left:0;box-shadow:inset 3px 0 var(--brand)}.thread-row:hover .thread-link{background:var(--surface-alt);box-shadow:inset 0 0 0 1px var(--line-strong)}.row-meta{font-size:11px;color:var(--sub)}.row-meta strong{font-weight:450;color:var(--ink)}.row-meta>span:last-child{font-size:10px;padding:2px 6px;background:var(--surface-alt);border-radius:5px}.row-subject{font-size:14px;font-weight:450;letter-spacing:-.014em;line-height:1.45;margin-top:8px;padding-right:9px}.thread-row.unread .row-subject{font-weight:650}.thread-row.unread .row-meta strong{font-weight:650}.row-bottom{font-size:10px;color:var(--sub);margin-top:10px}.unread-dot{background:var(--brand-text);width:5px;height:5px}.thread-more>summary{font-size:19px;min-width:44px;min-height:44px}.reader{background:var(--paper)}.thread-heading{padding:27px 38px 23px;border-bottom:1px solid var(--line)}.thread-heading h2{font:550 29px/1.18 var(--font-heading);letter-spacing:-.045em;max-width:680px;margin:14px 0}.people-line{font-size:11px;color:var(--sub);margin-top:17px}.people-line .avatar{width:25px;height:25px;font-size:8px}.thread-content{padding:28px 38px 40px;max-width:920px}.message-label{font-size:11px;margin-bottom:10px}.question{font-size:14px;line-height:1.8;color:var(--sub);border:0;padding:0;margin-bottom:27px}.answer{border:1px solid var(--line);border-radius:var(--radius);padding:25px;background:var(--paper);box-shadow:0 5px 18px var(--shadow-color)}.bisbe-sign{font-size:13px;font-weight:600;gap:8px}.bisbe-mark{color:var(--brand-2-text)}.bisbe-mark.signature{width:25px;height:25px;background:var(--brand-2);color:var(--brand-2-ink);border-radius:8px;display:inline-grid;place-items:center;font-size:19px;border:1px solid var(--brand-2-text)}.coverage{margin-left:auto;background:var(--warning-wash);color:var(--warning);border:0;border-radius:6px;font-size:9px;padding:5px 7px}.answer-lead{font:500 25px/1.24 var(--font-heading);letter-spacing:-.035em;margin:20px 0 16px}.answer-body{font-size:13px;line-height:1.8;color:var(--sub)}.quote{font:450 21px/1.4 var(--font-heading);border-left:3px solid var(--brand-2);padding-left:17px;margin:20px 0;color:var(--ink)}.source-link{background:var(--surface-alt);border:1px solid transparent;border-radius:var(--radius);padding:14px;margin-top:20px;min-height:60px;color:var(--ink)}.source-link strong{font-size:12px;font-weight:500}.source-link small{font-size:10px;line-height:1.6}.source-link>svg:first-child{color:var(--brand-text)}.gap{padding-top:21px;margin-top:25px;border-top:1px solid var(--line)}.gap>.eyebrow{color:var(--brand-text);font-size:9px;letter-spacing:.1em}.gap h3{font-size:16px;line-height:1.4;font-weight:550;margin:12px 0 10px}.gap p{font-size:12px;color:var(--sub);line-height:1.6}.gap .actions{margin-top:20px;gap:10px}.gap .btn{font-size:12px}.fine{font-size:11px;line-height:1.6;color:var(--sub)}.status-message{background:var(--success-wash);border-left-color:var(--success);color:var(--ink)}
.partner-dock{background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -5px 22px var(--shadow-color);padding:15px 28px;gap:20px;min-height:87px}.partner-statement{min-width:0}.partner-title{font-size:12px;font-weight:600}.partner-title .signature{width:23px;height:23px;font-size:17px}.partner-statement p{font-size:11px;color:var(--sub);margin-top:5px;max-width:440px;line-height:1.5}.partner-entry{border:1px solid var(--line-strong);background:var(--paper);border-radius:var(--radius);padding:4px 5px 4px 13px;max-width:450px;min-width:250px}.partner-entry input{font-size:12px;background:transparent}.partner-entry button{border-radius:calc(var(--radius) - 3px);height:44px;width:44px}.partner-show{font-size:11px;color:var(--sub);border:0;background:none}.partner-panel{border-color:var(--line);border-radius:var(--radius);background:var(--paper)}.partner-panel-head{background:var(--surface-alt)}.partner-panel-body h2{font-size:32px}.partner-offer{border-color:var(--line);border-radius:var(--radius)}.partner-offer svg{color:var(--brand-text)}.partner-offer:hover{background:var(--wash)}
.review-card,.form-box,.work-card,.contact-card,.rooms-layout,.book,.visitor-portal,.portal-full,.mini-portal{border-radius:var(--radius);box-shadow:0 3px 12px var(--shadow-color)}.review-top{background:var(--paper)}.diff>div+div{background:var(--wash)}.after-line{background:var(--success-wash);color:var(--success)}.intro-note{background:var(--wash);border:1px solid var(--line);border-radius:var(--radius)}.support-hero{background:var(--wash);color:var(--ink);border:1px solid var(--line)}.support-hero p,.support-hero .eyebrow{color:var(--sub)}.book .eyebrow{color:var(--brand-text)}.book h3{font:500 27px var(--font-heading)}.column-head .count{background:var(--surface-alt);color:var(--sub)}.step.current b,.step.done b{background:var(--brand);color:var(--brand-ink);border-color:var(--brand-text)}.field input,.field textarea,.field select{border-color:var(--line-strong);border-radius:var(--radius);background:var(--paper);font-size:14px}.mini-top{background:var(--surface-alt);color:var(--sub)}.portal-art{background:var(--goldwash)}.portal-art:before{border-color:var(--brand-2-text);box-shadow:none}.portal-art:after{color:var(--brand-2-text);font-family:var(--font-heading)}.mini-brand{font-family:var(--font-heading)}.visitor-hero h2{font-weight:500;letter-spacing:-.045em}.visitor-brand strong{font-weight:600}.visitor-emblem{border-radius:var(--radius);background:var(--goldwash);color:var(--brand-2-text)}.visitor-emblem:before,.visitor-emblem:after{border-color:var(--brand-2-text)}.visitor-logo{background:var(--brand-2);color:var(--brand-2-ink);border:1px solid var(--brand-2-text);border-radius:10px}.portal-shelves h3{font-size:24px;font-weight:500}.portal-shelves button{border-radius:var(--radius)}.visitor-tabs button.active{border-color:var(--brand-text)}.visitor-footer{background:var(--surface-alt)}.template-card{border-radius:var(--radius)}.template-art{height:150px}.template-copy h2{font-weight:500;font-size:25px}.template-monogram{font-weight:500}.demo-intro>p{font-size:38px}.demo-intro>p em{font-style:normal;color:var(--brand-text)}.network-note h2{font-size:29px}.mobile-nav button.active{color:var(--brand-text)}.mobile-nav button.active:before{background:var(--brand)}#toast{background:var(--ink);color:var(--paper);border-color:var(--line)}dialog{border-radius:var(--radius);border-color:var(--line)}dialog::backdrop{background:var(--overlay)}.dialog-head{background:var(--paper)}.dialog-head h2{font-size:25px}
/* Brand studio: input is separate from the saved firm theme until Apply. */
.brand-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.85fr);gap:42px;max-width:1270px;margin:0 auto;width:100%}.brand-editor{min-width:0}.brand-editor .section-head{margin-top:0}.brand-editor h2{font-size:21px;letter-spacing:-.03em}.brand-presets{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}.brand-preset{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:17px;text-align:left;position:relative}.brand-preset.selected{border-color:var(--brand-text);box-shadow:0 0 0 1px var(--brand-text)}.preset-colors{display:flex;margin-bottom:16px}.preset-colors i{width:31px;height:31px;border-radius:50%;border:1px solid var(--line)}.preset-colors i+i{margin-left:-8px}.brand-preset strong{display:block;font-size:14px;font-weight:550}.brand-preset small{display:block;font-size:11px;color:var(--sub);margin-top:5px}.brand-fields{background:var(--paper);padding:24px;border:1px solid var(--line);border-radius:var(--radius)}.brand-fields h2{margin:0 0 25px}.color-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.color-input{display:flex;gap:9px;align-items:center}.color-input input[type=color]{padding:3px;width:44px;min-width:44px;height:46px;cursor:pointer}.color-input input:not([type=color]){min-width:0;font-size:12px;font-variant-numeric:tabular-nums}.color-fields .field{min-width:0}.color-fields select{font-size:12px}.logo-field{display:flex;align-items:center;gap:15px;margin:10px 0 25px}.logo-field>.studio-logo{height:56px;width:56px;flex-shrink:0;display:grid;place-items:center;background:var(--brand-2);color:var(--brand-2-ink);border:1px solid var(--brand-2-text);border-radius:var(--radius);font-size:27px;font-weight:600;overflow:hidden}.studio-logo img{max-width:100%;max-height:100%;object-fit:contain}.logo-field>div:last-child{min-width:0;flex:1}.logo-field input[type=file]{font-size:11px;width:100%;padding:8px}.brand-preview-column{padding-top:5px;min-width:0}.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.brand-specimen{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:22px;font-family:var(--font-body);box-shadow:0 8px 26px var(--shadow-color)}.brand-specimen>header{display:flex;gap:10px;align-items:center;padding:18px 20px}.specimen-logo{width:30px;height:32px;display:grid;place-items:center;background:var(--brand-2);color:var(--brand-2-ink);border:1px solid var(--brand-2-text);border-radius:7px;overflow:hidden;font-size:18px}.specimen-logo img{width:100%;height:100%;object-fit:contain}.brand-specimen>header>strong{font-weight:600;font-size:17px}.brand-specimen>header>span:last-child{margin-left:auto;font-size:9px;letter-spacing:.1em;color:var(--sub)}.specimen-tabs{display:flex;gap:18px;border-block:1px solid var(--line);padding:12px 21px;font-size:11px;color:var(--sub)}.specimen-tabs>span:first-child{color:var(--brand-text);font-weight:600}.specimen-tabs small{margin-left:auto;font-size:10px}.specimen-content{padding:25px 24px}.specimen-content>.eyebrow{font-size:8px;line-height:1.5}.specimen-content h3{font:500 30px/1.13 var(--font-heading);letter-spacing:-.04em;margin:17px 0 13px}.specimen-content p{font-size:12px;line-height:1.6;color:var(--sub);max-width:270px}.specimen-button{display:inline-block;padding:11px 15px;background:var(--brand);color:var(--brand-ink);border:1px solid var(--brand-text);border-radius:var(--radius);font-size:11px;margin-top:21px}.brand-reassurance{display:flex;gap:13px;padding:0 2px 25px;font-size:12px;line-height:1.6;color:var(--sub)}.brand-reassurance svg{color:var(--brand-2-text);margin-top:3px}.brand-reassurance strong{color:var(--ink);font-weight:550}
@media(max-width:1120px){.shell{grid-template-columns:185px minmax(0,1fr)}.rail{padding:22px 11px}.firm-lockup{gap:8px;padding-left:4px}.firm-lockup strong{font-size:20px}.library-layout{grid-template-columns:272px minmax(0,1fr)}.thread-heading{padding:24px 27px}.thread-content{padding:25px 25px 35px}.answer{padding:21px}.answer-lead{font-size:24px}.partner-dock{padding:13px 20px;gap:12px}.brand-layout{gap:23px;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr)}.brand-fields{padding:20px}.color-fields{grid-template-columns:1fr;gap:0}.brand-presets{gap:10px}.brand-preset{padding:15px}.brand-preset small{font-size:10px}.preview-heading{flex-wrap:wrap}.logo-field{align-items:flex-start}}
@media(max-width:900px){.firm-mark{display:none}.partner-statement p{display:none}.library-layout{grid-template-columns:240px minmax(0,1fr)}.thread-heading{padding:20px}.thread-content{padding:21px 18px}.brand-layout{grid-template-columns:1fr}.brand-preview-column{max-width:600px}.color-fields{grid-template-columns:1fr 1fr;gap:15px}}
@media(max-width:700px){.shell{grid-template-columns:minmax(0,1fr)}.rail{width:253px;padding:26px 17px}.firm-mark{display:grid}.rail .firm-lockup strong{font-size:23px}.nav-item{min-height:49px}.topbar{height:53px;padding:0 12px}.breadcrumb{font-size:11px}.library-band{height:57px;padding:0 19px}.library-modes{gap:23px}.library-mode{font-size:14px}.library-queue{font-size:11px}.library-queue svg{width:14px}.library-layout{display:block}.list-tools{padding:14px 18px 8px}.filter{font-size:12px}.list-label{padding:13px 21px 8px}.thread-row .thread-link{padding:19px 22px;min-height:119px}.row-meta{font-size:11px}.row-subject{font-size:15px}.row-bottom{font-size:11px}.thread-heading{padding:13px 22px 21px}.thread-heading h2{font-size:28px;line-height:1.2;margin-top:12px}.thread-heading .eyebrow{font-size:9px}.thread-content{padding:23px 18px 28px}.question{font-size:14px;line-height:1.75;margin-bottom:24px}.answer{padding:20px 17px}.answer-lead{font-size:24px}.answer .coverage{font-size:8px;margin-left:auto}.bisbe-sign{gap:6px}.bisbe-sign .signature{width:22px;height:22px;font-size:17px}.quote{font-size:20px}.source-link{padding:13px 10px}.source-link strong{font-size:11px}.gap .actions{gap:9px;flex-wrap:wrap}.gap .btn{font-size:12px;min-height:45px}.partner-dock{padding:10px 14px;gap:8px;min-height:0}.partner-title{font-size:11px}.partner-statement p{display:block;font-size:10px;margin-top:3px;max-width:calc(100vw - 80px)}.partner-title .signature{width:20px;height:20px;font-size:15px}.partner-entry{min-width:0;max-width:none;width:100%;padding:3px 4px 3px 12px}.partner-entry input{font-size:12px}.partner-entry button{height:44px}.partner-show{min-height:44px}.page-head{padding:24px 19px 22px}.page-head h1{font-size:30px}.page-head .subline{font-size:12px}.brand-layout{padding:0 18px 25px;gap:30px}.brand-fields{padding:21px 17px}.brand-presets{gap:12px}.brand-preset{padding:16px}.brand-preset small{font-size:10px;line-height:1.5}.color-fields{grid-template-columns:1fr;gap:0}.color-fields select{font-size:16px}.field input,.field textarea,.field select{font-size:16px}.color-input input:not([type=color]){font-size:15px}.brand-fields .actions{flex-wrap:wrap}.brand-fields .actions .btn{font-size:12px}.logo-field input[type=file]{font-size:10px}.preview-heading{flex-wrap:nowrap}.brand-specimen{margin-bottom:20px}.visitor-hero h2{font-size:37px}.visitor-hero{padding:28px 22px}.visitor-emblem{aspect-ratio:2.6}.visitor-hero .btn{font-size:12px}.portal-full .mini-content h2{font-size:34px}.preview-ribbon>span:first-child{font-size:8px}.preview-ribbon>span:nth-child(2){display:none}.template-copy h2{font-size:23px}.template-copy>.eyebrow{font-size:8px}}
@media(prefers-reduced-motion:no-preference){.answer,.brand-specimen{animation:arrive .35s ease-out both}@keyframes arrive{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}

.visitor-logo img{width:100%;height:100%;object-fit:contain;padding:2px}.portal-art:has(.portal-brand-art):after{display:none}.portal-brand-art{position:absolute;left:28px;top:12px;bottom:0;display:flex;align-items:center;font:600 100px var(--font-heading);color:var(--brand-2-text);max-width:65%}.portal-brand-art img{height:80%;max-width:100%;object-fit:contain}.mini-portal .portal-brand-art{font-size:75px}.portal-full .portal-brand-art{font-size:130px}
