/* MatSoft VCard 2.0 — Editorial Signature prototype (demo opt-in only).
   This file is not included by real client profiles or any default theme. */
.pv-page.pv-editorial.pv-editorial-v2-preview {
    --signature-ink:#172b2b;
    --signature-paper:#f5f2eb;
    --signature-ivory:#faf8f3;
    --signature-accent:#c4ad85;
    background:var(--signature-paper);
    color:var(--signature-ink);
    font-family:PVSans,system-ui,-apple-system,sans-serif;
    -webkit-font-smoothing:antialiased;
}
.pv-editorial-v2-preview .pv-shell {
    max-width:870px;
    background:var(--signature-ivory);
    box-shadow:0 25px 100px rgba(24,39,37,.10);
    overflow:clip;
}
.pv-editorial-v2-preview .pv-demo-bar {
    background:#1b302f;
    color:#f6f0e6;
    border-color:#314643;
}
.pv-editorial-v2-preview .pv-editorial-hero {
    isolation:isolate;
    min-height:clamp(610px,79svh,850px);
    position:relative;
    overflow:hidden;
    background:#1e302e;
}
.pv-editorial-v2-preview .pv-editorial-photo {
    position:absolute;
    inset:0;
    overflow:hidden;
}
.pv-editorial-v2-preview .pv-editorial-photo .pv-portrait {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 28%;
    transform:scale(1.012);
}
.pv-editorial-v2-preview .pv-editorial-photo::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(13,30,30,.46) 0%,rgba(14,31,31,.08) 34%,rgba(10,24,24,.36) 57%,rgba(10,24,24,.93) 100%);
    pointer-events:none;
}
.pv-editorial-v2-preview .pv-editorial-head {
    z-index:3;
    position:absolute;
    top:0;
    inset-inline:0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:clamp(22px,5vw,44px);
    gap:16px;
    color:#fff;
}
.pv-editorial-v2-preview .pv-editorial-head>span {
    max-width:70%;
    font-size:11px;
    text-transform:uppercase;
    font-weight:600;
    letter-spacing:.19em;
    line-height:1.5;
    color:#fff;
}
.pv-editorial-v2-preview .pv-editorial-logo {
    max-width:115px;
    max-height:44px;
    object-fit:contain;
}
.pv-editorial-v2-preview .pv-editorial-title {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
    min-height:clamp(610px,79svh,850px);
    padding:clamp(150px,28vw,250px) clamp(25px,6vw,60px) clamp(46px,8vw,80px);
    gap:14px;
    color:#fff;
}
.pv-editorial-v2-preview .pv-editorial-avatar {
    width:63px;
    height:70px;
    border-radius:50%;
    overflow:hidden;
    border:2px solid rgba(255,255,255,.85);
    box-shadow:0 8px 24px rgba(0,0,0,.20);
}
.pv-editorial-v2-preview .pv-identity {
    max-width:650px;
}
.pv-editorial-v2-preview .pv-identity h1 {
    margin:0 0 14px;
    font-family:PVDisplay,Georgia,serif;
    font-size:clamp(49px,10vw,94px);
    font-weight:400;
    letter-spacing:-.065em;
    line-height:1.015;
    text-wrap:balance;
    color:#fff;
    text-shadow:0 2px 26px rgba(0,0,0,.16);
}
.pv-editorial-v2-preview .pv-identity .pv-kicker {
    font-size:10px;
    letter-spacing:.22em;
    color:#ece6d7;
}
.pv-editorial-v2-preview .pv-identity .pv-role {
    font-size:clamp(15px,2.8vw,18px);
    line-height:1.6;
    color:#f0f0e9;
}
.pv-editorial-v2-preview .pv-location {
    margin-top:14px!important;
    color:#eae9df;
    font-size:12px;
    letter-spacing:.04em;
}
.pv-editorial-v2-preview .pv-editorial-contact {
    padding:28px clamp(23px,6vw,60px) 30px;
    background:#1b302f;
    color:#fff;
}
.pv-editorial-v2-preview .pv-editorial-contact .pv-actions {
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin:0;
}
.pv-editorial-v2-preview .pv-editorial-contact .pv-primary {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:56px;
    width:100%;
    background:#e6d9bd!important;
    border:1px solid #e6d9bd!important;
    color:#19302e!important;
    border-radius:8px;
    font-weight:700;
    font-size:14px;
    box-shadow:none;
}
.pv-editorial-v2-preview .pv-editorial-contact .pv-direct {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:0;
}
.pv-editorial-v2-preview .pv-editorial-contact .pv-direct>a,
.pv-editorial-v2-preview .pv-editorial-contact .pv-direct>button {
    width:100%;
    min-width:0;
    min-height:54px;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.24)!important;
    border-radius:8px;
    font-size:12px;
    justify-content:center;
    flex-wrap:wrap;
}
.pv-editorial-v2-preview .pv-editorial-contact .pv-socials {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:11px;
    padding:18px 0 0;
    margin:0;
}
.pv-editorial-v2-preview .pv-editorial-contact .pv-social {
    background:transparent;
    border:1px solid rgba(255,255,255,.34);
    border-radius:50%;
    color:#fff;
    min-width:44px;
    min-height:44px;
}
.pv-editorial-v2-preview .pv-content {
    background:var(--signature-ivory);
    padding:clamp(24px,6vw,56px) clamp(22px,6vw,58px);
}
.pv-editorial-v2-preview .pv-content h2 {
    font-family:PVDisplay,Georgia,serif;
    font-weight:400;
    letter-spacing:-.035em;
    color:var(--signature-ink);
}
.pv-editorial-v2-preview .pv-about-short,
.pv-editorial-v2-preview .pv-about p {
    max-width:690px;
    line-height:1.85;
}
.pv-editorial-v2-preview .pv-resources a,
.pv-editorial-v2-preview .pv-resources button,
.pv-editorial-v2-preview .pv-gallery button {
    background:#fff;
    border:1px solid #e3dfd4;
    border-radius:11px;
}
.pv-editorial-v2-preview .pv-tools {
    border-color:#e1dfd6;
    background:#eeeae0;
}
.pv-editorial-v2-preview .pv-brand {
    background:#eae5d9;
    border-top:1px solid #ded9cb;
}
.pv-editorial-v2-preview .pv-editorial-contact a:focus-visible,
.pv-editorial-v2-preview .pv-editorial-contact button:focus-visible {
    outline:3px solid #f5e7b5;
    outline-offset:4px;
}
@media (max-width:640px) {
    .pv-editorial-v2-preview .pv-shell {max-width:100%;box-shadow:none}
    .pv-editorial-v2-preview .pv-editorial-hero,
    .pv-editorial-v2-preview .pv-editorial-title {min-height:clamp(620px,77svh,780px)}
    .pv-editorial-v2-preview .pv-editorial-head {padding:23px}
    .pv-editorial-v2-preview .pv-editorial-title {padding:155px 25px 44px}
    .pv-editorial-v2-preview .pv-identity h1 {font-size:clamp(48px,12.5vw,74px)}
    .pv-editorial-v2-preview .pv-editorial-contact {padding:22px 20px 26px}
    .pv-editorial-v2-preview .pv-editorial-contact .pv-direct {gap:7px}
    .pv-editorial-v2-preview .pv-editorial-contact .pv-direct>a,
    .pv-editorial-v2-preview .pv-editorial-contact .pv-direct>button {padding:7px 3px;font-size:11px;min-height:55px}
    .pv-editorial-v2-preview .pv-editorial-contact .pv-direct svg {width:18px;height:18px}
}
@media(prefers-reduced-motion:no-preference){
    .pv-editorial-v2-preview .pv-editorial-photo .pv-portrait{transition:transform .65s ease}
    .pv-editorial-v2-preview .pv-editorial-hero:hover .pv-editorial-photo .pv-portrait{transform:scale(1.04)}
}
@media(prefers-reduced-motion:reduce){
    .pv-editorial-v2-preview *, .pv-editorial-v2-preview *::before, .pv-editorial-v2-preview *::after {transition:none!important;animation:none!important}
}

/* Prototype controls and content-rich scenario — not loaded by live client cards. */
.pv-editorial-v2-preview .pv-v2-scenarios {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:16px clamp(15px,4vw,35px);
    background:#142a29;
    color:#f8f3e9;
    border-bottom:1px solid #38514b;
}
.pv-editorial-v2-preview .pv-v2-scenarios>div:first-child {display:grid;gap:3px}
.pv-editorial-v2-preview .pv-v2-scenarios strong {font-size:11px;letter-spacing:.13em}
.pv-editorial-v2-preview .pv-v2-scenarios small {font-size:11px;color:#c0ccc6}
.pv-editorial-v2-preview .pv-v2-scenario-links {display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pv-editorial-v2-preview .pv-v2-scenario-links a {
    display:inline-flex;
    align-items:center;
    min-height:39px;
    padding:8px 12px;
    font-size:12px;
    color:#e4ece7;
    border:1px solid #566c63;
    border-radius:6px;
    text-decoration:none;
}
.pv-editorial-v2-preview .pv-v2-scenario-links a[aria-current=page]{color:#21332f;background:#e9dabb;border-color:#e9dabb;font-weight:700}
.pv-editorial-v2-preview .pv-v2-scenario-links a:focus-visible {outline:3px solid #ecd59a;outline-offset:3px}
.pv-editorial-v2-preview .pv-v2-compare {text-decoration:underline!important;text-underline-offset:3px}
.pv-editorial-v2-preview .pv-gallery {margin-block:28px}
.pv-editorial-v2-preview .pv-gallery-heading {gap:15px;margin-bottom:16px}
.pv-editorial-v2-preview .pv-gallery h2 {font-family:PVDisplay,Georgia,serif;font-weight:400;font-size:clamp(29px,4.8vw,44px)}
.pv-editorial-v2-preview .pv-gallery-track {gap:12px;padding-block:5px 18px}
.pv-editorial-v2-preview .pv-gallery-track>button {flex-basis:min(390px,84%);border-radius:12px;background:#fff}
.pv-editorial-v2-preview .pv-gallery-track img {height:clamp(250px,50svh,435px);object-fit:cover;background:#243a37}
.pv-editorial-v2-preview .pv-gallery-navigation button {min-width:44px;min-height:44px;border-radius:50%;background:#fff;border-color:#d9d4c8}
.pv-editorial-v2-preview .pv-gallery-grid {gap:10px}
.pv-editorial-v2-preview .pv-gallery-grid>button {border-radius:10px}
.pv-editorial-v2-preview .pv-gallery-grid img {aspect-ratio:4/5;object-fit:cover}
@media(max-width:600px){
    .pv-editorial-v2-preview .pv-v2-scenarios {gap:12px;padding:13px 14px}
    .pv-editorial-v2-preview .pv-v2-scenario-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:7px}
    .pv-editorial-v2-preview .pv-v2-scenario-links a {justify-content:center;text-align:center;min-width:0;padding:9px 4px}
    .pv-editorial-v2-preview .pv-gallery-track>button{flex-basis:90%}
}

/* V2 layout contract: portrait, cover and logo occupy independent, non-overlapping regions. */
.pv-editorial-v2-preview .pv-editorial-hero{
    display:flex;flex-direction:column;min-height:0;overflow:hidden;
}
.pv-editorial-v2-preview .pv-editorial-head{
    position:relative;inset:auto;order:0;z-index:2;min-height:80px;
    background:#172f2b;padding:18px clamp(22px,5vw,45px);
}
.pv-editorial-v2-preview .pv-editorial-head .pv-editorial-logo{
    display:block;width:auto;height:auto;max-width:min(55%,190px);max-height:64px;
    object-fit:contain;flex-shrink:1;
}
.pv-editorial-v2-preview .pv-editorial-head>span{
    min-width:0;max-width:100%;overflow-wrap:anywhere;color:#f1eee2;
}
.pv-editorial-v2-preview .pv-editorial-photo{
    position:relative;inset:auto;order:1;height:auto;min-height:0;aspect-ratio:4 / 3;
    overflow:hidden;background:#e9e5db;
}
.pv-editorial-v2-preview .pv-editorial-photo .pv-photo-trigger{height:100%;width:100%}
.pv-editorial-v2-preview .pv-editorial-photo .pv-portrait{
    display:block;width:100%;height:100%;max-height:none;
    object-fit:cover;object-position:center 25%;transform:none;
}
.pv-editorial-v2-preview .pv-editorial-photo::after{display:none!important}
.pv-editorial-v2-preview .pv-editorial-hero--cover .pv-editorial-photo,
.pv-editorial-v2-preview .pv-editorial-hero--brand .pv-editorial-photo{
    aspect-ratio:auto;min-height:0;height:auto;overflow:visible;
}
.pv-editorial-v2-preview .pv-editorial-hero--cover .pv-editorial-photo>.pv-portrait,
.pv-editorial-v2-preview .pv-editorial-hero--brand .pv-editorial-photo>.pv-portrait{
    display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;
}
.pv-editorial-v2-preview .pv-editorial-title,
.pv-editorial-v2-preview .pv-editorial-hero--cover .pv-editorial-title,
.pv-editorial-v2-preview .pv-editorial-hero--brand .pv-editorial-title{
    position:relative;order:2;display:flex;flex-direction:column;align-items:flex-start;
    justify-content:center;gap:18px;min-height:0;grid-template-columns:none;
    padding:clamp(32px,6vw,58px) clamp(24px,6vw,58px);
    background:#172f2b;color:#fff;
}
.pv-editorial-v2-preview .pv-editorial-avatar,
.pv-editorial-v2-preview .pv-editorial-hero--brand .pv-editorial-avatar{
    display:block;flex:0 0 auto;width:88px;height:88px;border:3px solid #fff;
    border-radius:50%;overflow:hidden;background:#294841;
}
.pv-editorial-v2-preview .pv-editorial-avatar .pv-photo-trigger,
.pv-editorial-v2-preview .pv-editorial-avatar .pv-portrait{width:100%;height:100%;object-fit:cover}
.pv-editorial-v2-preview .pv-identity{min-width:0;width:100%;max-width:100%}
.pv-editorial-v2-preview .pv-identity h1{font-size:clamp(42px,7vw,72px);overflow-wrap:anywhere;text-shadow:none}
.pv-editorial-v2-preview .pv-editorial-hero:hover .pv-editorial-photo .pv-portrait{transform:none}
@media(max-width:640px){
 .pv-editorial-v2-preview .pv-editorial-hero{min-height:0}
 .pv-editorial-v2-preview .pv-editorial-photo{aspect-ratio:4 / 4.3}
 .pv-editorial-v2-preview .pv-editorial-title,.pv-editorial-v2-preview .pv-editorial-hero--cover .pv-editorial-title,
 .pv-editorial-v2-preview .pv-editorial-hero--brand .pv-editorial-title{min-height:0;padding:30px 23px 37px}
 .pv-editorial-v2-preview .pv-editorial-head{min-height:70px;padding:15px 20px}
 .pv-editorial-v2-preview .pv-identity h1{font-size:clamp(39px,10vw,57px)}
 .pv-editorial-v2-preview .pv-editorial-avatar{width:75px;height:75px}
}

/* VCard 2.0 brand contract: logo color drives all identity surfaces.
   When no logo exists, --pv-brand is MatSoft's official fallback #173947.
   Dark panels blend any light or dark logo color into a contrasting base. */
.pv-editorial-v2-preview {
    --v2-brand-deep:color-mix(in srgb,var(--pv-brand) 32%,#101a1d);
    --v2-brand-deeper:color-mix(in srgb,var(--pv-brand) 20%,#0b1214);
    --v2-brand-raised:color-mix(in srgb,var(--pv-brand) 32%,#252d2e);
    --v2-brand-quiet:color-mix(in srgb,var(--pv-brand) 8%,#f8f7f2);
    --v2-brand-line:color-mix(in srgb,var(--pv-brand) 18%,#d9d9d4);
    --v2-brand-ink:var(--pv-brand-ink,#fff);
    --signature-paper:var(--v2-brand-quiet);
    --signature-ivory:color-mix(in srgb,var(--pv-brand) 3%,#fffefa);
}
.pv-editorial-v2-preview .pv-editorial-head,
.pv-editorial-v2-preview .pv-editorial-title,
.pv-editorial-v2-preview .pv-editorial-hero--cover .pv-editorial-title,
.pv-editorial-v2-preview .pv-editorial-hero--brand .pv-editorial-title,
.pv-editorial-v2-preview .pv-editorial-contact {
    background:var(--v2-brand-deep);
}
.pv-editorial-v2-preview .pv-editorial-contact .pv-primary {
    background:var(--pv-brand)!important;
    border-color:var(--pv-brand)!important;
    color:var(--v2-brand-ink)!important;
}
.pv-editorial-v2-preview .pv-editorial-contact .pv-direct>a,
.pv-editorial-v2-preview .pv-editorial-contact .pv-direct>button {
    background:var(--v2-brand-raised)!important;
    border-color:color-mix(in srgb,var(--pv-brand) 42%,#81918c)!important;
    color:#fff!important;
}
.pv-editorial-v2-preview .pv-demo-bar,
.pv-editorial-v2-preview .pv-v2-scenarios {background:var(--v2-brand-deeper)}
.pv-editorial-v2-preview .pv-v2-scenario-links a[aria-current=page]{background:var(--pv-brand);border-color:var(--pv-brand);color:var(--v2-brand-ink)}
.pv-editorial-v2-preview .pv-content{background:var(--signature-ivory)}
.pv-editorial-v2-preview .pv-tools{background:var(--v2-brand-quiet);border-color:var(--v2-brand-line)}
.pv-editorial-v2-preview .pv-brand{background:var(--v2-brand-quiet);border-color:var(--v2-brand-line)}
.pv-editorial-v2-preview .pv-gallery-navigation button{border-color:var(--v2-brand-line)}
.pv-editorial-v2-preview .pv-editorial-contact a:focus-visible,
.pv-editorial-v2-preview .pv-editorial-contact button:focus-visible{outline-color:#fff}
