/* Compact Contact workspace and visitor summary. */
html body #portfolio-dashboard .portfolio-contact-page{padding:16px 20px 22px!important;max-width:1400px;min-height:0!important;height:100%!important;max-height:100%!important;box-sizing:border-box!important;overflow:auto!important;overscroll-behavior:contain!important}
html body #portfolio-dashboard .portfolio-contact-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px!important}
html body #portfolio-dashboard .portfolio-contact-head h1{font-size:clamp(28px,2.5vw,32px)!important;margin:0!important;line-height:1.15!important}
html body #portfolio-dashboard .contact-direct{margin:0!important;gap:12px}
html body #portfolio-dashboard .contact-direct a{font-size:14px;min-height:44px}
html body #portfolio-dashboard .portfolio-contact-shell{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr)!important;align-items:start!important;gap:12px!important;height:auto!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
html body #portfolio-dashboard :is(.portfolio-faq-card,.portfolio-contact-form,.portfolio-rating-form){padding:16px!important;min-height:0!important;margin:0!important;box-sizing:border-box;border:1px solid var(--hero-line-strong)!important;border-radius:16px!important;background:var(--hero-paper)!important;color:var(--hero-ink)!important}
html body #portfolio-dashboard :is(.portfolio-faq-card,.portfolio-contact-form,.portfolio-rating-form) h2{font-size:19px!important;line-height:1.25!important;margin:0 0 12px!important;letter-spacing:-.3px!important;color:var(--hero-ink)!important}
html body #portfolio-dashboard .portfolio-faq-item summary{display:grid!important;grid-template-columns:minmax(0,1fr) 18px!important;gap:12px!important;padding:10px 0!important;min-height:44px!important;align-items:center!important}
html body #portfolio-dashboard .portfolio-faq-item summary strong{font-size:15px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:0!important}
html body #portfolio-dashboard .portfolio-faq-item p{font-size:14px!important;line-height:1.55!important;margin:0 24px 12px 0!important;color:var(--hero-muted)!important}
html body #portfolio-dashboard .portfolio-faq-item:first-child{border-top:0!important}
html body #portfolio-dashboard .portfolio-faq-item summary>i{font-size:16px!important;color:var(--hero-muted)!important}
.portfolio-contact-stack{display:grid;gap:12px;align-content:start;min-width:0}
html body #portfolio-dashboard .portfolio-contact-form{display:flex!important;flex-direction:column!important;gap:10px!important}
html body #portfolio-dashboard .portfolio-contact-row{gap:10px!important}
html body #portfolio-dashboard .portfolio-contact-form h2{margin-bottom:0!important}
html body #portfolio-dashboard .portfolio-contact-form input{height:44px!important}
html body #portfolio-dashboard .portfolio-contact-message textarea{height:88px!important;min-height:88px!important}
html body #portfolio-dashboard .portfolio-contact-actions{gap:8px!important;margin:0!important}
html body #portfolio-dashboard .portfolio-contact-actions button{min-height:44px!important;padding:10px 13px!important}
.portfolio-rating-form{display:grid;gap:10px;min-width:0;backdrop-filter:blur(20px)}
html body #portfolio-dashboard .portfolio-rating-form h2{margin:0!important}
.portfolio-stars{border:0;margin:0;padding:0;display:flex;align-items:center;gap:3px;min-width:0}
.portfolio-stars label{position:relative;display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;cursor:pointer;border-radius:8px}
.portfolio-stars input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.portfolio-stars label>span{font-size:32px;line-height:1;color:var(--hero-muted);opacity:.65;pointer-events:none;transition:color .15s,transform .15s}
.portfolio-stars label.is-selected>span{color:#7E5B47;opacity:1}
.portfolio-stars label:hover>span{transform:scale(1.12);opacity:1}
.portfolio-stars label:focus-within{outline:2px solid #7E5B47;outline-offset:2px}
.portfolio-rating-label{font-family:inherit;font-weight:500;font-size:12px;line-height:1.3;color:var(--hero-muted);margin-left:7px}
.portfolio-rating-form textarea{display:block;width:100%;min-width:0;height:56px;min-height:56px;max-height:180px;resize:vertical;font-family:inherit;font-weight:400;font-size:16px;line-height:1.45;padding:10px 12px;border-radius:10px;border:1px solid var(--hero-line-strong);background:var(--hero-paper-2);color:var(--hero-ink)}
.portfolio-rating-form textarea::placeholder{color:var(--hero-muted);opacity:1}
.portfolio-rating-message{display:block;min-width:0}
.portfolio-rating-footer{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.portfolio-rating-footer p{font-size:12px;line-height:1.5;margin:0;color:var(--hero-muted);max-width:180px}
.portfolio-rating-footer button{background:#7E5B47;color:#fff;border:1px solid #7E5B47;padding:10px 13px;min-height:44px;font-family:inherit;font-weight:600;font-size:14px;line-height:1.4;border-radius:10px;cursor:pointer}
.portfolio-rating-footer button:disabled{opacity:.6;cursor:default}
.portfolio-rating-status{font-size:13px;line-height:1.5;color:var(--hero-ink);margin:0}
.portfolio-rating-status:empty{display:none}
.portfolio-rating-status.is-error{color:#a32930}
html[data-theme=dark] .portfolio-rating-status.is-error,.portfolio-dashboard[data-theme=dark] .portfolio-rating-status.is-error{color:#ffb6b6}
.portfolio-dashboard[data-theme=dark] .portfolio-stars label.is-selected>span{color:#E2C6B5}
.rail-visitors{width:100%;margin-top:8px;padding:0 4px;color:var(--hero-muted);font-size:11px;line-height:1.4;text-align:center;box-sizing:border-box;letter-spacing:.01em}
.rail-visits-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
/* Compact rail on laptop-sized CSS viewports only. Wide desktop styles remain authoritative. */
@media (min-width:901px) and (max-width:1479px), (min-width:901px) and (max-height:739px){
 html body #portfolio-dashboard .rail-visitors~.rail__nav{margin-top:12px!important;padding-top:12px!important}
 html body #portfolio-dashboard .rail{overflow:hidden!important;padding:16px!important}
 html body #portfolio-dashboard .rail__inner{height:100%!important;min-height:0!important;overflow:hidden!important;box-sizing:border-box!important}
 html body #portfolio-dashboard .rail__inner> :not(.rail__nav){flex-shrink:0!important}
 html body #portfolio-dashboard .rail__avatar{width:72px!important;height:72px!important;margin:0 auto 8px!important}
 html body #portfolio-dashboard .rail__name{font-size:20px!important;line-height:1.2!important;margin:0!important}
 html body #portfolio-dashboard .rail__actions{margin-top:12px!important;height:38px!important;min-height:38px!important}
 html body #portfolio-dashboard .rail__nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin!important;margin-top:12px!important;padding:10px 0 0!important}
 html body #portfolio-dashboard .rail__nav>ul{height:auto!important;min-height:0!important;gap:3px!important;margin:0!important;padding:0!important}
 html body #portfolio-dashboard .rail__nav li{flex:0 0 auto!important}
 html body #portfolio-dashboard .rail__link{height:42px!important;min-height:42px!important;padding:0 10px!important;font-size:13px!important;box-sizing:border-box!important}
 html body #portfolio-dashboard .portfolio-rail-footer{flex:0 0 auto!important;margin-top:8px!important;padding:8px 0 0!important;border-top:1px solid var(--hero-line)!important}
}
/* Contact-specific desktop settings remain independent of rail sizing. */
@media(min-width:901px){
 html body #portfolio-dashboard .portfolio-contact-head{max-width:none!important;flex-wrap:nowrap!important}
 html body #portfolio-dashboard .contact-direct a{min-height:32px!important}
}
@media(max-width:1100px){html body #portfolio-dashboard .portfolio-contact-head{display:block}html body #portfolio-dashboard .contact-direct{margin-top:4px!important}.portfolio-rating-label{display:none}}
@media(max-width:900px){.rail-visitors{display:none}html body #portfolio-dashboard .portfolio-contact-shell{grid-template-columns:1fr!important;gap:12px!important}.portfolio-contact-stack{order:0;gap:12px}.portfolio-faq-card{order:0}html body #portfolio-dashboard .portfolio-contact-form{order:0}.portfolio-rating-label{display:block}}
@media(max-width:900px){html body #portfolio-dashboard .portfolio-contact-page{height:auto!important;overflow:visible!important}html body #portfolio-dashboard .portfolio-contact-shell{grid-template-columns:1fr!important}}
@media(max-width:620px){html body #portfolio-dashboard .portfolio-contact-page{padding:10px!important}html body #portfolio-dashboard .portfolio-contact-head{margin-bottom:10px!important}html body #portfolio-dashboard .portfolio-contact-head h1{font-size:28px!important}html body #portfolio-dashboard :is(.portfolio-faq-card,.portfolio-contact-form,.portfolio-rating-form){padding:13px!important;border-radius:12px!important}html body #portfolio-dashboard .portfolio-faq-card h2{font-size:20px!important}html body #portfolio-dashboard .portfolio-faq-item summary{padding:11px 0!important}html body #portfolio-dashboard .portfolio-contact-form{gap:10px!important}html body #portfolio-dashboard .portfolio-contact-message textarea{height:96px!important;min-height:96px!important}.portfolio-rating-label{display:none}}
@media(prefers-reduced-motion:reduce){.portfolio-stars label>span{transition:none;transform:none!important}}
html.a11y-high-contrast .portfolio-rating-form{background:var(--hero-paper)!important;border-color:currentColor!important}

/* Let content determine card height, with one page scroll area on desktop. */
html body #portfolio-dashboard :is(.portfolio-faq-card,.portfolio-contact-stack,.portfolio-contact-form,.portfolio-rating-form){height:auto!important;max-height:none!important;overflow:visible!important}
html body #portfolio-dashboard .portfolio-contact-form label{font-size:13px!important;font-weight:600!important;letter-spacing:0!important;gap:5px!important;color:var(--hero-ink)!important}
html body #portfolio-dashboard .portfolio-contact-form :is(input,textarea){font-size:16px!important;line-height:1.4!important;background:var(--hero-paper-2)!important;box-sizing:border-box!important}
html body #portfolio-dashboard .portfolio-contact-message{flex:0 0 auto!important}
html body #portfolio-dashboard .contact-draft-note{font-size:12px!important;line-height:1.4!important;margin:0!important}
html body #portfolio-dashboard .contact-feedback:empty{display:none!important}
html body #portfolio-dashboard .portfolio-contact-actions{flex-wrap:wrap!important}
html body #portfolio-dashboard .portfolio-contact-actions button{font-size:13px!important;line-height:1.4!important}
html body #portfolio-dashboard .portfolio-faq-list{border-top:0!important}
html body #portfolio-dashboard .portfolio-faq-item:last-child{border-bottom:0!important}
html body #portfolio-dashboard .portfolio-faq-item summary:focus-visible{outline:2px solid #7e5b47;outline-offset:3px;border-radius:4px}
html body #portfolio-dashboard .portfolio-faq-item[open] summary>i{transform:rotate(45deg)!important}
@media(max-width:900px){html body #portfolio-dashboard .portfolio-contact-page{max-height:none!important;padding-bottom:24px!important}}
@media(max-width:620px){html body #portfolio-dashboard .portfolio-contact-row{grid-template-columns:1fr!important}.portfolio-rating-footer p{max-width:140px}.portfolio-rating-footer button{flex-shrink:0}}
@media(min-width:1200px){
 html body #portfolio-dashboard .portfolio-rating-form{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px 10px!important}
 html body #portfolio-dashboard .portfolio-rating-form h2{grid-column:1!important;font-size:18px!important}
 html body #portfolio-dashboard .portfolio-stars{grid-column:2!important}
 html body #portfolio-dashboard .portfolio-rating-label{display:none!important}
 html body #portfolio-dashboard :is(.portfolio-rating-message,.portfolio-rating-footer,.portfolio-rating-status){grid-column:1/-1!important}
 html body #portfolio-dashboard .portfolio-contact-form{gap:8px!important}
}
html body #portfolio-dashboard[data-theme=dark] :is(.portfolio-faq-card,.portfolio-contact-form,.portfolio-rating-form){background:#1d1f20!important;border-color:#3c4143!important}
html body #portfolio-dashboard[data-theme=dark] .portfolio-contact-form :is(input,textarea),html body #portfolio-dashboard[data-theme=dark] .portfolio-rating-form textarea{background:#25282b!important;border-color:#4a5053!important}
html body #portfolio-dashboard .portfolio-contact-actions .contact-copy{background:transparent!important;color:var(--hero-ink)!important;border-color:var(--hero-line-strong)!important}

.portfolio-rating-average{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;line-height:1.4;grid-column:1/-1}
.portfolio-rating-average-stars{font-size:19px;letter-spacing:2px;background:linear-gradient(90deg,#7E5B47 var(--rating-fill,0%),var(--hero-muted) var(--rating-fill,0%));background-clip:text;-webkit-background-clip:text;color:transparent}
.portfolio-feedback-email{font-size:13px;color:var(--hero-ink);text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
.portfolio-feedback-email[hidden],.portfolio-rating-average-stars[hidden]{display:none}

.portfolio-dashboard[data-theme=dark] .portfolio-rating-average-stars{background-image:linear-gradient(90deg,#E2C6B5 var(--rating-fill,0%),var(--hero-muted) var(--rating-fill,0%))}

/* FAQ workspace: questions first, then two equally sized form bentos. */
html body #portfolio-dashboard .portfolio-contact-page{padding:14px 18px 24px!important;max-width:1160px!important}
html body #portfolio-dashboard .portfolio-contact-head{margin-bottom:10px!important}
html body #portfolio-dashboard .portfolio-contact-head h1{font-size:28px!important}
html body #portfolio-dashboard .portfolio-contact-shell{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important}
html body #portfolio-dashboard .portfolio-contact-stack{display:contents!important}
html body #portfolio-dashboard .portfolio-faq-card{grid-column:1/-1!important}
html body #portfolio-dashboard :is(.portfolio-faq-card,.portfolio-contact-form,.portfolio-rating-form){padding:14px!important;border-radius:14px!important}
html body #portfolio-dashboard :is(.portfolio-faq-card,.portfolio-contact-form,.portfolio-rating-form) h2{font-size:18px!important;margin-bottom:8px!important}
html body #portfolio-dashboard .portfolio-faq-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 24px!important;align-items:start!important}
html body #portfolio-dashboard .portfolio-faq-item{min-width:0!important;border-top:0!important;border-bottom:1px solid var(--hero-line)!important}
html body #portfolio-dashboard .portfolio-faq-item summary{box-sizing:border-box!important;min-height:48px!important;padding:8px 0!important;gap:8px!important}
html body #portfolio-dashboard .portfolio-faq-item summary strong{font-size:14px!important;line-height:1.35!important}
html body #portfolio-dashboard .portfolio-faq-item p{margin:0 20px 10px 0!important;line-height:1.5!important}
html body #portfolio-dashboard .portfolio-contact-form{gap:8px!important}
html body #portfolio-dashboard .portfolio-contact-message textarea{height:80px!important;min-height:80px!important}
html body #portfolio-dashboard .portfolio-rating-form{grid-template-columns:minmax(0,1fr)!important;align-content:start!important;align-items:start!important;gap:8px!important}
html body #portfolio-dashboard .portfolio-rating-form>*{grid-column:1/-1!important}
html body #portfolio-dashboard .portfolio-rating-form h2{margin-bottom:0!important}
html body #portfolio-dashboard .portfolio-stars{flex-wrap:wrap!important}
html body #portfolio-dashboard .portfolio-rating-form textarea{height:80px!important;min-height:80px!important;box-sizing:border-box!important}
@media(min-width:901px){
 html body #portfolio-dashboard #main-content:has(>.portfolio-contact-page){overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin!important;scrollbar-color:var(--hero-line-strong) transparent!important}
 html body #portfolio-dashboard .portfolio-contact-page{height:auto!important;max-height:none!important;min-height:100%!important;overflow:visible!important}
}
@media(max-width:900px){html body #portfolio-dashboard .portfolio-contact-page{padding-bottom:28px!important}}
@media(max-width:700px){
 html body #portfolio-dashboard .portfolio-contact-page{padding:10px 10px 24px!important}
 html body #portfolio-dashboard .portfolio-contact-shell,html body #portfolio-dashboard .portfolio-faq-list{grid-template-columns:minmax(0,1fr)!important}
 html body #portfolio-dashboard :is(.portfolio-faq-card,.portfolio-contact-form,.portfolio-rating-form){padding:12px!important}
 html body #portfolio-dashboard .portfolio-contact-head h1{font-size:26px!important}
 html body #portfolio-dashboard .portfolio-contact-row{grid-template-columns:minmax(0,1fr)!important}
}
