.optional-label{font-size:11px;color:var(--muted);font-weight:400;margin-left:6px}.services-editor{display:grid;gap:14px;margin-bottom:14px}.service-editor-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbf8}.service-editor-row label{margin:0;font-size:12px;min-width:0}.service-editor-row input{margin-top:7px;min-width:0;width:100%;font-size:14px;padding:12px 10px}.remove-service{grid-column:1/-1;justify-self:end;min-height:44px;padding:10px 12px;font-size:12px;color:var(--error);border-radius:7px}.remove-service:hover{background:#fbecea}#profession-field .field-hint{display:block;margin-top:8px;font-weight:400}#add-service{width:100%}
.profile-page .profile-services{margin:0 0 24px;color:var(--card-ink);border-top:1px solid var(--card-line);border-bottom:1px solid var(--card-line);padding:19px 0 4px}.profile-page .profile-services h3{font-family:Card,Arial,sans-serif;font-size:16px;font-weight:800;line-height:1.5;margin:0 0 15px;color:var(--card-ink)}.profile-services dl{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px 16px;margin:0 0 15px;font-size:13px;line-height:1.65}.profile-services dt,.profile-services dd{min-width:0;overflow-wrap:anywhere;white-space:pre-line;margin:0}.profile-services dd{text-align:right;font-weight:800;color:var(--card-ink)}.profile-services dt{color:var(--card-muted)}
.portfolio-thumb{position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.portfolio-thumb img{display:block;pointer-events:none}.sort-handle{position:absolute;left:8px;top:8px;width:44px;height:44px;padding:10px;display:grid;place-items:center;background:#fffef5f2;box-shadow:0 2px 10px #0002;border:1px solid #fff8;border-radius:10px;cursor:grab;color:#333b2d;touch-action:none}.sort-handle svg{width:24px;height:24px;fill:currentColor}.sort-handle:focus-visible{outline:3px solid #877110;outline-offset:3px}.photo-order{position:absolute;right:10px;top:10px;min-width:25px;height:25px;border-radius:20px;display:grid;place-items:center;background:#171b13cc;color:white;font-size:11px;font-weight:800;pointer-events:none}.sort-status{font-size:12px;line-height:1.6;min-height:0;color:#566c2f;margin:0 0 12px}.sort-status:empty{display:none}.portfolio-thumb.sort-source{outline:3px dashed #9b8623;outline-offset:3px;border-radius:10px;background:#ffef9a}.portfolio-thumb.sort-source>img{opacity:.3}.sort-source .sort-handle{background:#ffdf48;cursor:grabbing}.sort-ghost{position:fixed;top:0;left:0;z-index:1000;pointer-events:none;opacity:.93;filter:drop-shadow(0 12px 22px #0004);will-change:transform;cursor:grabbing}.sort-ghost .thumb-actions,.sort-ghost .sort-handle{visibility:hidden}.sorting-portfolio,.sorting-portfolio *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}.thumb-actions .remove-photo{font-size:12px;min-height:44px}
.chat-caption .caption-profession{display:block;font-size:14px;margin-top:8px;line-height:1.5}.chat-caption .caption-price-note{margin-top:18px;padding-top:12px;border-top:1px solid var(--line);font-size:13px}
@media(max-width:370px){.service-editor-row{grid-template-columns:1fr;padding:12px}.profile-services dl{gap:12px 10px;font-size:12px}.sort-handle{left:6px;top:6px}.photo-order{right:7px;top:9px}}
@media(prefers-reduced-motion:reduce){.sort-ghost{will-change:auto}}

/* Service cards and mixed portfolios. */
.template-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.template-mini{aspect-ratio:3/4.5;max-height:150px}
.segmented{flex-wrap:wrap}.segmented button{flex:1 1 calc(50% - 4px)}
.template-option[data-template=care] .template-mini{background:#fbf7f3;color:#302927}
.template-option[data-template=care] .template-mini:after{background:linear-gradient(transparent,#fbf7f3 80%)}
.template-option[data-template=care] .mini-name{font:800 18px/1 Card,Arial,sans-serif}
.template-option[data-template=care] .mini-action{background:#784c56}
.profile-page[data-template=care]{--card-bg:#fbf7f3;--card-ink:#302927;--card-muted:#736563;--card-line:#ddcfca;--card-tag:#f3eae5;--card-action:#784c56;--card-action-ink:#fff}
.profile-page[data-template=care][data-accent=sage]{--card-action:#416052;--card-tag:#e8efe9;--card-line:#cbd8ce}
.profile-page[data-template=care][data-accent=sand]{--card-action:#765a38;--card-tag:#f0e9db;--card-line:#dfd2bf}
.profile-page[data-template=care][data-accent=blue]{--card-action:#405f79;--card-tag:#e7edf3;--card-line:#cbd6df}
.profile-page[data-template=care] .profile-name{font-family:Card,Arial,sans-serif;font-weight:800;font-size:10cqi;line-height:1.04}
.profile-page[data-template=care] .hero-image>img{aspect-ratio:4/3}
.profile-page[data-template=care] .hero-image:after{display:none}
.profile-page[data-template=care] .profile-body{margin-top:0;padding-top:24px}
.profile-page[data-template=care] .profile-topline{display:none}
.profile-page .profile-primary-action{display:flex;align-items:center;justify-content:center;min-height:54px;margin:0 0 24px;padding:14px;border-radius:10px;background:var(--card-action);color:var(--card-action-ink);font-size:15px;font-weight:800;text-decoration:none;text-align:center}
.profile-location,.profile-credentials{margin:0 0 22px;padding-top:18px;border-top:1px solid var(--card-line);font-size:13px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-line}
.profile-location h3,.profile-credentials h3{font-size:15px;margin:0 0 8px}.profile-location p,.profile-credentials p{margin:0 0 10px}
.profile-featured{margin-bottom:22px}.featured-work{display:block;width:100%;padding:0;overflow:hidden;border:1px solid var(--card-line);border-radius:10px;text-align:left}
.featured-work img{width:100%;aspect-ratio:16/9;object-fit:cover}.featured-work span{display:block;padding:12px;font-size:13px;font-weight:800;line-height:1.6;overflow-wrap:anywhere}
.service-editor-row label:nth-of-type(3){grid-column:1/-1}.service-editor-row label:nth-of-type(3) input{max-width:100%}
#service-details .field-hint,#specialty-field .field-hint{display:block;margin:7px 0 0;font-weight:400}
.work-add-actions{display:grid;gap:10px;margin-top:12px}.work-badge{position:absolute;top:calc(100% - 98px);left:6px;right:6px;padding:5px 6px;background:#171b13e8;color:white;border-radius:5px;font-size:10px;line-height:1.4;text-align:center;pointer-events:none}
.portfolio-thumb .work-badge{top:57px;bottom:auto}.work-editor-title{font-size:12px;line-height:1.5;margin:8px 0 0;overflow-wrap:anywhere;min-height:36px}
.thumb-actions .edit-work{font-size:12px;min-height:44px}.work-dialog{max-width:520px;width:calc(100% - 24px);max-height:90dvh;overflow:auto;border:0;border-radius:16px;padding:24px}
.work-dialog h2{font-size:22px;line-height:1.25;margin:0}.work-dialog .dialog-header{align-items:center;gap:12px}
.work-dialog input[type=file]{display:block;width:100%;font-size:12px;margin-top:8px;padding:10px;border:1px dashed var(--line);border-radius:8px;min-height:44px}
.work-dialog .checkbox-field{display:flex;align-items:center;gap:10px}.work-dialog input[type=checkbox]{display:inline-block;width:20px;min-height:20px;height:20px;margin:0;flex:none;accent-color:#416052}
.work-dialog .field-hint{margin:12px 0;line-height:1.6}.work-dialog #work-submit{margin-top:18px}.work-cover-preview{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.work-cover-preview img{width:calc(50% - 5px);max-height:180px;object-fit:contain;border-radius:7px;background:#f4f4f0}.work-cover-preview small{width:100%;font-size:11px;line-height:1.5;color:var(--muted)}
.work-viewer{padding:14px 20px 4px;color:inherit;line-height:1.7;font-size:14px;overflow-wrap:anywhere;white-space:pre-line}.work-viewer p{margin:0 0 14px}
.work-video-links{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:14px}.work-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 14px;border:1px solid currentColor;border-radius:9px;text-decoration:none;font-size:13px;font-weight:800;line-height:1.5}
.work-video-links .work-link{flex:1 1 160px}.work-kicker{font-weight:800}.comparison-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.comparison-pair figure{margin:0;min-width:0}
.comparison-pair img{width:100%;height:auto;max-height:55dvh;object-fit:contain;background:#222;border-radius:7px}.comparison-pair figcaption{font-size:13px;text-align:center;padding-top:8px}
#lightbox-image[data-orientation=vertical]{aspect-ratio:9/16;width:auto;max-width:100%;max-height:55dvh;object-fit:contain;margin:auto}
#lightbox-image[data-orientation=horizontal]{aspect-ratio:16/9;width:100%;height:auto;max-height:50dvh;object-fit:contain}
#lightbox-image[data-orientation=square]{aspect-ratio:1;width:100%;height:auto;max-height:50dvh;object-fit:contain}
.lightbox-dialog{overflow:auto;max-height:94dvh}.lightbox-dialog .field-hint{color:inherit;opacity:.75}.gallery-item span{overflow-wrap:anywhere}
@media(max-width:370px){.work-dialog{padding:18px}.profile-page[data-template=care] .profile-body{margin-top:0}.comparison-pair{gap:8px}.work-add-actions .button{font-size:13px}}

/* One clear video action; the alternate platform is a quiet text link. */
.work-video-links .video-watch-primary{justify-content:space-between;gap:12px;min-height:54px;padding:14px 18px;border:0;border-radius:12px;background:#f2f0e9;color:#22251e;font-size:14px;font-weight:700;transition:background .15s}
.work-video-links .video-watch-primary:hover{background:#fffdf7}
.video-watch-provider{font-size:12px;font-weight:400;color:#63675d}
.work-video-links .video-watch-alternate{min-height:44px;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:#d9dcd2;font-size:13px;font-weight:400;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffffff55}
.work-video-links .video-watch-alternate:hover{color:#fff;text-decoration-color:currentColor}
.work-video-links a:focus-visible{outline:3px solid #eadfb0;outline-offset:3px}


/* Immersive video work: one full-bleed cover, with readable content over it. */
.lightbox-dialog[data-kind=video]{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border-radius:0;background:#090c0e;color:#f7f5ef;overflow-x:hidden;overflow-y:auto;isolation:isolate;overscroll-behavior:contain}
.lightbox-dialog[data-kind=video][open]{display:flex;flex-direction:column}
.lightbox-dialog[data-kind=video]::before{content:'';position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#070b104d 0%,#080b1010 23%,#080b1030 43%,#080b10bd 68%,#080b10f5 100%),linear-gradient(90deg,#090c0e50,transparent 80%)}
.lightbox-dialog[data-kind=video] .video-work-backdrop{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.lightbox-dialog[data-kind=video] .video-work-backdrop>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;aspect-ratio:auto;object-fit:cover;object-position:center;filter:saturate(.8);animation:video-cover-drift 20s ease-in-out infinite alternate;pointer-events:none}
.lightbox-dialog[data-kind=video] .lightbox-top{position:sticky;top:0;z-index:4;flex:none;min-height:88px;margin:0;padding:24px clamp(24px,5vw,80px);padding-top:max(24px,env(safe-area-inset-top));background:linear-gradient(#080b105c,transparent);font-size:11px;letter-spacing:.14em;color:#f7f5efc9}
.lightbox-dialog[data-kind=video] .lightbox-top .icon-button{width:44px;height:44px;border:1px solid #ffffff40;background:#10151a40;backdrop-filter:blur(12px);font-weight:400;color:#fff}
.lightbox-dialog[data-kind=video] .video-work-content{position:relative;z-index:2;display:flex;flex:1 0 auto;flex-direction:column;justify-content:flex-end;align-items:flex-start;width:100%;padding:40px clamp(24px,5vw,80px) 24px;white-space:normal;animation:video-content-in .65s cubic-bezier(.2,.7,.3,1) both}
.video-work-content .video-work-eyebrow{margin:0 0 18px;font-size:10px;font-weight:500;line-height:1.5;letter-spacing:.22em;text-transform:uppercase;color:#f7f5efb0}
.video-work-title{max-width:920px;margin:0 0 20px;font-family:Card,Arial,sans-serif;font-size:clamp(34px,5.4vw,76px);line-height:1.04;letter-spacing:-.045em;font-weight:800;overflow-wrap:anywhere;text-wrap:balance;text-shadow:0 3px 30px #0003}
.video-work-content .video-work-credit{max-width:620px;margin:0 0 14px;font-size:12px;line-height:1.65;letter-spacing:.015em;color:#f7f5efb3;white-space:pre-line}
.video-work-content .video-work-description{max-width:600px;margin:0 0 25px;font-size:15px;line-height:1.7;color:#f7f5efe0;white-space:pre-line}
.video-work-content .work-video-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;width:100%;max-width:650px;margin:10px 0 0}
.video-work-content .work-video-links .video-watch-primary{flex:0 1 330px;min-width:0;min-height:56px;padding:16px 22px;border-radius:12px;background:#f7f5ef;color:#171b1e;font-size:14px;font-weight:700;box-shadow:0 5px 25px #0002}
.video-work-content .work-video-links .video-watch-primary:hover{background:white}
.video-work-content .video-watch-provider{color:#646865;font-size:12px}
.video-work-content .work-video-links .video-watch-alternate{flex:0 1 auto;color:#f7f5efba;padding:10px 0;font-size:12px;text-decoration-color:#f7f5ef55}
.video-work-content .work-video-links .video-watch-alternate:hover{color:#fff}
.video-work-content .video-work-note{margin:14px 0 0;font-size:10px;line-height:1.6;color:#f7f5ef73}
.lightbox-dialog[data-kind=video] .lightbox-bottom{position:relative;z-index:2;flex:none;justify-content:space-between;width:100%;margin:0;padding:0 clamp(24px,5vw,80px) max(24px,env(safe-area-inset-bottom))}
.lightbox-dialog[data-kind=video] #lightbox-label{display:none}
.lightbox-dialog[data-kind=video] .photo-navigation{min-width:90px;height:44px;padding:10px 16px;border:1px solid #ffffff26;border-radius:10px;background:#ffffff09;color:#f7f5efb3;font-size:11px;backdrop-filter:blur(8px)}
.lightbox-dialog[data-kind=video] .photo-navigation:disabled{visibility:hidden}
.lightbox-dialog[data-kind=video][data-single=true] .lightbox-bottom{display:none}
.lightbox-dialog[data-kind=video][data-single=true] .video-work-content{padding-bottom:max(36px,env(safe-area-inset-bottom))}
@keyframes video-cover-drift{from{transform:scale(1.025) translate3d(0,0,0)}to{transform:scale(1.085) translate3d(0,-.8%,0)}}
@keyframes video-content-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){
 .lightbox-dialog[data-kind=video] .lightbox-top{min-height:76px;padding:18px 24px;padding-top:max(18px,env(safe-area-inset-top))}
 .lightbox-dialog[data-kind=video] .video-work-content{padding-top:100px;padding-bottom:24px}
 .video-work-title{font-size:clamp(32px,9.5vw,48px);max-width:100%;line-height:1.06;margin-bottom:16px}
 .video-work-content .video-work-eyebrow{margin-bottom:14px}
 .video-work-content .video-work-description{font-size:13px;line-height:1.65;margin-bottom:18px}
 .video-work-content .work-video-links{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;max-width:none}
 .video-work-content .work-video-links .video-watch-primary{width:100%;min-height:54px;padding:15px 18px}
 .video-work-content .work-video-links .video-watch-alternate{justify-content:flex-start;padding-left:0}
 .video-work-content .video-work-note{margin-top:4px}
 .lightbox-dialog[data-kind=video] .lightbox-bottom{padding-top:4px}
}
@media(prefers-reduced-motion:reduce){.lightbox-dialog[data-kind=video] .video-work-backdrop>img,.lightbox-dialog[data-kind=video] .video-work-content{animation:none}}

.moderation-panel{margin-top:18px;padding:15px 16px;background:#f5f0df;border:1px solid #e4dab5;border-radius:10px;font-size:13px;line-height:1.65}
.moderation-panel strong{display:block;font-size:14px}.moderation-panel p{margin:7px 0 0;white-space:pre-line;overflow-wrap:anywhere}
.moderation-panel[data-state=approved]{background:#edf4ee;border-color:#c4d8c7}.moderation-panel[data-state=rejected]{background:#fbefea;border-color:#e7c7b9}
.profile-page .report-card-button{display:block;margin:14px auto 0;min-height:44px;padding:9px 15px;color:var(--card-muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}
.report-dialog .field-hint{margin:14px 0;line-height:1.7}.report-dialog #report-submit{margin-top:18px}.report-dialog h2{font-size:22px}

.cover-frame{position:relative;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;outline-offset:5px}
.cover-frame img{pointer-events:none;-webkit-user-drag:none}
.cover-frame.is-dragging{cursor:grabbing}
.cover-drag-cue{position:absolute;bottom:12px;left:10px;right:10px;border-radius:30px;padding:8px 9px;background:#202020bb;color:#fff;font:11px/1.3 system-ui,sans-serif;text-align:center;pointer-events:none;transition:opacity .15s ease}
.cover-frame.is-dragging .cover-drag-cue{opacity:0}
#cover-position-controls{display:flex;justify-content:center;margin:12px 0}
#cover-position-controls[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.cover-drag-cue{transition:none}}
